{
 "contractName": "Arbitrator",
 "abi": [
  {
   "constant": true,
   "inputs": [],
   "name": "metadata",
   "outputs": [
    {
     "name": "",
     "type": "string"
    }
   ],
   "payable": false,
   "stateMutability": "view",
   "type": "function"
  },
  {
   "constant": true,
   "inputs": [],
   "name": "foreignProxy",
   "outputs": [
    {
     "name": "",
     "type": "address"
    }
   ],
   "payable": false,
   "stateMutability": "view",
   "type": "function"
  },
  {
   "constant": true,
   "inputs": [],
   "name": "foreignChainId",
   "outputs": [
    {
     "name": "",
     "type": "uint256"
    }
   ],
   "payable": false,
   "stateMutability": "view",
   "type": "function"
  },
  {
   "constant": true,
   "inputs": [],
   "name": "owner",
   "outputs": [
    {
     "name": "",
     "type": "address"
    }
   ],
   "payable": false,
   "stateMutability": "view",
   "type": "function"
  },
  {
   "constant": true,
   "inputs": [
    {
     "name": "",
     "type": "bytes32"
    }
   ],
   "name": "arbitration_bounties",
   "outputs": [
    {
     "name": "",
     "type": "uint256"
    }
   ],
   "payable": false,
   "stateMutability": "view",
   "type": "function"
  },
  {
   "constant": true,
   "inputs": [],
   "name": "realitio",
   "outputs": [
    {
     "name": "",
     "type": "address"
    }
   ],
   "payable": false,
   "stateMutability": "view",
   "type": "function"
  },
  {
   "constant": false,
   "inputs": [
    {
     "name": "newOwner",
     "type": "address"
    }
   ],
   "name": "transferOwnership",
   "outputs": [],
   "payable": false,
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [],
   "payable": false,
   "stateMutability": "nonpayable",
   "type": "constructor"
  },
  {
   "payable": true,
   "stateMutability": "payable",
   "type": "fallback"
  },
  {
   "anonymous": false,
   "inputs": [
    {
     "indexed": true,
     "name": "question_id",
     "type": "bytes32"
    },
    {
     "indexed": false,
     "name": "fee_paid",
     "type": "uint256"
    },
    {
     "indexed": false,
     "name": "requester",
     "type": "address"
    },
    {
     "indexed": false,
     "name": "remaining",
     "type": "uint256"
    }
   ],
   "name": "LogRequestArbitration",
   "type": "event"
  },
  {
   "anonymous": false,
   "inputs": [
    {
     "indexed": false,
     "name": "realitio",
     "type": "address"
    }
   ],
   "name": "LogSetRealitio",
   "type": "event"
  },
  {
   "anonymous": false,
   "inputs": [
    {
     "indexed": false,
     "name": "fee",
     "type": "uint256"
    }
   ],
   "name": "LogSetQuestionFee",
   "type": "event"
  },
  {
   "anonymous": false,
   "inputs": [
    {
     "indexed": false,
     "name": "fee",
     "type": "uint256"
    }
   ],
   "name": "LogSetDisputeFee",
   "type": "event"
  },
  {
   "anonymous": false,
   "inputs": [
    {
     "indexed": true,
     "name": "question_id",
     "type": "bytes32"
    },
    {
     "indexed": false,
     "name": "fee",
     "type": "uint256"
    }
   ],
   "name": "LogSetCustomDisputeFee",
   "type": "event"
  },
  {
   "constant": true,
   "inputs": [],
   "name": "realitycheck",
   "outputs": [
    {
     "name": "",
     "type": "address"
    }
   ],
   "payable": false,
   "stateMutability": "view",
   "type": "function"
  },
  {
   "constant": false,
   "inputs": [
    {
     "name": "addr",
     "type": "address"
    }
   ],
   "name": "setRealitio",
   "outputs": [],
   "payable": false,
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "constant": false,
   "inputs": [
    {
     "name": "fee",
     "type": "uint256"
    }
   ],
   "name": "setDisputeFee",
   "outputs": [],
   "payable": false,
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "constant": false,
   "inputs": [
    {
     "name": "question_id",
     "type": "bytes32"
    },
    {
     "name": "fee",
     "type": "uint256"
    }
   ],
   "name": "setCustomDisputeFee",
   "outputs": [],
   "payable": false,
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "constant": true,
   "inputs": [
    {
     "name": "question_id",
     "type": "bytes32"
    }
   ],
   "name": "getDisputeFee",
   "outputs": [
    {
     "name": "",
     "type": "uint256"
    }
   ],
   "payable": false,
   "stateMutability": "view",
   "type": "function"
  },
  {
   "constant": false,
   "inputs": [
    {
     "name": "fee",
     "type": "uint256"
    }
   ],
   "name": "setQuestionFee",
   "outputs": [],
   "payable": false,
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "constant": false,
   "inputs": [
    {
     "name": "question_id",
     "type": "bytes32"
    },
    {
     "name": "answer",
     "type": "bytes32"
    },
    {
     "name": "answerer",
     "type": "address"
    }
   ],
   "name": "submitAnswerByArbitrator",
   "outputs": [],
   "payable": false,
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "constant": false,
   "inputs": [
    {
     "name": "question_id",
     "type": "bytes32"
    },
    {
     "name": "max_previous",
     "type": "uint256"
    }
   ],
   "name": "requestArbitration",
   "outputs": [
    {
     "name": "",
     "type": "bool"
    }
   ],
   "payable": true,
   "stateMutability": "payable",
   "type": "function"
  },
  {
   "constant": false,
   "inputs": [
    {
     "name": "addr",
     "type": "address"
    }
   ],
   "name": "withdraw",
   "outputs": [],
   "payable": false,
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "constant": false,
   "inputs": [
    {
     "name": "_token",
     "type": "address"
    },
    {
     "name": "addr",
     "type": "address"
    }
   ],
   "name": "withdrawERC20",
   "outputs": [],
   "payable": false,
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "constant": false,
   "inputs": [],
   "name": "callWithdraw",
   "outputs": [],
   "payable": false,
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "constant": false,
   "inputs": [
    {
     "name": "_metadata",
     "type": "string"
    }
   ],
   "name": "setMetaData",
   "outputs": [],
   "payable": false,
   "stateMutability": "nonpayable",
   "type": "function"
  }
 ],
 "bytecode": "0x608060405234801561001057600080fd5b5060008054600160a060020a031990811633908117909116179055610dc78061003a6000396000f3006080604052600436106100f05763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c2a48e281146100f257806317299c0414610123578063392f37e91461013b5780634381a07b146101c55780634df6ca2a146101e057806351cff8d9146101f857806379ca21a2146102195780638da5cb5b1461023a5780639456fbcc1461024f578063a20dd43b14610276578063a22352e2146102a0578063a829c3d1146102b8578063bc8802a2146102da578063d821f81a146102ef578063dad901be14610348578063f2fde38b1461035d578063fe92049d1461037e575b005b3480156100fe57600080fd5b506101076103a5565b60408051600160a060020a039092168252519081900360200190f35b34801561012f57600080fd5b506100f06004356103b5565b34801561014757600080fd5b50610150610407565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018a578181015183820152602001610172565b50505050905090810190601f1680156101b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d157600080fd5b506100f0600435602435610495565b3480156101ec57600080fd5b506100f06004356104f7565b34801561020457600080fd5b506100f0600160a060020a03600435166105c3565b34801561022557600080fd5b506100f0600160a060020a0360043516610614565b34801561024657600080fd5b5061010761068c565b34801561025b57600080fd5b506100f0600160a060020a036004358116906024351661069b565b34801561028257600080fd5b5061028e6004356107e0565b60408051918252519081900360200190f35b3480156102ac57600080fd5b5061028e6004356107f2565b6102c6600435602435610825565b604080519115158252519081900360200190f35b3480156102e657600080fd5b50610107610b33565b3480156102fb57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100f0943694929360249392840191908190840183828082843750949750610b429650505050505050565b34801561035457600080fd5b506100f0610b6c565b34801561036957600080fd5b506100f0600160a060020a0360043516610c09565b34801561038a57600080fd5b506100f0600435602435600160a060020a0360443516610c4f565b600154600160a060020a03165b90565b600054600160a060020a031633146103cc57600080fd5b60038190556040805182815290517fbc1292d8ca346c1397b1176ce2935afd34c4365fece415b14e3a9242eae388f59181900360200190a150565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561048d5780601f106104625761010080835404028352916020019161048d565b820191906000526020600020905b81548152906001019060200180831161047057829003601f168201915b505050505081565b600054600160a060020a031633146104ac57600080fd5b6000828152600460209081526040918290208390558151838152915184927fe4887440991624b147d2129ab0befa8c1df4cff87b22513c8eea7cb16ed2aaf292908290030190a25050565b600054600160a060020a0316331461050e57600080fd5b600154604080517f4df6ca2a000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a0390921691634df6ca2a9160248082019260009290919082900301818387803b15801561057457600080fd5b505af1158015610588573d6000803e3d6000fd5b50506040805184815290517f173ec7037500587e8ac3402cac8426c5c2bac605eabd93f790422e621633d7119350908190036020019150a150565b600054600160a060020a031633146105da57600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f19350505050158015610610573d6000803e3d6000fd5b5050565b600054600160a060020a0316331461062b57600080fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f568b4ce4fc4d09c939362effe33053025b93088cab521fc476f469966c7efdd59181900360200190a150565b600054600160a060020a031681565b60008054600160a060020a031633146106b357600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038516916370a082319160248083019260209291908290030181600087803b15801561071457600080fd5b505af1158015610728573d6000803e3d6000fd5b505050506040513d602081101561073e57600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301526024820184905291519293509085169163a9059cbb916044808201926020929091908290030181600087803b1580156107af57600080fd5b505af11580156107c3573d6000803e3d6000fd5b505050506040513d60208110156107d957600080fd5b5050505050565b60026020526000908152604090205481565b600081815260046020526040812054811061080f5760035461081f565b6000828152600460205260409020545b92915050565b6000806000610833856107f2565b9150600082116108ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f5468652061726269747261746f72206d7573742068617665207365742061206e60448201527f6f6e2d7a65726f2066656520666f7220746865207175657374696f6e00000000606482015290519081900360840190fd5b50600084815260026020526040902080543401908190558181106109be57600154604080517ff6a94ecb00000000000000000000000000000000000000000000000000000000815260048101889052336024820152604481018790529051600160a060020a039092169163f6a94ecb9160648082019260009290919082900301818387803b15801561095b57600080fd5b505af115801561096f573d6000803e3d6000fd5b50506040805134815233602082015260008183015290518893507fdf8a830581aa05b0b824a0c184007c33a1ad9100a41751c9ded9f2b4fefb16ba92509081900360600190a260019250610b2b565b600154604080517f7f8d429e000000000000000000000000000000000000000000000000000000008152600481018890529051600160a060020a0390921691637f8d429e916024808201926020929091908290030181600087803b158015610a2557600080fd5b505af1158015610a39573d6000803e3d6000fd5b505050506040513d6020811015610a4f57600080fd5b505115610ae357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f546865207175657374696f6e206d757374206e6f742068617665206265656e2060448201527f66696e616c697a65640000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6040805134815233602082015282840381830152905186917fdf8a830581aa05b0b824a0c184007c33a1ad9100a41751c9ded9f2b4fefb16ba919081900360600190a2600092505b505092915050565b600154600160a060020a031681565b600054600160a060020a03163314610b5957600080fd5b8051610610906005906020840190610d03565b600054600160a060020a03163314610b8357600080fd5b600160009054906101000a9004600160a060020a0316600160a060020a0316633ccfd60b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b158015610bef57600080fd5b505af1158015610c03573d6000803e3d6000fd5b50505050565b600054600160a060020a03163314610c2057600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a03163314610c6657600080fd5b60008381526002602052604080822082905560015481517ffe92049d0000000000000000000000000000000000000000000000000000000081526004810187905260248101869052600160a060020a0385811660448301529251929091169263fe92049d9260648084019382900301818387803b158015610ce657600080fd5b505af1158015610cfa573d6000803e3d6000fd5b50505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610d4457805160ff1916838001178555610d71565b82800160010185558215610d71579182015b82811115610d71578251825591602001919060010190610d56565b50610d7d929150610d81565b5090565b6103b291905b80821115610d7d5760008155600101610d875600a165627a7a72305820aa9b2193576f38afb7b777c89ca7ec17eb5e7e4e2feffc2175d2b07ddf0d519b0029",
 "deployedBytecode": "0x6080604052600436106100f05763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c2a48e281146100f257806317299c0414610123578063392f37e91461013b5780634381a07b146101c55780634df6ca2a146101e057806351cff8d9146101f857806379ca21a2146102195780638da5cb5b1461023a5780639456fbcc1461024f578063a20dd43b14610276578063a22352e2146102a0578063a829c3d1146102b8578063bc8802a2146102da578063d821f81a146102ef578063dad901be14610348578063f2fde38b1461035d578063fe92049d1461037e575b005b3480156100fe57600080fd5b506101076103a5565b60408051600160a060020a039092168252519081900360200190f35b34801561012f57600080fd5b506100f06004356103b5565b34801561014757600080fd5b50610150610407565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018a578181015183820152602001610172565b50505050905090810190601f1680156101b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d157600080fd5b506100f0600435602435610495565b3480156101ec57600080fd5b506100f06004356104f7565b34801561020457600080fd5b506100f0600160a060020a03600435166105c3565b34801561022557600080fd5b506100f0600160a060020a0360043516610614565b34801561024657600080fd5b5061010761068c565b34801561025b57600080fd5b506100f0600160a060020a036004358116906024351661069b565b34801561028257600080fd5b5061028e6004356107e0565b60408051918252519081900360200190f35b3480156102ac57600080fd5b5061028e6004356107f2565b6102c6600435602435610825565b604080519115158252519081900360200190f35b3480156102e657600080fd5b50610107610b33565b3480156102fb57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100f0943694929360249392840191908190840183828082843750949750610b429650505050505050565b34801561035457600080fd5b506100f0610b6c565b34801561036957600080fd5b506100f0600160a060020a0360043516610c09565b34801561038a57600080fd5b506100f0600435602435600160a060020a0360443516610c4f565b600154600160a060020a03165b90565b600054600160a060020a031633146103cc57600080fd5b60038190556040805182815290517fbc1292d8ca346c1397b1176ce2935afd34c4365fece415b14e3a9242eae388f59181900360200190a150565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561048d5780601f106104625761010080835404028352916020019161048d565b820191906000526020600020905b81548152906001019060200180831161047057829003601f168201915b505050505081565b600054600160a060020a031633146104ac57600080fd5b6000828152600460209081526040918290208390558151838152915184927fe4887440991624b147d2129ab0befa8c1df4cff87b22513c8eea7cb16ed2aaf292908290030190a25050565b600054600160a060020a0316331461050e57600080fd5b600154604080517f4df6ca2a000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a0390921691634df6ca2a9160248082019260009290919082900301818387803b15801561057457600080fd5b505af1158015610588573d6000803e3d6000fd5b50506040805184815290517f173ec7037500587e8ac3402cac8426c5c2bac605eabd93f790422e621633d7119350908190036020019150a150565b600054600160a060020a031633146105da57600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f19350505050158015610610573d6000803e3d6000fd5b5050565b600054600160a060020a0316331461062b57600080fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f568b4ce4fc4d09c939362effe33053025b93088cab521fc476f469966c7efdd59181900360200190a150565b600054600160a060020a031681565b60008054600160a060020a031633146106b357600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038516916370a082319160248083019260209291908290030181600087803b15801561071457600080fd5b505af1158015610728573d6000803e3d6000fd5b505050506040513d602081101561073e57600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301526024820184905291519293509085169163a9059cbb916044808201926020929091908290030181600087803b1580156107af57600080fd5b505af11580156107c3573d6000803e3d6000fd5b505050506040513d60208110156107d957600080fd5b5050505050565b60026020526000908152604090205481565b600081815260046020526040812054811061080f5760035461081f565b6000828152600460205260409020545b92915050565b6000806000610833856107f2565b9150600082116108ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f5468652061726269747261746f72206d7573742068617665207365742061206e60448201527f6f6e2d7a65726f2066656520666f7220746865207175657374696f6e00000000606482015290519081900360840190fd5b50600084815260026020526040902080543401908190558181106109be57600154604080517ff6a94ecb00000000000000000000000000000000000000000000000000000000815260048101889052336024820152604481018790529051600160a060020a039092169163f6a94ecb9160648082019260009290919082900301818387803b15801561095b57600080fd5b505af115801561096f573d6000803e3d6000fd5b50506040805134815233602082015260008183015290518893507fdf8a830581aa05b0b824a0c184007c33a1ad9100a41751c9ded9f2b4fefb16ba92509081900360600190a260019250610b2b565b600154604080517f7f8d429e000000000000000000000000000000000000000000000000000000008152600481018890529051600160a060020a0390921691637f8d429e916024808201926020929091908290030181600087803b158015610a2557600080fd5b505af1158015610a39573d6000803e3d6000fd5b505050506040513d6020811015610a4f57600080fd5b505115610ae357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f546865207175657374696f6e206d757374206e6f742068617665206265656e2060448201527f66696e616c697a65640000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6040805134815233602082015282840381830152905186917fdf8a830581aa05b0b824a0c184007c33a1ad9100a41751c9ded9f2b4fefb16ba919081900360600190a2600092505b505092915050565b600154600160a060020a031681565b600054600160a060020a03163314610b5957600080fd5b8051610610906005906020840190610d03565b600054600160a060020a03163314610b8357600080fd5b600160009054906101000a9004600160a060020a0316600160a060020a0316633ccfd60b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b158015610bef57600080fd5b505af1158015610c03573d6000803e3d6000fd5b50505050565b600054600160a060020a03163314610c2057600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a03163314610c6657600080fd5b60008381526002602052604080822082905560015481517ffe92049d0000000000000000000000000000000000000000000000000000000081526004810187905260248101869052600160a060020a0385811660448301529251929091169263fe92049d9260648084019382900301818387803b158015610ce657600080fd5b505af1158015610cfa573d6000803e3d6000fd5b50505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610d4457805160ff1916838001178555610d71565b82800160010185558215610d71579182015b82811115610d71578251825591602001919060010190610d56565b50610d7d929150610d81565b5090565b6103b291905b80821115610d7d5760008155600101610d875600a165627a7a72305820aa9b2193576f38afb7b777c89ca7ec17eb5e7e4e2feffc2175d2b07ddf0d519b0029",
 "sourceMap": "97:6254:0:-;;;829:61;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;111:5:3;:18;;-1:-1:-1;;;;;;111:18:3;;;119:10;111:18;;;865::0;;;;;;97:6254;;;;;;",
 "deployedSourceMap": "97:6254:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;987:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;987:93:0;;;;;;;;-1:-1:-1;;;;;987:93:0;;;;;;;;;;;;;;1430:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1430:137:0;;;;;305:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;305:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;305:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1721:204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1721:204:0;;;;;;;2848:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2848:150:0;;;;;5061:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5061:117:0;-1:-1:-1;;;;;5061:117:0;;;;;1203:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1203:143:0;-1:-1:-1;;;;;1203:143:0;;;;;48:20:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48:20:3;;;;5505:190:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5505:190:0;-1:-1:-1;;;;;5505:190:0;;;;;;;;;;164:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;164:55:0;;;;;;;;;;;;;;;;;;;;;2183:190;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2183:190:0;;;;;4029:883;;;;;;;;;;;;;;;;;;;;;;;;;;133:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;133:24:0;;;;6242:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6242:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6242:106:0;;-1:-1:-1;6242:106:0;;-1:-1:-1;;;;;;;6242:106:0;6038:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6038:92:0;;;;223:109:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;223:109:3;-1:-1:-1;;;;;223:109:3;;;;;3274:251:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3274:251:0;;;;;-1:-1:-1;;;;;3274:251:0;;;;;987:93;1065:8;;-1:-1:-1;;;;;1065:8:0;987:93;;:::o;1430:137::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;1507:11:0;:17;;;1539:21;;;;;;;;;;;;;;;;;1430:137;:::o;305:22::-;;;;;;;;;;;;;;;-1:-1:-1;;305:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1721:204::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;1825:32:0;;;;:19;:32;;;;;;;;;:38;;;1878:40;;;;;;;1845:11;;1878:40;;;;;;;;;1721:204;;:::o;2848:150::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;2926:8:0;;:28;;;;;;;;;;;;;;-1:-1:-1;;;;;2926:8:0;;;;:23;;:28;;;;;:8;;:28;;;;;;;;:8;;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;2926:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2969:22:0;;;;;;;;;;-1:-1:-1;2969:22:0;;;;;;;-1:-1:-1;2969:22:0;2848:150;:::o;5061:117::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;5134:36:0;;-1:-1:-1;;;;;5134:13:0;;;5156:4;5148:21;5134:36;;;;;;;;;5148:21;5134:13;:36;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5134:36:0;5061:117;:::o;1203:143::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;1279:8:0;:25;;-1:-1:-1;;;;;1279:25:0;;-1:-1:-1;;1279:25:0;;;;;;;;1319:20;;;;;;;;;;;;;;;;1203:143;:::o;48:20:3:-;;;-1:-1:-1;;;;;48:20:3;;:::o;5505:190:0:-;5598:11;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;5612:31:0;;;;;;5637:4;5612:31;;;;;;-1:-1:-1;;;;;5612:16:0;;;;;:31;;;;;;;;;;;;;;-1:-1:-1;5612:16:0;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;5612:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5612:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5612:31:0;5653:34;;;;;;-1:-1:-1;;;;;5653:34:0;;;;;;;;;;;;;;;5612:31;;-1:-1:-1;5653:23:0;;;;;;:34;;;;;5612:31;;5653:34;;;;;;;;-1:-1:-1;5653:23:0;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;5653:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5653:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;5505:190:0:o;164:55::-;;;;;;;;;;;;;:::o;2183:190::-;2253:7;2280:32;;;:19;:32;;;;;;:36;-1:-1:-1;2279:87:0;;2355:11;;2279:87;;;2320:32;;;;:19;:32;;;;;;2279:87;2272:94;2183:190;-1:-1:-1;;2183:190:0:o;4029:883::-;4131:4;4148:23;4369:12;4174:26;4188:11;4174:13;:26::i;:::-;4148:52;-1:-1:-1;4236:1:0;4218:19;;4210:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4313:33:0;;;;:20;:33;;;;;:46;;4350:9;4313:46;;;;;4432:23;;;4428:477;;4471:8;;:74;;;;;;;;;;;;4520:10;4471:74;;;;;;;;;;;;-1:-1:-1;;;;;4471:8:0;;;;:35;;:74;;;;;:8;;:74;;;;;;;;:8;;:74;;;5:2:-1;;;;30:1;27;20:12;5:2;4471:74:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;4564:60:0;;;4599:9;4564:60;;4610:10;4564:60;;;;;;;;;;;4586:11;;-1:-1:-1;4564:60:0;;-1:-1:-1;4564:60:0;;;;;;;;4645:4;4638:11;;;;4428:477;4689:8;;:33;;;;;;;;;;;;;;-1:-1:-1;;;;;4689:8:0;;;;:20;;:33;;;;;;;;;;;;;;;:8;;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;4689:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4689:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4689:33:0;4688:34;4680:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4787:81;;;4822:9;4787:81;;4833:10;4787:81;;;;4845:22;;;4787:81;;;;;;4809:11;;4787:81;;;;;;;;;;4889:5;4882:12;;4428:477;4029:883;;;;;;:::o;133:24::-;;;-1:-1:-1;;;;;133:24:0;;:::o;6242:106::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;6321:20:0;;;;:8;;:20;;;;;:::i;6038:92::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;6103:8:0;;;;;;;;;-1:-1:-1;;;;;6103:8:0;-1:-1:-1;;;;;6103:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6103:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6103:19:0;;;;6038:92::o;223:109:3:-;193:5;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;309:5;:16;;-1:-1:-1;;309:16:3;-1:-1:-1;;;;;309:16:3;;;;;;;;;;223:109::o;3274:251:0:-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;3411:33:0;;;;:20;:33;;;;;;3404:40;;;3454:8;;:64;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3454:64:0;;;;;;;;;:8;;;;;:33;;:64;;;;;;;;;;3411:33;3454:8;:64;;;5:2:-1;;;;30:1;27;20:12;5:2;3454:64:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3454:64:0;;;;3274:251;;;:::o;97:6254::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;97:6254:0;;;-1:-1:-1;97:6254:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;",
 "source": "pragma solidity ^0.4.24;\n\nimport './Owned.sol';\nimport './Realitio.sol';\nimport './IERC20.sol';\n\ncontract Arbitrator is Owned {\n\n    Realitio public realitio;\n\n    mapping(bytes32 => uint256) public arbitration_bounties;\n\n    uint256 dispute_fee;\n    mapping(bytes32 => uint256) custom_dispute_fees;\n\n    string public metadata;\n\n    event LogRequestArbitration(\n        bytes32 indexed question_id,\n        uint256 fee_paid,\n        address requester,\n        uint256 remaining\n    );\n\n    event LogSetRealitio(\n        address realitio\n    );\n\n    event LogSetQuestionFee(\n        uint256 fee\n    );\n\n\n    event LogSetDisputeFee(\n        uint256 fee\n    );\n\n    event LogSetCustomDisputeFee(\n        bytes32 indexed question_id,\n        uint256 fee\n    );\n\n    /// @notice Constructor. Sets the deploying address as owner.\n    constructor() \n    public {\n        owner = msg.sender;\n    }\n\n    /// @notice Returns the Realitio contract address - deprecated in favour of realitio()\n    function realitycheck() \n    external view returns(Realitio) {\n        return realitio;\n    }\n\n    /// @notice Set the Reality Check contract address\n    /// @param addr The address of the Reality Check contract\n    function setRealitio(address addr) \n        onlyOwner \n    public {\n        realitio = Realitio(addr);\n        emit LogSetRealitio(addr);\n    }\n\n    /// @notice Set the default fee\n    /// @param fee The default fee amount\n    function setDisputeFee(uint256 fee) \n        onlyOwner \n    public {\n        dispute_fee = fee;\n        emit LogSetDisputeFee(fee);\n    }\n\n    /// @notice Set a custom fee for this particular question\n    /// @param question_id The question in question\n    /// @param fee The fee amount\n    function setCustomDisputeFee(bytes32 question_id, uint256 fee) \n        onlyOwner \n    public {\n        custom_dispute_fees[question_id] = fee;\n        emit LogSetCustomDisputeFee(question_id, fee);\n    }\n\n    /// @notice Return the dispute fee for the specified question. 0 indicates that we won't arbitrate it.\n    /// @param question_id The question in question\n    /// @dev Uses a general default, but can be over-ridden on a question-by-question basis.\n    function getDisputeFee(bytes32 question_id) \n    public view returns (uint256) {\n        return (custom_dispute_fees[question_id] > 0) ? custom_dispute_fees[question_id] : dispute_fee;\n    }\n\n    /// @notice Set a fee for asking a question with us as the arbitrator\n    /// @param fee The fee amount\n    /// @dev Default is no fee. Unlike the dispute fee, 0 is an acceptable setting.\n    /// You could set an impossibly high fee if you want to prevent us being used as arbitrator unless we submit the question.\n    /// (Submitting the question ourselves is not implemented here.)\n    /// This fee can be used as a revenue source, an anti-spam measure, or both.\n    function setQuestionFee(uint256 fee) \n        onlyOwner \n    public {\n        realitio.setQuestionFee(fee);\n        emit LogSetQuestionFee(fee);\n    }\n\n    /// @notice Submit the arbitrator's answer to a question.\n    /// @param question_id The question in question\n    /// @param answer The answer\n    /// @param answerer The answerer. If arbitration changed the answer, it should be the payer. If not, the old answerer.\n    function submitAnswerByArbitrator(bytes32 question_id, bytes32 answer, address answerer) \n        onlyOwner \n    public {\n        delete arbitration_bounties[question_id];\n        realitio.submitAnswerByArbitrator(question_id, answer, answerer);\n    }\n\n    /// @notice Request arbitration, freezing the question until we send submitAnswerByArbitrator\n    /// @dev The bounty can be paid only in part, in which case the last person to pay will be considered the payer\n    /// Will trigger an error if the notification fails, eg because the question has already been finalized\n    /// @param question_id The question in question\n    /// @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.\n    function requestArbitration(bytes32 question_id, uint256 max_previous) \n    external payable returns (bool) {\n\n        uint256 arbitration_fee = getDisputeFee(question_id);\n        require(arbitration_fee > 0, \"The arbitrator must have set a non-zero fee for the question\");\n\n        arbitration_bounties[question_id] += msg.value;\n        uint256 paid = arbitration_bounties[question_id];\n\n        if (paid >= arbitration_fee) {\n            realitio.notifyOfArbitrationRequest(question_id, msg.sender, max_previous);\n            emit LogRequestArbitration(question_id, msg.value, msg.sender, 0);\n            return true;\n        } else {\n            require(!realitio.isFinalized(question_id), \"The question must not have been finalized\");\n            emit LogRequestArbitration(question_id, msg.value, msg.sender, arbitration_fee - paid);\n            return false;\n        }\n\n    }\n\n    /// @notice Withdraw any accumulated ETH fees to the specified address\n    /// @param addr The address to which the balance should be sent\n    function withdraw(address addr) \n        onlyOwner \n    public {\n        addr.transfer(address(this).balance); \n    }\n\n    /// @notice Withdraw any accumulated token fees to the specified address\n    /// @param addr The address to which the balance should be sent\n    /// @dev Only needed if the Realitio contract used is using an ERC20 token\n    /// @dev Also only normally useful if a per-question fee is set, otherwise we only have ETH.\n    function withdrawERC20(IERC20 _token, address addr) \n        onlyOwner \n    public {\n        uint256 bal = _token.balanceOf(address(this));\n        IERC20(_token).transfer(addr, bal); \n    }\n\n    function() \n    external payable {\n    }\n\n    /// @notice Withdraw any accumulated question fees from the specified address into this contract\n    /// @dev Funds can then be liberated from this contract with our withdraw() function\n    /// @dev This works in the same way whether the realitio contract is using ETH or an ERC20 token\n    function callWithdraw() \n        onlyOwner \n    public {\n        realitio.withdraw(); \n    }\n\n    /// @notice Set a metadata string, expected to be JSON, containing things like arbitrator TOS address\n    function setMetaData(string _metadata) \n        onlyOwner\n    public {\n        metadata = _metadata;\n    }\n\n}\n",
 "sourcePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/Arbitrator.sol",
 "ast": {
  "absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/Arbitrator.sol",
  "exportedSymbols": {
   "Arbitrator": [
    339
   ]
  },
  "id": 340,
  "nodeType": "SourceUnit",
  "nodes": [
   {
    "id": 1,
    "literals": [
     "solidity",
     "^",
     "0.4",
     ".24"
    ],
    "nodeType": "PragmaDirective",
    "src": "0:24:0"
   },
   {
    "absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/Owned.sol",
    "file": "./Owned.sol",
    "id": 2,
    "nodeType": "ImportDirective",
    "scope": 340,
    "sourceUnit": 491,
    "src": "26:21:0",
    "symbolAliases": [],
    "unitAlias": ""
   },
   {
    "absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/Realitio.sol",
    "file": "./Realitio.sol",
    "id": 3,
    "nodeType": "ImportDirective",
    "scope": 340,
    "sourceUnit": 2508,
    "src": "48:24:0",
    "symbolAliases": [],
    "unitAlias": ""
   },
   {
    "absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/IERC20.sol",
    "file": "./IERC20.sol",
    "id": 4,
    "nodeType": "ImportDirective",
    "scope": 340,
    "sourceUnit": 454,
    "src": "73:22:0",
    "symbolAliases": [],
    "unitAlias": ""
   },
   {
    "baseContracts": [
     {
      "arguments": null,
      "baseName": {
       "contractScope": null,
       "id": 5,
       "name": "Owned",
       "nodeType": "UserDefinedTypeName",
       "referencedDeclaration": 490,
       "src": "120:5:0",
       "typeDescriptions": {
        "typeIdentifier": "t_contract$_Owned_$490",
        "typeString": "contract Owned"
       }
      },
      "id": 6,
      "nodeType": "InheritanceSpecifier",
      "src": "120:5:0"
     }
    ],
    "contractDependencies": [
     490
    ],
    "contractKind": "contract",
    "documentation": null,
    "fullyImplemented": true,
    "id": 339,
    "linearizedBaseContracts": [
     339,
     490
    ],
    "name": "Arbitrator",
    "nodeType": "ContractDefinition",
    "nodes": [
     {
      "constant": false,
      "id": 8,
      "name": "realitio",
      "nodeType": "VariableDeclaration",
      "scope": 339,
      "src": "133:24:0",
      "stateVariable": true,
      "storageLocation": "default",
      "typeDescriptions": {
       "typeIdentifier": "t_contract$_Realitio_$2507",
       "typeString": "contract Realitio"
      },
      "typeName": {
       "contractScope": null,
       "id": 7,
       "name": "Realitio",
       "nodeType": "UserDefinedTypeName",
       "referencedDeclaration": 2507,
       "src": "133:8:0",
       "typeDescriptions": {
        "typeIdentifier": "t_contract$_Realitio_$2507",
        "typeString": "contract Realitio"
       }
      },
      "value": null,
      "visibility": "public"
     },
     {
      "constant": false,
      "id": 12,
      "name": "arbitration_bounties",
      "nodeType": "VariableDeclaration",
      "scope": 339,
      "src": "164:55:0",
      "stateVariable": true,
      "storageLocation": "default",
      "typeDescriptions": {
       "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
       "typeString": "mapping(bytes32 => uint256)"
      },
      "typeName": {
       "id": 11,
       "keyType": {
        "id": 9,
        "name": "bytes32",
        "nodeType": "ElementaryTypeName",
        "src": "172:7:0",
        "typeDescriptions": {
         "typeIdentifier": "t_bytes32",
         "typeString": "bytes32"
        }
       },
       "nodeType": "Mapping",
       "src": "164:27:0",
       "typeDescriptions": {
        "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
        "typeString": "mapping(bytes32 => uint256)"
       },
       "valueType": {
        "id": 10,
        "name": "uint256",
        "nodeType": "ElementaryTypeName",
        "src": "183:7:0",
        "typeDescriptions": {
         "typeIdentifier": "t_uint256",
         "typeString": "uint256"
        }
       }
      },
      "value": null,
      "visibility": "public"
     },
     {
      "constant": false,
      "id": 14,
      "name": "dispute_fee",
      "nodeType": "VariableDeclaration",
      "scope": 339,
      "src": "226:19:0",
      "stateVariable": true,
      "storageLocation": "default",
      "typeDescriptions": {
       "typeIdentifier": "t_uint256",
       "typeString": "uint256"
      },
      "typeName": {
       "id": 13,
       "name": "uint256",
       "nodeType": "ElementaryTypeName",
       "src": "226:7:0",
       "typeDescriptions": {
        "typeIdentifier": "t_uint256",
        "typeString": "uint256"
       }
      },
      "value": null,
      "visibility": "internal"
     },
     {
      "constant": false,
      "id": 18,
      "name": "custom_dispute_fees",
      "nodeType": "VariableDeclaration",
      "scope": 339,
      "src": "251:47:0",
      "stateVariable": true,
      "storageLocation": "default",
      "typeDescriptions": {
       "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
       "typeString": "mapping(bytes32 => uint256)"
      },
      "typeName": {
       "id": 17,
       "keyType": {
        "id": 15,
        "name": "bytes32",
        "nodeType": "ElementaryTypeName",
        "src": "259:7:0",
        "typeDescriptions": {
         "typeIdentifier": "t_bytes32",
         "typeString": "bytes32"
        }
       },
       "nodeType": "Mapping",
       "src": "251:27:0",
       "typeDescriptions": {
        "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
        "typeString": "mapping(bytes32 => uint256)"
       },
       "valueType": {
        "id": 16,
        "name": "uint256",
        "nodeType": "ElementaryTypeName",
        "src": "270:7:0",
        "typeDescriptions": {
         "typeIdentifier": "t_uint256",
         "typeString": "uint256"
        }
       }
      },
      "value": null,
      "visibility": "internal"
     },
     {
      "constant": false,
      "id": 20,
      "name": "metadata",
      "nodeType": "VariableDeclaration",
      "scope": 339,
      "src": "305:22:0",
      "stateVariable": true,
      "storageLocation": "default",
      "typeDescriptions": {
       "typeIdentifier": "t_string_storage",
       "typeString": "string"
      },
      "typeName": {
       "id": 19,
       "name": "string",
       "nodeType": "ElementaryTypeName",
       "src": "305:6:0",
       "typeDescriptions": {
        "typeIdentifier": "t_string_storage_ptr",
        "typeString": "string"
       }
      },
      "value": null,
      "visibility": "public"
     },
     {
      "anonymous": false,
      "documentation": null,
      "id": 30,
      "name": "LogRequestArbitration",
      "nodeType": "EventDefinition",
      "parameters": {
       "id": 29,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 22,
         "indexed": true,
         "name": "question_id",
         "nodeType": "VariableDeclaration",
         "scope": 30,
         "src": "371:27:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 21,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "371:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 24,
         "indexed": false,
         "name": "fee_paid",
         "nodeType": "VariableDeclaration",
         "scope": 30,
         "src": "408:16:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 23,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "408:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 26,
         "indexed": false,
         "name": "requester",
         "nodeType": "VariableDeclaration",
         "scope": 30,
         "src": "434:17:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_address",
          "typeString": "address"
         },
         "typeName": {
          "id": 25,
          "name": "address",
          "nodeType": "ElementaryTypeName",
          "src": "434:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 28,
         "indexed": false,
         "name": "remaining",
         "nodeType": "VariableDeclaration",
         "scope": 30,
         "src": "461:17:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 27,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "461:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "361:123:0"
      },
      "src": "334:151:0"
     },
     {
      "anonymous": false,
      "documentation": null,
      "id": 34,
      "name": "LogSetRealitio",
      "nodeType": "EventDefinition",
      "parameters": {
       "id": 33,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 32,
         "indexed": false,
         "name": "realitio",
         "nodeType": "VariableDeclaration",
         "scope": 34,
         "src": "521:16:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_address",
          "typeString": "address"
         },
         "typeName": {
          "id": 31,
          "name": "address",
          "nodeType": "ElementaryTypeName",
          "src": "521:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "511:32:0"
      },
      "src": "491:53:0"
     },
     {
      "anonymous": false,
      "documentation": null,
      "id": 38,
      "name": "LogSetQuestionFee",
      "nodeType": "EventDefinition",
      "parameters": {
       "id": 37,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 36,
         "indexed": false,
         "name": "fee",
         "nodeType": "VariableDeclaration",
         "scope": 38,
         "src": "583:11:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 35,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "583:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "573:27:0"
      },
      "src": "550:51:0"
     },
     {
      "anonymous": false,
      "documentation": null,
      "id": 42,
      "name": "LogSetDisputeFee",
      "nodeType": "EventDefinition",
      "parameters": {
       "id": 41,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 40,
         "indexed": false,
         "name": "fee",
         "nodeType": "VariableDeclaration",
         "scope": 42,
         "src": "640:11:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 39,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "640:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "630:27:0"
      },
      "src": "608:50:0"
     },
     {
      "anonymous": false,
      "documentation": null,
      "id": 48,
      "name": "LogSetCustomDisputeFee",
      "nodeType": "EventDefinition",
      "parameters": {
       "id": 47,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 44,
         "indexed": true,
         "name": "question_id",
         "nodeType": "VariableDeclaration",
         "scope": 48,
         "src": "702:27:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 43,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "702:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 46,
         "indexed": false,
         "name": "fee",
         "nodeType": "VariableDeclaration",
         "scope": 48,
         "src": "739:11:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 45,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "739:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "692:64:0"
      },
      "src": "664:93:0"
     },
     {
      "body": {
       "id": 56,
       "nodeType": "Block",
       "src": "855:35:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 54,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftHandSide": {
           "argumentTypes": null,
           "id": 51,
           "name": "owner",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 457,
           "src": "865:5:0",
           "typeDescriptions": {
            "typeIdentifier": "t_address",
            "typeString": "address"
           }
          },
          "nodeType": "Assignment",
          "operator": "=",
          "rightHandSide": {
           "argumentTypes": null,
           "expression": {
            "argumentTypes": null,
            "id": 52,
            "name": "msg",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 2726,
            "src": "873:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_magic_message",
             "typeString": "msg"
            }
           },
           "id": 53,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "sender",
           "nodeType": "MemberAccess",
           "referencedDeclaration": null,
           "src": "873:10:0",
           "typeDescriptions": {
            "typeIdentifier": "t_address",
            "typeString": "address"
           }
          },
          "src": "865:18:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "id": 55,
         "nodeType": "ExpressionStatement",
         "src": "865:18:0"
        }
       ]
      },
      "documentation": "@notice Constructor. Sets the deploying address as owner.",
      "id": 57,
      "implemented": true,
      "isConstructor": true,
      "isDeclaredConst": false,
      "modifiers": [],
      "name": "",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 49,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "840:2:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 50,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "855:0:0"
      },
      "scope": 339,
      "src": "829:61:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 64,
       "nodeType": "Block",
       "src": "1048:32:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 62,
          "name": "realitio",
          "nodeType": "Identifier",
          "overloadedDeclarations": [],
          "referencedDeclaration": 8,
          "src": "1065:8:0",
          "typeDescriptions": {
           "typeIdentifier": "t_contract$_Realitio_$2507",
           "typeString": "contract Realitio"
          }
         },
         "functionReturnParameters": 61,
         "id": 63,
         "nodeType": "Return",
         "src": "1058:15:0"
        }
       ]
      },
      "documentation": "@notice Returns the Realitio contract address - deprecated in favour of realitio()",
      "id": 65,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": true,
      "modifiers": [],
      "name": "realitycheck",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 58,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "1008:2:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 61,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 60,
         "name": "",
         "nodeType": "VariableDeclaration",
         "scope": 65,
         "src": "1038:8:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_contract$_Realitio_$2507",
          "typeString": "contract Realitio"
         },
         "typeName": {
          "contractScope": null,
          "id": 59,
          "name": "Realitio",
          "nodeType": "UserDefinedTypeName",
          "referencedDeclaration": 2507,
          "src": "1038:8:0",
          "typeDescriptions": {
           "typeIdentifier": "t_contract$_Realitio_$2507",
           "typeString": "contract Realitio"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "1037:10:0"
      },
      "scope": 339,
      "src": "987:93:0",
      "stateMutability": "view",
      "superFunction": null,
      "visibility": "external"
     },
     {
      "body": {
       "id": 82,
       "nodeType": "Block",
       "src": "1269:77:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 76,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftHandSide": {
           "argumentTypes": null,
           "id": 72,
           "name": "realitio",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 8,
           "src": "1279:8:0",
           "typeDescriptions": {
            "typeIdentifier": "t_contract$_Realitio_$2507",
            "typeString": "contract Realitio"
           }
          },
          "nodeType": "Assignment",
          "operator": "=",
          "rightHandSide": {
           "argumentTypes": null,
           "arguments": [
            {
             "argumentTypes": null,
             "id": 74,
             "name": "addr",
             "nodeType": "Identifier",
             "overloadedDeclarations": [],
             "referencedDeclaration": 67,
             "src": "1299:4:0",
             "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
             }
            }
           ],
           "expression": {
            "argumentTypes": [
             {
              "typeIdentifier": "t_address",
              "typeString": "address"
             }
            ],
            "id": 73,
            "name": "Realitio",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 2507,
            "src": "1290:8:0",
            "typeDescriptions": {
             "typeIdentifier": "t_type$_t_contract$_Realitio_$2507_$",
             "typeString": "type(contract Realitio)"
            }
           },
           "id": 75,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "kind": "typeConversion",
           "lValueRequested": false,
           "names": [],
           "nodeType": "FunctionCall",
           "src": "1290:14:0",
           "typeDescriptions": {
            "typeIdentifier": "t_contract$_Realitio_$2507",
            "typeString": "contract Realitio"
           }
          },
          "src": "1279:25:0",
          "typeDescriptions": {
           "typeIdentifier": "t_contract$_Realitio_$2507",
           "typeString": "contract Realitio"
          }
         },
         "id": 77,
         "nodeType": "ExpressionStatement",
         "src": "1279:25:0"
        },
        {
         "eventCall": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 79,
            "name": "addr",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 67,
            "src": "1334:4:0",
            "typeDescriptions": {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           ],
           "id": 78,
           "name": "LogSetRealitio",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 34,
           "src": "1319:14:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
            "typeString": "function (address)"
           }
          },
          "id": 80,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "1319:20:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 81,
         "nodeType": "EmitStatement",
         "src": "1314:25:0"
        }
       ]
      },
      "documentation": "@notice Set the Reality Check contract address\n @param addr The address of the Reality Check contract",
      "id": 83,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 70,
        "modifierName": {
         "argumentTypes": null,
         "id": 69,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "1247:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "1247:9:0"
       }
      ],
      "name": "setRealitio",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 68,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 67,
         "name": "addr",
         "nodeType": "VariableDeclaration",
         "scope": 83,
         "src": "1224:12:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_address",
          "typeString": "address"
         },
         "typeName": {
          "id": 66,
          "name": "address",
          "nodeType": "ElementaryTypeName",
          "src": "1224:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "1223:14:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 71,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "1269:0:0"
      },
      "scope": 339,
      "src": "1203:143:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 98,
       "nodeType": "Block",
       "src": "1497:70:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 92,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftHandSide": {
           "argumentTypes": null,
           "id": 90,
           "name": "dispute_fee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 14,
           "src": "1507:11:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "nodeType": "Assignment",
          "operator": "=",
          "rightHandSide": {
           "argumentTypes": null,
           "id": 91,
           "name": "fee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 85,
           "src": "1521:3:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "src": "1507:17:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "id": 93,
         "nodeType": "ExpressionStatement",
         "src": "1507:17:0"
        },
        {
         "eventCall": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 95,
            "name": "fee",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 85,
            "src": "1556:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           ],
           "id": 94,
           "name": "LogSetDisputeFee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 42,
           "src": "1539:16:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
            "typeString": "function (uint256)"
           }
          },
          "id": 96,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "1539:21:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 97,
         "nodeType": "EmitStatement",
         "src": "1534:26:0"
        }
       ]
      },
      "documentation": "@notice Set the default fee\n @param fee The default fee amount",
      "id": 99,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 88,
        "modifierName": {
         "argumentTypes": null,
         "id": 87,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "1475:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "1475:9:0"
       }
      ],
      "name": "setDisputeFee",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 86,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 85,
         "name": "fee",
         "nodeType": "VariableDeclaration",
         "scope": 99,
         "src": "1453:11:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 84,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "1453:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "1452:13:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 89,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "1497:0:0"
      },
      "scope": 339,
      "src": "1430:137:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 119,
       "nodeType": "Block",
       "src": "1815:110:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 112,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftHandSide": {
           "argumentTypes": null,
           "baseExpression": {
            "argumentTypes": null,
            "id": 108,
            "name": "custom_dispute_fees",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 18,
            "src": "1825:19:0",
            "typeDescriptions": {
             "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
             "typeString": "mapping(bytes32 => uint256)"
            }
           },
           "id": 110,
           "indexExpression": {
            "argumentTypes": null,
            "id": 109,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 101,
            "src": "1845:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           "isConstant": false,
           "isLValue": true,
           "isPure": false,
           "lValueRequested": true,
           "nodeType": "IndexAccess",
           "src": "1825:32:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "nodeType": "Assignment",
          "operator": "=",
          "rightHandSide": {
           "argumentTypes": null,
           "id": 111,
           "name": "fee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 103,
           "src": "1860:3:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "src": "1825:38:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "id": 113,
         "nodeType": "ExpressionStatement",
         "src": "1825:38:0"
        },
        {
         "eventCall": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 115,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 101,
            "src": "1901:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           {
            "argumentTypes": null,
            "id": 116,
            "name": "fee",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 103,
            "src": "1914:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            },
            {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           ],
           "id": 114,
           "name": "LogSetCustomDisputeFee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 48,
           "src": "1878:22:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
            "typeString": "function (bytes32,uint256)"
           }
          },
          "id": 117,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "1878:40:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 118,
         "nodeType": "EmitStatement",
         "src": "1873:45:0"
        }
       ]
      },
      "documentation": "@notice Set a custom fee for this particular question\n @param question_id The question in question\n @param fee The fee amount",
      "id": 120,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 106,
        "modifierName": {
         "argumentTypes": null,
         "id": 105,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "1793:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "1793:9:0"
       }
      ],
      "name": "setCustomDisputeFee",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 104,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 101,
         "name": "question_id",
         "nodeType": "VariableDeclaration",
         "scope": 120,
         "src": "1750:19:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 100,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "1750:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 103,
         "name": "fee",
         "nodeType": "VariableDeclaration",
         "scope": 120,
         "src": "1771:11:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 102,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "1771:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "1749:34:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 107,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "1815:0:0"
      },
      "scope": 339,
      "src": "1721:204:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 139,
       "nodeType": "Block",
       "src": "2262:111:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "condition": {
           "argumentTypes": null,
           "components": [
            {
             "argumentTypes": null,
             "commonType": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
             },
             "id": 131,
             "isConstant": false,
             "isLValue": false,
             "isPure": false,
             "lValueRequested": false,
             "leftExpression": {
              "argumentTypes": null,
              "baseExpression": {
               "argumentTypes": null,
               "id": 127,
               "name": "custom_dispute_fees",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 18,
               "src": "2280:19:0",
               "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                "typeString": "mapping(bytes32 => uint256)"
               }
              },
              "id": 129,
              "indexExpression": {
               "argumentTypes": null,
               "id": 128,
               "name": "question_id",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 122,
               "src": "2300:11:0",
               "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               }
              },
              "isConstant": false,
              "isLValue": true,
              "isPure": false,
              "lValueRequested": false,
              "nodeType": "IndexAccess",
              "src": "2280:32:0",
              "typeDescriptions": {
               "typeIdentifier": "t_uint256",
               "typeString": "uint256"
              }
             },
             "nodeType": "BinaryOperation",
             "operator": ">",
             "rightExpression": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 130,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2315:1:0",
              "subdenomination": null,
              "typeDescriptions": {
               "typeIdentifier": "t_rational_0_by_1",
               "typeString": "int_const 0"
              },
              "value": "0"
             },
             "src": "2280:36:0",
             "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
             }
            }
           ],
           "id": 132,
           "isConstant": false,
           "isInlineArray": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "nodeType": "TupleExpression",
           "src": "2279:38:0",
           "typeDescriptions": {
            "typeIdentifier": "t_bool",
            "typeString": "bool"
           }
          },
          "falseExpression": {
           "argumentTypes": null,
           "id": 136,
           "name": "dispute_fee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 14,
           "src": "2355:11:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "id": 137,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "nodeType": "Conditional",
          "src": "2279:87:0",
          "trueExpression": {
           "argumentTypes": null,
           "baseExpression": {
            "argumentTypes": null,
            "id": 133,
            "name": "custom_dispute_fees",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 18,
            "src": "2320:19:0",
            "typeDescriptions": {
             "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
             "typeString": "mapping(bytes32 => uint256)"
            }
           },
           "id": 135,
           "indexExpression": {
            "argumentTypes": null,
            "id": 134,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 122,
            "src": "2340:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           "isConstant": false,
           "isLValue": true,
           "isPure": false,
           "lValueRequested": false,
           "nodeType": "IndexAccess",
           "src": "2320:32:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "functionReturnParameters": 126,
         "id": 138,
         "nodeType": "Return",
         "src": "2272:94:0"
        }
       ]
      },
      "documentation": "@notice Return the dispute fee for the specified question. 0 indicates that we won't arbitrate it.\n @param question_id The question in question\n @dev Uses a general default, but can be over-ridden on a question-by-question basis.",
      "id": 140,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": true,
      "modifiers": [],
      "name": "getDisputeFee",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 123,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 122,
         "name": "question_id",
         "nodeType": "VariableDeclaration",
         "scope": 140,
         "src": "2206:19:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 121,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "2206:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "2205:21:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 126,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 125,
         "name": "",
         "nodeType": "VariableDeclaration",
         "scope": 140,
         "src": "2253:7:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 124,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "2253:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "2252:9:0"
      },
      "scope": 339,
      "src": "2183:190:0",
      "stateMutability": "view",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 157,
       "nodeType": "Block",
       "src": "2916:82:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 150,
            "name": "fee",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 142,
            "src": "2950:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           ],
           "expression": {
            "argumentTypes": null,
            "id": 147,
            "name": "realitio",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 8,
            "src": "2926:8:0",
            "typeDescriptions": {
             "typeIdentifier": "t_contract$_Realitio_$2507",
             "typeString": "contract Realitio"
            }
           },
           "id": 149,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "setQuestionFee",
           "nodeType": "MemberAccess",
           "referencedDeclaration": 962,
           "src": "2926:23:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
            "typeString": "function (uint256) external"
           }
          },
          "id": 151,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "2926:28:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 152,
         "nodeType": "ExpressionStatement",
         "src": "2926:28:0"
        },
        {
         "eventCall": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 154,
            "name": "fee",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 142,
            "src": "2987:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           ],
           "id": 153,
           "name": "LogSetQuestionFee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 38,
           "src": "2969:17:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
            "typeString": "function (uint256)"
           }
          },
          "id": 155,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "2969:22:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 156,
         "nodeType": "EmitStatement",
         "src": "2964:27:0"
        }
       ]
      },
      "documentation": "@notice Set a fee for asking a question with us as the arbitrator\n @param fee The fee amount\n @dev Default is no fee. Unlike the dispute fee, 0 is an acceptable setting.\n You could set an impossibly high fee if you want to prevent us being used as arbitrator unless we submit the question.\n (Submitting the question ourselves is not implemented here.)\n This fee can be used as a revenue source, an anti-spam measure, or both.",
      "id": 158,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 145,
        "modifierName": {
         "argumentTypes": null,
         "id": 144,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "2894:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "2894:9:0"
       }
      ],
      "name": "setQuestionFee",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 143,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 142,
         "name": "fee",
         "nodeType": "VariableDeclaration",
         "scope": 158,
         "src": "2872:11:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 141,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "2872:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "2871:13:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 146,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "2916:0:0"
      },
      "scope": 339,
      "src": "2848:150:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 182,
       "nodeType": "Block",
       "src": "3394:131:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 172,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "nodeType": "UnaryOperation",
          "operator": "delete",
          "prefix": true,
          "src": "3404:40:0",
          "subExpression": {
           "argumentTypes": null,
           "baseExpression": {
            "argumentTypes": null,
            "id": 169,
            "name": "arbitration_bounties",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 12,
            "src": "3411:20:0",
            "typeDescriptions": {
             "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
             "typeString": "mapping(bytes32 => uint256)"
            }
           },
           "id": 171,
           "indexExpression": {
            "argumentTypes": null,
            "id": 170,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 160,
            "src": "3432:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           "isConstant": false,
           "isLValue": true,
           "isPure": false,
           "lValueRequested": true,
           "nodeType": "IndexAccess",
           "src": "3411:33:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 173,
         "nodeType": "ExpressionStatement",
         "src": "3404:40:0"
        },
        {
         "expression": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 177,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 160,
            "src": "3488:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           {
            "argumentTypes": null,
            "id": 178,
            "name": "answer",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 162,
            "src": "3501:6:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           {
            "argumentTypes": null,
            "id": 179,
            "name": "answerer",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 164,
            "src": "3509:8:0",
            "typeDescriptions": {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            },
            {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            },
            {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           ],
           "expression": {
            "argumentTypes": null,
            "id": 174,
            "name": "realitio",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 8,
            "src": "3454:8:0",
            "typeDescriptions": {
             "typeIdentifier": "t_contract$_Realitio_$2507",
             "typeString": "contract Realitio"
            }
           },
           "id": 176,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "submitAnswerByArbitrator",
           "nodeType": "MemberAccess",
           "referencedDeclaration": 1683,
           "src": "3454:33:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$",
            "typeString": "function (bytes32,bytes32,address) external"
           }
          },
          "id": 180,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "3454:64:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 181,
         "nodeType": "ExpressionStatement",
         "src": "3454:64:0"
        }
       ]
      },
      "documentation": "@notice Submit the arbitrator's answer to a question.\n @param question_id The question in question\n @param answer The answer\n @param answerer The answerer. If arbitration changed the answer, it should be the payer. If not, the old answerer.",
      "id": 183,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 167,
        "modifierName": {
         "argumentTypes": null,
         "id": 166,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "3372:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "3372:9:0"
       }
      ],
      "name": "submitAnswerByArbitrator",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 165,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 160,
         "name": "question_id",
         "nodeType": "VariableDeclaration",
         "scope": 183,
         "src": "3308:19:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 159,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "3308:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 162,
         "name": "answer",
         "nodeType": "VariableDeclaration",
         "scope": 183,
         "src": "3329:14:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 161,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "3329:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 164,
         "name": "answerer",
         "nodeType": "VariableDeclaration",
         "scope": 183,
         "src": "3345:16:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_address",
          "typeString": "address"
         },
         "typeName": {
          "id": 163,
          "name": "address",
          "nodeType": "ElementaryTypeName",
          "src": "3345:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "3307:55:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 168,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "3394:0:0"
      },
      "scope": 339,
      "src": "3274:251:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 266,
       "nodeType": "Block",
       "src": "4137:775:0",
       "statements": [
        {
         "assignments": [
          193
         ],
         "declarations": [
          {
           "constant": false,
           "id": 193,
           "name": "arbitration_fee",
           "nodeType": "VariableDeclaration",
           "scope": 267,
           "src": "4148:23:0",
           "stateVariable": false,
           "storageLocation": "default",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           },
           "typeName": {
            "id": 192,
            "name": "uint256",
            "nodeType": "ElementaryTypeName",
            "src": "4148:7:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           },
           "value": null,
           "visibility": "internal"
          }
         ],
         "id": 197,
         "initialValue": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 195,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 185,
            "src": "4188:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           ],
           "id": 194,
           "name": "getDisputeFee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 140,
           "src": "4174:13:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
            "typeString": "function (bytes32) view returns (uint256)"
           }
          },
          "id": 196,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "4174:26:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "nodeType": "VariableDeclarationStatement",
         "src": "4148:52:0"
        },
        {
         "expression": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "commonType": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            },
            "id": 201,
            "isConstant": false,
            "isLValue": false,
            "isPure": false,
            "lValueRequested": false,
            "leftExpression": {
             "argumentTypes": null,
             "id": 199,
             "name": "arbitration_fee",
             "nodeType": "Identifier",
             "overloadedDeclarations": [],
             "referencedDeclaration": 193,
             "src": "4218:15:0",
             "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
             }
            },
            "nodeType": "BinaryOperation",
            "operator": ">",
            "rightExpression": {
             "argumentTypes": null,
             "hexValue": "30",
             "id": 200,
             "isConstant": false,
             "isLValue": false,
             "isPure": true,
             "kind": "number",
             "lValueRequested": false,
             "nodeType": "Literal",
             "src": "4236:1:0",
             "subdenomination": null,
             "typeDescriptions": {
              "typeIdentifier": "t_rational_0_by_1",
              "typeString": "int_const 0"
             },
             "value": "0"
            },
            "src": "4218:19:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bool",
             "typeString": "bool"
            }
           },
           {
            "argumentTypes": null,
            "hexValue": "5468652061726269747261746f72206d7573742068617665207365742061206e6f6e2d7a65726f2066656520666f7220746865207175657374696f6e",
            "id": 202,
            "isConstant": false,
            "isLValue": false,
            "isPure": true,
            "kind": "string",
            "lValueRequested": false,
            "nodeType": "Literal",
            "src": "4239:62:0",
            "subdenomination": null,
            "typeDescriptions": {
             "typeIdentifier": "t_stringliteral_72b298b87bad4c7d978585a27e4ac31ece329de5cea2dd93ff61a115129b1c48",
             "typeString": "literal_string \"The arbitrator must have set a non-zero fee for the question\""
            },
            "value": "The arbitrator must have set a non-zero fee for the question"
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_bool",
             "typeString": "bool"
            },
            {
             "typeIdentifier": "t_stringliteral_72b298b87bad4c7d978585a27e4ac31ece329de5cea2dd93ff61a115129b1c48",
             "typeString": "literal_string \"The arbitrator must have set a non-zero fee for the question\""
            }
           ],
           "id": 198,
           "name": "require",
           "nodeType": "Identifier",
           "overloadedDeclarations": [
            2729,
            2730
           ],
           "referencedDeclaration": 2730,
           "src": "4210:7:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
            "typeString": "function (bool,string memory) pure"
           }
          },
          "id": 203,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "4210:92:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 204,
         "nodeType": "ExpressionStatement",
         "src": "4210:92:0"
        },
        {
         "expression": {
          "argumentTypes": null,
          "id": 210,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftHandSide": {
           "argumentTypes": null,
           "baseExpression": {
            "argumentTypes": null,
            "id": 205,
            "name": "arbitration_bounties",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 12,
            "src": "4313:20:0",
            "typeDescriptions": {
             "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
             "typeString": "mapping(bytes32 => uint256)"
            }
           },
           "id": 207,
           "indexExpression": {
            "argumentTypes": null,
            "id": 206,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 185,
            "src": "4334:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           "isConstant": false,
           "isLValue": true,
           "isPure": false,
           "lValueRequested": true,
           "nodeType": "IndexAccess",
           "src": "4313:33:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "nodeType": "Assignment",
          "operator": "+=",
          "rightHandSide": {
           "argumentTypes": null,
           "expression": {
            "argumentTypes": null,
            "id": 208,
            "name": "msg",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 2726,
            "src": "4350:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_magic_message",
             "typeString": "msg"
            }
           },
           "id": 209,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "value",
           "nodeType": "MemberAccess",
           "referencedDeclaration": null,
           "src": "4350:9:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "src": "4313:46:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "id": 211,
         "nodeType": "ExpressionStatement",
         "src": "4313:46:0"
        },
        {
         "assignments": [
          213
         ],
         "declarations": [
          {
           "constant": false,
           "id": 213,
           "name": "paid",
           "nodeType": "VariableDeclaration",
           "scope": 267,
           "src": "4369:12:0",
           "stateVariable": false,
           "storageLocation": "default",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           },
           "typeName": {
            "id": 212,
            "name": "uint256",
            "nodeType": "ElementaryTypeName",
            "src": "4369:7:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           },
           "value": null,
           "visibility": "internal"
          }
         ],
         "id": 217,
         "initialValue": {
          "argumentTypes": null,
          "baseExpression": {
           "argumentTypes": null,
           "id": 214,
           "name": "arbitration_bounties",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 12,
           "src": "4384:20:0",
           "typeDescriptions": {
            "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
            "typeString": "mapping(bytes32 => uint256)"
           }
          },
          "id": 216,
          "indexExpression": {
           "argumentTypes": null,
           "id": 215,
           "name": "question_id",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 185,
           "src": "4405:11:0",
           "typeDescriptions": {
            "typeIdentifier": "t_bytes32",
            "typeString": "bytes32"
           }
          },
          "isConstant": false,
          "isLValue": true,
          "isPure": false,
          "lValueRequested": false,
          "nodeType": "IndexAccess",
          "src": "4384:33:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "nodeType": "VariableDeclarationStatement",
         "src": "4369:48:0"
        },
        {
         "condition": {
          "argumentTypes": null,
          "commonType": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          },
          "id": 220,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftExpression": {
           "argumentTypes": null,
           "id": 218,
           "name": "paid",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 213,
           "src": "4432:4:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "nodeType": "BinaryOperation",
          "operator": ">=",
          "rightExpression": {
           "argumentTypes": null,
           "id": 219,
           "name": "arbitration_fee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 193,
           "src": "4440:15:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "src": "4432:23:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bool",
           "typeString": "bool"
          }
         },
         "falseBody": {
          "id": 264,
          "nodeType": "Block",
          "src": "4666:239:0",
          "statements": [
           {
            "expression": {
             "argumentTypes": null,
             "arguments": [
              {
               "argumentTypes": null,
               "id": 247,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "nodeType": "UnaryOperation",
               "operator": "!",
               "prefix": true,
               "src": "4688:34:0",
               "subExpression": {
                "argumentTypes": null,
                "arguments": [
                 {
                  "argumentTypes": null,
                  "id": 245,
                  "name": "question_id",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 185,
                  "src": "4710:11:0",
                  "typeDescriptions": {
                   "typeIdentifier": "t_bytes32",
                   "typeString": "bytes32"
                  }
                 }
                ],
                "expression": {
                 "argumentTypes": [
                  {
                   "typeIdentifier": "t_bytes32",
                   "typeString": "bytes32"
                  }
                 ],
                 "expression": {
                  "argumentTypes": null,
                  "id": 243,
                  "name": "realitio",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8,
                  "src": "4689:8:0",
                  "typeDescriptions": {
                   "typeIdentifier": "t_contract$_Realitio_$2507",
                   "typeString": "contract Realitio"
                  }
                 },
                 "id": 244,
                 "isConstant": false,
                 "isLValue": false,
                 "isPure": false,
                 "lValueRequested": false,
                 "memberName": "isFinalized",
                 "nodeType": "MemberAccess",
                 "referencedDeclaration": 1717,
                 "src": "4689:20:0",
                 "typeDescriptions": {
                  "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bool_$",
                  "typeString": "function (bytes32) view external returns (bool)"
                 }
                },
                "id": 246,
                "isConstant": false,
                "isLValue": false,
                "isPure": false,
                "kind": "functionCall",
                "lValueRequested": false,
                "names": [],
                "nodeType": "FunctionCall",
                "src": "4689:33:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_bool",
                 "typeString": "bool"
                }
               },
               "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
               }
              },
              {
               "argumentTypes": null,
               "hexValue": "546865207175657374696f6e206d757374206e6f742068617665206265656e2066696e616c697a6564",
               "id": 248,
               "isConstant": false,
               "isLValue": false,
               "isPure": true,
               "kind": "string",
               "lValueRequested": false,
               "nodeType": "Literal",
               "src": "4724:43:0",
               "subdenomination": null,
               "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_e967b5d9fecc255e50879b27d4801cdeebbadcb0d4ff678250ec0b680707bc3f",
                "typeString": "literal_string \"The question must not have been finalized\""
               },
               "value": "The question must not have been finalized"
              }
             ],
             "expression": {
              "argumentTypes": [
               {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
               },
               {
                "typeIdentifier": "t_stringliteral_e967b5d9fecc255e50879b27d4801cdeebbadcb0d4ff678250ec0b680707bc3f",
                "typeString": "literal_string \"The question must not have been finalized\""
               }
              ],
              "id": 242,
              "name": "require",
              "nodeType": "Identifier",
              "overloadedDeclarations": [
               2729,
               2730
              ],
              "referencedDeclaration": 2730,
              "src": "4680:7:0",
              "typeDescriptions": {
               "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
               "typeString": "function (bool,string memory) pure"
              }
             },
             "id": 249,
             "isConstant": false,
             "isLValue": false,
             "isPure": false,
             "kind": "functionCall",
             "lValueRequested": false,
             "names": [],
             "nodeType": "FunctionCall",
             "src": "4680:88:0",
             "typeDescriptions": {
              "typeIdentifier": "t_tuple$__$",
              "typeString": "tuple()"
             }
            },
            "id": 250,
            "nodeType": "ExpressionStatement",
            "src": "4680:88:0"
           },
           {
            "eventCall": {
             "argumentTypes": null,
             "arguments": [
              {
               "argumentTypes": null,
               "id": 252,
               "name": "question_id",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 185,
               "src": "4809:11:0",
               "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               }
              },
              {
               "argumentTypes": null,
               "expression": {
                "argumentTypes": null,
                "id": 253,
                "name": "msg",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 2726,
                "src": "4822:3:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_magic_message",
                 "typeString": "msg"
                }
               },
               "id": 254,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "memberName": "value",
               "nodeType": "MemberAccess",
               "referencedDeclaration": null,
               "src": "4822:9:0",
               "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               }
              },
              {
               "argumentTypes": null,
               "expression": {
                "argumentTypes": null,
                "id": 255,
                "name": "msg",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 2726,
                "src": "4833:3:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_magic_message",
                 "typeString": "msg"
                }
               },
               "id": 256,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "memberName": "sender",
               "nodeType": "MemberAccess",
               "referencedDeclaration": null,
               "src": "4833:10:0",
               "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
               }
              },
              {
               "argumentTypes": null,
               "commonType": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               },
               "id": 259,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "leftExpression": {
                "argumentTypes": null,
                "id": 257,
                "name": "arbitration_fee",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 193,
                "src": "4845:15:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_uint256",
                 "typeString": "uint256"
                }
               },
               "nodeType": "BinaryOperation",
               "operator": "-",
               "rightExpression": {
                "argumentTypes": null,
                "id": 258,
                "name": "paid",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 213,
                "src": "4863:4:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_uint256",
                 "typeString": "uint256"
                }
               },
               "src": "4845:22:0",
               "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               }
              }
             ],
             "expression": {
              "argumentTypes": [
               {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               },
               {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               },
               {
                "typeIdentifier": "t_address",
                "typeString": "address"
               },
               {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               }
              ],
              "id": 251,
              "name": "LogRequestArbitration",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 30,
              "src": "4787:21:0",
              "typeDescriptions": {
               "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$returns$__$",
               "typeString": "function (bytes32,uint256,address,uint256)"
              }
             },
             "id": 260,
             "isConstant": false,
             "isLValue": false,
             "isPure": false,
             "kind": "functionCall",
             "lValueRequested": false,
             "names": [],
             "nodeType": "FunctionCall",
             "src": "4787:81:0",
             "typeDescriptions": {
              "typeIdentifier": "t_tuple$__$",
              "typeString": "tuple()"
             }
            },
            "id": 261,
            "nodeType": "EmitStatement",
            "src": "4782:86:0"
           },
           {
            "expression": {
             "argumentTypes": null,
             "hexValue": "66616c7365",
             "id": 262,
             "isConstant": false,
             "isLValue": false,
             "isPure": true,
             "kind": "bool",
             "lValueRequested": false,
             "nodeType": "Literal",
             "src": "4889:5:0",
             "subdenomination": null,
             "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
             },
             "value": "false"
            },
            "functionReturnParameters": 191,
            "id": 263,
            "nodeType": "Return",
            "src": "4882:12:0"
           }
          ]
         },
         "id": 265,
         "nodeType": "IfStatement",
         "src": "4428:477:0",
         "trueBody": {
          "id": 241,
          "nodeType": "Block",
          "src": "4457:203:0",
          "statements": [
           {
            "expression": {
             "argumentTypes": null,
             "arguments": [
              {
               "argumentTypes": null,
               "id": 224,
               "name": "question_id",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 185,
               "src": "4507:11:0",
               "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               }
              },
              {
               "argumentTypes": null,
               "expression": {
                "argumentTypes": null,
                "id": 225,
                "name": "msg",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 2726,
                "src": "4520:3:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_magic_message",
                 "typeString": "msg"
                }
               },
               "id": 226,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "memberName": "sender",
               "nodeType": "MemberAccess",
               "referencedDeclaration": null,
               "src": "4520:10:0",
               "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
               }
              },
              {
               "argumentTypes": null,
               "id": 227,
               "name": "max_previous",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 187,
               "src": "4532:12:0",
               "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               }
              }
             ],
             "expression": {
              "argumentTypes": [
               {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               },
               {
                "typeIdentifier": "t_address",
                "typeString": "address"
               },
               {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               }
              ],
              "expression": {
               "argumentTypes": null,
               "id": 221,
               "name": "realitio",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 8,
               "src": "4471:8:0",
               "typeDescriptions": {
                "typeIdentifier": "t_contract$_Realitio_$2507",
                "typeString": "contract Realitio"
               }
              },
              "id": 223,
              "isConstant": false,
              "isLValue": false,
              "isPure": false,
              "lValueRequested": false,
              "memberName": "notifyOfArbitrationRequest",
              "nodeType": "MemberAccess",
              "referencedDeclaration": 1634,
              "src": "4471:35:0",
              "typeDescriptions": {
               "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$",
               "typeString": "function (bytes32,address,uint256) external"
              }
             },
             "id": 228,
             "isConstant": false,
             "isLValue": false,
             "isPure": false,
             "kind": "functionCall",
             "lValueRequested": false,
             "names": [],
             "nodeType": "FunctionCall",
             "src": "4471:74:0",
             "typeDescriptions": {
              "typeIdentifier": "t_tuple$__$",
              "typeString": "tuple()"
             }
            },
            "id": 229,
            "nodeType": "ExpressionStatement",
            "src": "4471:74:0"
           },
           {
            "eventCall": {
             "argumentTypes": null,
             "arguments": [
              {
               "argumentTypes": null,
               "id": 231,
               "name": "question_id",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 185,
               "src": "4586:11:0",
               "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               }
              },
              {
               "argumentTypes": null,
               "expression": {
                "argumentTypes": null,
                "id": 232,
                "name": "msg",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 2726,
                "src": "4599:3:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_magic_message",
                 "typeString": "msg"
                }
               },
               "id": 233,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "memberName": "value",
               "nodeType": "MemberAccess",
               "referencedDeclaration": null,
               "src": "4599:9:0",
               "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               }
              },
              {
               "argumentTypes": null,
               "expression": {
                "argumentTypes": null,
                "id": 234,
                "name": "msg",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 2726,
                "src": "4610:3:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_magic_message",
                 "typeString": "msg"
                }
               },
               "id": 235,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "memberName": "sender",
               "nodeType": "MemberAccess",
               "referencedDeclaration": null,
               "src": "4610:10:0",
               "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
               }
              },
              {
               "argumentTypes": null,
               "hexValue": "30",
               "id": 236,
               "isConstant": false,
               "isLValue": false,
               "isPure": true,
               "kind": "number",
               "lValueRequested": false,
               "nodeType": "Literal",
               "src": "4622:1:0",
               "subdenomination": null,
               "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
               },
               "value": "0"
              }
             ],
             "expression": {
              "argumentTypes": [
               {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               },
               {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               },
               {
                "typeIdentifier": "t_address",
                "typeString": "address"
               },
               {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
               }
              ],
              "id": 230,
              "name": "LogRequestArbitration",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 30,
              "src": "4564:21:0",
              "typeDescriptions": {
               "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$returns$__$",
               "typeString": "function (bytes32,uint256,address,uint256)"
              }
             },
             "id": 237,
             "isConstant": false,
             "isLValue": false,
             "isPure": false,
             "kind": "functionCall",
             "lValueRequested": false,
             "names": [],
             "nodeType": "FunctionCall",
             "src": "4564:60:0",
             "typeDescriptions": {
              "typeIdentifier": "t_tuple$__$",
              "typeString": "tuple()"
             }
            },
            "id": 238,
            "nodeType": "EmitStatement",
            "src": "4559:65:0"
           },
           {
            "expression": {
             "argumentTypes": null,
             "hexValue": "74727565",
             "id": 239,
             "isConstant": false,
             "isLValue": false,
             "isPure": true,
             "kind": "bool",
             "lValueRequested": false,
             "nodeType": "Literal",
             "src": "4645:4:0",
             "subdenomination": null,
             "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
             },
             "value": "true"
            },
            "functionReturnParameters": 191,
            "id": 240,
            "nodeType": "Return",
            "src": "4638:11:0"
           }
          ]
         }
        }
       ]
      },
      "documentation": "@notice Request arbitration, freezing the question until we send submitAnswerByArbitrator\n @dev The bounty can be paid only in part, in which case the last person to pay will be considered the payer\n Will trigger an error if the notification fails, eg because the question has already been finalized\n @param question_id The question in question\n @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.",
      "id": 267,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [],
      "name": "requestArbitration",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 188,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 185,
         "name": "question_id",
         "nodeType": "VariableDeclaration",
         "scope": 267,
         "src": "4057:19:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 184,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "4057:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 187,
         "name": "max_previous",
         "nodeType": "VariableDeclaration",
         "scope": 267,
         "src": "4078:20:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 186,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "4078:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "4056:43:0"
      },
      "payable": true,
      "returnParameters": {
       "id": 191,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 190,
         "name": "",
         "nodeType": "VariableDeclaration",
         "scope": 267,
         "src": "4131:4:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bool",
          "typeString": "bool"
         },
         "typeName": {
          "id": 189,
          "name": "bool",
          "nodeType": "ElementaryTypeName",
          "src": "4131:4:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bool",
           "typeString": "bool"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "4130:6:0"
      },
      "scope": 339,
      "src": "4029:883:0",
      "stateMutability": "payable",
      "superFunction": null,
      "visibility": "external"
     },
     {
      "body": {
       "id": 283,
       "nodeType": "Block",
       "src": "5124:54:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "expression": {
             "argumentTypes": null,
             "arguments": [
              {
               "argumentTypes": null,
               "id": 278,
               "name": "this",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 2751,
               "src": "5156:4:0",
               "typeDescriptions": {
                "typeIdentifier": "t_contract$_Arbitrator_$339",
                "typeString": "contract Arbitrator"
               }
              }
             ],
             "expression": {
              "argumentTypes": [
               {
                "typeIdentifier": "t_contract$_Arbitrator_$339",
                "typeString": "contract Arbitrator"
               }
              ],
              "id": 277,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "nodeType": "ElementaryTypeNameExpression",
              "src": "5148:7:0",
              "typeDescriptions": {
               "typeIdentifier": "t_type$_t_address_$",
               "typeString": "type(address)"
              },
              "typeName": "address"
             },
             "id": 279,
             "isConstant": false,
             "isLValue": false,
             "isPure": false,
             "kind": "typeConversion",
             "lValueRequested": false,
             "names": [],
             "nodeType": "FunctionCall",
             "src": "5148:13:0",
             "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
             }
            },
            "id": 280,
            "isConstant": false,
            "isLValue": false,
            "isPure": false,
            "lValueRequested": false,
            "memberName": "balance",
            "nodeType": "MemberAccess",
            "referencedDeclaration": null,
            "src": "5148:21:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           ],
           "expression": {
            "argumentTypes": null,
            "id": 274,
            "name": "addr",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 269,
            "src": "5134:4:0",
            "typeDescriptions": {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           },
           "id": 276,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "transfer",
           "nodeType": "MemberAccess",
           "referencedDeclaration": null,
           "src": "5134:13:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
            "typeString": "function (uint256)"
           }
          },
          "id": 281,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "5134:36:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 282,
         "nodeType": "ExpressionStatement",
         "src": "5134:36:0"
        }
       ]
      },
      "documentation": "@notice Withdraw any accumulated ETH fees to the specified address\n @param addr The address to which the balance should be sent",
      "id": 284,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 272,
        "modifierName": {
         "argumentTypes": null,
         "id": 271,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "5102:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "5102:9:0"
       }
      ],
      "name": "withdraw",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 270,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 269,
         "name": "addr",
         "nodeType": "VariableDeclaration",
         "scope": 284,
         "src": "5079:12:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_address",
          "typeString": "address"
         },
         "typeName": {
          "id": 268,
          "name": "address",
          "nodeType": "ElementaryTypeName",
          "src": "5079:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "5078:14:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 273,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "5124:0:0"
      },
      "scope": 339,
      "src": "5061:117:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 310,
       "nodeType": "Block",
       "src": "5588:107:0",
       "statements": [
        {
         "assignments": [
          294
         ],
         "declarations": [
          {
           "constant": false,
           "id": 294,
           "name": "bal",
           "nodeType": "VariableDeclaration",
           "scope": 311,
           "src": "5598:11:0",
           "stateVariable": false,
           "storageLocation": "default",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           },
           "typeName": {
            "id": 293,
            "name": "uint256",
            "nodeType": "ElementaryTypeName",
            "src": "5598:7:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           },
           "value": null,
           "visibility": "internal"
          }
         ],
         "id": 301,
         "initialValue": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "arguments": [
             {
              "argumentTypes": null,
              "id": 298,
              "name": "this",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 2751,
              "src": "5637:4:0",
              "typeDescriptions": {
               "typeIdentifier": "t_contract$_Arbitrator_$339",
               "typeString": "contract Arbitrator"
              }
             }
            ],
            "expression": {
             "argumentTypes": [
              {
               "typeIdentifier": "t_contract$_Arbitrator_$339",
               "typeString": "contract Arbitrator"
              }
             ],
             "id": 297,
             "isConstant": false,
             "isLValue": false,
             "isPure": true,
             "lValueRequested": false,
             "nodeType": "ElementaryTypeNameExpression",
             "src": "5629:7:0",
             "typeDescriptions": {
              "typeIdentifier": "t_type$_t_address_$",
              "typeString": "type(address)"
             },
             "typeName": "address"
            },
            "id": 299,
            "isConstant": false,
            "isLValue": false,
            "isPure": false,
            "kind": "typeConversion",
            "lValueRequested": false,
            "names": [],
            "nodeType": "FunctionCall",
            "src": "5629:13:0",
            "typeDescriptions": {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           ],
           "expression": {
            "argumentTypes": null,
            "id": 295,
            "name": "_token",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 286,
            "src": "5612:6:0",
            "typeDescriptions": {
             "typeIdentifier": "t_contract$_IERC20_$453",
             "typeString": "contract IERC20"
            }
           },
           "id": 296,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "balanceOf",
           "nodeType": "MemberAccess",
           "referencedDeclaration": 398,
           "src": "5612:16:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
            "typeString": "function (address) view external returns (uint256)"
           }
          },
          "id": 300,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "5612:31:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "nodeType": "VariableDeclarationStatement",
         "src": "5598:45:0"
        },
        {
         "expression": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 306,
            "name": "addr",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 288,
            "src": "5677:4:0",
            "typeDescriptions": {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           },
           {
            "argumentTypes": null,
            "id": 307,
            "name": "bal",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 294,
            "src": "5683:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_address",
             "typeString": "address"
            },
            {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           ],
           "expression": {
            "argumentTypes": null,
            "arguments": [
             {
              "argumentTypes": null,
              "id": 303,
              "name": "_token",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 286,
              "src": "5660:6:0",
              "typeDescriptions": {
               "typeIdentifier": "t_contract$_IERC20_$453",
               "typeString": "contract IERC20"
              }
             }
            ],
            "expression": {
             "argumentTypes": [
              {
               "typeIdentifier": "t_contract$_IERC20_$453",
               "typeString": "contract IERC20"
              }
             ],
             "id": 302,
             "name": "IERC20",
             "nodeType": "Identifier",
             "overloadedDeclarations": [],
             "referencedDeclaration": 453,
             "src": "5653:6:0",
             "typeDescriptions": {
              "typeIdentifier": "t_type$_t_contract$_IERC20_$453_$",
              "typeString": "type(contract IERC20)"
             }
            },
            "id": 304,
            "isConstant": false,
            "isLValue": false,
            "isPure": false,
            "kind": "typeConversion",
            "lValueRequested": false,
            "names": [],
            "nodeType": "FunctionCall",
            "src": "5653:14:0",
            "typeDescriptions": {
             "typeIdentifier": "t_contract$_IERC20_$453",
             "typeString": "contract IERC20"
            }
           },
           "id": 305,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "transfer",
           "nodeType": "MemberAccess",
           "referencedDeclaration": 416,
           "src": "5653:23:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
            "typeString": "function (address,uint256) external returns (bool)"
           }
          },
          "id": 308,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "5653:34:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bool",
           "typeString": "bool"
          }
         },
         "id": 309,
         "nodeType": "ExpressionStatement",
         "src": "5653:34:0"
        }
       ]
      },
      "documentation": "@notice Withdraw any accumulated token fees to the specified address\n @param addr The address to which the balance should be sent\n @dev Only needed if the Realitio contract used is using an ERC20 token\n @dev Also only normally useful if a per-question fee is set, otherwise we only have ETH.",
      "id": 311,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 291,
        "modifierName": {
         "argumentTypes": null,
         "id": 290,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "5566:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "5566:9:0"
       }
      ],
      "name": "withdrawERC20",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 289,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 286,
         "name": "_token",
         "nodeType": "VariableDeclaration",
         "scope": 311,
         "src": "5528:13:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_contract$_IERC20_$453",
          "typeString": "contract IERC20"
         },
         "typeName": {
          "contractScope": null,
          "id": 285,
          "name": "IERC20",
          "nodeType": "UserDefinedTypeName",
          "referencedDeclaration": 453,
          "src": "5528:6:0",
          "typeDescriptions": {
           "typeIdentifier": "t_contract$_IERC20_$453",
           "typeString": "contract IERC20"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 288,
         "name": "addr",
         "nodeType": "VariableDeclaration",
         "scope": 311,
         "src": "5543:12:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_address",
          "typeString": "address"
         },
         "typeName": {
          "id": 287,
          "name": "address",
          "nodeType": "ElementaryTypeName",
          "src": "5543:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "5527:29:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 292,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "5588:0:0"
      },
      "scope": 339,
      "src": "5505:190:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 314,
       "nodeType": "Block",
       "src": "5734:7:0",
       "statements": []
      },
      "documentation": null,
      "id": 315,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [],
      "name": "",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 312,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "5709:2:0"
      },
      "payable": true,
      "returnParameters": {
       "id": 313,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "5734:0:0"
      },
      "scope": 339,
      "src": "5701:40:0",
      "stateMutability": "payable",
      "superFunction": null,
      "visibility": "external"
     },
     {
      "body": {
       "id": 325,
       "nodeType": "Block",
       "src": "6093:37:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "arguments": [],
          "expression": {
           "argumentTypes": [],
           "expression": {
            "argumentTypes": null,
            "id": 320,
            "name": "realitio",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 8,
            "src": "6103:8:0",
            "typeDescriptions": {
             "typeIdentifier": "t_contract$_Realitio_$2507",
             "typeString": "contract Realitio"
            }
           },
           "id": 322,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "withdraw",
           "nodeType": "MemberAccess",
           "referencedDeclaration": 383,
           "src": "6103:17:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
            "typeString": "function () external"
           }
          },
          "id": 323,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "6103:19:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 324,
         "nodeType": "ExpressionStatement",
         "src": "6103:19:0"
        }
       ]
      },
      "documentation": "@notice Withdraw any accumulated question fees from the specified address into this contract\n @dev Funds can then be liberated from this contract with our withdraw() function\n @dev This works in the same way whether the realitio contract is using ETH or an ERC20 token",
      "id": 326,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 318,
        "modifierName": {
         "argumentTypes": null,
         "id": 317,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "6071:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "6071:9:0"
       }
      ],
      "name": "callWithdraw",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 316,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "6059:2:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 319,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "6093:0:0"
      },
      "scope": 339,
      "src": "6038:92:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 337,
       "nodeType": "Block",
       "src": "6311:37:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 335,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftHandSide": {
           "argumentTypes": null,
           "id": 333,
           "name": "metadata",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 20,
           "src": "6321:8:0",
           "typeDescriptions": {
            "typeIdentifier": "t_string_storage",
            "typeString": "string storage ref"
           }
          },
          "nodeType": "Assignment",
          "operator": "=",
          "rightHandSide": {
           "argumentTypes": null,
           "id": 334,
           "name": "_metadata",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 328,
           "src": "6332:9:0",
           "typeDescriptions": {
            "typeIdentifier": "t_string_memory_ptr",
            "typeString": "string memory"
           }
          },
          "src": "6321:20:0",
          "typeDescriptions": {
           "typeIdentifier": "t_string_storage",
           "typeString": "string storage ref"
          }
         },
         "id": 336,
         "nodeType": "ExpressionStatement",
         "src": "6321:20:0"
        }
       ]
      },
      "documentation": "@notice Set a metadata string, expected to be JSON, containing things like arbitrator TOS address",
      "id": 338,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 331,
        "modifierName": {
         "argumentTypes": null,
         "id": 330,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "6290:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "6290:9:0"
       }
      ],
      "name": "setMetaData",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 329,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 328,
         "name": "_metadata",
         "nodeType": "VariableDeclaration",
         "scope": 338,
         "src": "6263:16:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_string_memory_ptr",
          "typeString": "string"
         },
         "typeName": {
          "id": 327,
          "name": "string",
          "nodeType": "ElementaryTypeName",
          "src": "6263:6:0",
          "typeDescriptions": {
           "typeIdentifier": "t_string_storage_ptr",
           "typeString": "string"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "6262:18:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 332,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "6311:0:0"
      },
      "scope": 339,
      "src": "6242:106:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     }
    ],
    "scope": 340,
    "src": "97:6254:0"
   }
  ],
  "src": "0:6352:0"
 },
 "legacyAST": {
  "absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/Arbitrator.sol",
  "exportedSymbols": {
   "Arbitrator": [
    339
   ]
  },
  "id": 340,
  "nodeType": "SourceUnit",
  "nodes": [
   {
    "id": 1,
    "literals": [
     "solidity",
     "^",
     "0.4",
     ".24"
    ],
    "nodeType": "PragmaDirective",
    "src": "0:24:0"
   },
   {
    "absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/Owned.sol",
    "file": "./Owned.sol",
    "id": 2,
    "nodeType": "ImportDirective",
    "scope": 340,
    "sourceUnit": 491,
    "src": "26:21:0",
    "symbolAliases": [],
    "unitAlias": ""
   },
   {
    "absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/Realitio.sol",
    "file": "./Realitio.sol",
    "id": 3,
    "nodeType": "ImportDirective",
    "scope": 340,
    "sourceUnit": 2508,
    "src": "48:24:0",
    "symbolAliases": [],
    "unitAlias": ""
   },
   {
    "absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/IERC20.sol",
    "file": "./IERC20.sol",
    "id": 4,
    "nodeType": "ImportDirective",
    "scope": 340,
    "sourceUnit": 454,
    "src": "73:22:0",
    "symbolAliases": [],
    "unitAlias": ""
   },
   {
    "baseContracts": [
     {
      "arguments": null,
      "baseName": {
       "contractScope": null,
       "id": 5,
       "name": "Owned",
       "nodeType": "UserDefinedTypeName",
       "referencedDeclaration": 490,
       "src": "120:5:0",
       "typeDescriptions": {
        "typeIdentifier": "t_contract$_Owned_$490",
        "typeString": "contract Owned"
       }
      },
      "id": 6,
      "nodeType": "InheritanceSpecifier",
      "src": "120:5:0"
     }
    ],
    "contractDependencies": [
     490
    ],
    "contractKind": "contract",
    "documentation": null,
    "fullyImplemented": true,
    "id": 339,
    "linearizedBaseContracts": [
     339,
     490
    ],
    "name": "Arbitrator",
    "nodeType": "ContractDefinition",
    "nodes": [
     {
      "constant": false,
      "id": 8,
      "name": "realitio",
      "nodeType": "VariableDeclaration",
      "scope": 339,
      "src": "133:24:0",
      "stateVariable": true,
      "storageLocation": "default",
      "typeDescriptions": {
       "typeIdentifier": "t_contract$_Realitio_$2507",
       "typeString": "contract Realitio"
      },
      "typeName": {
       "contractScope": null,
       "id": 7,
       "name": "Realitio",
       "nodeType": "UserDefinedTypeName",
       "referencedDeclaration": 2507,
       "src": "133:8:0",
       "typeDescriptions": {
        "typeIdentifier": "t_contract$_Realitio_$2507",
        "typeString": "contract Realitio"
       }
      },
      "value": null,
      "visibility": "public"
     },
     {
      "constant": false,
      "id": 12,
      "name": "arbitration_bounties",
      "nodeType": "VariableDeclaration",
      "scope": 339,
      "src": "164:55:0",
      "stateVariable": true,
      "storageLocation": "default",
      "typeDescriptions": {
       "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
       "typeString": "mapping(bytes32 => uint256)"
      },
      "typeName": {
       "id": 11,
       "keyType": {
        "id": 9,
        "name": "bytes32",
        "nodeType": "ElementaryTypeName",
        "src": "172:7:0",
        "typeDescriptions": {
         "typeIdentifier": "t_bytes32",
         "typeString": "bytes32"
        }
       },
       "nodeType": "Mapping",
       "src": "164:27:0",
       "typeDescriptions": {
        "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
        "typeString": "mapping(bytes32 => uint256)"
       },
       "valueType": {
        "id": 10,
        "name": "uint256",
        "nodeType": "ElementaryTypeName",
        "src": "183:7:0",
        "typeDescriptions": {
         "typeIdentifier": "t_uint256",
         "typeString": "uint256"
        }
       }
      },
      "value": null,
      "visibility": "public"
     },
     {
      "constant": false,
      "id": 14,
      "name": "dispute_fee",
      "nodeType": "VariableDeclaration",
      "scope": 339,
      "src": "226:19:0",
      "stateVariable": true,
      "storageLocation": "default",
      "typeDescriptions": {
       "typeIdentifier": "t_uint256",
       "typeString": "uint256"
      },
      "typeName": {
       "id": 13,
       "name": "uint256",
       "nodeType": "ElementaryTypeName",
       "src": "226:7:0",
       "typeDescriptions": {
        "typeIdentifier": "t_uint256",
        "typeString": "uint256"
       }
      },
      "value": null,
      "visibility": "internal"
     },
     {
      "constant": false,
      "id": 18,
      "name": "custom_dispute_fees",
      "nodeType": "VariableDeclaration",
      "scope": 339,
      "src": "251:47:0",
      "stateVariable": true,
      "storageLocation": "default",
      "typeDescriptions": {
       "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
       "typeString": "mapping(bytes32 => uint256)"
      },
      "typeName": {
       "id": 17,
       "keyType": {
        "id": 15,
        "name": "bytes32",
        "nodeType": "ElementaryTypeName",
        "src": "259:7:0",
        "typeDescriptions": {
         "typeIdentifier": "t_bytes32",
         "typeString": "bytes32"
        }
       },
       "nodeType": "Mapping",
       "src": "251:27:0",
       "typeDescriptions": {
        "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
        "typeString": "mapping(bytes32 => uint256)"
       },
       "valueType": {
        "id": 16,
        "name": "uint256",
        "nodeType": "ElementaryTypeName",
        "src": "270:7:0",
        "typeDescriptions": {
         "typeIdentifier": "t_uint256",
         "typeString": "uint256"
        }
       }
      },
      "value": null,
      "visibility": "internal"
     },
     {
      "constant": false,
      "id": 20,
      "name": "metadata",
      "nodeType": "VariableDeclaration",
      "scope": 339,
      "src": "305:22:0",
      "stateVariable": true,
      "storageLocation": "default",
      "typeDescriptions": {
       "typeIdentifier": "t_string_storage",
       "typeString": "string"
      },
      "typeName": {
       "id": 19,
       "name": "string",
       "nodeType": "ElementaryTypeName",
       "src": "305:6:0",
       "typeDescriptions": {
        "typeIdentifier": "t_string_storage_ptr",
        "typeString": "string"
       }
      },
      "value": null,
      "visibility": "public"
     },
     {
      "anonymous": false,
      "documentation": null,
      "id": 30,
      "name": "LogRequestArbitration",
      "nodeType": "EventDefinition",
      "parameters": {
       "id": 29,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 22,
         "indexed": true,
         "name": "question_id",
         "nodeType": "VariableDeclaration",
         "scope": 30,
         "src": "371:27:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 21,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "371:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 24,
         "indexed": false,
         "name": "fee_paid",
         "nodeType": "VariableDeclaration",
         "scope": 30,
         "src": "408:16:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 23,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "408:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 26,
         "indexed": false,
         "name": "requester",
         "nodeType": "VariableDeclaration",
         "scope": 30,
         "src": "434:17:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_address",
          "typeString": "address"
         },
         "typeName": {
          "id": 25,
          "name": "address",
          "nodeType": "ElementaryTypeName",
          "src": "434:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 28,
         "indexed": false,
         "name": "remaining",
         "nodeType": "VariableDeclaration",
         "scope": 30,
         "src": "461:17:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 27,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "461:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "361:123:0"
      },
      "src": "334:151:0"
     },
     {
      "anonymous": false,
      "documentation": null,
      "id": 34,
      "name": "LogSetRealitio",
      "nodeType": "EventDefinition",
      "parameters": {
       "id": 33,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 32,
         "indexed": false,
         "name": "realitio",
         "nodeType": "VariableDeclaration",
         "scope": 34,
         "src": "521:16:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_address",
          "typeString": "address"
         },
         "typeName": {
          "id": 31,
          "name": "address",
          "nodeType": "ElementaryTypeName",
          "src": "521:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "511:32:0"
      },
      "src": "491:53:0"
     },
     {
      "anonymous": false,
      "documentation": null,
      "id": 38,
      "name": "LogSetQuestionFee",
      "nodeType": "EventDefinition",
      "parameters": {
       "id": 37,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 36,
         "indexed": false,
         "name": "fee",
         "nodeType": "VariableDeclaration",
         "scope": 38,
         "src": "583:11:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 35,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "583:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "573:27:0"
      },
      "src": "550:51:0"
     },
     {
      "anonymous": false,
      "documentation": null,
      "id": 42,
      "name": "LogSetDisputeFee",
      "nodeType": "EventDefinition",
      "parameters": {
       "id": 41,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 40,
         "indexed": false,
         "name": "fee",
         "nodeType": "VariableDeclaration",
         "scope": 42,
         "src": "640:11:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 39,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "640:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "630:27:0"
      },
      "src": "608:50:0"
     },
     {
      "anonymous": false,
      "documentation": null,
      "id": 48,
      "name": "LogSetCustomDisputeFee",
      "nodeType": "EventDefinition",
      "parameters": {
       "id": 47,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 44,
         "indexed": true,
         "name": "question_id",
         "nodeType": "VariableDeclaration",
         "scope": 48,
         "src": "702:27:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 43,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "702:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 46,
         "indexed": false,
         "name": "fee",
         "nodeType": "VariableDeclaration",
         "scope": 48,
         "src": "739:11:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 45,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "739:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "692:64:0"
      },
      "src": "664:93:0"
     },
     {
      "body": {
       "id": 56,
       "nodeType": "Block",
       "src": "855:35:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 54,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftHandSide": {
           "argumentTypes": null,
           "id": 51,
           "name": "owner",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 457,
           "src": "865:5:0",
           "typeDescriptions": {
            "typeIdentifier": "t_address",
            "typeString": "address"
           }
          },
          "nodeType": "Assignment",
          "operator": "=",
          "rightHandSide": {
           "argumentTypes": null,
           "expression": {
            "argumentTypes": null,
            "id": 52,
            "name": "msg",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 2726,
            "src": "873:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_magic_message",
             "typeString": "msg"
            }
           },
           "id": 53,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "sender",
           "nodeType": "MemberAccess",
           "referencedDeclaration": null,
           "src": "873:10:0",
           "typeDescriptions": {
            "typeIdentifier": "t_address",
            "typeString": "address"
           }
          },
          "src": "865:18:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "id": 55,
         "nodeType": "ExpressionStatement",
         "src": "865:18:0"
        }
       ]
      },
      "documentation": "@notice Constructor. Sets the deploying address as owner.",
      "id": 57,
      "implemented": true,
      "isConstructor": true,
      "isDeclaredConst": false,
      "modifiers": [],
      "name": "",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 49,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "840:2:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 50,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "855:0:0"
      },
      "scope": 339,
      "src": "829:61:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 64,
       "nodeType": "Block",
       "src": "1048:32:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 62,
          "name": "realitio",
          "nodeType": "Identifier",
          "overloadedDeclarations": [],
          "referencedDeclaration": 8,
          "src": "1065:8:0",
          "typeDescriptions": {
           "typeIdentifier": "t_contract$_Realitio_$2507",
           "typeString": "contract Realitio"
          }
         },
         "functionReturnParameters": 61,
         "id": 63,
         "nodeType": "Return",
         "src": "1058:15:0"
        }
       ]
      },
      "documentation": "@notice Returns the Realitio contract address - deprecated in favour of realitio()",
      "id": 65,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": true,
      "modifiers": [],
      "name": "realitycheck",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 58,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "1008:2:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 61,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 60,
         "name": "",
         "nodeType": "VariableDeclaration",
         "scope": 65,
         "src": "1038:8:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_contract$_Realitio_$2507",
          "typeString": "contract Realitio"
         },
         "typeName": {
          "contractScope": null,
          "id": 59,
          "name": "Realitio",
          "nodeType": "UserDefinedTypeName",
          "referencedDeclaration": 2507,
          "src": "1038:8:0",
          "typeDescriptions": {
           "typeIdentifier": "t_contract$_Realitio_$2507",
           "typeString": "contract Realitio"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "1037:10:0"
      },
      "scope": 339,
      "src": "987:93:0",
      "stateMutability": "view",
      "superFunction": null,
      "visibility": "external"
     },
     {
      "body": {
       "id": 82,
       "nodeType": "Block",
       "src": "1269:77:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 76,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftHandSide": {
           "argumentTypes": null,
           "id": 72,
           "name": "realitio",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 8,
           "src": "1279:8:0",
           "typeDescriptions": {
            "typeIdentifier": "t_contract$_Realitio_$2507",
            "typeString": "contract Realitio"
           }
          },
          "nodeType": "Assignment",
          "operator": "=",
          "rightHandSide": {
           "argumentTypes": null,
           "arguments": [
            {
             "argumentTypes": null,
             "id": 74,
             "name": "addr",
             "nodeType": "Identifier",
             "overloadedDeclarations": [],
             "referencedDeclaration": 67,
             "src": "1299:4:0",
             "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
             }
            }
           ],
           "expression": {
            "argumentTypes": [
             {
              "typeIdentifier": "t_address",
              "typeString": "address"
             }
            ],
            "id": 73,
            "name": "Realitio",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 2507,
            "src": "1290:8:0",
            "typeDescriptions": {
             "typeIdentifier": "t_type$_t_contract$_Realitio_$2507_$",
             "typeString": "type(contract Realitio)"
            }
           },
           "id": 75,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "kind": "typeConversion",
           "lValueRequested": false,
           "names": [],
           "nodeType": "FunctionCall",
           "src": "1290:14:0",
           "typeDescriptions": {
            "typeIdentifier": "t_contract$_Realitio_$2507",
            "typeString": "contract Realitio"
           }
          },
          "src": "1279:25:0",
          "typeDescriptions": {
           "typeIdentifier": "t_contract$_Realitio_$2507",
           "typeString": "contract Realitio"
          }
         },
         "id": 77,
         "nodeType": "ExpressionStatement",
         "src": "1279:25:0"
        },
        {
         "eventCall": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 79,
            "name": "addr",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 67,
            "src": "1334:4:0",
            "typeDescriptions": {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           ],
           "id": 78,
           "name": "LogSetRealitio",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 34,
           "src": "1319:14:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
            "typeString": "function (address)"
           }
          },
          "id": 80,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "1319:20:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 81,
         "nodeType": "EmitStatement",
         "src": "1314:25:0"
        }
       ]
      },
      "documentation": "@notice Set the Reality Check contract address\n @param addr The address of the Reality Check contract",
      "id": 83,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 70,
        "modifierName": {
         "argumentTypes": null,
         "id": 69,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "1247:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "1247:9:0"
       }
      ],
      "name": "setRealitio",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 68,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 67,
         "name": "addr",
         "nodeType": "VariableDeclaration",
         "scope": 83,
         "src": "1224:12:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_address",
          "typeString": "address"
         },
         "typeName": {
          "id": 66,
          "name": "address",
          "nodeType": "ElementaryTypeName",
          "src": "1224:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "1223:14:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 71,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "1269:0:0"
      },
      "scope": 339,
      "src": "1203:143:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 98,
       "nodeType": "Block",
       "src": "1497:70:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 92,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftHandSide": {
           "argumentTypes": null,
           "id": 90,
           "name": "dispute_fee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 14,
           "src": "1507:11:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "nodeType": "Assignment",
          "operator": "=",
          "rightHandSide": {
           "argumentTypes": null,
           "id": 91,
           "name": "fee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 85,
           "src": "1521:3:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "src": "1507:17:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "id": 93,
         "nodeType": "ExpressionStatement",
         "src": "1507:17:0"
        },
        {
         "eventCall": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 95,
            "name": "fee",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 85,
            "src": "1556:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           ],
           "id": 94,
           "name": "LogSetDisputeFee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 42,
           "src": "1539:16:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
            "typeString": "function (uint256)"
           }
          },
          "id": 96,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "1539:21:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 97,
         "nodeType": "EmitStatement",
         "src": "1534:26:0"
        }
       ]
      },
      "documentation": "@notice Set the default fee\n @param fee The default fee amount",
      "id": 99,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 88,
        "modifierName": {
         "argumentTypes": null,
         "id": 87,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "1475:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "1475:9:0"
       }
      ],
      "name": "setDisputeFee",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 86,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 85,
         "name": "fee",
         "nodeType": "VariableDeclaration",
         "scope": 99,
         "src": "1453:11:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 84,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "1453:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "1452:13:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 89,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "1497:0:0"
      },
      "scope": 339,
      "src": "1430:137:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 119,
       "nodeType": "Block",
       "src": "1815:110:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 112,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftHandSide": {
           "argumentTypes": null,
           "baseExpression": {
            "argumentTypes": null,
            "id": 108,
            "name": "custom_dispute_fees",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 18,
            "src": "1825:19:0",
            "typeDescriptions": {
             "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
             "typeString": "mapping(bytes32 => uint256)"
            }
           },
           "id": 110,
           "indexExpression": {
            "argumentTypes": null,
            "id": 109,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 101,
            "src": "1845:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           "isConstant": false,
           "isLValue": true,
           "isPure": false,
           "lValueRequested": true,
           "nodeType": "IndexAccess",
           "src": "1825:32:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "nodeType": "Assignment",
          "operator": "=",
          "rightHandSide": {
           "argumentTypes": null,
           "id": 111,
           "name": "fee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 103,
           "src": "1860:3:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "src": "1825:38:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "id": 113,
         "nodeType": "ExpressionStatement",
         "src": "1825:38:0"
        },
        {
         "eventCall": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 115,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 101,
            "src": "1901:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           {
            "argumentTypes": null,
            "id": 116,
            "name": "fee",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 103,
            "src": "1914:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            },
            {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           ],
           "id": 114,
           "name": "LogSetCustomDisputeFee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 48,
           "src": "1878:22:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
            "typeString": "function (bytes32,uint256)"
           }
          },
          "id": 117,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "1878:40:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 118,
         "nodeType": "EmitStatement",
         "src": "1873:45:0"
        }
       ]
      },
      "documentation": "@notice Set a custom fee for this particular question\n @param question_id The question in question\n @param fee The fee amount",
      "id": 120,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 106,
        "modifierName": {
         "argumentTypes": null,
         "id": 105,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "1793:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "1793:9:0"
       }
      ],
      "name": "setCustomDisputeFee",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 104,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 101,
         "name": "question_id",
         "nodeType": "VariableDeclaration",
         "scope": 120,
         "src": "1750:19:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 100,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "1750:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 103,
         "name": "fee",
         "nodeType": "VariableDeclaration",
         "scope": 120,
         "src": "1771:11:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 102,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "1771:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "1749:34:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 107,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "1815:0:0"
      },
      "scope": 339,
      "src": "1721:204:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 139,
       "nodeType": "Block",
       "src": "2262:111:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "condition": {
           "argumentTypes": null,
           "components": [
            {
             "argumentTypes": null,
             "commonType": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
             },
             "id": 131,
             "isConstant": false,
             "isLValue": false,
             "isPure": false,
             "lValueRequested": false,
             "leftExpression": {
              "argumentTypes": null,
              "baseExpression": {
               "argumentTypes": null,
               "id": 127,
               "name": "custom_dispute_fees",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 18,
               "src": "2280:19:0",
               "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                "typeString": "mapping(bytes32 => uint256)"
               }
              },
              "id": 129,
              "indexExpression": {
               "argumentTypes": null,
               "id": 128,
               "name": "question_id",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 122,
               "src": "2300:11:0",
               "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               }
              },
              "isConstant": false,
              "isLValue": true,
              "isPure": false,
              "lValueRequested": false,
              "nodeType": "IndexAccess",
              "src": "2280:32:0",
              "typeDescriptions": {
               "typeIdentifier": "t_uint256",
               "typeString": "uint256"
              }
             },
             "nodeType": "BinaryOperation",
             "operator": ">",
             "rightExpression": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 130,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2315:1:0",
              "subdenomination": null,
              "typeDescriptions": {
               "typeIdentifier": "t_rational_0_by_1",
               "typeString": "int_const 0"
              },
              "value": "0"
             },
             "src": "2280:36:0",
             "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
             }
            }
           ],
           "id": 132,
           "isConstant": false,
           "isInlineArray": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "nodeType": "TupleExpression",
           "src": "2279:38:0",
           "typeDescriptions": {
            "typeIdentifier": "t_bool",
            "typeString": "bool"
           }
          },
          "falseExpression": {
           "argumentTypes": null,
           "id": 136,
           "name": "dispute_fee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 14,
           "src": "2355:11:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "id": 137,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "nodeType": "Conditional",
          "src": "2279:87:0",
          "trueExpression": {
           "argumentTypes": null,
           "baseExpression": {
            "argumentTypes": null,
            "id": 133,
            "name": "custom_dispute_fees",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 18,
            "src": "2320:19:0",
            "typeDescriptions": {
             "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
             "typeString": "mapping(bytes32 => uint256)"
            }
           },
           "id": 135,
           "indexExpression": {
            "argumentTypes": null,
            "id": 134,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 122,
            "src": "2340:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           "isConstant": false,
           "isLValue": true,
           "isPure": false,
           "lValueRequested": false,
           "nodeType": "IndexAccess",
           "src": "2320:32:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "functionReturnParameters": 126,
         "id": 138,
         "nodeType": "Return",
         "src": "2272:94:0"
        }
       ]
      },
      "documentation": "@notice Return the dispute fee for the specified question. 0 indicates that we won't arbitrate it.\n @param question_id The question in question\n @dev Uses a general default, but can be over-ridden on a question-by-question basis.",
      "id": 140,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": true,
      "modifiers": [],
      "name": "getDisputeFee",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 123,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 122,
         "name": "question_id",
         "nodeType": "VariableDeclaration",
         "scope": 140,
         "src": "2206:19:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 121,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "2206:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "2205:21:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 126,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 125,
         "name": "",
         "nodeType": "VariableDeclaration",
         "scope": 140,
         "src": "2253:7:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 124,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "2253:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "2252:9:0"
      },
      "scope": 339,
      "src": "2183:190:0",
      "stateMutability": "view",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 157,
       "nodeType": "Block",
       "src": "2916:82:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 150,
            "name": "fee",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 142,
            "src": "2950:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           ],
           "expression": {
            "argumentTypes": null,
            "id": 147,
            "name": "realitio",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 8,
            "src": "2926:8:0",
            "typeDescriptions": {
             "typeIdentifier": "t_contract$_Realitio_$2507",
             "typeString": "contract Realitio"
            }
           },
           "id": 149,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "setQuestionFee",
           "nodeType": "MemberAccess",
           "referencedDeclaration": 962,
           "src": "2926:23:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
            "typeString": "function (uint256) external"
           }
          },
          "id": 151,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "2926:28:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 152,
         "nodeType": "ExpressionStatement",
         "src": "2926:28:0"
        },
        {
         "eventCall": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 154,
            "name": "fee",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 142,
            "src": "2987:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           ],
           "id": 153,
           "name": "LogSetQuestionFee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 38,
           "src": "2969:17:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
            "typeString": "function (uint256)"
           }
          },
          "id": 155,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "2969:22:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 156,
         "nodeType": "EmitStatement",
         "src": "2964:27:0"
        }
       ]
      },
      "documentation": "@notice Set a fee for asking a question with us as the arbitrator\n @param fee The fee amount\n @dev Default is no fee. Unlike the dispute fee, 0 is an acceptable setting.\n You could set an impossibly high fee if you want to prevent us being used as arbitrator unless we submit the question.\n (Submitting the question ourselves is not implemented here.)\n This fee can be used as a revenue source, an anti-spam measure, or both.",
      "id": 158,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 145,
        "modifierName": {
         "argumentTypes": null,
         "id": 144,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "2894:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "2894:9:0"
       }
      ],
      "name": "setQuestionFee",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 143,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 142,
         "name": "fee",
         "nodeType": "VariableDeclaration",
         "scope": 158,
         "src": "2872:11:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 141,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "2872:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "2871:13:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 146,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "2916:0:0"
      },
      "scope": 339,
      "src": "2848:150:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 182,
       "nodeType": "Block",
       "src": "3394:131:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 172,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "nodeType": "UnaryOperation",
          "operator": "delete",
          "prefix": true,
          "src": "3404:40:0",
          "subExpression": {
           "argumentTypes": null,
           "baseExpression": {
            "argumentTypes": null,
            "id": 169,
            "name": "arbitration_bounties",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 12,
            "src": "3411:20:0",
            "typeDescriptions": {
             "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
             "typeString": "mapping(bytes32 => uint256)"
            }
           },
           "id": 171,
           "indexExpression": {
            "argumentTypes": null,
            "id": 170,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 160,
            "src": "3432:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           "isConstant": false,
           "isLValue": true,
           "isPure": false,
           "lValueRequested": true,
           "nodeType": "IndexAccess",
           "src": "3411:33:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 173,
         "nodeType": "ExpressionStatement",
         "src": "3404:40:0"
        },
        {
         "expression": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 177,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 160,
            "src": "3488:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           {
            "argumentTypes": null,
            "id": 178,
            "name": "answer",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 162,
            "src": "3501:6:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           {
            "argumentTypes": null,
            "id": 179,
            "name": "answerer",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 164,
            "src": "3509:8:0",
            "typeDescriptions": {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            },
            {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            },
            {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           ],
           "expression": {
            "argumentTypes": null,
            "id": 174,
            "name": "realitio",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 8,
            "src": "3454:8:0",
            "typeDescriptions": {
             "typeIdentifier": "t_contract$_Realitio_$2507",
             "typeString": "contract Realitio"
            }
           },
           "id": 176,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "submitAnswerByArbitrator",
           "nodeType": "MemberAccess",
           "referencedDeclaration": 1683,
           "src": "3454:33:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$",
            "typeString": "function (bytes32,bytes32,address) external"
           }
          },
          "id": 180,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "3454:64:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 181,
         "nodeType": "ExpressionStatement",
         "src": "3454:64:0"
        }
       ]
      },
      "documentation": "@notice Submit the arbitrator's answer to a question.\n @param question_id The question in question\n @param answer The answer\n @param answerer The answerer. If arbitration changed the answer, it should be the payer. If not, the old answerer.",
      "id": 183,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 167,
        "modifierName": {
         "argumentTypes": null,
         "id": 166,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "3372:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "3372:9:0"
       }
      ],
      "name": "submitAnswerByArbitrator",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 165,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 160,
         "name": "question_id",
         "nodeType": "VariableDeclaration",
         "scope": 183,
         "src": "3308:19:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 159,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "3308:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 162,
         "name": "answer",
         "nodeType": "VariableDeclaration",
         "scope": 183,
         "src": "3329:14:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 161,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "3329:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 164,
         "name": "answerer",
         "nodeType": "VariableDeclaration",
         "scope": 183,
         "src": "3345:16:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_address",
          "typeString": "address"
         },
         "typeName": {
          "id": 163,
          "name": "address",
          "nodeType": "ElementaryTypeName",
          "src": "3345:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "3307:55:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 168,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "3394:0:0"
      },
      "scope": 339,
      "src": "3274:251:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 266,
       "nodeType": "Block",
       "src": "4137:775:0",
       "statements": [
        {
         "assignments": [
          193
         ],
         "declarations": [
          {
           "constant": false,
           "id": 193,
           "name": "arbitration_fee",
           "nodeType": "VariableDeclaration",
           "scope": 267,
           "src": "4148:23:0",
           "stateVariable": false,
           "storageLocation": "default",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           },
           "typeName": {
            "id": 192,
            "name": "uint256",
            "nodeType": "ElementaryTypeName",
            "src": "4148:7:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           },
           "value": null,
           "visibility": "internal"
          }
         ],
         "id": 197,
         "initialValue": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 195,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 185,
            "src": "4188:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           ],
           "id": 194,
           "name": "getDisputeFee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 140,
           "src": "4174:13:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
            "typeString": "function (bytes32) view returns (uint256)"
           }
          },
          "id": 196,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "4174:26:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "nodeType": "VariableDeclarationStatement",
         "src": "4148:52:0"
        },
        {
         "expression": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "commonType": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            },
            "id": 201,
            "isConstant": false,
            "isLValue": false,
            "isPure": false,
            "lValueRequested": false,
            "leftExpression": {
             "argumentTypes": null,
             "id": 199,
             "name": "arbitration_fee",
             "nodeType": "Identifier",
             "overloadedDeclarations": [],
             "referencedDeclaration": 193,
             "src": "4218:15:0",
             "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
             }
            },
            "nodeType": "BinaryOperation",
            "operator": ">",
            "rightExpression": {
             "argumentTypes": null,
             "hexValue": "30",
             "id": 200,
             "isConstant": false,
             "isLValue": false,
             "isPure": true,
             "kind": "number",
             "lValueRequested": false,
             "nodeType": "Literal",
             "src": "4236:1:0",
             "subdenomination": null,
             "typeDescriptions": {
              "typeIdentifier": "t_rational_0_by_1",
              "typeString": "int_const 0"
             },
             "value": "0"
            },
            "src": "4218:19:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bool",
             "typeString": "bool"
            }
           },
           {
            "argumentTypes": null,
            "hexValue": "5468652061726269747261746f72206d7573742068617665207365742061206e6f6e2d7a65726f2066656520666f7220746865207175657374696f6e",
            "id": 202,
            "isConstant": false,
            "isLValue": false,
            "isPure": true,
            "kind": "string",
            "lValueRequested": false,
            "nodeType": "Literal",
            "src": "4239:62:0",
            "subdenomination": null,
            "typeDescriptions": {
             "typeIdentifier": "t_stringliteral_72b298b87bad4c7d978585a27e4ac31ece329de5cea2dd93ff61a115129b1c48",
             "typeString": "literal_string \"The arbitrator must have set a non-zero fee for the question\""
            },
            "value": "The arbitrator must have set a non-zero fee for the question"
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_bool",
             "typeString": "bool"
            },
            {
             "typeIdentifier": "t_stringliteral_72b298b87bad4c7d978585a27e4ac31ece329de5cea2dd93ff61a115129b1c48",
             "typeString": "literal_string \"The arbitrator must have set a non-zero fee for the question\""
            }
           ],
           "id": 198,
           "name": "require",
           "nodeType": "Identifier",
           "overloadedDeclarations": [
            2729,
            2730
           ],
           "referencedDeclaration": 2730,
           "src": "4210:7:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
            "typeString": "function (bool,string memory) pure"
           }
          },
          "id": 203,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "4210:92:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 204,
         "nodeType": "ExpressionStatement",
         "src": "4210:92:0"
        },
        {
         "expression": {
          "argumentTypes": null,
          "id": 210,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftHandSide": {
           "argumentTypes": null,
           "baseExpression": {
            "argumentTypes": null,
            "id": 205,
            "name": "arbitration_bounties",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 12,
            "src": "4313:20:0",
            "typeDescriptions": {
             "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
             "typeString": "mapping(bytes32 => uint256)"
            }
           },
           "id": 207,
           "indexExpression": {
            "argumentTypes": null,
            "id": 206,
            "name": "question_id",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 185,
            "src": "4334:11:0",
            "typeDescriptions": {
             "typeIdentifier": "t_bytes32",
             "typeString": "bytes32"
            }
           },
           "isConstant": false,
           "isLValue": true,
           "isPure": false,
           "lValueRequested": true,
           "nodeType": "IndexAccess",
           "src": "4313:33:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "nodeType": "Assignment",
          "operator": "+=",
          "rightHandSide": {
           "argumentTypes": null,
           "expression": {
            "argumentTypes": null,
            "id": 208,
            "name": "msg",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 2726,
            "src": "4350:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_magic_message",
             "typeString": "msg"
            }
           },
           "id": 209,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "value",
           "nodeType": "MemberAccess",
           "referencedDeclaration": null,
           "src": "4350:9:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "src": "4313:46:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "id": 211,
         "nodeType": "ExpressionStatement",
         "src": "4313:46:0"
        },
        {
         "assignments": [
          213
         ],
         "declarations": [
          {
           "constant": false,
           "id": 213,
           "name": "paid",
           "nodeType": "VariableDeclaration",
           "scope": 267,
           "src": "4369:12:0",
           "stateVariable": false,
           "storageLocation": "default",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           },
           "typeName": {
            "id": 212,
            "name": "uint256",
            "nodeType": "ElementaryTypeName",
            "src": "4369:7:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           },
           "value": null,
           "visibility": "internal"
          }
         ],
         "id": 217,
         "initialValue": {
          "argumentTypes": null,
          "baseExpression": {
           "argumentTypes": null,
           "id": 214,
           "name": "arbitration_bounties",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 12,
           "src": "4384:20:0",
           "typeDescriptions": {
            "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
            "typeString": "mapping(bytes32 => uint256)"
           }
          },
          "id": 216,
          "indexExpression": {
           "argumentTypes": null,
           "id": 215,
           "name": "question_id",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 185,
           "src": "4405:11:0",
           "typeDescriptions": {
            "typeIdentifier": "t_bytes32",
            "typeString": "bytes32"
           }
          },
          "isConstant": false,
          "isLValue": true,
          "isPure": false,
          "lValueRequested": false,
          "nodeType": "IndexAccess",
          "src": "4384:33:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "nodeType": "VariableDeclarationStatement",
         "src": "4369:48:0"
        },
        {
         "condition": {
          "argumentTypes": null,
          "commonType": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          },
          "id": 220,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftExpression": {
           "argumentTypes": null,
           "id": 218,
           "name": "paid",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 213,
           "src": "4432:4:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "nodeType": "BinaryOperation",
          "operator": ">=",
          "rightExpression": {
           "argumentTypes": null,
           "id": 219,
           "name": "arbitration_fee",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 193,
           "src": "4440:15:0",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           }
          },
          "src": "4432:23:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bool",
           "typeString": "bool"
          }
         },
         "falseBody": {
          "id": 264,
          "nodeType": "Block",
          "src": "4666:239:0",
          "statements": [
           {
            "expression": {
             "argumentTypes": null,
             "arguments": [
              {
               "argumentTypes": null,
               "id": 247,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "nodeType": "UnaryOperation",
               "operator": "!",
               "prefix": true,
               "src": "4688:34:0",
               "subExpression": {
                "argumentTypes": null,
                "arguments": [
                 {
                  "argumentTypes": null,
                  "id": 245,
                  "name": "question_id",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 185,
                  "src": "4710:11:0",
                  "typeDescriptions": {
                   "typeIdentifier": "t_bytes32",
                   "typeString": "bytes32"
                  }
                 }
                ],
                "expression": {
                 "argumentTypes": [
                  {
                   "typeIdentifier": "t_bytes32",
                   "typeString": "bytes32"
                  }
                 ],
                 "expression": {
                  "argumentTypes": null,
                  "id": 243,
                  "name": "realitio",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8,
                  "src": "4689:8:0",
                  "typeDescriptions": {
                   "typeIdentifier": "t_contract$_Realitio_$2507",
                   "typeString": "contract Realitio"
                  }
                 },
                 "id": 244,
                 "isConstant": false,
                 "isLValue": false,
                 "isPure": false,
                 "lValueRequested": false,
                 "memberName": "isFinalized",
                 "nodeType": "MemberAccess",
                 "referencedDeclaration": 1717,
                 "src": "4689:20:0",
                 "typeDescriptions": {
                  "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bool_$",
                  "typeString": "function (bytes32) view external returns (bool)"
                 }
                },
                "id": 246,
                "isConstant": false,
                "isLValue": false,
                "isPure": false,
                "kind": "functionCall",
                "lValueRequested": false,
                "names": [],
                "nodeType": "FunctionCall",
                "src": "4689:33:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_bool",
                 "typeString": "bool"
                }
               },
               "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
               }
              },
              {
               "argumentTypes": null,
               "hexValue": "546865207175657374696f6e206d757374206e6f742068617665206265656e2066696e616c697a6564",
               "id": 248,
               "isConstant": false,
               "isLValue": false,
               "isPure": true,
               "kind": "string",
               "lValueRequested": false,
               "nodeType": "Literal",
               "src": "4724:43:0",
               "subdenomination": null,
               "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_e967b5d9fecc255e50879b27d4801cdeebbadcb0d4ff678250ec0b680707bc3f",
                "typeString": "literal_string \"The question must not have been finalized\""
               },
               "value": "The question must not have been finalized"
              }
             ],
             "expression": {
              "argumentTypes": [
               {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
               },
               {
                "typeIdentifier": "t_stringliteral_e967b5d9fecc255e50879b27d4801cdeebbadcb0d4ff678250ec0b680707bc3f",
                "typeString": "literal_string \"The question must not have been finalized\""
               }
              ],
              "id": 242,
              "name": "require",
              "nodeType": "Identifier",
              "overloadedDeclarations": [
               2729,
               2730
              ],
              "referencedDeclaration": 2730,
              "src": "4680:7:0",
              "typeDescriptions": {
               "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
               "typeString": "function (bool,string memory) pure"
              }
             },
             "id": 249,
             "isConstant": false,
             "isLValue": false,
             "isPure": false,
             "kind": "functionCall",
             "lValueRequested": false,
             "names": [],
             "nodeType": "FunctionCall",
             "src": "4680:88:0",
             "typeDescriptions": {
              "typeIdentifier": "t_tuple$__$",
              "typeString": "tuple()"
             }
            },
            "id": 250,
            "nodeType": "ExpressionStatement",
            "src": "4680:88:0"
           },
           {
            "eventCall": {
             "argumentTypes": null,
             "arguments": [
              {
               "argumentTypes": null,
               "id": 252,
               "name": "question_id",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 185,
               "src": "4809:11:0",
               "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               }
              },
              {
               "argumentTypes": null,
               "expression": {
                "argumentTypes": null,
                "id": 253,
                "name": "msg",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 2726,
                "src": "4822:3:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_magic_message",
                 "typeString": "msg"
                }
               },
               "id": 254,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "memberName": "value",
               "nodeType": "MemberAccess",
               "referencedDeclaration": null,
               "src": "4822:9:0",
               "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               }
              },
              {
               "argumentTypes": null,
               "expression": {
                "argumentTypes": null,
                "id": 255,
                "name": "msg",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 2726,
                "src": "4833:3:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_magic_message",
                 "typeString": "msg"
                }
               },
               "id": 256,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "memberName": "sender",
               "nodeType": "MemberAccess",
               "referencedDeclaration": null,
               "src": "4833:10:0",
               "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
               }
              },
              {
               "argumentTypes": null,
               "commonType": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               },
               "id": 259,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "leftExpression": {
                "argumentTypes": null,
                "id": 257,
                "name": "arbitration_fee",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 193,
                "src": "4845:15:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_uint256",
                 "typeString": "uint256"
                }
               },
               "nodeType": "BinaryOperation",
               "operator": "-",
               "rightExpression": {
                "argumentTypes": null,
                "id": 258,
                "name": "paid",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 213,
                "src": "4863:4:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_uint256",
                 "typeString": "uint256"
                }
               },
               "src": "4845:22:0",
               "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               }
              }
             ],
             "expression": {
              "argumentTypes": [
               {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               },
               {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               },
               {
                "typeIdentifier": "t_address",
                "typeString": "address"
               },
               {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               }
              ],
              "id": 251,
              "name": "LogRequestArbitration",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 30,
              "src": "4787:21:0",
              "typeDescriptions": {
               "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$returns$__$",
               "typeString": "function (bytes32,uint256,address,uint256)"
              }
             },
             "id": 260,
             "isConstant": false,
             "isLValue": false,
             "isPure": false,
             "kind": "functionCall",
             "lValueRequested": false,
             "names": [],
             "nodeType": "FunctionCall",
             "src": "4787:81:0",
             "typeDescriptions": {
              "typeIdentifier": "t_tuple$__$",
              "typeString": "tuple()"
             }
            },
            "id": 261,
            "nodeType": "EmitStatement",
            "src": "4782:86:0"
           },
           {
            "expression": {
             "argumentTypes": null,
             "hexValue": "66616c7365",
             "id": 262,
             "isConstant": false,
             "isLValue": false,
             "isPure": true,
             "kind": "bool",
             "lValueRequested": false,
             "nodeType": "Literal",
             "src": "4889:5:0",
             "subdenomination": null,
             "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
             },
             "value": "false"
            },
            "functionReturnParameters": 191,
            "id": 263,
            "nodeType": "Return",
            "src": "4882:12:0"
           }
          ]
         },
         "id": 265,
         "nodeType": "IfStatement",
         "src": "4428:477:0",
         "trueBody": {
          "id": 241,
          "nodeType": "Block",
          "src": "4457:203:0",
          "statements": [
           {
            "expression": {
             "argumentTypes": null,
             "arguments": [
              {
               "argumentTypes": null,
               "id": 224,
               "name": "question_id",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 185,
               "src": "4507:11:0",
               "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               }
              },
              {
               "argumentTypes": null,
               "expression": {
                "argumentTypes": null,
                "id": 225,
                "name": "msg",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 2726,
                "src": "4520:3:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_magic_message",
                 "typeString": "msg"
                }
               },
               "id": 226,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "memberName": "sender",
               "nodeType": "MemberAccess",
               "referencedDeclaration": null,
               "src": "4520:10:0",
               "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
               }
              },
              {
               "argumentTypes": null,
               "id": 227,
               "name": "max_previous",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 187,
               "src": "4532:12:0",
               "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               }
              }
             ],
             "expression": {
              "argumentTypes": [
               {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               },
               {
                "typeIdentifier": "t_address",
                "typeString": "address"
               },
               {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               }
              ],
              "expression": {
               "argumentTypes": null,
               "id": 221,
               "name": "realitio",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 8,
               "src": "4471:8:0",
               "typeDescriptions": {
                "typeIdentifier": "t_contract$_Realitio_$2507",
                "typeString": "contract Realitio"
               }
              },
              "id": 223,
              "isConstant": false,
              "isLValue": false,
              "isPure": false,
              "lValueRequested": false,
              "memberName": "notifyOfArbitrationRequest",
              "nodeType": "MemberAccess",
              "referencedDeclaration": 1634,
              "src": "4471:35:0",
              "typeDescriptions": {
               "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$",
               "typeString": "function (bytes32,address,uint256) external"
              }
             },
             "id": 228,
             "isConstant": false,
             "isLValue": false,
             "isPure": false,
             "kind": "functionCall",
             "lValueRequested": false,
             "names": [],
             "nodeType": "FunctionCall",
             "src": "4471:74:0",
             "typeDescriptions": {
              "typeIdentifier": "t_tuple$__$",
              "typeString": "tuple()"
             }
            },
            "id": 229,
            "nodeType": "ExpressionStatement",
            "src": "4471:74:0"
           },
           {
            "eventCall": {
             "argumentTypes": null,
             "arguments": [
              {
               "argumentTypes": null,
               "id": 231,
               "name": "question_id",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 185,
               "src": "4586:11:0",
               "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               }
              },
              {
               "argumentTypes": null,
               "expression": {
                "argumentTypes": null,
                "id": 232,
                "name": "msg",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 2726,
                "src": "4599:3:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_magic_message",
                 "typeString": "msg"
                }
               },
               "id": 233,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "memberName": "value",
               "nodeType": "MemberAccess",
               "referencedDeclaration": null,
               "src": "4599:9:0",
               "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               }
              },
              {
               "argumentTypes": null,
               "expression": {
                "argumentTypes": null,
                "id": 234,
                "name": "msg",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 2726,
                "src": "4610:3:0",
                "typeDescriptions": {
                 "typeIdentifier": "t_magic_message",
                 "typeString": "msg"
                }
               },
               "id": 235,
               "isConstant": false,
               "isLValue": false,
               "isPure": false,
               "lValueRequested": false,
               "memberName": "sender",
               "nodeType": "MemberAccess",
               "referencedDeclaration": null,
               "src": "4610:10:0",
               "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
               }
              },
              {
               "argumentTypes": null,
               "hexValue": "30",
               "id": 236,
               "isConstant": false,
               "isLValue": false,
               "isPure": true,
               "kind": "number",
               "lValueRequested": false,
               "nodeType": "Literal",
               "src": "4622:1:0",
               "subdenomination": null,
               "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
               },
               "value": "0"
              }
             ],
             "expression": {
              "argumentTypes": [
               {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
               },
               {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
               },
               {
                "typeIdentifier": "t_address",
                "typeString": "address"
               },
               {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
               }
              ],
              "id": 230,
              "name": "LogRequestArbitration",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 30,
              "src": "4564:21:0",
              "typeDescriptions": {
               "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$returns$__$",
               "typeString": "function (bytes32,uint256,address,uint256)"
              }
             },
             "id": 237,
             "isConstant": false,
             "isLValue": false,
             "isPure": false,
             "kind": "functionCall",
             "lValueRequested": false,
             "names": [],
             "nodeType": "FunctionCall",
             "src": "4564:60:0",
             "typeDescriptions": {
              "typeIdentifier": "t_tuple$__$",
              "typeString": "tuple()"
             }
            },
            "id": 238,
            "nodeType": "EmitStatement",
            "src": "4559:65:0"
           },
           {
            "expression": {
             "argumentTypes": null,
             "hexValue": "74727565",
             "id": 239,
             "isConstant": false,
             "isLValue": false,
             "isPure": true,
             "kind": "bool",
             "lValueRequested": false,
             "nodeType": "Literal",
             "src": "4645:4:0",
             "subdenomination": null,
             "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
             },
             "value": "true"
            },
            "functionReturnParameters": 191,
            "id": 240,
            "nodeType": "Return",
            "src": "4638:11:0"
           }
          ]
         }
        }
       ]
      },
      "documentation": "@notice Request arbitration, freezing the question until we send submitAnswerByArbitrator\n @dev The bounty can be paid only in part, in which case the last person to pay will be considered the payer\n Will trigger an error if the notification fails, eg because the question has already been finalized\n @param question_id The question in question\n @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.",
      "id": 267,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [],
      "name": "requestArbitration",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 188,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 185,
         "name": "question_id",
         "nodeType": "VariableDeclaration",
         "scope": 267,
         "src": "4057:19:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bytes32",
          "typeString": "bytes32"
         },
         "typeName": {
          "id": 184,
          "name": "bytes32",
          "nodeType": "ElementaryTypeName",
          "src": "4057:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bytes32",
           "typeString": "bytes32"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 187,
         "name": "max_previous",
         "nodeType": "VariableDeclaration",
         "scope": 267,
         "src": "4078:20:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_uint256",
          "typeString": "uint256"
         },
         "typeName": {
          "id": 186,
          "name": "uint256",
          "nodeType": "ElementaryTypeName",
          "src": "4078:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "4056:43:0"
      },
      "payable": true,
      "returnParameters": {
       "id": 191,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 190,
         "name": "",
         "nodeType": "VariableDeclaration",
         "scope": 267,
         "src": "4131:4:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_bool",
          "typeString": "bool"
         },
         "typeName": {
          "id": 189,
          "name": "bool",
          "nodeType": "ElementaryTypeName",
          "src": "4131:4:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bool",
           "typeString": "bool"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "4130:6:0"
      },
      "scope": 339,
      "src": "4029:883:0",
      "stateMutability": "payable",
      "superFunction": null,
      "visibility": "external"
     },
     {
      "body": {
       "id": 283,
       "nodeType": "Block",
       "src": "5124:54:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "expression": {
             "argumentTypes": null,
             "arguments": [
              {
               "argumentTypes": null,
               "id": 278,
               "name": "this",
               "nodeType": "Identifier",
               "overloadedDeclarations": [],
               "referencedDeclaration": 2751,
               "src": "5156:4:0",
               "typeDescriptions": {
                "typeIdentifier": "t_contract$_Arbitrator_$339",
                "typeString": "contract Arbitrator"
               }
              }
             ],
             "expression": {
              "argumentTypes": [
               {
                "typeIdentifier": "t_contract$_Arbitrator_$339",
                "typeString": "contract Arbitrator"
               }
              ],
              "id": 277,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "nodeType": "ElementaryTypeNameExpression",
              "src": "5148:7:0",
              "typeDescriptions": {
               "typeIdentifier": "t_type$_t_address_$",
               "typeString": "type(address)"
              },
              "typeName": "address"
             },
             "id": 279,
             "isConstant": false,
             "isLValue": false,
             "isPure": false,
             "kind": "typeConversion",
             "lValueRequested": false,
             "names": [],
             "nodeType": "FunctionCall",
             "src": "5148:13:0",
             "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
             }
            },
            "id": 280,
            "isConstant": false,
            "isLValue": false,
            "isPure": false,
            "lValueRequested": false,
            "memberName": "balance",
            "nodeType": "MemberAccess",
            "referencedDeclaration": null,
            "src": "5148:21:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           ],
           "expression": {
            "argumentTypes": null,
            "id": 274,
            "name": "addr",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 269,
            "src": "5134:4:0",
            "typeDescriptions": {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           },
           "id": 276,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "transfer",
           "nodeType": "MemberAccess",
           "referencedDeclaration": null,
           "src": "5134:13:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
            "typeString": "function (uint256)"
           }
          },
          "id": 281,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "5134:36:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 282,
         "nodeType": "ExpressionStatement",
         "src": "5134:36:0"
        }
       ]
      },
      "documentation": "@notice Withdraw any accumulated ETH fees to the specified address\n @param addr The address to which the balance should be sent",
      "id": 284,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 272,
        "modifierName": {
         "argumentTypes": null,
         "id": 271,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "5102:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "5102:9:0"
       }
      ],
      "name": "withdraw",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 270,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 269,
         "name": "addr",
         "nodeType": "VariableDeclaration",
         "scope": 284,
         "src": "5079:12:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_address",
          "typeString": "address"
         },
         "typeName": {
          "id": 268,
          "name": "address",
          "nodeType": "ElementaryTypeName",
          "src": "5079:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "5078:14:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 273,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "5124:0:0"
      },
      "scope": 339,
      "src": "5061:117:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 310,
       "nodeType": "Block",
       "src": "5588:107:0",
       "statements": [
        {
         "assignments": [
          294
         ],
         "declarations": [
          {
           "constant": false,
           "id": 294,
           "name": "bal",
           "nodeType": "VariableDeclaration",
           "scope": 311,
           "src": "5598:11:0",
           "stateVariable": false,
           "storageLocation": "default",
           "typeDescriptions": {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
           },
           "typeName": {
            "id": 293,
            "name": "uint256",
            "nodeType": "ElementaryTypeName",
            "src": "5598:7:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           },
           "value": null,
           "visibility": "internal"
          }
         ],
         "id": 301,
         "initialValue": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "arguments": [
             {
              "argumentTypes": null,
              "id": 298,
              "name": "this",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 2751,
              "src": "5637:4:0",
              "typeDescriptions": {
               "typeIdentifier": "t_contract$_Arbitrator_$339",
               "typeString": "contract Arbitrator"
              }
             }
            ],
            "expression": {
             "argumentTypes": [
              {
               "typeIdentifier": "t_contract$_Arbitrator_$339",
               "typeString": "contract Arbitrator"
              }
             ],
             "id": 297,
             "isConstant": false,
             "isLValue": false,
             "isPure": true,
             "lValueRequested": false,
             "nodeType": "ElementaryTypeNameExpression",
             "src": "5629:7:0",
             "typeDescriptions": {
              "typeIdentifier": "t_type$_t_address_$",
              "typeString": "type(address)"
             },
             "typeName": "address"
            },
            "id": 299,
            "isConstant": false,
            "isLValue": false,
            "isPure": false,
            "kind": "typeConversion",
            "lValueRequested": false,
            "names": [],
            "nodeType": "FunctionCall",
            "src": "5629:13:0",
            "typeDescriptions": {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           ],
           "expression": {
            "argumentTypes": null,
            "id": 295,
            "name": "_token",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 286,
            "src": "5612:6:0",
            "typeDescriptions": {
             "typeIdentifier": "t_contract$_IERC20_$453",
             "typeString": "contract IERC20"
            }
           },
           "id": 296,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "balanceOf",
           "nodeType": "MemberAccess",
           "referencedDeclaration": 398,
           "src": "5612:16:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
            "typeString": "function (address) view external returns (uint256)"
           }
          },
          "id": 300,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "5612:31:0",
          "typeDescriptions": {
           "typeIdentifier": "t_uint256",
           "typeString": "uint256"
          }
         },
         "nodeType": "VariableDeclarationStatement",
         "src": "5598:45:0"
        },
        {
         "expression": {
          "argumentTypes": null,
          "arguments": [
           {
            "argumentTypes": null,
            "id": 306,
            "name": "addr",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 288,
            "src": "5677:4:0",
            "typeDescriptions": {
             "typeIdentifier": "t_address",
             "typeString": "address"
            }
           },
           {
            "argumentTypes": null,
            "id": 307,
            "name": "bal",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 294,
            "src": "5683:3:0",
            "typeDescriptions": {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           }
          ],
          "expression": {
           "argumentTypes": [
            {
             "typeIdentifier": "t_address",
             "typeString": "address"
            },
            {
             "typeIdentifier": "t_uint256",
             "typeString": "uint256"
            }
           ],
           "expression": {
            "argumentTypes": null,
            "arguments": [
             {
              "argumentTypes": null,
              "id": 303,
              "name": "_token",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 286,
              "src": "5660:6:0",
              "typeDescriptions": {
               "typeIdentifier": "t_contract$_IERC20_$453",
               "typeString": "contract IERC20"
              }
             }
            ],
            "expression": {
             "argumentTypes": [
              {
               "typeIdentifier": "t_contract$_IERC20_$453",
               "typeString": "contract IERC20"
              }
             ],
             "id": 302,
             "name": "IERC20",
             "nodeType": "Identifier",
             "overloadedDeclarations": [],
             "referencedDeclaration": 453,
             "src": "5653:6:0",
             "typeDescriptions": {
              "typeIdentifier": "t_type$_t_contract$_IERC20_$453_$",
              "typeString": "type(contract IERC20)"
             }
            },
            "id": 304,
            "isConstant": false,
            "isLValue": false,
            "isPure": false,
            "kind": "typeConversion",
            "lValueRequested": false,
            "names": [],
            "nodeType": "FunctionCall",
            "src": "5653:14:0",
            "typeDescriptions": {
             "typeIdentifier": "t_contract$_IERC20_$453",
             "typeString": "contract IERC20"
            }
           },
           "id": 305,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "transfer",
           "nodeType": "MemberAccess",
           "referencedDeclaration": 416,
           "src": "5653:23:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
            "typeString": "function (address,uint256) external returns (bool)"
           }
          },
          "id": 308,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "5653:34:0",
          "typeDescriptions": {
           "typeIdentifier": "t_bool",
           "typeString": "bool"
          }
         },
         "id": 309,
         "nodeType": "ExpressionStatement",
         "src": "5653:34:0"
        }
       ]
      },
      "documentation": "@notice Withdraw any accumulated token fees to the specified address\n @param addr The address to which the balance should be sent\n @dev Only needed if the Realitio contract used is using an ERC20 token\n @dev Also only normally useful if a per-question fee is set, otherwise we only have ETH.",
      "id": 311,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 291,
        "modifierName": {
         "argumentTypes": null,
         "id": 290,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "5566:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "5566:9:0"
       }
      ],
      "name": "withdrawERC20",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 289,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 286,
         "name": "_token",
         "nodeType": "VariableDeclaration",
         "scope": 311,
         "src": "5528:13:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_contract$_IERC20_$453",
          "typeString": "contract IERC20"
         },
         "typeName": {
          "contractScope": null,
          "id": 285,
          "name": "IERC20",
          "nodeType": "UserDefinedTypeName",
          "referencedDeclaration": 453,
          "src": "5528:6:0",
          "typeDescriptions": {
           "typeIdentifier": "t_contract$_IERC20_$453",
           "typeString": "contract IERC20"
          }
         },
         "value": null,
         "visibility": "internal"
        },
        {
         "constant": false,
         "id": 288,
         "name": "addr",
         "nodeType": "VariableDeclaration",
         "scope": 311,
         "src": "5543:12:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_address",
          "typeString": "address"
         },
         "typeName": {
          "id": 287,
          "name": "address",
          "nodeType": "ElementaryTypeName",
          "src": "5543:7:0",
          "typeDescriptions": {
           "typeIdentifier": "t_address",
           "typeString": "address"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "5527:29:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 292,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "5588:0:0"
      },
      "scope": 339,
      "src": "5505:190:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 314,
       "nodeType": "Block",
       "src": "5734:7:0",
       "statements": []
      },
      "documentation": null,
      "id": 315,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [],
      "name": "",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 312,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "5709:2:0"
      },
      "payable": true,
      "returnParameters": {
       "id": 313,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "5734:0:0"
      },
      "scope": 339,
      "src": "5701:40:0",
      "stateMutability": "payable",
      "superFunction": null,
      "visibility": "external"
     },
     {
      "body": {
       "id": 325,
       "nodeType": "Block",
       "src": "6093:37:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "arguments": [],
          "expression": {
           "argumentTypes": [],
           "expression": {
            "argumentTypes": null,
            "id": 320,
            "name": "realitio",
            "nodeType": "Identifier",
            "overloadedDeclarations": [],
            "referencedDeclaration": 8,
            "src": "6103:8:0",
            "typeDescriptions": {
             "typeIdentifier": "t_contract$_Realitio_$2507",
             "typeString": "contract Realitio"
            }
           },
           "id": 322,
           "isConstant": false,
           "isLValue": false,
           "isPure": false,
           "lValueRequested": false,
           "memberName": "withdraw",
           "nodeType": "MemberAccess",
           "referencedDeclaration": 383,
           "src": "6103:17:0",
           "typeDescriptions": {
            "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
            "typeString": "function () external"
           }
          },
          "id": 323,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "kind": "functionCall",
          "lValueRequested": false,
          "names": [],
          "nodeType": "FunctionCall",
          "src": "6103:19:0",
          "typeDescriptions": {
           "typeIdentifier": "t_tuple$__$",
           "typeString": "tuple()"
          }
         },
         "id": 324,
         "nodeType": "ExpressionStatement",
         "src": "6103:19:0"
        }
       ]
      },
      "documentation": "@notice Withdraw any accumulated question fees from the specified address into this contract\n @dev Funds can then be liberated from this contract with our withdraw() function\n @dev This works in the same way whether the realitio contract is using ETH or an ERC20 token",
      "id": 326,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 318,
        "modifierName": {
         "argumentTypes": null,
         "id": 317,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "6071:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "6071:9:0"
       }
      ],
      "name": "callWithdraw",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 316,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "6059:2:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 319,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "6093:0:0"
      },
      "scope": 339,
      "src": "6038:92:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     },
     {
      "body": {
       "id": 337,
       "nodeType": "Block",
       "src": "6311:37:0",
       "statements": [
        {
         "expression": {
          "argumentTypes": null,
          "id": 335,
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "leftHandSide": {
           "argumentTypes": null,
           "id": 333,
           "name": "metadata",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 20,
           "src": "6321:8:0",
           "typeDescriptions": {
            "typeIdentifier": "t_string_storage",
            "typeString": "string storage ref"
           }
          },
          "nodeType": "Assignment",
          "operator": "=",
          "rightHandSide": {
           "argumentTypes": null,
           "id": 334,
           "name": "_metadata",
           "nodeType": "Identifier",
           "overloadedDeclarations": [],
           "referencedDeclaration": 328,
           "src": "6332:9:0",
           "typeDescriptions": {
            "typeIdentifier": "t_string_memory_ptr",
            "typeString": "string memory"
           }
          },
          "src": "6321:20:0",
          "typeDescriptions": {
           "typeIdentifier": "t_string_storage",
           "typeString": "string storage ref"
          }
         },
         "id": 336,
         "nodeType": "ExpressionStatement",
         "src": "6321:20:0"
        }
       ]
      },
      "documentation": "@notice Set a metadata string, expected to be JSON, containing things like arbitrator TOS address",
      "id": 338,
      "implemented": true,
      "isConstructor": false,
      "isDeclaredConst": false,
      "modifiers": [
       {
        "arguments": null,
        "id": 331,
        "modifierName": {
         "argumentTypes": null,
         "id": 330,
         "name": "onlyOwner",
         "nodeType": "Identifier",
         "overloadedDeclarations": [],
         "referencedDeclaration": 477,
         "src": "6290:9:0",
         "typeDescriptions": {
          "typeIdentifier": "t_modifier$__$",
          "typeString": "modifier ()"
         }
        },
        "nodeType": "ModifierInvocation",
        "src": "6290:9:0"
       }
      ],
      "name": "setMetaData",
      "nodeType": "FunctionDefinition",
      "parameters": {
       "id": 329,
       "nodeType": "ParameterList",
       "parameters": [
        {
         "constant": false,
         "id": 328,
         "name": "_metadata",
         "nodeType": "VariableDeclaration",
         "scope": 338,
         "src": "6263:16:0",
         "stateVariable": false,
         "storageLocation": "default",
         "typeDescriptions": {
          "typeIdentifier": "t_string_memory_ptr",
          "typeString": "string"
         },
         "typeName": {
          "id": 327,
          "name": "string",
          "nodeType": "ElementaryTypeName",
          "src": "6263:6:0",
          "typeDescriptions": {
           "typeIdentifier": "t_string_storage_ptr",
           "typeString": "string"
          }
         },
         "value": null,
         "visibility": "internal"
        }
       ],
       "src": "6262:18:0"
      },
      "payable": false,
      "returnParameters": {
       "id": 332,
       "nodeType": "ParameterList",
       "parameters": [],
       "src": "6311:0:0"
      },
      "scope": 339,
      "src": "6242:106:0",
      "stateMutability": "nonpayable",
      "superFunction": null,
      "visibility": "public"
     }
    ],
    "scope": 340,
    "src": "97:6254:0"
   }
  ],
  "src": "0:6352:0"
 },
 "compiler": {
  "name": "solc",
  "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
 },
 "networks": {
  "1": {
   "events": {},
   "links": {},
   "address": "0xdc0a2185031ecf89f091a39c63c2857a7d5c301a",
   "transactionHash": "0x79ece22583d400353592472c1c97f4f66e86a6d340426dc65795c026fdda861c"
  },
  "4": {
   "events": {},
   "links": {},
   "address": "0x02321745bE4a141E78db6C39834396f8df00e2a0",
   "transactionHash": "0xf2c76a415cc7aead3b8c5b1f768d1f48b3c4ba588058d78429739ad47e242b92"
  },
  "42": {
   "events": {},
   "links": {},
   "address": "0xb4683794998215b59a429e86c3a33f796f9aeb0f",
   "transactionHash": "0xb35864c7afbeb44866e7f9e3ad3f1c08a80f65d3c1d339b3c53f296d3efc674f"
  },
  "100": {
   "events": {},
   "links": {},
   "address": "0x7202deD6f13525A8298Ea53fBFD4395fDCc8d5f1",
   "transactionHash": ""
  },
  "123411710": {
   "events": {},
   "links": {},
   "address": "0x7864bE090E692D695ce33BaaA58be824Ab4f5350",
   "transactionHash": "0xea57146c884728a5a0da1f1aae746f64bcfede373b0a2527738d43c56862ddc5"
  }
 },
 "schemaVersion": "2.0.2",
 "updatedAt": "2019-06-04T09:09:21.980Z"
}
