Overview
ETH Balance
ETH Value
$0.00View more zero value Internal Transactions in Advanced View mode
Cross-Chain Transactions
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"ERC20CallFailed","type":"error"},{"inputs":[],"name":"IXERC20_NotHighEnoughLimits","type":"error"},{"inputs":[],"name":"IllegalArgument","type":"error"},{"inputs":[],"name":"IllegalState","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_mintingLimit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_burningLimit","type":"uint256"},{"indexed":true,"internalType":"address","name":"_bridge","type":"address"}],"name":"BridgeLimitsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"bridgeTokenAddress","type":"address"}],"name":"BridgeTokenAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"bridgeTokenAddress","type":"address"},{"indexed":false,"internalType":"bool","name":"state","type":"bool"}],"name":"BridgeTokenSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"minter","type":"address"},{"indexed":false,"internalType":"bool","name":"state","type":"bool"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"SetFlashMintFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxFlashLoan","type":"uint256"}],"name":"SetMaxFlashLoan","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"bridgeTokenAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"bridgeToCanonical","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"canonicalToOld","type":"uint256"}],"name":"SwapFeeSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BPS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CALLBACK_SUCCESS","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SENTINEL_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"bridgeTokenAddress","type":"address"}],"name":"addBridgeToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"allBridgeTokens","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bridgeTokenEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"bridgeTokensArray","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bridge","type":"address"}],"name":"burningCurrentLimitOf","outputs":[{"internalType":"uint256","name":"_limit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_bridge","type":"address"}],"name":"burningMaxLimitOf","outputs":[{"internalType":"uint256","name":"_limit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bridgeTokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"exchangeCanonicalForOld","outputs":[{"internalType":"uint256","name":"bridgeTokensOut","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bridgeTokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"exchangeOldForCanonical","outputs":[{"internalType":"uint256","name":"canonicalTokensOut","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exchangesPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"feeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"flashFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC3156FlashBorrower","name":"receiver","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"flashLoan","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flashMintFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address[]","name":"_bridgeTokens","type":"address[]"},{"internalType":"uint256[]","name":"_mintCeilings","type":"uint256[]"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"maxFlashLoan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxFlashLoanAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mintCeiling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_bridge","type":"address"}],"name":"mintingCurrentLimitOf","outputs":[{"internalType":"uint256","name":"_limit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_bridge","type":"address"}],"name":"mintingMaxLimitOf","outputs":[{"internalType":"uint256","name":"_limit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"minter","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"pauseMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bridgeTokenAddress","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setBridgeToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"minter","type":"address"},{"internalType":"uint256","name":"maximum","type":"uint256"}],"name":"setCeiling","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"setFlashFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bridge","type":"address"},{"internalType":"uint256","name":"_mintingLimit","type":"uint256"},{"internalType":"uint256","name":"_burningLimit","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxFlashLoanAmount","type":"uint256"}],"name":"setMaxFlashLoan","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sentinel","type":"address"}],"name":"setSentinel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bridgeTokenAddress","type":"address"},{"internalType":"uint256","name":"_bridgeToCanonical","type":"uint256"},{"internalType":"uint256","name":"_canonicalToOld","type":"uint256"}],"name":"setSwapFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"minter","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"setWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"swapFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleExchanges","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"targetAddress","type":"address"}],"name":"toggleFeesForAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"xBridges","outputs":[{"components":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"ratePerSecond","type":"uint256"},{"internalType":"uint256","name":"maxLimit","type":"uint256"},{"internalType":"uint256","name":"currentLimit","type":"uint256"}],"internalType":"struct IXERC20.BridgeParameters","name":"minterParams","type":"tuple"},{"components":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"ratePerSecond","type":"uint256"},{"internalType":"uint256","name":"maxLimit","type":"uint256"},{"internalType":"uint256","name":"currentLimit","type":"uint256"}],"internalType":"struct IXERC20.BridgeParameters","name":"burnerParams","type":"tuple"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b50600054610100900460ff1615808015620000335750600054600160ff909116105b8062000063575062000050306200013d60201b62001da41760201c565b15801562000063575060005460ff166001145b620000cb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000ef576000805461ff0019166101001790555b801562000136576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b506200014c565b6001600160a01b03163b151590565b613d2b806200015c6000396000f3fe608060405234801561001057600080fd5b50600436106103f05760003560e01c80636c00c7f011610215578063a140edb411610125578063cd4839ca116100b8578063d9d98ce411610087578063d9d98ce4146109ac578063dd62ed3e146109bf578063e68b14ff146109d2578063ee7a069a146109e5578063f2fde38b14610a0657600080fd5b8063cd4839ca1461094d578063d505accf14610962578063d547741f14610975578063d936547e1461098857600080fd5b8063a7c571fe116100f4578063a7c571fe146108d6578063a9059cbb146108e9578063bf15c224146108fc578063c1eb71371461092057600080fd5b8063a140edb41461089e578063a217fddf146108a8578063a457c2d7146108b0578063a6beee4a146108c357600080fd5b80638980f11f116101a857806391d148541161017757806391d1485414610853578063940a1dc01461086657806395d89b4114610870578063998955d314610878578063a08d56541461088b57600080fd5b80638980f11f146108085780638da5cb5b1461081b5780639006a50f1461082d578063907a267b1461084057600080fd5b80637601f069116101e45780637601f069146107b357806379cc6790146107bb5780637ecebe00146107ce5780638237e538146107e157600080fd5b80636c00c7f01461075a57806370a082311461076d578063715018a61461079657806375b238fc1461079e57600080fd5b8063249d39e911610310578063398daa85116102a3578063459d0df011610272578063459d0df0146106fb57806353d6fd591461070e5780635cffe9de14610721578063613255ab14610734578063651fd2681461074757600080fd5b8063398daa851461069e57806340c10f19146106c257806342966c68146106d5578063445d9787146106e857600080fd5b8063313ce567116102df578063313ce567146106615780633644e5151461067057806336568abe14610678578063395093511461068b57600080fd5b8063249d39e91461060e578063280cf3ed146106175780632e48152c1461062a5780632f2ff15d1461064e57600080fd5b80630c05f82c1161038857806318160ddd1161035757806318160ddd146105a557806323b872dd146105ad578063248756d9146105c0578063248a9ca3146105eb57600080fd5b80630c05f82c146104bd57806313430d92146104ea57806313489515146104ff57806314c765081461051257600080fd5b806308f4c3f5116103c457806308f4c3f51461046f5780630919a95114610484578063095ea7b31461049757806309dac061146104aa57600080fd5b80623d4790146103f557806301ffc9a71461042957806305a7fc611461044c57806306fdde031461045a575b600080fd5b610416610403366004613400565b61019a6020526000908152604090205481565b6040519081526020015b60405180910390f35b61043c61043736600461341d565b610a19565b6040519015158152602001610420565b6101975461043c9060ff1681565b610462610a50565b604051610420919061349f565b61048261047d3660046134c0565b610ae2565b005b610482610492366004613400565b610b4a565b61043c6104a53660046134f9565b610b7c565b6104826104b8366004613400565b610b94565b6104166104cb366004613400565b6001600160a01b0316600090815261019f602052604090206002015490565b610416600080516020613cd683398151915281565b61048261050d366004613400565b610be3565b610597610520366004613400565b61019f602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b604051610420929190613525565b603554610416565b61043c6105bb366004613571565b610cec565b6105d36105ce3660046135b2565b610d12565b6040516001600160a01b039091168152602001610420565b6104166105f93660046135b2565b600090815260fe602052604090206001015490565b61041661271081565b6104166106253660046134f9565b610d3d565b61043c610638366004613400565b61019c6020526000908152604090205460ff1681565b61048261065c3660046135cb565b610e90565b60405160128152602001610420565b610416610eba565b6104826106863660046135cb565b610ec9565b61043c6106993660046134f9565b610f4c565b61043c6106ac366004613400565b6101956020526000908152604090205460ff1681565b6104826106d03660046134f9565b610f6e565b6104826106e33660046135b2565b61102d565b6104826106f6366004613736565b61108a565b6104166107093660046134f9565b6111ac565b61048261071c3660046134c0565b6111d2565b61043c61072f36600461383f565b611232565b610416610742366004613400565b61138b565b610416610755366004613400565b6113ae565b6104826107683660046134f9565b6113e3565b61041661077b366004613400565b6001600160a01b031660009081526033602052604090205490565b610482611408565b610416600080516020613cb683398151915281565b61048261141c565b6104826107c93660046134f9565b611439565b6104166107dc366004613400565b6114ba565b6104167f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd981565b6104826108163660046134f9565b6114d8565b610162546001600160a01b03166105d3565b61041661083b3660046134f9565b61154f565b61048261084e3660046135b2565b6116ef565b61043c6108613660046135cb565b611782565b61041661019d5481565b6104626117ad565b610416610886366004613400565b6117bc565b6104826108993660046138de565b6117f4565b61041661019e5481565b610416600081565b61043c6108be3660046134f9565b611886565b6104826108d13660046135b2565b61190c565b6104826108e43660046138de565b611976565b61043c6108f73660046134f9565b611a2b565b61043c61090a366004613400565b6101986020526000908152604090205460ff1681565b61041661092e366004613400565b6001600160a01b0316600090815261019f602052604090206006015490565b610955611a39565b6040516104209190613913565b610482610970366004613960565b611a9b565b6104826109833660046135cb565b611bff565b61043c610996366004613400565b61019b6020526000908152604090205460ff1681565b6104166109ba3660046134f9565b611c24565b6104166109cd3660046139d7565b611c6b565b6104826109e03660046134c0565b611c96565b6104166109f3366004613400565b6101996020526000908152604090205481565b610482610a14366004613400565b611d2e565b60006001600160e01b03198216637965db0b60e01b1480610a4a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b606060368054610a5f90613a05565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8b90613a05565b8015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b5050505050905090565b610aea611db3565b6001600160a01b03821660008181526101986020908152604091829020805460ff191685151590811790915591519182527f017f1013f504f361fb5e4d3a829477caa14d488491d7042e78537a6d80c482e6910160405180910390a25050565b610b52611db3565b6001600160a01b0316600090815261019560205260409020805460ff19811660ff90911615179055565b600033610b8a818585611e0e565b5060019392505050565b610bac600080516020613cb683398151915233611782565b610bc8576040516282b42960e81b815260040160405180910390fd5b610be0600080516020613cd683398151915282611f32565b50565b610beb611db3565b60005b61019654811015610c5a57816001600160a01b03166101968281548110610c1757610c17613a39565b6000918252602090912001546001600160a01b031603610c4a57604051634a613c4160e01b815260040160405180910390fd5b610c5381613a65565b9050610bee565b50610196805460018082019092557f828feda00a4b64eb35101b6df8f6c29717b1ea6bae5dd03d3ddada8de0a9e7cb0180546001600160a01b0319166001600160a01b03841690811790915560008181526101986020526040808220805460ff1916909417909355915190917fa1f77cf0208e08e61710338f5370c9eba737ddc758d9f317dc5bdcff348e6e1a91a250565b600033610cfa858285611f3c565b610d05858585611fb6565b60019150505b9392505050565b6101968181548110610d2357600080fd5b6000918252602090912001546001600160a01b0316905081565b6000610d47612161565b6001600160a01b03831660009081526101986020526040902054839060ff16610d8357604051634a613c4160e01b815260040160405180910390fd5b6101975460ff1615610da857604051634a613c4160e01b815260040160405180910390fd5b6001600160a01b0384166000908152610198602052604090205460ff16610de257604051634a613c4160e01b815260040160405180910390fd5b610dec33846121bc565b336000908152610195602052604090205483925060ff16610e4a576001600160a01b038416600090815261019460205260409020620f42409060010154610e339084613a7e565b610e3d9190613a9d565b610e479083613abf565b91505b6001600160a01b038416600090815261019a602052604081208054859290610e73908490613abf565b90915550610e8490508433846122f0565b50610a4a600161013055565b600082815260fe6020526040902060010154610eab816123fd565b610eb58383612407565b505050565b6000610ec461248d565b905090565b6001600160a01b0381163314610f3e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610f488282612508565b5050565b600033610b8a818585610f5f8383611c6b565b610f699190613ad6565b611e0e565b33600090815261019b602052604090205460ff16610f9e576040516282b42960e81b815260040160405180910390fd5b33600090815261019c602052604090205460ff1615610fd057604051634a613c4160e01b815260040160405180910390fd5b33600090815261019f602052604090206002015415611023576000610ff4336113ae565b905080821115611017576040516305b4215560e11b815260040160405180910390fd5b611021338361256f565b505b610f4882826125c7565b33600090815261019f602052604090206006015415611080576000611051336117bc565b905080821115611074576040516305b4215560e11b815260040160405180910390fd5b61107e3383612688565b505b610be033826121bc565b600054610100900460ff16158080156110aa5750600054600160ff909116105b806110c45750303b1580156110c4575060005460ff166001145b6111275760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610f35565b6000805460ff19166001179055801561114a576000805461ff0019166101001790555b61115785853386866126e4565b61115f6128cc565b80156111a5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61019460205281600052604060002081600281106111c957600080fd5b01549150829050565b6111ea600080516020613cb683398151915233611782565b611206576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0391909116600090815261019b60205260409020805460ff1916911515919091179055565b600061123c612161565b6001600160a01b038516301461126557604051630134249960e71b815260040160405180910390fd5b61126e8561138b565b84111561128e57604051630134249960e71b815260040160405180910390fd5b600061129a8686611c24565b90506112a687866125c7565b6040516323e30c8b60e01b81527f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9906001600160a01b038916906323e30c8b906112fe9033908b908b9088908c908c90600401613aee565b6020604051808303816000875af115801561131d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113419190613b4a565b1461135f57604051634a613c4160e01b815260040160405180910390fd5b6113728761136d8388613ad6565b6121bc565b6001915050611382600161013055565b95945050505050565b60006001600160a01b03821630146113a557506000919050565b505061019e5490565b6001600160a01b038116600090815261019f60205260408120600381015460028201548254600190930154610a4a939061293a565b6113eb611db3565b6001600160a01b0390911660009081526101996020526040902055565b611410611db3565b61141a60006129b2565b565b611424611db3565b610197805460ff19811660ff90911615179055565b6000816114468433611c6b565b6114509190613abf565b905061145d833383611e0e565b33600090815261019f6020526040902060060154156114b0576000611481336117bc565b9050808311156114a4576040516305b4215560e11b815260040160405180910390fd5b6114ae3384612688565b505b610eb583836121bc565b6001600160a01b038116600090815260996020526040812054610a4a565b6114e0611db3565b306001600160a01b0383160361150957604051630134249960e71b815260040160405180910390fd5b6001600160a01b0382166000908152610198602052604090205460ff161561154457604051634a613c4160e01b815260040160405180910390fd5b610f488233836122f0565b6000611559612161565b6001600160a01b03831660009081526101986020526040902054839060ff1661159557604051634a613c4160e01b815260040160405180910390fd5b6101975460ff16156115ba57604051634a613c4160e01b815260040160405180910390fd5b6001600160a01b0384166000908152610198602052604090205460ff166115f457604051634a613c4160e01b815260040160405180910390fd5b6001600160a01b038416600090815261019a60205260408120546116189085613ad6565b6001600160a01b0386166000908152610199602052604090205490915081111561165557604051634a613c4160e01b815260040160405180910390fd5b6001600160a01b038516600090815261019a6020526040902081905561167d85333087612a05565b336000908152610195602052604090205484935060ff166116d8576001600160a01b03851660009081526101946020526040902054620f4240906116c19085613a7e565b6116cb9190613a9d565b6116d59084613abf565b92505b6116e233846125c7565b5050610a4a600161013055565b611707600080516020613cb683398151915233611782565b611723576040516282b42960e81b815260040160405180910390fd5b612710811061174557604051630134249960e71b815260040160405180910390fd5b61019d8190556040518181527f2a870645d0d1cf8866b52d71ff02db01b3e1dc4b70f53e2c4e85dbe60969b92e906020015b60405180910390a150565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b606060378054610a5f90613a05565b6001600160a01b038116600090815261019f60205260408120600781015460068201546004830154600590930154610a4a939061293a565b61180c600080516020613cb683398151915233611782565b611828576040516282b42960e81b815260040160405180910390fd5b6118328383612b12565b61183c8382612bba565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c94491015b60405180910390a2505050565b600033816118948286611c6b565b9050838110156118f45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610f35565b6119018286868403611e0e565b506001949350505050565b611924600080516020613cb683398151915233611782565b611940576040516282b42960e81b815260040160405180910390fd5b61019e8190556040518181527f6fa7ecc5c15a4eee2e87300bfa6827c73f06de5b70edf09ba1d1f7640539efe190602001611777565b61197e611db3565b620f4240821015806119935750620f42408110155b156119b157604051630134249960e71b815260040160405180910390fd5b60408051808201825283815260208082018490526001600160a01b0386166000908152610194909152919091206119e99160026132f1565b5060408051838152602081018390526001600160a01b038516917ff36e5def0a9227cce1f483e62a6b168e5c1dd4aa7e887e300745cdc4c2b5ab2d9101611879565b600033610b8a818585611fb6565b6060610196805480602002602001604051908101604052809291908181526020018280548015610ad857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611a74575050505050905090565b83421115611aeb5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610f35565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611b1a8c612c68565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000611b7582612c90565b90506000611b8582878787612cde565b9050896001600160a01b0316816001600160a01b031614611be85760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610f35565b611bf38a8a8a611e0e565b50505050505050505050565b600082815260fe6020526040902060010154611c1a816123fd565b610eb58383612508565b60006001600160a01b0383163014611c4f57604051630134249960e71b815260040160405180910390fd5b61271061019d5483611c619190613a7e565b610d0b9190613a9d565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b611cae600080516020613cd683398151915233611782565b611cca576040516282b42960e81b815260040160405180910390fd5b6001600160a01b038216600081815261019c6020908152604091829020805460ff19168515159081179091558251938452908301527fe8699cf681560fd07de85543bd994263f4557bdc5179dd702f256d15fd083e1d910160405180910390a15050565b611d36611db3565b6001600160a01b038116611d9b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f35565b610be0816129b2565b6001600160a01b03163b151590565b610162546001600160a01b0316331461141a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f35565b6001600160a01b038316611e705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610f35565b6001600160a01b038216611ed15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610f35565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b610f488282612407565b6000611f488484611c6b565b90506000198114611fb05781811015611fa35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610f35565b611fb08484848403611e0e565b50505050565b6001600160a01b03831661201a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610f35565b6001600160a01b03821661207c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610f35565b6001600160a01b038316600090815260336020526040902054818110156120f45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610f35565b6001600160a01b0380851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121549086815260200190565b60405180910390a3611fb0565b600261013054036121b45760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610f35565b600261013055565b6001600160a01b03821661221c5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610f35565b6001600160a01b038216600090815260336020526040902054818110156122905760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610f35565b6001600160a01b03831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161234c9190613b63565b6000604051808303816000865af19150503d8060008114612389576040519150601f19603f3d011682016040523d82523d6000602084013e61238e565b606091505b5091509150846001600160a01b03163b600014806123aa575081155b806123d157508051158015906123d15750808060200190518101906123cf9190613b7f565b155b156111a55784828260405163e7e40b5b60e01b8152600401610f3593929190613b9c565b600161013055565b610be08133612d06565b6124118282611782565b610f4857600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556124493390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610ec47f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6124bc60655490565b6066546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6125128282611782565b15610f4857600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600061257a836113ae565b6001600160a01b038416600090815261019f6020526040902042905590506125a28282613abf565b6001600160a01b03909316600090815261019f60205260409020600301929092555050565b6001600160a01b03821661261d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610f35565b806035600082825461262f9190613ad6565b90915550506001600160a01b0382166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6000612693836117bc565b6001600160a01b038416600090815261019f602052604090204260049091015590506126bf8282613abf565b6001600160a01b03909316600090815261019f60205260409020600701929092555050565b6126ec612d5f565b6126f4612d86565b61271785604051806040016040528060018152602001603160f81b815250612db6565b6127218585612df7565b61272a85612e45565b612732612e6c565b61273b836129b2565b60005b82518110156128c45761019683828151811061275c5761275c613a39565b602090810291909101810151825460018101845560009384528284200180546001600160a01b0319166001600160a01b03909216919091179055604080518082019091526101908082529181019190915284519091610194918690859081106127c7576127c7613a39565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000209060026127fd92919061332f565b506001610198600085848151811061281757612817613a39565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555081818151811061286857612868613a39565b6020026020010151610199600085848151811061288757612887613a39565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550806128bd90613a65565b905061273e565b505050505050565b6128e4600080516020613cb683398151915233611f32565b6128fc600080516020613cd683398151915233611f32565b612922600080516020613cd6833981519152600080516020613cb6833981519152612e93565b61141a600080516020613cb683398151915280612e93565b838381146129aa57426129506201518085613ad6565b1161295c5750826129aa565b4261296a6201518085613ad6565b11156129aa57600061297c8442613abf565b9050600061298a8483613a7e565b6129949084613ad6565b90508581116129a357806129a5565b855b925050505b949350505050565b61016280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151600092839290881691612a699190613b63565b6000604051808303816000865af19150503d8060008114612aa6576040519150601f19603f3d011682016040523d82523d6000602084013e612aab565b606091505b5091509150856001600160a01b03163b60001480612ac7575081155b80612aee5750805115801590612aee575080806020019051810190612aec9190613b7f565b155b156128c45785828260405163e7e40b5b60e01b8152600401610f3593929190613b9c565b6001600160a01b038216600090815261019f602052604081206002015490612b39846113ae565b6001600160a01b038516600090815261019f602052604090206002018490559050612b65838383612ede565b6001600160a01b038516600090815261019f6020526040902060030155612b8f6201518084613a9d565b6001600160a01b03909416600090815261019f60205260409020600181019490945550504290915550565b6001600160a01b038216600090815261019f602052604081206006015490612be1846117bc565b6001600160a01b038516600090815261019f602052604090206006018490559050612c0d838383612ede565b6001600160a01b038516600090815261019f6020526040902060070155612c376201518084613a9d565b6001600160a01b03909416600090815261019f60205260409020600581019490945550504260049092019190915550565b6001600160a01b03811660009081526099602052604090208054600181018255905b50919050565b6000610a4a612c9d61248d565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000612cef87878787612f35565b91509150612cfc81612ff9565b5095945050505050565b612d108282611782565b610f4857612d1d81613143565b612d28836020613155565b604051602001612d39929190613bc8565b60408051601f198184030181529082905262461bcd60e51b8252610f359160040161349f565b600054610100900460ff1661141a5760405162461bcd60e51b8152600401610f3590613c3d565b600054610100900460ff16612dad5760405162461bcd60e51b8152600401610f3590613c3d565b61141a336129b2565b600054610100900460ff16612ddd5760405162461bcd60e51b8152600401610f3590613c3d565b815160209283012081519190920120606591909155606655565b600054610100900460ff16612e1e5760405162461bcd60e51b8152600401610f3590613c3d565b8151612e31906036906020850190613363565b508051610eb5906037906020840190613363565b600054610100900460ff16610be05760405162461bcd60e51b8152600401610f3590613c3d565b600054610100900460ff166123f55760405162461bcd60e51b8152600401610f3590613c3d565b600082815260fe6020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60008084841115612f1457612ef38585613abf565b9050808311612f03576000612f0d565b612f0d8184613abf565b9150612f2d565b612f1e8486613abf565b9050612f2a8184613ad6565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612f6c5750600090506003612ff0565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612fc0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612fe957600060019250925050612ff0565b9150600090505b94509492505050565b600081600481111561300d5761300d613c88565b036130155750565b600181600481111561302957613029613c88565b036130765760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610f35565b600281600481111561308a5761308a613c88565b036130d75760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610f35565b60038160048111156130eb576130eb613c88565b03610be05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610f35565b6060610a4a6001600160a01b03831660145b60606000613164836002613a7e565b61316f906002613ad6565b67ffffffffffffffff811115613187576131876135f0565b6040519080825280601f01601f1916602001820160405280156131b1576020820181803683370190505b509050600360fc1b816000815181106131cc576131cc613a39565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106131fb576131fb613a39565b60200101906001600160f81b031916908160001a905350600061321f846002613a7e565b61322a906001613ad6565b90505b60018111156132a2576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061325e5761325e613a39565b1a60f81b82828151811061327457613274613a39565b60200101906001600160f81b031916908160001a90535060049490941c9361329b81613c9e565b905061322d565b508315610d0b5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610f35565b826002810192821561331f579160200282015b8281111561331f578251825591602001919060010190613304565b5061332b9291506133d6565b5090565b826002810192821561331f579160200282015b8281111561331f578251829061ffff16905591602001919060010190613342565b82805461336f90613a05565b90600052602060002090601f016020900481019282613391576000855561331f565b82601f106133aa57805160ff191683800117855561331f565b8280016001018555821561331f579182018281111561331f578251825591602001919060010190613304565b5b8082111561332b57600081556001016133d7565b6001600160a01b0381168114610be057600080fd5b60006020828403121561341257600080fd5b8135610d0b816133eb565b60006020828403121561342f57600080fd5b81356001600160e01b031981168114610d0b57600080fd5b60005b8381101561346257818101518382015260200161344a565b83811115611fb05750506000910152565b6000815180845261348b816020860160208601613447565b601f01601f19169290920160200192915050565b602081526000610d0b6020830184613473565b8015158114610be057600080fd5b600080604083850312156134d357600080fd5b82356134de816133eb565b915060208301356134ee816134b2565b809150509250929050565b6000806040838503121561350c57600080fd5b8235613517816133eb565b946020939093013593505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e08201526101008101610d0b565b60008060006060848603121561358657600080fd5b8335613591816133eb565b925060208401356135a1816133eb565b929592945050506040919091013590565b6000602082840312156135c457600080fd5b5035919050565b600080604083850312156135de57600080fd5b8235915060208301356134ee816133eb565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561362f5761362f6135f0565b604052919050565b600082601f83011261364857600080fd5b813567ffffffffffffffff811115613662576136626135f0565b613675601f8201601f1916602001613606565b81815284602083860101111561368a57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8211156136c1576136c16135f0565b5060051b60200190565b600082601f8301126136dc57600080fd5b813560206136f16136ec836136a7565b613606565b82815260059290921b8401810191818101908684111561371057600080fd5b8286015b8481101561372b5780358352918301918301613714565b509695505050505050565b6000806000806080858703121561374c57600080fd5b843567ffffffffffffffff8082111561376457600080fd5b61377088838901613637565b955060209150818701358181111561378757600080fd5b61379389828a01613637565b9550506040870135818111156137a857600080fd5b8701601f810189136137b957600080fd5b80356137c76136ec826136a7565b81815260059190911b8201840190848101908b8311156137e657600080fd5b928501925b8284101561380d5783356137fe816133eb565b825292850192908501906137eb565b9650505050606087013591508082111561382657600080fd5b50613833878288016136cb565b91505092959194509250565b60008060008060006080868803121561385757600080fd5b8535613862816133eb565b94506020860135613872816133eb565b935060408601359250606086013567ffffffffffffffff8082111561389657600080fd5b818801915088601f8301126138aa57600080fd5b8135818111156138b957600080fd5b8960208285010111156138cb57600080fd5b9699959850939650602001949392505050565b6000806000606084860312156138f357600080fd5b83356138fe816133eb565b95602085013595506040909401359392505050565b6020808252825182820181905260009190848201906040850190845b818110156139545783516001600160a01b03168352928401929184019160010161392f565b50909695505050505050565b600080600080600080600060e0888a03121561397b57600080fd5b8735613986816133eb565b96506020880135613996816133eb565b95506040880135945060608801359350608088013560ff811681146139ba57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156139ea57600080fd5b82356139f5816133eb565b915060208301356134ee816133eb565b600181811c90821680613a1957607f821691505b602082108103612c8a57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201613a7757613a77613a4f565b5060010190565b6000816000190483118215151615613a9857613a98613a4f565b500290565b600082613aba57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015613ad157613ad1613a4f565b500390565b60008219821115613ae957613ae9613a4f565b500190565b6001600160a01b03878116825286166020820152604081018590526060810184905260a06080820181905281018290526000828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b600060208284031215613b5c57600080fd5b5051919050565b60008251613b75818460208701613447565b9190910192915050565b600060208284031215613b9157600080fd5b8151610d0b816134b2565b6001600160a01b0384168152821515602082015260606040820181905260009061138290830184613473565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613c00816017850160208801613447565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613c31816028840160208801613447565b01602801949350505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b600081613cad57613cad613a4f565b50600019019056fedf8b4c520ffe197c5343c6f5aec59570151ef9a492f2c624fd45ddde6135ec42d3eedd6d69d410e954f4c622838ecc3acae9fdcd83cad412075c85b092770656a2646970667358221220d667b555db1df1065348edc9ce9adb4a19e3ede92f94dfdef28afcbcb7f3fc7f64736f6c634300080d0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106103f05760003560e01c80636c00c7f011610215578063a140edb411610125578063cd4839ca116100b8578063d9d98ce411610087578063d9d98ce4146109ac578063dd62ed3e146109bf578063e68b14ff146109d2578063ee7a069a146109e5578063f2fde38b14610a0657600080fd5b8063cd4839ca1461094d578063d505accf14610962578063d547741f14610975578063d936547e1461098857600080fd5b8063a7c571fe116100f4578063a7c571fe146108d6578063a9059cbb146108e9578063bf15c224146108fc578063c1eb71371461092057600080fd5b8063a140edb41461089e578063a217fddf146108a8578063a457c2d7146108b0578063a6beee4a146108c357600080fd5b80638980f11f116101a857806391d148541161017757806391d1485414610853578063940a1dc01461086657806395d89b4114610870578063998955d314610878578063a08d56541461088b57600080fd5b80638980f11f146108085780638da5cb5b1461081b5780639006a50f1461082d578063907a267b1461084057600080fd5b80637601f069116101e45780637601f069146107b357806379cc6790146107bb5780637ecebe00146107ce5780638237e538146107e157600080fd5b80636c00c7f01461075a57806370a082311461076d578063715018a61461079657806375b238fc1461079e57600080fd5b8063249d39e911610310578063398daa85116102a3578063459d0df011610272578063459d0df0146106fb57806353d6fd591461070e5780635cffe9de14610721578063613255ab14610734578063651fd2681461074757600080fd5b8063398daa851461069e57806340c10f19146106c257806342966c68146106d5578063445d9787146106e857600080fd5b8063313ce567116102df578063313ce567146106615780633644e5151461067057806336568abe14610678578063395093511461068b57600080fd5b8063249d39e91461060e578063280cf3ed146106175780632e48152c1461062a5780632f2ff15d1461064e57600080fd5b80630c05f82c1161038857806318160ddd1161035757806318160ddd146105a557806323b872dd146105ad578063248756d9146105c0578063248a9ca3146105eb57600080fd5b80630c05f82c146104bd57806313430d92146104ea57806313489515146104ff57806314c765081461051257600080fd5b806308f4c3f5116103c457806308f4c3f51461046f5780630919a95114610484578063095ea7b31461049757806309dac061146104aa57600080fd5b80623d4790146103f557806301ffc9a71461042957806305a7fc611461044c57806306fdde031461045a575b600080fd5b610416610403366004613400565b61019a6020526000908152604090205481565b6040519081526020015b60405180910390f35b61043c61043736600461341d565b610a19565b6040519015158152602001610420565b6101975461043c9060ff1681565b610462610a50565b604051610420919061349f565b61048261047d3660046134c0565b610ae2565b005b610482610492366004613400565b610b4a565b61043c6104a53660046134f9565b610b7c565b6104826104b8366004613400565b610b94565b6104166104cb366004613400565b6001600160a01b0316600090815261019f602052604090206002015490565b610416600080516020613cd683398151915281565b61048261050d366004613400565b610be3565b610597610520366004613400565b61019f602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b604051610420929190613525565b603554610416565b61043c6105bb366004613571565b610cec565b6105d36105ce3660046135b2565b610d12565b6040516001600160a01b039091168152602001610420565b6104166105f93660046135b2565b600090815260fe602052604090206001015490565b61041661271081565b6104166106253660046134f9565b610d3d565b61043c610638366004613400565b61019c6020526000908152604090205460ff1681565b61048261065c3660046135cb565b610e90565b60405160128152602001610420565b610416610eba565b6104826106863660046135cb565b610ec9565b61043c6106993660046134f9565b610f4c565b61043c6106ac366004613400565b6101956020526000908152604090205460ff1681565b6104826106d03660046134f9565b610f6e565b6104826106e33660046135b2565b61102d565b6104826106f6366004613736565b61108a565b6104166107093660046134f9565b6111ac565b61048261071c3660046134c0565b6111d2565b61043c61072f36600461383f565b611232565b610416610742366004613400565b61138b565b610416610755366004613400565b6113ae565b6104826107683660046134f9565b6113e3565b61041661077b366004613400565b6001600160a01b031660009081526033602052604090205490565b610482611408565b610416600080516020613cb683398151915281565b61048261141c565b6104826107c93660046134f9565b611439565b6104166107dc366004613400565b6114ba565b6104167f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd981565b6104826108163660046134f9565b6114d8565b610162546001600160a01b03166105d3565b61041661083b3660046134f9565b61154f565b61048261084e3660046135b2565b6116ef565b61043c6108613660046135cb565b611782565b61041661019d5481565b6104626117ad565b610416610886366004613400565b6117bc565b6104826108993660046138de565b6117f4565b61041661019e5481565b610416600081565b61043c6108be3660046134f9565b611886565b6104826108d13660046135b2565b61190c565b6104826108e43660046138de565b611976565b61043c6108f73660046134f9565b611a2b565b61043c61090a366004613400565b6101986020526000908152604090205460ff1681565b61041661092e366004613400565b6001600160a01b0316600090815261019f602052604090206006015490565b610955611a39565b6040516104209190613913565b610482610970366004613960565b611a9b565b6104826109833660046135cb565b611bff565b61043c610996366004613400565b61019b6020526000908152604090205460ff1681565b6104166109ba3660046134f9565b611c24565b6104166109cd3660046139d7565b611c6b565b6104826109e03660046134c0565b611c96565b6104166109f3366004613400565b6101996020526000908152604090205481565b610482610a14366004613400565b611d2e565b60006001600160e01b03198216637965db0b60e01b1480610a4a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b606060368054610a5f90613a05565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8b90613a05565b8015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b5050505050905090565b610aea611db3565b6001600160a01b03821660008181526101986020908152604091829020805460ff191685151590811790915591519182527f017f1013f504f361fb5e4d3a829477caa14d488491d7042e78537a6d80c482e6910160405180910390a25050565b610b52611db3565b6001600160a01b0316600090815261019560205260409020805460ff19811660ff90911615179055565b600033610b8a818585611e0e565b5060019392505050565b610bac600080516020613cb683398151915233611782565b610bc8576040516282b42960e81b815260040160405180910390fd5b610be0600080516020613cd683398151915282611f32565b50565b610beb611db3565b60005b61019654811015610c5a57816001600160a01b03166101968281548110610c1757610c17613a39565b6000918252602090912001546001600160a01b031603610c4a57604051634a613c4160e01b815260040160405180910390fd5b610c5381613a65565b9050610bee565b50610196805460018082019092557f828feda00a4b64eb35101b6df8f6c29717b1ea6bae5dd03d3ddada8de0a9e7cb0180546001600160a01b0319166001600160a01b03841690811790915560008181526101986020526040808220805460ff1916909417909355915190917fa1f77cf0208e08e61710338f5370c9eba737ddc758d9f317dc5bdcff348e6e1a91a250565b600033610cfa858285611f3c565b610d05858585611fb6565b60019150505b9392505050565b6101968181548110610d2357600080fd5b6000918252602090912001546001600160a01b0316905081565b6000610d47612161565b6001600160a01b03831660009081526101986020526040902054839060ff16610d8357604051634a613c4160e01b815260040160405180910390fd5b6101975460ff1615610da857604051634a613c4160e01b815260040160405180910390fd5b6001600160a01b0384166000908152610198602052604090205460ff16610de257604051634a613c4160e01b815260040160405180910390fd5b610dec33846121bc565b336000908152610195602052604090205483925060ff16610e4a576001600160a01b038416600090815261019460205260409020620f42409060010154610e339084613a7e565b610e3d9190613a9d565b610e479083613abf565b91505b6001600160a01b038416600090815261019a602052604081208054859290610e73908490613abf565b90915550610e8490508433846122f0565b50610a4a600161013055565b600082815260fe6020526040902060010154610eab816123fd565b610eb58383612407565b505050565b6000610ec461248d565b905090565b6001600160a01b0381163314610f3e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610f488282612508565b5050565b600033610b8a818585610f5f8383611c6b565b610f699190613ad6565b611e0e565b33600090815261019b602052604090205460ff16610f9e576040516282b42960e81b815260040160405180910390fd5b33600090815261019c602052604090205460ff1615610fd057604051634a613c4160e01b815260040160405180910390fd5b33600090815261019f602052604090206002015415611023576000610ff4336113ae565b905080821115611017576040516305b4215560e11b815260040160405180910390fd5b611021338361256f565b505b610f4882826125c7565b33600090815261019f602052604090206006015415611080576000611051336117bc565b905080821115611074576040516305b4215560e11b815260040160405180910390fd5b61107e3383612688565b505b610be033826121bc565b600054610100900460ff16158080156110aa5750600054600160ff909116105b806110c45750303b1580156110c4575060005460ff166001145b6111275760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610f35565b6000805460ff19166001179055801561114a576000805461ff0019166101001790555b61115785853386866126e4565b61115f6128cc565b80156111a5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61019460205281600052604060002081600281106111c957600080fd5b01549150829050565b6111ea600080516020613cb683398151915233611782565b611206576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0391909116600090815261019b60205260409020805460ff1916911515919091179055565b600061123c612161565b6001600160a01b038516301461126557604051630134249960e71b815260040160405180910390fd5b61126e8561138b565b84111561128e57604051630134249960e71b815260040160405180910390fd5b600061129a8686611c24565b90506112a687866125c7565b6040516323e30c8b60e01b81527f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9906001600160a01b038916906323e30c8b906112fe9033908b908b9088908c908c90600401613aee565b6020604051808303816000875af115801561131d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113419190613b4a565b1461135f57604051634a613c4160e01b815260040160405180910390fd5b6113728761136d8388613ad6565b6121bc565b6001915050611382600161013055565b95945050505050565b60006001600160a01b03821630146113a557506000919050565b505061019e5490565b6001600160a01b038116600090815261019f60205260408120600381015460028201548254600190930154610a4a939061293a565b6113eb611db3565b6001600160a01b0390911660009081526101996020526040902055565b611410611db3565b61141a60006129b2565b565b611424611db3565b610197805460ff19811660ff90911615179055565b6000816114468433611c6b565b6114509190613abf565b905061145d833383611e0e565b33600090815261019f6020526040902060060154156114b0576000611481336117bc565b9050808311156114a4576040516305b4215560e11b815260040160405180910390fd5b6114ae3384612688565b505b610eb583836121bc565b6001600160a01b038116600090815260996020526040812054610a4a565b6114e0611db3565b306001600160a01b0383160361150957604051630134249960e71b815260040160405180910390fd5b6001600160a01b0382166000908152610198602052604090205460ff161561154457604051634a613c4160e01b815260040160405180910390fd5b610f488233836122f0565b6000611559612161565b6001600160a01b03831660009081526101986020526040902054839060ff1661159557604051634a613c4160e01b815260040160405180910390fd5b6101975460ff16156115ba57604051634a613c4160e01b815260040160405180910390fd5b6001600160a01b0384166000908152610198602052604090205460ff166115f457604051634a613c4160e01b815260040160405180910390fd5b6001600160a01b038416600090815261019a60205260408120546116189085613ad6565b6001600160a01b0386166000908152610199602052604090205490915081111561165557604051634a613c4160e01b815260040160405180910390fd5b6001600160a01b038516600090815261019a6020526040902081905561167d85333087612a05565b336000908152610195602052604090205484935060ff166116d8576001600160a01b03851660009081526101946020526040902054620f4240906116c19085613a7e565b6116cb9190613a9d565b6116d59084613abf565b92505b6116e233846125c7565b5050610a4a600161013055565b611707600080516020613cb683398151915233611782565b611723576040516282b42960e81b815260040160405180910390fd5b612710811061174557604051630134249960e71b815260040160405180910390fd5b61019d8190556040518181527f2a870645d0d1cf8866b52d71ff02db01b3e1dc4b70f53e2c4e85dbe60969b92e906020015b60405180910390a150565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b606060378054610a5f90613a05565b6001600160a01b038116600090815261019f60205260408120600781015460068201546004830154600590930154610a4a939061293a565b61180c600080516020613cb683398151915233611782565b611828576040516282b42960e81b815260040160405180910390fd5b6118328383612b12565b61183c8382612bba565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c94491015b60405180910390a2505050565b600033816118948286611c6b565b9050838110156118f45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610f35565b6119018286868403611e0e565b506001949350505050565b611924600080516020613cb683398151915233611782565b611940576040516282b42960e81b815260040160405180910390fd5b61019e8190556040518181527f6fa7ecc5c15a4eee2e87300bfa6827c73f06de5b70edf09ba1d1f7640539efe190602001611777565b61197e611db3565b620f4240821015806119935750620f42408110155b156119b157604051630134249960e71b815260040160405180910390fd5b60408051808201825283815260208082018490526001600160a01b0386166000908152610194909152919091206119e99160026132f1565b5060408051838152602081018390526001600160a01b038516917ff36e5def0a9227cce1f483e62a6b168e5c1dd4aa7e887e300745cdc4c2b5ab2d9101611879565b600033610b8a818585611fb6565b6060610196805480602002602001604051908101604052809291908181526020018280548015610ad857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611a74575050505050905090565b83421115611aeb5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610f35565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611b1a8c612c68565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000611b7582612c90565b90506000611b8582878787612cde565b9050896001600160a01b0316816001600160a01b031614611be85760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610f35565b611bf38a8a8a611e0e565b50505050505050505050565b600082815260fe6020526040902060010154611c1a816123fd565b610eb58383612508565b60006001600160a01b0383163014611c4f57604051630134249960e71b815260040160405180910390fd5b61271061019d5483611c619190613a7e565b610d0b9190613a9d565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b611cae600080516020613cd683398151915233611782565b611cca576040516282b42960e81b815260040160405180910390fd5b6001600160a01b038216600081815261019c6020908152604091829020805460ff19168515159081179091558251938452908301527fe8699cf681560fd07de85543bd994263f4557bdc5179dd702f256d15fd083e1d910160405180910390a15050565b611d36611db3565b6001600160a01b038116611d9b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f35565b610be0816129b2565b6001600160a01b03163b151590565b610162546001600160a01b0316331461141a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f35565b6001600160a01b038316611e705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610f35565b6001600160a01b038216611ed15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610f35565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b610f488282612407565b6000611f488484611c6b565b90506000198114611fb05781811015611fa35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610f35565b611fb08484848403611e0e565b50505050565b6001600160a01b03831661201a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610f35565b6001600160a01b03821661207c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610f35565b6001600160a01b038316600090815260336020526040902054818110156120f45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610f35565b6001600160a01b0380851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121549086815260200190565b60405180910390a3611fb0565b600261013054036121b45760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610f35565b600261013055565b6001600160a01b03821661221c5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610f35565b6001600160a01b038216600090815260336020526040902054818110156122905760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610f35565b6001600160a01b03831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161234c9190613b63565b6000604051808303816000865af19150503d8060008114612389576040519150601f19603f3d011682016040523d82523d6000602084013e61238e565b606091505b5091509150846001600160a01b03163b600014806123aa575081155b806123d157508051158015906123d15750808060200190518101906123cf9190613b7f565b155b156111a55784828260405163e7e40b5b60e01b8152600401610f3593929190613b9c565b600161013055565b610be08133612d06565b6124118282611782565b610f4857600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556124493390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610ec47f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6124bc60655490565b6066546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6125128282611782565b15610f4857600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600061257a836113ae565b6001600160a01b038416600090815261019f6020526040902042905590506125a28282613abf565b6001600160a01b03909316600090815261019f60205260409020600301929092555050565b6001600160a01b03821661261d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610f35565b806035600082825461262f9190613ad6565b90915550506001600160a01b0382166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6000612693836117bc565b6001600160a01b038416600090815261019f602052604090204260049091015590506126bf8282613abf565b6001600160a01b03909316600090815261019f60205260409020600701929092555050565b6126ec612d5f565b6126f4612d86565b61271785604051806040016040528060018152602001603160f81b815250612db6565b6127218585612df7565b61272a85612e45565b612732612e6c565b61273b836129b2565b60005b82518110156128c45761019683828151811061275c5761275c613a39565b602090810291909101810151825460018101845560009384528284200180546001600160a01b0319166001600160a01b03909216919091179055604080518082019091526101908082529181019190915284519091610194918690859081106127c7576127c7613a39565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000209060026127fd92919061332f565b506001610198600085848151811061281757612817613a39565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555081818151811061286857612868613a39565b6020026020010151610199600085848151811061288757612887613a39565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550806128bd90613a65565b905061273e565b505050505050565b6128e4600080516020613cb683398151915233611f32565b6128fc600080516020613cd683398151915233611f32565b612922600080516020613cd6833981519152600080516020613cb6833981519152612e93565b61141a600080516020613cb683398151915280612e93565b838381146129aa57426129506201518085613ad6565b1161295c5750826129aa565b4261296a6201518085613ad6565b11156129aa57600061297c8442613abf565b9050600061298a8483613a7e565b6129949084613ad6565b90508581116129a357806129a5565b855b925050505b949350505050565b61016280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151600092839290881691612a699190613b63565b6000604051808303816000865af19150503d8060008114612aa6576040519150601f19603f3d011682016040523d82523d6000602084013e612aab565b606091505b5091509150856001600160a01b03163b60001480612ac7575081155b80612aee5750805115801590612aee575080806020019051810190612aec9190613b7f565b155b156128c45785828260405163e7e40b5b60e01b8152600401610f3593929190613b9c565b6001600160a01b038216600090815261019f602052604081206002015490612b39846113ae565b6001600160a01b038516600090815261019f602052604090206002018490559050612b65838383612ede565b6001600160a01b038516600090815261019f6020526040902060030155612b8f6201518084613a9d565b6001600160a01b03909416600090815261019f60205260409020600181019490945550504290915550565b6001600160a01b038216600090815261019f602052604081206006015490612be1846117bc565b6001600160a01b038516600090815261019f602052604090206006018490559050612c0d838383612ede565b6001600160a01b038516600090815261019f6020526040902060070155612c376201518084613a9d565b6001600160a01b03909416600090815261019f60205260409020600581019490945550504260049092019190915550565b6001600160a01b03811660009081526099602052604090208054600181018255905b50919050565b6000610a4a612c9d61248d565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000612cef87878787612f35565b91509150612cfc81612ff9565b5095945050505050565b612d108282611782565b610f4857612d1d81613143565b612d28836020613155565b604051602001612d39929190613bc8565b60408051601f198184030181529082905262461bcd60e51b8252610f359160040161349f565b600054610100900460ff1661141a5760405162461bcd60e51b8152600401610f3590613c3d565b600054610100900460ff16612dad5760405162461bcd60e51b8152600401610f3590613c3d565b61141a336129b2565b600054610100900460ff16612ddd5760405162461bcd60e51b8152600401610f3590613c3d565b815160209283012081519190920120606591909155606655565b600054610100900460ff16612e1e5760405162461bcd60e51b8152600401610f3590613c3d565b8151612e31906036906020850190613363565b508051610eb5906037906020840190613363565b600054610100900460ff16610be05760405162461bcd60e51b8152600401610f3590613c3d565b600054610100900460ff166123f55760405162461bcd60e51b8152600401610f3590613c3d565b600082815260fe6020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60008084841115612f1457612ef38585613abf565b9050808311612f03576000612f0d565b612f0d8184613abf565b9150612f2d565b612f1e8486613abf565b9050612f2a8184613ad6565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612f6c5750600090506003612ff0565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612fc0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612fe957600060019250925050612ff0565b9150600090505b94509492505050565b600081600481111561300d5761300d613c88565b036130155750565b600181600481111561302957613029613c88565b036130765760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610f35565b600281600481111561308a5761308a613c88565b036130d75760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610f35565b60038160048111156130eb576130eb613c88565b03610be05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610f35565b6060610a4a6001600160a01b03831660145b60606000613164836002613a7e565b61316f906002613ad6565b67ffffffffffffffff811115613187576131876135f0565b6040519080825280601f01601f1916602001820160405280156131b1576020820181803683370190505b509050600360fc1b816000815181106131cc576131cc613a39565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106131fb576131fb613a39565b60200101906001600160f81b031916908160001a905350600061321f846002613a7e565b61322a906001613ad6565b90505b60018111156132a2576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061325e5761325e613a39565b1a60f81b82828151811061327457613274613a39565b60200101906001600160f81b031916908160001a90535060049490941c9361329b81613c9e565b905061322d565b508315610d0b5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610f35565b826002810192821561331f579160200282015b8281111561331f578251825591602001919060010190613304565b5061332b9291506133d6565b5090565b826002810192821561331f579160200282015b8281111561331f578251829061ffff16905591602001919060010190613342565b82805461336f90613a05565b90600052602060002090601f016020900481019282613391576000855561331f565b82601f106133aa57805160ff191683800117855561331f565b8280016001018555821561331f579182018281111561331f578251825591602001919060010190613304565b5b8082111561332b57600081556001016133d7565b6001600160a01b0381168114610be057600080fd5b60006020828403121561341257600080fd5b8135610d0b816133eb565b60006020828403121561342f57600080fd5b81356001600160e01b031981168114610d0b57600080fd5b60005b8381101561346257818101518382015260200161344a565b83811115611fb05750506000910152565b6000815180845261348b816020860160208601613447565b601f01601f19169290920160200192915050565b602081526000610d0b6020830184613473565b8015158114610be057600080fd5b600080604083850312156134d357600080fd5b82356134de816133eb565b915060208301356134ee816134b2565b809150509250929050565b6000806040838503121561350c57600080fd5b8235613517816133eb565b946020939093013593505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e08201526101008101610d0b565b60008060006060848603121561358657600080fd5b8335613591816133eb565b925060208401356135a1816133eb565b929592945050506040919091013590565b6000602082840312156135c457600080fd5b5035919050565b600080604083850312156135de57600080fd5b8235915060208301356134ee816133eb565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561362f5761362f6135f0565b604052919050565b600082601f83011261364857600080fd5b813567ffffffffffffffff811115613662576136626135f0565b613675601f8201601f1916602001613606565b81815284602083860101111561368a57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8211156136c1576136c16135f0565b5060051b60200190565b600082601f8301126136dc57600080fd5b813560206136f16136ec836136a7565b613606565b82815260059290921b8401810191818101908684111561371057600080fd5b8286015b8481101561372b5780358352918301918301613714565b509695505050505050565b6000806000806080858703121561374c57600080fd5b843567ffffffffffffffff8082111561376457600080fd5b61377088838901613637565b955060209150818701358181111561378757600080fd5b61379389828a01613637565b9550506040870135818111156137a857600080fd5b8701601f810189136137b957600080fd5b80356137c76136ec826136a7565b81815260059190911b8201840190848101908b8311156137e657600080fd5b928501925b8284101561380d5783356137fe816133eb565b825292850192908501906137eb565b9650505050606087013591508082111561382657600080fd5b50613833878288016136cb565b91505092959194509250565b60008060008060006080868803121561385757600080fd5b8535613862816133eb565b94506020860135613872816133eb565b935060408601359250606086013567ffffffffffffffff8082111561389657600080fd5b818801915088601f8301126138aa57600080fd5b8135818111156138b957600080fd5b8960208285010111156138cb57600080fd5b9699959850939650602001949392505050565b6000806000606084860312156138f357600080fd5b83356138fe816133eb565b95602085013595506040909401359392505050565b6020808252825182820181905260009190848201906040850190845b818110156139545783516001600160a01b03168352928401929184019160010161392f565b50909695505050505050565b600080600080600080600060e0888a03121561397b57600080fd5b8735613986816133eb565b96506020880135613996816133eb565b95506040880135945060608801359350608088013560ff811681146139ba57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156139ea57600080fd5b82356139f5816133eb565b915060208301356134ee816133eb565b600181811c90821680613a1957607f821691505b602082108103612c8a57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201613a7757613a77613a4f565b5060010190565b6000816000190483118215151615613a9857613a98613a4f565b500290565b600082613aba57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015613ad157613ad1613a4f565b500390565b60008219821115613ae957613ae9613a4f565b500190565b6001600160a01b03878116825286166020820152604081018590526060810184905260a06080820181905281018290526000828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b600060208284031215613b5c57600080fd5b5051919050565b60008251613b75818460208701613447565b9190910192915050565b600060208284031215613b9157600080fd5b8151610d0b816134b2565b6001600160a01b0384168152821515602082015260606040820181905260009061138290830184613473565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613c00816017850160208801613447565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613c31816028840160208801613447565b01602801949350505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b600081613cad57613cad613a4f565b50600019019056fedf8b4c520ffe197c5343c6f5aec59570151ef9a492f2c624fd45ddde6135ec42d3eedd6d69d410e954f4c622838ecc3acae9fdcd83cad412075c85b092770656a2646970667358221220d667b555db1df1065348edc9ce9adb4a19e3ede92f94dfdef28afcbcb7f3fc7f64736f6c634300080d0033
Generate instant answers for your smart contract questions using Al Models. Read more.
Net Worth in USD
Net Worth in ETH
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.

