{
  "emitted": true,
  "manifest": {
    "inputs": [
      {
        "dtype": "i32[]",
        "name": "X",
        "party": "A",
        "private": true
      },
      {
        "dtype": "i32[]",
        "name": "Y",
        "party": "B",
        "private": true
      },
      {
        "dtype": "i32",
        "name": "N",
        "party": "public",
        "private": false
      }
    ],
    "manifest_hash": "2ce1e7a250d66910b3f8d303c70f991aef414ea0cbb7ec5add1c540c0d813b7b",
    "manifest_version": "1.0.0",
    "outputs": [
      {
        "dtype": "i32[]",
        "name": "intersection",
        "reveal_to": "both"
      }
    ],
    "parties": [
      "A",
      "B"
    ],
    "program": {
      "name": "psi",
      "source_hash": "0000000000000000000000000000000000000000000000000000000000000000",
      "toolchain_ver": "smaug-src-e9215c2573c7+llvm18+emp-0.3.x+8cd64b9068f29838"
    },
    "reveal_view": {
      "leaks": [
        {
          "description": "both parties learn which elements are shared, not just the count",
          "kind": "intersection_elements",
          "to": "both"
        }
      ],
      "outputs": [
        {
          "derivation": "elements of A's set X that also appear in B's set Y",
          "dtype": "i32[]",
          "name": "intersection",
          "reveal_to": "both"
        }
      ],
      "summary": "Private set intersection: both parties learn the shared elements of A's set X and B's set Y."
    }
  },
  "manifest_hash": "2ce1e7a250d66910b3f8d303c70f991aef414ea0cbb7ec5add1c540c0d813b7b",
  "program": "psi"
}