)]}'
{
  "commit": "f4fb02a45b5f31392fb123f569b4bb041a921208",
  "tree": "3f54689bc1bc8244981b472d82ccc95a3a906c01",
  "parents": [
    "6ffada7fbfd65ddc022910f37fc1dde61264d9d9"
  ],
  "author": {
    "name": "Conor McCullough",
    "email": "comc@google.com",
    "time": "Sun Jan 21 22:46:27 2024 -0800"
  },
  "committer": {
    "name": "Conor McCullough",
    "email": "comc@google.com",
    "time": "Thu Feb 22 16:19:00 2024 -0800"
  },
  "message": "Python stats aggregation improvements.\n\nAdded better examples and updated README.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "aa6ad85a44f5b8db597895180d2f1174f0efc05f",
      "old_mode": 33188,
      "old_path": "tools/py_stats/README.md",
      "new_id": "0bccb86a39b543694cfe851cc92fe1eb54c49004",
      "new_mode": 33188,
      "new_path": "tools/py_stats/README.md"
    },
    {
      "type": "modify",
      "old_id": "b012ec72424cd7dc49a658ea1aee50f368f9214a",
      "old_mode": 33188,
      "old_path": "tools/py_stats/avm_stats/proto_helpers.py",
      "new_id": "b6c861adec1573dc4378047ce6eea5cdc71e11f3",
      "new_mode": 33188,
      "new_path": "tools/py_stats/avm_stats/proto_helpers.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ae1747549c666e428156a86b46a961dde7b54f6",
      "new_mode": 33261,
      "new_path": "tools/py_stats/examples/aggregate_from_extractor.py"
    },
    {
      "type": "delete",
      "old_id": "9d73fd344eff8a4d92b1051bffbbd8e6c4fd8bb3",
      "old_mode": 33188,
      "old_path": "tools/py_stats/examples/aggregate_prediction_modes.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c972d5fffc3e864159521c5aaae147d2a6ca8ae9",
      "new_mode": 33188,
      "new_path": "tools/py_stats/examples/extractors/partition_type_extractor.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "63339894cc9970f478e3b693c010b3cbf87faab4",
      "new_mode": 33188,
      "new_path": "tools/py_stats/examples/extractors/prediction_mode_extractor.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2a70bd58bfcdfb291185f8fbf7ad2be7d6288a1d",
      "new_mode": 33188,
      "new_path": "tools/py_stats/examples/extractors/symbol_bits_extractor.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bf9ae934291c7a421c25bf6d1a09d35899e20fc5",
      "new_mode": 33188,
      "new_path": "tools/py_stats/examples/extractors/tx_type_extractor.py"
    },
    {
      "type": "modify",
      "old_id": "3a26160718bb804c831980bed26f28126230697c",
      "old_mode": 33261,
      "old_path": "tools/py_stats/examples/partition_tree.py",
      "new_id": "d2c32ad1870e0c54fdf63efaaaf54846ac1d2b96",
      "new_mode": 33261,
      "new_path": "tools/py_stats/examples/partition_tree.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "80644571361a8c578f1d1047479faa88f586b54a",
      "new_mode": 33188,
      "new_path": "tools/py_stats/img/aggregation_block_sizes.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f632dea8cb7ce7e48df8ccb14d32d59aa8709a12",
      "new_mode": 33188,
      "new_path": "tools/py_stats/img/aggregation_partition_types.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "81dafcebebc7ea2b2bf9abfefc922677d75ffaaf",
      "new_mode": 33188,
      "new_path": "tools/py_stats/img/aggregation_prediction_modes.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e87f9d9b5dc4bbd7b5ac16e502180858441cc77b",
      "new_mode": 33188,
      "new_path": "tools/py_stats/img/aggregation_prediction_modes_by_bits.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cc6e226e60801143f98cfbdd9378b657b926fedb",
      "new_mode": 33188,
      "new_path": "tools/py_stats/img/aggregation_symbols.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6c63310f6c56c7ba3bb675fd0c13b8880f0c8c5f",
      "new_mode": 33188,
      "new_path": "tools/py_stats/img/aggregation_tx_types.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bf7e6e54cbb662b8a48fd7854caaaebcef768c93",
      "new_mode": 33188,
      "new_path": "tools/py_stats/img/bits_heatmap.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4db7259b1271927e6ee096ca0b1897819b71c6de",
      "new_mode": 33188,
      "new_path": "tools/py_stats/img/bits_heatmap_read_intra_luma_mode.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e4ee744092a68c0ea601a8bfff7d82b4862c7b51",
      "new_mode": 33188,
      "new_path": "tools/py_stats/img/partition_tree_luma_inter.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "169dffc7314f8e8d0a570077f18437cd1640c43a",
      "new_mode": 33188,
      "new_path": "tools/py_stats/img/partition_tree_luma_intra.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7fcac2d39a320b6a4435049961c1c89cc9c08555",
      "new_mode": 33188,
      "new_path": "tools/py_stats/img/pixel_pipeline.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d27c7b8da281bde0b490c96acf15af02e076784e",
      "new_mode": 33188,
      "new_path": "tools/py_stats/img/prediction_modes_luma_intra.png"
    },
    {
      "type": "modify",
      "old_id": "469ba6afcac3fe19e8eccd9af4c06da0f3dc0d62",
      "old_mode": 33188,
      "old_path": "tools/py_stats/pyproject.toml",
      "new_id": "6d94baba77cb8711a886eea79fe73b3ffccd487e",
      "new_mode": 33188,
      "new_path": "tools/py_stats/pyproject.toml"
    }
  ]
}
