)]}'
{
  "commit": "6403e6ce20c99540f13411d4af215f387ab9abea",
  "tree": "d5cc033c7ec1027d1de473d4dcb154c25232f264",
  "parents": [
    "9216745fa17f2988725d2088066a6a3132ed68a0"
  ],
  "author": {
    "name": "Andres Navarro",
    "email": "canavarro82@gmail.com",
    "time": "Sun Mar 03 16:25:49 2019 -0300"
  },
  "committer": {
    "name": "Andres Navarro",
    "email": "canavarro82@gmail.com",
    "time": "Sun Mar 03 16:43:53 2019 -0300"
  },
  "message": "Bitstream decompression \u0026 initial support for MachXO2\n\nMachXO2 support helped by some earlier work by cr1901 in figuring\nout some bitstream differences (row/column swapped, 1 based indexing\nfor columns, frame order reversed, etc) and writing the first fuzzers\n\nSigned-off-by: Andres Navarro \u003ccanavarro82@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a2095be5e8ec7b7d5bed0993b8da7e8932638661",
      "old_mode": 33188,
      "old_path": "devices.json",
      "new_id": "ac5f989307d47c718968737dd9bb1ab328f13d74",
      "new_mode": 33188,
      "new_path": "devices.json"
    },
    {
      "type": "modify",
      "old_id": "b23aff5b06a47d7313f3e944df0c82e9c1886b21",
      "old_mode": 33261,
      "old_path": "diamond.sh",
      "new_id": "24d73395e62d1ea09941f309dc92102d704cbc03",
      "new_mode": 33261,
      "new_path": "diamond.sh"
    },
    {
      "type": "modify",
      "old_id": "273dfd5ac0f59dbc3af4c7f6fb90f323b52c3ecc",
      "old_mode": 33188,
      "old_path": "docs/architecture/bitstream_format.rst",
      "new_id": "3b7234d6bafa803d3d5e60097e082ecd36997b54",
      "new_mode": 33188,
      "new_path": "docs/architecture/bitstream_format.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cbdac0afc37b935b182f7009e64e4316ca32ff86",
      "new_mode": 33188,
      "new_path": "fuzzers/MachXO2/003-plc_lut_init/empty.ncl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2e779ba7530c23c6cc1d7809cdd7f6b25ffe5676",
      "new_mode": 33188,
      "new_path": "fuzzers/MachXO2/003-plc_lut_init/fuzzer.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2df3dc3f14df76e371fc1d4fcd8f50a178177c23",
      "new_mode": 33188,
      "new_path": "fuzzers/MachXO2/003-plc_lut_init/lut.ncl"
    },
    {
      "type": "modify",
      "old_id": "ab20abdb20a3209504cfec6bd0415076bf91194a",
      "old_mode": 33188,
      "old_path": "libtrellis/include/Bitstream.hpp",
      "new_id": "e644f801a95762cefc8d990b062f335dbe64f3ad",
      "new_mode": 33188,
      "new_path": "libtrellis/include/Bitstream.hpp"
    },
    {
      "type": "modify",
      "old_id": "0bc5bcfa659b78e829dcb1a4416f222d4e458976",
      "old_mode": 33188,
      "old_path": "libtrellis/src/Bitstream.cpp",
      "new_id": "24fadda8ea77ea49083f9be80c9feaa4a0f0ed8c",
      "new_mode": 33188,
      "new_path": "libtrellis/src/Bitstream.cpp"
    },
    {
      "type": "modify",
      "old_id": "2d58620412c202a1dcf8adb44e5005a59a6e760a",
      "old_mode": 33188,
      "old_path": "libtrellis/src/PyTrellis.cpp",
      "new_id": "52e0fbf14bb8c909eb9d89d85dcfd6d625522d2a",
      "new_mode": 33188,
      "new_path": "libtrellis/src/PyTrellis.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a408e0b0f99f89f4a22946720dd4427ca04db5fe",
      "new_mode": 33188,
      "new_path": "metadata/MachXO2/LCMXO2-1200HC/globals.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a408e0b0f99f89f4a22946720dd4427ca04db5fe",
      "new_mode": 33188,
      "new_path": "metadata/MachXO2/LCMXO2-256HC/globals.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a408e0b0f99f89f4a22946720dd4427ca04db5fe",
      "new_mode": 33188,
      "new_path": "metadata/MachXO2/LCMXO2-4000HC/globals.json"
    },
    {
      "type": "modify",
      "old_id": "1411d6647ef8b1ecec618070bd40f478b48757a4",
      "old_mode": 33261,
      "old_path": "tools/extract_tilegrid.py",
      "new_id": "2b6b2ac42d006630d1d214f6aa1292a9e3b88b9d",
      "new_mode": 33261,
      "new_path": "tools/extract_tilegrid.py"
    },
    {
      "type": "modify",
      "old_id": "5e687b91565cc44f3fac4dd8010a5e352f4116c5",
      "old_mode": 33261,
      "old_path": "tools/get_tilegrid_all.py",
      "new_id": "58828911ff7b412ee7a7639b22a3b48f318a46c9",
      "new_mode": 33261,
      "new_path": "tools/get_tilegrid_all.py"
    },
    {
      "type": "modify",
      "old_id": "cc7e68349e00f20e0e15bc3296f1a250890f9dd1",
      "old_mode": 33261,
      "old_path": "tools/html_tilegrid.py",
      "new_id": "67e1b0932a8ffea395f8dfe32ea24a1c99879c76",
      "new_mode": 33261,
      "new_path": "tools/html_tilegrid.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6def0de307548384f1c8a9d42c26fb0cdffe2804",
      "new_mode": 33188,
      "new_path": "tools/machxo2_tiles.py"
    }
  ]
}
