{
  "id": "type-p13",
  "revision": "7b55778612cad701fcfa1eded98e880f9cd75dd7f8d39731c7a64ed13104bf6b",
  "regions": [
    {
      "id": "storage",
      "label": "Storage",
      "parent": null
    },
    {
      "id": "server",
      "label": "Server",
      "parent": null
    }
  ],
  "nodes": [
    {
      "id": "a",
      "label": "Chunk A write",
      "kind": "N02",
      "region": "storage",
      "ports": [
        {
          "id": "done",
          "profile": "P13",
          "contract": "CommittedChunkReceiptV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "b",
      "label": "Chunk B write",
      "kind": "N02",
      "region": "storage",
      "ports": [
        {
          "id": "done",
          "profile": "P13",
          "contract": "CommittedChunkReceiptV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "c",
      "label": "Chunk C write",
      "kind": "N02",
      "region": "storage",
      "ports": [
        {
          "id": "done",
          "profile": "P13",
          "contract": "CommittedChunkReceiptV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "finalize",
      "label": "Upload finalizer",
      "kind": "N01",
      "region": "server",
      "ports": [
        {
          "id": "receipts",
          "profile": "P13",
          "contract": "CommittedChunkReceiptV1",
          "polarity": "Require"
        },
        {
          "id": "commit",
          "profile": "P09",
          "contract": "FinalizeUploadManifestV1",
          "polarity": "Require"
        },
        {
          "id": "evidence",
          "profile": "P24",
          "contract": "UploadCompletionEvidenceV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "manifest",
      "label": "Upload manifest",
      "kind": "N21",
      "region": "storage",
      "ports": [
        {
          "id": "commit",
          "profile": "P09",
          "contract": "FinalizeUploadManifestV1",
          "polarity": "Offer"
        },
        {
          "id": "evidence",
          "profile": "P24",
          "contract": "UploadCompletionEvidenceV1",
          "polarity": "Require"
        }
      ]
    }
  ],
  "relations": [
    {
      "id": "join",
      "kind": "H09",
      "incidences": [
        {
          "node": "a",
          "port": "done",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "b",
          "port": "done",
          "role": "source",
          "ordinal": 1
        },
        {
          "node": "c",
          "port": "done",
          "role": "source",
          "ordinal": 2
        },
        {
          "node": "finalize",
          "port": "receipts",
          "role": "result",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "commit",
      "kind": "H05",
      "incidences": [
        {
          "node": "finalize",
          "port": "commit",
          "role": "caller",
          "ordinal": 0
        },
        {
          "node": "manifest",
          "port": "commit",
          "role": "callee",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "proof",
      "kind": "H27",
      "incidences": [
        {
          "node": "finalize",
          "port": "evidence",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "manifest",
          "port": "evidence",
          "role": "target",
          "ordinal": 0
        }
      ]
    }
  ]
}
