[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "_balances", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lubricating", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_liquidityPool", "type": "address" } ], "name": "setLiquidityPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "setLubricating", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "treasury", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
60806040526001600560146101000a81548160ff021916908315150217905550733d9560ad03a3e0a7a6f87d6736d08ef1036b390b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200008157600080fd5b50336040518060400160405280600481526020017f59756761000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5955474100000000000000000000000000000000000000000000000000000000815250816003908162000100919062000ded565b50806004908162000112919062000ded565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200018a5760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000181919062000f19565b60405180910390fd5b6200019b81620001bf60201b60201c565b50620001b9336a115eec47f6cf7e350000006200028560201b60201c565b6200125f565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002fa5760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620002f1919062000f19565b60405180910390fd5b6200030e600083836200031260201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200065e57600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620004135750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156200065d5762000429620008c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415806200049f57506200046f620008c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80620004f95750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80620005535750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156200065c57600060646002836200056c919062000f65565b62000578919062000fdf565b9050808262000588919062001017565b9150806000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620005da919062001017565b9250508190555080600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000653919062001052565b92505081905550505b5b5b62000671838383620008f160201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036200079457620006d8620008c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806200074c57506200071d620008c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6200078e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007859062001114565b60405180910390fd5b620008c2565b600560149054906101000a900460ff168015620007ec5750620007bc620008c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015620008475750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15620008c15760646200085f62000b2160201b60201c565b6200086b919062000fdf565b6200087c8362000b2b60201b60201c565b1115620008c0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008b790620011d2565b60405180910390fd5b5b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620009475780600260008282546200093a919062001052565b9250508190555062000a1d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015620009d6578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620009cd9392919062001205565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000a68578060026000828254039250508190555062000ab5565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000b14919062001242565b60405180910390a3505050565b6000600254905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000bf557607f821691505b60208210810362000c0b5762000c0a62000bad565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000c757fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c36565b62000c81868362000c36565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000cce62000cc862000cc28462000c99565b62000ca3565b62000c99565b9050919050565b6000819050919050565b62000cea8362000cad565b62000d0262000cf98262000cd5565b84845462000c43565b825550505050565b600090565b62000d1962000d0a565b62000d2681848462000cdf565b505050565b5b8181101562000d4e5762000d4260008262000d0f565b60018101905062000d2c565b5050565b601f82111562000d9d5762000d678162000c11565b62000d728462000c26565b8101602085101562000d82578190505b62000d9a62000d918562000c26565b83018262000d2b565b50505b505050565b600082821c905092915050565b600062000dc26000198460080262000da2565b1980831691505092915050565b600062000ddd838362000daf565b9150826002028217905092915050565b62000df88262000b73565b67ffffffffffffffff81111562000e145762000e1362000b7e565b5b62000e20825462000bdc565b62000e2d82828562000d52565b600060209050601f83116001811462000e65576000841562000e50578287015190505b62000e5c858262000dcf565b86555062000ecc565b601f19841662000e758662000c11565b60005b8281101562000e9f5784890151825560018201915060208501945060208101905062000e78565b8683101562000ebf578489015162000ebb601f89168262000daf565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f018262000ed4565b9050919050565b62000f138162000ef4565b82525050565b600060208201905062000f30600083018462000f08565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000f728262000c99565b915062000f7f8362000c99565b925082820262000f8f8162000c99565b9150828204841483151762000fa95762000fa862000f36565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000fec8262000c99565b915062000ff98362000c99565b9250826200100c576200100b62000fb0565b5b828204905092915050565b6000620010248262000c99565b9150620010318362000c99565b92508282039050818111156200104c576200104b62000f36565b5b92915050565b60006200105f8262000c99565b91506200106c8362000c99565b925082820190508082111562001087576200108662000f36565b5b92915050565b600082825260208201905092915050565b7f50617469656e6365202d2054726164696e67204e6f742053746172746564205960008201527f6574210000000000000000000000000000000000000000000000000000000000602082015250565b6000620010fc6023836200108d565b915062001109826200109e565b604082019050919050565b600060208201905081810360008301526200112f81620010ed565b9050919050565b7f4a7573742067657474696e67207761726d65642075702c206c696d6974206f6660008201527f203125206f662059756761207065722077616c6c657420756e74696c206c756260208201527f7269636174696f6e20697320636f6d706c657465210000000000000000000000604082015250565b6000620011ba6055836200108d565b9150620011c78262001136565b606082019050919050565b60006020820190508181036000830152620011ed81620011ab565b9050919050565b620011ff8162000c99565b82525050565b60006060820190506200121c600083018662000f08565b6200122b6020830185620011f4565b6200123a6040830184620011f4565b949350505050565b6000602082019050620012596000830184620011f4565b92915050565b611aa6806200126f6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80636ebcf607116100a257806395afda0c1161007157806395afda0c146102d157806395d89b41146102ef578063a9059cbb1461030d578063dd62ed3e1461033d578063f2fde38b1461036d57610116565b80636ebcf6071461024957806370a0823114610279578063715018a6146102a95780638da5cb5b146102b357610116565b806323b872dd116100e957806323b872dd146101a3578063313ce567146101d35780634bc3e7db146101f157806361d027b31461020d578063665a11ca1461022b57610116565b8063018770201461011b57806306fdde0314610137578063095ea7b31461015557806318160ddd14610185575b600080fd5b61013560048036038101906101309190611454565b610389565b005b61013f6103d5565b60405161014c9190611511565b60405180910390f35b61016f600480360381019061016a9190611569565b610467565b60405161017c91906115c4565b60405180910390f35b61018d61048a565b60405161019a91906115ee565b60405180910390f35b6101bd60048036038101906101b89190611609565b610494565b6040516101ca91906115c4565b60405180910390f35b6101db6104c3565b6040516101e89190611678565b60405180910390f35b61020b600480360381019061020691906116bf565b6104cc565b005b6102156104f1565b60405161022291906116fb565b60405180910390f35b610233610517565b60405161024091906116fb565b60405180910390f35b610263600480360381019061025e9190611454565b61053d565b60405161027091906115ee565b60405180910390f35b610293600480360381019061028e9190611454565b610555565b6040516102a091906115ee565b60405180910390f35b6102b161059d565b005b6102bb6105b1565b6040516102c891906116fb565b60405180910390f35b6102d96105db565b6040516102e691906115c4565b60405180910390f35b6102f76105ee565b6040516103049190611511565b60405180910390f35b61032760048036038101906103229190611569565b610680565b60405161033491906115c4565b60405180910390f35b61035760048036038101906103529190611716565b6106a3565b60405161036491906115ee565b60405180910390f35b61038760048036038101906103829190611454565b61072a565b005b6103916107b0565b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060600380546103e490611785565b80601f016020809104026020016040519081016040528092919081815260200182805461041090611785565b801561045d5780601f106104325761010080835404028352916020019161045d565b820191906000526020600020905b81548152906001019060200180831161044057829003601f168201915b5050505050905090565b600080610472610837565b905061047f81858561083f565b600191505092915050565b6000600254905090565b60008061049f610837565b90506104ac858285610851565b6104b78585856108e5565b60019150509392505050565b60006012905090565b6104d46107b0565b80600560146101000a81548160ff02191690831515021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006020528060005260406000206000915090505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105a56107b0565b6105af60006109d9565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600560149054906101000a900460ff1681565b6060600480546105fd90611785565b80601f016020809104026020016040519081016040528092919081815260200182805461062990611785565b80156106765780601f1061064b57610100808354040283529160200191610676565b820191906000526020600020905b81548152906001019060200180831161065957829003601f168201915b5050505050905090565b60008061068b610837565b90506106988185856108e5565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6107326107b0565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036107a45760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161079b91906116fb565b60405180910390fd5b6107ad816109d9565b50565b6107b8610837565b73ffffffffffffffffffffffffffffffffffffffff166107d66105b1565b73ffffffffffffffffffffffffffffffffffffffff1614610835576107f9610837565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161082c91906116fb565b60405180910390fd5b565b600033905090565b61084c8383836001610a9f565b505050565b600061085d84846106a3565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108df57818110156108cf578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016108c6939291906117b6565b60405180910390fd5b6108de84848484036000610a9f565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109575760006040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161094e91906116fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109c95760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016109c091906116fb565b60405180910390fd5b6109d4838383610c76565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610b115760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610b0891906116fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b835760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610b7a91906116fb565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610c70578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c6791906115ee565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa157600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610d755750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15610fa057610d826105b1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580610def5750610dbf6105b1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80610e485750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80610ea15750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15610f9f5760006064600283610eb7919061181c565b610ec1919061188d565b90508082610ecf91906118be565b9150806000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f1f91906118be565b9250508190555080600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f9691906118f2565b92505081905550505b5b5b610fac8383836111cc565b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036110b95761100a6105b1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061107557506110466105b1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6110b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ab90611998565b60405180910390fd5b6111c7565b600560149054906101000a900460ff16801561110857506110d86105b1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111625750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156111c657606461117161048a565b61117b919061188d565b61118483610555565b11156111c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bc90611a50565b60405180910390fd5b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361121e57806002600082825461121291906118f2565b925050819055506112f1565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156112aa578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016112a1939291906117b6565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361133a5780600260008282540392505081905550611387565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113e491906115ee565b60405180910390a3505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611421826113f6565b9050919050565b61143181611416565b811461143c57600080fd5b50565b60008135905061144e81611428565b92915050565b60006020828403121561146a576114696113f1565b5b60006114788482850161143f565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114bb5780820151818401526020810190506114a0565b60008484015250505050565b6000601f19601f8301169050919050565b60006114e382611481565b6114ed818561148c565b93506114fd81856020860161149d565b611506816114c7565b840191505092915050565b6000602082019050818103600083015261152b81846114d8565b905092915050565b6000819050919050565b61154681611533565b811461155157600080fd5b50565b6000813590506115638161153d565b92915050565b600080604083850312156115805761157f6113f1565b5b600061158e8582860161143f565b925050602061159f85828601611554565b9150509250929050565b60008115159050919050565b6115be816115a9565b82525050565b60006020820190506115d960008301846115b5565b92915050565b6115e881611533565b82525050565b600060208201905061160360008301846115df565b92915050565b600080600060608486031215611622576116216113f1565b5b60006116308682870161143f565b93505060206116418682870161143f565b925050604061165286828701611554565b9150509250925092565b600060ff82169050919050565b6116728161165c565b82525050565b600060208201905061168d6000830184611669565b92915050565b61169c816115a9565b81146116a757600080fd5b50565b6000813590506116b981611693565b92915050565b6000602082840312156116d5576116d46113f1565b5b60006116e3848285016116aa565b91505092915050565b6116f581611416565b82525050565b600060208201905061171060008301846116ec565b92915050565b6000806040838503121561172d5761172c6113f1565b5b600061173b8582860161143f565b925050602061174c8582860161143f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061179d57607f821691505b6020821081036117b0576117af611756565b5b50919050565b60006060820190506117cb60008301866116ec565b6117d860208301856115df565b6117e560408301846115df565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061182782611533565b915061183283611533565b925082820261184081611533565b91508282048414831517611857576118566117ed565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061189882611533565b91506118a383611533565b9250826118b3576118b261185e565b5b828204905092915050565b60006118c982611533565b91506118d483611533565b92508282039050818111156118ec576118eb6117ed565b5b92915050565b60006118fd82611533565b915061190883611533565b92508282019050808211156119205761191f6117ed565b5b92915050565b7f50617469656e6365202d2054726164696e67204e6f742053746172746564205960008201527f6574210000000000000000000000000000000000000000000000000000000000602082015250565b600061198260238361148c565b915061198d82611926565b604082019050919050565b600060208201905081810360008301526119b181611975565b9050919050565b7f4a7573742067657474696e67207761726d65642075702c206c696d6974206f6660008201527f203125206f662059756761207065722077616c6c657420756e74696c206c756260208201527f7269636174696f6e20697320636f6d706c657465210000000000000000000000604082015250565b6000611a3a60558361148c565b9150611a45826119b8565b606082019050919050565b60006020820190508181036000830152611a6981611a2d565b905091905056fea2646970667358221220e5671f0f480727e8f7cebcbaeca005c15e3164a4ab026f0b8672245489e1a41364736f6c63430008140033