{
  "contractName": "Rental",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "damagesClaimedByPartyA",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_extraData",
          "type": "bytes"
        }
      ],
      "name": "appeal",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "arbitratorExtraData",
      "outputs": [
        {
          "name": "",
          "type": "bytes"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "partyA",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "timeOutByPartyA",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "status",
      "outputs": [
        {
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "partyB",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_disputeID",
          "type": "uint256"
        },
        {
          "name": "_ruling",
          "type": "uint256"
        }
      ],
      "name": "rule",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "partyAFee",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "partyBFee",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "arbitrator",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "timeout",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "damagesClaimedByPartyB",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "timeOutByPartyB",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "lastInteraction",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "payArbitrationFeeByPartyA",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "amount",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "disputeID",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "payArbitrationFeeByPartyB",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_evidence",
          "type": "string"
        }
      ],
      "name": "submitEvidence",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "amountOfChoices",
      "outputs": [
        {
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_arbitrator",
          "type": "address"
        },
        {
          "name": "_timeout",
          "type": "uint256"
        },
        {
          "name": "_partyB",
          "type": "address"
        },
        {
          "name": "_arbitratorExtraData",
          "type": "bytes"
        },
        {
          "name": "_metaEvidence",
          "type": "string"
        }
      ],
      "payable": true,
      "stateMutability": "payable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_party",
          "type": "uint8"
        }
      ],
      "name": "HasToPayFee",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_metaEvidenceID",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_evidence",
          "type": "string"
        }
      ],
      "name": "MetaEvidence",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_arbitrator",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_disputeID",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_metaEvidenceID",
          "type": "uint256"
        }
      ],
      "name": "Dispute",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_arbitrator",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_disputeID",
          "type": "uint256"
        },
        {
          "indexed": true,
          "name": "_party",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_evidence",
          "type": "string"
        }
      ],
      "name": "Evidence",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_arbitrator",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_disputeID",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_ruling",
          "type": "uint256"
        }
      ],
      "name": "Ruling",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_damages",
          "type": "uint256"
        }
      ],
      "name": "claimDamages",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "forfeitDeposit",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "unlockDeposit",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260405162001c4138038062001c418339810160409081528151602080840151928401516060850151608086015160008054600160a060020a031916600160a060020a0387161790559086018051949692949093919092019186918691869160029187918791879184916200007f916001919084019062000178565b50505060028590556003805460048054600160a060020a031916600160a060020a03881617905561010060a860020a03191633610100021760ff191660ff851617905560408051602080825283518183015283516000937f61606860eb6c87306811e2695215385101daab53bd6ab4e9f9049aead9363c7d938693909283928301918501908083838a5b838110156200012357818101518382015260200162000109565b50505050905090810190601f168015620001515780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050600a805434019055506200021d975050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b6200021a91905b80821115620001f9576000815560010162000204565b90565b611a14806200022d6000396000f30060806040526004361061013d5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630379e1578114610142578063069fae2a146101695780630c7ac7b6146101b757806310e1d8ca1461024157806319e2641e14610272578063200d2ed21461028757806329040113146102c0578063311a6c56146102d5578063377a368c146102f05780634b40c97414610305578063512491f11461031a5780636cc6cde11461032f57806370dea79a146103445780637d1057ad14610359578063853c80ce1461036e5780638f71a26514610383578063939998be14610398578063a0109631146103ad578063a989eeb6146103b5578063aa8c217c146103cd578063b0a1e2b4146103e2578063b1bcce3a146103f7578063bac91e2e146103ff578063ce425c8014610458575b600080fd5b34801561014e57600080fd5b50610157610483565b60408051918252519081900360200190f35b6040805160206004803580820135601f81018490048402850184019095528484526101b59436949293602493928401919081908401838280828437509497506104899650505050505050565b005b3480156101c357600080fd5b506101cc61061d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102065781810151838201526020016101ee565b50505050905090810190601f1680156102335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024d57600080fd5b506102566106aa565b60408051600160a060020a039092168252519081900360200190f35b34801561027e57600080fd5b506101b56106be565b34801561029357600080fd5b5061029c6107fb565b604051808260048111156102ac57fe5b60ff16815260200191505060405180910390f35b3480156102cc57600080fd5b50610256610804565b3480156102e157600080fd5b506101b5600435602435610813565b3480156102fc57600080fd5b506101b56108e0565b34801561031157600080fd5b5061015761098a565b34801561032657600080fd5b50610157610990565b34801561033b57600080fd5b50610256610996565b34801561035057600080fd5b506101576109a5565b34801561036557600080fd5b506101576109ab565b34801561037a57600080fd5b506101b56109b1565b34801561038f57600080fd5b50610157610ae7565b3480156103a457600080fd5b506101b5610aed565b6101b5610b90565b3480156103c157600080fd5b506101b5600435610e83565b3480156103d957600080fd5b5061015761112f565b3480156103ee57600080fd5b50610157611135565b6101b561113b565b34801561040b57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101b59436949293602493928401919081908401838280828437509497506114099650505050505050565b34801561046457600080fd5b5061046d611603565b6040805160ff9092168252519081900360200190f35b600b5481565b6003546101009004600160a060020a03163314806104b15750600454600160a060020a031633145b151561052d576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c792062652063616c6c65642062792070617274792041206f7260448201527f20706172747920422e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60008054600854604080517f49912f880000000000000000000000000000000000000000000000000000000081526004810183815260248201928352865160448301528651600160a060020a03909516956349912f88953495948994909260649091019160208601918190849084905b838110156105b557818101518382015260200161059d565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b5093505050506000604051808303818588803b15801561060157600080fd5b505af1158015610615573d6000803e3d6000fd5b505050505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106a25780601f10610677576101008083540402835291602001916106a2565b820191906000526020600020905b81548152906001019060200180831161068557829003601f168201915b505050505081565b6003546101009004600160a060020a031681565b6003546101009004600160a060020a03163314610725576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e206f6e6c792062652063616c6c656420627920706172747920412e0000604482015290519081900360640190fd5b600260095460ff16600481111561073857fe5b1461078d576040805160e560020a62461bcd02815260206004820152601860248201527f4e6f742077616974696e6720666f7220706172747920422e0000000000000000604482015290519081900360640190fd5b600254600754014210156107eb576040805160e560020a62461bcd02815260206004820181905260248201527f5468652074696d656f75742074696d6520686173206e6f74207061737365642e604482015290519081900360640190fd5b6008546107f990600161160c565b565b60095460ff1681565b600454600160a060020a031681565b600054600160a060020a0316331461089b576040805160e560020a62461bcd02815260206004820152602560248201527f43616e206f6e6c792062652063616c6c6564206279207468652061726269747260448201527f61746f722e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a36108dc828261160c565b5050565b600454600160a060020a03163314610942576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e206f6e6c792062652063616c6c656420627920706172747920422e0000604482015290519081900360640190fd5b600354600a54604051610100909204600160a060020a0316916108fc82150291906000818181858888f19350505050158015610982573d6000803e3d6000fd5b506000600a55565b60055481565b60065481565b600054600160a060020a031681565b60025481565b600c5481565b600454600160a060020a03163314610a13576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e206f6e6c792062652063616c6c656420627920706172747920422e0000604482015290519081900360640190fd5b600160095460ff166004811115610a2657fe5b14610a7b576040805160e560020a62461bcd02815260206004820152601860248201527f4e6f742077616974696e6720666f7220706172747920412e0000000000000000604482015290519081900360640190fd5b60025460075401421015610ad9576040805160e560020a62461bcd02815260206004820181905260248201527f5468652074696d656f75742074696d6520686173206e6f74207061737365642e604482015290519081900360640190fd5b6008546107f990600261160c565b60075481565b6003546101009004600160a060020a03163314610b54576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e206f6e6c792062652063616c6c656420627920706172747920412e0000604482015290519081900360640190fd5b600454600a54604051600160a060020a039092169181156108fc0291906000818181858888f19350505050158015610982573d6000803e3d6000fd5b6003546000906101009004600160a060020a03163314610bfa576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e206f6e6c792062652063616c6c656420627920706172747920412e0000604482015290519081900360640190fd5b6000546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea993919291829160449091019084908015610cb55780601f10610c8a57610100808354040283529160200191610cb5565b820191906000526020600020905b815481529060010190602001808311610c9857829003601f168201915b505092505050602060405180830381600087803b158015610cd557600080fd5b505af1158015610ce9573d6000803e3d6000fd5b505050506040513d6020811015610cff57600080fd5b505160058054340190819055909150811115610d8b576040805160e560020a62461bcd02815260206004820152602a60248201527f4e6f7420656e6f7567682045544820746f20636f76657220617262697472617460448201527f696f6e20636f7374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600360095460ff166004811115610d9e57fe5b10610e19576040805160e560020a62461bcd02815260206004820152602160248201527f446973707574652068617320616c7265616479206265656e206372656174656460448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600755600654811115610e77576009805460ff191660021790556040517fba8db766b5582c21593909b57af48297714ea2c508bfff6c537ce36bb853e5689060019080825b60ff16815260200191505060405180910390a1610e80565b610e8081611706565b50565b6003546101009004600160a060020a0316331480610eab5750600454600160a060020a031633145b1515610f27576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c792062652063616c6c65642062792070617274792041206f7260448201527f20706172747920422e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600360095460ff166004811115610f3a57fe5b10610fb5576040805160e560020a62461bcd02815260206004820152602560248201527f54686520646973707574652068617320616c7265616479206265656e2063726560448201527f617465642e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b80151561100c576040805160e560020a62461bcd02815260206004820152601660248201527f5468657265206d7573742062652064616d616765732e00000000000000000000604482015290519081900360640190fd5b600a54811115611066576040805160e560020a62461bcd02815260206004820152601f60248201527f43616e6e6f7420636c61696d206d6f7265207468616e2062616c616e63652e00604482015290519081900360640190fd5b6003546101009004600160a060020a031633141561108857600b81905561108e565b600c8190555b600c54600b541415610e8057600354600554600c54600a54604051600160a060020a03610100909504949094169391900390910180156108fc02916000818181858888f15050600454600654600c54604051600160a060020a0390931695500180156108fc02935091506000818181858888f150506000600b819055600c81905560058190556006819055600a5550506009805460ff191660041790555050565b600a5481565b60085481565b600454600090600160a060020a031633146111a0576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e206f6e6c792062652063616c6c656420627920706172747920422e0000604482015290519081900360640190fd5b6000546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea99391929182916044909101908490801561125b5780601f106112305761010080835404028352916020019161125b565b820191906000526020600020905b81548152906001019060200180831161123e57829003601f168201915b505092505050602060405180830381600087803b15801561127b57600080fd5b505af115801561128f573d6000803e3d6000fd5b505050506040513d60208110156112a557600080fd5b505160068054340190819055909150811115611331576040805160e560020a62461bcd02815260206004820152602a60248201527f4e6f7420656e6f7567682045544820746f20636f76657220617262697472617460448201527f696f6e20636f7374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600360095460ff16600481111561134457fe5b106113bf576040805160e560020a62461bcd02815260206004820152602160248201527f446973707574652068617320616c7265616479206265656e206372656174656460448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600755600554811115610e77576009805460ff191660011790556040517fba8db766b5582c21593909b57af48297714ea2c508bfff6c537ce36bb853e568906000908082610e5f565b6003546101009004600160a060020a03163314806114315750600454600160a060020a031633145b15156114ad576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c792062652063616c6c65642062792070617274792041206f7260448201527f20706172747920422e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600360095460ff1660048111156114c057fe5b101561153c576040805160e560020a62461bcd02815260206004820152602560248201527f546865206469737075746520686173206e6f74206265656e206372656174656460448201527f207965742e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b33600160a060020a03166008546000809054906101000a9004600160a060020a0316600160a060020a03167fdccf2f8b2cc26eafcd61905cba744cff4b81d14740725f6376390dc6298a6a3c846040518080602001828103825283818151815260200191508051906020019080838360005b838110156115c65781810151838201526020016115ae565b50505050905090810190601f1680156115f35780820380516001836020036101000a031916815260200191505b509250505060405180910390a450565b60035460ff1681565b6116168282611877565b600181141561168757600354600b54600a54604051600160a060020a03610100909404939093169291900380156108fc02916000818181858888f15050600454600b54604051600160a060020a03909216945080156108fc02935091506000818181858888f19350505050506116f3565b60028114156116f357600354600c54600a54604051600160a060020a03610100909404939093169291900380156108fc02916000818181858888f15050600454600c54604051600160a060020a03909216945080156108fc02935091506000818181858888f150505050505b50506000600a819055600b819055600c55565b6009805460ff191660039081179091556000549054604080517fc13517e100000000000000000000000000000000000000000000000000000000815260ff90921660048301818152602484019283526001805460026101008284161502600019019091160460448601819052600160a060020a039096169563c13517e195889592939291606490910190849080156117df5780601f106117b4576101008083540402835291602001916117df565b820191906000526020600020905b8154815290600101906020018083116117c257829003601f168201915b505093505050506020604051808303818588803b1580156117ff57600080fd5b505af1158015611813573d6000803e3d6000fd5b50505050506040513d602081101561182a57600080fd5b50516008819055600080546040805192835251600160a060020a03909116917fc21357d76c2ee05713ed6e2edb9a5f60ab1e8748c56201385df30007f774f58d919081900360200190a350565b60085482146118d0576040805160e560020a62461bcd02815260206004820152601160248201527f57726f6e6720646973707574652049442e000000000000000000000000000000604482015290519081900360640190fd5b60035460ff1681111561192d576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c69642072756c696e672e0000000000000000000000000000000000604482015290519081900360640190fd5b600181141561198c57600360019054906101000a9004600160a060020a0316600160a060020a03166108fc6006546005541161196b5760065461196f565b6005545b6040518115909202916000818181858888f19350505050506119d7565b60028114156119d757600454600654600554600160a060020a03909216916108fc91106119bb576006546119bf565b6005545b6040518115909202916000818181858888f150505050505b50506009805460ff191660041790555600a165627a7a723058208e042620a2e2f88c01409b12e07f72cc4f4be6d98efa4733c087219e0123babc0029",
  "deployedBytecode": "0x60806040526004361061013d5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630379e1578114610142578063069fae2a146101695780630c7ac7b6146101b757806310e1d8ca1461024157806319e2641e14610272578063200d2ed21461028757806329040113146102c0578063311a6c56146102d5578063377a368c146102f05780634b40c97414610305578063512491f11461031a5780636cc6cde11461032f57806370dea79a146103445780637d1057ad14610359578063853c80ce1461036e5780638f71a26514610383578063939998be14610398578063a0109631146103ad578063a989eeb6146103b5578063aa8c217c146103cd578063b0a1e2b4146103e2578063b1bcce3a146103f7578063bac91e2e146103ff578063ce425c8014610458575b600080fd5b34801561014e57600080fd5b50610157610483565b60408051918252519081900360200190f35b6040805160206004803580820135601f81018490048402850184019095528484526101b59436949293602493928401919081908401838280828437509497506104899650505050505050565b005b3480156101c357600080fd5b506101cc61061d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102065781810151838201526020016101ee565b50505050905090810190601f1680156102335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024d57600080fd5b506102566106aa565b60408051600160a060020a039092168252519081900360200190f35b34801561027e57600080fd5b506101b56106be565b34801561029357600080fd5b5061029c6107fb565b604051808260048111156102ac57fe5b60ff16815260200191505060405180910390f35b3480156102cc57600080fd5b50610256610804565b3480156102e157600080fd5b506101b5600435602435610813565b3480156102fc57600080fd5b506101b56108e0565b34801561031157600080fd5b5061015761098a565b34801561032657600080fd5b50610157610990565b34801561033b57600080fd5b50610256610996565b34801561035057600080fd5b506101576109a5565b34801561036557600080fd5b506101576109ab565b34801561037a57600080fd5b506101b56109b1565b34801561038f57600080fd5b50610157610ae7565b3480156103a457600080fd5b506101b5610aed565b6101b5610b90565b3480156103c157600080fd5b506101b5600435610e83565b3480156103d957600080fd5b5061015761112f565b3480156103ee57600080fd5b50610157611135565b6101b561113b565b34801561040b57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101b59436949293602493928401919081908401838280828437509497506114099650505050505050565b34801561046457600080fd5b5061046d611603565b6040805160ff9092168252519081900360200190f35b600b5481565b6003546101009004600160a060020a03163314806104b15750600454600160a060020a031633145b151561052d576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c792062652063616c6c65642062792070617274792041206f7260448201527f20706172747920422e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60008054600854604080517f49912f880000000000000000000000000000000000000000000000000000000081526004810183815260248201928352865160448301528651600160a060020a03909516956349912f88953495948994909260649091019160208601918190849084905b838110156105b557818101518382015260200161059d565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b5093505050506000604051808303818588803b15801561060157600080fd5b505af1158015610615573d6000803e3d6000fd5b505050505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106a25780601f10610677576101008083540402835291602001916106a2565b820191906000526020600020905b81548152906001019060200180831161068557829003601f168201915b505050505081565b6003546101009004600160a060020a031681565b6003546101009004600160a060020a03163314610725576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e206f6e6c792062652063616c6c656420627920706172747920412e0000604482015290519081900360640190fd5b600260095460ff16600481111561073857fe5b1461078d576040805160e560020a62461bcd02815260206004820152601860248201527f4e6f742077616974696e6720666f7220706172747920422e0000000000000000604482015290519081900360640190fd5b600254600754014210156107eb576040805160e560020a62461bcd02815260206004820181905260248201527f5468652074696d656f75742074696d6520686173206e6f74207061737365642e604482015290519081900360640190fd5b6008546107f990600161160c565b565b60095460ff1681565b600454600160a060020a031681565b600054600160a060020a0316331461089b576040805160e560020a62461bcd02815260206004820152602560248201527f43616e206f6e6c792062652063616c6c6564206279207468652061726269747260448201527f61746f722e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a36108dc828261160c565b5050565b600454600160a060020a03163314610942576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e206f6e6c792062652063616c6c656420627920706172747920422e0000604482015290519081900360640190fd5b600354600a54604051610100909204600160a060020a0316916108fc82150291906000818181858888f19350505050158015610982573d6000803e3d6000fd5b506000600a55565b60055481565b60065481565b600054600160a060020a031681565b60025481565b600c5481565b600454600160a060020a03163314610a13576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e206f6e6c792062652063616c6c656420627920706172747920422e0000604482015290519081900360640190fd5b600160095460ff166004811115610a2657fe5b14610a7b576040805160e560020a62461bcd02815260206004820152601860248201527f4e6f742077616974696e6720666f7220706172747920412e0000000000000000604482015290519081900360640190fd5b60025460075401421015610ad9576040805160e560020a62461bcd02815260206004820181905260248201527f5468652074696d656f75742074696d6520686173206e6f74207061737365642e604482015290519081900360640190fd5b6008546107f990600261160c565b60075481565b6003546101009004600160a060020a03163314610b54576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e206f6e6c792062652063616c6c656420627920706172747920412e0000604482015290519081900360640190fd5b600454600a54604051600160a060020a039092169181156108fc0291906000818181858888f19350505050158015610982573d6000803e3d6000fd5b6003546000906101009004600160a060020a03163314610bfa576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e206f6e6c792062652063616c6c656420627920706172747920412e0000604482015290519081900360640190fd5b6000546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea993919291829160449091019084908015610cb55780601f10610c8a57610100808354040283529160200191610cb5565b820191906000526020600020905b815481529060010190602001808311610c9857829003601f168201915b505092505050602060405180830381600087803b158015610cd557600080fd5b505af1158015610ce9573d6000803e3d6000fd5b505050506040513d6020811015610cff57600080fd5b505160058054340190819055909150811115610d8b576040805160e560020a62461bcd02815260206004820152602a60248201527f4e6f7420656e6f7567682045544820746f20636f76657220617262697472617460448201527f696f6e20636f7374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600360095460ff166004811115610d9e57fe5b10610e19576040805160e560020a62461bcd02815260206004820152602160248201527f446973707574652068617320616c7265616479206265656e206372656174656460448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600755600654811115610e77576009805460ff191660021790556040517fba8db766b5582c21593909b57af48297714ea2c508bfff6c537ce36bb853e5689060019080825b60ff16815260200191505060405180910390a1610e80565b610e8081611706565b50565b6003546101009004600160a060020a0316331480610eab5750600454600160a060020a031633145b1515610f27576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c792062652063616c6c65642062792070617274792041206f7260448201527f20706172747920422e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600360095460ff166004811115610f3a57fe5b10610fb5576040805160e560020a62461bcd02815260206004820152602560248201527f54686520646973707574652068617320616c7265616479206265656e2063726560448201527f617465642e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b80151561100c576040805160e560020a62461bcd02815260206004820152601660248201527f5468657265206d7573742062652064616d616765732e00000000000000000000604482015290519081900360640190fd5b600a54811115611066576040805160e560020a62461bcd02815260206004820152601f60248201527f43616e6e6f7420636c61696d206d6f7265207468616e2062616c616e63652e00604482015290519081900360640190fd5b6003546101009004600160a060020a031633141561108857600b81905561108e565b600c8190555b600c54600b541415610e8057600354600554600c54600a54604051600160a060020a03610100909504949094169391900390910180156108fc02916000818181858888f15050600454600654600c54604051600160a060020a0390931695500180156108fc02935091506000818181858888f150506000600b819055600c81905560058190556006819055600a5550506009805460ff191660041790555050565b600a5481565b60085481565b600454600090600160a060020a031633146111a0576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e206f6e6c792062652063616c6c656420627920706172747920422e0000604482015290519081900360640190fd5b6000546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea99391929182916044909101908490801561125b5780601f106112305761010080835404028352916020019161125b565b820191906000526020600020905b81548152906001019060200180831161123e57829003601f168201915b505092505050602060405180830381600087803b15801561127b57600080fd5b505af115801561128f573d6000803e3d6000fd5b505050506040513d60208110156112a557600080fd5b505160068054340190819055909150811115611331576040805160e560020a62461bcd02815260206004820152602a60248201527f4e6f7420656e6f7567682045544820746f20636f76657220617262697472617460448201527f696f6e20636f7374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600360095460ff16600481111561134457fe5b106113bf576040805160e560020a62461bcd02815260206004820152602160248201527f446973707574652068617320616c7265616479206265656e206372656174656460448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600755600554811115610e77576009805460ff191660011790556040517fba8db766b5582c21593909b57af48297714ea2c508bfff6c537ce36bb853e568906000908082610e5f565b6003546101009004600160a060020a03163314806114315750600454600160a060020a031633145b15156114ad576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c792062652063616c6c65642062792070617274792041206f7260448201527f20706172747920422e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600360095460ff1660048111156114c057fe5b101561153c576040805160e560020a62461bcd02815260206004820152602560248201527f546865206469737075746520686173206e6f74206265656e206372656174656460448201527f207965742e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b33600160a060020a03166008546000809054906101000a9004600160a060020a0316600160a060020a03167fdccf2f8b2cc26eafcd61905cba744cff4b81d14740725f6376390dc6298a6a3c846040518080602001828103825283818151815260200191508051906020019080838360005b838110156115c65781810151838201526020016115ae565b50505050905090810190601f1680156115f35780820380516001836020036101000a031916815260200191505b509250505060405180910390a450565b60035460ff1681565b6116168282611877565b600181141561168757600354600b54600a54604051600160a060020a03610100909404939093169291900380156108fc02916000818181858888f15050600454600b54604051600160a060020a03909216945080156108fc02935091506000818181858888f19350505050506116f3565b60028114156116f357600354600c54600a54604051600160a060020a03610100909404939093169291900380156108fc02916000818181858888f15050600454600c54604051600160a060020a03909216945080156108fc02935091506000818181858888f150505050505b50506000600a819055600b819055600c55565b6009805460ff191660039081179091556000549054604080517fc13517e100000000000000000000000000000000000000000000000000000000815260ff90921660048301818152602484019283526001805460026101008284161502600019019091160460448601819052600160a060020a039096169563c13517e195889592939291606490910190849080156117df5780601f106117b4576101008083540402835291602001916117df565b820191906000526020600020905b8154815290600101906020018083116117c257829003601f168201915b505093505050506020604051808303818588803b1580156117ff57600080fd5b505af1158015611813573d6000803e3d6000fd5b50505050506040513d602081101561182a57600080fd5b50516008819055600080546040805192835251600160a060020a03909116917fc21357d76c2ee05713ed6e2edb9a5f60ab1e8748c56201385df30007f774f58d919081900360200190a350565b60085482146118d0576040805160e560020a62461bcd02815260206004820152601160248201527f57726f6e6720646973707574652049442e000000000000000000000000000000604482015290519081900360640190fd5b60035460ff1681111561192d576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c69642072756c696e672e0000000000000000000000000000000000604482015290519081900360640190fd5b600181141561198c57600360019054906101000a9004600160a060020a0316600160a060020a03166108fc6006546005541161196b5760065461196f565b6005545b6040518115909202916000818181858888f19350505050506119d7565b60028114156119d757600454600654600554600160a060020a03909216916108fc91106119bb576006546119bf565b6005545b6040518115909202916000818181858888f150505050505b50506009805460ff191660041790555600a165627a7a723058208e042620a2e2f88c01409b12e07f72cc4f4be6d98efa4733c087219e0123babc0029",
  "sourceMap": "579:3962:30:-;;;1438:354;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2848:10:2;:24;;-1:-1:-1;;;;;;2848:24:2;-1:-1:-1;;;;;2848:24:2;;;;;1438:354:30;;;2882:42:2;;1438:354:30;;;;;;;;;;;;;;;;;749:1;;1438:354;;;;;;;;2882:42:2;;-1:-1:-1;;2882:42:2;;;;;:::i;:::-;-1:-1:-1;;;2764:7:32;:18;;;2792:6;:19;;2821:6;:16;;-1:-1:-1;;;;;;2821:16:32;-1:-1:-1;;;;;2821:16:32;;;;;-1:-1:-1;;;;;;2792:19:32;2801:10;2792:19;;;-1:-1:-1;;2847:34:32;;;;;;;2896:30;;;;;;;;;;;;;;;-1:-1:-1;;2896:30:32;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2896:30:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1766:6:30;:19;;1776:9;1766:19;;;-1:-1:-1;579:3962:30;;-1:-1:-1;;;;;;;;579:3962:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;579:3962:30;;;-1:-1:-1;579:3962:30;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
  "deployedSourceMap": "579:3962:30:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;851:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;851:34:30;;;;;;;;;;;;;;;;;;;;6945:132:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6945:132:32;;-1:-1:-1;6945:132:32;;-1:-1:-1;;;;;;;6945:132:32;;;691:32:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;879:21:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;879:21:32;;;;;;;;-1:-1:-1;;;;;879:21:32;;;;;;;;;;;;;;5737:264;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5737:264:32;;;;1246:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1246:20:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;906:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;906:21:32;;;;3332:182:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3332:182:2;;;;;;;3552:103:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3552:103:30;;;;933:21:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:21:32;;;;994;;8:9:-1;5:2;;;30:1;27;20:12;5:2;994:21:32;;;;657:28:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;657:28:2;;;;726:19:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;726:19:32;;;;950:34:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;950:34:30;;;;6071:264:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6071:264:32;;;;1055:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1055:27:32;;;;3325:104:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3325:104:30;;;;3293:909:32;;;;2023:1131:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2023:1131:30;;;;;800:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;800:18:30;;;;1135:21:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1135:21:32;;;;4380:909;;;;6463:223;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6463:223:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6463:223:32;;-1:-1:-1;6463:223:32;;-1:-1:-1;;;;;;;6463:223:32;845:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;845:28:32;;;;;;;;;;;;;;;;;;;;;;;851:34:30;;;;:::o;6945:132:32:-;1721:6;;;;;-1:-1:-1;;;;;1721:6:32;1707:10;:20;;:44;;-1:-1:-1;1745:6:32;;-1:-1:-1;;;;;1745:6:32;1731:10;:20;1707:44;1699:98;;;;;;;-1:-1:-1;;;;;1699:98:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7014:10;;;7049:9;;7014:56;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7014:10:32;;;;:17;;7038:9;;7049;7059:10;;7014:56;;;;;;;;;;;;;;;;;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;7014:56:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7014:56:32;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7014:56:32;;;;;6945:132;:::o;691:32:2:-;;;;;;;;;;;;;;;-1:-1:-1;;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;879:21:32:-;;;;;;-1:-1:-1;;;;;879:21:32;;:::o;5737:264::-;1536:6;;;;;-1:-1:-1;;;;;1536:6:32;1522:10;:20;1514:63;;;;;-1:-1:-1;;;;;1514:63:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;5810:20;5800:6;;;;:30;;;;;;;;;5792:67;;;;;-1:-1:-1;;;;;5792:67:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;5902:7;;5884:15;;:25;5877:3;:32;;5869:77;;;;;-1:-1:-1;;;;;5869:77:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5971:9;;5957:37;;1303:1;5957:13;:37::i;:::-;5737:264::o;1246:20::-;;;;;;:::o;906:21::-;;;-1:-1:-1;;;;;906:21:32;;:::o;3332:182:2:-;851:10;;-1:-1:-1;;;;;851:10:2;829;:33;821:83;;;;;-1:-1:-1;;;;;821:83:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3414:49;;;;;;;;3444:10;;3432;;3414:49;;;;;;;;;3474:33;3488:10;3499:7;3474:13;:33::i;:::-;3332:182;;:::o;3552:103:30:-;1629:6:32;;-1:-1:-1;;;;;1629:6:32;1615:10;:20;1607:63;;;;;-1:-1:-1;;;;;1607:63:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;3605:6:30;;3621;;3605:23;;:6;;;;-1:-1:-1;;;;;3605:6:30;;:23;;;;;3621:6;3605:23;;;;3621:6;3605;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;3647:1:30;3638:6;:10;3552:103::o;933:21:32:-;;;;:::o;994:::-;;;;:::o;657:28:2:-;;;-1:-1:-1;;;;;657:28:2;;:::o;726:19:32:-;;;;:::o;950:34:30:-;;;;:::o;6071:264:32:-;1629:6;;-1:-1:-1;;;;;1629:6:32;1615:10;:20;1607:63;;;;;-1:-1:-1;;;;;1607:63:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;6144:20;6134:6;;;;:30;;;;;;;;;6126:67;;;;;-1:-1:-1;;;;;6126:67:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;6236:7;;6218:15;;:25;6211:3;:32;;6203:77;;;;;-1:-1:-1;;;;;6203:77:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6305:9;;6291:37;;1340:1;6291:13;:37::i;1055:27::-;;;;:::o;3325:104:30:-;1536:6:32;;;;;-1:-1:-1;;;;;1536:6:32;1522:10;:20;1514:63;;;;;-1:-1:-1;;;;;1514:63:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;3379:6:30;;3395;;3379:23;;-1:-1:-1;;;;;3379:6:30;;;;:23;;;;;3395:6;3379;:23;:6;:23;3395:6;3379;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;3293:909:32;1536:6;;3366:20;;1536:6;;;-1:-1:-1;;;;;1536:6:32;1522:10;:20;1514:63;;;;;-1:-1:-1;;;;;1514:63:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;3389:10;;:47;;;;;;;;;;;;:10;:47;;;-1:-1:-1;;3389:47:32;;;;:10;:47;;;;;;;;;;;;-1:-1:-1;;;;;3389:10:32;;;;:26;;:10;;:47;;;;;;;;:10;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3389:47:32;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3389:47:32;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3389:47:32;3446:9;:22;;3459:9;3446:22;;;;;3389:47;;-1:-1:-1;3499:28:32;-1:-1:-1;3499:28:32;3478:117;;;;;-1:-1:-1;;;;;3478:117:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3683:21;3674:6;;;;:30;;;;;;;;;3666:76;;;;;-1:-1:-1;;;;;3666:76:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3820:3;3802:15;:21;3950:9;;:27;-1:-1:-1;3946:250:32;;;3993:6;:29;;-1:-1:-1;;3993:29:32;4002:20;3993:29;;;4041:25;;;;3993:29;;4041:25;3993:29;4041:25;;;;;;;;;;;;;;;;;3946:250;;;4156:29;4169:15;4156:12;:29::i;:::-;3293:909;:::o;2023:1131:30:-;1721:6:32;;;;;-1:-1:-1;;;;;1721:6:32;1707:10;:20;;:44;;-1:-1:-1;1745:6:32;;-1:-1:-1;;;;;1745:6:32;1731:10;:20;1707:44;1699:98;;;;;;;-1:-1:-1;;;;;1699:98:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2183:21:30;2174:6;;;;:30;;;;;;;;;2166:80;;;;;-1:-1:-1;;;;;2166:80:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2408:13;;;2400:48;;;;;-1:-1:-1;;;;;2400:48:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:6;;2466:18;;;2458:62;;;;;-1:-1:-1;;;;;2458:62:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:6;;;;;-1:-1:-1;;;;;2603:6:30;2589:10;:20;2585:131;;;2623:22;:33;;;2585:131;;;2683:22;:33;;;2585:131;2755:22;;2731;;:46;2727:421;;;2822:6;;2870:9;;2844:22;;2835:6;;2822:58;;-1:-1:-1;;;;;2822:6:30;;;;;;;;;2835:31;;;2834:45;;;2822:58;;;;;;;;;2834:45;2822:6;:58;;-1:-1:-1;;2894:6:30;;2931:9;;2906:22;;2894:47;;-1:-1:-1;;;;;2894:6:30;;;;-1:-1:-1;2906:34:30;2894:47;;;;;-1:-1:-1;2906:34:30;-1:-1:-1;2894:6:30;:47;:6;:47;2906:34;2894:6;:47;;-1:-1:-1;;2980:1:30;2955:22;:26;;;2995:22;:26;;;3035:9;:13;;;-1:-1:-1;3062:13:30;;;3089:6;:10;-1:-1:-1;;3113:6:30;:24;;-1:-1:-1;;3113:24:30;3122:15;3113:24;;;-1:-1:-1;;2023:1131:30:o;800:18::-;;;;:::o;1135:21:32:-;;;;:::o;4380:909::-;1629:6;;4453:20;;-1:-1:-1;;;;;1629:6:32;1615:10;:20;1607:63;;;;;-1:-1:-1;;;;;1607:63:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;4476:10;;:47;;;;;;;;;;;;:10;:47;;;-1:-1:-1;;4476:47:32;;;;:10;:47;;;;;;;;;;;;-1:-1:-1;;;;;4476:10:32;;;;:26;;:10;;:47;;;;;;;;:10;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4476:47:32;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4476:47:32;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4476:47:32;4533:9;:22;;4546:9;4533:22;;;;;4476:47;;-1:-1:-1;4586:28:32;-1:-1:-1;4586:28:32;4565:117;;;;;-1:-1:-1;;;;;4565:117:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4770:21;4761:6;;;;:30;;;;;;;;;4753:76;;;;;-1:-1:-1;;;;;4753:76:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4907:3;4889:15;:21;5037:9;;:27;-1:-1:-1;5033:250:32;;;5080:6;:29;;-1:-1:-1;;5080:29:32;5089:20;5080:29;;;5128:25;;;;-1:-1:-1;;5128:25:32;-1:-1:-1;5128:25:32;;6463:223;1721:6;;;;;-1:-1:-1;;;;;1721:6:32;1707:10;:20;;:44;;-1:-1:-1;1745:6:32;;-1:-1:-1;;;;;1745:6:32;1731:10;:20;1707:44;1699:98;;;;;;;-1:-1:-1;;;;;1699:98:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6550:21;6540:6;;;;:31;;;;;;;;;;6532:81;;;;;-1:-1:-1;;;;;6532:81:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6658:10;-1:-1:-1;;;;;6628:51:32;6648:9;;6637:10;;;;;;;;;-1:-1:-1;;;;;6637:10:32;-1:-1:-1;;;;;6628:51:32;;6669:9;6628:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6628:51:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6463:223;:::o;845:28::-;;;;;;:::o;4009:529:30:-;4082:39;4102:10;4113:7;4082:19;:39::i;:::-;1303:1:32;4135:23:30;;4131:308;;;4174:6;;4195:22;;4186:6;;4174:44;;-1:-1:-1;;;;;4174:6:30;;;;;;;;;4186:31;;;4174:44;;;;;;;;;4186:31;4174:6;:44;;-1:-1:-1;;4232:6:30;;4244:22;;4232:35;;-1:-1:-1;;;;;4232:6:30;;;;-1:-1:-1;4232:35:30;;;;;-1:-1:-1;4244:22:30;-1:-1:-1;4232:6:30;:35;:6;:35;4244:22;4232:6;:35;;;;;;;;4131:308;;;1340:1:32;4296:23:30;;4292:147;;;4335:6;;4356:22;;4347:6;;4335:44;;-1:-1:-1;;;;;4335:6:30;;;;;;;;;4347:31;;;4335:44;;;;;;;;;4347:31;4335:6;:44;;-1:-1:-1;;4393:6:30;;4405:22;;4393:35;;-1:-1:-1;;;;;4393:6:30;;;;-1:-1:-1;4393:35:30;;;;;-1:-1:-1;4405:22:30;-1:-1:-1;4393:6:30;:35;:6;:35;4405:22;4393:6;:35;;-1:-1:-1;;;;;4292:147:30;-1:-1:-1;;4458:1:30;4449:6;:10;;;4469:22;:26;;;4505:22;:26;4009:529::o;5407:254:32:-;5471:6;:30;;-1:-1:-1;;5471:30:32;5480:21;5471:30;;;;;;-1:-1:-1;5523:10:32;5572:15;;5523:85;;;;;;5572:15;;;;5523:85;;;;;;;;;;;;5471:30;5523:85;;;:10;:85;;;;;-1:-1:-1;;5523:85:32;;;;;;;;;;;-1:-1:-1;;;;;5523:10:32;;;;:24;;5554:16;;5471:30;;5523:85;;;;;;;5471:30;;5523:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5523:85:32;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5523:85:32;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5523:85:32;5511:9;:97;;;5631:10;;;5623:31;;;;;;;-1:-1:-1;;;;;5631:10:32;;;;5623:31;;;;;;5523:85;5623:31;;;5407:254;:::o;7416:717::-;7511:9;;7497:23;;7489:53;;;;;-1:-1:-1;;;;;7489:53:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;7571:15;;;;7560:26;;;7552:54;;;;;-1:-1:-1;;;;;7552:54:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;1303:1;7886:21;;7882:209;;;7921:6;;;;;;;;;-1:-1:-1;;;;;7921:6:32;-1:-1:-1;;;;;7921:11:32;:58;7945:9;;7933;;:21;:45;;7969:9;;7933:45;;;7957:9;;7933:45;7921:58;;;;;;;;;;;;;;;;;;;;;;7882:209;;;1340:1;7998:21;;7994:97;;;8033:6;;8057:9;;8045;;-1:-1:-1;;;;;8033:6:32;;;;:58;;-1:-1:-1;8045:45:32;;8081:9;;8045:45;;;8069:9;;8045:45;8033:58;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7994:97:32;-1:-1:-1;;8102:6:32;:24;;-1:-1:-1;;8102:24:32;8111:15;8102:24;;;7416:717::o",
  "source": "/**\n *  @title Rental\n *  @author Clément Lesaege - <clement@lesaege.com>\n *  Bug Bounties: This code hasn't undertaken a bug bounty program yet.\n */\n\n\npragma solidity ^0.4.15;\nimport \"./TwoPartyArbitrable.sol\";\n\n/** @title Rental\n *  This is a a contract for rental agreement.\n *  This can be used to rent objects or properties.\n *  Party A is the renter. Party B is the owner.\n *  Party A put a deposit. If everything goes well, it will be given back.\n *  Otherwize parties can claim an amount of damages. If they disagree, the arbitrator will have to solve this dispute.\n */\ncontract Rental is TwoPartyArbitrable {\n    string constant RULING_OPTIONS = \"Rule for party A (renter);Rule for Party B (owner)\";\n    uint8 constant AMOUNT_OF_CHOICES = 2; // The number of ruling options available.\n\n    uint public amount; // Amount sent by party A.\n    uint public damagesClaimedByPartyA; // The amount party A agrees to pay to compensate damages.\n    uint public damagesClaimedByPartyB; // The amount party B claims to compensate damages.\n\n    /** @dev Constructor. Choose the arbitrator. Should be called by party A (the payer).\n     *  @param _arbitrator The arbitrator of the contract.\n     *  @param _timeout Time after which a party automatically loose a dispute.\n     *  @param _partyB The owner.\n     *  @param _arbitratorExtraData Extra data for the arbitrator.\n     *  @param _metaEvidence Link to meta-evidence JSON.\n     */\n    constructor(\n        Arbitrator _arbitrator, \n        uint _timeout, \n        address _partyB, \n        bytes _arbitratorExtraData, \n        string _metaEvidence\n    ) \n        public \n        TwoPartyArbitrable(_arbitrator,_timeout,_partyB,AMOUNT_OF_CHOICES,_arbitratorExtraData, _metaEvidence) \n        payable \n    {\n        amount += msg.value;\n    }\n\n    /** @dev Claim an amount of damages.\n     *  Must be called before the dispute is created.\n     *  If the amount agreed is the same for both, pay it.\n     *  @param _damages The amount asked or agreed to be paid.\n     */\n    function claimDamages(uint _damages) public onlyParty {\n        // Make sure that parties can't change when a dispute already started.\n        require(status < Status.DisputeCreated, \"The dispute has already been created.\");\n        // Needed to avoid claiming 0 first and triggering an agreement. Use forfeitDeposit and unlockDeposit for the cases where 0 is claimed.\n        require(_damages != 0, \"There must be damages.\");\n        require(_damages <= amount, \"Cannot claim more than balance.\"); // Make sure not to claim more than the contract has.\n\n        if (msg.sender == partyA)\n            damagesClaimedByPartyA = _damages;\n        else\n            damagesClaimedByPartyB = _damages;\n\n        if (damagesClaimedByPartyA==damagesClaimedByPartyB) { // If there is an agreement.\n            partyA.send((amount - damagesClaimedByPartyB) + partyAFee);\n            partyB.send(damagesClaimedByPartyB + partyBFee);\n            damagesClaimedByPartyA = 0;\n            damagesClaimedByPartyB = 0;\n            partyAFee = 0;\n            partyBFee = 0;\n            amount = 0;\n            status = Status.Resolved;\n        }\n    }\n\n\n\n\n    /** @dev Forfeit the deposit to party B.\n     *  To be called if the good has been completely broken or that the property damages exceed the deposit.\n     */\n    function forfeitDeposit() public onlyPartyA {\n        partyB.transfer(amount);\n        amount = 0;\n    }\n\n    /** @dev Unlock party A deposit. To be called if the good or property has been returned without damages.\n     */\n    function unlockDeposit() public onlyPartyB {\n        partyA.transfer(amount);\n        amount = 0;\n    }\n\n    /** @dev Execute a ruling of a dispute. It reimburse the fee to the winning party.\n     *  This need to be extended by contract inheriting from it.\n     *  @param _disputeID ID of the dispute in the Arbitrator contract.\n     *  @param _ruling Ruling given by the arbitrator. 1 : Rule for party A (renter). 2 : Rule for Party B (owner).\n     */\n    function executeRuling(uint _disputeID, uint _ruling) internal {\n        super.executeRuling(_disputeID,_ruling);\n        if (_ruling == PARTY_A_WINS) {\n            partyA.send(amount - damagesClaimedByPartyA);\n            partyB.send(damagesClaimedByPartyA);\n        }\n        else if (_ruling == PARTY_B_WINS) {\n            partyA.send(amount - damagesClaimedByPartyB);\n            partyB.send(damagesClaimedByPartyB);\n        }\n\n        amount = 0;\n        damagesClaimedByPartyA = 0;\n        damagesClaimedByPartyB = 0;\n    }\n\n}\n",
  "sourcePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/Rental.sol",
  "ast": {
    "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/Rental.sol",
    "exportedSymbols": {
      "Rental": [
        9752
      ]
    },
    "id": 9753,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 9520,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".15"
        ],
        "nodeType": "PragmaDirective",
        "src": "153:24:30"
      },
      {
        "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/TwoPartyArbitrable.sol",
        "file": "./TwoPartyArbitrable.sol",
        "id": 9521,
        "nodeType": "ImportDirective",
        "scope": 9753,
        "sourceUnit": 10440,
        "src": "178:34:30",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 9522,
              "name": "TwoPartyArbitrable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10439,
              "src": "598:18:30",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_TwoPartyArbitrable_$10439",
                "typeString": "contract TwoPartyArbitrable"
              }
            },
            "id": 9523,
            "nodeType": "InheritanceSpecifier",
            "src": "598:18:30"
          }
        ],
        "contractDependencies": [
          595,
          10439
        ],
        "contractKind": "contract",
        "documentation": "@title Rental\n This is a a contract for rental agreement.\n This can be used to rent objects or properties.\n Party A is the renter. Party B is the owner.\n Party A put a deposit. If everything goes well, it will be given back.\n Otherwize parties can claim an amount of damages. If they disagree, the arbitrator will have to solve this dispute.",
        "fullyImplemented": true,
        "id": 9752,
        "linearizedBaseContracts": [
          9752,
          10439,
          595
        ],
        "name": "Rental",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "id": 9526,
            "name": "RULING_OPTIONS",
            "nodeType": "VariableDeclaration",
            "scope": 9752,
            "src": "623:85:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 9524,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "623:6:30",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "52756c6520666f722070617274792041202872656e746572293b52756c6520666f72205061727479204220286f776e657229",
              "id": 9525,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "656:52:30",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_c01135077368b2f04630f4de9b38ec3e97a261adad2c84a9ef0c60127f729ab9",
                "typeString": "literal_string \"Rule for party A (renter);Rule for Party B (owner)\""
              },
              "value": "Rule for party A (renter);Rule for Party B (owner)"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 9529,
            "name": "AMOUNT_OF_CHOICES",
            "nodeType": "VariableDeclaration",
            "scope": 9752,
            "src": "714:36:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 9527,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "714:5:30",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "32",
              "id": 9528,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "749:1:30",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2_by_1",
                "typeString": "int_const 2"
              },
              "value": "2"
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 9531,
            "name": "amount",
            "nodeType": "VariableDeclaration",
            "scope": 9752,
            "src": "800:18:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 9530,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "800:4:30",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 9533,
            "name": "damagesClaimedByPartyA",
            "nodeType": "VariableDeclaration",
            "scope": 9752,
            "src": "851:34:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 9532,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "851:4:30",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 9535,
            "name": "damagesClaimedByPartyB",
            "nodeType": "VariableDeclaration",
            "scope": 9752,
            "src": "950:34:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 9534,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "950:4:30",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9561,
              "nodeType": "Block",
              "src": "1756:36:30",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9559,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9556,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9531,
                      "src": "1766:6:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 9557,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "1776:3:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 9558,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1776:9:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1766:19:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 9560,
                  "nodeType": "ExpressionStatement",
                  "src": "1766:19:30"
                }
              ]
            },
            "documentation": "@dev Constructor. Choose the arbitrator. Should be called by party A (the payer).\n @param _arbitrator The arbitrator of the contract.\n @param _timeout Time after which a party automatically loose a dispute.\n @param _partyB The owner.\n @param _arbitratorExtraData Extra data for the arbitrator.\n @param _metaEvidence Link to meta-evidence JSON.",
            "id": 9562,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 9548,
                    "name": "_arbitrator",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9537,
                    "src": "1650:11:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Arbitrator_$4021",
                      "typeString": "contract Arbitrator"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 9549,
                    "name": "_timeout",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9539,
                    "src": "1662:8:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 9550,
                    "name": "_partyB",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9541,
                    "src": "1671:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 9551,
                    "name": "AMOUNT_OF_CHOICES",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9529,
                    "src": "1679:17:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 9552,
                    "name": "_arbitratorExtraData",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9543,
                    "src": "1697:20:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 9553,
                    "name": "_metaEvidence",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9545,
                    "src": "1719:13:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 9554,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9547,
                  "name": "TwoPartyArbitrable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 10439,
                  "src": "1631:18:30",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_TwoPartyArbitrable_$10439_$",
                    "typeString": "type(contract TwoPartyArbitrable)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1631:102:30"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9546,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9537,
                  "name": "_arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 9562,
                  "src": "1459:22:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Arbitrator_$4021",
                    "typeString": "contract Arbitrator"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 9536,
                    "name": "Arbitrator",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4021,
                    "src": "1459:10:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Arbitrator_$4021",
                      "typeString": "contract Arbitrator"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9539,
                  "name": "_timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 9562,
                  "src": "1492:13:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9538,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1492:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9541,
                  "name": "_partyB",
                  "nodeType": "VariableDeclaration",
                  "scope": 9562,
                  "src": "1516:15:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9540,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1516:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9543,
                  "name": "_arbitratorExtraData",
                  "nodeType": "VariableDeclaration",
                  "scope": 9562,
                  "src": "1542:26:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9542,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1542:5:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9545,
                  "name": "_metaEvidence",
                  "nodeType": "VariableDeclaration",
                  "scope": 9562,
                  "src": "1579:20:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9544,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1579:6:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1449:156:30"
            },
            "payable": true,
            "returnParameters": {
              "id": 9555,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1756:0:30"
            },
            "scope": 9752,
            "src": "1438:354:30",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9653,
              "nodeType": "Block",
              "src": "2077:1077:30",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_enum$_Status_$10038",
                          "typeString": "enum TwoPartyArbitrable.Status"
                        },
                        "id": 9573,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 9570,
                          "name": "status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10040,
                          "src": "2174:6:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$10038",
                            "typeString": "enum TwoPartyArbitrable.Status"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 9571,
                            "name": "Status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10038,
                            "src": "2183:6:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_Status_$10038_$",
                              "typeString": "type(enum TwoPartyArbitrable.Status)"
                            }
                          },
                          "id": 9572,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "DisputeCreated",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2183:21:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$10038",
                            "typeString": "enum TwoPartyArbitrable.Status"
                          }
                        },
                        "src": "2174:30:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "54686520646973707574652068617320616c7265616479206265656e20637265617465642e",
                        "id": 9574,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2206:39:30",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_51bbf03f5167fc4127e9882ac428d78aee9c85733170bc683572d7d7e925ad86",
                          "typeString": "literal_string \"The dispute has already been created.\""
                        },
                        "value": "The dispute has already been created."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_51bbf03f5167fc4127e9882ac428d78aee9c85733170bc683572d7d7e925ad86",
                          "typeString": "literal_string \"The dispute has already been created.\""
                        }
                      ],
                      "id": 9569,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "2166:7:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9575,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2166:80:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9576,
                  "nodeType": "ExpressionStatement",
                  "src": "2166:80:30"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9580,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 9578,
                          "name": "_damages",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9564,
                          "src": "2408:8:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 9579,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2420:1:30",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "2408:13:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "5468657265206d7573742062652064616d616765732e",
                        "id": 9581,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2423:24:30",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_7ddda379006579f79eb56e841802a8289d8e9afd906c9180acdbda29cd46346e",
                          "typeString": "literal_string \"There must be damages.\""
                        },
                        "value": "There must be damages."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_7ddda379006579f79eb56e841802a8289d8e9afd906c9180acdbda29cd46346e",
                          "typeString": "literal_string \"There must be damages.\""
                        }
                      ],
                      "id": 9577,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "2400:7:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9582,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2400:48:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9583,
                  "nodeType": "ExpressionStatement",
                  "src": "2400:48:30"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9587,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 9585,
                          "name": "_damages",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9564,
                          "src": "2466:8:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9586,
                          "name": "amount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9531,
                          "src": "2478:6:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2466:18:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "43616e6e6f7420636c61696d206d6f7265207468616e2062616c616e63652e",
                        "id": 9588,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2486:33:30",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e9627c0660f4e02e6474d9ca586c9d60026a13778fe7c7321bd8cb667454abb3",
                          "typeString": "literal_string \"Cannot claim more than balance.\""
                        },
                        "value": "Cannot claim more than balance."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e9627c0660f4e02e6474d9ca586c9d60026a13778fe7c7321bd8cb667454abb3",
                          "typeString": "literal_string \"Cannot claim more than balance.\""
                        }
                      ],
                      "id": 9584,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "2458:7:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9589,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2458:62:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9590,
                  "nodeType": "ExpressionStatement",
                  "src": "2458:62:30"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 9594,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 9591,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "2589:3:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 9592,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2589:10:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 9593,
                      "name": "partyA",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10022,
                      "src": "2603:6:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "2589:20:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 9601,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "id": 9599,
                        "name": "damagesClaimedByPartyB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9535,
                        "src": "2683:22:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "id": 9600,
                        "name": "_damages",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9564,
                        "src": "2708:8:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "2683:33:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9602,
                    "nodeType": "ExpressionStatement",
                    "src": "2683:33:30"
                  },
                  "id": 9603,
                  "nodeType": "IfStatement",
                  "src": "2585:131:30",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 9597,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "id": 9595,
                        "name": "damagesClaimedByPartyA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9533,
                        "src": "2623:22:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "id": 9596,
                        "name": "_damages",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9564,
                        "src": "2648:8:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "2623:33:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9598,
                    "nodeType": "ExpressionStatement",
                    "src": "2623:33:30"
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 9606,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 9604,
                      "name": "damagesClaimedByPartyA",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9533,
                      "src": "2731:22:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 9605,
                      "name": "damagesClaimedByPartyB",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9535,
                      "src": "2755:22:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2731:46:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 9652,
                  "nodeType": "IfStatement",
                  "src": "2727:421:30",
                  "trueBody": {
                    "id": 9651,
                    "nodeType": "Block",
                    "src": "2779:369:30",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 9615,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "components": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 9612,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "id": 9610,
                                      "name": "amount",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 9531,
                                      "src": "2835:6:30",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "-",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "id": 9611,
                                      "name": "damagesClaimedByPartyB",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 9535,
                                      "src": "2844:22:30",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "2835:31:30",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "id": 9613,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "2834:33:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 9614,
                                "name": "partyAFee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10026,
                                "src": "2870:9:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "2834:45:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 9607,
                              "name": "partyA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10022,
                              "src": "2822:6:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 9609,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "send",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2822:11:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (uint256) returns (bool)"
                            }
                          },
                          "id": 9616,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2822:58:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 9617,
                        "nodeType": "ExpressionStatement",
                        "src": "2822:58:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 9623,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 9621,
                                "name": "damagesClaimedByPartyB",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9535,
                                "src": "2906:22:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 9622,
                                "name": "partyBFee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10028,
                                "src": "2931:9:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "2906:34:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 9618,
                              "name": "partyB",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10024,
                              "src": "2894:6:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 9620,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "send",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2894:11:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (uint256) returns (bool)"
                            }
                          },
                          "id": 9624,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2894:47:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 9625,
                        "nodeType": "ExpressionStatement",
                        "src": "2894:47:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 9628,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 9626,
                            "name": "damagesClaimedByPartyA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9533,
                            "src": "2955:22:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9627,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2980:1:30",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "2955:26:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 9629,
                        "nodeType": "ExpressionStatement",
                        "src": "2955:26:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 9632,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 9630,
                            "name": "damagesClaimedByPartyB",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9535,
                            "src": "2995:22:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9631,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3020:1:30",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "2995:26:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 9633,
                        "nodeType": "ExpressionStatement",
                        "src": "2995:26:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 9636,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 9634,
                            "name": "partyAFee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10026,
                            "src": "3035:9:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9635,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3047:1:30",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3035:13:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 9637,
                        "nodeType": "ExpressionStatement",
                        "src": "3035:13:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 9640,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 9638,
                            "name": "partyBFee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10028,
                            "src": "3062:9:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9639,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3074:1:30",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3062:13:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 9641,
                        "nodeType": "ExpressionStatement",
                        "src": "3062:13:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 9644,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 9642,
                            "name": "amount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9531,
                            "src": "3089:6:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9643,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3098:1:30",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3089:10:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 9645,
                        "nodeType": "ExpressionStatement",
                        "src": "3089:10:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 9649,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 9646,
                            "name": "status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10040,
                            "src": "3113:6:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$10038",
                              "typeString": "enum TwoPartyArbitrable.Status"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 9647,
                              "name": "Status",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10038,
                              "src": "3122:6:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_Status_$10038_$",
                                "typeString": "type(enum TwoPartyArbitrable.Status)"
                              }
                            },
                            "id": 9648,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "Resolved",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3122:15:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$10038",
                              "typeString": "enum TwoPartyArbitrable.Status"
                            }
                          },
                          "src": "3113:24:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$10038",
                            "typeString": "enum TwoPartyArbitrable.Status"
                          }
                        },
                        "id": 9650,
                        "nodeType": "ExpressionStatement",
                        "src": "3113:24:30"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@dev Claim an amount of damages.\n Must be called before the dispute is created.\n If the amount agreed is the same for both, pay it.\n @param _damages The amount asked or agreed to be paid.",
            "id": 9654,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 9567,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9566,
                  "name": "onlyParty",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 10090,
                  "src": "2067:9:30",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2067:9:30"
              }
            ],
            "name": "claimDamages",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9565,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9564,
                  "name": "_damages",
                  "nodeType": "VariableDeclaration",
                  "scope": 9654,
                  "src": "2045:13:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9563,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2045:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2044:15:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 9568,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2077:0:30"
            },
            "scope": 9752,
            "src": "2023:1131:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9669,
              "nodeType": "Block",
              "src": "3369:60:30",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9662,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9531,
                        "src": "3395:6:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9659,
                        "name": "partyB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10024,
                        "src": "3379:6:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 9661,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3379:15:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 9663,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3379:23:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9664,
                  "nodeType": "ExpressionStatement",
                  "src": "3379:23:30"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9667,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9665,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9531,
                      "src": "3412:6:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 9666,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3421:1:30",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "3412:10:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 9668,
                  "nodeType": "ExpressionStatement",
                  "src": "3412:10:30"
                }
              ]
            },
            "documentation": "@dev Forfeit the deposit to party B.\n To be called if the good has been completely broken or that the property damages exceed the deposit.",
            "id": 9670,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 9657,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9656,
                  "name": "onlyPartyA",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 10061,
                  "src": "3358:10:30",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3358:10:30"
              }
            ],
            "name": "forfeitDeposit",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9655,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3348:2:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 9658,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3369:0:30"
            },
            "scope": 9752,
            "src": "3325:104:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9685,
              "nodeType": "Block",
              "src": "3595:60:30",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9678,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9531,
                        "src": "3621:6:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9675,
                        "name": "partyA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10022,
                        "src": "3605:6:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 9677,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3605:15:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 9679,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3605:23:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9680,
                  "nodeType": "ExpressionStatement",
                  "src": "3605:23:30"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9683,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9681,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9531,
                      "src": "3638:6:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 9682,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3647:1:30",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "3638:10:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 9684,
                  "nodeType": "ExpressionStatement",
                  "src": "3638:10:30"
                }
              ]
            },
            "documentation": "@dev Unlock party A deposit. To be called if the good or property has been returned without damages.",
            "id": 9686,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 9673,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9672,
                  "name": "onlyPartyB",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 10073,
                  "src": "3584:10:30",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3584:10:30"
              }
            ],
            "name": "unlockDeposit",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9671,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3574:2:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 9674,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3595:0:30"
            },
            "scope": 9752,
            "src": "3552:103:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9750,
              "nodeType": "Block",
              "src": "4072:466:30",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9696,
                        "name": "_disputeID",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9688,
                        "src": "4102:10:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9697,
                        "name": "_ruling",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9690,
                        "src": "4113:7:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9693,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20739,
                        "src": "4082:5:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_Rental_$9752",
                          "typeString": "contract super Rental"
                        }
                      },
                      "id": 9695,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "executeRuling",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10438,
                      "src": "4082:19:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 9698,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4082:39:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9699,
                  "nodeType": "ExpressionStatement",
                  "src": "4082:39:30"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 9702,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 9700,
                      "name": "_ruling",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9690,
                      "src": "4135:7:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 9701,
                      "name": "PARTY_A_WINS",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10043,
                      "src": "4146:12:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "src": "4135:23:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 9720,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 9718,
                        "name": "_ruling",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9690,
                        "src": "4296:7:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 9719,
                        "name": "PARTY_B_WINS",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10046,
                        "src": "4307:12:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "src": "4296:23:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": null,
                    "id": 9736,
                    "nodeType": "IfStatement",
                    "src": "4292:147:30",
                    "trueBody": {
                      "id": 9735,
                      "nodeType": "Block",
                      "src": "4321:118:30",
                      "statements": [
                        {
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 9726,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 9724,
                                  "name": "amount",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9531,
                                  "src": "4347:6:30",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "-",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "id": 9725,
                                  "name": "damagesClaimedByPartyB",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9535,
                                  "src": "4356:22:30",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "4347:31:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 9721,
                                "name": "partyA",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10022,
                                "src": "4335:6:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 9723,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "send",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "4335:11:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$",
                                "typeString": "function (uint256) returns (bool)"
                              }
                            },
                            "id": 9727,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4335:44:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "id": 9728,
                          "nodeType": "ExpressionStatement",
                          "src": "4335:44:30"
                        },
                        {
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 9732,
                                "name": "damagesClaimedByPartyB",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9535,
                                "src": "4405:22:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 9729,
                                "name": "partyB",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10024,
                                "src": "4393:6:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 9731,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "send",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "4393:11:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$",
                                "typeString": "function (uint256) returns (bool)"
                              }
                            },
                            "id": 9733,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4393:35:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "id": 9734,
                          "nodeType": "ExpressionStatement",
                          "src": "4393:35:30"
                        }
                      ]
                    }
                  },
                  "id": 9737,
                  "nodeType": "IfStatement",
                  "src": "4131:308:30",
                  "trueBody": {
                    "id": 9717,
                    "nodeType": "Block",
                    "src": "4160:118:30",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 9708,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 9706,
                                "name": "amount",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9531,
                                "src": "4186:6:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "-",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 9707,
                                "name": "damagesClaimedByPartyA",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9533,
                                "src": "4195:22:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "4186:31:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 9703,
                              "name": "partyA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10022,
                              "src": "4174:6:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 9705,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "send",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "4174:11:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (uint256) returns (bool)"
                            }
                          },
                          "id": 9709,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4174:44:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 9710,
                        "nodeType": "ExpressionStatement",
                        "src": "4174:44:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9714,
                              "name": "damagesClaimedByPartyA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9533,
                              "src": "4244:22:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 9711,
                              "name": "partyB",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10024,
                              "src": "4232:6:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 9713,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "send",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "4232:11:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (uint256) returns (bool)"
                            }
                          },
                          "id": 9715,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4232:35:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 9716,
                        "nodeType": "ExpressionStatement",
                        "src": "4232:35:30"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9740,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9738,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9531,
                      "src": "4449:6:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 9739,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4458:1:30",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "4449:10:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 9741,
                  "nodeType": "ExpressionStatement",
                  "src": "4449:10:30"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9744,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9742,
                      "name": "damagesClaimedByPartyA",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9533,
                      "src": "4469:22:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 9743,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4494:1:30",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "4469:26:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 9745,
                  "nodeType": "ExpressionStatement",
                  "src": "4469:26:30"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9748,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9746,
                      "name": "damagesClaimedByPartyB",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9535,
                      "src": "4505:22:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 9747,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4530:1:30",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "4505:26:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 9749,
                  "nodeType": "ExpressionStatement",
                  "src": "4505:26:30"
                }
              ]
            },
            "documentation": "@dev Execute a ruling of a dispute. It reimburse the fee to the winning party.\n This need to be extended by contract inheriting from it.\n @param _disputeID ID of the dispute in the Arbitrator contract.\n @param _ruling Ruling given by the arbitrator. 1 : Rule for party A (renter). 2 : Rule for Party B (owner).",
            "id": 9751,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "executeRuling",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9691,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9688,
                  "name": "_disputeID",
                  "nodeType": "VariableDeclaration",
                  "scope": 9751,
                  "src": "4032:15:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9687,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4032:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9690,
                  "name": "_ruling",
                  "nodeType": "VariableDeclaration",
                  "scope": 9751,
                  "src": "4049:12:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9689,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4049:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4031:31:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 9692,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4072:0:30"
            },
            "scope": 9752,
            "src": "4009:529:30",
            "stateMutability": "nonpayable",
            "superFunction": 10438,
            "visibility": "internal"
          }
        ],
        "scope": 9753,
        "src": "579:3962:30"
      }
    ],
    "src": "153:4389:30"
  },
  "legacyAST": {
    "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/Rental.sol",
    "exportedSymbols": {
      "Rental": [
        9752
      ]
    },
    "id": 9753,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 9520,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".15"
        ],
        "nodeType": "PragmaDirective",
        "src": "153:24:30"
      },
      {
        "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/TwoPartyArbitrable.sol",
        "file": "./TwoPartyArbitrable.sol",
        "id": 9521,
        "nodeType": "ImportDirective",
        "scope": 9753,
        "sourceUnit": 10440,
        "src": "178:34:30",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 9522,
              "name": "TwoPartyArbitrable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10439,
              "src": "598:18:30",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_TwoPartyArbitrable_$10439",
                "typeString": "contract TwoPartyArbitrable"
              }
            },
            "id": 9523,
            "nodeType": "InheritanceSpecifier",
            "src": "598:18:30"
          }
        ],
        "contractDependencies": [
          595,
          10439
        ],
        "contractKind": "contract",
        "documentation": "@title Rental\n This is a a contract for rental agreement.\n This can be used to rent objects or properties.\n Party A is the renter. Party B is the owner.\n Party A put a deposit. If everything goes well, it will be given back.\n Otherwize parties can claim an amount of damages. If they disagree, the arbitrator will have to solve this dispute.",
        "fullyImplemented": true,
        "id": 9752,
        "linearizedBaseContracts": [
          9752,
          10439,
          595
        ],
        "name": "Rental",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "id": 9526,
            "name": "RULING_OPTIONS",
            "nodeType": "VariableDeclaration",
            "scope": 9752,
            "src": "623:85:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 9524,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "623:6:30",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "52756c6520666f722070617274792041202872656e746572293b52756c6520666f72205061727479204220286f776e657229",
              "id": 9525,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "656:52:30",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_c01135077368b2f04630f4de9b38ec3e97a261adad2c84a9ef0c60127f729ab9",
                "typeString": "literal_string \"Rule for party A (renter);Rule for Party B (owner)\""
              },
              "value": "Rule for party A (renter);Rule for Party B (owner)"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 9529,
            "name": "AMOUNT_OF_CHOICES",
            "nodeType": "VariableDeclaration",
            "scope": 9752,
            "src": "714:36:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 9527,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "714:5:30",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "32",
              "id": 9528,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "749:1:30",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2_by_1",
                "typeString": "int_const 2"
              },
              "value": "2"
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 9531,
            "name": "amount",
            "nodeType": "VariableDeclaration",
            "scope": 9752,
            "src": "800:18:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 9530,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "800:4:30",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 9533,
            "name": "damagesClaimedByPartyA",
            "nodeType": "VariableDeclaration",
            "scope": 9752,
            "src": "851:34:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 9532,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "851:4:30",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 9535,
            "name": "damagesClaimedByPartyB",
            "nodeType": "VariableDeclaration",
            "scope": 9752,
            "src": "950:34:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 9534,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "950:4:30",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9561,
              "nodeType": "Block",
              "src": "1756:36:30",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9559,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9556,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9531,
                      "src": "1766:6:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 9557,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "1776:3:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 9558,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1776:9:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1766:19:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 9560,
                  "nodeType": "ExpressionStatement",
                  "src": "1766:19:30"
                }
              ]
            },
            "documentation": "@dev Constructor. Choose the arbitrator. Should be called by party A (the payer).\n @param _arbitrator The arbitrator of the contract.\n @param _timeout Time after which a party automatically loose a dispute.\n @param _partyB The owner.\n @param _arbitratorExtraData Extra data for the arbitrator.\n @param _metaEvidence Link to meta-evidence JSON.",
            "id": 9562,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 9548,
                    "name": "_arbitrator",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9537,
                    "src": "1650:11:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Arbitrator_$4021",
                      "typeString": "contract Arbitrator"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 9549,
                    "name": "_timeout",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9539,
                    "src": "1662:8:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 9550,
                    "name": "_partyB",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9541,
                    "src": "1671:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 9551,
                    "name": "AMOUNT_OF_CHOICES",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9529,
                    "src": "1679:17:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 9552,
                    "name": "_arbitratorExtraData",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9543,
                    "src": "1697:20:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 9553,
                    "name": "_metaEvidence",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9545,
                    "src": "1719:13:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 9554,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9547,
                  "name": "TwoPartyArbitrable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 10439,
                  "src": "1631:18:30",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_TwoPartyArbitrable_$10439_$",
                    "typeString": "type(contract TwoPartyArbitrable)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1631:102:30"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9546,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9537,
                  "name": "_arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 9562,
                  "src": "1459:22:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Arbitrator_$4021",
                    "typeString": "contract Arbitrator"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 9536,
                    "name": "Arbitrator",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4021,
                    "src": "1459:10:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Arbitrator_$4021",
                      "typeString": "contract Arbitrator"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9539,
                  "name": "_timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 9562,
                  "src": "1492:13:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9538,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1492:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9541,
                  "name": "_partyB",
                  "nodeType": "VariableDeclaration",
                  "scope": 9562,
                  "src": "1516:15:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9540,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1516:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9543,
                  "name": "_arbitratorExtraData",
                  "nodeType": "VariableDeclaration",
                  "scope": 9562,
                  "src": "1542:26:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9542,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1542:5:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9545,
                  "name": "_metaEvidence",
                  "nodeType": "VariableDeclaration",
                  "scope": 9562,
                  "src": "1579:20:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9544,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1579:6:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1449:156:30"
            },
            "payable": true,
            "returnParameters": {
              "id": 9555,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1756:0:30"
            },
            "scope": 9752,
            "src": "1438:354:30",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9653,
              "nodeType": "Block",
              "src": "2077:1077:30",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_enum$_Status_$10038",
                          "typeString": "enum TwoPartyArbitrable.Status"
                        },
                        "id": 9573,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 9570,
                          "name": "status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10040,
                          "src": "2174:6:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$10038",
                            "typeString": "enum TwoPartyArbitrable.Status"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 9571,
                            "name": "Status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10038,
                            "src": "2183:6:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_Status_$10038_$",
                              "typeString": "type(enum TwoPartyArbitrable.Status)"
                            }
                          },
                          "id": 9572,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "DisputeCreated",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2183:21:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$10038",
                            "typeString": "enum TwoPartyArbitrable.Status"
                          }
                        },
                        "src": "2174:30:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "54686520646973707574652068617320616c7265616479206265656e20637265617465642e",
                        "id": 9574,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2206:39:30",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_51bbf03f5167fc4127e9882ac428d78aee9c85733170bc683572d7d7e925ad86",
                          "typeString": "literal_string \"The dispute has already been created.\""
                        },
                        "value": "The dispute has already been created."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_51bbf03f5167fc4127e9882ac428d78aee9c85733170bc683572d7d7e925ad86",
                          "typeString": "literal_string \"The dispute has already been created.\""
                        }
                      ],
                      "id": 9569,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "2166:7:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9575,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2166:80:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9576,
                  "nodeType": "ExpressionStatement",
                  "src": "2166:80:30"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9580,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 9578,
                          "name": "_damages",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9564,
                          "src": "2408:8:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 9579,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2420:1:30",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "2408:13:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "5468657265206d7573742062652064616d616765732e",
                        "id": 9581,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2423:24:30",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_7ddda379006579f79eb56e841802a8289d8e9afd906c9180acdbda29cd46346e",
                          "typeString": "literal_string \"There must be damages.\""
                        },
                        "value": "There must be damages."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_7ddda379006579f79eb56e841802a8289d8e9afd906c9180acdbda29cd46346e",
                          "typeString": "literal_string \"There must be damages.\""
                        }
                      ],
                      "id": 9577,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "2400:7:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9582,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2400:48:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9583,
                  "nodeType": "ExpressionStatement",
                  "src": "2400:48:30"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9587,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 9585,
                          "name": "_damages",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9564,
                          "src": "2466:8:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9586,
                          "name": "amount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9531,
                          "src": "2478:6:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2466:18:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "43616e6e6f7420636c61696d206d6f7265207468616e2062616c616e63652e",
                        "id": 9588,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2486:33:30",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e9627c0660f4e02e6474d9ca586c9d60026a13778fe7c7321bd8cb667454abb3",
                          "typeString": "literal_string \"Cannot claim more than balance.\""
                        },
                        "value": "Cannot claim more than balance."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e9627c0660f4e02e6474d9ca586c9d60026a13778fe7c7321bd8cb667454abb3",
                          "typeString": "literal_string \"Cannot claim more than balance.\""
                        }
                      ],
                      "id": 9584,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "2458:7:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9589,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2458:62:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9590,
                  "nodeType": "ExpressionStatement",
                  "src": "2458:62:30"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 9594,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 9591,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "2589:3:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 9592,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2589:10:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 9593,
                      "name": "partyA",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10022,
                      "src": "2603:6:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "2589:20:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 9601,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "id": 9599,
                        "name": "damagesClaimedByPartyB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9535,
                        "src": "2683:22:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "id": 9600,
                        "name": "_damages",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9564,
                        "src": "2708:8:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "2683:33:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9602,
                    "nodeType": "ExpressionStatement",
                    "src": "2683:33:30"
                  },
                  "id": 9603,
                  "nodeType": "IfStatement",
                  "src": "2585:131:30",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 9597,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "id": 9595,
                        "name": "damagesClaimedByPartyA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9533,
                        "src": "2623:22:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "id": 9596,
                        "name": "_damages",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9564,
                        "src": "2648:8:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "2623:33:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9598,
                    "nodeType": "ExpressionStatement",
                    "src": "2623:33:30"
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 9606,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 9604,
                      "name": "damagesClaimedByPartyA",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9533,
                      "src": "2731:22:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 9605,
                      "name": "damagesClaimedByPartyB",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9535,
                      "src": "2755:22:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2731:46:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 9652,
                  "nodeType": "IfStatement",
                  "src": "2727:421:30",
                  "trueBody": {
                    "id": 9651,
                    "nodeType": "Block",
                    "src": "2779:369:30",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 9615,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "components": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 9612,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "id": 9610,
                                      "name": "amount",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 9531,
                                      "src": "2835:6:30",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "-",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "id": 9611,
                                      "name": "damagesClaimedByPartyB",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 9535,
                                      "src": "2844:22:30",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "2835:31:30",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "id": 9613,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "2834:33:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 9614,
                                "name": "partyAFee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10026,
                                "src": "2870:9:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "2834:45:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 9607,
                              "name": "partyA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10022,
                              "src": "2822:6:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 9609,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "send",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2822:11:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (uint256) returns (bool)"
                            }
                          },
                          "id": 9616,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2822:58:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 9617,
                        "nodeType": "ExpressionStatement",
                        "src": "2822:58:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 9623,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 9621,
                                "name": "damagesClaimedByPartyB",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9535,
                                "src": "2906:22:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 9622,
                                "name": "partyBFee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10028,
                                "src": "2931:9:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "2906:34:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 9618,
                              "name": "partyB",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10024,
                              "src": "2894:6:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 9620,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "send",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2894:11:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (uint256) returns (bool)"
                            }
                          },
                          "id": 9624,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2894:47:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 9625,
                        "nodeType": "ExpressionStatement",
                        "src": "2894:47:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 9628,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 9626,
                            "name": "damagesClaimedByPartyA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9533,
                            "src": "2955:22:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9627,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2980:1:30",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "2955:26:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 9629,
                        "nodeType": "ExpressionStatement",
                        "src": "2955:26:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 9632,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 9630,
                            "name": "damagesClaimedByPartyB",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9535,
                            "src": "2995:22:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9631,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3020:1:30",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "2995:26:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 9633,
                        "nodeType": "ExpressionStatement",
                        "src": "2995:26:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 9636,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 9634,
                            "name": "partyAFee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10026,
                            "src": "3035:9:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9635,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3047:1:30",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3035:13:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 9637,
                        "nodeType": "ExpressionStatement",
                        "src": "3035:13:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 9640,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 9638,
                            "name": "partyBFee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10028,
                            "src": "3062:9:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9639,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3074:1:30",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3062:13:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 9641,
                        "nodeType": "ExpressionStatement",
                        "src": "3062:13:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 9644,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 9642,
                            "name": "amount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9531,
                            "src": "3089:6:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9643,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3098:1:30",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3089:10:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 9645,
                        "nodeType": "ExpressionStatement",
                        "src": "3089:10:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 9649,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 9646,
                            "name": "status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10040,
                            "src": "3113:6:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$10038",
                              "typeString": "enum TwoPartyArbitrable.Status"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 9647,
                              "name": "Status",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10038,
                              "src": "3122:6:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_Status_$10038_$",
                                "typeString": "type(enum TwoPartyArbitrable.Status)"
                              }
                            },
                            "id": 9648,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "Resolved",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3122:15:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$10038",
                              "typeString": "enum TwoPartyArbitrable.Status"
                            }
                          },
                          "src": "3113:24:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$10038",
                            "typeString": "enum TwoPartyArbitrable.Status"
                          }
                        },
                        "id": 9650,
                        "nodeType": "ExpressionStatement",
                        "src": "3113:24:30"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@dev Claim an amount of damages.\n Must be called before the dispute is created.\n If the amount agreed is the same for both, pay it.\n @param _damages The amount asked or agreed to be paid.",
            "id": 9654,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 9567,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9566,
                  "name": "onlyParty",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 10090,
                  "src": "2067:9:30",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2067:9:30"
              }
            ],
            "name": "claimDamages",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9565,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9564,
                  "name": "_damages",
                  "nodeType": "VariableDeclaration",
                  "scope": 9654,
                  "src": "2045:13:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9563,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2045:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2044:15:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 9568,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2077:0:30"
            },
            "scope": 9752,
            "src": "2023:1131:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9669,
              "nodeType": "Block",
              "src": "3369:60:30",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9662,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9531,
                        "src": "3395:6:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9659,
                        "name": "partyB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10024,
                        "src": "3379:6:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 9661,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3379:15:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 9663,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3379:23:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9664,
                  "nodeType": "ExpressionStatement",
                  "src": "3379:23:30"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9667,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9665,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9531,
                      "src": "3412:6:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 9666,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3421:1:30",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "3412:10:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 9668,
                  "nodeType": "ExpressionStatement",
                  "src": "3412:10:30"
                }
              ]
            },
            "documentation": "@dev Forfeit the deposit to party B.\n To be called if the good has been completely broken or that the property damages exceed the deposit.",
            "id": 9670,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 9657,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9656,
                  "name": "onlyPartyA",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 10061,
                  "src": "3358:10:30",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3358:10:30"
              }
            ],
            "name": "forfeitDeposit",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9655,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3348:2:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 9658,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3369:0:30"
            },
            "scope": 9752,
            "src": "3325:104:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9685,
              "nodeType": "Block",
              "src": "3595:60:30",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9678,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9531,
                        "src": "3621:6:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9675,
                        "name": "partyA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10022,
                        "src": "3605:6:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 9677,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3605:15:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 9679,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3605:23:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9680,
                  "nodeType": "ExpressionStatement",
                  "src": "3605:23:30"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9683,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9681,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9531,
                      "src": "3638:6:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 9682,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3647:1:30",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "3638:10:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 9684,
                  "nodeType": "ExpressionStatement",
                  "src": "3638:10:30"
                }
              ]
            },
            "documentation": "@dev Unlock party A deposit. To be called if the good or property has been returned without damages.",
            "id": 9686,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 9673,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9672,
                  "name": "onlyPartyB",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 10073,
                  "src": "3584:10:30",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3584:10:30"
              }
            ],
            "name": "unlockDeposit",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9671,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3574:2:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 9674,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3595:0:30"
            },
            "scope": 9752,
            "src": "3552:103:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9750,
              "nodeType": "Block",
              "src": "4072:466:30",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9696,
                        "name": "_disputeID",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9688,
                        "src": "4102:10:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9697,
                        "name": "_ruling",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9690,
                        "src": "4113:7:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9693,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20739,
                        "src": "4082:5:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_Rental_$9752",
                          "typeString": "contract super Rental"
                        }
                      },
                      "id": 9695,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "executeRuling",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10438,
                      "src": "4082:19:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 9698,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4082:39:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9699,
                  "nodeType": "ExpressionStatement",
                  "src": "4082:39:30"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 9702,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 9700,
                      "name": "_ruling",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9690,
                      "src": "4135:7:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 9701,
                      "name": "PARTY_A_WINS",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10043,
                      "src": "4146:12:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "src": "4135:23:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 9720,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 9718,
                        "name": "_ruling",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9690,
                        "src": "4296:7:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 9719,
                        "name": "PARTY_B_WINS",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10046,
                        "src": "4307:12:30",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "src": "4296:23:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": null,
                    "id": 9736,
                    "nodeType": "IfStatement",
                    "src": "4292:147:30",
                    "trueBody": {
                      "id": 9735,
                      "nodeType": "Block",
                      "src": "4321:118:30",
                      "statements": [
                        {
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 9726,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 9724,
                                  "name": "amount",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9531,
                                  "src": "4347:6:30",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "-",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "id": 9725,
                                  "name": "damagesClaimedByPartyB",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9535,
                                  "src": "4356:22:30",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "4347:31:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 9721,
                                "name": "partyA",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10022,
                                "src": "4335:6:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 9723,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "send",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "4335:11:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$",
                                "typeString": "function (uint256) returns (bool)"
                              }
                            },
                            "id": 9727,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4335:44:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "id": 9728,
                          "nodeType": "ExpressionStatement",
                          "src": "4335:44:30"
                        },
                        {
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 9732,
                                "name": "damagesClaimedByPartyB",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9535,
                                "src": "4405:22:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 9729,
                                "name": "partyB",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10024,
                                "src": "4393:6:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 9731,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "send",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "4393:11:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$",
                                "typeString": "function (uint256) returns (bool)"
                              }
                            },
                            "id": 9733,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4393:35:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "id": 9734,
                          "nodeType": "ExpressionStatement",
                          "src": "4393:35:30"
                        }
                      ]
                    }
                  },
                  "id": 9737,
                  "nodeType": "IfStatement",
                  "src": "4131:308:30",
                  "trueBody": {
                    "id": 9717,
                    "nodeType": "Block",
                    "src": "4160:118:30",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 9708,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 9706,
                                "name": "amount",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9531,
                                "src": "4186:6:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "-",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 9707,
                                "name": "damagesClaimedByPartyA",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9533,
                                "src": "4195:22:30",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "4186:31:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 9703,
                              "name": "partyA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10022,
                              "src": "4174:6:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 9705,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "send",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "4174:11:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (uint256) returns (bool)"
                            }
                          },
                          "id": 9709,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4174:44:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 9710,
                        "nodeType": "ExpressionStatement",
                        "src": "4174:44:30"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9714,
                              "name": "damagesClaimedByPartyA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9533,
                              "src": "4244:22:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 9711,
                              "name": "partyB",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10024,
                              "src": "4232:6:30",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 9713,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "send",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "4232:11:30",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (uint256) returns (bool)"
                            }
                          },
                          "id": 9715,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4232:35:30",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 9716,
                        "nodeType": "ExpressionStatement",
                        "src": "4232:35:30"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9740,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9738,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9531,
                      "src": "4449:6:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 9739,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4458:1:30",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "4449:10:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 9741,
                  "nodeType": "ExpressionStatement",
                  "src": "4449:10:30"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9744,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9742,
                      "name": "damagesClaimedByPartyA",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9533,
                      "src": "4469:22:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 9743,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4494:1:30",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "4469:26:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 9745,
                  "nodeType": "ExpressionStatement",
                  "src": "4469:26:30"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9748,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9746,
                      "name": "damagesClaimedByPartyB",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9535,
                      "src": "4505:22:30",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 9747,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4530:1:30",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "4505:26:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 9749,
                  "nodeType": "ExpressionStatement",
                  "src": "4505:26:30"
                }
              ]
            },
            "documentation": "@dev Execute a ruling of a dispute. It reimburse the fee to the winning party.\n This need to be extended by contract inheriting from it.\n @param _disputeID ID of the dispute in the Arbitrator contract.\n @param _ruling Ruling given by the arbitrator. 1 : Rule for party A (renter). 2 : Rule for Party B (owner).",
            "id": 9751,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "executeRuling",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9691,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9688,
                  "name": "_disputeID",
                  "nodeType": "VariableDeclaration",
                  "scope": 9751,
                  "src": "4032:15:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9687,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4032:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9690,
                  "name": "_ruling",
                  "nodeType": "VariableDeclaration",
                  "scope": 9751,
                  "src": "4049:12:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9689,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4049:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4031:31:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 9692,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4072:0:30"
            },
            "scope": 9752,
            "src": "4009:529:30",
            "stateMutability": "nonpayable",
            "superFunction": 10438,
            "visibility": "internal"
          }
        ],
        "scope": 9753,
        "src": "579:3962:30"
      }
    ],
    "src": "153:4389:30"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.1",
  "updatedAt": "2018-11-02T14:04:11.025Z"
}