{
  "work": "zima",
  "pinned": [
    "0x865502a9d3554e5c3a9a43d42af9b77de3e5ae81/24.js",
    "0x865502a9d3554e5c3a9a43d42af9b77de3e5ae81/6.js",
    "0x865502a9d3554e5c3a9a43d42af9b77de3e5ae81/20.js"
  ],
  "contracts": [
    {
      "name": "Zima",
      "address": "0x865502a9d3554e5c3a9a43d42af9b77de3e5ae81",
      "role": "the token contract, holding the poems as files on the chain",
      "main": "1.js",
      "files": [
        "1.js",
        "2.js",
        "3.js",
        "4.js",
        "5.js",
        "6.js",
        "7.js",
        "8.js",
        "9.js",
        "10.js",
        "11.js",
        "12.js",
        "13.js",
        "14.js",
        "15.js",
        "16.js",
        "17.js",
        "18.js",
        "19.js",
        "20.js",
        "21.js",
        "22.js",
        "23.js",
        "24.js",
        "25.js",
        "26.js",
        "27.js",
        "28.js",
        "29.js",
        "30.js",
        "31.js",
        "32.js"
      ],
      "focus": [
        {
          "file": "24.js",
          "match": "const poem =",
          "lines": 2,
          "note": "hidden characters turn each word around: the code says rats, the screen shows star"
        },
        {
          "file": "6.js",
          "match": "console.log(answer);",
          "lines": 1,
          "note": "the answer is asked for before it exists, so the poem stops before it knows"
        },
        {
          "file": "20.js",
          "match": "function never() {",
          "lines": 6,
          "note": "a goodbye that never returns"
        },
        {
          "file": "28.js",
          "match": "for (i = 0; i < Infinity; i++) {",
          "lines": 3,
          "note": "i will change the world, forever"
        }
      ]
    }
  ]
}
