{
  "contractName": "Distribution",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "balances",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x27e235e3"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "minTimeout",
      "outputs": [
        {
          "name": "",
          "type": "uint32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x4cf71be4"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "realityCheck",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x50990880"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "contentHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x646c2e33"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "templateId",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x7aa77f29"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "realityCheckQuestion",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x7dbec82b"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "minBond",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x831518b7"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x8da5cb5b"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "forkonomicToken",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x942032e3"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "openingTs",
      "outputs": [
        {
          "name": "",
          "type": "uint32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xc7049657"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "fSystem",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xd440796e"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor",
      "signature": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "hashid",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "user",
          "type": "address"
        }
      ],
      "name": "Withdraw",
      "type": "event",
      "signature": "0x0448f4c3f7e202963aee589c062ccd162bcad2d1e20f233e7092cf77dacc61df"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "a",
          "type": "address"
        }
      ],
      "name": "LogAddress",
      "type": "event",
      "signature": "0xb123f68b8ba02b447d91a6629e121111b7dd6061ff418a60139c8bf00522a284"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "b",
          "type": "bytes32"
        }
      ],
      "name": "LogBytes",
      "type": "event",
      "signature": "0xdda46087f37cd4c2135846abab15f32ba8fdf277cc07f584d13736bfbf895b98"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_forkonomicToken",
          "type": "address"
        },
        {
          "name": "_realityCheck",
          "type": "address"
        },
        {
          "name": "_fSystem",
          "type": "address"
        }
      ],
      "name": "setRealityVariables",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xfbae19f9"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "user",
          "type": "address[]"
        },
        {
          "name": "fundAmount_",
          "type": "uint256[]"
        }
      ],
      "name": "injectReward",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x02886a4b"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "finalize",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x4bb278f3"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "arbitrator",
          "type": "address"
        }
      ],
      "name": "askRealitio",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": true,
      "stateMutability": "payable",
      "type": "function",
      "signature": "0x4c302423"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "hashid_",
          "type": "bytes32"
        }
      ],
      "name": "withdrawReward",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x474b5809"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "questionId",
          "type": "bytes32"
        },
        {
          "name": "arbitrator",
          "type": "address"
        }
      ],
      "name": "delayedDistributionLeftOverTokens",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x10ae1047"
    }
  ],
  "bytecode": "0x6080604052600060055534801561001557600080fd5b5060018054600160a060020a031916331790556111c4806100376000396000f3006080604052600436106100d75763ffffffff60e060020a60003504166302886a4b81146100dc57806310ae10471461016c57806327e235e314610193578063474b5809146101c65780634bb278f3146101de5780634c302423146101f35780634cf71be4146102075780635099088014610235578063646c2e33146102665780637aa77f291461027b5780637dbec82b14610290578063831518b71461031a5780638da5cb5b1461032f578063942032e314610344578063c704965714610359578063d440796e1461036e578063fbae19f914610383575b600080fd5b3480156100e857600080fd5b506040805160206004803580820135838102808601850190965280855261016a95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506103b09650505050505050565b005b34801561017857600080fd5b5061016a600435602435600160a060020a03604435166104ee565b34801561019f57600080fd5b506101b4600160a060020a03600435166109f3565b60408051918252519081900360200190f35b3480156101d257600080fd5b5061016a600435610a05565b3480156101ea57600080fd5b5061016a610afd565b6101b4600160a060020a0360043516610b96565b34801561021357600080fd5b5061021c610ee0565b6040805163ffffffff9092168252519081900360200190f35b34801561024157600080fd5b5061024a610eec565b60408051600160a060020a039092168252519081900360200190f35b34801561027257600080fd5b506101b4610efb565b34801561028757600080fd5b506101b4610f01565b34801561029c57600080fd5b506102a5610f07565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102df5781810151838201526020016102c7565b50505050905090810190601f16801561030c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032657600080fd5b506101b4610f95565b34801561033b57600080fd5b5061024a610f9b565b34801561035057600080fd5b5061024a610faa565b34801561036557600080fd5b5061021c610fb9565b34801561037a57600080fd5b5061024a610fcd565b34801561038f57600080fd5b5061016a600160a060020a0360043581169060243581169060443516610fdc565b600154600090600160a060020a03163314610415576040805160e560020a62461bcd02815260206004820152601060248201527f73656e646572206e6f74206f776e657200000000000000000000000000000000604482015290519081900360640190fd5b60015474010000000000000000000000000000000000000000900460ff1615610488576040805160e560020a62461bcd02815260206004820152601960248201527f736574757020697320616c72656164792066696e697368656400000000000000604482015290519081900360640190fd5b5060005b82518110156104e95781818151811015156104a357fe5b9060200190602002015160008085848151811015156104be57fe5b6020908102909101810151600160a060020a031682528101919091526040016000205560010161048c565b505050565b60048054604080517f49469146000000000000000000000000000000000000000000000000000000008152600160a060020a03858116948201949094526024810187905290516000939092169163494691469160448082019260209290919082900301818787803b15801561056257600080fd5b505af1158015610576573d6000803e3d6000fd5b505050506040513d602081101561058c57600080fd5b505115156105e4576040805160e560020a62461bcd02815260206004820152601b60248201527f61726269747261746f72206e6f742077686974652d6c69737465640000000000604482015290519081900360640190fd5b600354600954600754600654604080517f12a203c3000000000000000000000000000000000000000000000000000000008152600481018990526024810194909452600160a060020a03878116604486015263ffffffff90931660648501526084840191909152519216916312a203c39160a4808201926020929091908290030181600087803b15801561067757600080fd5b505af115801561068b573d6000803e3d6000fd5b505050506040513d60208110156106a157600080fd5b505160048054600354604080517facae8f4e00000000000000000000000000000000000000000000000000000000815293840188905251939450600160a060020a0391821693632667404b93929091169163acae8f4e9160248083019260209291908290030181600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b505050506040513d602081101561074357600080fd5b50516040805163ffffffff84811660e060020a0282529092166004830152602482018890525160448083019260209291908290030181600087803b15801561078a57600080fd5b505af115801561079e573d6000803e3d6000fd5b505050506040513d60208110156107b457600080fd5b5051151561080c576040805160e560020a62461bcd02815260206004820181905260248201527f206272616e6368206e6f7420696e2072696768742074696d652077696e646f77604482015290519081900360640190fd5b600254604080517f4d30b6be000000000000000000000000000000000000000000000000000000008152306004820152602481018790529051600160a060020a03909216916357cfeeee9184918491634d30b6be9160448083019260209291908290030181600087803b15801561088257600080fd5b505af1158015610896573d6000803e3d6000fd5b505050506040513d60208110156108ac57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a0390931660048401526024830191909152604482018890525160648083019260209291908290030181600087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b505050506040513d602081101561092c57600080fd5b505115156109aa576040805160e560020a62461bcd02815260206004820152602560248201527f207472616e73666572206f662066756e647320776173206e6f7420737563636560448201527f737366756c000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60408051858152600160a060020a038316602082015281517f0448f4c3f7e202963aee589c062ccd162bcad2d1e20f233e7092cf77dacc61df929181900390910190a150505050565b60006020819052908152604090205481565b600254336000818152602081815260408083205481517f57cfeeee000000000000000000000000000000000000000000000000000000008152600481019590955260248501526044840186905251600160a060020a03909416936357cfeeee93606480820194918390030190829087803b158015610a8257600080fd5b505af1158015610a96573d6000803e3d6000fd5b505050506040513d6020811015610aac57600080fd5b5050336000818152602081815260408083209290925581518481529081019290925280517f0448f4c3f7e202963aee589c062ccd162bcad2d1e20f233e7092cf77dacc61df9281900390910190a150565b600154600160a060020a03163314610b5f576040805160e560020a62461bcd02815260206004820152601060248201527f73656e646572206e6f74206f776e657200000000000000000000000000000000604482015290519081900360640190fd5b6001805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600780546103e867ffffffff00000000199091166401000000004262093a800163ffffffff16021763ffffffff1916179055604080517f576869636820636f6e74726163742073686f756c642062652061626c6520746f6020808301919091527f2077697468647261772066756e64732066726f6d20000000000000000000000082840152306c010000000000000000000000000260558301527f3f0000000000000000000000000000000000000000000000000000000000000060698301528251808303604a018152606a9092019092528051600092610c7c926008929101906110fd565b50600554600760049054906101000a900463ffffffff166008604051602001808481526020018363ffffffff1663ffffffff1660e060020a02815260040182805460018160011615610100020316600290048015610d115780601f10610cef576101008083540402835291820191610d11565b820191906000526020600020905b815481529060010190602001808311610cfd575b505093505050506040516020818303038152906040526040518082805190602001908083835b60208310610d565780518252601f199092019160209182019101610d37565b51815160001960209490940361010090810a8501918216911992909216179091526040519490920184900384206009556003546005546007547f762c38fd00000000000000000000000000000000000000000000000000000000875260048701828152600160a060020a038c811660448a015263ffffffff80841660648b018190526401000000009094041660848a01819052600060a48b0181905260c060248c019081526008805460026001821615909c02909a019099169990990460c48c01819052929096169b5063762c38fd9a5093989597508c96929593949391929160e4019088908015610e895780601f10610e5e57610100808354040283529160200191610e89565b820191906000526020600020905b815481529060010190602001808311610e6c57829003601f168201915b5050975050505050505050602060405180830381600087803b158015610eae57600080fd5b505af1158015610ec2573d6000803e3d6000fd5b505050506040513d6020811015610ed857600080fd5b505192915050565b60075463ffffffff1681565b600354600160a060020a031681565b60095481565b60055481565b6008805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610f8d5780601f10610f6257610100808354040283529160200191610f8d565b820191906000526020600020905b815481529060010190602001808311610f7057829003601f168201915b505050505081565b60065481565b600154600160a060020a031681565b600254600160a060020a031681565b600754640100000000900463ffffffff1681565b600454600160a060020a031681565b600154600160a060020a0316331461103e576040805160e560020a62461bcd02815260206004820152601060248201527f73656e646572206e6f74206f776e657200000000000000000000000000000000604482015290519081900360640190fd5b60015474010000000000000000000000000000000000000000900460ff16156110b1576040805160e560020a62461bcd02815260206004820152601960248201527f736574757020697320616c72656164792066696e697368656400000000000000604482015290519081900360640190fd5b60028054600160a060020a0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155600480549285169282169290921790915560038054929093169116179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061113e57805160ff191683800117855561116b565b8280016001018555821561116b579182015b8281111561116b578251825591602001919060010190611150565b5061117792915061117b565b5090565b61119591905b808211156111775760008155600101611181565b905600a165627a7a723058209c5fc5b84f62202215e22eaae32f64501eb3e243c1f20df558152f43e62f87c60029",
  "deployedBytecode": "0x6080604052600436106100d75763ffffffff60e060020a60003504166302886a4b81146100dc57806310ae10471461016c57806327e235e314610193578063474b5809146101c65780634bb278f3146101de5780634c302423146101f35780634cf71be4146102075780635099088014610235578063646c2e33146102665780637aa77f291461027b5780637dbec82b14610290578063831518b71461031a5780638da5cb5b1461032f578063942032e314610344578063c704965714610359578063d440796e1461036e578063fbae19f914610383575b600080fd5b3480156100e857600080fd5b506040805160206004803580820135838102808601850190965280855261016a95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506103b09650505050505050565b005b34801561017857600080fd5b5061016a600435602435600160a060020a03604435166104ee565b34801561019f57600080fd5b506101b4600160a060020a03600435166109f3565b60408051918252519081900360200190f35b3480156101d257600080fd5b5061016a600435610a05565b3480156101ea57600080fd5b5061016a610afd565b6101b4600160a060020a0360043516610b96565b34801561021357600080fd5b5061021c610ee0565b6040805163ffffffff9092168252519081900360200190f35b34801561024157600080fd5b5061024a610eec565b60408051600160a060020a039092168252519081900360200190f35b34801561027257600080fd5b506101b4610efb565b34801561028757600080fd5b506101b4610f01565b34801561029c57600080fd5b506102a5610f07565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102df5781810151838201526020016102c7565b50505050905090810190601f16801561030c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032657600080fd5b506101b4610f95565b34801561033b57600080fd5b5061024a610f9b565b34801561035057600080fd5b5061024a610faa565b34801561036557600080fd5b5061021c610fb9565b34801561037a57600080fd5b5061024a610fcd565b34801561038f57600080fd5b5061016a600160a060020a0360043581169060243581169060443516610fdc565b600154600090600160a060020a03163314610415576040805160e560020a62461bcd02815260206004820152601060248201527f73656e646572206e6f74206f776e657200000000000000000000000000000000604482015290519081900360640190fd5b60015474010000000000000000000000000000000000000000900460ff1615610488576040805160e560020a62461bcd02815260206004820152601960248201527f736574757020697320616c72656164792066696e697368656400000000000000604482015290519081900360640190fd5b5060005b82518110156104e95781818151811015156104a357fe5b9060200190602002015160008085848151811015156104be57fe5b6020908102909101810151600160a060020a031682528101919091526040016000205560010161048c565b505050565b60048054604080517f49469146000000000000000000000000000000000000000000000000000000008152600160a060020a03858116948201949094526024810187905290516000939092169163494691469160448082019260209290919082900301818787803b15801561056257600080fd5b505af1158015610576573d6000803e3d6000fd5b505050506040513d602081101561058c57600080fd5b505115156105e4576040805160e560020a62461bcd02815260206004820152601b60248201527f61726269747261746f72206e6f742077686974652d6c69737465640000000000604482015290519081900360640190fd5b600354600954600754600654604080517f12a203c3000000000000000000000000000000000000000000000000000000008152600481018990526024810194909452600160a060020a03878116604486015263ffffffff90931660648501526084840191909152519216916312a203c39160a4808201926020929091908290030181600087803b15801561067757600080fd5b505af115801561068b573d6000803e3d6000fd5b505050506040513d60208110156106a157600080fd5b505160048054600354604080517facae8f4e00000000000000000000000000000000000000000000000000000000815293840188905251939450600160a060020a0391821693632667404b93929091169163acae8f4e9160248083019260209291908290030181600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b505050506040513d602081101561074357600080fd5b50516040805163ffffffff84811660e060020a0282529092166004830152602482018890525160448083019260209291908290030181600087803b15801561078a57600080fd5b505af115801561079e573d6000803e3d6000fd5b505050506040513d60208110156107b457600080fd5b5051151561080c576040805160e560020a62461bcd02815260206004820181905260248201527f206272616e6368206e6f7420696e2072696768742074696d652077696e646f77604482015290519081900360640190fd5b600254604080517f4d30b6be000000000000000000000000000000000000000000000000000000008152306004820152602481018790529051600160a060020a03909216916357cfeeee9184918491634d30b6be9160448083019260209291908290030181600087803b15801561088257600080fd5b505af1158015610896573d6000803e3d6000fd5b505050506040513d60208110156108ac57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a0390931660048401526024830191909152604482018890525160648083019260209291908290030181600087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b505050506040513d602081101561092c57600080fd5b505115156109aa576040805160e560020a62461bcd02815260206004820152602560248201527f207472616e73666572206f662066756e647320776173206e6f7420737563636560448201527f737366756c000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60408051858152600160a060020a038316602082015281517f0448f4c3f7e202963aee589c062ccd162bcad2d1e20f233e7092cf77dacc61df929181900390910190a150505050565b60006020819052908152604090205481565b600254336000818152602081815260408083205481517f57cfeeee000000000000000000000000000000000000000000000000000000008152600481019590955260248501526044840186905251600160a060020a03909416936357cfeeee93606480820194918390030190829087803b158015610a8257600080fd5b505af1158015610a96573d6000803e3d6000fd5b505050506040513d6020811015610aac57600080fd5b5050336000818152602081815260408083209290925581518481529081019290925280517f0448f4c3f7e202963aee589c062ccd162bcad2d1e20f233e7092cf77dacc61df9281900390910190a150565b600154600160a060020a03163314610b5f576040805160e560020a62461bcd02815260206004820152601060248201527f73656e646572206e6f74206f776e657200000000000000000000000000000000604482015290519081900360640190fd5b6001805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600780546103e867ffffffff00000000199091166401000000004262093a800163ffffffff16021763ffffffff1916179055604080517f576869636820636f6e74726163742073686f756c642062652061626c6520746f6020808301919091527f2077697468647261772066756e64732066726f6d20000000000000000000000082840152306c010000000000000000000000000260558301527f3f0000000000000000000000000000000000000000000000000000000000000060698301528251808303604a018152606a9092019092528051600092610c7c926008929101906110fd565b50600554600760049054906101000a900463ffffffff166008604051602001808481526020018363ffffffff1663ffffffff1660e060020a02815260040182805460018160011615610100020316600290048015610d115780601f10610cef576101008083540402835291820191610d11565b820191906000526020600020905b815481529060010190602001808311610cfd575b505093505050506040516020818303038152906040526040518082805190602001908083835b60208310610d565780518252601f199092019160209182019101610d37565b51815160001960209490940361010090810a8501918216911992909216179091526040519490920184900384206009556003546005546007547f762c38fd00000000000000000000000000000000000000000000000000000000875260048701828152600160a060020a038c811660448a015263ffffffff80841660648b018190526401000000009094041660848a01819052600060a48b0181905260c060248c019081526008805460026001821615909c02909a019099169990990460c48c01819052929096169b5063762c38fd9a5093989597508c96929593949391929160e4019088908015610e895780601f10610e5e57610100808354040283529160200191610e89565b820191906000526020600020905b815481529060010190602001808311610e6c57829003601f168201915b5050975050505050505050602060405180830381600087803b158015610eae57600080fd5b505af1158015610ec2573d6000803e3d6000fd5b505050506040513d6020811015610ed857600080fd5b505192915050565b60075463ffffffff1681565b600354600160a060020a031681565b60095481565b60055481565b6008805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610f8d5780601f10610f6257610100808354040283529160200191610f8d565b820191906000526020600020905b815481529060010190602001808311610f7057829003601f168201915b505050505081565b60065481565b600154600160a060020a031681565b600254600160a060020a031681565b600754640100000000900463ffffffff1681565b600454600160a060020a031681565b600154600160a060020a0316331461103e576040805160e560020a62461bcd02815260206004820152601060248201527f73656e646572206e6f74206f776e657200000000000000000000000000000000604482015290519081900360640190fd5b60015474010000000000000000000000000000000000000000900460ff16156110b1576040805160e560020a62461bcd02815260206004820152601960248201527f736574757020697320616c72656164792066696e697368656400000000000000604482015290519081900360640190fd5b60028054600160a060020a0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155600480549285169282169290921790915560038054929093169116179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061113e57805160ff191683800117855561116b565b8280016001018555821561116b579182015b8281111561116b578251825591602001919060010190611150565b5061117792915061117b565b5090565b61119591905b808211156111775760008155600101611181565b905600a165627a7a723058209c5fc5b84f62202215e22eaae32f64501eb3e243c1f20df558152f43e62f87c60029",
  "sourceMap": "130:3579:12:-;;;727:1;701:27;;946:60;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;981:5:12;:18;;-1:-1:-1;;;;;;981:18:12;989:10;981:18;;;130:3579;;;;;;",
  "deployedSourceMap": "130:3579:12:-;;;;;;;;;-1:-1:-1;;;130:3579:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1504:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1504:208:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1504:208:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1504:208:12;;;;-1:-1:-1;1504:208:12;-1:-1:-1;1504:208:12;;-1:-1:-1;1504:208:12;;;;;;;;;-1:-1:-1;1504:208:12;;-1:-1:-1;1504:208:12;;-1:-1:-1;;;;;;;1504:208:12;;;2713:994;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2713:994:12;;;;;-1:-1:-1;;;;;2713:994:12;;;;;159:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;159:43:12;-1:-1:-1;;;;;159:43:12;;;;;;;;;;;;;;;;;;;;;2411:210;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2411:210:12;;;;;1769:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1769:83:12;;;;1858:483;;-1:-1:-1;;;;;1858:483:12;;;;;762:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;762:24:12;;;;;;;;;;;;;;;;;;;;;;;300:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;300:28:12;;;;;;;;-1:-1:-1;;;;;300:28:12;;;;;;;;;;;;;;861:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;861:26:12;;;;701:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;701:27:12;;;;821:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;821:34:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;821:34:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;734:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;734:22:12;;;;208:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;208:20:12;;;;256:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;256:38:12;;;;792:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;792:23:12;;;;334:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;334:31:12;;;;1085:282;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1085:282:12;-1:-1:-1;;;;;1085:282:12;;;;;;;;;;;;;;;1504:208;542:5;;1627:6;;-1:-1:-1;;;;;542:5:12;528:10;:19;519:49;;;;;-1:-1:-1;;;;;519:49:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:10;;;;;;;636:11;628:49;;;;;-1:-1:-1;;;;;628:49:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1634:1:12;1622:83;1641:4;:11;1637:1;:15;1622:83;;;1691:11;1703:1;1691:14;;;;;;;;;;;;;;;;;;1671:8;:17;1680:4;1685:1;1680:7;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1671:17:12;;;;;;;;;;;-1:-1:-1;1671:17:12;:34;1654:3;;1622:83;;;1504:208;;;:::o;2713:994::-;2889:7;;;:51;;;;;;-1:-1:-1;;;;;2889:51:12;;;;;;;;;;;;;;;;;;3068:21;;2889:7;;;;:31;;:51;;;;;;;;;;;;;;;3068:21;2889:7;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;2889:51:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2889:51:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2889:51:12;2881:91;;;;;;;-1:-1:-1;;;;;2881:91:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;3100:12;;3149:11;;3174:10;;3186:7;;3100:94;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3100:94:12;;;;;;;3174:10;;;;3100:94;;;;;;;;;;;;:12;;;:36;;:94;;;;;;;;;;;;;;;:12;;:94;;;5:2:-1;;;;30:1;27;20:12;5:2;3100:94:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3100:94:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3100:94:12;3328:7;;;3359:12;;:38;;;;;;;;;;;;;3100:94;;-1:-1:-1;;;;;;3328:7:12;;;;:30;;3359:12;;;;;:26;;:38;;;;;3100:94;;3359:38;;;;;;;-1:-1:-1;3359:12:12;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;3359:38:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3359:38:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3359:38:12;3328:78;;;;;;;-1:-1:-1;;;3328:78:12;;;;;;;;;;;;;;;;;;;;;;3359:38;;3328:78;;;;;;;-1:-1:-1;3328:78:12;;;;5:2:-1;;;;30:1;27;20:12;5:2;3328:78:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3328:78:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3328:78:12;3320:123;;;;;;;-1:-1:-1;;;;;3320:123:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3523:15;;3563:39;;;;;;3589:4;3563:39;;;;;;;;;;;;-1:-1:-1;;;;;3523:15:12;;;;:24;;3548:13;;3523:15;;3563:25;;:39;;;;;;;;;;;;;;3523:15;;3563:39;;;5:2:-1;;;;30:1;27;20:12;5:2;3563:39:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:39:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3563:39:12;3523:88;;;-1:-1:-1;;;3523:88:12;;;;;;-1:-1:-1;;;;;3523:88:12;;;;;;;;;;;;;;;;;;;;;;;;;;3563:39;;3523:88;;;;;;;-1:-1:-1;3523:88:12;;;;5:2:-1;;;;30:1;27;20:12;5:2;3523:88:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3523:88:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3523:88:12;3515:138;;;;;;;-1:-1:-1;;;;;3515:138:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3669:31;;;;;;-1:-1:-1;;;;;3669:31:12;;;;;;;;;;;;;;;;;;;2713:994;;;;:::o;159:43::-;;;;;;;;;;;;;;:::o;2411:210::-;2469:15;;2494:10;2469:15;2506:20;;;;;;;;;;;;2469:67;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2469:15:12;;;;:24;;:67;;;;;;;;;;;;;:15;:67;;;5:2:-1;;;;30:1;27;20:12;5:2;2469:67:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2469:67:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;2555:10:12;2569:1;2546:20;;;2469:67;2546:20;;;;;;;:24;;;;2585:29;;;;;;;;;;;;;;;;;;;;;;;;2411:210;:::o;1769:83::-;542:5;;-1:-1:-1;;;;;542:5:12;528:10;:19;519:49;;;;;-1:-1:-1;;;;;519:49:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;1841:4;1828:17;;-1:-1:-1;;1828:17:12;;;;;1769:83::o;1858:483::-;1942:9;:30;;1995:4;-1:-1:-1;;1942:30:12;;;;1961:3;1965:6;1961:10;1942:30;;;;-1:-1:-1;;1982:17:12;;;;2039:84;;;;;;;;;;;;;;;;;2113:4;2039:84;;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;2039:84:12;;;;;;;2009:115;;-1:-1:-1;;2009:115:12;;:20;;:115;;;;:::i;:::-;;2175:10;;2187:9;;;;;;;;;;;2198:20;2158:61;;;;;;;;;;;;;;;-1:-1:-1;;;2158:61:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2158:61:12;;;2148:72;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;365:33;;;2148:72:12;;;;;;;;;;;2134:11;:86;2238:12;;2263:10;;2309;;2238:96;;;2321:9;2238:96;;;;;-1:-1:-1;;;;;2238:96:12;;;;;;;2309:10;;;;2238:96;;;;;;2321:9;;;;;2238:96;;;;;;-1:-1:-1;2238:96:12;;;;;;;;;;;;;2275:20;2238:96;;;274:1:-1;2238:96:12;;;;;;;;;;;;;;;;;;;;;;:12;;;;;-1:-1:-1;2238:24:12;;-1:-1:-1;2263:10:12;;2275:20;;-1:-1:-1;2297:10:12;;2309;;2321:9;;-1:-1:-1;2238:96:12;;;;;;2275:20;;2238:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2238:96:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2238:96:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2238:96:12;;1858:483;-1:-1:-1;;1858:483:12:o;762:24::-;;;;;;:::o;300:28::-;;;-1:-1:-1;;;;;300:28:12;;:::o;861:26::-;;;;:::o;701:27::-;;;;:::o;821:34::-;;;;;;;;;;;;;;;-1:-1:-1;;821:34:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;734:22::-;;;;:::o;208:20::-;;;-1:-1:-1;;;;;208:20:12;;:::o;256:38::-;;;-1:-1:-1;;;;;256:38:12;;:::o;792:23::-;;;;;;;;;:::o;334:31::-;;;-1:-1:-1;;;;;334:31:12;;:::o;1085:282::-;542:5;;-1:-1:-1;;;;;542:5:12;528:10;:19;519:49;;;;;-1:-1:-1;;;;;519:49:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:10;;;;;;;636:11;628:49;;;;;-1:-1:-1;;;;;628:49:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;1260:15;:34;;-1:-1:-1;;;;;1260:34:12;;;-1:-1:-1;;1260:34:12;;;;;;;1304:7;:18;;;;;;;;;;;;;;;1332:12;:28;;;;;;;;;;;1085:282::o;130:3579::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;130:3579:12;;;-1:-1:-1;130:3579:12;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.22;\n\nimport \"./ForkonomicToken.sol\";\nimport \"@realitio/realitio-contracts/truffle/contracts/Realitio.sol\";\n\n\ncontract Distribution {\n\n    mapping(address => uint256) public balances;\n    address public owner;\n    bool isFinished;\n\n    ForkonomicToken public forkonomicToken;\n    Realitio public realityCheck;\n    ForkonomicSystem public fSystem;\n   \n    event Withdraw(bytes32 hashid, address user);\n    event LogAddress(address a);\n    event LogBytes(bytes32 b);\n\n    modifier isOwner() {\n        require (msg.sender == owner, \"sender not owner\");\n        _;\n    }\n\n    modifier notYetFinished() {\n        require(!isFinished, \"setup is already finished\");\n        _;\n    }\n\n    uint256 public templateId=0;\n    uint256 public minBond;\n    uint32 public minTimeout;\n    uint32 public openingTs;\n    string public realityCheckQuestion;\n    bytes32 public contentHash;\n\n   //Constructor sets the owner of the Distribution\n    constructor() public {    \n        owner = msg.sender;\n    }\n\n    // variables, which we were not able to hand over to the constructor\n    function setRealityVariables(ForkonomicToken _forkonomicToken, Realitio _realityCheck, ForkonomicSystem _fSystem)\n    public \n    isOwner()\n    notYetFinished()\n    {\n        forkonomicToken = _forkonomicToken;\n        fSystem = _fSystem;\n        realityCheck = _realityCheck;\n    }\n\n     //@param users list of users that should be rewarded\n     //@param fundAmount list of amounts the users should be funded with\n    function injectReward(address[] user, uint[] fundAmount_)\n    public\n    isOwner()\n    notYetFinished()\n    {\n        for (uint i=0; i < user.length; i++)\n            balances[user[i]] = fundAmount_[i];\n    }\n\n     // to be called once all rewards are injected\n    function finalize()\n    public\n    isOwner()\n    {\n        isFinished = true;\n    }\n\n    function askRealitio(address arbitrator) public payable returns (bytes32) {\n        openingTs = uint32(now+7 days);\n        minTimeout = 1000;\n        realityCheckQuestion = string(abi.encodePacked(\"Which contract should be able to withdraw funds from \", this, \"?\"));\n        contentHash = keccak256(abi.encodePacked(templateId, openingTs, realityCheckQuestion)); \n        return realityCheck.askQuestion(templateId, realityCheckQuestion, arbitrator, minTimeout, openingTs, 0);\n    }\n\n     // param hashid_ hashid_ should be the hash of the branch \n    function withdrawReward(bytes32 hashid_) public {\n        forkonomicToken.transfer(msg.sender, balances[msg.sender], hashid_);\n        balances[msg.sender] = 0;\n        emit Withdraw(hashid_, msg.sender);\n    }\n  \n    // param branch branch should be the hash of the branch for receiving the money\n    function delayedDistributionLeftOverTokens(bytes32 branch, bytes32 questionId, address arbitrator)\n    public {\n      // ensure that arbitrator is white-listed\n        require(fSystem.isArbitratorWhitelisted(arbitrator, branch), \"arbitrator not white-listed\");\n        // ensure that fundsReceiver is the right party and that the question_ID fits\n        address fundsReceiver = address(realityCheck.getFinalAnswerIfMatches(questionId, contentHash, arbitrator, minTimeout, minBond));\n        // ensures that balances are not withdrawn form a branch older than the end of the questionanswer period. \n        require(fSystem.isBranchCreatedAfterTS(realityCheck.getFinalizeTS(questionId), branch), \" branch not in right time window\");\n        // send acutal funds to another distribution contract\n        require(forkonomicToken.transfer(fundsReceiver, forkonomicToken.balanceOf(this, branch), branch), \" transfer of funds was not successful\");\n\n        emit Withdraw(branch, fundsReceiver);\n    }\n}",
  "sourcePath": "@josojo/forkonomics-contracts/contracts/Distribution.sol",
  "ast": {
    "absolutePath": "@josojo/forkonomics-contracts/contracts/Distribution.sol",
    "exportedSymbols": {
      "Distribution": [
        4249
      ]
    },
    "id": 4250,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 3956,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".22"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:12"
      },
      {
        "absolutePath": "@josojo/forkonomics-contracts/contracts/ForkonomicToken.sol",
        "file": "./ForkonomicToken.sol",
        "id": 3957,
        "nodeType": "ImportDirective",
        "scope": 4250,
        "sourceUnit": 6227,
        "src": "26:31:12",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol",
        "file": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol",
        "id": 3958,
        "nodeType": "ImportDirective",
        "scope": 4250,
        "sourceUnit": 8290,
        "src": "58:69:12",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4249,
        "linearizedBaseContracts": [
          4249
        ],
        "name": "Distribution",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 3962,
            "name": "balances",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "159:43:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 3961,
              "keyType": {
                "id": 3959,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "167:7:12",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "159:27:12",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 3960,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "178:7:12",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3964,
            "name": "owner",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "208:20:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 3963,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "208:7:12",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3966,
            "name": "isFinished",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "234:15:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 3965,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "234:4:12",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 3968,
            "name": "forkonomicToken",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "256:38:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
              "typeString": "contract ForkonomicToken"
            },
            "typeName": {
              "contractScope": null,
              "id": 3967,
              "name": "ForkonomicToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6226,
              "src": "256:15:12",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                "typeString": "contract ForkonomicToken"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3970,
            "name": "realityCheck",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "300:28:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_Realitio_$8289",
              "typeString": "contract Realitio"
            },
            "typeName": {
              "contractScope": null,
              "id": 3969,
              "name": "Realitio",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8289,
              "src": "300:8:12",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Realitio_$8289",
                "typeString": "contract Realitio"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3972,
            "name": "fSystem",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "334:31:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
              "typeString": "contract ForkonomicSystem"
            },
            "typeName": {
              "contractScope": null,
              "id": 3971,
              "name": "ForkonomicSystem",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 5270,
              "src": "334:16:12",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                "typeString": "contract ForkonomicSystem"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 3978,
            "name": "Withdraw",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 3977,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3974,
                  "indexed": false,
                  "name": "hashid",
                  "nodeType": "VariableDeclaration",
                  "scope": 3978,
                  "src": "390:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3973,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "390:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3976,
                  "indexed": false,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 3978,
                  "src": "406:12:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3975,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "406:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "389:30:12"
            },
            "src": "375:45:12"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 3982,
            "name": "LogAddress",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 3981,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3980,
                  "indexed": false,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 3982,
                  "src": "442:9:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3979,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "442:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "441:11:12"
            },
            "src": "425:28:12"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 3986,
            "name": "LogBytes",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 3985,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3984,
                  "indexed": false,
                  "name": "b",
                  "nodeType": "VariableDeclaration",
                  "scope": 3986,
                  "src": "473:9:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3983,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "473:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "472:11:12"
            },
            "src": "458:26:12"
          },
          {
            "body": {
              "id": 3997,
              "nodeType": "Block",
              "src": "509:77:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 3992,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3989,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8523,
                            "src": "528:3:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 3990,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "528:10:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 3991,
                          "name": "owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3964,
                          "src": "542:5:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "528:19:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "73656e646572206e6f74206f776e6572",
                        "id": 3993,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "549:18:12",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_cbbc99822750d63615fc0298d6b3a50bb1e5fe69b61e5eef4ef2fe58d56383ed",
                          "typeString": "literal_string \"sender not owner\""
                        },
                        "value": "sender not owner"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_cbbc99822750d63615fc0298d6b3a50bb1e5fe69b61e5eef4ef2fe58d56383ed",
                          "typeString": "literal_string \"sender not owner\""
                        }
                      ],
                      "id": 3988,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "519:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3994,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "519:49:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3995,
                  "nodeType": "ExpressionStatement",
                  "src": "519:49:12"
                },
                {
                  "id": 3996,
                  "nodeType": "PlaceholderStatement",
                  "src": "578:1:12"
                }
              ]
            },
            "documentation": null,
            "id": 3998,
            "name": "isOwner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 3987,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "506:2:12"
            },
            "src": "490:96:12",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 4007,
              "nodeType": "Block",
              "src": "618:77:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4002,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "636:11:12",
                        "subExpression": {
                          "argumentTypes": null,
                          "id": 4001,
                          "name": "isFinished",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3966,
                          "src": "637:10:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "736574757020697320616c72656164792066696e6973686564",
                        "id": 4003,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "649:27:12",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_30a69df4a173ae4d3696de03bc94fd62572d722daba72260f139350c70b70034",
                          "typeString": "literal_string \"setup is already finished\""
                        },
                        "value": "setup is already finished"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_30a69df4a173ae4d3696de03bc94fd62572d722daba72260f139350c70b70034",
                          "typeString": "literal_string \"setup is already finished\""
                        }
                      ],
                      "id": 4000,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "628:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4004,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "628:49:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4005,
                  "nodeType": "ExpressionStatement",
                  "src": "628:49:12"
                },
                {
                  "id": 4006,
                  "nodeType": "PlaceholderStatement",
                  "src": "687:1:12"
                }
              ]
            },
            "documentation": null,
            "id": 4008,
            "name": "notYetFinished",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 3999,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "615:2:12"
            },
            "src": "592:103:12",
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4011,
            "name": "templateId",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "701:27:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4009,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "701:7:12",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 4010,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "727:1:12",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4013,
            "name": "minBond",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "734:22:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4012,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "734:7:12",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4015,
            "name": "minTimeout",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "762:24:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 4014,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "762:6:12",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4017,
            "name": "openingTs",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "792:23:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 4016,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "792:6:12",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4019,
            "name": "realityCheckQuestion",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "821:34:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 4018,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "821:6:12",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4021,
            "name": "contentHash",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "861:26:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 4020,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "861:7:12",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4029,
              "nodeType": "Block",
              "src": "967:39:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4027,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4024,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3964,
                      "src": "981:5:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 4025,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8523,
                        "src": "989:3:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 4026,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "989:10:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "981:18:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 4028,
                  "nodeType": "ExpressionStatement",
                  "src": "981:18:12"
                }
              ]
            },
            "documentation": null,
            "id": 4030,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4022,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "957:2:12"
            },
            "payable": false,
            "returnParameters": {
              "id": 4023,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "967:0:12"
            },
            "scope": 4249,
            "src": "946:60:12",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4055,
              "nodeType": "Block",
              "src": "1250:117:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4045,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4043,
                      "name": "forkonomicToken",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3968,
                      "src": "1260:15:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                        "typeString": "contract ForkonomicToken"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4044,
                      "name": "_forkonomicToken",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4032,
                      "src": "1278:16:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                        "typeString": "contract ForkonomicToken"
                      }
                    },
                    "src": "1260:34:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                      "typeString": "contract ForkonomicToken"
                    }
                  },
                  "id": 4046,
                  "nodeType": "ExpressionStatement",
                  "src": "1260:34:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4049,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4047,
                      "name": "fSystem",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3972,
                      "src": "1304:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                        "typeString": "contract ForkonomicSystem"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4048,
                      "name": "_fSystem",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4036,
                      "src": "1314:8:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                        "typeString": "contract ForkonomicSystem"
                      }
                    },
                    "src": "1304:18:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                      "typeString": "contract ForkonomicSystem"
                    }
                  },
                  "id": 4050,
                  "nodeType": "ExpressionStatement",
                  "src": "1304:18:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4053,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4051,
                      "name": "realityCheck",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3970,
                      "src": "1332:12:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Realitio_$8289",
                        "typeString": "contract Realitio"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4052,
                      "name": "_realityCheck",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4034,
                      "src": "1347:13:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Realitio_$8289",
                        "typeString": "contract Realitio"
                      }
                    },
                    "src": "1332:28:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Realitio_$8289",
                      "typeString": "contract Realitio"
                    }
                  },
                  "id": 4054,
                  "nodeType": "ExpressionStatement",
                  "src": "1332:28:12"
                }
              ]
            },
            "documentation": null,
            "id": 4056,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 4039,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 4038,
                  "name": "isOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3998,
                  "src": "1215:7:12",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1215:9:12"
              },
              {
                "arguments": [],
                "id": 4041,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 4040,
                  "name": "notYetFinished",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4008,
                  "src": "1229:14:12",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1229:16:12"
              }
            ],
            "name": "setRealityVariables",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4037,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4032,
                  "name": "_forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 4056,
                  "src": "1114:32:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                    "typeString": "contract ForkonomicToken"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 4031,
                    "name": "ForkonomicToken",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 6226,
                    "src": "1114:15:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                      "typeString": "contract ForkonomicToken"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4034,
                  "name": "_realityCheck",
                  "nodeType": "VariableDeclaration",
                  "scope": 4056,
                  "src": "1148:22:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Realitio_$8289",
                    "typeString": "contract Realitio"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 4033,
                    "name": "Realitio",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 8289,
                    "src": "1148:8:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Realitio_$8289",
                      "typeString": "contract Realitio"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4036,
                  "name": "_fSystem",
                  "nodeType": "VariableDeclaration",
                  "scope": 4056,
                  "src": "1172:25:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                    "typeString": "contract ForkonomicSystem"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 4035,
                    "name": "ForkonomicSystem",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 5270,
                    "src": "1172:16:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                      "typeString": "contract ForkonomicSystem"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1113:85:12"
            },
            "payable": false,
            "returnParameters": {
              "id": 4042,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1250:0:12"
            },
            "scope": 4249,
            "src": "1085:282:12",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4091,
              "nodeType": "Block",
              "src": "1612:100:12",
              "statements": [
                {
                  "body": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 4088,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 4080,
                          "name": "balances",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3962,
                          "src": "1671:8:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                            "typeString": "mapping(address => uint256)"
                          }
                        },
                        "id": 4084,
                        "indexExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 4081,
                            "name": "user",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4059,
                            "src": "1680:4:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 4083,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 4082,
                            "name": "i",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4070,
                            "src": "1685:1:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1680:7:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": true,
                        "nodeType": "IndexAccess",
                        "src": "1671:17:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 4085,
                          "name": "fundAmount_",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4062,
                          "src": "1691:11:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 4087,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 4086,
                          "name": "i",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4070,
                          "src": "1703:1:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1691:14:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "1671:34:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4089,
                    "nodeType": "ExpressionStatement",
                    "src": "1671:34:12"
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4076,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 4073,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4070,
                      "src": "1637:1:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 4074,
                        "name": "user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4059,
                        "src": "1641:4:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 4075,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1641:11:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1637:15:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4090,
                  "initializationExpression": {
                    "assignments": [
                      4070
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 4070,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 4092,
                        "src": "1627:6:12",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 4069,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "1627:4:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 4072,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 4071,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1634:1:12",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "1627:8:12"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 4078,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "1654:3:12",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 4077,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4070,
                        "src": "1654:1:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4079,
                    "nodeType": "ExpressionStatement",
                    "src": "1654:3:12"
                  },
                  "nodeType": "ForStatement",
                  "src": "1622:83:12"
                }
              ]
            },
            "documentation": null,
            "id": 4092,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 4065,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 4064,
                  "name": "isOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3998,
                  "src": "1577:7:12",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1577:9:12"
              },
              {
                "arguments": [],
                "id": 4067,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 4066,
                  "name": "notYetFinished",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4008,
                  "src": "1591:14:12",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1591:16:12"
              }
            ],
            "name": "injectReward",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4063,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4059,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 4092,
                  "src": "1526:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4057,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1526:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 4058,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1526:9:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4062,
                  "name": "fundAmount_",
                  "nodeType": "VariableDeclaration",
                  "scope": 4092,
                  "src": "1542:18:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4060,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "1542:4:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4061,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1542:6:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1525:36:12"
            },
            "payable": false,
            "returnParameters": {
              "id": 4068,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1612:0:12"
            },
            "scope": 4249,
            "src": "1504:208:12",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4101,
              "nodeType": "Block",
              "src": "1818:34:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4099,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4097,
                      "name": "isFinished",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3966,
                      "src": "1828:10:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 4098,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1841:4:12",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "1828:17:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4100,
                  "nodeType": "ExpressionStatement",
                  "src": "1828:17:12"
                }
              ]
            },
            "documentation": null,
            "id": 4102,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 4095,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 4094,
                  "name": "isOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3998,
                  "src": "1804:7:12",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1804:9:12"
              }
            ],
            "name": "finalize",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4093,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1786:2:12"
            },
            "payable": false,
            "returnParameters": {
              "id": 4096,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1818:0:12"
            },
            "scope": 4249,
            "src": "1769:83:12",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4153,
              "nodeType": "Block",
              "src": "1932:409:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4115,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4109,
                      "name": "openingTs",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4017,
                      "src": "1942:9:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 4113,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 4111,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8525,
                            "src": "1961:3:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "37",
                            "id": 4112,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1965:6:12",
                            "subdenomination": "days",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_604800_by_1",
                              "typeString": "int_const 604800"
                            },
                            "value": "7"
                          },
                          "src": "1961:10:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 4110,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1954:6:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint32_$",
                          "typeString": "type(uint32)"
                        },
                        "typeName": "uint32"
                      },
                      "id": 4114,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1954:18:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "1942:30:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 4116,
                  "nodeType": "ExpressionStatement",
                  "src": "1942:30:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4119,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4117,
                      "name": "minTimeout",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4015,
                      "src": "1982:10:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "31303030",
                      "id": 4118,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1995:4:12",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1000_by_1",
                        "typeString": "int_const 1000"
                      },
                      "value": "1000"
                    },
                    "src": "1982:17:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 4120,
                  "nodeType": "ExpressionStatement",
                  "src": "1982:17:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4130,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4121,
                      "name": "realityCheckQuestion",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4019,
                      "src": "2009:20:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "576869636820636f6e74726163742073686f756c642062652061626c6520746f2077697468647261772066756e64732066726f6d20",
                              "id": 4125,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2056:55:12",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_34e8323d5fe673751342253014b81642eae09c949c68b478b5e30c25aef937fd",
                                "typeString": "literal_string \"Which contract should be able to withdraw funds from \""
                              },
                              "value": "Which contract should be able to withdraw funds from "
                            },
                            {
                              "argumentTypes": null,
                              "id": 4126,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8584,
                              "src": "2113:4:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_Distribution_$4249",
                                "typeString": "contract Distribution"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "3f",
                              "id": 4127,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2119:3:12",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                                "typeString": "literal_string \"?\""
                              },
                              "value": "?"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_34e8323d5fe673751342253014b81642eae09c949c68b478b5e30c25aef937fd",
                                "typeString": "literal_string \"Which contract should be able to withdraw funds from \""
                              },
                              {
                                "typeIdentifier": "t_contract$_Distribution_$4249",
                                "typeString": "contract Distribution"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                                "typeString": "literal_string \"?\""
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 4123,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8510,
                              "src": "2039:3:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 4124,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2039:16:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 4128,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2039:84:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 4122,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "2032:6:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                          "typeString": "type(string storage pointer)"
                        },
                        "typeName": "string"
                      },
                      "id": 4129,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2032:92:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory",
                        "typeString": "string memory"
                      }
                    },
                    "src": "2009:115:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 4131,
                  "nodeType": "ExpressionStatement",
                  "src": "2009:115:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4141,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4132,
                      "name": "contentHash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4021,
                      "src": "2134:11:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 4136,
                              "name": "templateId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4011,
                              "src": "2175:10:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 4137,
                              "name": "openingTs",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4017,
                              "src": "2187:9:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 4138,
                              "name": "realityCheckQuestion",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4019,
                              "src": "2198:20:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              },
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 4134,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8510,
                              "src": "2158:3:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 4135,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2158:16:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 4139,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2158:61:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 4133,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8517,
                        "src": "2148:9:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 4140,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2148:72:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "2134:86:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 4142,
                  "nodeType": "ExpressionStatement",
                  "src": "2134:86:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4145,
                        "name": "templateId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4011,
                        "src": "2263:10:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4146,
                        "name": "realityCheckQuestion",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4019,
                        "src": "2275:20:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4147,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4104,
                        "src": "2297:10:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4148,
                        "name": "minTimeout",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4015,
                        "src": "2309:10:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4149,
                        "name": "openingTs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4017,
                        "src": "2321:9:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 4150,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2332:1:12",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 4143,
                        "name": "realityCheck",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3970,
                        "src": "2238:12:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Realitio_$8289",
                          "typeString": "contract Realitio"
                        }
                      },
                      "id": 4144,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "askQuestion",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6912,
                      "src": "2238:24:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$",
                        "typeString": "function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32)"
                      }
                    },
                    "id": 4151,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2238:96:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 4108,
                  "id": 4152,
                  "nodeType": "Return",
                  "src": "2231:103:12"
                }
              ]
            },
            "documentation": null,
            "id": 4154,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "askRealitio",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4105,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4104,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 4154,
                  "src": "1879:18:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4103,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1879:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1878:20:12"
            },
            "payable": true,
            "returnParameters": {
              "id": 4108,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4107,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 4154,
                  "src": "1923:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4106,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1923:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1922:9:12"
            },
            "scope": 4249,
            "src": "1858:483:12",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4184,
              "nodeType": "Block",
              "src": "2459:162:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 4162,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8523,
                          "src": "2494:3:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 4163,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2494:10:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 4164,
                          "name": "balances",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3962,
                          "src": "2506:8:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                            "typeString": "mapping(address => uint256)"
                          }
                        },
                        "id": 4167,
                        "indexExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 4165,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8523,
                            "src": "2515:3:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 4166,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2515:10:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "2506:20:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4168,
                        "name": "hashid_",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4156,
                        "src": "2528:7:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 4159,
                        "name": "forkonomicToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3968,
                        "src": "2469:15:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                          "typeString": "contract ForkonomicToken"
                        }
                      },
                      "id": 4161,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 5687,
                      "src": "2469:24:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                        "typeString": "function (address,uint256,bytes32) external returns (bool)"
                      }
                    },
                    "id": 4169,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2469:67:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4170,
                  "nodeType": "ExpressionStatement",
                  "src": "2469:67:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4176,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 4171,
                        "name": "balances",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3962,
                        "src": "2546:8:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 4174,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 4172,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8523,
                          "src": "2555:3:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 4173,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2555:10:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2546:20:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 4175,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2569:1:12",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2546:24:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4177,
                  "nodeType": "ExpressionStatement",
                  "src": "2546:24:12"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4179,
                        "name": "hashid_",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4156,
                        "src": "2594:7:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 4180,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8523,
                          "src": "2603:3:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 4181,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2603:10:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 4178,
                      "name": "Withdraw",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3978,
                      "src": "2585:8:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,address)"
                      }
                    },
                    "id": 4182,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2585:29:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4183,
                  "nodeType": "EmitStatement",
                  "src": "2580:34:12"
                }
              ]
            },
            "documentation": null,
            "id": 4185,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "withdrawReward",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4157,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4156,
                  "name": "hashid_",
                  "nodeType": "VariableDeclaration",
                  "scope": 4185,
                  "src": "2435:15:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4155,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2435:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2434:17:12"
            },
            "payable": false,
            "returnParameters": {
              "id": 4158,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2459:0:12"
            },
            "scope": 4249,
            "src": "2411:210:12",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4247,
              "nodeType": "Block",
              "src": "2823:884:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4197,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4191,
                            "src": "2921:10:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4198,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4187,
                            "src": "2933:6:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4195,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3972,
                            "src": "2889:7:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 4196,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isArbitratorWhitelisted",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5152,
                          "src": "2889:31:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 4199,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2889:51:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "61726269747261746f72206e6f742077686974652d6c6973746564",
                        "id": 4200,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2942:29:12",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_9e4a2df3dd496cbd355c52d1b057f5907e9e3a428155e2c5751d0cf90315ce64",
                          "typeString": "literal_string \"arbitrator not white-listed\""
                        },
                        "value": "arbitrator not white-listed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_9e4a2df3dd496cbd355c52d1b057f5907e9e3a428155e2c5751d0cf90315ce64",
                          "typeString": "literal_string \"arbitrator not white-listed\""
                        }
                      ],
                      "id": 4194,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "2881:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4201,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2881:91:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4202,
                  "nodeType": "ExpressionStatement",
                  "src": "2881:91:12"
                },
                {
                  "assignments": [
                    4204
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4204,
                      "name": "fundsReceiver",
                      "nodeType": "VariableDeclaration",
                      "scope": 4248,
                      "src": "3068:21:12",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 4203,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "3068:7:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4215,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4208,
                            "name": "questionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4189,
                            "src": "3137:10:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4209,
                            "name": "contentHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4021,
                            "src": "3149:11:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4210,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4191,
                            "src": "3162:10:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4211,
                            "name": "minTimeout",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4015,
                            "src": "3174:10:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4212,
                            "name": "minBond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4013,
                            "src": "3186:7:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4206,
                            "name": "realityCheck",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3970,
                            "src": "3100:12:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Realitio_$8289",
                              "typeString": "contract Realitio"
                            }
                          },
                          "id": 4207,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getFinalAnswerIfMatches",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7595,
                          "src": "3100:36:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$",
                            "typeString": "function (bytes32,bytes32,address,uint32,uint256) view external returns (bytes32)"
                          }
                        },
                        "id": 4213,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3100:94:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 4205,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "3092:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": "address"
                    },
                    "id": 4214,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3092:103:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3068:127:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 4221,
                                "name": "questionId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4189,
                                "src": "3386:10:12",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 4219,
                                "name": "realityCheck",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3970,
                                "src": "3359:12:12",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_Realitio_$8289",
                                  "typeString": "contract Realitio"
                                }
                              },
                              "id": 4220,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getFinalizeTS",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8223,
                              "src": "3359:26:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint32_$",
                                "typeString": "function (bytes32) view external returns (uint32)"
                              }
                            },
                            "id": 4222,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3359:38:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4223,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4187,
                            "src": "3399:6:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4217,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3972,
                            "src": "3328:7:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 4218,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isBranchCreatedAfterTS",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5215,
                          "src": "3328:30:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (uint256,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 4224,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3328:78:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "206272616e6368206e6f7420696e2072696768742074696d652077696e646f77",
                        "id": 4225,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3408:34:12",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_44e1b539844dc264a336f7dbdde3d6e62b41ff078b119f2ce5565adeeeeae8f5",
                          "typeString": "literal_string \" branch not in right time window\""
                        },
                        "value": " branch not in right time window"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_44e1b539844dc264a336f7dbdde3d6e62b41ff078b119f2ce5565adeeeeae8f5",
                          "typeString": "literal_string \" branch not in right time window\""
                        }
                      ],
                      "id": 4216,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "3320:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4226,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3320:123:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4227,
                  "nodeType": "ExpressionStatement",
                  "src": "3320:123:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4231,
                            "name": "fundsReceiver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4204,
                            "src": "3548:13:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 4234,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8584,
                                "src": "3589:4:12",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_Distribution_$4249",
                                  "typeString": "contract Distribution"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 4235,
                                "name": "branch",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4187,
                                "src": "3595:6:12",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Distribution_$4249",
                                  "typeString": "contract Distribution"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 4232,
                                "name": "forkonomicToken",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3968,
                                "src": "3563:15:12",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                                  "typeString": "contract ForkonomicToken"
                                }
                              },
                              "id": 4233,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "balanceOf",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 5571,
                              "src": "3563:25:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_uint256_$",
                                "typeString": "function (address,bytes32) view external returns (uint256)"
                              }
                            },
                            "id": 4236,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3563:39:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4237,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4187,
                            "src": "3604:6:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4229,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3968,
                            "src": "3523:15:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                              "typeString": "contract ForkonomicToken"
                            }
                          },
                          "id": 4230,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "transfer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5687,
                          "src": "3523:24:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,uint256,bytes32) external returns (bool)"
                          }
                        },
                        "id": 4238,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3523:88:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "207472616e73666572206f662066756e647320776173206e6f74207375636365737366756c",
                        "id": 4239,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3613:39:12",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_75bd794837cf7b8adab5517d9aa6fef8680a96c98c6d01addb811a917701783b",
                          "typeString": "literal_string \" transfer of funds was not successful\""
                        },
                        "value": " transfer of funds was not successful"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_75bd794837cf7b8adab5517d9aa6fef8680a96c98c6d01addb811a917701783b",
                          "typeString": "literal_string \" transfer of funds was not successful\""
                        }
                      ],
                      "id": 4228,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "3515:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4240,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3515:138:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4241,
                  "nodeType": "ExpressionStatement",
                  "src": "3515:138:12"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4243,
                        "name": "branch",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4187,
                        "src": "3678:6:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4244,
                        "name": "fundsReceiver",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4204,
                        "src": "3686:13:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 4242,
                      "name": "Withdraw",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3978,
                      "src": "3669:8:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,address)"
                      }
                    },
                    "id": 4245,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3669:31:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4246,
                  "nodeType": "EmitStatement",
                  "src": "3664:36:12"
                }
              ]
            },
            "documentation": null,
            "id": 4248,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "delayedDistributionLeftOverTokens",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4192,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4187,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4248,
                  "src": "2756:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4186,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2756:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4189,
                  "name": "questionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 4248,
                  "src": "2772:18:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4188,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2772:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4191,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 4248,
                  "src": "2792:18:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4190,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2792:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2755:56:12"
            },
            "payable": false,
            "returnParameters": {
              "id": 4193,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2823:0:12"
            },
            "scope": 4249,
            "src": "2713:994:12",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 4250,
        "src": "130:3579:12"
      }
    ],
    "src": "0:3709:12"
  },
  "legacyAST": {
    "absolutePath": "@josojo/forkonomics-contracts/contracts/Distribution.sol",
    "exportedSymbols": {
      "Distribution": [
        4249
      ]
    },
    "id": 4250,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 3956,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".22"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:12"
      },
      {
        "absolutePath": "@josojo/forkonomics-contracts/contracts/ForkonomicToken.sol",
        "file": "./ForkonomicToken.sol",
        "id": 3957,
        "nodeType": "ImportDirective",
        "scope": 4250,
        "sourceUnit": 6227,
        "src": "26:31:12",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol",
        "file": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol",
        "id": 3958,
        "nodeType": "ImportDirective",
        "scope": 4250,
        "sourceUnit": 8290,
        "src": "58:69:12",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4249,
        "linearizedBaseContracts": [
          4249
        ],
        "name": "Distribution",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 3962,
            "name": "balances",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "159:43:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 3961,
              "keyType": {
                "id": 3959,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "167:7:12",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "159:27:12",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 3960,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "178:7:12",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3964,
            "name": "owner",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "208:20:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 3963,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "208:7:12",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3966,
            "name": "isFinished",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "234:15:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 3965,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "234:4:12",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 3968,
            "name": "forkonomicToken",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "256:38:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
              "typeString": "contract ForkonomicToken"
            },
            "typeName": {
              "contractScope": null,
              "id": 3967,
              "name": "ForkonomicToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6226,
              "src": "256:15:12",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                "typeString": "contract ForkonomicToken"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3970,
            "name": "realityCheck",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "300:28:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_Realitio_$8289",
              "typeString": "contract Realitio"
            },
            "typeName": {
              "contractScope": null,
              "id": 3969,
              "name": "Realitio",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8289,
              "src": "300:8:12",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Realitio_$8289",
                "typeString": "contract Realitio"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3972,
            "name": "fSystem",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "334:31:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
              "typeString": "contract ForkonomicSystem"
            },
            "typeName": {
              "contractScope": null,
              "id": 3971,
              "name": "ForkonomicSystem",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 5270,
              "src": "334:16:12",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                "typeString": "contract ForkonomicSystem"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 3978,
            "name": "Withdraw",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 3977,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3974,
                  "indexed": false,
                  "name": "hashid",
                  "nodeType": "VariableDeclaration",
                  "scope": 3978,
                  "src": "390:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3973,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "390:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3976,
                  "indexed": false,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 3978,
                  "src": "406:12:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3975,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "406:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "389:30:12"
            },
            "src": "375:45:12"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 3982,
            "name": "LogAddress",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 3981,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3980,
                  "indexed": false,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 3982,
                  "src": "442:9:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3979,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "442:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "441:11:12"
            },
            "src": "425:28:12"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 3986,
            "name": "LogBytes",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 3985,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3984,
                  "indexed": false,
                  "name": "b",
                  "nodeType": "VariableDeclaration",
                  "scope": 3986,
                  "src": "473:9:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3983,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "473:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "472:11:12"
            },
            "src": "458:26:12"
          },
          {
            "body": {
              "id": 3997,
              "nodeType": "Block",
              "src": "509:77:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 3992,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3989,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8523,
                            "src": "528:3:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 3990,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "528:10:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 3991,
                          "name": "owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3964,
                          "src": "542:5:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "528:19:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "73656e646572206e6f74206f776e6572",
                        "id": 3993,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "549:18:12",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_cbbc99822750d63615fc0298d6b3a50bb1e5fe69b61e5eef4ef2fe58d56383ed",
                          "typeString": "literal_string \"sender not owner\""
                        },
                        "value": "sender not owner"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_cbbc99822750d63615fc0298d6b3a50bb1e5fe69b61e5eef4ef2fe58d56383ed",
                          "typeString": "literal_string \"sender not owner\""
                        }
                      ],
                      "id": 3988,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "519:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3994,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "519:49:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3995,
                  "nodeType": "ExpressionStatement",
                  "src": "519:49:12"
                },
                {
                  "id": 3996,
                  "nodeType": "PlaceholderStatement",
                  "src": "578:1:12"
                }
              ]
            },
            "documentation": null,
            "id": 3998,
            "name": "isOwner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 3987,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "506:2:12"
            },
            "src": "490:96:12",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 4007,
              "nodeType": "Block",
              "src": "618:77:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4002,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "636:11:12",
                        "subExpression": {
                          "argumentTypes": null,
                          "id": 4001,
                          "name": "isFinished",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3966,
                          "src": "637:10:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "736574757020697320616c72656164792066696e6973686564",
                        "id": 4003,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "649:27:12",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_30a69df4a173ae4d3696de03bc94fd62572d722daba72260f139350c70b70034",
                          "typeString": "literal_string \"setup is already finished\""
                        },
                        "value": "setup is already finished"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_30a69df4a173ae4d3696de03bc94fd62572d722daba72260f139350c70b70034",
                          "typeString": "literal_string \"setup is already finished\""
                        }
                      ],
                      "id": 4000,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "628:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4004,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "628:49:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4005,
                  "nodeType": "ExpressionStatement",
                  "src": "628:49:12"
                },
                {
                  "id": 4006,
                  "nodeType": "PlaceholderStatement",
                  "src": "687:1:12"
                }
              ]
            },
            "documentation": null,
            "id": 4008,
            "name": "notYetFinished",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 3999,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "615:2:12"
            },
            "src": "592:103:12",
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4011,
            "name": "templateId",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "701:27:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4009,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "701:7:12",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 4010,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "727:1:12",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4013,
            "name": "minBond",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "734:22:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4012,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "734:7:12",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4015,
            "name": "minTimeout",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "762:24:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 4014,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "762:6:12",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4017,
            "name": "openingTs",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "792:23:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 4016,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "792:6:12",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4019,
            "name": "realityCheckQuestion",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "821:34:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 4018,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "821:6:12",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4021,
            "name": "contentHash",
            "nodeType": "VariableDeclaration",
            "scope": 4249,
            "src": "861:26:12",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 4020,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "861:7:12",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4029,
              "nodeType": "Block",
              "src": "967:39:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4027,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4024,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3964,
                      "src": "981:5:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 4025,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8523,
                        "src": "989:3:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 4026,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "989:10:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "981:18:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 4028,
                  "nodeType": "ExpressionStatement",
                  "src": "981:18:12"
                }
              ]
            },
            "documentation": null,
            "id": 4030,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4022,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "957:2:12"
            },
            "payable": false,
            "returnParameters": {
              "id": 4023,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "967:0:12"
            },
            "scope": 4249,
            "src": "946:60:12",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4055,
              "nodeType": "Block",
              "src": "1250:117:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4045,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4043,
                      "name": "forkonomicToken",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3968,
                      "src": "1260:15:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                        "typeString": "contract ForkonomicToken"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4044,
                      "name": "_forkonomicToken",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4032,
                      "src": "1278:16:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                        "typeString": "contract ForkonomicToken"
                      }
                    },
                    "src": "1260:34:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                      "typeString": "contract ForkonomicToken"
                    }
                  },
                  "id": 4046,
                  "nodeType": "ExpressionStatement",
                  "src": "1260:34:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4049,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4047,
                      "name": "fSystem",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3972,
                      "src": "1304:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                        "typeString": "contract ForkonomicSystem"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4048,
                      "name": "_fSystem",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4036,
                      "src": "1314:8:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                        "typeString": "contract ForkonomicSystem"
                      }
                    },
                    "src": "1304:18:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                      "typeString": "contract ForkonomicSystem"
                    }
                  },
                  "id": 4050,
                  "nodeType": "ExpressionStatement",
                  "src": "1304:18:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4053,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4051,
                      "name": "realityCheck",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3970,
                      "src": "1332:12:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Realitio_$8289",
                        "typeString": "contract Realitio"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4052,
                      "name": "_realityCheck",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4034,
                      "src": "1347:13:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Realitio_$8289",
                        "typeString": "contract Realitio"
                      }
                    },
                    "src": "1332:28:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Realitio_$8289",
                      "typeString": "contract Realitio"
                    }
                  },
                  "id": 4054,
                  "nodeType": "ExpressionStatement",
                  "src": "1332:28:12"
                }
              ]
            },
            "documentation": null,
            "id": 4056,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 4039,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 4038,
                  "name": "isOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3998,
                  "src": "1215:7:12",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1215:9:12"
              },
              {
                "arguments": [],
                "id": 4041,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 4040,
                  "name": "notYetFinished",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4008,
                  "src": "1229:14:12",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1229:16:12"
              }
            ],
            "name": "setRealityVariables",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4037,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4032,
                  "name": "_forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 4056,
                  "src": "1114:32:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                    "typeString": "contract ForkonomicToken"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 4031,
                    "name": "ForkonomicToken",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 6226,
                    "src": "1114:15:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                      "typeString": "contract ForkonomicToken"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4034,
                  "name": "_realityCheck",
                  "nodeType": "VariableDeclaration",
                  "scope": 4056,
                  "src": "1148:22:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Realitio_$8289",
                    "typeString": "contract Realitio"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 4033,
                    "name": "Realitio",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 8289,
                    "src": "1148:8:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Realitio_$8289",
                      "typeString": "contract Realitio"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4036,
                  "name": "_fSystem",
                  "nodeType": "VariableDeclaration",
                  "scope": 4056,
                  "src": "1172:25:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                    "typeString": "contract ForkonomicSystem"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 4035,
                    "name": "ForkonomicSystem",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 5270,
                    "src": "1172:16:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                      "typeString": "contract ForkonomicSystem"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1113:85:12"
            },
            "payable": false,
            "returnParameters": {
              "id": 4042,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1250:0:12"
            },
            "scope": 4249,
            "src": "1085:282:12",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4091,
              "nodeType": "Block",
              "src": "1612:100:12",
              "statements": [
                {
                  "body": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 4088,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 4080,
                          "name": "balances",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3962,
                          "src": "1671:8:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                            "typeString": "mapping(address => uint256)"
                          }
                        },
                        "id": 4084,
                        "indexExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 4081,
                            "name": "user",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4059,
                            "src": "1680:4:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 4083,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 4082,
                            "name": "i",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4070,
                            "src": "1685:1:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1680:7:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": true,
                        "nodeType": "IndexAccess",
                        "src": "1671:17:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 4085,
                          "name": "fundAmount_",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4062,
                          "src": "1691:11:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 4087,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 4086,
                          "name": "i",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4070,
                          "src": "1703:1:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1691:14:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "1671:34:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4089,
                    "nodeType": "ExpressionStatement",
                    "src": "1671:34:12"
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4076,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 4073,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4070,
                      "src": "1637:1:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 4074,
                        "name": "user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4059,
                        "src": "1641:4:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 4075,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1641:11:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1637:15:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4090,
                  "initializationExpression": {
                    "assignments": [
                      4070
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 4070,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 4092,
                        "src": "1627:6:12",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 4069,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "1627:4:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 4072,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 4071,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1634:1:12",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "1627:8:12"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 4078,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "1654:3:12",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 4077,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4070,
                        "src": "1654:1:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4079,
                    "nodeType": "ExpressionStatement",
                    "src": "1654:3:12"
                  },
                  "nodeType": "ForStatement",
                  "src": "1622:83:12"
                }
              ]
            },
            "documentation": null,
            "id": 4092,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 4065,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 4064,
                  "name": "isOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3998,
                  "src": "1577:7:12",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1577:9:12"
              },
              {
                "arguments": [],
                "id": 4067,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 4066,
                  "name": "notYetFinished",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4008,
                  "src": "1591:14:12",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1591:16:12"
              }
            ],
            "name": "injectReward",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4063,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4059,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 4092,
                  "src": "1526:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4057,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1526:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 4058,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1526:9:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4062,
                  "name": "fundAmount_",
                  "nodeType": "VariableDeclaration",
                  "scope": 4092,
                  "src": "1542:18:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4060,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "1542:4:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4061,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1542:6:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1525:36:12"
            },
            "payable": false,
            "returnParameters": {
              "id": 4068,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1612:0:12"
            },
            "scope": 4249,
            "src": "1504:208:12",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4101,
              "nodeType": "Block",
              "src": "1818:34:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4099,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4097,
                      "name": "isFinished",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3966,
                      "src": "1828:10:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 4098,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1841:4:12",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "1828:17:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4100,
                  "nodeType": "ExpressionStatement",
                  "src": "1828:17:12"
                }
              ]
            },
            "documentation": null,
            "id": 4102,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 4095,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 4094,
                  "name": "isOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3998,
                  "src": "1804:7:12",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1804:9:12"
              }
            ],
            "name": "finalize",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4093,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1786:2:12"
            },
            "payable": false,
            "returnParameters": {
              "id": 4096,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1818:0:12"
            },
            "scope": 4249,
            "src": "1769:83:12",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4153,
              "nodeType": "Block",
              "src": "1932:409:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4115,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4109,
                      "name": "openingTs",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4017,
                      "src": "1942:9:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 4113,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 4111,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8525,
                            "src": "1961:3:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "37",
                            "id": 4112,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1965:6:12",
                            "subdenomination": "days",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_604800_by_1",
                              "typeString": "int_const 604800"
                            },
                            "value": "7"
                          },
                          "src": "1961:10:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 4110,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1954:6:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint32_$",
                          "typeString": "type(uint32)"
                        },
                        "typeName": "uint32"
                      },
                      "id": 4114,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1954:18:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "1942:30:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 4116,
                  "nodeType": "ExpressionStatement",
                  "src": "1942:30:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4119,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4117,
                      "name": "minTimeout",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4015,
                      "src": "1982:10:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "31303030",
                      "id": 4118,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1995:4:12",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1000_by_1",
                        "typeString": "int_const 1000"
                      },
                      "value": "1000"
                    },
                    "src": "1982:17:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 4120,
                  "nodeType": "ExpressionStatement",
                  "src": "1982:17:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4130,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4121,
                      "name": "realityCheckQuestion",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4019,
                      "src": "2009:20:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "576869636820636f6e74726163742073686f756c642062652061626c6520746f2077697468647261772066756e64732066726f6d20",
                              "id": 4125,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2056:55:12",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_34e8323d5fe673751342253014b81642eae09c949c68b478b5e30c25aef937fd",
                                "typeString": "literal_string \"Which contract should be able to withdraw funds from \""
                              },
                              "value": "Which contract should be able to withdraw funds from "
                            },
                            {
                              "argumentTypes": null,
                              "id": 4126,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8584,
                              "src": "2113:4:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_Distribution_$4249",
                                "typeString": "contract Distribution"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "3f",
                              "id": 4127,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2119:3:12",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                                "typeString": "literal_string \"?\""
                              },
                              "value": "?"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_34e8323d5fe673751342253014b81642eae09c949c68b478b5e30c25aef937fd",
                                "typeString": "literal_string \"Which contract should be able to withdraw funds from \""
                              },
                              {
                                "typeIdentifier": "t_contract$_Distribution_$4249",
                                "typeString": "contract Distribution"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                                "typeString": "literal_string \"?\""
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 4123,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8510,
                              "src": "2039:3:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 4124,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2039:16:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 4128,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2039:84:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 4122,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "2032:6:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                          "typeString": "type(string storage pointer)"
                        },
                        "typeName": "string"
                      },
                      "id": 4129,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2032:92:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory",
                        "typeString": "string memory"
                      }
                    },
                    "src": "2009:115:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 4131,
                  "nodeType": "ExpressionStatement",
                  "src": "2009:115:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4141,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4132,
                      "name": "contentHash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4021,
                      "src": "2134:11:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 4136,
                              "name": "templateId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4011,
                              "src": "2175:10:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 4137,
                              "name": "openingTs",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4017,
                              "src": "2187:9:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 4138,
                              "name": "realityCheckQuestion",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4019,
                              "src": "2198:20:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              },
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 4134,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8510,
                              "src": "2158:3:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 4135,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2158:16:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 4139,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2158:61:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 4133,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8517,
                        "src": "2148:9:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 4140,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2148:72:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "2134:86:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 4142,
                  "nodeType": "ExpressionStatement",
                  "src": "2134:86:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4145,
                        "name": "templateId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4011,
                        "src": "2263:10:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4146,
                        "name": "realityCheckQuestion",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4019,
                        "src": "2275:20:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4147,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4104,
                        "src": "2297:10:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4148,
                        "name": "minTimeout",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4015,
                        "src": "2309:10:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4149,
                        "name": "openingTs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4017,
                        "src": "2321:9:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 4150,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2332:1:12",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 4143,
                        "name": "realityCheck",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3970,
                        "src": "2238:12:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Realitio_$8289",
                          "typeString": "contract Realitio"
                        }
                      },
                      "id": 4144,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "askQuestion",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6912,
                      "src": "2238:24:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$",
                        "typeString": "function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32)"
                      }
                    },
                    "id": 4151,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2238:96:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 4108,
                  "id": 4152,
                  "nodeType": "Return",
                  "src": "2231:103:12"
                }
              ]
            },
            "documentation": null,
            "id": 4154,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "askRealitio",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4105,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4104,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 4154,
                  "src": "1879:18:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4103,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1879:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1878:20:12"
            },
            "payable": true,
            "returnParameters": {
              "id": 4108,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4107,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 4154,
                  "src": "1923:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4106,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1923:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1922:9:12"
            },
            "scope": 4249,
            "src": "1858:483:12",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4184,
              "nodeType": "Block",
              "src": "2459:162:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 4162,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8523,
                          "src": "2494:3:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 4163,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2494:10:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 4164,
                          "name": "balances",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3962,
                          "src": "2506:8:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                            "typeString": "mapping(address => uint256)"
                          }
                        },
                        "id": 4167,
                        "indexExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 4165,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8523,
                            "src": "2515:3:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 4166,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2515:10:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "2506:20:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4168,
                        "name": "hashid_",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4156,
                        "src": "2528:7:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 4159,
                        "name": "forkonomicToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3968,
                        "src": "2469:15:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                          "typeString": "contract ForkonomicToken"
                        }
                      },
                      "id": 4161,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 5687,
                      "src": "2469:24:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                        "typeString": "function (address,uint256,bytes32) external returns (bool)"
                      }
                    },
                    "id": 4169,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2469:67:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4170,
                  "nodeType": "ExpressionStatement",
                  "src": "2469:67:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4176,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 4171,
                        "name": "balances",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3962,
                        "src": "2546:8:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 4174,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 4172,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8523,
                          "src": "2555:3:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 4173,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2555:10:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2546:20:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 4175,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2569:1:12",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2546:24:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4177,
                  "nodeType": "ExpressionStatement",
                  "src": "2546:24:12"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4179,
                        "name": "hashid_",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4156,
                        "src": "2594:7:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 4180,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8523,
                          "src": "2603:3:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 4181,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2603:10:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 4178,
                      "name": "Withdraw",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3978,
                      "src": "2585:8:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,address)"
                      }
                    },
                    "id": 4182,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2585:29:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4183,
                  "nodeType": "EmitStatement",
                  "src": "2580:34:12"
                }
              ]
            },
            "documentation": null,
            "id": 4185,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "withdrawReward",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4157,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4156,
                  "name": "hashid_",
                  "nodeType": "VariableDeclaration",
                  "scope": 4185,
                  "src": "2435:15:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4155,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2435:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2434:17:12"
            },
            "payable": false,
            "returnParameters": {
              "id": 4158,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2459:0:12"
            },
            "scope": 4249,
            "src": "2411:210:12",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4247,
              "nodeType": "Block",
              "src": "2823:884:12",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4197,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4191,
                            "src": "2921:10:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4198,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4187,
                            "src": "2933:6:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4195,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3972,
                            "src": "2889:7:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 4196,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isArbitratorWhitelisted",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5152,
                          "src": "2889:31:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 4199,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2889:51:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "61726269747261746f72206e6f742077686974652d6c6973746564",
                        "id": 4200,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2942:29:12",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_9e4a2df3dd496cbd355c52d1b057f5907e9e3a428155e2c5751d0cf90315ce64",
                          "typeString": "literal_string \"arbitrator not white-listed\""
                        },
                        "value": "arbitrator not white-listed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_9e4a2df3dd496cbd355c52d1b057f5907e9e3a428155e2c5751d0cf90315ce64",
                          "typeString": "literal_string \"arbitrator not white-listed\""
                        }
                      ],
                      "id": 4194,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "2881:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4201,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2881:91:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4202,
                  "nodeType": "ExpressionStatement",
                  "src": "2881:91:12"
                },
                {
                  "assignments": [
                    4204
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4204,
                      "name": "fundsReceiver",
                      "nodeType": "VariableDeclaration",
                      "scope": 4248,
                      "src": "3068:21:12",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 4203,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "3068:7:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4215,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4208,
                            "name": "questionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4189,
                            "src": "3137:10:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4209,
                            "name": "contentHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4021,
                            "src": "3149:11:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4210,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4191,
                            "src": "3162:10:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4211,
                            "name": "minTimeout",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4015,
                            "src": "3174:10:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4212,
                            "name": "minBond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4013,
                            "src": "3186:7:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4206,
                            "name": "realityCheck",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3970,
                            "src": "3100:12:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Realitio_$8289",
                              "typeString": "contract Realitio"
                            }
                          },
                          "id": 4207,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getFinalAnswerIfMatches",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7595,
                          "src": "3100:36:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$",
                            "typeString": "function (bytes32,bytes32,address,uint32,uint256) view external returns (bytes32)"
                          }
                        },
                        "id": 4213,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3100:94:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 4205,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "3092:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": "address"
                    },
                    "id": 4214,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3092:103:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3068:127:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 4221,
                                "name": "questionId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4189,
                                "src": "3386:10:12",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 4219,
                                "name": "realityCheck",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3970,
                                "src": "3359:12:12",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_Realitio_$8289",
                                  "typeString": "contract Realitio"
                                }
                              },
                              "id": 4220,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getFinalizeTS",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8223,
                              "src": "3359:26:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint32_$",
                                "typeString": "function (bytes32) view external returns (uint32)"
                              }
                            },
                            "id": 4222,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3359:38:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4223,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4187,
                            "src": "3399:6:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4217,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3972,
                            "src": "3328:7:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 4218,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isBranchCreatedAfterTS",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5215,
                          "src": "3328:30:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (uint256,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 4224,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3328:78:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "206272616e6368206e6f7420696e2072696768742074696d652077696e646f77",
                        "id": 4225,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3408:34:12",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_44e1b539844dc264a336f7dbdde3d6e62b41ff078b119f2ce5565adeeeeae8f5",
                          "typeString": "literal_string \" branch not in right time window\""
                        },
                        "value": " branch not in right time window"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_44e1b539844dc264a336f7dbdde3d6e62b41ff078b119f2ce5565adeeeeae8f5",
                          "typeString": "literal_string \" branch not in right time window\""
                        }
                      ],
                      "id": 4216,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "3320:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4226,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3320:123:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4227,
                  "nodeType": "ExpressionStatement",
                  "src": "3320:123:12"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4231,
                            "name": "fundsReceiver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4204,
                            "src": "3548:13:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 4234,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8584,
                                "src": "3589:4:12",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_Distribution_$4249",
                                  "typeString": "contract Distribution"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 4235,
                                "name": "branch",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4187,
                                "src": "3595:6:12",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Distribution_$4249",
                                  "typeString": "contract Distribution"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 4232,
                                "name": "forkonomicToken",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3968,
                                "src": "3563:15:12",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                                  "typeString": "contract ForkonomicToken"
                                }
                              },
                              "id": 4233,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "balanceOf",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 5571,
                              "src": "3563:25:12",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_uint256_$",
                                "typeString": "function (address,bytes32) view external returns (uint256)"
                              }
                            },
                            "id": 4236,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3563:39:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4237,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4187,
                            "src": "3604:6:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4229,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3968,
                            "src": "3523:15:12",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                              "typeString": "contract ForkonomicToken"
                            }
                          },
                          "id": 4230,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "transfer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5687,
                          "src": "3523:24:12",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,uint256,bytes32) external returns (bool)"
                          }
                        },
                        "id": 4238,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3523:88:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "207472616e73666572206f662066756e647320776173206e6f74207375636365737366756c",
                        "id": 4239,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3613:39:12",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_75bd794837cf7b8adab5517d9aa6fef8680a96c98c6d01addb811a917701783b",
                          "typeString": "literal_string \" transfer of funds was not successful\""
                        },
                        "value": " transfer of funds was not successful"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_75bd794837cf7b8adab5517d9aa6fef8680a96c98c6d01addb811a917701783b",
                          "typeString": "literal_string \" transfer of funds was not successful\""
                        }
                      ],
                      "id": 4228,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "3515:7:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4240,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3515:138:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4241,
                  "nodeType": "ExpressionStatement",
                  "src": "3515:138:12"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4243,
                        "name": "branch",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4187,
                        "src": "3678:6:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4244,
                        "name": "fundsReceiver",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4204,
                        "src": "3686:13:12",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 4242,
                      "name": "Withdraw",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3978,
                      "src": "3669:8:12",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,address)"
                      }
                    },
                    "id": 4245,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3669:31:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4246,
                  "nodeType": "EmitStatement",
                  "src": "3664:36:12"
                }
              ]
            },
            "documentation": null,
            "id": 4248,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "delayedDistributionLeftOverTokens",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4192,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4187,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4248,
                  "src": "2756:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4186,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2756:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4189,
                  "name": "questionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 4248,
                  "src": "2772:18:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4188,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2772:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4191,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 4248,
                  "src": "2792:18:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4190,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2792:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2755:56:12"
            },
            "payable": false,
            "returnParameters": {
              "id": 4193,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2823:0:12"
            },
            "scope": 4249,
            "src": "2713:994:12",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 4250,
        "src": "130:3579:12"
      }
    ],
    "src": "0:3709:12"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
  },
  "networks": {
    "1541950306998": {
      "events": {},
      "links": {},
      "address": "0xdFCBFCfCF665A2F00E38412DdDE5c8981f2c1667",
      "transactionHash": "0xf80b171efc715a5c46c081111c10a71d92a398eef5a28267a6db59441e698a9d"
    }
  },
  "schemaVersion": "3.0.0-beta.1",
  "updatedAt": "2018-11-11T16:31:32.521Z"
}