POL Price: $0.09102 (+0.58%)
 

Overview

POL Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 POL

POL Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To

There are no matching entries

Please try again later

Parent Transaction Hash Block From To
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading
Source Code Verified Exact Match

Contract Name

SpeedMarketsAMMResolver

Compiler Version
v0.8.16+commit.07a7930e
Optimization Enabled
Yes with 100 runs
Other Settings
default evmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[],"name":"CanNotResolve","type":"error"},{"inputs":[],"name":"CollateralNotSupported","type":"error"},{"inputs":[],"name":"EtherTransferFailed","type":"error"},{"inputs":[],"name":"InvalidOffRampCollateral","type":"error"},{"inputs":[],"name":"InvalidPrice","type":"error"},{"inputs":[],"name":"InvalidPriceFeedId","type":"error"},{"inputs":[],"name":"InvalidPriceTime","type":"error"},{"inputs":[],"name":"InvalidWhitelistAddress","type":"error"},{"inputs":[],"name":"MismatchedLengths","type":"error"},{"inputs":[],"name":"MulticollateralOnrampDisabled","type":"error"},{"inputs":[],"name":"OnlyMarketOwner","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_destination","type":"address"},{"indexed":false,"internalType":"address","name":"_collateral","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"AmountTransfered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_chainedSpeedMarketsAMM","type":"address"}],"name":"ChainedSpeedMarketsAMMSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SetMulticollateralApproval","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addressManager","outputs":[{"internalType":"contract IAddressManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"chainedSpeedMarketsAMM","outputs":[{"internalType":"contract IChainedSpeedMarketsAMM","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initNonReentrant","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_speedMarketsAMM","type":"address"},{"internalType":"address","name":"_addressManager","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"bytes[][]","name":"priceUpdateData","type":"bytes[][]"}],"name":"resolveChainedMarket","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"int64[]","name":"_finalPrices","type":"int64[]"}],"name":"resolveChainedMarketManually","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"markets","type":"address[]"},{"internalType":"int64[][]","name":"finalPrices","type":"int64[][]"}],"name":"resolveChainedMarketManuallyBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"bytes[][]","name":"priceUpdateData","type":"bytes[][]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"bool","name":"toEth","type":"bool"}],"name":"resolveChainedMarketWithOfframp","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"markets","type":"address[]"},{"internalType":"bytes[][][]","name":"priceUpdateData","type":"bytes[][][]"}],"name":"resolveChainedMarketsBatch","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"markets","type":"address[]"},{"internalType":"bytes[][][]","name":"priceUpdateData","type":"bytes[][][]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"bool","name":"toEth","type":"bool"}],"name":"resolveChainedMarketsBatchOffRamp","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"bytes[]","name":"priceUpdateData","type":"bytes[]"}],"name":"resolveMarket","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"int64","name":"_finalPrice","type":"int64"}],"name":"resolveMarketManually","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"markets","type":"address[]"},{"internalType":"int64[]","name":"finalPrices","type":"int64[]"}],"name":"resolveMarketManuallyBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"bytes[]","name":"priceUpdateData","type":"bytes[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"bool","name":"toEth","type":"bool"}],"name":"resolveMarketWithOfframp","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"markets","type":"address[]"},{"internalType":"bytes[]","name":"priceUpdateData","type":"bytes[]"}],"name":"resolveMarketsBatch","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"markets","type":"address[]"},{"internalType":"bytes[]","name":"priceUpdateData","type":"bytes[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"bool","name":"toEth","type":"bool"}],"name":"resolveMarketsBatchOffRamp","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_chainedSpeedMarketsAMM","type":"address"}],"name":"setChainedSpeedMarketsAMM","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setupMultiCollateralApproval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"speedMarketsAMM","outputs":[{"internalType":"contract ISpeedMarketsAMM","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_destination","type":"address"},{"internalType":"address","name":"_collateral","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"proxyAddress","type":"address"}],"name":"transferOwnershipAtInit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
608060405234801561001057600080fd5b5061593d80620000216000396000f3fe6080604052600436106101855760003560e01c806379ba5097116100d7578063c0c53b8b11610085578063c0c53b8b14610409578063c3b83f5f14610429578063c6d9b3ff14610449578063d3f6aa401461045c578063d9a10e941461047c578063da6b532f1461049c578063dc17ea5b146104af578063ebc79772146104cf57600080fd5b806379ba5097146103445780638da5cb5b1461035957806391b4ded91461037f57806391befc19146103a357806396c43be8146103b6578063a3a2adf0146103d6578063a8da1a17146103e957600080fd5b80633713e870116101345780633713e870146102595780633ab76e9f146102795780634832ea01146102b45780634fcc4d27146102c757806353a47bb7146102e75780635c975abb146103075780636043bf931461033157600080fd5b8062df071f1461019157806301f47471146101a657806313af4035146101c65780631627540c146101e657806316c38b3c1461020657806317b94eac146102265780632c43dc831461023957600080fd5b3661018c57005b600080fd5b6101a461019f36600461499e565b6104e4565b005b3480156101b257600080fd5b506101a46101c1366004614a32565b6106fd565b3480156101d257600080fd5b506101a46101e1366004614a73565b610769565b3480156101f257600080fd5b506101a4610201366004614a73565b610887565b34801561021257600080fd5b506101a4610221366004614a90565b6108da565b6101a4610234366004614aad565b61094c565b34801561024557600080fd5b506101a4610254366004614b01565b6109c4565b34801561026557600080fd5b506101a4610274366004614aad565b610b46565b34801561028557600080fd5b5060055461029e9061010090046001600160a01b031681565b6040516102ab9190614b6c565b60405180910390f35b6101a46102c236600461499e565b610be3565b3480156102d357600080fd5b506101a46102e2366004614b01565b610e43565b3480156102f357600080fd5b5060015461029e906001600160a01b031681565b34801561031357600080fd5b506003546103219060ff1681565b60405190151581526020016102ab565b6101a461033f366004614b80565b610fba565b34801561035057600080fd5b506101a46110c2565b34801561036557600080fd5b5060005461029e906201000090046001600160a01b031681565b34801561038b57600080fd5b5061039560025481565b6040519081526020016102ab565b6101a46103b1366004614b01565b6111ad565b3480156103c257600080fd5b506101a46103d1366004614a73565b611325565b6101a46103e4366004614b01565b611377565b3480156103f557600080fd5b506101a4610404366004614c0b565b611541565b34801561041557600080fd5b506101a4610424366004614c44565b6115dc565b34801561043557600080fd5b506101a4610444366004614a73565b6119e3565b6101a4610457366004614aad565b611ae6565b34801561046857600080fd5b506101a4610477366004614c8f565b611b32565b34801561048857600080fd5b5060065461029e906001600160a01b031681565b6101a46104aa366004614b80565b611dcc565b3480156104bb57600080fd5b5060075461029e906001600160a01b031681565b3480156104db57600080fd5b506101a4611eb3565b6001600460008282546104f79190614cbe565b909155505060045460035460ff161561052b5760405162461bcd60e51b815260040161052290614cd7565b60405180910390fd5b600760009054906101000a90046001600160a01b03166001600160a01b03166399c18e7e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a29190614d34565b6105bf5760405163355da01160e11b815260040160405180910390fd5b60005b868110156106d2576007546001600160a01b03166314527f3a8989848181106105ed576105ed614d51565b90506020020160208101906106029190614a73565b6040518263ffffffff1660e01b815260040161061e9190614b6c565b602060405180830381865afa15801561063b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065f9190614d34565b156106c2576106c288888381811061067957610679614d51565b905060200201602081019061068e9190614a73565b8787848181106106a0576106a0614d51565b90506020028101906106b29190614d67565b6106bb91614f3f565b8686611f11565b6106cb81614fc6565b90506105c2565b5060045481146106f45760405162461bcd60e51b815260040161052290614fdf565b50505050505050565b6107056124cd565b6107196001600160a01b0383168483612547565b604080516001600160a01b038085168252851660208201529081018290527f3dfef6507ded35b9ec518bb3532736bd85a598bdcb440fdd2289ce92a771e7979060600160405180910390a1505050565b6001600160a01b0381166107bb5760405162461bcd60e51b815260206004820152601960248201527804f776e657220616464726573732063616e6e6f74206265203603c1b6044820152606401610522565b600154600160a01b900460ff16156108275760405162461bcd60e51b815260206004820152602960248201527f416c726561647920696e697469616c697a65642c20757365206e6f6d696e617460448201526832a732bba7bbb732b960b91b6064820152608401610522565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b038316620100000262010000600160b01b03199091161781556040516000805160206158e88339815191529161087c918490615016565b60405180910390a150565b61088f6124cd565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061087c908390614b6c565b6108e26124cd565b60035460ff16151581151514610949576003805460ff191682151590811790915560ff161561091057426002555b60035460405160ff909116151581527f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59060200161087c565b50565b60016004600082825461095f9190614cbe565b909155505060045460035460ff161561098a5760405162461bcd60e51b815260040161052290614cd7565b61099d846109988486615030565b61259d565b60045481146109be5760405162461bcd60e51b815260040161052290614fdf565b50505050565b60065460405162d9267b60e31b81526001600160a01b03909116906306c933d8906109f3903390600401614b6c565b602060405180830381865afa158015610a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a349190614d34565b610a5157604051634d553d1960e01b815260040160405180910390fd5b8260005b81811015610b3e576000868683818110610a7157610a71614d51565b9050602002016020810190610a869190614a73565b600654604051630a293f9d60e11b81529192506001600160a01b0316906314527f3a90610ab7908490600401614b6c565b602060405180830381865afa158015610ad4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af89190614d34565b15610b2d57610b2d81868685818110610b1357610b13614d51565b9050602002016020810190610b28919061503d565b612a50565b50610b3781614fc6565b9050610a55565b505050505050565b60065460405162d9267b60e31b81526001600160a01b03909116906306c933d890610b75903390600401614b6c565b602060405180830381865afa158015610b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb69190614d34565b610bd357604051634d553d1960e01b815260040160405180910390fd5b610bde838383612ea3565b505050565b600160046000828254610bf69190614cbe565b909155505060045460035460ff1615610c215760405162461bcd60e51b815260040161052290614cd7565b600660009054906101000a90046001600160a01b03166001600160a01b03166399c18e7e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c989190614d34565b610cb55760405163355da01160e11b815260040160405180910390fd5b60005b868110156106d2576006546001600160a01b03166314527f3a898984818110610ce357610ce3614d51565b9050602002016020810190610cf89190614a73565b6040518263ffffffff1660e01b8152600401610d149190614b6c565b602060405180830381865afa158015610d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d559190614d34565b15610e3357604080516001808252818301909252600091816020015b6060815260200190600190039081610d71579050509050868683818110610d9a57610d9a614d51565b9050602002810190610dac919061505a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250855186945090925015159050610df457610df4614d51565b6020026020010181905250610e31898984818110610e1457610e14614d51565b9050602002016020810190610e299190614a73565b828787613401565b505b610e3c81614fc6565b9050610cb8565b60065460405162d9267b60e31b81526001600160a01b03909116906306c933d890610e72903390600401614b6c565b602060405180830381865afa158015610e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb39190614d34565b610ed057604051634d553d1960e01b815260040160405180910390fd5b8260005b81811015610b3e576000868683818110610ef057610ef0614d51565b9050602002016020810190610f059190614a73565b600754604051630a293f9d60e11b81529192506001600160a01b0316906314527f3a90610f36908490600401614b6c565b602060405180830381865afa158015610f53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f779190614d34565b15610fa957610fa981868685818110610f9257610f92614d51565b9050602002810190610fa49190614d67565b612ea3565b50610fb381614fc6565b9050610ed4565b600160046000828254610fcd9190614cbe565b909155505060045460035460ff1615610ff85760405162461bcd60e51b815260040161052290614cd7565b600760009054906101000a90046001600160a01b03166001600160a01b03166399c18e7e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106f9190614d34565b61108c5760405163355da01160e11b815260040160405180910390fd5b6110a18661109a8688614f3f565b8585611f11565b6004548114610b3e5760405162461bcd60e51b815260040161052290614fdf565b6001546001600160a01b0316331461113a5760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b6064820152608401610522565b6000546001546040516000805160206158e883398151915292611171926001600160a01b0362010000909204821692911690615016565b60405180910390a1600180546000805462010000600160b01b0319166001600160a01b03831662010000021790556001600160a01b0319169055565b6001600460008282546111c09190614cbe565b909155505060045460035460ff16156111eb5760405162461bcd60e51b815260040161052290614cd7565b60005b848110156112fc576007546001600160a01b03166314527f3a87878481811061121957611219614d51565b905060200201602081019061122e9190614a73565b6040518263ffffffff1660e01b815260040161124a9190614b6c565b602060405180830381865afa158015611267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128b9190614d34565b156112ec576112ec8686838181106112a5576112a5614d51565b90506020020160208101906112ba9190614a73565b8585848181106112cc576112cc614d51565b90506020028101906112de9190614d67565b6112e791614f3f565b6137a7565b6112f581614fc6565b90506111ee565b50600454811461131e5760405162461bcd60e51b815260040161052290614fdf565b5050505050565b61132d6124cd565b600780546001600160a01b0319166001600160a01b0383169081179091556040517f5d9de7aede86bb8f066e68761179e1a100795879b5ae7a37ef2f31c007f063b990600090a250565b60016004600082825461138a9190614cbe565b909155505060045460035460ff16156113b55760405162461bcd60e51b815260040161052290614cd7565b60005b848110156112fc576006546001600160a01b03166314527f3a8787848181106113e3576113e3614d51565b90506020020160208101906113f89190614a73565b6040518263ffffffff1660e01b81526004016114149190614b6c565b602060405180830381865afa158015611431573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114559190614d34565b1561153157604080516001808252818301909252600091816020015b606081526020019060019003908161147157905050905084848381811061149a5761149a614d51565b90506020028101906114ac919061505a565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508551869450909250151590506114f4576114f4614d51565b602002602001018190525061152f87878481811061151457611514614d51565b90506020020160208101906115299190614a73565b8261259d565b505b61153a81614fc6565b90506113b8565b60065460405162d9267b60e31b81526001600160a01b03909116906306c933d890611570903390600401614b6c565b602060405180830381865afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190614d34565b6115ce57604051634d553d1960e01b815260040160405180910390fd5b6115d88282612a50565b5050565b600054610100900460ff166115f75760005460ff16156115fb565b303b155b61165e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610522565b600054610100900460ff16158015611680576000805461ffff19166101011790555b61168984610769565b600680546001600160a01b0319166001600160a01b038581169190911790915560058054610100600160a81b0319166101008584168102919091179182905560405163bf40fac160e01b8152602060048201526016602482015275436861696e656453706565644d61726b657473414d4d60501b604482015291049091169063bf40fac190606401602060405180830381865afa15801561172e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175291906150a0565b600780546001600160a01b0319166001600160a01b0392831617905560055460408051639a618c0f60e01b8152905160009361010090930490921691639a618c0f916004808201926020929091908290030181865afa1580156117b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117dd91906150a0565b90506001600160a01b038116156119c357600660009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611841573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186591906150a0565b6001600160a01b031663095ea7b3826000196040518363ffffffff1660e01b81526004016118949291906150bd565b6020604051808303816000875af11580156118b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d79190614d34565b50600760009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561192b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194f91906150a0565b6001600160a01b031663095ea7b3826000196040518363ffffffff1660e01b815260040161197e9291906150bd565b6020604051808303816000875af115801561199d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c19190614d34565b505b6119cb611eb3565b5080156109be576000805461ff001916905550505050565b6119eb6124cd565b6001600160a01b038116611a335760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610522565b600154600160a81b900460ff1615611a835760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481d1c985b9cd9995c9c9959606a1b6044820152606401610522565b600080546001600160a01b038084166201000090810262010000600160b01b031990931692909217928390556001805460ff60a81b1916600160a81b1790556040516000805160206158e88339815191529361087c939004909116908490615016565b600160046000828254611af99190614cbe565b909155505060045460035460ff1615611b245760405162461bcd60e51b815260040161052290614cd7565b61099d846112e78486614f3f565b611b3a6124cd565b6000600560019054906101000a90046001600160a01b03166001600160a01b0316639a618c0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb391906150a0565b90506001600160a01b03811615611d9557600660009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3b91906150a0565b6001600160a01b031663095ea7b382846040518363ffffffff1660e01b8152600401611c689291906150bd565b6020604051808303816000875af1158015611c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cab9190614d34565b50600760009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2391906150a0565b6001600160a01b031663095ea7b382846040518363ffffffff1660e01b8152600401611d509291906150bd565b6020604051808303816000875af1158015611d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d939190614d34565b505b6040518281527fd00a8c07b9962c31dae343ff6cb70fd3af214b2f7013afa7258ec5a939fb71109060200160405180910390a15050565b600160046000828254611ddf9190614cbe565b909155505060045460035460ff1615611e0a5760405162461bcd60e51b815260040161052290614cd7565b600660009054906101000a90046001600160a01b03166001600160a01b03166399c18e7e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e819190614d34565b611e9e5760405163355da01160e11b815260040160405180910390fd5b6110a186611eac8688615030565b8585613401565b60055460ff1615611efc5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610522565b6005805460ff19166001908117909155600455565b6000846001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7591906150a0565b9050336001600160a01b03821614611fa05760405163bd03358160e01b815260040160405180910390fd5b6000856001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fe0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200491906150a0565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa158015612059573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061207d91906150a0565b6001600160a01b0316816001600160a01b0316146120ae576040516311c77c3560e21b815260040160405180910390fd5b60075460408051639324cac760e01b815290516000926001600160a01b031691639324cac79160048083019260209291908290030181865afa1580156120f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211c91906150a0565b6001600160a01b03166370a08231846040518263ffffffff1660e01b81526004016121479190614b6c565b602060405180830381865afa158015612164573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218891906150d6565b905061219487876137a7565b600081600760009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220e91906150a0565b6001600160a01b03166370a08231866040518263ffffffff1660e01b81526004016122399190614b6c565b602060405180830381865afa158015612256573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227a91906150d6565b61228491906150ef565b600754604051636dcf6def60e01b81529192506001600160a01b031690636dcf6def906122b790879085906004016150bd565b600060405180830381600087803b1580156122d157600080fd5b505af11580156122e5573d6000803e3d6000fd5b5050505060008111156124c3576000600560019054906101000a90046001600160a01b03166001600160a01b0316639a618c0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061236b91906150a0565b905085156124355760405163b45e98d960e01b8152600481018390526000906001600160a01b0383169063b45e98d9906024016020604051808303816000875af11580156123bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e191906150d6565b60405190915086906000906001600160a01b0383169084156108fc0290859084818181858888f1935050505090508061242d57604051630ce8f45160e31b815260040160405180910390fd5b5050506124c1565b604051630992646d60e31b81526000906001600160a01b03831690634c93236890612466908b9087906004016150bd565b6020604051808303816000875af1158015612485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a991906150d6565b90506124bf6001600160a01b0389168783612547565b505b505b5050505050505050565b6000546201000090046001600160a01b031633146125455760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610522565b565b610bde8363a9059cbb60e01b84846040516024016125669291906150bd565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613cf4565b600654604051630a293f9d60e11b81526001600160a01b03909116906314527f3a906125cd908590600401614b6c565b602060405180830381865afa1580156125ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260e9190614d34565b61262b576040516309f4985b60e21b815260040160405180910390fd5b60008290506000816001600160a01b031663a2cdf76d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561268c575060408051601f3d908101601f191682019092526126899181019061510f565b60015b6126985750600061269b565b90505b600061276b836001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270291906150d6565b846001600160a01b03166351d8044f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127649190615148565b8487613dc6565b905060008160070b136127905760405162bfc92160e01b815260040160405180910390fd5b60065460405163b0308e0760e01b81526001600160a01b038781166004830152600784900b60248301529091169063b0308e0790604401600060405180830381600087803b1580156127e157600080fd5b505af11580156127f5573d6000803e3d6000fd5b5050505061131e85846001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561283b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061285f91906150a0565b856001600160a01b03166363bd1d4a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561289d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c191906150d6565b866001600160a01b0316631fcc8bb26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061292391906150d6565b876001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa158015612961573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298591906150a0565b886001600160a01b031663d69fb6686040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129e791906150d6565b896001600160a01b031663704ce43e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a4991906150d6565b60006141da565b60008290506000816001600160a01b031663645539ed6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab9919061510f565b90506000826001600160a01b031663c52987cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b1f9190615163565b905060008160070b8560070b128015612b4957506001836001811115612b4757612b47615180565b145b80612b7557508160070b8560070b138015612b7557506000836001811115612b7357612b73615180565b145b600654604051630a293f9d60e11b81529192506001600160a01b0316906314527f3a90612ba6908990600401614b6c565b602060405180830381865afa158015612bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612be79190614d34565b1580612bf05750805b15612c0e576040516309f4985b60e21b815260040160405180910390fd5b60065460405163b0308e0760e01b81526001600160a01b038881166004830152600788900b60248301529091169063b0308e0790604401600060405180830381600087803b158015612c5f57600080fd5b505af1158015612c73573d6000803e3d6000fd5b50505050610b3e86856001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cdd91906150a0565b866001600160a01b03166363bd1d4a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d3f91906150d6565b876001600160a01b0316631fcc8bb26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da191906150d6565b886001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e0391906150a0565b896001600160a01b031663d69fb6686040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e6591906150d6565b8a6001600160a01b031663704ce43e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a25573d6000803e3d6000fd5b60008390506000816001600160a01b031663855d68cb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0c9190615163565b90506000826001600160a01b031663e004b5bf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f729190615196565b60ff166001600160401b03811115612f8c57612f8c614db0565b604051908082528060200260200182016040528015612fb5578160200160208202803683370190505b50905060005b848110156133e757604051635f51b5c760e01b8152600481018290526001600160a01b03851690635f51b5c790602401602060405180830381865afa158015613008573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061302c919061510f565b82828151811061303e5761303e614d51565b6020026020010190600181111561305757613057615180565b9081600181111561306a5761306a615180565b8152505060008360070b87878481811061308657613086614d51565b905060200201602081019061309b919061503d565b60070b121580156130d6575060018383815181106130bb576130bb614d51565b602002602001015160018111156130d4576130d4615180565b145b8061314257508360070b8787848181106130f2576130f2614d51565b9050602002016020810190613107919061503d565b60070b131580156131425750600083838151811061312757613127614d51565b6020026020010151600181111561314057613140615180565b145b905080156133aa57600754604051632236aa6560e01b81526001600160a01b0390911690632236aa6590613181908b908b908b906001906004016151b9565b600060405180830381600087803b15801561319b57600080fd5b505af11580156131af573d6000803e3d6000fd5b505050506124c388866001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321991906150a0565b876001600160a01b03166363bd1d4a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061327b91906150d6565b886001600160a01b0316631fcc8bb26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132dd91906150d6565b896001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f91906150a0565b8a6001600160a01b031663d69fb6686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561337d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133a191906150d6565b600060016141da565b8686838181106133bc576133bc614d51565b90506020020160208101906133d1919061503d565b93505080806133df90614fc6565b915050612fbb565b506040516309f4985b60e21b815260040160405180910390fd5b6000846001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613441573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061346591906150a0565b9050336001600160a01b038216146134905760405163bd03358160e01b815260040160405180910390fd5b6000856001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f491906150a0565b9050600660009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061356d91906150a0565b6001600160a01b0316816001600160a01b03161461359e576040516311c77c3560e21b815260040160405180910390fd5b60065460408051639324cac760e01b815290516000926001600160a01b031691639324cac79160048083019260209291908290030181865afa1580156135e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061360c91906150a0565b6001600160a01b03166370a08231846040518263ffffffff1660e01b81526004016136379190614b6c565b602060405180830381865afa158015613654573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367891906150d6565b9050613684878761259d565b600081600660009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156136da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136fe91906150a0565b6001600160a01b03166370a08231866040518263ffffffff1660e01b81526004016137299190614b6c565b602060405180830381865afa158015613746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061376a91906150d6565b61377491906150ef565b600654604051636dcf6def60e01b81529192506001600160a01b031690636dcf6def906122b790879085906004016150bd565b600754604051630a293f9d60e11b81526001600160a01b03909116906314527f3a906137d7908590600401614b6c565b602060405180830381865afa1580156137f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138189190614d34565b613835576040516309f4985b60e21b815260040160405180910390fd5b60008290506000816001600160a01b031663a2cdf76d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613896575060408051601f3d908101601f191682019092526138939181019061510f565b60015b6138a2575060006138a5565b90505b600083516001600160401b038111156138c0576138c0614db0565b6040519080825280602002602001820160405280156138e9578160200160208202803683370190505b5090506000805b8551811015613ac257846001600160a01b0316638b13b64b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613937573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061395b9190615148565b61396e906001600160401b031682615220565b856001600160a01b03166320c1bb466040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139d09190615148565b6139da919061523f565b91506000613a64866001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a4391906150d6565b84878a8681518110613a5757613a57614d51565b6020026020010151613dc6565b905060008160070b13613a895760405162bfc92160e01b815260040160405180910390fd5b80848381518110613a9c57613a9c614d51565b602002602001019060070b908160070b815250505080613abb90614fc6565b90506138f0565b50600754604051632236aa6560e01b81526001600160a01b0390911690632236aa6590613af89089908690600090600401615266565b600060405180830381600087803b158015613b1257600080fd5b505af1158015613b26573d6000803e3d6000fd5b50505050610b3e86856001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b9091906150a0565b866001600160a01b03166363bd1d4a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613bce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bf291906150d6565b876001600160a01b0316631fcc8bb26040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c5491906150d6565b886001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cb691906150a0565b896001600160a01b031663d69fb6686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561337d573d6000803e3d6000fd5b6000613d49826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166143bc9092919063ffffffff16565b805190915015610bde5780806020019051810190613d679190614d34565b610bde5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610522565b600080600660009054906101000a90046001600160a01b03166001600160a01b031663cf898ca96040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e409190615148565b90506001846001811115613e5657613e56615180565b03613f90576000613e8084600081518110613e7357613e73614d51565b60200260200101516143d5565b600654604051631237795960e21b8152600481018a90529192506000916001600160a01b03909116906348dde56490602401602060405180830381865afa158015613ecf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ef391906150d6565b82519091508114613f175760405163c7eab9b560e01b815260040160405180910390fd5b604082015163ffffffff166001600160401b038816811080613f535750613f3e848961523f565b6001600160401b0316816001600160401b0316115b15613f71576040516331800fe960e21b815260040160405180910390fd5b6402540be4008360c00151613f8691906152e0565b94505050506141d1565b6000600560019054906101000a90046001600160a01b03166001600160a01b031663f98d06f06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fe5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061400991906150a0565b6040805160018082528183019092529192506000919060208083019080368337019050506006546040516317a8f53760e31b8152600481018b90529192506001600160a01b03169063bd47a9b890602401602060405180830381865afa158015614077573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061409b91906150d6565b816000815181106140ae576140ae614d51565b602090810291909101015260405163d47eed4560e01b81526000906001600160a01b03841690634716e9c590829063d47eed45906140f0908b906004016153c3565b602060405180830381865afa15801561410d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061413191906150d6565b88858c61413e8a8261523f565b6040518663ffffffff1660e01b815260040161415d94939291906153d6565b60006040518083038185885af115801561417b573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526141a491908101906154cd565b90506000816000815181106141bb576141bb614d51565b6020908102919091018101510151519550505050505b50949350505050565b60055460405163bf40fac160e01b815260206004820152600e60248201526d233932b2a132ba39a437b63232b960911b604482015260009161010090046001600160a01b03169063bf40fac190606401602060405180830381865afa158015614247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061426b91906150a0565b9050806001600160a01b0316886001600160a01b03161461428c57506124c3565b60065460405163a2f6532160e01b815287916001600160a01b03169063a2f65321906142bc908990600401614b6c565b602060405180830381865afa1580156142d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142fd9190614d34565b1561433757670de0b6b3a7640000846143168783614cbe565b6143209190614cbe565b61432a9089615220565b614334919061559b565b90505b60405163031a4b0d60e11b81526001600160a01b038b81166004830152602482018a90526044820183905287811660648301528415156084830152831690630634961a9060a401600060405180830381600087803b15801561439857600080fd5b505af11580156143ac573d6000803e3d6000fd5b5050505050505050505050505050565b60606143cb84846000856147cf565b90505b9392505050565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915260055460405163bf40fac160e01b815260206004820152601160248201527021b430b4b73634b735ab32b934b334b2b960791b604482015260009161010090046001600160a01b03169063bf40fac190606401602060405180830381865afa15801561448e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144b291906150a0565b90506000816001600160a01b03166338416b5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156144f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061451891906150a0565b905060606001600160a01b03821615614726576000826001600160a01b031663638786686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561456b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061458f91906150a0565b90506000868060200190518101906145a791906155fc565b9150506000846001600160a01b031663e03dab1a3084866040518463ffffffff1660e01b81526004016145dc9392919061569d565b60a0604051808303816000875af11580156145fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061461f919061572c565b50506020810151909150156146fc57826001600160a01b031663d0e30db082602001516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561466d57600080fd5b505af1158015614681573d6000803e3d6000fd5b505050602083015160405163095ea7b360e01b81526001600160a01b038716935063095ea7b392506146b79189916004016150bd565b6020604051808303816000875af11580156146d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146fa9190614d34565b505b8260405160200161470d9190614b6c565b6040516020818303038152906040529350505050614737565b506040805160208101909152600081525b604051637bf41d7760e11b81526000906001600160a01b0385169063f7e83aee90614768908990869060040161576a565b6000604051808303816000875af1158015614787573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526147af9190810190615798565b9050808060200190518101906147c59190615809565b9695505050505050565b6060824710156148305760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610522565b843b61487e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610522565b600080866001600160a01b0316858760405161489a91906158b8565b60006040518083038185875af1925050503d80600081146148d7576040519150601f19603f3d011682016040523d82523d6000602084013e6148dc565b606091505b50915091506148ec8282866148f7565b979650505050505050565b606083156149065750816143ce565b8251156149165782518084602001fd5b8160405162461bcd60e51b815260040161052291906158d4565b60008083601f84011261494257600080fd5b5081356001600160401b0381111561495957600080fd5b6020830191508360208260051b850101111561497457600080fd5b9250929050565b6001600160a01b038116811461094957600080fd5b801515811461094957600080fd5b600080600080600080608087890312156149b757600080fd5b86356001600160401b03808211156149ce57600080fd5b6149da8a838b01614930565b909850965060208901359150808211156149f357600080fd5b50614a0089828a01614930565b9095509350506040870135614a148161497b565b91506060870135614a2481614990565b809150509295509295509295565b600080600060608486031215614a4757600080fd5b8335614a528161497b565b92506020840135614a628161497b565b929592945050506040919091013590565b600060208284031215614a8557600080fd5b81356143ce8161497b565b600060208284031215614aa257600080fd5b81356143ce81614990565b600080600060408486031215614ac257600080fd5b8335614acd8161497b565b925060208401356001600160401b03811115614ae857600080fd5b614af486828701614930565b9497909650939450505050565b60008060008060408587031215614b1757600080fd5b84356001600160401b0380821115614b2e57600080fd5b614b3a88838901614930565b90965094506020870135915080821115614b5357600080fd5b50614b6087828801614930565b95989497509550505050565b6001600160a01b0391909116815260200190565b600080600080600060808688031215614b9857600080fd5b8535614ba38161497b565b945060208601356001600160401b03811115614bbe57600080fd5b614bca88828901614930565b9095509350506040860135614bde8161497b565b91506060860135614bee81614990565b809150509295509295909350565b8060070b811461094957600080fd5b60008060408385031215614c1e57600080fd5b8235614c298161497b565b91506020830135614c3981614bfc565b809150509250929050565b600080600060608486031215614c5957600080fd5b8335614c648161497b565b92506020840135614c748161497b565b91506040840135614c848161497b565b809150509250925092565b600060208284031215614ca157600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115614cd157614cd1614ca8565b92915050565b6020808252603c908201527f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642060408201527f7768696c652074686520636f6e74726163742069732070617573656400000000606082015260800190565b600060208284031215614d4657600080fd5b81516143ce81614990565b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112614d7e57600080fd5b8301803591506001600160401b03821115614d9857600080fd5b6020019150600581901b360382131561497457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715614de857614de8614db0565b60405290565b60405161012081016001600160401b0381118282101715614de857614de8614db0565b604051601f8201601f191681016001600160401b0381118282101715614e3957614e39614db0565b604052919050565b60006001600160401b03821115614e5a57614e5a614db0565b5060051b60200190565b60006001600160401b03821115614e7d57614e7d614db0565b50601f01601f191660200190565b6000614e9e614e9984614e41565b614e11565b8381529050602080820190600585901b840186811115614ebd57600080fd5b845b81811015614f345780356001600160401b03811115614ede5760008081fd5b8601601f81018913614ef05760008081fd5b8035614efe614e9982614e64565b8181528a86838501011115614f135760008081fd5b81868401878301376000918101860191909152855250928201928201614ebf565b505050509392505050565b6000614f4d614e9984614e41565b80848252602080830192508560051b850136811115614f6b57600080fd5b855b81811015614fba5780356001600160401b03811115614f8c5760008081fd5b870136601f820112614f9e5760008081fd5b614fac368235868401614e8b565b865250938201938201614f6d565b50919695505050505050565b600060018201614fd857614fd8614ca8565b5060010190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6001600160a01b0392831681529116602082015260400190565b60006143ce368484614e8b565b60006020828403121561504f57600080fd5b81356143ce81614bfc565b6000808335601e1984360301811261507157600080fd5b8301803591506001600160401b0382111561508b57600080fd5b60200191503681900382131561497457600080fd5b6000602082840312156150b257600080fd5b81516143ce8161497b565b6001600160a01b03929092168252602082015260400190565b6000602082840312156150e857600080fd5b5051919050565b81810381811115614cd157614cd1614ca8565b6002811061094957600080fd5b60006020828403121561512157600080fd5b81516143ce81615102565b80516001600160401b038116811461514357600080fd5b919050565b60006020828403121561515a57600080fd5b6143ce8261512c565b60006020828403121561517557600080fd5b81516143ce81614bfc565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156151a857600080fd5b815160ff811681146143ce57600080fd5b6001600160a01b038516815260606020808301829052908201849052600090859060808401835b878110156152085783356151f381614bfc565b60070b825292820192908201906001016151e0565b50809350505050821515604083015295945050505050565b600081600019048311821515161561523a5761523a614ca8565b500290565b6001600160401b0381811683821601908082111561525f5761525f614ca8565b5092915050565b6001600160a01b038416815260606020808301829052845191830182905260009185820191906080850190845b818110156152b257845160070b83529383019391830191600101615293565b50508093505050508215156040830152949350505050565b634e487b7160e01b600052601260045260246000fd5b60008160170b8360170b806152f7576152f76152ca565b6001600160bf1b031982146000198214161561531557615315614ca8565b90059392505050565b60005b83811015615339578181015183820152602001615321565b50506000910152565b6000815180845261535a81602086016020860161531e565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156153b65782840389526153a4848351615342565b9885019893509084019060010161538c565b5091979650505050505050565b6020815260006143ce602083018461536e565b6080815260006153e9608083018761536e565b82810360208481019190915286518083528782019282019060005b8181101561542057845183529383019391830191600101615404565b50506001600160401b039687166040860152949095166060909301929092525090949350505050565b60006080828403121561545b57600080fd5b604051608081018181106001600160401b038211171561547d5761547d614db0565b8060405250809150825161549081614bfc565b815261549e6020840161512c565b602082015260408301518060030b81146154b757600080fd5b6040820152606092830151920191909152919050565b600060208083850312156154e057600080fd5b82516001600160401b038111156154f657600080fd5b8301601f8101851361550757600080fd5b8051615515614e9982614e41565b818152610120918202830184019184820191908884111561553557600080fd5b938501935b8385101561558f5780858a0312156155525760008081fd5b61555a614dc6565b8551815261556a8a888801615449565b8782015261557b8a60a08801615449565b60408201528352938401939185019161553a565b50979650505050505050565b6000826155aa576155aa6152ca565b500490565b600082601f8301126155c057600080fd5b81516155ce614e9982614e64565b8181528460208386010111156155e357600080fd5b6155f482602083016020870161531e565b949350505050565b6000806080838503121561560f57600080fd5b83601f84011261561e57600080fd5b604051606081016001600160401b03828210818311171561564157615641614db0565b81604052829150606086018781111561565957600080fd5b865b8181101561567357805184526020938401930161565b565b50519294508083111561568557600080fd5b5050615693858286016155af565b9150509250929050565b600060018060a01b038086168352606060208401526156bf6060840186615342565b9150808416604084015250949350505050565b6000604082840312156156e457600080fd5b604051604081018181106001600160401b038211171561570657615706614db0565b806040525080915082516157198161497b565b8152602092830151920191909152919050565b600080600060a0848603121561574157600080fd5b61574b85856156d2565b925061575a85604086016156d2565b9150608084015190509250925092565b60408152600061577d6040830185615342565b828103602084015261578f8185615342565b95945050505050565b6000602082840312156157aa57600080fd5b81516001600160401b038111156157c057600080fd5b6155f4848285016155af565b805163ffffffff8116811461514357600080fd5b80516001600160c01b038116811461514357600080fd5b8051601781900b811461514357600080fd5b6000610120828403121561581c57600080fd5b615824614dee565b82518152615834602084016157cc565b6020820152615845604084016157cc565b6040820152615856606084016157e0565b6060820152615867608084016157e0565b608082015261587860a084016157cc565b60a082015261588960c084016157f7565b60c082015261589a60e084016157f7565b60e08201526101006158ad8185016157f7565b908201529392505050565b600082516158ca81846020870161531e565b9190910192915050565b6020815260006143ce602083018461534256feb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159ca2646970667358221220437af47a5277a27bda398b95d495ca1cba5c90f497a411951251a96a82120ec364736f6c63430008100033
Deployed Bytecode
0x6080604052600436106101855760003560e01c806379ba5097116100d7578063c0c53b8b11610085578063c0c53b8b14610409578063c3b83f5f14610429578063c6d9b3ff14610449578063d3f6aa401461045c578063d9a10e941461047c578063da6b532f1461049c578063dc17ea5b146104af578063ebc79772146104cf57600080fd5b806379ba5097146103445780638da5cb5b1461035957806391b4ded91461037f57806391befc19146103a357806396c43be8146103b6578063a3a2adf0146103d6578063a8da1a17146103e957600080fd5b80633713e870116101345780633713e870146102595780633ab76e9f146102795780634832ea01146102b45780634fcc4d27146102c757806353a47bb7146102e75780635c975abb146103075780636043bf931461033157600080fd5b8062df071f1461019157806301f47471146101a657806313af4035146101c65780631627540c146101e657806316c38b3c1461020657806317b94eac146102265780632c43dc831461023957600080fd5b3661018c57005b600080fd5b6101a461019f36600461499e565b6104e4565b005b3480156101b257600080fd5b506101a46101c1366004614a32565b6106fd565b3480156101d257600080fd5b506101a46101e1366004614a73565b610769565b3480156101f257600080fd5b506101a4610201366004614a73565b610887565b34801561021257600080fd5b506101a4610221366004614a90565b6108da565b6101a4610234366004614aad565b61094c565b34801561024557600080fd5b506101a4610254366004614b01565b6109c4565b34801561026557600080fd5b506101a4610274366004614aad565b610b46565b34801561028557600080fd5b5060055461029e9061010090046001600160a01b031681565b6040516102ab9190614b6c565b60405180910390f35b6101a46102c236600461499e565b610be3565b3480156102d357600080fd5b506101a46102e2366004614b01565b610e43565b3480156102f357600080fd5b5060015461029e906001600160a01b031681565b34801561031357600080fd5b506003546103219060ff1681565b60405190151581526020016102ab565b6101a461033f366004614b80565b610fba565b34801561035057600080fd5b506101a46110c2565b34801561036557600080fd5b5060005461029e906201000090046001600160a01b031681565b34801561038b57600080fd5b5061039560025481565b6040519081526020016102ab565b6101a46103b1366004614b01565b6111ad565b3480156103c257600080fd5b506101a46103d1366004614a73565b611325565b6101a46103e4366004614b01565b611377565b3480156103f557600080fd5b506101a4610404366004614c0b565b611541565b34801561041557600080fd5b506101a4610424366004614c44565b6115dc565b34801561043557600080fd5b506101a4610444366004614a73565b6119e3565b6101a4610457366004614aad565b611ae6565b34801561046857600080fd5b506101a4610477366004614c8f565b611b32565b34801561048857600080fd5b5060065461029e906001600160a01b031681565b6101a46104aa366004614b80565b611dcc565b3480156104bb57600080fd5b5060075461029e906001600160a01b031681565b3480156104db57600080fd5b506101a4611eb3565b6001600460008282546104f79190614cbe565b909155505060045460035460ff161561052b5760405162461bcd60e51b815260040161052290614cd7565b60405180910390fd5b600760009054906101000a90046001600160a01b03166001600160a01b03166399c18e7e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a29190614d34565b6105bf5760405163355da01160e11b815260040160405180910390fd5b60005b868110156106d2576007546001600160a01b03166314527f3a8989848181106105ed576105ed614d51565b90506020020160208101906106029190614a73565b6040518263ffffffff1660e01b815260040161061e9190614b6c565b602060405180830381865afa15801561063b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065f9190614d34565b156106c2576106c288888381811061067957610679614d51565b905060200201602081019061068e9190614a73565b8787848181106106a0576106a0614d51565b90506020028101906106b29190614d67565b6106bb91614f3f565b8686611f11565b6106cb81614fc6565b90506105c2565b5060045481146106f45760405162461bcd60e51b815260040161052290614fdf565b50505050505050565b6107056124cd565b6107196001600160a01b0383168483612547565b604080516001600160a01b038085168252851660208201529081018290527f3dfef6507ded35b9ec518bb3532736bd85a598bdcb440fdd2289ce92a771e7979060600160405180910390a1505050565b6001600160a01b0381166107bb5760405162461bcd60e51b815260206004820152601960248201527804f776e657220616464726573732063616e6e6f74206265203603c1b6044820152606401610522565b600154600160a01b900460ff16156108275760405162461bcd60e51b815260206004820152602960248201527f416c726561647920696e697469616c697a65642c20757365206e6f6d696e617460448201526832a732bba7bbb732b960b91b6064820152608401610522565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b038316620100000262010000600160b01b03199091161781556040516000805160206158e88339815191529161087c918490615016565b60405180910390a150565b61088f6124cd565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061087c908390614b6c565b6108e26124cd565b60035460ff16151581151514610949576003805460ff191682151590811790915560ff161561091057426002555b60035460405160ff909116151581527f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59060200161087c565b50565b60016004600082825461095f9190614cbe565b909155505060045460035460ff161561098a5760405162461bcd60e51b815260040161052290614cd7565b61099d846109988486615030565b61259d565b60045481146109be5760405162461bcd60e51b815260040161052290614fdf565b50505050565b60065460405162d9267b60e31b81526001600160a01b03909116906306c933d8906109f3903390600401614b6c565b602060405180830381865afa158015610a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a349190614d34565b610a5157604051634d553d1960e01b815260040160405180910390fd5b8260005b81811015610b3e576000868683818110610a7157610a71614d51565b9050602002016020810190610a869190614a73565b600654604051630a293f9d60e11b81529192506001600160a01b0316906314527f3a90610ab7908490600401614b6c565b602060405180830381865afa158015610ad4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af89190614d34565b15610b2d57610b2d81868685818110610b1357610b13614d51565b9050602002016020810190610b28919061503d565b612a50565b50610b3781614fc6565b9050610a55565b505050505050565b60065460405162d9267b60e31b81526001600160a01b03909116906306c933d890610b75903390600401614b6c565b602060405180830381865afa158015610b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb69190614d34565b610bd357604051634d553d1960e01b815260040160405180910390fd5b610bde838383612ea3565b505050565b600160046000828254610bf69190614cbe565b909155505060045460035460ff1615610c215760405162461bcd60e51b815260040161052290614cd7565b600660009054906101000a90046001600160a01b03166001600160a01b03166399c18e7e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c989190614d34565b610cb55760405163355da01160e11b815260040160405180910390fd5b60005b868110156106d2576006546001600160a01b03166314527f3a898984818110610ce357610ce3614d51565b9050602002016020810190610cf89190614a73565b6040518263ffffffff1660e01b8152600401610d149190614b6c565b602060405180830381865afa158015610d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d559190614d34565b15610e3357604080516001808252818301909252600091816020015b6060815260200190600190039081610d71579050509050868683818110610d9a57610d9a614d51565b9050602002810190610dac919061505a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250855186945090925015159050610df457610df4614d51565b6020026020010181905250610e31898984818110610e1457610e14614d51565b9050602002016020810190610e299190614a73565b828787613401565b505b610e3c81614fc6565b9050610cb8565b60065460405162d9267b60e31b81526001600160a01b03909116906306c933d890610e72903390600401614b6c565b602060405180830381865afa158015610e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb39190614d34565b610ed057604051634d553d1960e01b815260040160405180910390fd5b8260005b81811015610b3e576000868683818110610ef057610ef0614d51565b9050602002016020810190610f059190614a73565b600754604051630a293f9d60e11b81529192506001600160a01b0316906314527f3a90610f36908490600401614b6c565b602060405180830381865afa158015610f53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f779190614d34565b15610fa957610fa981868685818110610f9257610f92614d51565b9050602002810190610fa49190614d67565b612ea3565b50610fb381614fc6565b9050610ed4565b600160046000828254610fcd9190614cbe565b909155505060045460035460ff1615610ff85760405162461bcd60e51b815260040161052290614cd7565b600760009054906101000a90046001600160a01b03166001600160a01b03166399c18e7e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106f9190614d34565b61108c5760405163355da01160e11b815260040160405180910390fd5b6110a18661109a8688614f3f565b8585611f11565b6004548114610b3e5760405162461bcd60e51b815260040161052290614fdf565b6001546001600160a01b0316331461113a5760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b6064820152608401610522565b6000546001546040516000805160206158e883398151915292611171926001600160a01b0362010000909204821692911690615016565b60405180910390a1600180546000805462010000600160b01b0319166001600160a01b03831662010000021790556001600160a01b0319169055565b6001600460008282546111c09190614cbe565b909155505060045460035460ff16156111eb5760405162461bcd60e51b815260040161052290614cd7565b60005b848110156112fc576007546001600160a01b03166314527f3a87878481811061121957611219614d51565b905060200201602081019061122e9190614a73565b6040518263ffffffff1660e01b815260040161124a9190614b6c565b602060405180830381865afa158015611267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128b9190614d34565b156112ec576112ec8686838181106112a5576112a5614d51565b90506020020160208101906112ba9190614a73565b8585848181106112cc576112cc614d51565b90506020028101906112de9190614d67565b6112e791614f3f565b6137a7565b6112f581614fc6565b90506111ee565b50600454811461131e5760405162461bcd60e51b815260040161052290614fdf565b5050505050565b61132d6124cd565b600780546001600160a01b0319166001600160a01b0383169081179091556040517f5d9de7aede86bb8f066e68761179e1a100795879b5ae7a37ef2f31c007f063b990600090a250565b60016004600082825461138a9190614cbe565b909155505060045460035460ff16156113b55760405162461bcd60e51b815260040161052290614cd7565b60005b848110156112fc576006546001600160a01b03166314527f3a8787848181106113e3576113e3614d51565b90506020020160208101906113f89190614a73565b6040518263ffffffff1660e01b81526004016114149190614b6c565b602060405180830381865afa158015611431573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114559190614d34565b1561153157604080516001808252818301909252600091816020015b606081526020019060019003908161147157905050905084848381811061149a5761149a614d51565b90506020028101906114ac919061505a565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508551869450909250151590506114f4576114f4614d51565b602002602001018190525061152f87878481811061151457611514614d51565b90506020020160208101906115299190614a73565b8261259d565b505b61153a81614fc6565b90506113b8565b60065460405162d9267b60e31b81526001600160a01b03909116906306c933d890611570903390600401614b6c565b602060405180830381865afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190614d34565b6115ce57604051634d553d1960e01b815260040160405180910390fd5b6115d88282612a50565b5050565b600054610100900460ff166115f75760005460ff16156115fb565b303b155b61165e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610522565b600054610100900460ff16158015611680576000805461ffff19166101011790555b61168984610769565b600680546001600160a01b0319166001600160a01b038581169190911790915560058054610100600160a81b0319166101008584168102919091179182905560405163bf40fac160e01b8152602060048201526016602482015275436861696e656453706565644d61726b657473414d4d60501b604482015291049091169063bf40fac190606401602060405180830381865afa15801561172e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175291906150a0565b600780546001600160a01b0319166001600160a01b0392831617905560055460408051639a618c0f60e01b8152905160009361010090930490921691639a618c0f916004808201926020929091908290030181865afa1580156117b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117dd91906150a0565b90506001600160a01b038116156119c357600660009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611841573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186591906150a0565b6001600160a01b031663095ea7b3826000196040518363ffffffff1660e01b81526004016118949291906150bd565b6020604051808303816000875af11580156118b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d79190614d34565b50600760009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561192b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194f91906150a0565b6001600160a01b031663095ea7b3826000196040518363ffffffff1660e01b815260040161197e9291906150bd565b6020604051808303816000875af115801561199d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c19190614d34565b505b6119cb611eb3565b5080156109be576000805461ff001916905550505050565b6119eb6124cd565b6001600160a01b038116611a335760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610522565b600154600160a81b900460ff1615611a835760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481d1c985b9cd9995c9c9959606a1b6044820152606401610522565b600080546001600160a01b038084166201000090810262010000600160b01b031990931692909217928390556001805460ff60a81b1916600160a81b1790556040516000805160206158e88339815191529361087c939004909116908490615016565b600160046000828254611af99190614cbe565b909155505060045460035460ff1615611b245760405162461bcd60e51b815260040161052290614cd7565b61099d846112e78486614f3f565b611b3a6124cd565b6000600560019054906101000a90046001600160a01b03166001600160a01b0316639a618c0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb391906150a0565b90506001600160a01b03811615611d9557600660009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3b91906150a0565b6001600160a01b031663095ea7b382846040518363ffffffff1660e01b8152600401611c689291906150bd565b6020604051808303816000875af1158015611c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cab9190614d34565b50600760009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2391906150a0565b6001600160a01b031663095ea7b382846040518363ffffffff1660e01b8152600401611d509291906150bd565b6020604051808303816000875af1158015611d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d939190614d34565b505b6040518281527fd00a8c07b9962c31dae343ff6cb70fd3af214b2f7013afa7258ec5a939fb71109060200160405180910390a15050565b600160046000828254611ddf9190614cbe565b909155505060045460035460ff1615611e0a5760405162461bcd60e51b815260040161052290614cd7565b600660009054906101000a90046001600160a01b03166001600160a01b03166399c18e7e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e819190614d34565b611e9e5760405163355da01160e11b815260040160405180910390fd5b6110a186611eac8688615030565b8585613401565b60055460ff1615611efc5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610522565b6005805460ff19166001908117909155600455565b6000846001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7591906150a0565b9050336001600160a01b03821614611fa05760405163bd03358160e01b815260040160405180910390fd5b6000856001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fe0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200491906150a0565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa158015612059573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061207d91906150a0565b6001600160a01b0316816001600160a01b0316146120ae576040516311c77c3560e21b815260040160405180910390fd5b60075460408051639324cac760e01b815290516000926001600160a01b031691639324cac79160048083019260209291908290030181865afa1580156120f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211c91906150a0565b6001600160a01b03166370a08231846040518263ffffffff1660e01b81526004016121479190614b6c565b602060405180830381865afa158015612164573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218891906150d6565b905061219487876137a7565b600081600760009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220e91906150a0565b6001600160a01b03166370a08231866040518263ffffffff1660e01b81526004016122399190614b6c565b602060405180830381865afa158015612256573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227a91906150d6565b61228491906150ef565b600754604051636dcf6def60e01b81529192506001600160a01b031690636dcf6def906122b790879085906004016150bd565b600060405180830381600087803b1580156122d157600080fd5b505af11580156122e5573d6000803e3d6000fd5b5050505060008111156124c3576000600560019054906101000a90046001600160a01b03166001600160a01b0316639a618c0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061236b91906150a0565b905085156124355760405163b45e98d960e01b8152600481018390526000906001600160a01b0383169063b45e98d9906024016020604051808303816000875af11580156123bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e191906150d6565b60405190915086906000906001600160a01b0383169084156108fc0290859084818181858888f1935050505090508061242d57604051630ce8f45160e31b815260040160405180910390fd5b5050506124c1565b604051630992646d60e31b81526000906001600160a01b03831690634c93236890612466908b9087906004016150bd565b6020604051808303816000875af1158015612485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a991906150d6565b90506124bf6001600160a01b0389168783612547565b505b505b5050505050505050565b6000546201000090046001600160a01b031633146125455760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610522565b565b610bde8363a9059cbb60e01b84846040516024016125669291906150bd565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613cf4565b600654604051630a293f9d60e11b81526001600160a01b03909116906314527f3a906125cd908590600401614b6c565b602060405180830381865afa1580156125ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260e9190614d34565b61262b576040516309f4985b60e21b815260040160405180910390fd5b60008290506000816001600160a01b031663a2cdf76d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561268c575060408051601f3d908101601f191682019092526126899181019061510f565b60015b6126985750600061269b565b90505b600061276b836001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270291906150d6565b846001600160a01b03166351d8044f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127649190615148565b8487613dc6565b905060008160070b136127905760405162bfc92160e01b815260040160405180910390fd5b60065460405163b0308e0760e01b81526001600160a01b038781166004830152600784900b60248301529091169063b0308e0790604401600060405180830381600087803b1580156127e157600080fd5b505af11580156127f5573d6000803e3d6000fd5b5050505061131e85846001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561283b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061285f91906150a0565b856001600160a01b03166363bd1d4a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561289d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c191906150d6565b866001600160a01b0316631fcc8bb26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061292391906150d6565b876001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa158015612961573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298591906150a0565b886001600160a01b031663d69fb6686040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129e791906150d6565b896001600160a01b031663704ce43e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a4991906150d6565b60006141da565b60008290506000816001600160a01b031663645539ed6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab9919061510f565b90506000826001600160a01b031663c52987cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b1f9190615163565b905060008160070b8560070b128015612b4957506001836001811115612b4757612b47615180565b145b80612b7557508160070b8560070b138015612b7557506000836001811115612b7357612b73615180565b145b600654604051630a293f9d60e11b81529192506001600160a01b0316906314527f3a90612ba6908990600401614b6c565b602060405180830381865afa158015612bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612be79190614d34565b1580612bf05750805b15612c0e576040516309f4985b60e21b815260040160405180910390fd5b60065460405163b0308e0760e01b81526001600160a01b038881166004830152600788900b60248301529091169063b0308e0790604401600060405180830381600087803b158015612c5f57600080fd5b505af1158015612c73573d6000803e3d6000fd5b50505050610b3e86856001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cdd91906150a0565b866001600160a01b03166363bd1d4a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d3f91906150d6565b876001600160a01b0316631fcc8bb26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da191906150d6565b886001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e0391906150a0565b896001600160a01b031663d69fb6686040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e6591906150d6565b8a6001600160a01b031663704ce43e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a25573d6000803e3d6000fd5b60008390506000816001600160a01b031663855d68cb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0c9190615163565b90506000826001600160a01b031663e004b5bf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f729190615196565b60ff166001600160401b03811115612f8c57612f8c614db0565b604051908082528060200260200182016040528015612fb5578160200160208202803683370190505b50905060005b848110156133e757604051635f51b5c760e01b8152600481018290526001600160a01b03851690635f51b5c790602401602060405180830381865afa158015613008573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061302c919061510f565b82828151811061303e5761303e614d51565b6020026020010190600181111561305757613057615180565b9081600181111561306a5761306a615180565b8152505060008360070b87878481811061308657613086614d51565b905060200201602081019061309b919061503d565b60070b121580156130d6575060018383815181106130bb576130bb614d51565b602002602001015160018111156130d4576130d4615180565b145b8061314257508360070b8787848181106130f2576130f2614d51565b9050602002016020810190613107919061503d565b60070b131580156131425750600083838151811061312757613127614d51565b6020026020010151600181111561314057613140615180565b145b905080156133aa57600754604051632236aa6560e01b81526001600160a01b0390911690632236aa6590613181908b908b908b906001906004016151b9565b600060405180830381600087803b15801561319b57600080fd5b505af11580156131af573d6000803e3d6000fd5b505050506124c388866001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321991906150a0565b876001600160a01b03166363bd1d4a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061327b91906150d6565b886001600160a01b0316631fcc8bb26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132dd91906150d6565b896001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f91906150a0565b8a6001600160a01b031663d69fb6686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561337d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133a191906150d6565b600060016141da565b8686838181106133bc576133bc614d51565b90506020020160208101906133d1919061503d565b93505080806133df90614fc6565b915050612fbb565b506040516309f4985b60e21b815260040160405180910390fd5b6000846001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613441573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061346591906150a0565b9050336001600160a01b038216146134905760405163bd03358160e01b815260040160405180910390fd5b6000856001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f491906150a0565b9050600660009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061356d91906150a0565b6001600160a01b0316816001600160a01b03161461359e576040516311c77c3560e21b815260040160405180910390fd5b60065460408051639324cac760e01b815290516000926001600160a01b031691639324cac79160048083019260209291908290030181865afa1580156135e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061360c91906150a0565b6001600160a01b03166370a08231846040518263ffffffff1660e01b81526004016136379190614b6c565b602060405180830381865afa158015613654573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367891906150d6565b9050613684878761259d565b600081600660009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156136da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136fe91906150a0565b6001600160a01b03166370a08231866040518263ffffffff1660e01b81526004016137299190614b6c565b602060405180830381865afa158015613746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061376a91906150d6565b61377491906150ef565b600654604051636dcf6def60e01b81529192506001600160a01b031690636dcf6def906122b790879085906004016150bd565b600754604051630a293f9d60e11b81526001600160a01b03909116906314527f3a906137d7908590600401614b6c565b602060405180830381865afa1580156137f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138189190614d34565b613835576040516309f4985b60e21b815260040160405180910390fd5b60008290506000816001600160a01b031663a2cdf76d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613896575060408051601f3d908101601f191682019092526138939181019061510f565b60015b6138a2575060006138a5565b90505b600083516001600160401b038111156138c0576138c0614db0565b6040519080825280602002602001820160405280156138e9578160200160208202803683370190505b5090506000805b8551811015613ac257846001600160a01b0316638b13b64b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613937573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061395b9190615148565b61396e906001600160401b031682615220565b856001600160a01b03166320c1bb466040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139d09190615148565b6139da919061523f565b91506000613a64866001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a4391906150d6565b84878a8681518110613a5757613a57614d51565b6020026020010151613dc6565b905060008160070b13613a895760405162bfc92160e01b815260040160405180910390fd5b80848381518110613a9c57613a9c614d51565b602002602001019060070b908160070b815250505080613abb90614fc6565b90506138f0565b50600754604051632236aa6560e01b81526001600160a01b0390911690632236aa6590613af89089908690600090600401615266565b600060405180830381600087803b158015613b1257600080fd5b505af1158015613b26573d6000803e3d6000fd5b50505050610b3e86856001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b9091906150a0565b866001600160a01b03166363bd1d4a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613bce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bf291906150d6565b876001600160a01b0316631fcc8bb26040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c5491906150d6565b886001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cb691906150a0565b896001600160a01b031663d69fb6686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561337d573d6000803e3d6000fd5b6000613d49826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166143bc9092919063ffffffff16565b805190915015610bde5780806020019051810190613d679190614d34565b610bde5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610522565b600080600660009054906101000a90046001600160a01b03166001600160a01b031663cf898ca96040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e409190615148565b90506001846001811115613e5657613e56615180565b03613f90576000613e8084600081518110613e7357613e73614d51565b60200260200101516143d5565b600654604051631237795960e21b8152600481018a90529192506000916001600160a01b03909116906348dde56490602401602060405180830381865afa158015613ecf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ef391906150d6565b82519091508114613f175760405163c7eab9b560e01b815260040160405180910390fd5b604082015163ffffffff166001600160401b038816811080613f535750613f3e848961523f565b6001600160401b0316816001600160401b0316115b15613f71576040516331800fe960e21b815260040160405180910390fd5b6402540be4008360c00151613f8691906152e0565b94505050506141d1565b6000600560019054906101000a90046001600160a01b03166001600160a01b031663f98d06f06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fe5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061400991906150a0565b6040805160018082528183019092529192506000919060208083019080368337019050506006546040516317a8f53760e31b8152600481018b90529192506001600160a01b03169063bd47a9b890602401602060405180830381865afa158015614077573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061409b91906150d6565b816000815181106140ae576140ae614d51565b602090810291909101015260405163d47eed4560e01b81526000906001600160a01b03841690634716e9c590829063d47eed45906140f0908b906004016153c3565b602060405180830381865afa15801561410d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061413191906150d6565b88858c61413e8a8261523f565b6040518663ffffffff1660e01b815260040161415d94939291906153d6565b60006040518083038185885af115801561417b573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526141a491908101906154cd565b90506000816000815181106141bb576141bb614d51565b6020908102919091018101510151519550505050505b50949350505050565b60055460405163bf40fac160e01b815260206004820152600e60248201526d233932b2a132ba39a437b63232b960911b604482015260009161010090046001600160a01b03169063bf40fac190606401602060405180830381865afa158015614247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061426b91906150a0565b9050806001600160a01b0316886001600160a01b03161461428c57506124c3565b60065460405163a2f6532160e01b815287916001600160a01b03169063a2f65321906142bc908990600401614b6c565b602060405180830381865afa1580156142d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142fd9190614d34565b1561433757670de0b6b3a7640000846143168783614cbe565b6143209190614cbe565b61432a9089615220565b614334919061559b565b90505b60405163031a4b0d60e11b81526001600160a01b038b81166004830152602482018a90526044820183905287811660648301528415156084830152831690630634961a9060a401600060405180830381600087803b15801561439857600080fd5b505af11580156143ac573d6000803e3d6000fd5b5050505050505050505050505050565b60606143cb84846000856147cf565b90505b9392505050565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915260055460405163bf40fac160e01b815260206004820152601160248201527021b430b4b73634b735ab32b934b334b2b960791b604482015260009161010090046001600160a01b03169063bf40fac190606401602060405180830381865afa15801561448e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144b291906150a0565b90506000816001600160a01b03166338416b5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156144f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061451891906150a0565b905060606001600160a01b03821615614726576000826001600160a01b031663638786686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561456b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061458f91906150a0565b90506000868060200190518101906145a791906155fc565b9150506000846001600160a01b031663e03dab1a3084866040518463ffffffff1660e01b81526004016145dc9392919061569d565b60a0604051808303816000875af11580156145fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061461f919061572c565b50506020810151909150156146fc57826001600160a01b031663d0e30db082602001516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561466d57600080fd5b505af1158015614681573d6000803e3d6000fd5b505050602083015160405163095ea7b360e01b81526001600160a01b038716935063095ea7b392506146b79189916004016150bd565b6020604051808303816000875af11580156146d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146fa9190614d34565b505b8260405160200161470d9190614b6c565b6040516020818303038152906040529350505050614737565b506040805160208101909152600081525b604051637bf41d7760e11b81526000906001600160a01b0385169063f7e83aee90614768908990869060040161576a565b6000604051808303816000875af1158015614787573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526147af9190810190615798565b9050808060200190518101906147c59190615809565b9695505050505050565b6060824710156148305760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610522565b843b61487e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610522565b600080866001600160a01b0316858760405161489a91906158b8565b60006040518083038185875af1925050503d80600081146148d7576040519150601f19603f3d011682016040523d82523d6000602084013e6148dc565b606091505b50915091506148ec8282866148f7565b979650505050505050565b606083156149065750816143ce565b8251156149165782518084602001fd5b8160405162461bcd60e51b815260040161052291906158d4565b60008083601f84011261494257600080fd5b5081356001600160401b0381111561495957600080fd5b6020830191508360208260051b850101111561497457600080fd5b9250929050565b6001600160a01b038116811461094957600080fd5b801515811461094957600080fd5b600080600080600080608087890312156149b757600080fd5b86356001600160401b03808211156149ce57600080fd5b6149da8a838b01614930565b909850965060208901359150808211156149f357600080fd5b50614a0089828a01614930565b9095509350506040870135614a148161497b565b91506060870135614a2481614990565b809150509295509295509295565b600080600060608486031215614a4757600080fd5b8335614a528161497b565b92506020840135614a628161497b565b929592945050506040919091013590565b600060208284031215614a8557600080fd5b81356143ce8161497b565b600060208284031215614aa257600080fd5b81356143ce81614990565b600080600060408486031215614ac257600080fd5b8335614acd8161497b565b925060208401356001600160401b03811115614ae857600080fd5b614af486828701614930565b9497909650939450505050565b60008060008060408587031215614b1757600080fd5b84356001600160401b0380821115614b2e57600080fd5b614b3a88838901614930565b90965094506020870135915080821115614b5357600080fd5b50614b6087828801614930565b95989497509550505050565b6001600160a01b0391909116815260200190565b600080600080600060808688031215614b9857600080fd5b8535614ba38161497b565b945060208601356001600160401b03811115614bbe57600080fd5b614bca88828901614930565b9095509350506040860135614bde8161497b565b91506060860135614bee81614990565b809150509295509295909350565b8060070b811461094957600080fd5b60008060408385031215614c1e57600080fd5b8235614c298161497b565b91506020830135614c3981614bfc565b809150509250929050565b600080600060608486031215614c5957600080fd5b8335614c648161497b565b92506020840135614c748161497b565b91506040840135614c848161497b565b809150509250925092565b600060208284031215614ca157600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115614cd157614cd1614ca8565b92915050565b6020808252603c908201527f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642060408201527f7768696c652074686520636f6e74726163742069732070617573656400000000606082015260800190565b600060208284031215614d4657600080fd5b81516143ce81614990565b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112614d7e57600080fd5b8301803591506001600160401b03821115614d9857600080fd5b6020019150600581901b360382131561497457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715614de857614de8614db0565b60405290565b60405161012081016001600160401b0381118282101715614de857614de8614db0565b604051601f8201601f191681016001600160401b0381118282101715614e3957614e39614db0565b604052919050565b60006001600160401b03821115614e5a57614e5a614db0565b5060051b60200190565b60006001600160401b03821115614e7d57614e7d614db0565b50601f01601f191660200190565b6000614e9e614e9984614e41565b614e11565b8381529050602080820190600585901b840186811115614ebd57600080fd5b845b81811015614f345780356001600160401b03811115614ede5760008081fd5b8601601f81018913614ef05760008081fd5b8035614efe614e9982614e64565b8181528a86838501011115614f135760008081fd5b81868401878301376000918101860191909152855250928201928201614ebf565b505050509392505050565b6000614f4d614e9984614e41565b80848252602080830192508560051b850136811115614f6b57600080fd5b855b81811015614fba5780356001600160401b03811115614f8c5760008081fd5b870136601f820112614f9e5760008081fd5b614fac368235868401614e8b565b865250938201938201614f6d565b50919695505050505050565b600060018201614fd857614fd8614ca8565b5060010190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6001600160a01b0392831681529116602082015260400190565b60006143ce368484614e8b565b60006020828403121561504f57600080fd5b81356143ce81614bfc565b6000808335601e1984360301811261507157600080fd5b8301803591506001600160401b0382111561508b57600080fd5b60200191503681900382131561497457600080fd5b6000602082840312156150b257600080fd5b81516143ce8161497b565b6001600160a01b03929092168252602082015260400190565b6000602082840312156150e857600080fd5b5051919050565b81810381811115614cd157614cd1614ca8565b6002811061094957600080fd5b60006020828403121561512157600080fd5b81516143ce81615102565b80516001600160401b038116811461514357600080fd5b919050565b60006020828403121561515a57600080fd5b6143ce8261512c565b60006020828403121561517557600080fd5b81516143ce81614bfc565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156151a857600080fd5b815160ff811681146143ce57600080fd5b6001600160a01b038516815260606020808301829052908201849052600090859060808401835b878110156152085783356151f381614bfc565b60070b825292820192908201906001016151e0565b50809350505050821515604083015295945050505050565b600081600019048311821515161561523a5761523a614ca8565b500290565b6001600160401b0381811683821601908082111561525f5761525f614ca8565b5092915050565b6001600160a01b038416815260606020808301829052845191830182905260009185820191906080850190845b818110156152b257845160070b83529383019391830191600101615293565b50508093505050508215156040830152949350505050565b634e487b7160e01b600052601260045260246000fd5b60008160170b8360170b806152f7576152f76152ca565b6001600160bf1b031982146000198214161561531557615315614ca8565b90059392505050565b60005b83811015615339578181015183820152602001615321565b50506000910152565b6000815180845261535a81602086016020860161531e565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156153b65782840389526153a4848351615342565b9885019893509084019060010161538c565b5091979650505050505050565b6020815260006143ce602083018461536e565b6080815260006153e9608083018761536e565b82810360208481019190915286518083528782019282019060005b8181101561542057845183529383019391830191600101615404565b50506001600160401b039687166040860152949095166060909301929092525090949350505050565b60006080828403121561545b57600080fd5b604051608081018181106001600160401b038211171561547d5761547d614db0565b8060405250809150825161549081614bfc565b815261549e6020840161512c565b602082015260408301518060030b81146154b757600080fd5b6040820152606092830151920191909152919050565b600060208083850312156154e057600080fd5b82516001600160401b038111156154f657600080fd5b8301601f8101851361550757600080fd5b8051615515614e9982614e41565b818152610120918202830184019184820191908884111561553557600080fd5b938501935b8385101561558f5780858a0312156155525760008081fd5b61555a614dc6565b8551815261556a8a888801615449565b8782015261557b8a60a08801615449565b60408201528352938401939185019161553a565b50979650505050505050565b6000826155aa576155aa6152ca565b500490565b600082601f8301126155c057600080fd5b81516155ce614e9982614e64565b8181528460208386010111156155e357600080fd5b6155f482602083016020870161531e565b949350505050565b6000806080838503121561560f57600080fd5b83601f84011261561e57600080fd5b604051606081016001600160401b03828210818311171561564157615641614db0565b81604052829150606086018781111561565957600080fd5b865b8181101561567357805184526020938401930161565b565b50519294508083111561568557600080fd5b5050615693858286016155af565b9150509250929050565b600060018060a01b038086168352606060208401526156bf6060840186615342565b9150808416604084015250949350505050565b6000604082840312156156e457600080fd5b604051604081018181106001600160401b038211171561570657615706614db0565b806040525080915082516157198161497b565b8152602092830151920191909152919050565b600080600060a0848603121561574157600080fd5b61574b85856156d2565b925061575a85604086016156d2565b9150608084015190509250925092565b60408152600061577d6040830185615342565b828103602084015261578f8185615342565b95945050505050565b6000602082840312156157aa57600080fd5b81516001600160401b038111156157c057600080fd5b6155f4848285016155af565b805163ffffffff8116811461514357600080fd5b80516001600160c01b038116811461514357600080fd5b8051601781900b811461514357600080fd5b6000610120828403121561581c57600080fd5b615824614dee565b82518152615834602084016157cc565b6020820152615845604084016157cc565b6040820152615856606084016157e0565b6060820152615867608084016157e0565b608082015261587860a084016157cc565b60a082015261588960c084016157f7565b60c082015261589a60e084016157f7565b60e08201526101006158ad8185016157f7565b908201529392505050565b600082516158ca81846020870161531e565b9190910192915050565b6020815260006143ce602083018461534256feb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159ca2646970667358221220437af47a5277a27bda398b95d495ca1cba5c90f497a411951251a96a82120ec364736f6c63430008100033
🤖 Code Reader Beta

Generate instant answers for your smart contract questions using Al Models. Read more.

Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.