{
  "format" : "mjpf-conformance-vectors",
  "note" : "Frozen input -> output pairs. An implementation is conformant when it reproduces every canonicalJSON and mjqr byte for byte. See MJPF_SPEC.md 11.",
  "spec" : "1.3.0",
  "vectors" : [
    {
      "canonicalJSON" : "{\"format\":\"mjpf\",\"game\":{\"branchPointIndex\":0,\"humanSeat\":0,\"mode\":\"play\",\"recordSeat\":0,\"ruleset\":\"hongkong\",\"seats\":4,\"seed\":\"12345678901234567890\",\"tier\":\"moderate\"},\"kind\":\"deal\",\"requires\":[],\"spec\":\"1.3.0\",\"uses\":[]}",
      "description" : "A bare deal: no capabilities, no optional fields, 64-bit seed above 2^53.",
      "document" : {
        "format" : "mjpf",
        "game" : {
          "branchPointIndex" : 0,
          "humanSeat" : 0,
          "mode" : "play",
          "recordSeat" : 0,
          "ruleset" : "hongkong",
          "seats" : 4,
          "seed" : "12345678901234567890",
          "tier" : "moderate"
        },
        "kind" : "deal",
        "requires" : [

        ],
        "spec" : "1.3.0",
        "uses" : [

        ]
      },
      "id" : "deal-minimal",
      "mjqr" : "RY5LDsIwDETv4nVVFVp+uQE7JJaIRWjcNrT54CQSqOrdcUCChSVbM/PGM3SOjIwgwNx9BwX00iCIGW4kbTucnLbxaBU+QVQFDMlIe8bs58s4xVbwk3xxkLB1pH4ipQkDZvDgbD/ysCewGkA0eUPF2mpdN5vtbn+o/hv7okbKL3EByYiwFDBqmwMK5fQpeyRNyKzLlWEe2wwr6zKnU/gKyxs=",
      "wallPrefix" : [
        "WD",
        "2s",
        "3p",
        "9m",
        "6p",
        "5p",
        "3s",
        "1s",
        "7m",
        "Sw"
      ]
    },
    {
      "canonicalJSON" : "{\"format\":\"mjpf\",\"game\":{\"branchPointIndex\":0,\"humanSeat\":2,\"mode\":\"play\",\"recordSeat\":2,\"ruleset\":\"riichi-lite\",\"seats\":4,\"seed\":\"1\",\"tier\":\"wizard\"},\"kind\":\"deal\",\"requires\":[],\"result\":{\"bySelfDraw\":true,\"label\":\"Riichi + tsumo\",\"score\":8000,\"turns\":11,\"won\":true},\"spec\":\"1.3.0\",\"uses\":[\"result\"]}",
      "description" : "A deal carrying the challenger's outcome (advisory `uses`).",
      "document" : {
        "format" : "mjpf",
        "game" : {
          "branchPointIndex" : 0,
          "humanSeat" : 2,
          "mode" : "play",
          "recordSeat" : 2,
          "ruleset" : "riichi-lite",
          "seats" : 4,
          "seed" : "1",
          "tier" : "wizard"
        },
        "kind" : "deal",
        "requires" : [

        ],
        "result" : {
          "bySelfDraw" : true,
          "label" : "Riichi + tsumo",
          "score" : 8000,
          "turns" : 11,
          "won" : true
        },
        "spec" : "1.3.0",
        "uses" : [
          "result"
        ]
      },
      "id" : "deal-score-to-beat",
      "mjqr" : "PU87T8NADP4rlVeOKikM6GYWtoqOVQc35xDDPYLvTqFU/e/4gmCz/T19hTFJwAIWwvs8goE3DAT2CmfBOEz7xLG8REdfYDsDUw0YD9T4OwMhOaXC7PGiQqEhifsHpXrK1IyFeZj43nMhpWUlZLCPbSKncK/HwiQ6LvyN4uBm4INjwxyhX60/Kwup7HhqW66+rB0vB/Ljs+ACtkglAx7P5FX4umZu7jYl15BarJbTsk9dp2+UKlHN+t7AkuKvVkPzTEMrtH3YdiqpeU38yzvdfgA="
    },
    {
      "canonicalJSON" : "{\"format\":\"mjpf\",\"game\":{\"branchPointIndex\":0,\"humanSeat\":0,\"mode\":\"play\",\"recordSeat\":0,\"ruleset\":\"mcr\",\"seats\":4,\"seed\":\"99\",\"tier\":\"veryGood\"},\"kind\":\"result\",\"requires\":[\"result\"],\"result\":{\"score\":0,\"won\":false},\"spec\":\"1.3.0\",\"uses\":[]}",
      "description" : "A played-outcome report (REQUIRED `result` capability).",
      "document" : {
        "format" : "mjpf",
        "game" : {
          "branchPointIndex" : 0,
          "humanSeat" : 0,
          "mode" : "play",
          "recordSeat" : 0,
          "ruleset" : "mcr",
          "seats" : 4,
          "seed" : "99",
          "tier" : "veryGood"
        },
        "kind" : "result",
        "requires" : [
          "result"
        ],
        "result" : {
          "score" : 0,
          "won" : false
        },
        "spec" : "1.3.0",
        "uses" : [

        ]
      },
      "id" : "result-report",
      "mjqr" : "PY69DsIwDITfxXNVFcHSvABiQ2JEHULi0kB+ipMAVdV3x41UtvOd/Z1n6AM5mUCAe4w9VHCXDkHMcCPp1XAOxqeT1/gF0VQwZCf9Bdd9nlzQvAqjlRMfEqpA+h9SthixgBVxHDmIIA6rQs1227KbDBLrN9J0DEHDUsHT+DUmjNmmwn1lwxOI62Z21ab40ci1WCo/wYPopY3ImDiiYsyu3tcNU3IshG75AQ=="
    },
    {
      "canonicalJSON" : "{\"format\":\"mjpf\",\"game\":{\"branchPointIndex\":0,\"humanSeat\":0,\"mode\":\"play\",\"recordSeat\":0,\"ruleset\":\"hongkong\",\"seats\":4,\"seed\":\"424242\",\"tier\":\"veryGood\"},\"kind\":\"tournament-bundle\",\"requires\":[\"tournament-bundle\"],\"spec\":\"1.3.0\",\"tournament\":{\"formatID\":\"standard-five\",\"matchCount\":5,\"ruleSetID\":\"hongkong\",\"tier\":\"veryGood\",\"tournamentSeed\":\"424242\"},\"uses\":[]}",
      "description" : "A whole tournament — a deterministic stack of deals (spec 1.2.0).",
      "document" : {
        "format" : "mjpf",
        "game" : {
          "branchPointIndex" : 0,
          "humanSeat" : 0,
          "mode" : "play",
          "recordSeat" : 0,
          "ruleset" : "hongkong",
          "seats" : 4,
          "seed" : "424242",
          "tier" : "veryGood"
        },
        "kind" : "tournament-bundle",
        "requires" : [
          "tournament-bundle"
        ],
        "spec" : "1.3.0",
        "tournament" : {
          "formatID" : "standard-five",
          "matchCount" : 5,
          "ruleSetID" : "hongkong",
          "tier" : "veryGood",
          "tournamentSeed" : "424242"
        },
        "uses" : [

        ]
      },
      "id" : "tournament-bundle",
      "mjqr" : "bY9Bb8IwDIX/i88FsY1degVp4japx4lDaFya0didk6AhxH/HphJiE4oixXmfn/3O0LFEl6GG+D12UMHeRYT6DDtx1PafHChvyOMv1IsK+hIdNWi8VpG9ojAO7qSNgi2Lv4tSBkxoxj3T/qBXmaRqgnppL/SqLV/tqJIDitZHlNMHs4dLBYdAhmQuQroU5dmukB/wNuunBEG1+nqib9V+xFZ7X+Zv84W53xmLNkXerBVI2ZF34mddOJqx/rf9iouB71OIBif0Icb/ZR8HNH+CaYySbntuL1c="
    },
    {
      "canonicalJSON" : "{\"format\":\"mjpf\",\"game\":{\"branchPointIndex\":0,\"humanSeat\":0,\"mode\":\"play\",\"recordSeat\":0,\"ruleset\":\"hongkong\",\"seats\":4,\"seed\":\"777\",\"tier\":\"moderate\"},\"kind\":\"deal\",\"requires\":[],\"spec\":\"1.3.0\",\"uses\":[\"wall-order\"],\"wall\":[17,23,11,18,3,25,21,13,25,35,31,9,22,18,29,7,6,13,32,15,21,22,5,33,27,10,8,12,13,32,36,3,17,12,31,2,19,15,41,1,7,19,2,14,23,22,8,2,23,24,25,29,30,31,19,4,16,19,20,30,18,4,13,0,14,27,26,3,16,20,2,5,7,8,28,4,0,0,14,34,10,33,20,33,16,39,40,17,12,15,6,32,5,11,26,25,18,0,24,17,33,9,9,5,26,27,37,4,24,16,22,6,28,30,1,9,20,32,24,6,10,27,11,23,15,1,3,38,10,28,28,29,7,31,26,21,29,14,21,1,12,11,30,8]}",
      "description" : "A deal carrying the ACTUAL ordered wall (spec 1.3.0, advisory `wall-order`).",
      "document" : {
        "format" : "mjpf",
        "game" : {
          "branchPointIndex" : 0,
          "humanSeat" : 0,
          "mode" : "play",
          "recordSeat" : 0,
          "ruleset" : "hongkong",
          "seats" : 4,
          "seed" : "777",
          "tier" : "moderate"
        },
        "kind" : "deal",
        "requires" : [

        ],
        "spec" : "1.3.0",
        "uses" : [
          "wall-order"
        ],
        "wall" : [
          17,
          23,
          11,
          18,
          3,
          25,
          21,
          13,
          25,
          35,
          31,
          9,
          22,
          18,
          29,
          7,
          6,
          13,
          32,
          15,
          21,
          22,
          5,
          33,
          27,
          10,
          8,
          12,
          13,
          32,
          36,
          3,
          17,
          12,
          31,
          2,
          19,
          15,
          41,
          1,
          7,
          19,
          2,
          14,
          23,
          22,
          8,
          2,
          23,
          24,
          25,
          29,
          30,
          31,
          19,
          4,
          16,
          19,
          20,
          30,
          18,
          4,
          13,
          0,
          14,
          27,
          26,
          3,
          16,
          20,
          2,
          5,
          7,
          8,
          28,
          4,
          0,
          0,
          14,
          34,
          10,
          33,
          20,
          33,
          16,
          39,
          40,
          17,
          12,
          15,
          6,
          32,
          5,
          11,
          26,
          25,
          18,
          0,
          24,
          17,
          33,
          9,
          9,
          5,
          26,
          27,
          37,
          4,
          24,
          16,
          22,
          6,
          28,
          30,
          1,
          9,
          20,
          32,
          24,
          6,
          10,
          27,
          11,
          23,
          15,
          1,
          3,
          38,
          10,
          28,
          28,
          29,
          7,
          31,
          26,
          21,
          29,
          14,
          21,
          1,
          12,
          11,
          30,
          8
        ]
      },
      "id" : "wall-deal",
      "mjqr" : "PZDNbsIwEITfxect8k+IE96gt0o9VhxSYiBtfqiTqK0Q796ZBVUhyLsz++3EV3Oc8tAsZmeGj8vRiDk1QzK7q3nPzXg4v0zduDyPbfoxOyvmvA7N+JroRzVMLazm0je/GMzpMOX2X8xrn+ZE8HkaT5944ZmhzmZX8JRaaDFGtJcuZSYALzdLMjcxn91IvU1Nr+yvtcsJo297zF7SAZrbhI2FuM4qmO+m758QASyYWKHrovggzomrJIjfisdRDwE/J7V4T83XEqWkFFCrDQIs8EZxVipx/iGHEiiA0QAB3ZoTBcBgoECn4FYAANZToatrCZYj8BTiSvVa9hCgINzqJCLrhpIqQ0RyaLF3RyiYiNH0H8YAon1kQpaSMbf8bJCwGXzLEDDAX+PZqoIyAus1DeKWXMM8ck/mKZVcxktwepWgIVyotKu59O7CfZdjxY/gbTCMI6/a3/4A"
    }
  ]
}