{
  "contractName": "Transaction",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "transactions",
      "outputs": [
        {
          "name": "id",
          "type": "uint256"
        },
        {
          "name": "seller",
          "type": "address"
        },
        {
          "name": "buyer",
          "type": "address"
        },
        {
          "name": "itemId",
          "type": "bytes16"
        },
        {
          "name": "typeItem",
          "type": "bytes8"
        },
        {
          "name": "location",
          "type": "string"
        },
        {
          "name": "pictureHash",
          "type": "string"
        },
        {
          "name": "receiptHash",
          "type": "bytes16"
        },
        {
          "name": "comment",
          "type": "string"
        },
        {
          "name": "status",
          "type": "bytes8"
        },
        {
          "name": "_price",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes16"
        }
      ],
      "name": "fundsLocked",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_id",
          "type": "uint256"
        },
        {
          "indexed": true,
          "name": "_itemId",
          "type": "bytes16"
        },
        {
          "indexed": false,
          "name": "_seller",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_buyer",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_price",
          "type": "uint256"
        }
      ],
      "name": "BuyItem",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "kill",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getNumberOfTransactions",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getSales",
      "outputs": [
        {
          "name": "",
          "type": "uint256[]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getPurchases",
      "outputs": [
        {
          "name": "",
          "type": "uint256[]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_seller",
          "type": "address"
        },
        {
          "name": "_itemId",
          "type": "bytes16"
        },
        {
          "name": "_typeItem",
          "type": "bytes8"
        },
        {
          "name": "_location",
          "type": "string"
        },
        {
          "name": "_pictureHash",
          "type": "string"
        },
        {
          "name": "_comment",
          "type": "string"
        },
        {
          "name": "_status",
          "type": "bytes8"
        },
        {
          "name": "_price",
          "type": "uint256"
        }
      ],
      "name": "buyItem",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_seller",
          "type": "address"
        },
        {
          "name": "_itemId",
          "type": "bytes16"
        },
        {
          "name": "_price",
          "type": "uint256"
        }
      ],
      "name": "sendAdditionalFunds",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_itemId",
          "type": "bytes16"
        }
      ],
      "name": "unlockFunds",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "seller",
          "type": "address"
        }
      ],
      "name": "sendAmount",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "source",
          "type": "string"
        }
      ],
      "name": "stringToBytes8",
      "outputs": [
        {
          "name": "result",
          "type": "bytes8"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611d09806100536000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630d83304c146100bf578063210cb8c31461012b57806324ba506d1461016157806341c0e1b51461018c5780638ce2df4a146101a35780639ace38c21461031c578063a318cedc146105e2578063c47f0f901461063f578063cfc405c7146106ab578063e69fd1c5146106eb578063ee9228e91461079e578063f2fde38b146107f2575b600080fd5b3480156100cb57600080fd5b506100d4610835565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101175780820151818401526020810190506100fc565b505050509050019250505060405180910390f35b61015f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109c5565b005b34801561016d57600080fd5b50610176610a70565b6040518082815260200191505060405180910390f35b34801561019857600080fd5b506101a1610a7a565b005b61031a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff19169060200190929190803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919080359060200190929190505050610b0f565b005b34801561032857600080fd5b5061034760048036038101908080359060200190929190505050610fff565b604051808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001896fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018877ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018060200180602001876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001806020018677ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200185815260200184810384528a818151815260200191508051906020019080838360005b838110156104cf5780820151818401526020810190506104b4565b50505050905090810190601f1680156104fc5780820380516001836020036101000a031916815260200191505b50848103835289818151815260200191508051906020019080838360005b8381101561053557808201518184015260208101905061051a565b50505050905090810190601f1680156105625780820380516001836020036101000a031916815260200191505b50848103825287818151815260200191508051906020019080838360005b8381101561059b578082015181840152602081019050610580565b50505050905090810190601f1680156105c85780820380516001836020036101000a031916815260200191505b509e50505050505050505050505050505060405180910390f35b61063d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff19169060200190929190803590602001909291905050506112e5565b005b34801561064b57600080fd5b506106546115d3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561069757808201518184015260208101905061067c565b505050509050019250505060405180910390f35b3480156106b757600080fd5b506106e960048036038101908080356fffffffffffffffffffffffffffffffff19169060200190929190505050611763565b005b3480156106f757600080fd5b50610752600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611b3f565b604051808277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b3480156107aa57600080fd5b506107dc60048036038101908080356fffffffffffffffffffffffffffffffff19169060200190929190505050611b82565b6040518082815260200191505060405180910390f35b3480156107fe57600080fd5b50610833600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b9a565b005b606080600080606060006003546040519080825280602002602001820160405280156108705781602001602082028038833980820191505090505b50945060009350600192505b6003548311151561093a573373ffffffffffffffffffffffffffffffffffffffff166001600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561092d576001600084815260200190815260200160002060000154858581518110151561091657fe5b906020019060200201818152505083806001019450505b828060010193505061087c565b836040519080825280602002602001820160405280156109695781602001602082028038833980820191505090505b509150600090505b838110156109ba57848181518110151561098757fe5b90602001906020020151828281518110151561099f57fe5b90602001906020020181815250508080600101915050610971565b819550505050505090565b60008173ffffffffffffffffffffffffffffffffffffffff16141515156109eb57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610a2657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610a6c573d6000803e3d6000fd5b5050565b6000600354905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ad557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60008873ffffffffffffffffffffffffffffffffffffffff1614151515610b3557600080fd5b8773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610b7057600080fd5b6000601060ff16111515610b8357600080fd5b6000600860ff16111515610b9657600080fd5b60008551111515610ba657600080fd5b60008451111515610bb657600080fd5b8034141515610bc457600080fd5b8060026000896fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001908152602001600020540160026000896fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001908152602001600020819055506003600081548092919060010191905055506101606040519081016040528060035481526020018973ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001886fffffffffffffffffffffffffffffffff191681526020018777ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200186815260200185815260200160006fffffffffffffffffffffffffffffffff191681526020018481526020018377ffffffffffffffffffffffffffffffffffffffffffffffff19168152602001828152506001600060035481526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a8154816fffffffffffffffffffffffffffffffff02191690837001000000000000000000000000000000009004021790555060808201518160030160106101000a81548167ffffffffffffffff021916908378010000000000000000000000000000000000000000000000009004021790555060a0820151816004019080519060200190610e72929190611c38565b5060c0820151816005019080519060200190610e8f929190611c38565b5060e08201518160060160006101000a8154816fffffffffffffffffffffffffffffffff021916908370010000000000000000000000000000000090040217905550610100820151816007019080519060200190610eee929190611c38565b506101208201518160080160006101000a81548167ffffffffffffffff02191690837801000000000000000000000000000000000000000000000000900402179055506101408201518160090155905050866fffffffffffffffffffffffffffffffff19166003547f2b32baf6aa749dcf64450a053b74bb710daf1230f871b3688cc966dc060bde408a3385604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a35050505050505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900470010000000000000000000000000000000002908060030160109054906101000a900478010000000000000000000000000000000000000000000000000290806004018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561114b5780601f106111205761010080835404028352916020019161114b565b820191906000526020600020905b81548152906001019060200180831161112e57829003601f168201915b505050505090806005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111e95780601f106111be576101008083540402835291602001916111e9565b820191906000526020600020905b8154815290600101906020018083116111cc57829003601f168201915b5050505050908060060160009054906101000a90047001000000000000000000000000000000000290806007018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112aa5780601f1061127f576101008083540402835291602001916112aa565b820191906000526020600020905b81548152906001019060200180831161128d57829003601f168201915b5050505050908060080160009054906101000a900478010000000000000000000000000000000000000000000000000290806009015490508b565b60008060008573ffffffffffffffffffffffffffffffffffffffff161415151561130e57600080fd5b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415151561134957600080fd5b6000601060ff1611151561135c57600080fd5b823414151561136a57600080fd5b600091505b600354821115156115cc57836fffffffffffffffffffffffffffffffff19166001600084815260200190815260200160002060030160009054906101000a9004700100000000000000000000000000000000026fffffffffffffffffffffffffffffffff191614156115bf576001600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144b57600080fd5b6001600083815260200190815260200160002060080160009054906101000a900478010000000000000000000000000000000000000000000000000277ffffffffffffffffffffffffffffffffffffffffffffffff19166114e06040805190810160405280600481526020017f7061696400000000000000000000000000000000000000000000000000000000815250611b3f565b77ffffffffffffffffffffffffffffffffffffffffffffffff191614151561150757600080fd5b6001600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503460016000848152602001908152602001600020600901540160016000848152602001908152602001600020600901819055508073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156115b9573d6000803e3d6000fd5b506115cc565b818060010192505061136f565b5050505050565b6060806000806060600060035460405190808252806020026020018201604052801561160e5781602001602082028038833980820191505090505b50945060009350600192505b600354831115156116d8573373ffffffffffffffffffffffffffffffffffffffff166001600085815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116cb57600160008481526020019081526020016000206000015485858151811015156116b457fe5b906020019060200201818152505083806001019450505b828060010193505061161a565b836040519080825280602002602001820160405280156117075781602001602082028038833980820191505090505b509150600090505b8381101561175857848181518110151561172557fe5b90602001906020020151828281518110151561173d57fe5b9060200190602002018181525050808060010191505061170f565b819550505050505090565b600080600080600093505b60035484111515611b3857846fffffffffffffffffffffffffffffffff19166001600086815260200190815260200160002060030160009054906101000a9004700100000000000000000000000000000000026fffffffffffffffffffffffffffffffff19161415611b2b576001600085815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561184a57600080fd5b6001600085815260200190815260200160002060080160009054906101000a900478010000000000000000000000000000000000000000000000000277ffffffffffffffffffffffffffffffffffffffffffffffff19166118df6040805190810160405280600481526020017f7061696400000000000000000000000000000000000000000000000000000000815250611b3f565b77ffffffffffffffffffffffffffffffffffffffffffffffff19161415151561190757600080fd5b6001600085815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692506001600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915060016000858152602001908152602001600020600901549050600060026000876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001908152602001600020541115156119da57600080fd5b8060026000876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001908152602001600020540360026000876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a99573d6000803e3d6000fd5b50611ad86040805190810160405280600481526020017f7061696400000000000000000000000000000000000000000000000000000000815250611b3f565b6001600086815260200190815260200160002060080160006101000a81548167ffffffffffffffff0219169083780100000000000000000000000000000000000000000000000090040217905550611b38565b838060010194505061176e565b5050505050565b60006060829050600081511415611b745760007801000000000000000000000000000000000000000000000000029150611b7c565b600883015191505b50919050565b60026020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bf557600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c7957805160ff1916838001178555611ca7565b82800160010185558215611ca7579182015b82811115611ca6578251825591602001919060010190611c8b565b5b509050611cb49190611cb8565b5090565b611cda91905b80821115611cd6576000816000905550600101611cbe565b5090565b905600a165627a7a72305820fc06fd9b7f2254732306f1824ad4e5030a3a95c6d481dc8e014447ef0a9c59820029",
  "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630d83304c146100bf578063210cb8c31461012b57806324ba506d1461016157806341c0e1b51461018c5780638ce2df4a146101a35780639ace38c21461031c578063a318cedc146105e2578063c47f0f901461063f578063cfc405c7146106ab578063e69fd1c5146106eb578063ee9228e91461079e578063f2fde38b146107f2575b600080fd5b3480156100cb57600080fd5b506100d4610835565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101175780820151818401526020810190506100fc565b505050509050019250505060405180910390f35b61015f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109c5565b005b34801561016d57600080fd5b50610176610a70565b6040518082815260200191505060405180910390f35b34801561019857600080fd5b506101a1610a7a565b005b61031a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff19169060200190929190803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919080359060200190929190505050610b0f565b005b34801561032857600080fd5b5061034760048036038101908080359060200190929190505050610fff565b604051808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001896fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018877ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018060200180602001876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001806020018677ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200185815260200184810384528a818151815260200191508051906020019080838360005b838110156104cf5780820151818401526020810190506104b4565b50505050905090810190601f1680156104fc5780820380516001836020036101000a031916815260200191505b50848103835289818151815260200191508051906020019080838360005b8381101561053557808201518184015260208101905061051a565b50505050905090810190601f1680156105625780820380516001836020036101000a031916815260200191505b50848103825287818151815260200191508051906020019080838360005b8381101561059b578082015181840152602081019050610580565b50505050905090810190601f1680156105c85780820380516001836020036101000a031916815260200191505b509e50505050505050505050505050505060405180910390f35b61063d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff19169060200190929190803590602001909291905050506112e5565b005b34801561064b57600080fd5b506106546115d3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561069757808201518184015260208101905061067c565b505050509050019250505060405180910390f35b3480156106b757600080fd5b506106e960048036038101908080356fffffffffffffffffffffffffffffffff19169060200190929190505050611763565b005b3480156106f757600080fd5b50610752600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611b3f565b604051808277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b3480156107aa57600080fd5b506107dc60048036038101908080356fffffffffffffffffffffffffffffffff19169060200190929190505050611b82565b6040518082815260200191505060405180910390f35b3480156107fe57600080fd5b50610833600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b9a565b005b606080600080606060006003546040519080825280602002602001820160405280156108705781602001602082028038833980820191505090505b50945060009350600192505b6003548311151561093a573373ffffffffffffffffffffffffffffffffffffffff166001600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561092d576001600084815260200190815260200160002060000154858581518110151561091657fe5b906020019060200201818152505083806001019450505b828060010193505061087c565b836040519080825280602002602001820160405280156109695781602001602082028038833980820191505090505b509150600090505b838110156109ba57848181518110151561098757fe5b90602001906020020151828281518110151561099f57fe5b90602001906020020181815250508080600101915050610971565b819550505050505090565b60008173ffffffffffffffffffffffffffffffffffffffff16141515156109eb57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610a2657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610a6c573d6000803e3d6000fd5b5050565b6000600354905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ad557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60008873ffffffffffffffffffffffffffffffffffffffff1614151515610b3557600080fd5b8773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610b7057600080fd5b6000601060ff16111515610b8357600080fd5b6000600860ff16111515610b9657600080fd5b60008551111515610ba657600080fd5b60008451111515610bb657600080fd5b8034141515610bc457600080fd5b8060026000896fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001908152602001600020540160026000896fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001908152602001600020819055506003600081548092919060010191905055506101606040519081016040528060035481526020018973ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001886fffffffffffffffffffffffffffffffff191681526020018777ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200186815260200185815260200160006fffffffffffffffffffffffffffffffff191681526020018481526020018377ffffffffffffffffffffffffffffffffffffffffffffffff19168152602001828152506001600060035481526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a8154816fffffffffffffffffffffffffffffffff02191690837001000000000000000000000000000000009004021790555060808201518160030160106101000a81548167ffffffffffffffff021916908378010000000000000000000000000000000000000000000000009004021790555060a0820151816004019080519060200190610e72929190611c38565b5060c0820151816005019080519060200190610e8f929190611c38565b5060e08201518160060160006101000a8154816fffffffffffffffffffffffffffffffff021916908370010000000000000000000000000000000090040217905550610100820151816007019080519060200190610eee929190611c38565b506101208201518160080160006101000a81548167ffffffffffffffff02191690837801000000000000000000000000000000000000000000000000900402179055506101408201518160090155905050866fffffffffffffffffffffffffffffffff19166003547f2b32baf6aa749dcf64450a053b74bb710daf1230f871b3688cc966dc060bde408a3385604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a35050505050505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900470010000000000000000000000000000000002908060030160109054906101000a900478010000000000000000000000000000000000000000000000000290806004018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561114b5780601f106111205761010080835404028352916020019161114b565b820191906000526020600020905b81548152906001019060200180831161112e57829003601f168201915b505050505090806005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111e95780601f106111be576101008083540402835291602001916111e9565b820191906000526020600020905b8154815290600101906020018083116111cc57829003601f168201915b5050505050908060060160009054906101000a90047001000000000000000000000000000000000290806007018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112aa5780601f1061127f576101008083540402835291602001916112aa565b820191906000526020600020905b81548152906001019060200180831161128d57829003601f168201915b5050505050908060080160009054906101000a900478010000000000000000000000000000000000000000000000000290806009015490508b565b60008060008573ffffffffffffffffffffffffffffffffffffffff161415151561130e57600080fd5b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415151561134957600080fd5b6000601060ff1611151561135c57600080fd5b823414151561136a57600080fd5b600091505b600354821115156115cc57836fffffffffffffffffffffffffffffffff19166001600084815260200190815260200160002060030160009054906101000a9004700100000000000000000000000000000000026fffffffffffffffffffffffffffffffff191614156115bf576001600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144b57600080fd5b6001600083815260200190815260200160002060080160009054906101000a900478010000000000000000000000000000000000000000000000000277ffffffffffffffffffffffffffffffffffffffffffffffff19166114e06040805190810160405280600481526020017f7061696400000000000000000000000000000000000000000000000000000000815250611b3f565b77ffffffffffffffffffffffffffffffffffffffffffffffff191614151561150757600080fd5b6001600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503460016000848152602001908152602001600020600901540160016000848152602001908152602001600020600901819055508073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156115b9573d6000803e3d6000fd5b506115cc565b818060010192505061136f565b5050505050565b6060806000806060600060035460405190808252806020026020018201604052801561160e5781602001602082028038833980820191505090505b50945060009350600192505b600354831115156116d8573373ffffffffffffffffffffffffffffffffffffffff166001600085815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116cb57600160008481526020019081526020016000206000015485858151811015156116b457fe5b906020019060200201818152505083806001019450505b828060010193505061161a565b836040519080825280602002602001820160405280156117075781602001602082028038833980820191505090505b509150600090505b8381101561175857848181518110151561172557fe5b90602001906020020151828281518110151561173d57fe5b9060200190602002018181525050808060010191505061170f565b819550505050505090565b600080600080600093505b60035484111515611b3857846fffffffffffffffffffffffffffffffff19166001600086815260200190815260200160002060030160009054906101000a9004700100000000000000000000000000000000026fffffffffffffffffffffffffffffffff19161415611b2b576001600085815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561184a57600080fd5b6001600085815260200190815260200160002060080160009054906101000a900478010000000000000000000000000000000000000000000000000277ffffffffffffffffffffffffffffffffffffffffffffffff19166118df6040805190810160405280600481526020017f7061696400000000000000000000000000000000000000000000000000000000815250611b3f565b77ffffffffffffffffffffffffffffffffffffffffffffffff19161415151561190757600080fd5b6001600085815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692506001600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915060016000858152602001908152602001600020600901549050600060026000876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001908152602001600020541115156119da57600080fd5b8060026000876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001908152602001600020540360026000876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a99573d6000803e3d6000fd5b50611ad86040805190810160405280600481526020017f7061696400000000000000000000000000000000000000000000000000000000815250611b3f565b6001600086815260200190815260200160002060080160006101000a81548167ffffffffffffffff0219169083780100000000000000000000000000000000000000000000000090040217905550611b38565b838060010194505061176e565b5050505050565b60006060829050600081511415611b745760007801000000000000000000000000000000000000000000000000029150611b7c565b600883015191505b50919050565b60026020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bf557600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c7957805160ff1916838001178555611ca7565b82800160010185558215611ca7579182015b82811115611ca6578251825591602001919060010190611c8b565b5b509050611cb49190611cb8565b5090565b611cda91905b80821115611cd6576000816000905550600101611cbe565b5090565b905600a165627a7a72305820fc06fd9b7f2254732306f1824ad4e5030a3a95c6d481dc8e014447ef0a9c59820029",
  "sourceMap": "1251:5719:2:-;;;969:10;961:5;;:18;;;;;;;;;;;;;;;;;;1251:5719;;;;;;",
  "deployedSourceMap": "1251:5719:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2179:719;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2179:719:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2179:719:2;;;;;;;;;;;;;;;;;6454:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;2026:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2026:100:2;;;;;;;;;;;;;;;;;;;;;;;1900:65;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1900:65:2;;;;;;3697:1158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1601:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1601:56:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1601:56:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1601:56:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1601:56:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4922:779;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2954:704;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2954:704:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2954:704:2;;;;;;;;;;;;;;;;;5707:740;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5707:740:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6700:265;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6700:265:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1662:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1662:46:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1158:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1158:84:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;2179:719;2220:6;2264:28;2334:18;2403:6;2735:19;2793:6;2306:18;;2295:30;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;2295:30:2;;;;2264:61;;2355:1;2334:22;;2412:1;2403:10;;2399:260;2420:18;;2415:1;:23;;2399:260;;;2543:10;2517:36;;:12;:15;2530:1;2517:15;;;;;;;;;;;:22;;;;;;;;;;;;:36;;;2514:138;;;2598:12;:15;2611:1;2598:15;;;;;;;;;;;:18;;;2566:14;2581:13;2566:29;;;;;;;;;;;;;;;;;:50;;;;;2627:15;;;;;;;2514:138;2440:3;;;;;;;2399:260;;;2768:13;2757:25;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;2757:25:2;;;;2735:47;;2802:1;2793:10;;2789:85;2809:13;2805:1;:17;2789:85;;;2849:14;2864:1;2849:17;;;;;;;;;;;;;;;;;;2838:5;2844:1;2838:8;;;;;;;;;;;;;;;;;:28;;;;;2824:3;;;;;;;2789:85;;;2887:5;2880:12;;2179:719;;;;;;:::o;6454:240::-;6559:3;6549:6;:13;;;;6541:22;;;;;;;;6643:6;6629:20;;:10;:20;;;;6621:29;;;;;;;;6661:6;:15;;:26;6677:9;6661:26;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6661:26:2;6454:240;:::o;2026:100::-;2082:4;2102:18;;2095:25;;2026:100;:::o;1900:65::-;884:5;;;;;;;;;;;870:19;;:10;:19;;;862:28;;;;;;;;1953:5;;;;;;;;;;;1940:19;;;3697:1158;3920:3;3909:7;:14;;;;3901:23;;;;;;;;4000:7;3986:21;;:10;:21;;;;3978:30;;;;;;;;4042:1;4025:14;:18;;;4017:27;;;;;;;;4078:1;4059:16;:20;;;4051:29;;;;;;;;4121:1;4101:9;4095:23;:27;4087:36;;;;;;;;4167:1;4144:12;4138:26;:30;4130:39;;;;;;;;4243:6;4230:9;:19;4222:28;;;;;;;;4382:6;4359:11;:20;4371:7;4359:20;;;;;;;;;;;;;;;;;;:29;4338:11;:20;4350:7;4338:20;;;;;;;;;;;;;;;;;:50;;;;4421:18;;:20;;;;;;;;;;;;;4519:220;;;;;;;;;4547:18;;4519:220;;;;4574:7;4519:220;;;;;;4590:10;4519:220;;;;;;4609:7;4519:220;;;;;;;4625:9;4519:220;;;;;;;4643:9;4519:220;;;;4661:12;4519:220;;;;;;;;;;;;4693:8;4519:220;;;;4710:7;4519:220;;;;;;;4726:6;4519:220;;;4484:12;:32;4497:18;;4484:32;;;;;;;;;;;:255;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4812:7;4784:65;;;4792:18;;4784:65;4821:7;4830:10;4842:6;4784:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3697:1158;;;;;;;;:::o;1601:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4922:779::-;5241:6;5466:14;5067:3;5056:7;:14;;;;5048:23;;;;;;;;5147:7;5133:21;;:10;:21;;;;5125:30;;;;;;;;5189:1;5172:14;:18;;;5164:27;;;;;;;;5221:6;5208:9;:19;5200:28;;;;;;;;5250:1;5241:10;;5237:459;5258:18;;5253:1;:23;;5237:459;;;5321:7;5295:33;;;:12;:15;5308:1;5295:15;;;;;;;;;;;:22;;;;;;;;;;;;:33;;;;5292:397;;;5365:12;:15;5378:1;5365:15;;;;;;;;;;;:21;;;;;;;;;;;;5351:35;;:10;:35;;;5343:44;;;;;;;;5432:12;:15;5445:1;5432:15;;;;;;;;;;;:22;;;;;;;;;;;;5406:48;;;:22;;;;;;;;;;;;;;;;;;;:14;:22::i;:::-;:48;;;;5398:57;;;;;;;;5483:12;:15;5496:1;5483:15;;;;;;;;;;;:22;;;;;;;;;;;;5466:39;;5566:9;5541:12;:15;5554:1;5541:15;;;;;;;;;;;:22;;;:34;5516:12;:15;5529:1;5516:15;;;;;;;;;;;:22;;:59;;;;5635:6;:15;;:26;5651:9;5635:26;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5635:26:2;5674:5;;5292:397;5278:3;;;;;;;5237:459;;;4922:779;;;;;:::o;2954:704::-;2999:6;3043:28;3113:16;3180:6;3505:17;3559:6;3085:18;;3074:30;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3074:30:2;;;;3043:61;;3132:1;3113:20;;3189:1;3180:10;;3176:255;3197:18;;3192:1;:23;;3176:255;;;3319:10;3294:35;;:12;:15;3307:1;3294:15;;;;;;;;;;;:21;;;;;;;;;;;;:35;;;3291:133;;;3372:12;:15;3385:1;3372:15;;;;;;;;;;;:18;;;3342:14;3357:11;3342:27;;;;;;;;;;;;;;;;;:48;;;;;3401:13;;;;;;;3291:133;3217:3;;;;;;;3176:255;;;3536:11;3525:23;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3525:23:2;;;;3505:43;;3568:1;3559:10;;3555:81;3575:11;3571:1;:15;3555:81;;;3611:14;3626:1;3611:17;;;;;;;;;;;;;;;;;;3602:3;3606:1;3602:6;;;;;;;;;;;;;;;;;:26;;;;;3588:3;;;;;;;3555:81;;;3649:3;3642:10;;2954:704;;;;;;:::o;5707:740::-;5765:6;5990:13;6038:14;6088:24;5774:1;5765:10;;5761:681;5782:18;;5777:1;:23;;5761:681;;;5845:7;5819:33;;;:12;:15;5832:1;5819:15;;;;;;;;;;;:22;;;;;;;;;;;;:33;;;;5816:619;;;5889:12;:15;5902:1;5889:15;;;;;;;;;;;:21;;;;;;;;;;;;5875:35;;:10;:35;;;5867:44;;;;;;;;5956:12;:15;5969:1;5956:15;;;;;;;;;;;:22;;;;;;;;;;;;5930:48;;;:22;;;;;;;;;;;;;;;;;;;:14;:22::i;:::-;:48;;;;;5922:57;;;;;;;;6006:12;:15;6019:1;6006:15;;;;;;;;;;;:21;;;;;;;;;;;;5990:37;;6055:12;:15;6068:1;6055:15;;;;;;;;;;;:22;;;;;;;;;;;;6038:39;;6115:12;:15;6128:1;6115:15;;;;;;;;;;;:22;;;6088:49;;6179:1;6158:11;:20;6170:7;6158:20;;;;;;;;;;;;;;;;;;:22;6150:31;;;;;;;;6237:16;6213:11;:20;6225:7;6213:20;;;;;;;;;;;;;;;;;;:41;6192:11;:20;6204:7;6192:20;;;;;;;;;;;;;;;;;:62;;;;6314:6;:15;;:33;6330:16;6314:33;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6314:33:2;6385:22;;;;;;;;;;;;;;;;;;;:14;:22::i;:::-;6360:12;:15;6373:1;6360:15;;;;;;;;;;;:22;;;:47;;;;;;;;;;;;;;;;;;;6420:5;;5816:619;5802:3;;;;;;;5761:681;;;5707:740;;;;;:::o;6700:265::-;6755:13;6777:32;6818:6;6777:48;;6866:1;6836:19;:26;:31;6832:64;;;6885:3;6878:10;;;;;;6832:64;6950:1;6942:6;6938:14;6932:21;6922:31;;6913:47;;;;;:::o;1662:46::-;;;;;;;;;;;;;;;;;:::o;1158:84::-;884:5;;;;;;;;;;;870:19;;:10;:19;;;862:28;;;;;;;;1228:8;1220:5;;:16;;;;;;;;;;;;;;;;;;1158:84;:::o;1251:5719::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.23;\r\n\r\nlibrary SafeMath {\r\n  function mul(uint256 a, uint256 b) internal constant returns (uint256) {\r\n    uint256 c = a * b;\r\n    assert(a == 0 || c / a == b);\r\n    return c;\r\n  }\r\n\r\n  function div(uint256 a, uint256 b) internal constant returns (uint256) {\r\n    // assert(b > 0); // Solidity automatically throws when dividing by 0\r\n    uint256 c = a / b;\r\n    // assert(a == b * c + a % b); // There is no case in which this doesn't hold\r\n    return c;\r\n  }\r\n\r\n  function sub(uint256 a, uint256 b) internal constant returns (uint256) {\r\n    assert(b <= a);\r\n    return a - b;\r\n  }\r\n\r\n  function add(uint256 a, uint256 b) internal constant returns (uint256) {\r\n    uint256 c = a + b;\r\n    assert(c >= a);\r\n    return c;\r\n  }\r\n}\r\n\r\ncontract Ownable {\r\n  // state variables\r\n  address owner;\r\n\r\n  // modifiers\r\n  modifier onlyOwner() {\r\n    require(msg.sender == owner);\r\n    _;\r\n  }\r\n\r\n  // constructor\r\n  function Ownable() public {\r\n    owner = msg.sender;\r\n  }\r\n\r\n  /**\r\n     * @dev Allows the current owner to transfer control of the contract to a newOwner.\r\n     * @param newOwner The address to transfer ownership to.\r\n     */\r\n  function transferOwnership(address newOwner) onlyOwner {\r\n    owner = newOwner;\r\n  }\r\n\r\n}\r\n\r\ncontract Transaction is Ownable {\r\n  // custom types\r\n  struct TransactionNeoPlace {\r\n    uint id;\r\n    address seller;\r\n    address buyer;\r\n    bytes16 itemId;\r\n    bytes8 typeItem;\r\n    string location;\r\n    string pictureHash;\r\n    bytes16 receiptHash;\r\n    string comment;\r\n    bytes8 status;\r\n    uint256 _price;\r\n  }\r\n\r\n  // state variables\r\n  mapping(uint => TransactionNeoPlace) public transactions;\r\n  mapping(bytes16 => uint256) public fundsLocked;\r\n\r\n  uint transactionCounter;\r\n\r\n  // events\r\n  event BuyItem(\r\n    uint indexed _id,\r\n    bytes16 indexed _itemId,\r\n    address _seller,\r\n    address _buyer,\r\n    uint256 _price\r\n  );\r\n\r\n  function kill() public onlyOwner {\r\n    selfdestruct(owner);\r\n  }\r\n\r\n  // fetch the number of transactions in the contract\r\n  function getNumberOfTransactions() public view returns (uint) {\r\n    return transactionCounter;\r\n  }\r\n\r\n  // fetch and return all sales of the seller\r\n  function getSales() public view returns (uint[]) {\r\n    // prepare output array\r\n    uint[] memory transactionIds = new uint[](transactionCounter);\r\n\r\n    uint numberOfSales = 0;\r\n\r\n    // iterate over transactions\r\n    for(uint i = 1; i <= transactionCounter; i++) {\r\n      // keep the ID if the transaction owns to the seller\r\n      if(transactions[i].seller == msg.sender) {\r\n        transactionIds[numberOfSales] = transactions[i].id;\r\n        numberOfSales++;\r\n      }\r\n    }\r\n\r\n    // copy the transactionIds array into a smaller getSales array\r\n    uint[] memory sales = new uint[](numberOfSales);\r\n    for(uint j = 0; j < numberOfSales; j++) {\r\n      sales[j] = transactionIds[j];\r\n    }\r\n    return sales;\r\n  }\r\n\r\n  // fetch and return all purchases of the buyer\r\n  function getPurchases() public view returns (uint[]) {\r\n    // prepare output array\r\n    uint[] memory transactionIds = new uint[](transactionCounter);\r\n\r\n    uint numberOfBuy = 0;\r\n\r\n    // iterate over transactions\r\n    for(uint i = 1; i <= transactionCounter; i++) {\r\n      // keep the ID if the transaction owns to the seller\r\n      if(transactions[i].buyer == msg.sender) {\r\n        transactionIds[numberOfBuy] = transactions[i].id;\r\n        numberOfBuy++;\r\n      }\r\n    }\r\n\r\n    // copy the transactionIds array into a smaller getBuy array\r\n    uint[] memory buy = new uint[](numberOfBuy);\r\n    for(uint j = 0; j < numberOfBuy; j++) {\r\n      buy[j] = transactionIds[j];\r\n    }\r\n    return buy;\r\n  }\r\n\r\n  // new transaction / buy item\r\n  function buyItem(address _seller, bytes16 _itemId, bytes8 _typeItem, string _location, string _pictureHash, string _comment, bytes8 _status, uint256 _price) payable public {\r\n    // address not null\r\n    require(_seller != 0x0);\r\n    // seller don't allow to buy his own item\r\n    require(msg.sender != _seller);\r\n\r\n    require(_itemId.length > 0);\r\n    require(_typeItem.length > 0);\r\n    require(bytes(_location).length > 0);\r\n    require(bytes(_pictureHash).length > 0);\r\n    //require(bytes(_comment).length > 0);\r\n\r\n    require(msg.value == _price);\r\n\r\n\r\n    // lock and put the funds in escrow\r\n    //_seller.transfer(msg.value);\r\n    fundsLocked[_itemId]=fundsLocked[_itemId] + _price;\r\n\r\n    // new transaction\r\n    transactionCounter++;\r\n\r\n    // store the new transaction\r\n    transactions[transactionCounter] = TransactionNeoPlace(\r\n      transactionCounter,\r\n      _seller,\r\n      msg.sender,\r\n      _itemId,\r\n      _typeItem,\r\n      _location,\r\n      _pictureHash,\r\n      \"\",\r\n      _comment,\r\n      _status,\r\n      _price\r\n    );\r\n\r\n    // trigger the new transaction\r\n    BuyItem(transactionCounter, _itemId, _seller, msg.sender, _price);\r\n  }\r\n\r\n  // send additional funds\r\n  //TODO merge with unlockFunds\r\n  function sendAdditionalFunds(address _seller, bytes16 _itemId, uint256 _price) payable public {\r\n    // address not null\r\n    require(_seller != 0x0);\r\n    // seller don't allow to buy his own item\r\n    require(msg.sender != _seller);\r\n\r\n    require(_itemId.length > 0);\r\n\r\n    require(msg.value == _price);\r\n\r\n    for(uint i = 0; i <= transactionCounter; i++) {\r\n      if(transactions[i].itemId == _itemId) {\r\n\r\n        require(msg.sender == transactions[i].buyer);\r\n        require(stringToBytes8(\"paid\") == transactions[i].status);\r\n        address seller = transactions[i].seller;\r\n        transactions[i]._price = transactions[i]._price + msg.value;\r\n\r\n        //transfer fund from client to vendor\r\n        seller.transfer(msg.value);\r\n\r\n        break;\r\n      }\r\n    }\r\n  }\r\n\r\n  function unlockFunds(bytes16 _itemId) public {\r\n\r\n    for(uint i = 0; i <= transactionCounter; i++) {\r\n      if(transactions[i].itemId == _itemId) {\r\n\r\n        require(msg.sender == transactions[i].buyer);\r\n        require(stringToBytes8(\"paid\") != transactions[i].status);\r\n        address buyer = transactions[i].buyer;\r\n        address seller = transactions[i].seller;\r\n        uint256 priceTransaction = transactions[i]._price;\r\n\r\n        require(fundsLocked[_itemId]>0);\r\n        fundsLocked[_itemId]=fundsLocked[_itemId] - (priceTransaction);\r\n\r\n        //transfer fund from client to vendor\r\n        seller.transfer(priceTransaction);\r\n\r\n        transactions[i].status = stringToBytes8('paid');\r\n\r\n        break;\r\n      }\r\n    }\r\n  }\r\n\r\n   function sendAmount(address seller) payable public {\r\n      // address not null\r\n      require(seller != 0x0);\r\n      // seller don't allow to buy his own item\r\n      require(msg.sender != seller);\r\n\r\n      seller.transfer(msg.value);\r\n   }\r\n\r\n  function stringToBytes8(string memory source) returns (bytes8 result) {\r\n    bytes memory tempEmptyStringTest = bytes(source);\r\n    if (tempEmptyStringTest.length == 0) {\r\n      return 0x0;\r\n    }\r\n\r\n    assembly {\r\n      result := mload(add(source, 8))\r\n    }\r\n  }\r\n\r\n}\r\n",
  "sourcePath": "D:\\web\\frontend\\contracts\\Transaction.sol",
  "ast": {
    "absolutePath": "/D/web/frontend/contracts/Transaction.sol",
    "exportedSymbols": {
      "Ownable": [
        211
      ],
      "SafeMath": [
        176
      ],
      "Transaction": [
        820
      ]
    },
    "id": 821,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 83,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".23"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:2"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": null,
        "fullyImplemented": true,
        "id": 176,
        "linearizedBaseContracts": [
          176
        ],
        "name": "SafeMath",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 112,
              "nodeType": "Block",
              "src": "121:80:2",
              "statements": [
                {
                  "assignments": [
                    93
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 93,
                      "name": "c",
                      "nodeType": "VariableDeclaration",
                      "scope": 113,
                      "src": "128:9:2",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 92,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "128:7:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 97,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 96,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 94,
                      "name": "a",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 85,
                      "src": "140:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "*",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 95,
                      "name": "b",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 87,
                      "src": "144:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "140:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "128:17:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 107,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 101,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 99,
                            "name": "a",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 85,
                            "src": "159:1:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 100,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "164:1:2",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "159:6:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 106,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 104,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 102,
                              "name": "c",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 93,
                              "src": "169:1:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "/",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 103,
                              "name": "a",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 85,
                              "src": "173:1:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "169:5:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 105,
                            "name": "b",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 87,
                            "src": "178:1:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "169:10:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "159:20:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 98,
                      "name": "assert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 824,
                      "src": "152:6:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 108,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "152:28:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 109,
                  "nodeType": "ExpressionStatement",
                  "src": "152:28:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 110,
                    "name": "c",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 93,
                    "src": "194:1:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 91,
                  "id": 111,
                  "nodeType": "Return",
                  "src": "187:8:2"
                }
              ]
            },
            "documentation": null,
            "id": 113,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "mul",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 88,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 85,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 113,
                  "src": "63:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 84,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "63:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 87,
                  "name": "b",
                  "nodeType": "VariableDeclaration",
                  "scope": 113,
                  "src": "74:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 86,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "74:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "62:22:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 91,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 90,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 113,
                  "src": "112:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 89,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "112:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "111:9:2"
            },
            "scope": 176,
            "src": "50:151:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 130,
              "nodeType": "Block",
              "src": "278:203:2",
              "statements": [
                {
                  "assignments": [
                    123
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 123,
                      "name": "c",
                      "nodeType": "VariableDeclaration",
                      "scope": 131,
                      "src": "360:9:2",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 122,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "360:7:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 127,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 126,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 124,
                      "name": "a",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 115,
                      "src": "372:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "/",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 125,
                      "name": "b",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 117,
                      "src": "376:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "372:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "360:17:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 128,
                    "name": "c",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 123,
                    "src": "474:1:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 121,
                  "id": 129,
                  "nodeType": "Return",
                  "src": "467:8:2"
                }
              ]
            },
            "documentation": null,
            "id": 131,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "div",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 118,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 115,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 131,
                  "src": "220:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 114,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "220:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 117,
                  "name": "b",
                  "nodeType": "VariableDeclaration",
                  "scope": 131,
                  "src": "231:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 116,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "231:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "219:22:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 121,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 120,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 131,
                  "src": "269:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 119,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "269:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "268:9:2"
            },
            "scope": 176,
            "src": "207:274:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 150,
              "nodeType": "Block",
              "src": "558:46:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 143,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 141,
                          "name": "b",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 135,
                          "src": "572:1:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 142,
                          "name": "a",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 133,
                          "src": "577:1:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "572:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 140,
                      "name": "assert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 824,
                      "src": "565:6:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 144,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "565:14:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 145,
                  "nodeType": "ExpressionStatement",
                  "src": "565:14:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 148,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 146,
                      "name": "a",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 133,
                      "src": "593:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "-",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 147,
                      "name": "b",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 135,
                      "src": "597:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "593:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 139,
                  "id": 149,
                  "nodeType": "Return",
                  "src": "586:12:2"
                }
              ]
            },
            "documentation": null,
            "id": 151,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "sub",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 136,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 133,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 151,
                  "src": "500:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 132,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "500:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 135,
                  "name": "b",
                  "nodeType": "VariableDeclaration",
                  "scope": 151,
                  "src": "511:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 134,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "511:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "499:22:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 139,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 138,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 151,
                  "src": "549:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 137,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "549:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "548:9:2"
            },
            "scope": 176,
            "src": "487:117:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 174,
              "nodeType": "Block",
              "src": "681:66:2",
              "statements": [
                {
                  "assignments": [
                    161
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 161,
                      "name": "c",
                      "nodeType": "VariableDeclaration",
                      "scope": 175,
                      "src": "688:9:2",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 160,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "688:7:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 165,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 164,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 162,
                      "name": "a",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 153,
                      "src": "700:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 163,
                      "name": "b",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 155,
                      "src": "704:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "700:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "688:17:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 169,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 167,
                          "name": "c",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 161,
                          "src": "719:1:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 168,
                          "name": "a",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 153,
                          "src": "724:1:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "719:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 166,
                      "name": "assert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 824,
                      "src": "712:6:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 170,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "712:14:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 171,
                  "nodeType": "ExpressionStatement",
                  "src": "712:14:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 172,
                    "name": "c",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 161,
                    "src": "740:1:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 159,
                  "id": 173,
                  "nodeType": "Return",
                  "src": "733:8:2"
                }
              ]
            },
            "documentation": null,
            "id": 175,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "add",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 156,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 153,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 175,
                  "src": "623:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 152,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "623:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 155,
                  "name": "b",
                  "nodeType": "VariableDeclaration",
                  "scope": 175,
                  "src": "634:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 154,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "634:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "622:22:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 159,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 158,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 175,
                  "src": "672:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 157,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "672:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "671:9:2"
            },
            "scope": 176,
            "src": "610:137:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          }
        ],
        "scope": 821,
        "src": "28:722:2"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 211,
        "linearizedBaseContracts": [
          211
        ],
        "name": "Ownable",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 178,
            "name": "owner",
            "nodeType": "VariableDeclaration",
            "scope": 211,
            "src": "798:13:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 177,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "798:7:2",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 188,
              "nodeType": "Block",
              "src": "855:49:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 184,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 181,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "870:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 182,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "870:10:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 183,
                          "name": "owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 178,
                          "src": "884:5:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "870:19:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 180,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "862:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 185,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "862:28:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 186,
                  "nodeType": "ExpressionStatement",
                  "src": "862:28:2"
                },
                {
                  "id": 187,
                  "nodeType": "PlaceholderStatement",
                  "src": "897:1:2"
                }
              ]
            },
            "documentation": null,
            "id": 189,
            "name": "onlyOwner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 179,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "852:2:2"
            },
            "src": "834:70:2",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 197,
              "nodeType": "Block",
              "src": "954:31:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 195,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 192,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 178,
                      "src": "961:5:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 193,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 835,
                        "src": "969:3:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 194,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "969:10:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "961:18:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 196,
                  "nodeType": "ExpressionStatement",
                  "src": "961:18:2"
                }
              ]
            },
            "documentation": null,
            "id": 198,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "Ownable",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 190,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "944:2:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 191,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "954:0:2"
            },
            "scope": 211,
            "src": "928:57:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 209,
              "nodeType": "Block",
              "src": "1213:29:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 207,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 205,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 178,
                      "src": "1220:5:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 206,
                      "name": "newOwner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 200,
                      "src": "1228:8:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "1220:16:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 208,
                  "nodeType": "ExpressionStatement",
                  "src": "1220:16:2"
                }
              ]
            },
            "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\r\n@param newOwner The address to transfer ownership to.\r",
            "id": 210,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 203,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 202,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 189,
                  "src": "1203:9:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1203:9:2"
              }
            ],
            "name": "transferOwnership",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 201,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 200,
                  "name": "newOwner",
                  "nodeType": "VariableDeclaration",
                  "scope": 210,
                  "src": "1185:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 199,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1185:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1184:18:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 204,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1213:0:2"
            },
            "scope": 211,
            "src": "1158:84:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 821,
        "src": "754:493:2"
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 212,
              "name": "Ownable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 211,
              "src": "1275:7:2",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Ownable_$211",
                "typeString": "contract Ownable"
              }
            },
            "id": 213,
            "nodeType": "InheritanceSpecifier",
            "src": "1275:7:2"
          }
        ],
        "contractDependencies": [
          211
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 820,
        "linearizedBaseContracts": [
          820,
          211
        ],
        "name": "Transaction",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "canonicalName": "Transaction.TransactionNeoPlace",
            "id": 236,
            "members": [
              {
                "constant": false,
                "id": 215,
                "name": "id",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1341:7:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 214,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "1341:4:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 217,
                "name": "seller",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1355:14:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 216,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1355:7:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 219,
                "name": "buyer",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1376:13:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 218,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1376:7:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 221,
                "name": "itemId",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1396:14:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes16",
                  "typeString": "bytes16"
                },
                "typeName": {
                  "id": 220,
                  "name": "bytes16",
                  "nodeType": "ElementaryTypeName",
                  "src": "1396:7:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 223,
                "name": "typeItem",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1417:15:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes8",
                  "typeString": "bytes8"
                },
                "typeName": {
                  "id": 222,
                  "name": "bytes8",
                  "nodeType": "ElementaryTypeName",
                  "src": "1417:6:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes8",
                    "typeString": "bytes8"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 225,
                "name": "location",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1439:15:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 224,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1439:6:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 227,
                "name": "pictureHash",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1461:18:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 226,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1461:6:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 229,
                "name": "receiptHash",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1486:19:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes16",
                  "typeString": "bytes16"
                },
                "typeName": {
                  "id": 228,
                  "name": "bytes16",
                  "nodeType": "ElementaryTypeName",
                  "src": "1486:7:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 231,
                "name": "comment",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1512:14:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 230,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1512:6:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 233,
                "name": "status",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1533:13:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes8",
                  "typeString": "bytes8"
                },
                "typeName": {
                  "id": 232,
                  "name": "bytes8",
                  "nodeType": "ElementaryTypeName",
                  "src": "1533:6:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes8",
                    "typeString": "bytes8"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 235,
                "name": "_price",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1553:14:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 234,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1553:7:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "TransactionNeoPlace",
            "nodeType": "StructDefinition",
            "scope": 820,
            "src": "1307:266:2",
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 240,
            "name": "transactions",
            "nodeType": "VariableDeclaration",
            "scope": 820,
            "src": "1601:56:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
              "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace)"
            },
            "typeName": {
              "id": 239,
              "keyType": {
                "id": 237,
                "name": "uint",
                "nodeType": "ElementaryTypeName",
                "src": "1609:4:2",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "1601:36:2",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace)"
              },
              "valueType": {
                "contractScope": null,
                "id": 238,
                "name": "TransactionNeoPlace",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 236,
                "src": "1617:19:2",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage_ptr",
                  "typeString": "struct Transaction.TransactionNeoPlace"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 244,
            "name": "fundsLocked",
            "nodeType": "VariableDeclaration",
            "scope": 820,
            "src": "1662:46:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
              "typeString": "mapping(bytes16 => uint256)"
            },
            "typeName": {
              "id": 243,
              "keyType": {
                "id": 241,
                "name": "bytes16",
                "nodeType": "ElementaryTypeName",
                "src": "1670:7:2",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes16",
                  "typeString": "bytes16"
                }
              },
              "nodeType": "Mapping",
              "src": "1662:27:2",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
                "typeString": "mapping(bytes16 => uint256)"
              },
              "valueType": {
                "id": 242,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1681:7:2",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 246,
            "name": "transactionCounter",
            "nodeType": "VariableDeclaration",
            "scope": 820,
            "src": "1715:23:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 245,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1715:4:2",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 258,
            "name": "BuyItem",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 257,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 248,
                  "indexed": true,
                  "name": "_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 258,
                  "src": "1778:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 247,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1778:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 250,
                  "indexed": true,
                  "name": "_itemId",
                  "nodeType": "VariableDeclaration",
                  "scope": 258,
                  "src": "1801:23:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  },
                  "typeName": {
                    "id": 249,
                    "name": "bytes16",
                    "nodeType": "ElementaryTypeName",
                    "src": "1801:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes16",
                      "typeString": "bytes16"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 252,
                  "indexed": false,
                  "name": "_seller",
                  "nodeType": "VariableDeclaration",
                  "scope": 258,
                  "src": "1831:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 251,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1831:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 254,
                  "indexed": false,
                  "name": "_buyer",
                  "nodeType": "VariableDeclaration",
                  "scope": 258,
                  "src": "1853:14:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 253,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1853:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 256,
                  "indexed": false,
                  "name": "_price",
                  "nodeType": "VariableDeclaration",
                  "scope": 258,
                  "src": "1874:14:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 255,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1874:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1771:122:2"
            },
            "src": "1758:136:2"
          },
          {
            "body": {
              "id": 267,
              "nodeType": "Block",
              "src": "1933:32:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 264,
                        "name": "owner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 178,
                        "src": "1953:5:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 263,
                      "name": "selfdestruct",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 843,
                      "src": "1940:12:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_selfdestruct_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 265,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1940:19:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 266,
                  "nodeType": "ExpressionStatement",
                  "src": "1940:19:2"
                }
              ]
            },
            "documentation": null,
            "id": 268,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 261,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 260,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 189,
                  "src": "1923:9:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1923:9:2"
              }
            ],
            "name": "kill",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 259,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1913:2:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 262,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1933:0:2"
            },
            "scope": 820,
            "src": "1900:65:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 275,
              "nodeType": "Block",
              "src": "2088:38:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 273,
                    "name": "transactionCounter",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 246,
                    "src": "2102:18:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 272,
                  "id": 274,
                  "nodeType": "Return",
                  "src": "2095:25:2"
                }
              ]
            },
            "documentation": null,
            "id": 276,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getNumberOfTransactions",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 269,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2058:2:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 272,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 271,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 276,
                  "src": "2082:4:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 270,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2082:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2081:6:2"
            },
            "scope": 820,
            "src": "2026:100:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 361,
              "nodeType": "Block",
              "src": "2228:670:2",
              "statements": [
                {
                  "assignments": [
                    285
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 285,
                      "name": "transactionIds",
                      "nodeType": "VariableDeclaration",
                      "scope": 362,
                      "src": "2264:28:2",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 283,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2264:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 284,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "2264:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 291,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 289,
                        "name": "transactionCounter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 246,
                        "src": "2306:18:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 288,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "2295:10:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (uint256[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 286,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2299:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 287,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "2299:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      }
                    },
                    "id": 290,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2295:30:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2264:61:2"
                },
                {
                  "assignments": [
                    293
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 293,
                      "name": "numberOfSales",
                      "nodeType": "VariableDeclaration",
                      "scope": 362,
                      "src": "2334:18:2",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 292,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "2334:4:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 295,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 294,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "2355:1:2",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2334:22:2"
                },
                {
                  "body": {
                    "id": 327,
                    "nodeType": "Block",
                    "src": "2445:214:2",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 312,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 306,
                                "name": "transactions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 240,
                                "src": "2517:12:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                  "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                }
                              },
                              "id": 308,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 307,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 297,
                                "src": "2530:1:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2517:15:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                              }
                            },
                            "id": 309,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "seller",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 217,
                            "src": "2517:22:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 310,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 835,
                              "src": "2543:3:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 311,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2543:10:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "2517:36:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 326,
                        "nodeType": "IfStatement",
                        "src": "2514:138:2",
                        "trueBody": {
                          "id": 325,
                          "nodeType": "Block",
                          "src": "2555:97:2",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 320,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 313,
                                    "name": "transactionIds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 285,
                                    "src": "2566:14:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  },
                                  "id": 315,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 314,
                                    "name": "numberOfSales",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 293,
                                    "src": "2581:13:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "2566:29:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 316,
                                      "name": "transactions",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 240,
                                      "src": "2598:12:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                        "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                      }
                                    },
                                    "id": 318,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 317,
                                      "name": "i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 297,
                                      "src": "2611:1:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "2598:15:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                      "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                    }
                                  },
                                  "id": 319,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "id",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 215,
                                  "src": "2598:18:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "2566:50:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 321,
                              "nodeType": "ExpressionStatement",
                              "src": "2566:50:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 323,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "++",
                                "prefix": false,
                                "src": "2627:15:2",
                                "subExpression": {
                                  "argumentTypes": null,
                                  "id": 322,
                                  "name": "numberOfSales",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 293,
                                  "src": "2627:13:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 324,
                              "nodeType": "ExpressionStatement",
                              "src": "2627:15:2"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 302,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 300,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 297,
                      "src": "2415:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 301,
                      "name": "transactionCounter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 246,
                      "src": "2420:18:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2415:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 328,
                  "initializationExpression": {
                    "assignments": [
                      297
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 297,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 362,
                        "src": "2403:6:2",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 296,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2403:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 299,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 298,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2412:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "2403:10:2"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 304,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "2440:3:2",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 303,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 297,
                        "src": "2440:1:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 305,
                    "nodeType": "ExpressionStatement",
                    "src": "2440:3:2"
                  },
                  "nodeType": "ForStatement",
                  "src": "2399:260:2"
                },
                {
                  "assignments": [
                    332
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 332,
                      "name": "sales",
                      "nodeType": "VariableDeclaration",
                      "scope": 362,
                      "src": "2735:19:2",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 330,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2735:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 331,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "2735:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 338,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 336,
                        "name": "numberOfSales",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 293,
                        "src": "2768:13:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 335,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "2757:10:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (uint256[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 333,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2761:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 334,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "2761:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      }
                    },
                    "id": 337,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2757:25:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2735:47:2"
                },
                {
                  "body": {
                    "id": 357,
                    "nodeType": "Block",
                    "src": "2829:45:2",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 355,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 349,
                              "name": "sales",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 332,
                              "src": "2838:5:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 351,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 350,
                              "name": "j",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 340,
                              "src": "2844:1:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "2838:8:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 352,
                              "name": "transactionIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 285,
                              "src": "2849:14:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 354,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 353,
                              "name": "j",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 340,
                              "src": "2864:1:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2849:17:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "2838:28:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 356,
                        "nodeType": "ExpressionStatement",
                        "src": "2838:28:2"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 345,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 343,
                      "name": "j",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 340,
                      "src": "2805:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 344,
                      "name": "numberOfSales",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 293,
                      "src": "2809:13:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2805:17:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 358,
                  "initializationExpression": {
                    "assignments": [
                      340
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 340,
                        "name": "j",
                        "nodeType": "VariableDeclaration",
                        "scope": 362,
                        "src": "2793:6:2",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 339,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2793:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 342,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 341,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2802:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "2793:10:2"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 347,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "2824:3:2",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 346,
                        "name": "j",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 340,
                        "src": "2824:1:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 348,
                    "nodeType": "ExpressionStatement",
                    "src": "2824:3:2"
                  },
                  "nodeType": "ForStatement",
                  "src": "2789:85:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 359,
                    "name": "sales",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 332,
                    "src": "2887:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "functionReturnParameters": 281,
                  "id": 360,
                  "nodeType": "Return",
                  "src": "2880:12:2"
                }
              ]
            },
            "documentation": null,
            "id": 362,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getSales",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 277,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2196:2:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 281,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 280,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 362,
                  "src": "2220:6:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 278,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "2220:4:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 279,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "2220:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2219:8:2"
            },
            "scope": 820,
            "src": "2179:719:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 447,
              "nodeType": "Block",
              "src": "3007:651:2",
              "statements": [
                {
                  "assignments": [
                    371
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 371,
                      "name": "transactionIds",
                      "nodeType": "VariableDeclaration",
                      "scope": 448,
                      "src": "3043:28:2",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 369,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3043:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 370,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "3043:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 377,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 375,
                        "name": "transactionCounter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 246,
                        "src": "3085:18:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 374,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "3074:10:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (uint256[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 372,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3078:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 373,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "3078:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      }
                    },
                    "id": 376,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3074:30:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3043:61:2"
                },
                {
                  "assignments": [
                    379
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 379,
                      "name": "numberOfBuy",
                      "nodeType": "VariableDeclaration",
                      "scope": 448,
                      "src": "3113:16:2",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 378,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "3113:4:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 381,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 380,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "3132:1:2",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3113:20:2"
                },
                {
                  "body": {
                    "id": 413,
                    "nodeType": "Block",
                    "src": "3222:209:2",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 398,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 392,
                                "name": "transactions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 240,
                                "src": "3294:12:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                  "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                }
                              },
                              "id": 394,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 393,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 383,
                                "src": "3307:1:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "3294:15:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                              }
                            },
                            "id": 395,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "buyer",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 219,
                            "src": "3294:21:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 396,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 835,
                              "src": "3319:3:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 397,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3319:10:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "3294:35:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 412,
                        "nodeType": "IfStatement",
                        "src": "3291:133:2",
                        "trueBody": {
                          "id": 411,
                          "nodeType": "Block",
                          "src": "3331:93:2",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 406,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 399,
                                    "name": "transactionIds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 371,
                                    "src": "3342:14:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  },
                                  "id": 401,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 400,
                                    "name": "numberOfBuy",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 379,
                                    "src": "3357:11:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "3342:27:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 402,
                                      "name": "transactions",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 240,
                                      "src": "3372:12:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                        "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                      }
                                    },
                                    "id": 404,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 403,
                                      "name": "i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 383,
                                      "src": "3385:1:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "3372:15:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                      "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                    }
                                  },
                                  "id": 405,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "id",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 215,
                                  "src": "3372:18:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "3342:48:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 407,
                              "nodeType": "ExpressionStatement",
                              "src": "3342:48:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 409,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "++",
                                "prefix": false,
                                "src": "3401:13:2",
                                "subExpression": {
                                  "argumentTypes": null,
                                  "id": 408,
                                  "name": "numberOfBuy",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 379,
                                  "src": "3401:11:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 410,
                              "nodeType": "ExpressionStatement",
                              "src": "3401:13:2"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 388,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 386,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 383,
                      "src": "3192:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 387,
                      "name": "transactionCounter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 246,
                      "src": "3197:18:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3192:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 414,
                  "initializationExpression": {
                    "assignments": [
                      383
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 383,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 448,
                        "src": "3180:6:2",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 382,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3180:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 385,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 384,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3189:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "3180:10:2"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 390,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "3217:3:2",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 389,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 383,
                        "src": "3217:1:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 391,
                    "nodeType": "ExpressionStatement",
                    "src": "3217:3:2"
                  },
                  "nodeType": "ForStatement",
                  "src": "3176:255:2"
                },
                {
                  "assignments": [
                    418
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 418,
                      "name": "buy",
                      "nodeType": "VariableDeclaration",
                      "scope": 448,
                      "src": "3505:17:2",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 416,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3505:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 417,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "3505:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 424,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 422,
                        "name": "numberOfBuy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 379,
                        "src": "3536:11:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 421,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "3525:10:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (uint256[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 419,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3529:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 420,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "3529:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      }
                    },
                    "id": 423,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3525:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3505:43:2"
                },
                {
                  "body": {
                    "id": 443,
                    "nodeType": "Block",
                    "src": "3593:43:2",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 441,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 435,
                              "name": "buy",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 418,
                              "src": "3602:3:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 437,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 436,
                              "name": "j",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 426,
                              "src": "3606:1:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "3602:6:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 438,
                              "name": "transactionIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 371,
                              "src": "3611:14:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 440,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 439,
                              "name": "j",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 426,
                              "src": "3626:1:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "3611:17:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3602:26:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 442,
                        "nodeType": "ExpressionStatement",
                        "src": "3602:26:2"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 431,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 429,
                      "name": "j",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 426,
                      "src": "3571:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 430,
                      "name": "numberOfBuy",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 379,
                      "src": "3575:11:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3571:15:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 444,
                  "initializationExpression": {
                    "assignments": [
                      426
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 426,
                        "name": "j",
                        "nodeType": "VariableDeclaration",
                        "scope": 448,
                        "src": "3559:6:2",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 425,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3559:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 428,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 427,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3568:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "3559:10:2"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 433,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "3588:3:2",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 432,
                        "name": "j",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 426,
                        "src": "3588:1:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 434,
                    "nodeType": "ExpressionStatement",
                    "src": "3588:3:2"
                  },
                  "nodeType": "ForStatement",
                  "src": "3555:81:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 445,
                    "name": "buy",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 418,
                    "src": "3649:3:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "functionReturnParameters": 367,
                  "id": 446,
                  "nodeType": "Return",
                  "src": "3642:10:2"
                }
              ]
            },
            "documentation": null,
            "id": 448,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getPurchases",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 363,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2975:2:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 367,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 366,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 448,
                  "src": "2999:6:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 364,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "2999:4:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 365,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "2999:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2998:8:2"
            },
            "scope": 820,
            "src": "2954:704:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 560,
              "nodeType": "Block",
              "src": "3869:986:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 470,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 468,
                          "name": "_seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 450,
                          "src": "3909:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "307830",
                          "id": 469,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3920:3:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0x0"
                        },
                        "src": "3909:14:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 467,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "3901:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 471,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3901:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 472,
                  "nodeType": "ExpressionStatement",
                  "src": "3901:23:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 477,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 474,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "3986:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 475,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3986:10:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 476,
                          "name": "_seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 450,
                          "src": "4000:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "3986:21:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 473,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "3978:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 478,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3978:30:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 479,
                  "nodeType": "ExpressionStatement",
                  "src": "3978:30:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        "id": 484,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 481,
                            "name": "_itemId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 452,
                            "src": "4025:7:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes16",
                              "typeString": "bytes16"
                            }
                          },
                          "id": 482,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4025:14:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 483,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4042:1:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4025:18:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 480,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "4017:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 485,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4017:27:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 486,
                  "nodeType": "ExpressionStatement",
                  "src": "4017:27:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        "id": 491,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 488,
                            "name": "_typeItem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 454,
                            "src": "4059:9:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes8",
                              "typeString": "bytes8"
                            }
                          },
                          "id": 489,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4059:16:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 490,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4078:1:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4059:20:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 487,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "4051:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 492,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4051:29:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 493,
                  "nodeType": "ExpressionStatement",
                  "src": "4051:29:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 500,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 496,
                                "name": "_location",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 456,
                                "src": "4101:9:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "id": 495,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "4095:5:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                "typeString": "type(bytes storage pointer)"
                              },
                              "typeName": "bytes"
                            },
                            "id": 497,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4095:16:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 498,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4095:23:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 499,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4121:1:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4095:27:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 494,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "4087:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 501,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4087:36:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 502,
                  "nodeType": "ExpressionStatement",
                  "src": "4087:36:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 509,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 505,
                                "name": "_pictureHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 458,
                                "src": "4144:12:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "id": 504,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "4138:5:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                "typeString": "type(bytes storage pointer)"
                              },
                              "typeName": "bytes"
                            },
                            "id": 506,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4138:19:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 507,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4138:26:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 508,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4167:1:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4138:30:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 503,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "4130:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 510,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4130:39:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 511,
                  "nodeType": "ExpressionStatement",
                  "src": "4130:39:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 516,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 513,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "4230:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 514,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4230:9:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 515,
                          "name": "_price",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 464,
                          "src": "4243:6:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "4230:19:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 512,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "4222:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 517,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4222:28:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 518,
                  "nodeType": "ExpressionStatement",
                  "src": "4222:28:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 527,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 519,
                        "name": "fundsLocked",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 244,
                        "src": "4338:11:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
                          "typeString": "mapping(bytes16 => uint256)"
                        }
                      },
                      "id": 521,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 520,
                        "name": "_itemId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 452,
                        "src": "4350:7:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "4338:20:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 526,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 522,
                          "name": "fundsLocked",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 244,
                          "src": "4359:11:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
                            "typeString": "mapping(bytes16 => uint256)"
                          }
                        },
                        "id": 524,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 523,
                          "name": "_itemId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 452,
                          "src": "4371:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4359:20:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 525,
                        "name": "_price",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 464,
                        "src": "4382:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "4359:29:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4338:50:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 528,
                  "nodeType": "ExpressionStatement",
                  "src": "4338:50:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 530,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "++",
                    "prefix": false,
                    "src": "4421:20:2",
                    "subExpression": {
                      "argumentTypes": null,
                      "id": 529,
                      "name": "transactionCounter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 246,
                      "src": "4421:18:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 531,
                  "nodeType": "ExpressionStatement",
                  "src": "4421:20:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 549,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 532,
                        "name": "transactions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 240,
                        "src": "4484:12:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                          "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                        }
                      },
                      "id": 534,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 533,
                        "name": "transactionCounter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 246,
                        "src": "4497:18:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "4484:32:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                        "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 536,
                          "name": "transactionCounter",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 246,
                          "src": "4547:18:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 537,
                          "name": "_seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 450,
                          "src": "4574:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 538,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "4590:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 539,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4590:10:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 540,
                          "name": "_itemId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 452,
                          "src": "4609:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 541,
                          "name": "_typeItem",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 454,
                          "src": "4625:9:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes8",
                            "typeString": "bytes8"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 542,
                          "name": "_location",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 456,
                          "src": "4643:9:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 543,
                          "name": "_pictureHash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 458,
                          "src": "4661:12:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "",
                          "id": 544,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4682:2:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                            "typeString": "literal_string \"\""
                          },
                          "value": ""
                        },
                        {
                          "argumentTypes": null,
                          "id": 545,
                          "name": "_comment",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 460,
                          "src": "4693:8:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 546,
                          "name": "_status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 462,
                          "src": "4710:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes8",
                            "typeString": "bytes8"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 547,
                          "name": "_price",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 464,
                          "src": "4726:6:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          },
                          {
                            "typeIdentifier": "t_bytes8",
                            "typeString": "bytes8"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                            "typeString": "literal_string \"\""
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_bytes8",
                            "typeString": "bytes8"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 535,
                        "name": "TransactionNeoPlace",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 236,
                        "src": "4519:19:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_TransactionNeoPlace_$236_storage_ptr_$",
                          "typeString": "type(struct Transaction.TransactionNeoPlace storage pointer)"
                        }
                      },
                      "id": 548,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4519:220:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_memory",
                        "typeString": "struct Transaction.TransactionNeoPlace memory"
                      }
                    },
                    "src": "4484:255:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                      "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                    }
                  },
                  "id": 550,
                  "nodeType": "ExpressionStatement",
                  "src": "4484:255:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 552,
                        "name": "transactionCounter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 246,
                        "src": "4792:18:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 553,
                        "name": "_itemId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 452,
                        "src": "4812:7:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 554,
                        "name": "_seller",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 450,
                        "src": "4821:7:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 555,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 835,
                          "src": "4830:3:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 556,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "4830:10:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 557,
                        "name": "_price",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 464,
                        "src": "4842:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 551,
                      "name": "BuyItem",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 258,
                      "src": "4784:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes16_$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,bytes16,address,address,uint256)"
                      }
                    },
                    "id": 558,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4784:65:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 559,
                  "nodeType": "ExpressionStatement",
                  "src": "4784:65:2"
                }
              ]
            },
            "documentation": null,
            "id": 561,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "buyItem",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 465,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 450,
                  "name": "_seller",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3714:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 449,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3714:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 452,
                  "name": "_itemId",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3731:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  },
                  "typeName": {
                    "id": 451,
                    "name": "bytes16",
                    "nodeType": "ElementaryTypeName",
                    "src": "3731:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes16",
                      "typeString": "bytes16"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 454,
                  "name": "_typeItem",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3748:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes8",
                    "typeString": "bytes8"
                  },
                  "typeName": {
                    "id": 453,
                    "name": "bytes8",
                    "nodeType": "ElementaryTypeName",
                    "src": "3748:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes8",
                      "typeString": "bytes8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 456,
                  "name": "_location",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3766:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 455,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3766:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 458,
                  "name": "_pictureHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3784:19:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 457,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3784:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 460,
                  "name": "_comment",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3805:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 459,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3805:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 462,
                  "name": "_status",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3822:14:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes8",
                    "typeString": "bytes8"
                  },
                  "typeName": {
                    "id": 461,
                    "name": "bytes8",
                    "nodeType": "ElementaryTypeName",
                    "src": "3822:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes8",
                      "typeString": "bytes8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 464,
                  "name": "_price",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3838:14:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 463,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3838:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3713:140:2"
            },
            "payable": true,
            "returnParameters": {
              "id": 466,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3869:0:2"
            },
            "scope": 820,
            "src": "3697:1158:2",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 666,
              "nodeType": "Block",
              "src": "5016:685:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 573,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 571,
                          "name": "_seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 563,
                          "src": "5056:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "307830",
                          "id": 572,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5067:3:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0x0"
                        },
                        "src": "5056:14:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 570,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "5048:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 574,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5048:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 575,
                  "nodeType": "ExpressionStatement",
                  "src": "5048:23:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 580,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 577,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "5133:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 578,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5133:10:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 579,
                          "name": "_seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 563,
                          "src": "5147:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "5133:21:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 576,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "5125:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 581,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5125:30:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 582,
                  "nodeType": "ExpressionStatement",
                  "src": "5125:30:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        "id": 587,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 584,
                            "name": "_itemId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 565,
                            "src": "5172:7:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes16",
                              "typeString": "bytes16"
                            }
                          },
                          "id": 585,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5172:14:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 586,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5189:1:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5172:18:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 583,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "5164:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 588,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5164:27:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 589,
                  "nodeType": "ExpressionStatement",
                  "src": "5164:27:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 594,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 591,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "5208:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 592,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5208:9:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 593,
                          "name": "_price",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 567,
                          "src": "5221:6:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "5208:19:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 590,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "5200:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 595,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5200:28:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 596,
                  "nodeType": "ExpressionStatement",
                  "src": "5200:28:2"
                },
                {
                  "body": {
                    "id": 664,
                    "nodeType": "Block",
                    "src": "5283:413:2",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          },
                          "id": 612,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 607,
                                "name": "transactions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 240,
                                "src": "5295:12:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                  "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                }
                              },
                              "id": 609,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 608,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 598,
                                "src": "5308:1:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "5295:15:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                              }
                            },
                            "id": 610,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "itemId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 221,
                            "src": "5295:22:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes16",
                              "typeString": "bytes16"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 611,
                            "name": "_itemId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 565,
                            "src": "5321:7:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes16",
                              "typeString": "bytes16"
                            }
                          },
                          "src": "5295:33:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 663,
                        "nodeType": "IfStatement",
                        "src": "5292:397:2",
                        "trueBody": {
                          "id": 662,
                          "nodeType": "Block",
                          "src": "5330:359:2",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 620,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "id": 614,
                                        "name": "msg",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 835,
                                        "src": "5351:3:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_message",
                                          "typeString": "msg"
                                        }
                                      },
                                      "id": 615,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "sender",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": null,
                                      "src": "5351:10:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "==",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 616,
                                          "name": "transactions",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 240,
                                          "src": "5365:12:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                            "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                          }
                                        },
                                        "id": 618,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 617,
                                          "name": "i",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 598,
                                          "src": "5378:1:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "5365:15:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                          "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                        }
                                      },
                                      "id": 619,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "buyer",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 219,
                                      "src": "5365:21:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "5351:35:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 613,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    838,
                                    839
                                  ],
                                  "referencedDeclaration": 838,
                                  "src": "5343:7:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 621,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5343:44:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 622,
                              "nodeType": "ExpressionStatement",
                              "src": "5343:44:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_bytes8",
                                      "typeString": "bytes8"
                                    },
                                    "id": 631,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "hexValue": "70616964",
                                          "id": 625,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "5421:6:2",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_5ab53550295bfc9315c562232d99e75119ebb4d3b8a6e012160126a3506b02a8",
                                            "typeString": "literal_string \"paid\""
                                          },
                                          "value": "paid"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_stringliteral_5ab53550295bfc9315c562232d99e75119ebb4d3b8a6e012160126a3506b02a8",
                                            "typeString": "literal_string \"paid\""
                                          }
                                        ],
                                        "id": 624,
                                        "name": "stringToBytes8",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 819,
                                        "src": "5406:14:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bytes8_$",
                                          "typeString": "function (string memory) returns (bytes8)"
                                        }
                                      },
                                      "id": 626,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "5406:22:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes8",
                                        "typeString": "bytes8"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "==",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 627,
                                          "name": "transactions",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 240,
                                          "src": "5432:12:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                            "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                          }
                                        },
                                        "id": 629,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 628,
                                          "name": "i",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 598,
                                          "src": "5445:1:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "5432:15:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                          "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                        }
                                      },
                                      "id": 630,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "status",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 233,
                                      "src": "5432:22:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes8",
                                        "typeString": "bytes8"
                                      }
                                    },
                                    "src": "5406:48:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 623,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    838,
                                    839
                                  ],
                                  "referencedDeclaration": 838,
                                  "src": "5398:7:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 632,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5398:57:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 633,
                              "nodeType": "ExpressionStatement",
                              "src": "5398:57:2"
                            },
                            {
                              "assignments": [
                                635
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 635,
                                  "name": "seller",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 667,
                                  "src": "5466:14:2",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  "typeName": {
                                    "id": 634,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "5466:7:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "value": null,
                                  "visibility": "internal"
                                }
                              ],
                              "id": 640,
                              "initialValue": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 636,
                                    "name": "transactions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 240,
                                    "src": "5483:12:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                      "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                    }
                                  },
                                  "id": 638,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 637,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 598,
                                    "src": "5496:1:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "5483:15:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                    "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                  }
                                },
                                "id": 639,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "seller",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 217,
                                "src": "5483:22:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "5466:39:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 652,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 641,
                                      "name": "transactions",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 240,
                                      "src": "5516:12:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                        "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                      }
                                    },
                                    "id": 643,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 642,
                                      "name": "i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 598,
                                      "src": "5529:1:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "5516:15:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                      "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                    }
                                  },
                                  "id": 644,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberName": "_price",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 235,
                                  "src": "5516:22:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 651,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 645,
                                        "name": "transactions",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 240,
                                        "src": "5541:12:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                          "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                        }
                                      },
                                      "id": 647,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 646,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 598,
                                        "src": "5554:1:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "5541:15:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                        "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                      }
                                    },
                                    "id": 648,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "_price",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 235,
                                    "src": "5541:22:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "+",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 649,
                                      "name": "msg",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 835,
                                      "src": "5566:3:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_message",
                                        "typeString": "msg"
                                      }
                                    },
                                    "id": 650,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "value",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": null,
                                    "src": "5566:9:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "5541:34:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "5516:59:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 653,
                              "nodeType": "ExpressionStatement",
                              "src": "5516:59:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 657,
                                      "name": "msg",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 835,
                                      "src": "5651:3:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_message",
                                        "typeString": "msg"
                                      }
                                    },
                                    "id": 658,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "value",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": null,
                                    "src": "5651:9:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 654,
                                    "name": "seller",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 635,
                                    "src": "5635:6:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "id": 656,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "transfer",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "5635:15:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                                    "typeString": "function (uint256)"
                                  }
                                },
                                "id": 659,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5635:26:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 660,
                              "nodeType": "ExpressionStatement",
                              "src": "5635:26:2"
                            },
                            {
                              "id": 661,
                              "nodeType": "Break",
                              "src": "5674:5:2"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 603,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 601,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 598,
                      "src": "5253:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 602,
                      "name": "transactionCounter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 246,
                      "src": "5258:18:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5253:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 665,
                  "initializationExpression": {
                    "assignments": [
                      598
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 598,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 667,
                        "src": "5241:6:2",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 597,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "5241:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 600,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 599,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5250:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "5241:10:2"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 605,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "5278:3:2",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 604,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 598,
                        "src": "5278:1:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 606,
                    "nodeType": "ExpressionStatement",
                    "src": "5278:3:2"
                  },
                  "nodeType": "ForStatement",
                  "src": "5237:459:2"
                }
              ]
            },
            "documentation": null,
            "id": 667,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "sendAdditionalFunds",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 568,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 563,
                  "name": "_seller",
                  "nodeType": "VariableDeclaration",
                  "scope": 667,
                  "src": "4951:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 562,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4951:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 565,
                  "name": "_itemId",
                  "nodeType": "VariableDeclaration",
                  "scope": 667,
                  "src": "4968:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  },
                  "typeName": {
                    "id": 564,
                    "name": "bytes16",
                    "nodeType": "ElementaryTypeName",
                    "src": "4968:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes16",
                      "typeString": "bytes16"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 567,
                  "name": "_price",
                  "nodeType": "VariableDeclaration",
                  "scope": 667,
                  "src": "4985:14:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 566,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4985:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4950:50:2"
            },
            "payable": true,
            "returnParameters": {
              "id": 569,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5016:0:2"
            },
            "scope": 820,
            "src": "4922:779:2",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 769,
              "nodeType": "Block",
              "src": "5752:695:2",
              "statements": [
                {
                  "body": {
                    "id": 767,
                    "nodeType": "Block",
                    "src": "5807:635:2",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          },
                          "id": 687,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 682,
                                "name": "transactions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 240,
                                "src": "5819:12:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                  "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                }
                              },
                              "id": 684,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 683,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 673,
                                "src": "5832:1:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "5819:15:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                              }
                            },
                            "id": 685,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "itemId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 221,
                            "src": "5819:22:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes16",
                              "typeString": "bytes16"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 686,
                            "name": "_itemId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 669,
                            "src": "5845:7:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes16",
                              "typeString": "bytes16"
                            }
                          },
                          "src": "5819:33:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 766,
                        "nodeType": "IfStatement",
                        "src": "5816:619:2",
                        "trueBody": {
                          "id": 765,
                          "nodeType": "Block",
                          "src": "5854:581:2",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 695,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "id": 689,
                                        "name": "msg",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 835,
                                        "src": "5875:3:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_message",
                                          "typeString": "msg"
                                        }
                                      },
                                      "id": 690,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "sender",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": null,
                                      "src": "5875:10:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "==",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 691,
                                          "name": "transactions",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 240,
                                          "src": "5889:12:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                            "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                          }
                                        },
                                        "id": 693,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 692,
                                          "name": "i",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 673,
                                          "src": "5902:1:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "5889:15:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                          "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                        }
                                      },
                                      "id": 694,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "buyer",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 219,
                                      "src": "5889:21:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "5875:35:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 688,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    838,
                                    839
                                  ],
                                  "referencedDeclaration": 838,
                                  "src": "5867:7:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 696,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5867:44:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 697,
                              "nodeType": "ExpressionStatement",
                              "src": "5867:44:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_bytes8",
                                      "typeString": "bytes8"
                                    },
                                    "id": 706,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "hexValue": "70616964",
                                          "id": 700,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "5945:6:2",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_5ab53550295bfc9315c562232d99e75119ebb4d3b8a6e012160126a3506b02a8",
                                            "typeString": "literal_string \"paid\""
                                          },
                                          "value": "paid"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_stringliteral_5ab53550295bfc9315c562232d99e75119ebb4d3b8a6e012160126a3506b02a8",
                                            "typeString": "literal_string \"paid\""
                                          }
                                        ],
                                        "id": 699,
                                        "name": "stringToBytes8",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 819,
                                        "src": "5930:14:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bytes8_$",
                                          "typeString": "function (string memory) returns (bytes8)"
                                        }
                                      },
                                      "id": 701,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "5930:22:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes8",
                                        "typeString": "bytes8"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "!=",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 702,
                                          "name": "transactions",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 240,
                                          "src": "5956:12:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                            "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                          }
                                        },
                                        "id": 704,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 703,
                                          "name": "i",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 673,
                                          "src": "5969:1:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "5956:15:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                          "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                        }
                                      },
                                      "id": 705,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "status",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 233,
                                      "src": "5956:22:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes8",
                                        "typeString": "bytes8"
                                      }
                                    },
                                    "src": "5930:48:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 698,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    838,
                                    839
                                  ],
                                  "referencedDeclaration": 838,
                                  "src": "5922:7:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 707,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5922:57:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 708,
                              "nodeType": "ExpressionStatement",
                              "src": "5922:57:2"
                            },
                            {
                              "assignments": [
                                710
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 710,
                                  "name": "buyer",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 770,
                                  "src": "5990:13:2",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  "typeName": {
                                    "id": 709,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "5990:7:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "value": null,
                                  "visibility": "internal"
                                }
                              ],
                              "id": 715,
                              "initialValue": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 711,
                                    "name": "transactions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 240,
                                    "src": "6006:12:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                      "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                    }
                                  },
                                  "id": 713,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 712,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 673,
                                    "src": "6019:1:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "6006:15:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                    "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                  }
                                },
                                "id": 714,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "buyer",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 219,
                                "src": "6006:21:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "5990:37:2"
                            },
                            {
                              "assignments": [
                                717
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 717,
                                  "name": "seller",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 770,
                                  "src": "6038:14:2",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  "typeName": {
                                    "id": 716,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "6038:7:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "value": null,
                                  "visibility": "internal"
                                }
                              ],
                              "id": 722,
                              "initialValue": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 718,
                                    "name": "transactions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 240,
                                    "src": "6055:12:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                      "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                    }
                                  },
                                  "id": 720,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 719,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 673,
                                    "src": "6068:1:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "6055:15:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                    "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                  }
                                },
                                "id": 721,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "seller",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 217,
                                "src": "6055:22:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "6038:39:2"
                            },
                            {
                              "assignments": [
                                724
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 724,
                                  "name": "priceTransaction",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 770,
                                  "src": "6088:24:2",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "typeName": {
                                    "id": 723,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "6088:7:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "value": null,
                                  "visibility": "internal"
                                }
                              ],
                              "id": 729,
                              "initialValue": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 725,
                                    "name": "transactions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 240,
                                    "src": "6115:12:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                      "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                    }
                                  },
                                  "id": 727,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 726,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 673,
                                    "src": "6128:1:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "6115:15:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                    "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                  }
                                },
                                "id": 728,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "_price",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 235,
                                "src": "6115:22:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "6088:49:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 735,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 731,
                                        "name": "fundsLocked",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 244,
                                        "src": "6158:11:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
                                          "typeString": "mapping(bytes16 => uint256)"
                                        }
                                      },
                                      "id": 733,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 732,
                                        "name": "_itemId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 669,
                                        "src": "6170:7:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes16",
                                          "typeString": "bytes16"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "6158:20:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "hexValue": "30",
                                      "id": 734,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "6179:1:2",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      },
                                      "value": "0"
                                    },
                                    "src": "6158:22:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 730,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    838,
                                    839
                                  ],
                                  "referencedDeclaration": 838,
                                  "src": "6150:7:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 736,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6150:31:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 737,
                              "nodeType": "ExpressionStatement",
                              "src": "6150:31:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 747,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 738,
                                    "name": "fundsLocked",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 244,
                                    "src": "6192:11:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
                                      "typeString": "mapping(bytes16 => uint256)"
                                    }
                                  },
                                  "id": 740,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 739,
                                    "name": "_itemId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 669,
                                    "src": "6204:7:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes16",
                                      "typeString": "bytes16"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "6192:20:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 746,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 741,
                                      "name": "fundsLocked",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 244,
                                      "src": "6213:11:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
                                        "typeString": "mapping(bytes16 => uint256)"
                                      }
                                    },
                                    "id": 743,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 742,
                                      "name": "_itemId",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 669,
                                      "src": "6225:7:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes16",
                                        "typeString": "bytes16"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "6213:20:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "-",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "components": [
                                      {
                                        "argumentTypes": null,
                                        "id": 744,
                                        "name": "priceTransaction",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 724,
                                        "src": "6237:16:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "id": 745,
                                    "isConstant": false,
                                    "isInlineArray": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "TupleExpression",
                                    "src": "6236:18:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "6213:41:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "6192:62:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 748,
                              "nodeType": "ExpressionStatement",
                              "src": "6192:62:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 752,
                                    "name": "priceTransaction",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 724,
                                    "src": "6330:16:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 749,
                                    "name": "seller",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 717,
                                    "src": "6314:6:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "id": 751,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "transfer",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "6314:15:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                                    "typeString": "function (uint256)"
                                  }
                                },
                                "id": 753,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6314:33:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 754,
                              "nodeType": "ExpressionStatement",
                              "src": "6314:33:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 762,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 755,
                                      "name": "transactions",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 240,
                                      "src": "6360:12:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                        "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                      }
                                    },
                                    "id": 757,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 756,
                                      "name": "i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 673,
                                      "src": "6373:1:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "6360:15:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                      "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                    }
                                  },
                                  "id": 758,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberName": "status",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 233,
                                  "src": "6360:22:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes8",
                                    "typeString": "bytes8"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "hexValue": "70616964",
                                      "id": 760,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "6400:6:2",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_5ab53550295bfc9315c562232d99e75119ebb4d3b8a6e012160126a3506b02a8",
                                        "typeString": "literal_string \"paid\""
                                      },
                                      "value": "paid"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_stringliteral_5ab53550295bfc9315c562232d99e75119ebb4d3b8a6e012160126a3506b02a8",
                                        "typeString": "literal_string \"paid\""
                                      }
                                    ],
                                    "id": 759,
                                    "name": "stringToBytes8",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 819,
                                    "src": "6385:14:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bytes8_$",
                                      "typeString": "function (string memory) returns (bytes8)"
                                    }
                                  },
                                  "id": 761,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "6385:22:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes8",
                                    "typeString": "bytes8"
                                  }
                                },
                                "src": "6360:47:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes8",
                                  "typeString": "bytes8"
                                }
                              },
                              "id": 763,
                              "nodeType": "ExpressionStatement",
                              "src": "6360:47:2"
                            },
                            {
                              "id": 764,
                              "nodeType": "Break",
                              "src": "6420:5:2"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 678,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 676,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 673,
                      "src": "5777:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 677,
                      "name": "transactionCounter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 246,
                      "src": "5782:18:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5777:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 768,
                  "initializationExpression": {
                    "assignments": [
                      673
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 673,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 770,
                        "src": "5765:6:2",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 672,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "5765:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 675,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 674,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5774:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "5765:10:2"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 680,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "5802:3:2",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 679,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 673,
                        "src": "5802:1:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 681,
                    "nodeType": "ExpressionStatement",
                    "src": "5802:3:2"
                  },
                  "nodeType": "ForStatement",
                  "src": "5761:681:2"
                }
              ]
            },
            "documentation": null,
            "id": 770,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "unlockFunds",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 670,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 669,
                  "name": "_itemId",
                  "nodeType": "VariableDeclaration",
                  "scope": 770,
                  "src": "5728:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  },
                  "typeName": {
                    "id": 668,
                    "name": "bytes16",
                    "nodeType": "ElementaryTypeName",
                    "src": "5728:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes16",
                      "typeString": "bytes16"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5727:17:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 671,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5752:0:2"
            },
            "scope": 820,
            "src": "5707:740:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 795,
              "nodeType": "Block",
              "src": "6505:189:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 778,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 776,
                          "name": "seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 772,
                          "src": "6549:6:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "307830",
                          "id": 777,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6559:3:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0x0"
                        },
                        "src": "6549:13:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 775,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "6541:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 779,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6541:22:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 780,
                  "nodeType": "ExpressionStatement",
                  "src": "6541:22:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 785,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 782,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "6629:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 783,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "6629:10:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 784,
                          "name": "seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 772,
                          "src": "6643:6:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "6629:20:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 781,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "6621:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 786,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6621:29:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 787,
                  "nodeType": "ExpressionStatement",
                  "src": "6621:29:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 791,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 835,
                          "src": "6677:3:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 792,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "6677:9:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 788,
                        "name": "seller",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 772,
                        "src": "6661:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 790,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "6661:15:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 793,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6661:26:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 794,
                  "nodeType": "ExpressionStatement",
                  "src": "6661:26:2"
                }
              ]
            },
            "documentation": null,
            "id": 796,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "sendAmount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 773,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 772,
                  "name": "seller",
                  "nodeType": "VariableDeclaration",
                  "scope": 796,
                  "src": "6474:14:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 771,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6474:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6473:16:2"
            },
            "payable": true,
            "returnParameters": {
              "id": 774,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6505:0:2"
            },
            "scope": 820,
            "src": "6454:240:2",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 818,
              "nodeType": "Block",
              "src": "6770:195:2",
              "statements": [
                {
                  "assignments": [
                    804
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 804,
                      "name": "tempEmptyStringTest",
                      "nodeType": "VariableDeclaration",
                      "scope": 819,
                      "src": "6777:32:2",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 803,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6777:5:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 808,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 806,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 798,
                        "src": "6818:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 805,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "6812:5:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                        "typeString": "type(bytes storage pointer)"
                      },
                      "typeName": "bytes"
                    },
                    "id": 807,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6812:13:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6777:48:2"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 812,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 809,
                        "name": "tempEmptyStringTest",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 804,
                        "src": "6836:19:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 810,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "6836:26:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 811,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6866:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "6836:31:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 816,
                  "nodeType": "IfStatement",
                  "src": "6832:64:2",
                  "trueBody": {
                    "id": 815,
                    "nodeType": "Block",
                    "src": "6869:27:2",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "307830",
                          "id": 813,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6885:3:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0x0"
                        },
                        "functionReturnParameters": 802,
                        "id": 814,
                        "nodeType": "Return",
                        "src": "6878:10:2"
                      }
                    ]
                  }
                },
                {
                  "externalReferences": [
                    {
                      "result": {
                        "declaration": 801,
                        "isOffset": false,
                        "isSlot": false,
                        "src": "6922:6:2",
                        "valueSize": 1
                      }
                    },
                    {
                      "source": {
                        "declaration": 798,
                        "isOffset": false,
                        "isSlot": false,
                        "src": "6942:6:2",
                        "valueSize": 1
                      }
                    }
                  ],
                  "id": 817,
                  "nodeType": "InlineAssembly",
                  "operations": "{\n    result := mload(add(source, 8))\n}",
                  "src": "6904:61:2"
                }
              ]
            },
            "documentation": null,
            "id": 819,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "stringToBytes8",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 799,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 798,
                  "name": "source",
                  "nodeType": "VariableDeclaration",
                  "scope": 819,
                  "src": "6724:20:2",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 797,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6724:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6723:22:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 802,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 801,
                  "name": "result",
                  "nodeType": "VariableDeclaration",
                  "scope": 819,
                  "src": "6755:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes8",
                    "typeString": "bytes8"
                  },
                  "typeName": {
                    "id": 800,
                    "name": "bytes8",
                    "nodeType": "ElementaryTypeName",
                    "src": "6755:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes8",
                      "typeString": "bytes8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6754:15:2"
            },
            "scope": 820,
            "src": "6700:265:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 821,
        "src": "1251:5719:2"
      }
    ],
    "src": "0:6972:2"
  },
  "legacyAST": {
    "absolutePath": "/D/web/frontend/contracts/Transaction.sol",
    "exportedSymbols": {
      "Ownable": [
        211
      ],
      "SafeMath": [
        176
      ],
      "Transaction": [
        820
      ]
    },
    "id": 821,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 83,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".23"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:2"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": null,
        "fullyImplemented": true,
        "id": 176,
        "linearizedBaseContracts": [
          176
        ],
        "name": "SafeMath",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 112,
              "nodeType": "Block",
              "src": "121:80:2",
              "statements": [
                {
                  "assignments": [
                    93
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 93,
                      "name": "c",
                      "nodeType": "VariableDeclaration",
                      "scope": 113,
                      "src": "128:9:2",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 92,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "128:7:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 97,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 96,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 94,
                      "name": "a",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 85,
                      "src": "140:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "*",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 95,
                      "name": "b",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 87,
                      "src": "144:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "140:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "128:17:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 107,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 101,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 99,
                            "name": "a",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 85,
                            "src": "159:1:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 100,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "164:1:2",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "159:6:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 106,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 104,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 102,
                              "name": "c",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 93,
                              "src": "169:1:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "/",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 103,
                              "name": "a",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 85,
                              "src": "173:1:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "169:5:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 105,
                            "name": "b",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 87,
                            "src": "178:1:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "169:10:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "159:20:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 98,
                      "name": "assert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 824,
                      "src": "152:6:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 108,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "152:28:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 109,
                  "nodeType": "ExpressionStatement",
                  "src": "152:28:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 110,
                    "name": "c",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 93,
                    "src": "194:1:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 91,
                  "id": 111,
                  "nodeType": "Return",
                  "src": "187:8:2"
                }
              ]
            },
            "documentation": null,
            "id": 113,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "mul",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 88,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 85,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 113,
                  "src": "63:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 84,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "63:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 87,
                  "name": "b",
                  "nodeType": "VariableDeclaration",
                  "scope": 113,
                  "src": "74:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 86,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "74:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "62:22:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 91,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 90,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 113,
                  "src": "112:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 89,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "112:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "111:9:2"
            },
            "scope": 176,
            "src": "50:151:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 130,
              "nodeType": "Block",
              "src": "278:203:2",
              "statements": [
                {
                  "assignments": [
                    123
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 123,
                      "name": "c",
                      "nodeType": "VariableDeclaration",
                      "scope": 131,
                      "src": "360:9:2",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 122,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "360:7:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 127,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 126,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 124,
                      "name": "a",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 115,
                      "src": "372:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "/",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 125,
                      "name": "b",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 117,
                      "src": "376:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "372:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "360:17:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 128,
                    "name": "c",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 123,
                    "src": "474:1:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 121,
                  "id": 129,
                  "nodeType": "Return",
                  "src": "467:8:2"
                }
              ]
            },
            "documentation": null,
            "id": 131,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "div",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 118,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 115,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 131,
                  "src": "220:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 114,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "220:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 117,
                  "name": "b",
                  "nodeType": "VariableDeclaration",
                  "scope": 131,
                  "src": "231:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 116,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "231:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "219:22:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 121,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 120,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 131,
                  "src": "269:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 119,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "269:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "268:9:2"
            },
            "scope": 176,
            "src": "207:274:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 150,
              "nodeType": "Block",
              "src": "558:46:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 143,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 141,
                          "name": "b",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 135,
                          "src": "572:1:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 142,
                          "name": "a",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 133,
                          "src": "577:1:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "572:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 140,
                      "name": "assert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 824,
                      "src": "565:6:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 144,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "565:14:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 145,
                  "nodeType": "ExpressionStatement",
                  "src": "565:14:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 148,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 146,
                      "name": "a",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 133,
                      "src": "593:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "-",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 147,
                      "name": "b",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 135,
                      "src": "597:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "593:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 139,
                  "id": 149,
                  "nodeType": "Return",
                  "src": "586:12:2"
                }
              ]
            },
            "documentation": null,
            "id": 151,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "sub",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 136,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 133,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 151,
                  "src": "500:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 132,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "500:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 135,
                  "name": "b",
                  "nodeType": "VariableDeclaration",
                  "scope": 151,
                  "src": "511:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 134,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "511:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "499:22:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 139,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 138,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 151,
                  "src": "549:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 137,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "549:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "548:9:2"
            },
            "scope": 176,
            "src": "487:117:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 174,
              "nodeType": "Block",
              "src": "681:66:2",
              "statements": [
                {
                  "assignments": [
                    161
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 161,
                      "name": "c",
                      "nodeType": "VariableDeclaration",
                      "scope": 175,
                      "src": "688:9:2",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 160,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "688:7:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 165,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 164,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 162,
                      "name": "a",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 153,
                      "src": "700:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 163,
                      "name": "b",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 155,
                      "src": "704:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "700:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "688:17:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 169,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 167,
                          "name": "c",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 161,
                          "src": "719:1:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 168,
                          "name": "a",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 153,
                          "src": "724:1:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "719:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 166,
                      "name": "assert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 824,
                      "src": "712:6:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 170,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "712:14:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 171,
                  "nodeType": "ExpressionStatement",
                  "src": "712:14:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 172,
                    "name": "c",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 161,
                    "src": "740:1:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 159,
                  "id": 173,
                  "nodeType": "Return",
                  "src": "733:8:2"
                }
              ]
            },
            "documentation": null,
            "id": 175,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "add",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 156,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 153,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 175,
                  "src": "623:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 152,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "623:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 155,
                  "name": "b",
                  "nodeType": "VariableDeclaration",
                  "scope": 175,
                  "src": "634:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 154,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "634:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "622:22:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 159,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 158,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 175,
                  "src": "672:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 157,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "672:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "671:9:2"
            },
            "scope": 176,
            "src": "610:137:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          }
        ],
        "scope": 821,
        "src": "28:722:2"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 211,
        "linearizedBaseContracts": [
          211
        ],
        "name": "Ownable",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 178,
            "name": "owner",
            "nodeType": "VariableDeclaration",
            "scope": 211,
            "src": "798:13:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 177,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "798:7:2",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 188,
              "nodeType": "Block",
              "src": "855:49:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 184,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 181,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "870:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 182,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "870:10:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 183,
                          "name": "owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 178,
                          "src": "884:5:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "870:19:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 180,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "862:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 185,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "862:28:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 186,
                  "nodeType": "ExpressionStatement",
                  "src": "862:28:2"
                },
                {
                  "id": 187,
                  "nodeType": "PlaceholderStatement",
                  "src": "897:1:2"
                }
              ]
            },
            "documentation": null,
            "id": 189,
            "name": "onlyOwner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 179,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "852:2:2"
            },
            "src": "834:70:2",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 197,
              "nodeType": "Block",
              "src": "954:31:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 195,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 192,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 178,
                      "src": "961:5:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 193,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 835,
                        "src": "969:3:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 194,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "969:10:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "961:18:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 196,
                  "nodeType": "ExpressionStatement",
                  "src": "961:18:2"
                }
              ]
            },
            "documentation": null,
            "id": 198,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "Ownable",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 190,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "944:2:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 191,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "954:0:2"
            },
            "scope": 211,
            "src": "928:57:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 209,
              "nodeType": "Block",
              "src": "1213:29:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 207,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 205,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 178,
                      "src": "1220:5:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 206,
                      "name": "newOwner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 200,
                      "src": "1228:8:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "1220:16:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 208,
                  "nodeType": "ExpressionStatement",
                  "src": "1220:16:2"
                }
              ]
            },
            "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\r\n@param newOwner The address to transfer ownership to.\r",
            "id": 210,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 203,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 202,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 189,
                  "src": "1203:9:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1203:9:2"
              }
            ],
            "name": "transferOwnership",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 201,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 200,
                  "name": "newOwner",
                  "nodeType": "VariableDeclaration",
                  "scope": 210,
                  "src": "1185:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 199,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1185:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1184:18:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 204,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1213:0:2"
            },
            "scope": 211,
            "src": "1158:84:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 821,
        "src": "754:493:2"
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 212,
              "name": "Ownable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 211,
              "src": "1275:7:2",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Ownable_$211",
                "typeString": "contract Ownable"
              }
            },
            "id": 213,
            "nodeType": "InheritanceSpecifier",
            "src": "1275:7:2"
          }
        ],
        "contractDependencies": [
          211
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 820,
        "linearizedBaseContracts": [
          820,
          211
        ],
        "name": "Transaction",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "canonicalName": "Transaction.TransactionNeoPlace",
            "id": 236,
            "members": [
              {
                "constant": false,
                "id": 215,
                "name": "id",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1341:7:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 214,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "1341:4:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 217,
                "name": "seller",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1355:14:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 216,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1355:7:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 219,
                "name": "buyer",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1376:13:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 218,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1376:7:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 221,
                "name": "itemId",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1396:14:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes16",
                  "typeString": "bytes16"
                },
                "typeName": {
                  "id": 220,
                  "name": "bytes16",
                  "nodeType": "ElementaryTypeName",
                  "src": "1396:7:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 223,
                "name": "typeItem",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1417:15:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes8",
                  "typeString": "bytes8"
                },
                "typeName": {
                  "id": 222,
                  "name": "bytes8",
                  "nodeType": "ElementaryTypeName",
                  "src": "1417:6:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes8",
                    "typeString": "bytes8"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 225,
                "name": "location",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1439:15:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 224,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1439:6:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 227,
                "name": "pictureHash",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1461:18:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 226,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1461:6:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 229,
                "name": "receiptHash",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1486:19:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes16",
                  "typeString": "bytes16"
                },
                "typeName": {
                  "id": 228,
                  "name": "bytes16",
                  "nodeType": "ElementaryTypeName",
                  "src": "1486:7:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 231,
                "name": "comment",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1512:14:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 230,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1512:6:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 233,
                "name": "status",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1533:13:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes8",
                  "typeString": "bytes8"
                },
                "typeName": {
                  "id": 232,
                  "name": "bytes8",
                  "nodeType": "ElementaryTypeName",
                  "src": "1533:6:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes8",
                    "typeString": "bytes8"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 235,
                "name": "_price",
                "nodeType": "VariableDeclaration",
                "scope": 236,
                "src": "1553:14:2",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 234,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1553:7:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "TransactionNeoPlace",
            "nodeType": "StructDefinition",
            "scope": 820,
            "src": "1307:266:2",
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 240,
            "name": "transactions",
            "nodeType": "VariableDeclaration",
            "scope": 820,
            "src": "1601:56:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
              "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace)"
            },
            "typeName": {
              "id": 239,
              "keyType": {
                "id": 237,
                "name": "uint",
                "nodeType": "ElementaryTypeName",
                "src": "1609:4:2",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "1601:36:2",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace)"
              },
              "valueType": {
                "contractScope": null,
                "id": 238,
                "name": "TransactionNeoPlace",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 236,
                "src": "1617:19:2",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage_ptr",
                  "typeString": "struct Transaction.TransactionNeoPlace"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 244,
            "name": "fundsLocked",
            "nodeType": "VariableDeclaration",
            "scope": 820,
            "src": "1662:46:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
              "typeString": "mapping(bytes16 => uint256)"
            },
            "typeName": {
              "id": 243,
              "keyType": {
                "id": 241,
                "name": "bytes16",
                "nodeType": "ElementaryTypeName",
                "src": "1670:7:2",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes16",
                  "typeString": "bytes16"
                }
              },
              "nodeType": "Mapping",
              "src": "1662:27:2",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
                "typeString": "mapping(bytes16 => uint256)"
              },
              "valueType": {
                "id": 242,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1681:7:2",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 246,
            "name": "transactionCounter",
            "nodeType": "VariableDeclaration",
            "scope": 820,
            "src": "1715:23:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 245,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1715:4:2",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 258,
            "name": "BuyItem",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 257,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 248,
                  "indexed": true,
                  "name": "_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 258,
                  "src": "1778:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 247,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1778:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 250,
                  "indexed": true,
                  "name": "_itemId",
                  "nodeType": "VariableDeclaration",
                  "scope": 258,
                  "src": "1801:23:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  },
                  "typeName": {
                    "id": 249,
                    "name": "bytes16",
                    "nodeType": "ElementaryTypeName",
                    "src": "1801:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes16",
                      "typeString": "bytes16"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 252,
                  "indexed": false,
                  "name": "_seller",
                  "nodeType": "VariableDeclaration",
                  "scope": 258,
                  "src": "1831:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 251,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1831:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 254,
                  "indexed": false,
                  "name": "_buyer",
                  "nodeType": "VariableDeclaration",
                  "scope": 258,
                  "src": "1853:14:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 253,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1853:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 256,
                  "indexed": false,
                  "name": "_price",
                  "nodeType": "VariableDeclaration",
                  "scope": 258,
                  "src": "1874:14:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 255,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1874:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1771:122:2"
            },
            "src": "1758:136:2"
          },
          {
            "body": {
              "id": 267,
              "nodeType": "Block",
              "src": "1933:32:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 264,
                        "name": "owner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 178,
                        "src": "1953:5:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 263,
                      "name": "selfdestruct",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 843,
                      "src": "1940:12:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_selfdestruct_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 265,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1940:19:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 266,
                  "nodeType": "ExpressionStatement",
                  "src": "1940:19:2"
                }
              ]
            },
            "documentation": null,
            "id": 268,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 261,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 260,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 189,
                  "src": "1923:9:2",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1923:9:2"
              }
            ],
            "name": "kill",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 259,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1913:2:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 262,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1933:0:2"
            },
            "scope": 820,
            "src": "1900:65:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 275,
              "nodeType": "Block",
              "src": "2088:38:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 273,
                    "name": "transactionCounter",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 246,
                    "src": "2102:18:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 272,
                  "id": 274,
                  "nodeType": "Return",
                  "src": "2095:25:2"
                }
              ]
            },
            "documentation": null,
            "id": 276,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getNumberOfTransactions",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 269,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2058:2:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 272,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 271,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 276,
                  "src": "2082:4:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 270,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2082:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2081:6:2"
            },
            "scope": 820,
            "src": "2026:100:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 361,
              "nodeType": "Block",
              "src": "2228:670:2",
              "statements": [
                {
                  "assignments": [
                    285
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 285,
                      "name": "transactionIds",
                      "nodeType": "VariableDeclaration",
                      "scope": 362,
                      "src": "2264:28:2",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 283,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2264:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 284,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "2264:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 291,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 289,
                        "name": "transactionCounter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 246,
                        "src": "2306:18:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 288,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "2295:10:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (uint256[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 286,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2299:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 287,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "2299:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      }
                    },
                    "id": 290,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2295:30:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2264:61:2"
                },
                {
                  "assignments": [
                    293
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 293,
                      "name": "numberOfSales",
                      "nodeType": "VariableDeclaration",
                      "scope": 362,
                      "src": "2334:18:2",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 292,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "2334:4:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 295,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 294,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "2355:1:2",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2334:22:2"
                },
                {
                  "body": {
                    "id": 327,
                    "nodeType": "Block",
                    "src": "2445:214:2",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 312,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 306,
                                "name": "transactions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 240,
                                "src": "2517:12:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                  "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                }
                              },
                              "id": 308,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 307,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 297,
                                "src": "2530:1:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2517:15:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                              }
                            },
                            "id": 309,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "seller",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 217,
                            "src": "2517:22:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 310,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 835,
                              "src": "2543:3:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 311,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2543:10:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "2517:36:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 326,
                        "nodeType": "IfStatement",
                        "src": "2514:138:2",
                        "trueBody": {
                          "id": 325,
                          "nodeType": "Block",
                          "src": "2555:97:2",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 320,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 313,
                                    "name": "transactionIds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 285,
                                    "src": "2566:14:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  },
                                  "id": 315,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 314,
                                    "name": "numberOfSales",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 293,
                                    "src": "2581:13:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "2566:29:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 316,
                                      "name": "transactions",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 240,
                                      "src": "2598:12:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                        "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                      }
                                    },
                                    "id": 318,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 317,
                                      "name": "i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 297,
                                      "src": "2611:1:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "2598:15:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                      "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                    }
                                  },
                                  "id": 319,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "id",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 215,
                                  "src": "2598:18:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "2566:50:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 321,
                              "nodeType": "ExpressionStatement",
                              "src": "2566:50:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 323,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "++",
                                "prefix": false,
                                "src": "2627:15:2",
                                "subExpression": {
                                  "argumentTypes": null,
                                  "id": 322,
                                  "name": "numberOfSales",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 293,
                                  "src": "2627:13:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 324,
                              "nodeType": "ExpressionStatement",
                              "src": "2627:15:2"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 302,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 300,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 297,
                      "src": "2415:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 301,
                      "name": "transactionCounter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 246,
                      "src": "2420:18:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2415:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 328,
                  "initializationExpression": {
                    "assignments": [
                      297
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 297,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 362,
                        "src": "2403:6:2",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 296,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2403:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 299,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 298,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2412:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "2403:10:2"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 304,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "2440:3:2",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 303,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 297,
                        "src": "2440:1:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 305,
                    "nodeType": "ExpressionStatement",
                    "src": "2440:3:2"
                  },
                  "nodeType": "ForStatement",
                  "src": "2399:260:2"
                },
                {
                  "assignments": [
                    332
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 332,
                      "name": "sales",
                      "nodeType": "VariableDeclaration",
                      "scope": 362,
                      "src": "2735:19:2",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 330,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2735:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 331,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "2735:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 338,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 336,
                        "name": "numberOfSales",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 293,
                        "src": "2768:13:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 335,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "2757:10:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (uint256[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 333,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2761:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 334,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "2761:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      }
                    },
                    "id": 337,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2757:25:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2735:47:2"
                },
                {
                  "body": {
                    "id": 357,
                    "nodeType": "Block",
                    "src": "2829:45:2",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 355,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 349,
                              "name": "sales",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 332,
                              "src": "2838:5:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 351,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 350,
                              "name": "j",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 340,
                              "src": "2844:1:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "2838:8:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 352,
                              "name": "transactionIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 285,
                              "src": "2849:14:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 354,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 353,
                              "name": "j",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 340,
                              "src": "2864:1:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2849:17:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "2838:28:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 356,
                        "nodeType": "ExpressionStatement",
                        "src": "2838:28:2"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 345,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 343,
                      "name": "j",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 340,
                      "src": "2805:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 344,
                      "name": "numberOfSales",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 293,
                      "src": "2809:13:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2805:17:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 358,
                  "initializationExpression": {
                    "assignments": [
                      340
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 340,
                        "name": "j",
                        "nodeType": "VariableDeclaration",
                        "scope": 362,
                        "src": "2793:6:2",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 339,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2793:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 342,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 341,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2802:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "2793:10:2"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 347,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "2824:3:2",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 346,
                        "name": "j",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 340,
                        "src": "2824:1:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 348,
                    "nodeType": "ExpressionStatement",
                    "src": "2824:3:2"
                  },
                  "nodeType": "ForStatement",
                  "src": "2789:85:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 359,
                    "name": "sales",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 332,
                    "src": "2887:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "functionReturnParameters": 281,
                  "id": 360,
                  "nodeType": "Return",
                  "src": "2880:12:2"
                }
              ]
            },
            "documentation": null,
            "id": 362,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getSales",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 277,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2196:2:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 281,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 280,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 362,
                  "src": "2220:6:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 278,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "2220:4:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 279,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "2220:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2219:8:2"
            },
            "scope": 820,
            "src": "2179:719:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 447,
              "nodeType": "Block",
              "src": "3007:651:2",
              "statements": [
                {
                  "assignments": [
                    371
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 371,
                      "name": "transactionIds",
                      "nodeType": "VariableDeclaration",
                      "scope": 448,
                      "src": "3043:28:2",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 369,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3043:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 370,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "3043:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 377,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 375,
                        "name": "transactionCounter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 246,
                        "src": "3085:18:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 374,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "3074:10:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (uint256[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 372,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3078:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 373,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "3078:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      }
                    },
                    "id": 376,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3074:30:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3043:61:2"
                },
                {
                  "assignments": [
                    379
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 379,
                      "name": "numberOfBuy",
                      "nodeType": "VariableDeclaration",
                      "scope": 448,
                      "src": "3113:16:2",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 378,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "3113:4:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 381,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 380,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "3132:1:2",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3113:20:2"
                },
                {
                  "body": {
                    "id": 413,
                    "nodeType": "Block",
                    "src": "3222:209:2",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 398,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 392,
                                "name": "transactions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 240,
                                "src": "3294:12:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                  "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                }
                              },
                              "id": 394,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 393,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 383,
                                "src": "3307:1:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "3294:15:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                              }
                            },
                            "id": 395,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "buyer",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 219,
                            "src": "3294:21:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 396,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 835,
                              "src": "3319:3:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 397,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3319:10:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "3294:35:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 412,
                        "nodeType": "IfStatement",
                        "src": "3291:133:2",
                        "trueBody": {
                          "id": 411,
                          "nodeType": "Block",
                          "src": "3331:93:2",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 406,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 399,
                                    "name": "transactionIds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 371,
                                    "src": "3342:14:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  },
                                  "id": 401,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 400,
                                    "name": "numberOfBuy",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 379,
                                    "src": "3357:11:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "3342:27:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 402,
                                      "name": "transactions",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 240,
                                      "src": "3372:12:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                        "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                      }
                                    },
                                    "id": 404,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 403,
                                      "name": "i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 383,
                                      "src": "3385:1:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "3372:15:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                      "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                    }
                                  },
                                  "id": 405,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "id",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 215,
                                  "src": "3372:18:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "3342:48:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 407,
                              "nodeType": "ExpressionStatement",
                              "src": "3342:48:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 409,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "++",
                                "prefix": false,
                                "src": "3401:13:2",
                                "subExpression": {
                                  "argumentTypes": null,
                                  "id": 408,
                                  "name": "numberOfBuy",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 379,
                                  "src": "3401:11:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 410,
                              "nodeType": "ExpressionStatement",
                              "src": "3401:13:2"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 388,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 386,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 383,
                      "src": "3192:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 387,
                      "name": "transactionCounter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 246,
                      "src": "3197:18:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3192:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 414,
                  "initializationExpression": {
                    "assignments": [
                      383
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 383,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 448,
                        "src": "3180:6:2",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 382,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3180:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 385,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 384,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3189:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "3180:10:2"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 390,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "3217:3:2",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 389,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 383,
                        "src": "3217:1:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 391,
                    "nodeType": "ExpressionStatement",
                    "src": "3217:3:2"
                  },
                  "nodeType": "ForStatement",
                  "src": "3176:255:2"
                },
                {
                  "assignments": [
                    418
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 418,
                      "name": "buy",
                      "nodeType": "VariableDeclaration",
                      "scope": 448,
                      "src": "3505:17:2",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 416,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3505:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 417,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "3505:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 424,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 422,
                        "name": "numberOfBuy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 379,
                        "src": "3536:11:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 421,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "3525:10:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (uint256[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 419,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3529:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 420,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "3529:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      }
                    },
                    "id": 423,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3525:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3505:43:2"
                },
                {
                  "body": {
                    "id": 443,
                    "nodeType": "Block",
                    "src": "3593:43:2",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 441,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 435,
                              "name": "buy",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 418,
                              "src": "3602:3:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 437,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 436,
                              "name": "j",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 426,
                              "src": "3606:1:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "3602:6:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 438,
                              "name": "transactionIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 371,
                              "src": "3611:14:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 440,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 439,
                              "name": "j",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 426,
                              "src": "3626:1:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "3611:17:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3602:26:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 442,
                        "nodeType": "ExpressionStatement",
                        "src": "3602:26:2"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 431,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 429,
                      "name": "j",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 426,
                      "src": "3571:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 430,
                      "name": "numberOfBuy",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 379,
                      "src": "3575:11:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3571:15:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 444,
                  "initializationExpression": {
                    "assignments": [
                      426
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 426,
                        "name": "j",
                        "nodeType": "VariableDeclaration",
                        "scope": 448,
                        "src": "3559:6:2",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 425,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3559:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 428,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 427,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3568:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "3559:10:2"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 433,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "3588:3:2",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 432,
                        "name": "j",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 426,
                        "src": "3588:1:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 434,
                    "nodeType": "ExpressionStatement",
                    "src": "3588:3:2"
                  },
                  "nodeType": "ForStatement",
                  "src": "3555:81:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 445,
                    "name": "buy",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 418,
                    "src": "3649:3:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "functionReturnParameters": 367,
                  "id": 446,
                  "nodeType": "Return",
                  "src": "3642:10:2"
                }
              ]
            },
            "documentation": null,
            "id": 448,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getPurchases",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 363,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2975:2:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 367,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 366,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 448,
                  "src": "2999:6:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 364,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "2999:4:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 365,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "2999:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2998:8:2"
            },
            "scope": 820,
            "src": "2954:704:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 560,
              "nodeType": "Block",
              "src": "3869:986:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 470,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 468,
                          "name": "_seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 450,
                          "src": "3909:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "307830",
                          "id": 469,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3920:3:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0x0"
                        },
                        "src": "3909:14:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 467,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "3901:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 471,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3901:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 472,
                  "nodeType": "ExpressionStatement",
                  "src": "3901:23:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 477,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 474,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "3986:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 475,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3986:10:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 476,
                          "name": "_seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 450,
                          "src": "4000:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "3986:21:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 473,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "3978:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 478,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3978:30:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 479,
                  "nodeType": "ExpressionStatement",
                  "src": "3978:30:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        "id": 484,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 481,
                            "name": "_itemId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 452,
                            "src": "4025:7:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes16",
                              "typeString": "bytes16"
                            }
                          },
                          "id": 482,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4025:14:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 483,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4042:1:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4025:18:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 480,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "4017:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 485,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4017:27:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 486,
                  "nodeType": "ExpressionStatement",
                  "src": "4017:27:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        "id": 491,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 488,
                            "name": "_typeItem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 454,
                            "src": "4059:9:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes8",
                              "typeString": "bytes8"
                            }
                          },
                          "id": 489,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4059:16:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 490,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4078:1:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4059:20:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 487,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "4051:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 492,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4051:29:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 493,
                  "nodeType": "ExpressionStatement",
                  "src": "4051:29:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 500,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 496,
                                "name": "_location",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 456,
                                "src": "4101:9:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "id": 495,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "4095:5:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                "typeString": "type(bytes storage pointer)"
                              },
                              "typeName": "bytes"
                            },
                            "id": 497,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4095:16:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 498,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4095:23:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 499,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4121:1:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4095:27:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 494,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "4087:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 501,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4087:36:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 502,
                  "nodeType": "ExpressionStatement",
                  "src": "4087:36:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 509,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 505,
                                "name": "_pictureHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 458,
                                "src": "4144:12:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "id": 504,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "4138:5:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                "typeString": "type(bytes storage pointer)"
                              },
                              "typeName": "bytes"
                            },
                            "id": 506,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4138:19:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 507,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4138:26:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 508,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4167:1:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4138:30:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 503,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "4130:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 510,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4130:39:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 511,
                  "nodeType": "ExpressionStatement",
                  "src": "4130:39:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 516,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 513,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "4230:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 514,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4230:9:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 515,
                          "name": "_price",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 464,
                          "src": "4243:6:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "4230:19:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 512,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "4222:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 517,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4222:28:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 518,
                  "nodeType": "ExpressionStatement",
                  "src": "4222:28:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 527,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 519,
                        "name": "fundsLocked",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 244,
                        "src": "4338:11:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
                          "typeString": "mapping(bytes16 => uint256)"
                        }
                      },
                      "id": 521,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 520,
                        "name": "_itemId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 452,
                        "src": "4350:7:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "4338:20:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 526,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 522,
                          "name": "fundsLocked",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 244,
                          "src": "4359:11:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
                            "typeString": "mapping(bytes16 => uint256)"
                          }
                        },
                        "id": 524,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 523,
                          "name": "_itemId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 452,
                          "src": "4371:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4359:20:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 525,
                        "name": "_price",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 464,
                        "src": "4382:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "4359:29:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4338:50:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 528,
                  "nodeType": "ExpressionStatement",
                  "src": "4338:50:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 530,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "++",
                    "prefix": false,
                    "src": "4421:20:2",
                    "subExpression": {
                      "argumentTypes": null,
                      "id": 529,
                      "name": "transactionCounter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 246,
                      "src": "4421:18:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 531,
                  "nodeType": "ExpressionStatement",
                  "src": "4421:20:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 549,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 532,
                        "name": "transactions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 240,
                        "src": "4484:12:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                          "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                        }
                      },
                      "id": 534,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 533,
                        "name": "transactionCounter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 246,
                        "src": "4497:18:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "4484:32:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                        "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 536,
                          "name": "transactionCounter",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 246,
                          "src": "4547:18:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 537,
                          "name": "_seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 450,
                          "src": "4574:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 538,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "4590:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 539,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4590:10:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 540,
                          "name": "_itemId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 452,
                          "src": "4609:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 541,
                          "name": "_typeItem",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 454,
                          "src": "4625:9:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes8",
                            "typeString": "bytes8"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 542,
                          "name": "_location",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 456,
                          "src": "4643:9:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 543,
                          "name": "_pictureHash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 458,
                          "src": "4661:12:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "",
                          "id": 544,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4682:2:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                            "typeString": "literal_string \"\""
                          },
                          "value": ""
                        },
                        {
                          "argumentTypes": null,
                          "id": 545,
                          "name": "_comment",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 460,
                          "src": "4693:8:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 546,
                          "name": "_status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 462,
                          "src": "4710:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes8",
                            "typeString": "bytes8"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 547,
                          "name": "_price",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 464,
                          "src": "4726:6:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          },
                          {
                            "typeIdentifier": "t_bytes8",
                            "typeString": "bytes8"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                            "typeString": "literal_string \"\""
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_bytes8",
                            "typeString": "bytes8"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 535,
                        "name": "TransactionNeoPlace",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 236,
                        "src": "4519:19:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_TransactionNeoPlace_$236_storage_ptr_$",
                          "typeString": "type(struct Transaction.TransactionNeoPlace storage pointer)"
                        }
                      },
                      "id": 548,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4519:220:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_memory",
                        "typeString": "struct Transaction.TransactionNeoPlace memory"
                      }
                    },
                    "src": "4484:255:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                      "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                    }
                  },
                  "id": 550,
                  "nodeType": "ExpressionStatement",
                  "src": "4484:255:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 552,
                        "name": "transactionCounter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 246,
                        "src": "4792:18:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 553,
                        "name": "_itemId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 452,
                        "src": "4812:7:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 554,
                        "name": "_seller",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 450,
                        "src": "4821:7:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 555,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 835,
                          "src": "4830:3:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 556,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "4830:10:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 557,
                        "name": "_price",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 464,
                        "src": "4842:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 551,
                      "name": "BuyItem",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 258,
                      "src": "4784:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes16_$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,bytes16,address,address,uint256)"
                      }
                    },
                    "id": 558,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4784:65:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 559,
                  "nodeType": "ExpressionStatement",
                  "src": "4784:65:2"
                }
              ]
            },
            "documentation": null,
            "id": 561,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "buyItem",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 465,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 450,
                  "name": "_seller",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3714:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 449,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3714:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 452,
                  "name": "_itemId",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3731:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  },
                  "typeName": {
                    "id": 451,
                    "name": "bytes16",
                    "nodeType": "ElementaryTypeName",
                    "src": "3731:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes16",
                      "typeString": "bytes16"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 454,
                  "name": "_typeItem",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3748:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes8",
                    "typeString": "bytes8"
                  },
                  "typeName": {
                    "id": 453,
                    "name": "bytes8",
                    "nodeType": "ElementaryTypeName",
                    "src": "3748:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes8",
                      "typeString": "bytes8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 456,
                  "name": "_location",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3766:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 455,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3766:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 458,
                  "name": "_pictureHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3784:19:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 457,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3784:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 460,
                  "name": "_comment",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3805:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 459,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3805:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 462,
                  "name": "_status",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3822:14:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes8",
                    "typeString": "bytes8"
                  },
                  "typeName": {
                    "id": 461,
                    "name": "bytes8",
                    "nodeType": "ElementaryTypeName",
                    "src": "3822:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes8",
                      "typeString": "bytes8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 464,
                  "name": "_price",
                  "nodeType": "VariableDeclaration",
                  "scope": 561,
                  "src": "3838:14:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 463,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3838:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3713:140:2"
            },
            "payable": true,
            "returnParameters": {
              "id": 466,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3869:0:2"
            },
            "scope": 820,
            "src": "3697:1158:2",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 666,
              "nodeType": "Block",
              "src": "5016:685:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 573,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 571,
                          "name": "_seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 563,
                          "src": "5056:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "307830",
                          "id": 572,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5067:3:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0x0"
                        },
                        "src": "5056:14:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 570,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "5048:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 574,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5048:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 575,
                  "nodeType": "ExpressionStatement",
                  "src": "5048:23:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 580,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 577,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "5133:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 578,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5133:10:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 579,
                          "name": "_seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 563,
                          "src": "5147:7:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "5133:21:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 576,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "5125:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 581,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5125:30:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 582,
                  "nodeType": "ExpressionStatement",
                  "src": "5125:30:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        "id": 587,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 584,
                            "name": "_itemId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 565,
                            "src": "5172:7:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes16",
                              "typeString": "bytes16"
                            }
                          },
                          "id": 585,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5172:14:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 586,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5189:1:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5172:18:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 583,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "5164:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 588,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5164:27:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 589,
                  "nodeType": "ExpressionStatement",
                  "src": "5164:27:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 594,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 591,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "5208:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 592,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5208:9:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 593,
                          "name": "_price",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 567,
                          "src": "5221:6:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "5208:19:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 590,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "5200:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 595,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5200:28:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 596,
                  "nodeType": "ExpressionStatement",
                  "src": "5200:28:2"
                },
                {
                  "body": {
                    "id": 664,
                    "nodeType": "Block",
                    "src": "5283:413:2",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          },
                          "id": 612,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 607,
                                "name": "transactions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 240,
                                "src": "5295:12:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                  "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                }
                              },
                              "id": 609,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 608,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 598,
                                "src": "5308:1:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "5295:15:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                              }
                            },
                            "id": 610,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "itemId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 221,
                            "src": "5295:22:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes16",
                              "typeString": "bytes16"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 611,
                            "name": "_itemId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 565,
                            "src": "5321:7:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes16",
                              "typeString": "bytes16"
                            }
                          },
                          "src": "5295:33:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 663,
                        "nodeType": "IfStatement",
                        "src": "5292:397:2",
                        "trueBody": {
                          "id": 662,
                          "nodeType": "Block",
                          "src": "5330:359:2",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 620,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "id": 614,
                                        "name": "msg",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 835,
                                        "src": "5351:3:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_message",
                                          "typeString": "msg"
                                        }
                                      },
                                      "id": 615,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "sender",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": null,
                                      "src": "5351:10:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "==",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 616,
                                          "name": "transactions",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 240,
                                          "src": "5365:12:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                            "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                          }
                                        },
                                        "id": 618,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 617,
                                          "name": "i",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 598,
                                          "src": "5378:1:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "5365:15:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                          "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                        }
                                      },
                                      "id": 619,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "buyer",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 219,
                                      "src": "5365:21:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "5351:35:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 613,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    838,
                                    839
                                  ],
                                  "referencedDeclaration": 838,
                                  "src": "5343:7:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 621,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5343:44:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 622,
                              "nodeType": "ExpressionStatement",
                              "src": "5343:44:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_bytes8",
                                      "typeString": "bytes8"
                                    },
                                    "id": 631,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "hexValue": "70616964",
                                          "id": 625,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "5421:6:2",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_5ab53550295bfc9315c562232d99e75119ebb4d3b8a6e012160126a3506b02a8",
                                            "typeString": "literal_string \"paid\""
                                          },
                                          "value": "paid"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_stringliteral_5ab53550295bfc9315c562232d99e75119ebb4d3b8a6e012160126a3506b02a8",
                                            "typeString": "literal_string \"paid\""
                                          }
                                        ],
                                        "id": 624,
                                        "name": "stringToBytes8",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 819,
                                        "src": "5406:14:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bytes8_$",
                                          "typeString": "function (string memory) returns (bytes8)"
                                        }
                                      },
                                      "id": 626,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "5406:22:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes8",
                                        "typeString": "bytes8"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "==",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 627,
                                          "name": "transactions",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 240,
                                          "src": "5432:12:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                            "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                          }
                                        },
                                        "id": 629,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 628,
                                          "name": "i",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 598,
                                          "src": "5445:1:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "5432:15:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                          "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                        }
                                      },
                                      "id": 630,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "status",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 233,
                                      "src": "5432:22:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes8",
                                        "typeString": "bytes8"
                                      }
                                    },
                                    "src": "5406:48:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 623,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    838,
                                    839
                                  ],
                                  "referencedDeclaration": 838,
                                  "src": "5398:7:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 632,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5398:57:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 633,
                              "nodeType": "ExpressionStatement",
                              "src": "5398:57:2"
                            },
                            {
                              "assignments": [
                                635
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 635,
                                  "name": "seller",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 667,
                                  "src": "5466:14:2",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  "typeName": {
                                    "id": 634,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "5466:7:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "value": null,
                                  "visibility": "internal"
                                }
                              ],
                              "id": 640,
                              "initialValue": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 636,
                                    "name": "transactions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 240,
                                    "src": "5483:12:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                      "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                    }
                                  },
                                  "id": 638,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 637,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 598,
                                    "src": "5496:1:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "5483:15:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                    "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                  }
                                },
                                "id": 639,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "seller",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 217,
                                "src": "5483:22:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "5466:39:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 652,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 641,
                                      "name": "transactions",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 240,
                                      "src": "5516:12:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                        "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                      }
                                    },
                                    "id": 643,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 642,
                                      "name": "i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 598,
                                      "src": "5529:1:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "5516:15:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                      "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                    }
                                  },
                                  "id": 644,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberName": "_price",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 235,
                                  "src": "5516:22:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 651,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 645,
                                        "name": "transactions",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 240,
                                        "src": "5541:12:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                          "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                        }
                                      },
                                      "id": 647,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 646,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 598,
                                        "src": "5554:1:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "5541:15:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                        "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                      }
                                    },
                                    "id": 648,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "_price",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 235,
                                    "src": "5541:22:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "+",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 649,
                                      "name": "msg",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 835,
                                      "src": "5566:3:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_message",
                                        "typeString": "msg"
                                      }
                                    },
                                    "id": 650,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "value",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": null,
                                    "src": "5566:9:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "5541:34:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "5516:59:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 653,
                              "nodeType": "ExpressionStatement",
                              "src": "5516:59:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 657,
                                      "name": "msg",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 835,
                                      "src": "5651:3:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_message",
                                        "typeString": "msg"
                                      }
                                    },
                                    "id": 658,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "value",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": null,
                                    "src": "5651:9:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 654,
                                    "name": "seller",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 635,
                                    "src": "5635:6:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "id": 656,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "transfer",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "5635:15:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                                    "typeString": "function (uint256)"
                                  }
                                },
                                "id": 659,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5635:26:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 660,
                              "nodeType": "ExpressionStatement",
                              "src": "5635:26:2"
                            },
                            {
                              "id": 661,
                              "nodeType": "Break",
                              "src": "5674:5:2"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 603,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 601,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 598,
                      "src": "5253:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 602,
                      "name": "transactionCounter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 246,
                      "src": "5258:18:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5253:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 665,
                  "initializationExpression": {
                    "assignments": [
                      598
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 598,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 667,
                        "src": "5241:6:2",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 597,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "5241:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 600,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 599,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5250:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "5241:10:2"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 605,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "5278:3:2",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 604,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 598,
                        "src": "5278:1:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 606,
                    "nodeType": "ExpressionStatement",
                    "src": "5278:3:2"
                  },
                  "nodeType": "ForStatement",
                  "src": "5237:459:2"
                }
              ]
            },
            "documentation": null,
            "id": 667,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "sendAdditionalFunds",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 568,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 563,
                  "name": "_seller",
                  "nodeType": "VariableDeclaration",
                  "scope": 667,
                  "src": "4951:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 562,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4951:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 565,
                  "name": "_itemId",
                  "nodeType": "VariableDeclaration",
                  "scope": 667,
                  "src": "4968:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  },
                  "typeName": {
                    "id": 564,
                    "name": "bytes16",
                    "nodeType": "ElementaryTypeName",
                    "src": "4968:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes16",
                      "typeString": "bytes16"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 567,
                  "name": "_price",
                  "nodeType": "VariableDeclaration",
                  "scope": 667,
                  "src": "4985:14:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 566,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4985:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4950:50:2"
            },
            "payable": true,
            "returnParameters": {
              "id": 569,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5016:0:2"
            },
            "scope": 820,
            "src": "4922:779:2",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 769,
              "nodeType": "Block",
              "src": "5752:695:2",
              "statements": [
                {
                  "body": {
                    "id": 767,
                    "nodeType": "Block",
                    "src": "5807:635:2",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          },
                          "id": 687,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 682,
                                "name": "transactions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 240,
                                "src": "5819:12:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                  "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                }
                              },
                              "id": 684,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 683,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 673,
                                "src": "5832:1:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "5819:15:2",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                              }
                            },
                            "id": 685,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "itemId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 221,
                            "src": "5819:22:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes16",
                              "typeString": "bytes16"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 686,
                            "name": "_itemId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 669,
                            "src": "5845:7:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes16",
                              "typeString": "bytes16"
                            }
                          },
                          "src": "5819:33:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 766,
                        "nodeType": "IfStatement",
                        "src": "5816:619:2",
                        "trueBody": {
                          "id": 765,
                          "nodeType": "Block",
                          "src": "5854:581:2",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 695,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "id": 689,
                                        "name": "msg",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 835,
                                        "src": "5875:3:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_message",
                                          "typeString": "msg"
                                        }
                                      },
                                      "id": 690,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "sender",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": null,
                                      "src": "5875:10:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "==",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 691,
                                          "name": "transactions",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 240,
                                          "src": "5889:12:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                            "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                          }
                                        },
                                        "id": 693,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 692,
                                          "name": "i",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 673,
                                          "src": "5902:1:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "5889:15:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                          "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                        }
                                      },
                                      "id": 694,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "buyer",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 219,
                                      "src": "5889:21:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "5875:35:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 688,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    838,
                                    839
                                  ],
                                  "referencedDeclaration": 838,
                                  "src": "5867:7:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 696,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5867:44:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 697,
                              "nodeType": "ExpressionStatement",
                              "src": "5867:44:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_bytes8",
                                      "typeString": "bytes8"
                                    },
                                    "id": 706,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "hexValue": "70616964",
                                          "id": 700,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "5945:6:2",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_5ab53550295bfc9315c562232d99e75119ebb4d3b8a6e012160126a3506b02a8",
                                            "typeString": "literal_string \"paid\""
                                          },
                                          "value": "paid"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_stringliteral_5ab53550295bfc9315c562232d99e75119ebb4d3b8a6e012160126a3506b02a8",
                                            "typeString": "literal_string \"paid\""
                                          }
                                        ],
                                        "id": 699,
                                        "name": "stringToBytes8",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 819,
                                        "src": "5930:14:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bytes8_$",
                                          "typeString": "function (string memory) returns (bytes8)"
                                        }
                                      },
                                      "id": 701,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "5930:22:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes8",
                                        "typeString": "bytes8"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "!=",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 702,
                                          "name": "transactions",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 240,
                                          "src": "5956:12:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                            "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                          }
                                        },
                                        "id": 704,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 703,
                                          "name": "i",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 673,
                                          "src": "5969:1:2",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "5956:15:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                          "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                        }
                                      },
                                      "id": 705,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "status",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 233,
                                      "src": "5956:22:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes8",
                                        "typeString": "bytes8"
                                      }
                                    },
                                    "src": "5930:48:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 698,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    838,
                                    839
                                  ],
                                  "referencedDeclaration": 838,
                                  "src": "5922:7:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 707,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5922:57:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 708,
                              "nodeType": "ExpressionStatement",
                              "src": "5922:57:2"
                            },
                            {
                              "assignments": [
                                710
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 710,
                                  "name": "buyer",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 770,
                                  "src": "5990:13:2",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  "typeName": {
                                    "id": 709,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "5990:7:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "value": null,
                                  "visibility": "internal"
                                }
                              ],
                              "id": 715,
                              "initialValue": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 711,
                                    "name": "transactions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 240,
                                    "src": "6006:12:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                      "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                    }
                                  },
                                  "id": 713,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 712,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 673,
                                    "src": "6019:1:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "6006:15:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                    "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                  }
                                },
                                "id": 714,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "buyer",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 219,
                                "src": "6006:21:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "5990:37:2"
                            },
                            {
                              "assignments": [
                                717
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 717,
                                  "name": "seller",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 770,
                                  "src": "6038:14:2",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  "typeName": {
                                    "id": 716,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "6038:7:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "value": null,
                                  "visibility": "internal"
                                }
                              ],
                              "id": 722,
                              "initialValue": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 718,
                                    "name": "transactions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 240,
                                    "src": "6055:12:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                      "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                    }
                                  },
                                  "id": 720,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 719,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 673,
                                    "src": "6068:1:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "6055:15:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                    "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                  }
                                },
                                "id": 721,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "seller",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 217,
                                "src": "6055:22:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "6038:39:2"
                            },
                            {
                              "assignments": [
                                724
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 724,
                                  "name": "priceTransaction",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 770,
                                  "src": "6088:24:2",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "typeName": {
                                    "id": 723,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "6088:7:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "value": null,
                                  "visibility": "internal"
                                }
                              ],
                              "id": 729,
                              "initialValue": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 725,
                                    "name": "transactions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 240,
                                    "src": "6115:12:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                      "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                    }
                                  },
                                  "id": 727,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 726,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 673,
                                    "src": "6128:1:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "6115:15:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                    "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                  }
                                },
                                "id": 728,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "_price",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 235,
                                "src": "6115:22:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "6088:49:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 735,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 731,
                                        "name": "fundsLocked",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 244,
                                        "src": "6158:11:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
                                          "typeString": "mapping(bytes16 => uint256)"
                                        }
                                      },
                                      "id": 733,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 732,
                                        "name": "_itemId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 669,
                                        "src": "6170:7:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes16",
                                          "typeString": "bytes16"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "6158:20:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "hexValue": "30",
                                      "id": 734,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "6179:1:2",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      },
                                      "value": "0"
                                    },
                                    "src": "6158:22:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 730,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    838,
                                    839
                                  ],
                                  "referencedDeclaration": 838,
                                  "src": "6150:7:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 736,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6150:31:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 737,
                              "nodeType": "ExpressionStatement",
                              "src": "6150:31:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 747,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 738,
                                    "name": "fundsLocked",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 244,
                                    "src": "6192:11:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
                                      "typeString": "mapping(bytes16 => uint256)"
                                    }
                                  },
                                  "id": 740,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 739,
                                    "name": "_itemId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 669,
                                    "src": "6204:7:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes16",
                                      "typeString": "bytes16"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "6192:20:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 746,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 741,
                                      "name": "fundsLocked",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 244,
                                      "src": "6213:11:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_bytes16_$_t_uint256_$",
                                        "typeString": "mapping(bytes16 => uint256)"
                                      }
                                    },
                                    "id": 743,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 742,
                                      "name": "_itemId",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 669,
                                      "src": "6225:7:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes16",
                                        "typeString": "bytes16"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "6213:20:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "-",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "components": [
                                      {
                                        "argumentTypes": null,
                                        "id": 744,
                                        "name": "priceTransaction",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 724,
                                        "src": "6237:16:2",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "id": 745,
                                    "isConstant": false,
                                    "isInlineArray": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "TupleExpression",
                                    "src": "6236:18:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "6213:41:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "6192:62:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 748,
                              "nodeType": "ExpressionStatement",
                              "src": "6192:62:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 752,
                                    "name": "priceTransaction",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 724,
                                    "src": "6330:16:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 749,
                                    "name": "seller",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 717,
                                    "src": "6314:6:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "id": 751,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "transfer",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "6314:15:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                                    "typeString": "function (uint256)"
                                  }
                                },
                                "id": 753,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6314:33:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 754,
                              "nodeType": "ExpressionStatement",
                              "src": "6314:33:2"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 762,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 755,
                                      "name": "transactions",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 240,
                                      "src": "6360:12:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TransactionNeoPlace_$236_storage_$",
                                        "typeString": "mapping(uint256 => struct Transaction.TransactionNeoPlace storage ref)"
                                      }
                                    },
                                    "id": 757,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 756,
                                      "name": "i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 673,
                                      "src": "6373:1:2",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "6360:15:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TransactionNeoPlace_$236_storage",
                                      "typeString": "struct Transaction.TransactionNeoPlace storage ref"
                                    }
                                  },
                                  "id": 758,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberName": "status",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 233,
                                  "src": "6360:22:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes8",
                                    "typeString": "bytes8"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "hexValue": "70616964",
                                      "id": 760,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "6400:6:2",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_5ab53550295bfc9315c562232d99e75119ebb4d3b8a6e012160126a3506b02a8",
                                        "typeString": "literal_string \"paid\""
                                      },
                                      "value": "paid"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_stringliteral_5ab53550295bfc9315c562232d99e75119ebb4d3b8a6e012160126a3506b02a8",
                                        "typeString": "literal_string \"paid\""
                                      }
                                    ],
                                    "id": 759,
                                    "name": "stringToBytes8",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 819,
                                    "src": "6385:14:2",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bytes8_$",
                                      "typeString": "function (string memory) returns (bytes8)"
                                    }
                                  },
                                  "id": 761,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "6385:22:2",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes8",
                                    "typeString": "bytes8"
                                  }
                                },
                                "src": "6360:47:2",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes8",
                                  "typeString": "bytes8"
                                }
                              },
                              "id": 763,
                              "nodeType": "ExpressionStatement",
                              "src": "6360:47:2"
                            },
                            {
                              "id": 764,
                              "nodeType": "Break",
                              "src": "6420:5:2"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 678,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 676,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 673,
                      "src": "5777:1:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 677,
                      "name": "transactionCounter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 246,
                      "src": "5782:18:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5777:23:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 768,
                  "initializationExpression": {
                    "assignments": [
                      673
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 673,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 770,
                        "src": "5765:6:2",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 672,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "5765:4:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 675,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 674,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5774:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "5765:10:2"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 680,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "5802:3:2",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 679,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 673,
                        "src": "5802:1:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 681,
                    "nodeType": "ExpressionStatement",
                    "src": "5802:3:2"
                  },
                  "nodeType": "ForStatement",
                  "src": "5761:681:2"
                }
              ]
            },
            "documentation": null,
            "id": 770,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "unlockFunds",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 670,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 669,
                  "name": "_itemId",
                  "nodeType": "VariableDeclaration",
                  "scope": 770,
                  "src": "5728:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  },
                  "typeName": {
                    "id": 668,
                    "name": "bytes16",
                    "nodeType": "ElementaryTypeName",
                    "src": "5728:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes16",
                      "typeString": "bytes16"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5727:17:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 671,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5752:0:2"
            },
            "scope": 820,
            "src": "5707:740:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 795,
              "nodeType": "Block",
              "src": "6505:189:2",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 778,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 776,
                          "name": "seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 772,
                          "src": "6549:6:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "307830",
                          "id": 777,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6559:3:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0x0"
                        },
                        "src": "6549:13:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 775,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "6541:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 779,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6541:22:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 780,
                  "nodeType": "ExpressionStatement",
                  "src": "6541:22:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 785,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 782,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 835,
                            "src": "6629:3:2",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 783,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "6629:10:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 784,
                          "name": "seller",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 772,
                          "src": "6643:6:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "6629:20:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 781,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        838,
                        839
                      ],
                      "referencedDeclaration": 838,
                      "src": "6621:7:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 786,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6621:29:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 787,
                  "nodeType": "ExpressionStatement",
                  "src": "6621:29:2"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 791,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 835,
                          "src": "6677:3:2",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 792,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "6677:9:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 788,
                        "name": "seller",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 772,
                        "src": "6661:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 790,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "6661:15:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 793,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6661:26:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 794,
                  "nodeType": "ExpressionStatement",
                  "src": "6661:26:2"
                }
              ]
            },
            "documentation": null,
            "id": 796,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "sendAmount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 773,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 772,
                  "name": "seller",
                  "nodeType": "VariableDeclaration",
                  "scope": 796,
                  "src": "6474:14:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 771,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6474:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6473:16:2"
            },
            "payable": true,
            "returnParameters": {
              "id": 774,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6505:0:2"
            },
            "scope": 820,
            "src": "6454:240:2",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 818,
              "nodeType": "Block",
              "src": "6770:195:2",
              "statements": [
                {
                  "assignments": [
                    804
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 804,
                      "name": "tempEmptyStringTest",
                      "nodeType": "VariableDeclaration",
                      "scope": 819,
                      "src": "6777:32:2",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 803,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6777:5:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 808,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 806,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 798,
                        "src": "6818:6:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 805,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "6812:5:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                        "typeString": "type(bytes storage pointer)"
                      },
                      "typeName": "bytes"
                    },
                    "id": 807,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6812:13:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6777:48:2"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 812,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 809,
                        "name": "tempEmptyStringTest",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 804,
                        "src": "6836:19:2",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 810,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "6836:26:2",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 811,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6866:1:2",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "6836:31:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 816,
                  "nodeType": "IfStatement",
                  "src": "6832:64:2",
                  "trueBody": {
                    "id": 815,
                    "nodeType": "Block",
                    "src": "6869:27:2",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "307830",
                          "id": 813,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6885:3:2",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0x0"
                        },
                        "functionReturnParameters": 802,
                        "id": 814,
                        "nodeType": "Return",
                        "src": "6878:10:2"
                      }
                    ]
                  }
                },
                {
                  "externalReferences": [
                    {
                      "result": {
                        "declaration": 801,
                        "isOffset": false,
                        "isSlot": false,
                        "src": "6922:6:2",
                        "valueSize": 1
                      }
                    },
                    {
                      "source": {
                        "declaration": 798,
                        "isOffset": false,
                        "isSlot": false,
                        "src": "6942:6:2",
                        "valueSize": 1
                      }
                    }
                  ],
                  "id": 817,
                  "nodeType": "InlineAssembly",
                  "operations": "{\n    result := mload(add(source, 8))\n}",
                  "src": "6904:61:2"
                }
              ]
            },
            "documentation": null,
            "id": 819,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "stringToBytes8",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 799,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 798,
                  "name": "source",
                  "nodeType": "VariableDeclaration",
                  "scope": 819,
                  "src": "6724:20:2",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 797,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6724:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6723:22:2"
            },
            "payable": false,
            "returnParameters": {
              "id": 802,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 801,
                  "name": "result",
                  "nodeType": "VariableDeclaration",
                  "scope": 819,
                  "src": "6755:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes8",
                    "typeString": "bytes8"
                  },
                  "typeName": {
                    "id": 800,
                    "name": "bytes8",
                    "nodeType": "ElementaryTypeName",
                    "src": "6755:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes8",
                      "typeString": "bytes8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6754:15:2"
            },
            "scope": 820,
            "src": "6700:265:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 821,
        "src": "1251:5719:2"
      }
    ],
    "src": "0:6972:2"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {
    "4": {
      "events": {},
      "links": {},
      "address": "0x092a9a14e4c86a4d91bcb4c881ca8850ec0b2dc8",
      "transactionHash": "0x98c48f11317b0ffb1969f92cf8718271bd1c8697ddf58864afcaffbaab37c3aa"
    },
    "5792": {
      "events": {},
      "links": {},
      "address": "0x345ca3e014aaf5dca488057592ee47305d9b3e10",
      "transactionHash": "0xc5bd05ae6825e36820b99e406cb11e4d3c15fa6221fd12747e90ce40dae57c46"
    }
  },
  "schemaVersion": "2.0.0",
  "updatedAt": "2018-06-06T20:38:54.757Z"
}