{
  "standard_banana_regression": {
    "rotations": [
      "abanan",
      "anaban",
      "ananab",
      "banana",
      "nabana",
      "nanaba"
    ],
    "L": "nnbaaa",
    "I": 3,
    "sorted_L_not_original": "aaabnn",
    "occurrence_rank_mapping": [
      4,
      5,
      3,
      0,
      1,
      2
    ],
    "backward_decode_trace": [
      {
        "step": 0,
        "row": 3,
        "character": "a",
        "next_row": 0
      },
      {
        "step": 1,
        "row": 0,
        "character": "n",
        "next_row": 4
      },
      {
        "step": 2,
        "row": 4,
        "character": "a",
        "next_row": 1
      },
      {
        "step": 3,
        "row": 1,
        "character": "n",
        "next_row": 5
      },
      {
        "step": 4,
        "row": 5,
        "character": "a",
        "next_row": 2
      },
      {
        "step": 5,
        "row": 2,
        "character": "b",
        "next_row": 3
      }
    ],
    "decoded": "banana",
    "independent_table_stages": [
      [
        "a",
        "a",
        "a",
        "b",
        "n",
        "n"
      ],
      [
        "ab",
        "an",
        "an",
        "ba",
        "na",
        "na"
      ],
      [
        "aba",
        "ana",
        "ana",
        "ban",
        "nab",
        "nan"
      ],
      [
        "aban",
        "anab",
        "anan",
        "bana",
        "naba",
        "nana"
      ],
      [
        "abana",
        "anaba",
        "anana",
        "banan",
        "naban",
        "nanab"
      ],
      [
        "abanan",
        "anaban",
        "ananab",
        "banana",
        "nabana",
        "nanaba"
      ]
    ]
  },
  "all127_binary_roundtrips": 127,
  "periodic_and_original_Unicode_cases": [
    {
      "source": "abab",
      "L": "bbaa",
      "I": 0,
      "mapping": [
        2,
        3,
        0,
        1
      ],
      "decode": "abab"
    },
    {
      "source": "aaaa",
      "L": "aaaa",
      "I": 0,
      "mapping": [
        0,
        1,
        2,
        3
      ],
      "decode": "aaaa"
    },
    {
      "source": "\u06a9\u0627\u0631\u06a9\u0627\u0631",
      "L": "\u06a9\u06a9\u0627\u0627\u0631\u0631",
      "I": 4,
      "mapping": [
        4,
        5,
        0,
        1,
        2,
        3
      ],
      "decode": "\u06a9\u0627\u0631\u06a9\u0627\u0631"
    },
    {
      "source": "a a",
      "L": "aa ",
      "I": 1,
      "mapping": [
        1,
        2,
        0
      ],
      "decode": "a a"
    }
  ],
  "same_L_different_valid_I": [
    {
      "I": 0,
      "decoded": "abanan"
    },
    {
      "I": 1,
      "decoded": "anaban"
    },
    {
      "I": 2,
      "decoded": "ananab"
    },
    {
      "I": 3,
      "decoded": "banana"
    },
    {
      "I": 4,
      "decoded": "nabana"
    },
    {
      "I": 5,
      "decoded": "nanaba"
    }
  ],
  "invalid_cases_rejected": [
    "negative_index",
    "out_of_range",
    "bool_index",
    "empty_nonzero_index",
    "not_string",
    "over_budget",
    "noncanonical_periodic_primary",
    "malformed_pair"
  ],
  "scope": "literal Unicode block permutation, banana/aaaa/abab standard regressions explicitly not original invention; own Persian/space cases. BWT alone does not compress bytes. No sentinel, bzip2/MTF/Huffman codec, security or compression-ratio claim. Periodic mapping need not one length-n cycle."
}
