Source Code
Latest 25 from a total of 6,606 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Withdraw All Liq... | 46949322 | 12 days ago | IN | 0 ETH | 0.00002712 | ||||
| Withdraw All Liq... | 46949296 | 12 days ago | IN | 0 ETH | 0.00003268 | ||||
| Swap | 46864726 | 14 days ago | IN | 0 ETH | 0.00000217 | ||||
| Swap | 46864719 | 14 days ago | IN | 0 ETH | 0.00000217 | ||||
| Swap | 46864714 | 14 days ago | IN | 0 ETH | 0.00000217 | ||||
| Swap | 46864529 | 14 days ago | IN | 0 ETH | 0.00000229 | ||||
| Swap | 46864518 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864515 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864512 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864509 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864506 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864503 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864500 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864497 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864494 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864491 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864488 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864485 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864481 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864478 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864475 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864472 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864469 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864466 | 14 days ago | IN | 0 ETH | 0.00000088 | ||||
| Swap | 46864463 | 14 days ago | IN | 0 ETH | 0.00000088 |
Latest 1 internal transaction
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 45743476 | 40 days ago | Contract Creation | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
This contract contains unverified libraries: Ln
Heuristics suggest this may be a proxy contract. Verify using the Proxy Contract Checker
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_xToken","type":"address"},{"internalType":"address","name":"_yToken","type":"address"},{"internalType":"address","name":"_lpToken","type":"address"},{"internalType":"uint256","name":"_inactiveLpId","type":"uint256"},{"components":[{"internalType":"uint16","name":"_lpFee","type":"uint16"},{"internalType":"uint16","name":"_protocolFee","type":"uint16"},{"internalType":"address","name":"_protocolFeeCollector","type":"address"}],"internalType":"struct FeeInfo","name":"fees","type":"tuple"},{"components":[{"internalType":"uint256","name":"_lowerPrice","type":"uint256"},{"internalType":"uint256","name":"_V","type":"uint256"},{"internalType":"uint256","name":"_xMin","type":"uint256"},{"internalType":"uint256","name":"_C","type":"uint256"}],"internalType":"struct ALTBCInput","name":"_tbcInput","type":"tuple"},{"internalType":"string","name":"_VERSION","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"CCannotBeZero","type":"error"},{"inputs":[],"name":"CannotDepositInactiveLiquidity","type":"error"},{"inputs":[],"name":"DnTooLarge","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"InactiveLiquidityExceedsLimit","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidToken","type":"error"},{"inputs":[{"internalType":"uint16","name":"proposedFee","type":"uint16"},{"internalType":"uint16","name":"maxFee","type":"uint16"}],"name":"LPFeeAboveMax","type":"error"},{"inputs":[],"name":"LPTokenWithdrawalAmountExceedsAllowance","type":"error"},{"inputs":[],"name":"MaxSlippageReached","type":"error"},{"inputs":[],"name":"NegativeValue","type":"error"},{"inputs":[],"name":"NotEnoughCollateral","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotProposedProtocolFeeCollector","type":"error"},{"inputs":[],"name":"NotProtocolFeeCollector","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"uint16","name":"proposedFee","type":"uint16"},{"internalType":"uint16","name":"maxFee","type":"uint16"}],"name":"ProtocolFeeAboveMax","type":"error"},{"inputs":[],"name":"QTooHigh","type":"error"},{"inputs":[{"internalType":"int256","name":"value","type":"int256"}],"name":"SafeCastOverflowedIntToUint","type":"error"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintToInt","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[],"name":"TransactionExpired","type":"error"},{"inputs":[],"name":"VCannotBeZero","type":"error"},{"inputs":[{"internalType":"uint256","name":"howMuch","type":"uint256"}],"name":"XOutOfBounds","type":"error"},{"inputs":[],"name":"XTokenDecimalsIsNot18","type":"error"},{"inputs":[],"name":"XandYTokensAreTheSame","type":"error"},{"inputs":[],"name":"YTokenDecimalsGT18","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroValueNotAllowed","type":"error"},{"inputs":[],"name":"xMinCannotBeZero","type":"error"},{"anonymous":false,"inputs":[{"components":[{"internalType":"packedFloat","name":"b","type":"uint256"},{"internalType":"packedFloat","name":"c","type":"uint256"},{"internalType":"packedFloat","name":"C","type":"uint256"},{"internalType":"packedFloat","name":"xMin","type":"uint256"},{"internalType":"packedFloat","name":"xMax","type":"uint256"},{"internalType":"packedFloat","name":"V","type":"uint256"},{"internalType":"packedFloat","name":"Zn","type":"uint256"}],"indexed":false,"internalType":"struct ALTBCDef","name":"altbc","type":"tuple"},{"indexed":false,"internalType":"packedFloat","name":"x","type":"uint256"}],"name":"ALTBCCurveState","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_xToken","type":"address"},{"indexed":true,"internalType":"address","name":"_yToken","type":"address"},{"indexed":false,"internalType":"string","name":"_version","type":"string"},{"indexed":false,"internalType":"uint16","name":"_lpFee","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"_protocolFee","type":"uint16"},{"indexed":false,"internalType":"address","name":"_protocolFeeCollector","type":"address"},{"components":[{"internalType":"uint256","name":"_lowerPrice","type":"uint256"},{"internalType":"uint256","name":"_V","type":"uint256"},{"internalType":"uint256","name":"_xMin","type":"uint256"},{"internalType":"uint256","name":"_C","type":"uint256"}],"indexed":false,"internalType":"struct ALTBCInput","name":"_tbcInput","type":"tuple"}],"name":"ALTBCPoolDeployed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum CommonEvents.FeeCollectionType","name":"_feeType","type":"uint8"},{"indexed":false,"internalType":"uint16","name":"_fee","type":"uint16"}],"name":"FeeSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum CommonEvents.FeeCollectionType","name":"_feeType","type":"uint8"},{"indexed":false,"internalType":"address","name":"_collector","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"FeesCollected","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"lpFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"protocolFee","type":"uint256"}],"name":"FeesGenerated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"packedFloat","name":"wj","type":"uint256"},{"indexed":false,"internalType":"packedFloat","name":"hn","type":"uint256"}],"name":"LPTokenUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_A","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_B","type":"uint256"}],"name":"LiquidityDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"lp","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountOutXToken","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountOutYToken","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"revenue","type":"uint256"},{"indexed":false,"internalType":"address","name":"_recipient","type":"address"}],"name":"LiquidityWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","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":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"bool","name":"isInactive","type":"bool"}],"name":"PositionMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_collector","type":"address"}],"name":"ProtocolFeeCollectorConfirmed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_collector","type":"address"}],"name":"ProtocolFeeCollectorProposed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_collector","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"_recipient","type":"address"}],"name":"RevenueWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_tokenIn","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amountIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_amountOut","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_minOut","type":"uint256"},{"indexed":false,"internalType":"address","name":"_recipient","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"activeLpId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"name":"collectProtocolFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"confirmProtocolFeeCollector","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"_A","type":"uint256"},{"internalType":"uint256","name":"_B","type":"uint256"},{"internalType":"uint256","name":"_minA","type":"uint256"},{"internalType":"uint256","name":"_minB","type":"uint256"},{"internalType":"uint256","name":"expires","type":"uint256"}],"name":"depositLiquidity","outputs":[{"internalType":"uint256","name":"A","type":"uint256"},{"internalType":"uint256","name":"B","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"enableSwaps","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getFeeInfo","outputs":[{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPoolConstants","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"inactiveLpId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"deployer","type":"address"},{"internalType":"uint256","name":"initialLiq","type":"uint256"},{"internalType":"uint256","name":"___wInactive","type":"uint256"}],"name":"initializePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lpToken","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":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_protocolFeeCollector","type":"address"}],"name":"proposeProtocolFeeCollector","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveH","outputs":[{"internalType":"packedFloat","name":"h","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"revenueAvailable","outputs":[{"internalType":"uint256","name":"_revenueAvailable","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_fee","type":"uint16"}],"name":"setLPFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_protocolFee","type":"uint16"}],"name":"setProtocolFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenIn","type":"address"},{"internalType":"uint256","name":"_amountIn","type":"uint256"}],"name":"simSwap","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"lpFeeAmount","type":"uint256"},{"internalType":"uint256","name":"protocolFeeAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenout","type":"address"},{"internalType":"uint256","name":"_amountOut","type":"uint256"}],"name":"simSwapReversed","outputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"lpFeeAmount","type":"uint256"},{"internalType":"uint256","name":"protocolFeeAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_A","type":"uint256"},{"internalType":"uint256","name":"_B","type":"uint256"}],"name":"simulateLiquidityDeposit","outputs":[{"internalType":"uint256","name":"A","type":"uint256"},{"internalType":"uint256","name":"B","type":"uint256"},{"internalType":"uint256","name":"Q","type":"uint256"},{"internalType":"int256","name":"ratio","type":"int256"},{"internalType":"packedFloat","name":"qFloat","type":"uint256"},{"internalType":"packedFloat","name":"L","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"uj","type":"uint256"},{"internalType":"packedFloat","name":"_uj","type":"uint256"}],"name":"simulateWithdrawLiquidity","outputs":[{"internalType":"uint256","name":"Ax","type":"uint256"},{"internalType":"uint256","name":"Ay","type":"uint256"},{"internalType":"uint256","name":"revenueAccrued","type":"uint256"},{"internalType":"packedFloat","name":"q","type":"uint256"},{"internalType":"packedFloat","name":"L","type":"uint256"},{"internalType":"packedFloat","name":"wj","type":"uint256"},{"internalType":"packedFloat","name":"rj","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"spotPrice","outputs":[{"internalType":"uint256","name":"sPrice","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenIn","type":"address"},{"internalType":"uint256","name":"_amountIn","type":"uint256"},{"internalType":"uint256","name":"_minOut","type":"uint256"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_expires","type":"uint256"}],"name":"swap","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"lpFeeAmount","type":"uint256"},{"internalType":"uint256","name":"protocolFeeAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tbc","outputs":[{"internalType":"packedFloat","name":"b","type":"uint256"},{"internalType":"packedFloat","name":"c","type":"uint256"},{"internalType":"packedFloat","name":"C","type":"uint256"},{"internalType":"packedFloat","name":"xMin","type":"uint256"},{"internalType":"packedFloat","name":"xMax","type":"uint256"},{"internalType":"packedFloat","name":"V","type":"uint256"},{"internalType":"packedFloat","name":"Zn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"w","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_minAx","type":"uint256"},{"internalType":"uint256","name":"_minAy","type":"uint256"},{"internalType":"uint256","name":"expires","type":"uint256"}],"name":"withdrawAllLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"uj","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_minAx","type":"uint256"},{"internalType":"uint256","name":"_minAy","type":"uint256"},{"internalType":"uint256","name":"expires","type":"uint256"}],"name":"withdrawPartialLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"Q","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"name":"withdrawRevenue","outputs":[{"internalType":"uint256","name":"revenue","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"x","outputs":[{"internalType":"packedFloat","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"xToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"yToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610207575f3560e01c8063715018a61161011f578063be392196116100a9578063e30c397811610079578063e30c39781461058e578063e4467f351461059f578063e87d80b3146105b2578063f2fde38b146105c5578063fc517a6c146105d8575f80fd5b8063be39219614610509578063c604b9d214610511578063c8e4a73214610559578063cf62d1041461056c575f80fd5b80638da5cb5b116100ef5780638da5cb5b146104805780638db4266f14610490578063ac6fdffb146104d0578063acf0ae03146104e3578063bd2e2a2d146104f6575f80fd5b8063715018a61461043657806379ba50971461043e578063856686521461044657806386b81d481461046d575f80fd5b8063296fbd20116101a057806349bfcca11161017057806349bfcca1146103a55780635c975abb146103cc5780635fcbd285146103e957806369a887c4146104105780636fb920ff14610423575f80fd5b8063296fbd20146103345780632a54db01146103625780632f27872c14610375578063398482d81461039d575f80fd5b806311b1d936116101db57806311b1d936146102df5780631d4a53dd14610306578063205c9cc71461031957806325cac58914610321575f80fd5b806202eab71461020b578063014e8e901461027f578063088b699e146102895780630c55699c146102c8575b5f80fd5b61024060035460045460065461ffff8084169462010000850490911693600160201b90046001600160a01b0390811693169190565b6040805161ffff96871681529590941660208601526001600160a01b0392831693850193909352166060830152608082015260a0015b60405180910390f35b61028761060f565b005b6102b07f000000000000000000000000420000000000000000000000000000000000000681565b6040516001600160a01b039091168152602001610276565b6102d160025481565b604051908152602001610276565b6102d17f000000000000000000000000000000000000000000000000000000000000001681565b6102d16103143660046156c2565b6106b6565b6102d16106ca565b61028761032f3660046156ed565b6106db565b610347610342366004615731565b61079e565b60408051938452602084019290925290820152606001610276565b61028761037036600461575b565b6109d0565b610388610383366004615776565b610a87565b60408051928352602083019190915201610276565b6102d1610c92565b6102b07f000000000000000000000000fde4c96c8593536e31f229ea8f37b2ada2699bb281565b600154600160a01b900460ff166040519015158152602001610276565b6102b07f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c7081565b6102d161041e3660046157b5565b610ce0565b6102876104313660046157eb565b610fa7565b610287610ffa565b61028761100d565b6102d17f000000000000000000000000000000000000000000000000000000000000001581565b61034761047b366004615731565b611056565b5f546001600160a01b03166102b0565b6104a361049e36600461583a565b6111ab565b604080519687526020870195909552938501929092526060840152608083015260a082015260c001610276565b6102876104de36600461585a565b6112ec565b6103476104f136600461588c565b6116eb565b61028761050436600461575b565b6119d1565b6102d1611a61565b61052461051f3660046158da565b611a94565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e001610276565b610287610567366004615903565b611d15565b600854600954600a54600b54600c54600d54600e546105249695949392919087565b6001546001600160a01b03166102b0565b6102876105ad366004615922565b611d33565b6102876105c0366004615922565b611dec565b6102876105d336600461575b565b611e87565b6105e0611ef7565b6040805195865260208601949094529284019190915261ffff908116606084015216608082015260a001610276565b6004546001600160a01b0316336001600160a01b0316146106435760405163a8ed10f560e01b815260040160405180910390fd5b600480546001600160a01b031916905560038054640100000000600160c01b031916600160201b33908102919091179091557f3714e1f41e46bee362d3d427b1d58a8a93e4f41cb17fa4c2b55bfad5eec40eb7905b6040516001600160a01b0390911681526020015b60405180910390a1565b5f6106c082611f2b565b9695505050505050565b5f6106d6600754612040565b905090565b80428110156106fd576040516338e5e54b60e21b815260040160405180910390fd5b604051632eae26a360e01b8152600481018790525f907f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c706001600160a01b031690632eae26a3906024016040805180830381865afa158015610761573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107859190615943565b5090506107958782888888612052565b50505050505050565b5f80807f00000000000000000000000042000000000000000000000000000000000000066001600160a01b039081169086161480158161081057507f000000000000000000000000fde4c96c8593536e31f229ea8f37b2ada2699bb26001600160a01b0316866001600160a01b031614155b1561082e5760405163c1ab6dc160e01b815260040160405180910390fd5b60035460019061ffff1615801590610844575081155b156108555761085281615979565b90505b60035462010000900461ffff161580159061086e575081155b1561087f5761087c81615979565b90505b808610156108a05760405163273e150360e21b815260040160405180910390fd5b816108f9576003546108b790879061ffff166123fd565b93506108d386600360029054906101000a900461ffff166123fd565b92506108df8385615991565b6108e990876159a4565b95506108f6600187612435565b95505b5f826109295761092461091f61091060125f6159b7565b6109198a6124d8565b90612504565b61250f565b61093f565b61093f61093a61091060125f6159b7565b6125a5565b905061095261094d82612040565b612656565b955082156109c5576109645f87612435565b9550855f0361097e575f805f9550955095505050506109c9565b60035461099090879061ffff166123fd565b94506109ac86600360029054906101000a900461ffff166123fd565b93506109b88486615991565b6109c290876159a4565b95505b5050505b9250925092565b600354600160201b90046001600160a01b0316336001600160a01b031614610a0b57604051634bcc919160e11b815260040160405180910390fd5b600680545f9091557fce036cfb3526ea2b10d144d451940ae3050661d3c6ff5ce0698d68290635ad8460013383604051610a47939291906159fd565b60405180910390a1610a836001600160a01b037f000000000000000000000000fde4c96c8593536e31f229ea8f37b2ada2699bb216838361267b565b5050565b5f80610a916126df565b8242811015610ab3576040516338e5e54b60e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000158903610af357604051633a22fe3f60e11b815260040160405180910390fd5b5f80610aff8a8a6111ab565b94995092975092945090925050851590508015610b1a575083155b15610b385760405163273e150360e21b815260040160405180910390fd5b610b42858961270a565b610b4c848861270a565b610b817f00000000000000000000000042000000000000000000000000000000000000066001600160a01b031633308861272b565b610bb67f000000000000000000000000fde4c96c8593536e31f229ea8f37b2ada2699bb26001600160a01b031633308761272b565b610bd182600754610bc5612764565b6008929190855f612811565b5f610be7600754836128d190919063ffffffff16565b90505f610c0b6f0785ee10d5da46d900f436a000000000611fdb60f21b01846128dc565b600254909150610c1e90600890836128e7565b600255600754610c2e90836128dc565b600755610c3b8d83612949565b9c507fa74b54c06133e997406e0369608fb6a8fd1d17957751a6d2a6390ddff1938769338e8989604051610c729493929190615a25565b60405180910390a1610c82612b84565b5050505050965096945050505050565b5f80610c9c612bf5565b9050610ca781612040565b91507f000000000000000000000000000000000000000000000000000000000000000c15610cdc57610cd95f83612435565b91505b5090565b5f825f03610d015760405163273e150360e21b815260040160405180910390fd5b336040516331a9108f60e11b8152600481018690526001600160a01b03918216917f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c701690636352211e90602401602060405180830381865afa158015610d69573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8d9190615a4b565b6001600160a01b0316141580610dc257507f000000000000000000000000000000000000000000000000000000000000001584145b15610de05760405163c1ab6dc160e01b815260040160405180910390fd5b5f610e18610e0f60127f000000000000000000000000000000000000000000000000000000000000000c6159b7565b610919866124d8565b90505f805f610e2688611f2b565b5091955093509150610e3a90508482612c1a565b15610e5857604051630a95445d60e41b815260040160405180910390fd5b5f610e6d610e668686612c25565b84906128dc565b604051634b9638a160e01b8152600481018b905260248101869052604481018290529091507f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c706001600160a01b031690634b9638a1906064015f604051808303815f87803b158015610edd575f80fd5b505af1158015610eef573d5f803e3d5ffd5b50505050610efd5f89612435565b95506001600160a01b03871615610f145786610f16565b335b9650610f4c6001600160a01b037f000000000000000000000000fde4c96c8593536e31f229ea8f37b2ada2699bb216888861267b565b60408051338152602081018b90528082018890526001600160a01b038916606082015290517f178971ab4180d741a759b693b6194d618e8744bd2cd9283fd4b8a27376fd2f809181900360800190a150505050509392505050565b8042811015610fc9576040516338e5e54b60e21b815260040160405180910390fd5b5f610fe1610fd86012836159b7565b610919896124d8565b9050610ff08882888888612052565b5050505050505050565b611002612c30565b61100b5f612c5c565b565b60015433906001600160a01b0316811461104a5760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b61105381612c5c565b50565b5f80807f00000000000000000000000042000000000000000000000000000000000000066001600160a01b03908116908616148015816110c857507f000000000000000000000000fde4c96c8593536e31f229ea8f37b2ada2699bb26001600160a01b0316866001600160a01b031614155b156110e65760405163c1ab6dc160e01b815260040160405180910390fd5b801561114f575f61110a6111056110fe6012846159b7565b8890612504565b612c75565b90505f61111682612040565b90506111225f82612435565b905061112d81612cf1565b955093508361113c8683615991565b6111469190615991565b955050506111a3565b61115885612cf1565b9350915061117b60018461116c8589615991565b6111769190615991565b612435565b94505f61119461118f6110fe6012846159b7565b612e44565b905061119f81612040565b9450505b509250925092565b5f805f805f805f806111c96002546008612ec190919063ffffffff16565b925061123b6002546111ea60125f6111e191906159b7565b6109198e6124d8565b6112186111e160127f000000000000000000000000000000000000000000000000000000000000000c6159b7565b8661122f6002546008612f8b90919063ffffffff16565b60089493929190612fd4565b9550909250905061124e61094d83612040565b975061128861094d6112817f000000000000000000000000000000000000000000000000000000000000000c60126159b7565b83906130be565b965061129661094d85612040565b95506112b7816a3c2f7086aed236c807a1b560251b611fc960f21b01613147565b156112cb576001600160ff1b0394506112e0565b6112dd6112d88383612c25565b613152565b94505b50509295509295509295565b6112f4612c30565b63409feecd19805460038255801561132a5760018160011c14303b106113215763f92ee8a95f526004601cfd5b818160ff1b1b91505b5061134061133960125f6159b7565b8490612504565b6007555f6113526113396012836159b7565b600754600b5491925061136591906128dc565b600c556007545f90611377908361315e565b90506113838183613169565b600b546002556113916131fa565b5f6113a86002546008612f8b90919063ffffffff16565b90505f6113ca6113c38560075461315e90919063ffffffff16565b8390612c25565b90506001600160a01b037f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c701663e09d528d898661140e6001600160ff1b035f612504565b6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260448201526064016020604051808303815f875af115801561145e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114829190615a66565b50604080517f0000000000000000000000000000000000000000000000000000000000000015815233602082015260018183015290517f6136d8c47070ef828a13637445977ecb8a55f6f7ffc222d89ccbc5d55083c41c9181900360600190a17fa74b54c06133e997406e0369608fb6a8fd1d17957751a6d2a6390ddff1938769887f0000000000000000000000000000000000000000000000000000000000000015885f6040516115379493929190615a25565b60405180910390a160405163e09d528d60e01b81526001600160a01b03898116600483015260248201859052604482018390527f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c70169063e09d528d906064016020604051808303815f875af11580156115b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115d69190615a66565b50604080517f000000000000000000000000000000000000000000000000000000000000001681523360208201525f8183015290517f6136d8c47070ef828a13637445977ecb8a55f6f7ffc222d89ccbc5d55083c41c9181900360600190a17fa74b54c06133e997406e0369608fb6a8fd1d17957751a6d2a6390ddff1938769887f0000000000000000000000000000000000000000000000000000000000000016611682898b6159a4565b5f6040516116939493929190615a25565b60405180910390a16116a3612b84565b6116ac88612c5c565b5050505080156116e5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b50505050565b5f805f6116f66126df565b8342811015611718576040516338e5e54b60e21b815260040160405180910390fd5b7f00000000000000000000000042000000000000000000000000000000000000066001600160a01b03908116908a16146117ac33308b84611779577f000000000000000000000000fde4c96c8593536e31f229ea8f37b2ada2699bb261179b565b7f00000000000000000000000042000000000000000000000000000000000000065b6001600160a01b031692919061272b565b875f036117cc5760405163273e150360e21b815260040160405180910390fd5b6117d68a8a61079e565b919650945092506117e7858961270a565b806118125761180d6118046117fd60125f6159b7565b8790612504565b600254906128dc565b611835565b61183561182c61182360125f6159b7565b6109198c6124d8565b6002549061315e565b6002556118406131fa565b61189761188e61185a611851612764565b6007549061315e565b6118886110fe60127f000000000000000000000000000000000000000000000000000000000000000c6159b7565b90612c25565b600554906128dc565b6005819055508260065f8282546118ae9190615991565b909155505060408051858152602081018590527fca5f7361ea42c74fda1fb5461d79fc07a5a0bc02cc7a317ecb2dc5a27d68488e910160405180910390a1604080516001600160a01b038c81168252602082018c9052818301889052606082018b90528916608082015290517ffcfa612587d1091cc6d8ce39878a7e6e8742c856865fc9d64db3e1a2f1ab52ef9181900360a00190a161194c612b84565b6119c46001600160a01b038816156119645787611966565b335b8683611992577f00000000000000000000000042000000000000000000000000000000000000066119b4565b7f000000000000000000000000fde4c96c8593536e31f229ea8f37b2ada2699bb25b6001600160a01b0316919061267b565b5050955095509592505050565b600354600160201b90046001600160a01b0316336001600160a01b031614611a0c57604051634bcc919160e11b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527f31e6d1bb06ec7bb4a4473b9c71ff9effbc1ed3a524fffcff55a20b54d07a7013906020015b60405180910390a150565b5f6106d6611a7b6002546008612ec190919063ffffffff16565b600754611a86612764565b600554600893929190613224565b5f80808080808088158015611aae5750611aae885f613246565b15611acc5760405163273e150360e21b815260040160405180910390fd5b8815611aec57611ae9611ae060125f6159b7565b6109198b6124d8565b97505b604051632eae26a360e01b8152600481018b90527f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c706001600160a01b031690632eae26a3906024016040805180830381865afa158015611b4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b729190615943565b9092509050611b818289613147565b15611b9f5760405163154fdc1960e11b815260040160405180910390fd5b600254611bae90600890612ec1565b92505f611bc084600754611a86612764565b9050611bd76007548a612c2590919063ffffffff16565b94505f611bfe611bf760025460086004015461315e90919063ffffffff16565b87906128d1565b9050611c0c61094d82612040565b9850505f611c41611bf7611c2c6002546008612ec190919063ffffffff16565b600254611c3b90600890612f8b565b9061315e565b9050611c62816a3c2f7086aed236c807a1b560251b611fc960f21b01613147565b611c9c57611c9761094d6112817f000000000000000000000000000000000000000000000000000000000000000c60126159b7565b611c9e565b5f5b97505f9050611cad828461315e565b9050611cb9815f612c1a565b611cc3575f611d04565b611d0461094d611cf47f000000000000000000000000000000000000000000000000000000000000000c60126159b7565b611cfe8d856128d1565b906130be565b965050509397509397509397909450565b611d1d612c30565b8015611d2b57611053613251565b61105361328d565b600354600160201b90046001600160a01b0316336001600160a01b031614611d6e57604051634bcc919160e11b815260040160405180910390fd5b601461ffff82161115611da157604051634bc811d160e01b815261ffff8216600482015260146024820152604401611041565b6003805463ffff000019166201000061ffff8416021790556040517f7fb16701ce34f6e63628ecafdb04a0b337d29d42597d65619a1ace94b3ed4f3190611a56906001908490615a7d565b611df4612c30565b611e016014611388615a9c565b61ffff168161ffff161115611e445780611e1e6014611388615a9c565b6040516271490160e41b815261ffff928316600482015291166024820152604401611041565b6003805461ffff191661ffff83161790556040517f7fb16701ce34f6e63628ecafdb04a0b337d29d42597d65619a1ace94b3ed4f3190611a56905f908490615a7d565b611e8f612c30565b600180546001600160a01b0383166001600160a01b03199091168117909155611ebf5f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f808080806012611f0981600a615b97565b6127106014611f1a81611388615a9c565b945094509450945094509091929394565b5f805f805f611f38611a61565b604051632eae26a360e01b8152600481018890529095507f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c706001600160a01b031690632eae26a3906024016040805180830381865afa158015611f9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc19190615943565b9094509250611fd18486856132d0565b9150611ff2826a3c2f7086aed236c807a1b560251b611fc960f21b01613147565b6120335761202e61094d6120277f000000000000000000000000000000000000000000000000000000000000000c60126159b7565b84906130be565b612035565b5f5b905091939590929450565b5f61204c8260126130be565b92915050565b336040516331a9108f60e11b8152600481018790526001600160a01b03918216917f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c701690636352211e90602401602060405180830381865afa1580156120ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120de9190615a4b565b6001600160a01b0316146121055760405163c1ab6dc160e01b815260040160405180910390fd5b5f805f805f805f6121178c5f8d611a94565b96509650965096509650965096505f6121398c8461315e90919063ffffffff16565b9050612145888b61270a565b61214f878a61270a565b60405163b869df3960e01b8152600481018e905260248101829052604481018390526001600160a01b037f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c70169063b869df39906064015f604051808303815f87803b1580156121bc575f80fd5b505af11580156121ce573d5f803e3d5ffd5b505050507f00000000000000000000000000000000000000000000000000000000000000168d036122af57604051632eae26a360e01b81527f000000000000000000000000000000000000000000000000000000000000001560048201525f907f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c706001600160a01b031690632eae26a3906024016040805180830381865afa15801561227c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122a09190615943565b5090506122ad8282613169565b505b505f6122d26f0785ee10d5da46d900f436a000000000611fdb60f21b018661315e565b90507f00000000000000000000000000000000000000000000000000000000000000158d036123195761231161230886866128d1565b600e54906128dc565b600e55612335565b61233584600754612328612764565b6008929190896001612811565b61233f815f613246565b1561235a5761234c61328d565b6123555f612c5c565b61236e565b60025461236a90600890836128e7565b6002555b60075461237b908d61315e565b6007556001600160a01b038b1615612393578a612395565b335b9a506123cb6001600160a01b037f0000000000000000000000004200000000000000000000000000000000000006168c8a61267b565b6123d98b611992888a615991565b6123e68d8989898f6132ed565b6123ee612b84565b50505050505050505050505050565b5f61ffff82161561204c5761271061241961ffff841685615ba2565b6124239190615bcd565b61242e906001615991565b9392505050565b5f7f000000000000000000000000000000000000000000000000000000000000000c5f0361246457508061204c565b826124a3576124947f000000000000000000000000000000000000000000000000000000000000000c600a615b97565b61249e9083615bcd565b61242e565b6124ce7f000000000000000000000000000000000000000000000000000000000000000c600a615b97565b61242e9083615ba2565b5f6001600160ff1b03821115610cdc5760405163123baf0360e11b815260048101839052602401611041565b5f61242e8383613351565b5f806125276002546008612f8b90919063ffffffff16565b600c549091505f9061253b90600890612f8b565b90506125518161254b84876128dc565b90612c1a565b1561256f57604051632de5738560e11b815260040160405180910390fd5b5f61258561257d84876128dc565b600890613539565b905061259c6002548261315e90919063ffffffff16565b95945050505050565b5f6125c76125be8360025461315e90919063ffffffff16565b600b5490612c1a565b15612614576125f861094d6125f36125ea6002548661315e90919063ffffffff16565b600b54906128dc565b612040565b6040516366b63c0160e11b815260040161104191815260200190565b6002545f90612623908461315e565b90505f61263c6002546008612f8b90919063ffffffff16565b90505f61264a600884612f8b565b905061259c828261315e565b5f80821215610cdc57604051635467221960e11b815260048101839052602401611041565b6040516001600160a01b038381166024830152604482018390526126da91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506135b3565b505050565b600154600160a01b900460ff161561100b5760405163d93c066560e01b815260040160405180910390fd5b80821015610a835760405163951df44360e01b815260040160405180910390fd5b6040516001600160a01b0384811660248301528381166044830152606482018390526116e59186918216906323b872dd906084016126a8565b604051632eae26a360e01b81527f000000000000000000000000000000000000000000000000000000000000001560048201525f907f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c706001600160a01b031690632eae26a3906024016040805180830381865afa1580156127e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061280b9190615943565b50919050565b801561284457612841827f7f6d00000000000000000000000000000785ee10d5da46d900f436a0000000006128d1565b91505b5f61284f858561315e565b905061285b815f613246565b6128be576128b96128798860060154856128d190919063ffffffff16565b6128b36128a86128968b600601548b6128dc90919063ffffffff16565b6128a288818b89612c25565b906128d1565b60068b0154906128dc565b906128dc565b6128c0565b5f5b876006018190555050505050505050565b5f61242e838361361f565b5f61242e8383613a0b565b5f6128f283836128d1565b84549091506129019083612c25565b8455600484015461291290836128d1565b6004850155600384015461292690836128d1565b6003850155600284015461293a90836128d1565b84600201819055509392505050565b5f80612953611a61565b9050835f03612a48576001600160a01b037f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c701663e09d528d336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101869052604481018490526064016020604051808303815f875af11580156129dd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a019190615a66565b604080518281523360208201525f8183015290519195507f6136d8c47070ef828a13637445977ecb8a55f6f7ffc222d89ccbc5d55083c41c919081900360600190a1612b7c565b604051632eae26a360e01b8152600481018590525f9081906001600160a01b037f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c701690632eae26a3906024016040805180830381865afa158015612aae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ad29190615943565b90925090505f612ae286846128dc565b90505f612af185888587613f69565b604051634b9638a160e01b8152600481018a905260248101849052604481018290529091507f000000000000000000000000245d352067e2a06fcdc8f8b63a0c330b2a713c706001600160a01b031690634b9638a1906064015f604051808303815f87803b158015612b61575f80fd5b505af1158015612b73573d5f803e3d5ffd5b50505050505050505b509192915050565b6002546040805160085481526009546020820152600a5491810191909152600b546060820152600c546080820152600d5460a0820152600e5460c082015260e08101919091527f41d81c238d179b323f52fe9ae5587317d77b7d300b6eff3edba3c6ca3d56288f90610100016106ac565b5f6106d6612c12611804612c0a6012856159b7565b600190612504565b600890613f8e565b5f61242e8383613fa5565b5f61242e83836140d6565b5f546001600160a01b0316331461100b5760405163118cdaa760e01b8152336004820152602401611041565b600180546001600160a01b0319169055611053816140e2565b5f80612c8c836002546128dc90919063ffffffff16565b600c54909150612c9d908290612c1a565b15612cc057600b54600c546125f89161094d916125f39190611c3b90869061315e565b5f612cd76002546008612f8b90919063ffffffff16565b90505f612ce5600884612f8b565b905061259c818361315e565b6003545f908190612d0e9061ffff62010000820481169116615be0565b61ffff165f03612d2257505f928392509050565b6003545f90612d48908590612d439061ffff62010000820481169116615be0565b614131565b60035490915061ffff165f03612d635791505f905081612e3d565b60035462010000900461ffff165f03612d81575f9250905080612e3d565b612d8a81615979565b60035490915061ffff620100008204811691161115612def57600354612dbd9061ffff8082169162010000900416615be0565b60035461ffff91821691612dd2911683615ba2565b612ddc9190615bcd565b9150612de882826159a4565b9250612e3d565b600354612e099061ffff8082169162010000900416615be0565b60035461ffff91821691612e24916201000090041683615ba2565b612e2e9190615bcd565b9250612e3a83826159a4565b91505b505b915091565b600b545f908190612e5790600890612f8b565b90505f612e706002546008612f8b90919063ffffffff16565b9050612e8682612e80838761315e565b90613147565b15612ea35760405162d11df360e61b815260040160405180910390fd5b5f612eb161257d838761315e565b60025490915061259c908261315e565b5f80612ef6612edd8560020154856128dc90919063ffffffff16565b60028601546003870154612ef0916128dc565b90614150565b90505f612f028261415b565b90505f612f53612f1f8388600501546128d190919063ffffffff16565b60018801546128b390612f47906a3c2f7086aed236c807a1b560261b611fdb60f21b016128d1565b89546128b3908a6128d1565b90506106c0612f846a3c2f7086aed236c807a1b560261b611fdb60f21b018860030154612c2590919063ffffffff16565b82906128d1565b5f61242e612fa68385600101546128d190919063ffffffff16565b6128b36a3c2f7086aed236c807a1b560261b611fdb60f21b01611888612fcc87806128d1565b8854906128d1565b5f805f80612fef898b6004015461315e90919063ffffffff16565b90505f612ffc868861315e565b9050613008815f613147565b1561301057505f5b5f61301b89846128d1565b90505f6130288b846128d1565b905061303482826141cf565b1561308e5789955061305b836a3c2f7086aed236c807a1b560251b611fc960f21b01613147565b15613074578a965061306d8785612c25565b94506130ae565b6130828a6128a28686612c25565b965061306d8684612c25565b8a965061309f876128a28587612c25565b95506130ab8785612c25565b94505b5050505096509650969350505050565b5f805f6130ca856141da565b90925090506130da5f1982615bfb565b9050815f036130eb575f925061313f565b8381131561311d575f6130fe85836159b7565b905061310b81600a615b97565b6131159084615c2a565b93505061313f565b5f61312882866159b7565b905061313581600a615b97565b6106c09084615bfb565b505092915050565b5f61242e8383614228565b5f61204c8260246130be565b5f61242e8383614356565b613173815f613246565b1561317c575050565b613186825f6141cf565b156131a4576040516328cae52360e11b815260040160405180910390fd5b6131dc7f7f6400000000000000000000000000000785ee10d5da46d900f436a000000000612e806131d584866128dc565b8590612c25565b15610a83576040516328cae52360e11b815260040160405180910390fd5b60088054600254909161320c916146b3565b600254156110535760025461105390600890836146de565b5f6106c0826128b3613236878761315e565b60068a0154611888908a906128dc565b5f61242e83836147c5565b61325961486c565b6001805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33610698565b6132956126df565b6001805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586106983390565b5f6132e56132de848461315e565b85906128d1565b949350505050565b604080513381526020810187905280820186905260608101859052608081018490526001600160a01b03831660a082015290517fc14ef7a04e44932c58f38d353d1d61350ddcb6999ceab072762dd86455c9dd639181900360c00190a15050505050565b5f8080841561313f57611fb3198412156133a05760405162461bcd60e51b8152602060048201526013602482015272666c6f61743132383a20756e646572666c6f7760681b6044820152606481fd5b600160ff1b8516156133b957600160f01b9250845f0394505b6f4b3b4ca85a86c47a098a223fffffffff85131580156133e757506a3c2f7086aed236c807a1b560251b8512155b8061341757505f80516020615c85833981519152851315801561341757505f80516020615ca58339815191528512155b6134865761342485614896565b915060268203905080600160ff1b1681850160111912811517801561345c5760228303925082600160ff1b169150600160f11b851794505b5093810193801561347257815f03600a0a860295505b806134805781600a0a860495505b50613525565b6f4b3b4ca85a86c47a098a223fffffffff85131580156134b457506a3c2f7086aed236c807a1b560251b8512155b80156134c1575060111984135b156134ec57697b426fab61f00de3639960221b85029450602284039350600160f11b83019250613525565b5f80516020615c85833981519152851315801561351657505f80516020615ca58339815191528512155b1561352557600160f11b830192505b50506120009190910160f21b919091171790565b5f61242e613594613589613584613575866128a2895f01546a3c2f7086aed236c807a1b560261b611fdb60f21b016128d190919063ffffffff16565b60018801546128b390806128d1565b614985565b6001860154906128dc565b6118886a3c2f7086aed236c807a1b560261b611fdb60f21b01856128d1565b5f8060205f8451602086015f885af1806135d2576040513d5f823e3d81fd5b50505f513d915081156135e95780600114156135f6565b6001600160a01b0384163b155b156116e557604051635274afe760e01b81526001600160a01b0385166004820152602401611041565b5f8080808080871580613630575086155b15613642575f9550505050505061204c565b5f600160f11b8916115f600160f11b89161180821792508960f21c8960f21c6001600160f01b038c166001600160f01b038c165f8115831517156136b25760405162461bcd60e51b815260206004820152601860248201525f80516020615cc58339815191526044820152606481fd5b6f4b3b4ca85a86c47a098a223fffffffff82116a3c2f7086aed236c807a1b560251b8310178615165f80516020615c8583398151915283115f80516020615ca58339815191528410178716176f4b3b4ca85a86c47a098a223fffffffff84116a3c2f7086aed236c807a1b560251b8510178815165f80516020615c8583398151915285115f80516020615ca583398151915286101789161717905080156137855760405162461bcd60e51b815260206004820152601c60248201525f80516020615ce58339815191526044820152606481fd5b50604c8085109084101761204c8585011017156137d75760405162461bcd60e51b8152602060048201526013602482015272666c6f61743132383a20756e646572666c6f7760681b6044820152606481fd5b615fb4848401111561381d5760405162461bcd60e51b8152602060048201526012602482015271666c6f61743132383a206f766572666c6f7760701b6044820152606481fd5b861561387c578561384157697b426fab61f00de3639960221b820291506022840393505b8461385d5760211990920191697b426fab61f00de3639960221b025b611fff198484010199505f1981830981830299508981108a8203039850505b86613890578082029a506120008385010399505b5050505050508015613936576138b483835f80516020615ca583398151915261498f565b945050604792909201915f80516020615c858339815191528411611fcc819003841190818116156138ec57600a860495506001850194505b81613930578015613912576e13426172c74d822b878fe800000000860495506023850194505b8061393057697b426fab61f00de3639960221b860495506022850194505b506139d8565b50611fc87f0235fadd81c2822bb3f07877973d50f28bf22a31be8ee7ffffffffffffffffff8511801591820185119161399e57811561397d57612710860495506004850194505b8161399e576f4b3b4ca85a86c47a098a224000000000860495506026850194505b806139d65781156139b7576103e8860495506003850194505b816139d6576a3c2f7086aed236c807a1b560251b860495506025850194505b505b8360f21b8517600160f01b8816600160f01b8a16181795508015613a0057600160f11b861795505b505050505092915050565b5f805f80855f03613a215784935050505061204c565b845f03613a335785935050505061204c565b5f600160f11b8716115f600160f11b871611600160f01b8716600160f01b89161893508760f21c8760f21c6001600160f01b038a166001600160f01b038a165f811583151715613aaf5760405162461bcd60e51b815260206004820152601860248201525f80516020615cc58339815191526044820152606481fd5b6f4b3b4ca85a86c47a098a223fffffffff82116a3c2f7086aed236c807a1b560251b8310178615165f80516020615c8583398151915283115f80516020615ca58339815191528410178716176f4b3b4ca85a86c47a098a223fffffffff84116a3c2f7086aed236c807a1b560251b8510178815165f80516020615c8583398151915285115f80516020615ca58339815191528610178916171790508015613b825760405162461bcd60e51b815260206004820152601c60248201525f80516020615ce58339815191526044820152606481fd5b50604c8310604c85101715613bcc5760405162461bcd60e51b8152602060048201526013602482015272666c6f61743132383a20756e646572666c6f7760681b6044820152606481fd5b8715613fb4808611908511171615613c185760405162461bcd60e51b8152602060048201526012602482015271666c6f61743132383a206f766572666c6f7760701b6044820152606481fd5b85613c3657697b426fab61f00de3639960221b820291506022840393505b84613c525760211990920191697b426fab61f00de3639960221b025b82841115613ca0576004840360f21b9950828a60f21c03955085600160ff1b1694508415613c8b5761271091909102905f869003600a0a025b84613ca05785600a0a81059050612710820291505b83831115613cec576004830360f21b9950838a60f21c03955085600160ff1b1694508415613cd9575f869003600a0a9190910290612710025b84613cec57600a86900a90910590612710025b828403613d0a57600319840160f21b99506001965061271091820291025b600160f01b8b1615613d19575f035b600160f01b8c1615613d2b57815f0391505b0196505050600160ff1b8516159150613d4f905057600160f01b84179350825f0392505b82613d58575f93505b8315613f605760f284901c8215613ea4576f4b3b4ca85a86c47a098a223fffffffff8411158015613d9757506a3c2f7086aed236c807a1b560251b8410155b80613dc757505f80516020615c858339815191528411158015613dc757505f80516020615ca58339815191528410155b613e3d575f613dd585614896565b90506026810380612000840301601119128015613dfc57602282039150600160f11b881797505b5080600160ff1b168015613e1f57815f03600a0a87029650815f0360f21b880397505b80613e355781600a0a870496508160f21b880197505b505050613f5a565b5f80516020615ca58339815191528410158015613e7d57506022613e646011195f19615bfb565b613e70906120006159a4565b613e7a91906159a4565b81105b15613e9f57601160f31b9490940193697b426fab61f00de3639960221b909305925b613f5a565b7f161bcca7119915b50764b4abe86529797775a5f171950fffffffffffffffffff8411611fc803818114908210178015613ef857601360f31b95909501946f4b3b4ca85a86c47a098a224000000000909404935b80613f0e57600960f11b90950194612710909404935b506f4b3b4ca85a86c47a098a223fffffffff84115f80516020615ca58339815191528510165f80516020615c8583398151915285111715613f5a57600160f21b9490940193600a909304925b50928217925b50505092915050565b5f61259c613f7783866128dc565b611888613f8486866128d1565b6128b389896128d1565b600182015482545f9161242e916128b390856128d1565b5f818303613fb457505f61204c565b5f600160f11b8416115f600160f11b8416115f600160f01b8616115f600160f01b861611861586158082178015613ffa57838316851584151683161715613ffa57600197505b806140c9576001600160f21b03198a1692506001600160f21b0319891691506001600160f01b038a166001600160f01b038a1688614053576001601160f31b031990940193697b426fab61f00de3639960221b91909102905b87614075576001601160f31b031990930192697b426fab61f00de3639960221b025b868614614080578599505b8515871516156140a4578385036140975781811099505b848410156140a457600199505b858716156140c6578385036140b95780821099505b838510156140c657600199505b50505b5050505050505092915050565b5f61242e83835f614a17565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f61414261ffff83166127106159a4565b61241961ffff841685615ba2565b5f61242e8383614e1a565b60405163126a748560e11b8152600481018290525f9073a0e135f0ea5ca04b51926cce4d43ed82d2514260906324d4e90a90602401602060405180830381865af41580156141ab573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061204c9190615a66565b5f61242e8383614e27565b5f808260f21c8061200011156141f357611fff19810191505b611fff81111561420557612000810391505b506001600160f01b0383169150600160f01b831615612e3f57815f039150915091565b5f81830361423757505f61204c565b5f600160f11b8416115f600160f11b8416115f600160f01b8616115f600160f01b86161186158615808217801561427d5784821684158315168416171561427d57600197505b806140c9576001600160f21b03198a1692506001600160f21b0319891691506001600160f01b038a166001600160f01b038a16886142d6576001601160f31b031990940193697b426fab61f00de3639960221b91909102905b876142f8576001601160f31b031990930192697b426fab61f00de3639960221b025b868614614303578699505b8515871516156143275783850361431a5780821099505b8385101561432757600199505b858716156140c65783850361433c5780821199505b838511156140c6575060019b9a5050505050505050505050565b5f805f80855f0361437c5784156143715784600160f01b1894505b84935050505061204c565b845f0361438e5785935050505061204c565b5f600160f11b8716115f600160f11b871611600160f01b8716600160f01b89161493508760f21c8760f21c6001600160f01b038a166001600160f01b038a165f81158315171561440a5760405162461bcd60e51b815260206004820152601860248201525f80516020615cc58339815191526044820152606481fd5b6f4b3b4ca85a86c47a098a223fffffffff82116a3c2f7086aed236c807a1b560251b8310178615165f80516020615c8583398151915283115f80516020615ca58339815191528410178716176f4b3b4ca85a86c47a098a223fffffffff84116a3c2f7086aed236c807a1b560251b8510178815165f80516020615c8583398151915285115f80516020615ca583398151915286101789161717905080156144dd5760405162461bcd60e51b815260206004820152601c60248201525f80516020615ce58339815191526044820152606481fd5b50604c8310604c851017156145275760405162461bcd60e51b8152602060048201526013602482015272666c6f61743132383a20756e646572666c6f7760681b6044820152606481fd5b8715613fb48086119085111716156145735760405162461bcd60e51b8152602060048201526012602482015271666c6f61743132383a206f766572666c6f7760701b6044820152606481fd5b8561459157697b426fab61f00de3639960221b820291506022840393505b846145ad5760211990920191697b426fab61f00de3639960221b025b828411156145fb576004840360f21b9950828a60f21c03955085600160ff1b16945084156145e65761271091909102905f869003600a0a025b846145fb5785600a0a81059050612710820291505b83831115614647576004830360f21b9950838a60f21c03955085600160ff1b1694508415614634575f869003600a0a9190910290612710025b8461464757600a86900a90910590612710025b82840361466557600319840160f21b99506001965061271091820291025b600160f01b8b16613d19575f03600160f01b8c1615613d2b57815f0391500196505050600160ff1b8516159150613d4f905057600160f01b84179350825f03925082613d58575f9350613f60565b6146d86146cd8360020154836128dc90919063ffffffff16565b600584015490612c25565b90915550565b82545f906146ec9083612c1a565b15614774578354614718906a3c2f7086aed236c807a1b560261b611fdb60f21b0190611888908561315e565b905061472481846128d1565b905061473d846001015482612c1a90919063ffffffff16565b1561475b57604051630313715960e01b815260040160405180910390fd5b600184015461476a908261315e565b60018501556116e5565b835461479c906a3c2f7086aed236c807a1b560261b611fdb60f21b019061188890859061315e565b90506147a881846128d1565b60018501549091506147ba90826128dc565b600185015550505050565b818114600160f11b808416908316600160f01b8086169085161483158284141516161561313f576001600160f21b031985166001600160f21b031985166001600160f01b0387166001600160f01b0387168561483c576001601160f31b031990930192697b426fab61f00de3639960221b91909102905b8461485e576001601160f31b031990920191697b426fab61f00de3639960221b025b149114169250505092915050565b600154600160a01b900460ff1661100b57604051638dfc202b60e01b815260040160405180910390fd5b5f8115614980577a184f03e93ff9f4daa797ed6e38ed64bf6a1f00ffffffffffffffff8211156148e257507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000900460405b6d04ee2d6d415b85acef80ffffffff82111561490f576d04ee2d6d415b85acef8100000000909104906020015b662386f26fc0ffff82111561492e57662386f26fc10000909104906010015b6305f5e0ff821115614947576305f5e100909104906008015b61270f82111561495c57612710909104906004015b606382111561496f576064909104906002015b600982111561497c576001015b6001015b919050565b5f61204c82614f4c565b5f815f198409828482089050828582085f84810385168082038190046001018389109097039687029290970387900491909117959093049284900390506149e1576149da8285615bcd565b905061242e565b50600260038202811880830282030280830282030280830282030280830282030280830282030291820290030291909102919050565b5f82614a625760405162461bcd60e51b815260206004820152601a60248201527f666c6f61743132383a206469766973696f6e206279207a65726f0000000000006044820152606481fd5b835f03614a7057508261242e565b5f8080806001600160f01b038089169060f28a811c918a16908a901c84600160f11b8d81161515908d16151582871586151715614ad95760405162461bcd60e51b815260206004820152601860248201525f80516020615cc58339815191526044820152606481fd5b6f4b3b4ca85a86c47a098a223fffffffff86116a3c2f7086aed236c807a1b560251b8710178215165f80516020615c8583398151915287115f80516020615ca58339815191528810178316176f4b3b4ca85a86c47a098a223fffffffff89116a3c2f7086aed236c807a1b560251b8a10178415165f80516020615c858339815191528a115f80516020615ca58339815191528b10178516171790508015614bac5760405162461bcd60e51b815260206004820152601c60248201525f80516020615ce58339815191526044820152606481fd5b50604c80871090851017611f6719858803121715614bff5760405162461bcd60e51b8152602060048201526013602482015272666c6f61743132383a20756e646572666c6f7760681b6044820152606481fd5b611fb48487031315614c455760405162461bcd60e51b8152602060048201526012602482015271666c6f61743132383a206f766572666c6f7760701b6044820152606481fd5b8181178d1760111960241986890301131792508215614ce55781614c7c57697b426fab61f00de3639960221b870296506022860395505b80614c9a57697b426fab61f00de3639960221b850294506022840393505b5f197490e40fbeea1d3a4abc8955e946fe31cdcf66f634e160481b88097490e40fbeea1d3a4abc8955e946fe31cdcf66f634e160481b880299508981108a8203039850506048860395505b505080614d08576f4b3b4ca85a86c47a098a224000000000850294506026840393505b8015614d2957614d1987878561498f565b9850816120008501039750614d38565b82850498508161200085010397505b80614d65576f4b3b4ca85a86c47a098a223fffffffff89118015614d6357600189019850600a8a0499505b505b8015614de257505f80516020615c858339815191528811611fcc81900388118b179081811615614d9c57600189019850600a8a0499505b81614de0578015614dc2576023890198506e13426172c74d822b878fe8000000008a0499505b80614de057602289019850697b426fab61f00de3639960221b8a0499505b505b8760f21b8917600160f01b8d16600160f01b8f16181799508015614e0a57600160f11b8a1799505b5050505050505050509392505050565b5f61242e83836001614a17565b5f818303614e375750600161204c565b5f600160f11b8416115f600160f11b8416115f600160f01b8616115f600160f01b86161186158615808217801561427d5784821684158416171561427d5760019750806140c9576001600160f21b03198a1692506001600160f21b0319891691506001600160f01b038a166001600160f01b038a16886142d6576001601160f31b031990940193697b426fab61f00de3639960221b9190910290876142f8576001601160f31b031990930192697b426fab61f00de3639960221b02868614614303578699508515871516156143275783850361431a578082109950838510156143275760019950858716156140c65783850361433c578082119950838511156140c6575060019b9a5050505050505050505050565b5f815f03614f58575090565b5f805f805f80600160f01b881615614faf5760405162461bcd60e51b815260206004820152602060248201527f666c6f61743132383a20737175617265726f6f74206f66206e656761746976656044820152606481fd5b5f600160f11b89161190506001600160f01b03881692508760f21c94505f836150045760405162461bcd60e51b815260206004820152601860248201525f80516020615cc58339815191526044820152606481fd5b811561502d575f80516020615ca583398151915284105f80516020615c85833981519152851117175b81615059576a3c2f7086aed236c807a1b560251b84106f4b3b4ca85a86c47a098a223fffffffff851117175b80156150915760405162461bcd60e51b815260206004820152601c60248201525f80516020615ce58339815191526044820152606481fd5b508080156150b557506150a6600160226159a4565b6150b2906120006159b7565b85135b806150eb5750801580156150eb575060016150d260026026615bcd565b6150dc91906159a4565b6150e8906120006159b7565b85135b15615200578061511c5761510c697b426fab61f00de3639960221b84615ba2565b92506151196022866159b7565b94505b615128612000866159b7565b9450615135600286615c56565b1561515357615145600a84615ba2565b925061515085615c69565b94505b5f80615177857490e40fbeea1d3a4abc8955e946fe31cdcf66f634e160481b6153a4565b915091505f61518683836153c1565b90505f61519460488a6159b7565b60029005905060015f80516020615c858339815191528311156151be57600a830492508160010191505b60331982136151df57697b426fab61f00de3639960221b83049250506022015f5b61200082019150600160f11b8102838360f21b17179b505050505050615399565b6002850661523d57801561521c57612710830293506004850394505b8061523d576f4b3b4ca85a86c47a098a224000000000830293506026850394505b600285061561527d57801561525b57620186a0830293506005850394505b8061527d577002f050fe938943acc45f65568000000000830293506027850394505b6001600160801b85811490861117604081810283901b608090920287901d600160401b8181149082111760208181029490941b92021d600160201b8181149082111760108181029390931b93021d620100008181149082111760088181029490941b9083029190911d6101008181149082111760048181029390931b94021d80831492811192909217600281029390931b9281029190911d8082149110171b80860401811c80860401811c80860401811c80860401811c80860401811c80860401811c80860401901c95508584049150818614828711171561535d578195505b61200060026120008703040194506f4b3b4ca85a86c47a098a223fffffffff86111561539057600185019450600a860495505b858560f21b1796505b505050505050919050565b5f805f198385098385029250828110838203039150509250929050565b5f815f036153d9576153d28361551b565b905061204c565b600160fe1b600160801b831060800292831b600160c01b811060400290811b600160e01b811060200290811b600160f01b811060100290811b600160f81b811060080290811b600160fc1b811060040290811b9586106002029490970192909201010193909301830184811b946101008290031c9190931b17915f61545d8461551b565b90505f61546a8280615ba2565b61547490866159a4565b608083811b600185901b83831c5f81900382810690910185851b8c861c17838106919091018381049284900484830401929092019384019950949550909290839006919082811b6fffffffffffffffffffffffffffffffff8c1617908280029084811c9084901c11806154f85750608084901c608084901c1480156154f857508082105b156155045760018a0399505b600289049990991c9b9a5050505050505050505050565b5f815f0361552a57505f919050565b6001905081600160801b8114600160801b82111781608082021d915082604082021b9250600160401b8214600160401b831117905081604082021d915082602082021b9250600160201b8214600160201b831117905081602082021d915082601082021b925062010000821462010000831117905081601082021d915082600882021b92506101008214610100831117905081600882021d915082600482021b9250601082146010831117905081600482021d915082600282021b925050816002600883146008841117021b915050600181838161560a5761560a615bb9565b048201901c9050600181838161562257615622615bb9565b048201901c9050600181838161563a5761563a615bb9565b048201901c9050600181838161565257615652615bb9565b048201901c9050600181838161566a5761566a615bb9565b048201901c9050600181838161568257615682615bb9565b048201901c9050600181838161569a5761569a615bb9565b048201901c90505f8183816156b1576156b1615bb9565b0490508082101561204c578161242e565b5f602082840312156156d2575f80fd5b5035919050565b6001600160a01b0381168114611053575f80fd5b5f805f805f60a08688031215615701575f80fd5b853594506020860135615713816156d9565b94979496505050506040830135926060810135926080909101359150565b5f8060408385031215615742575f80fd5b823561574d816156d9565b946020939093013593505050565b5f6020828403121561576b575f80fd5b813561242e816156d9565b5f805f805f8060c0878903121561578b575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f606084860312156157c7575f80fd5b833592506020840135915060408401356157e0816156d9565b809150509250925092565b5f805f805f8060c08789031215615800575f80fd5b86359550602087013594506040870135615819816156d9565b959894975094956060810135955060808101359460a0909101359350915050565b5f806040838503121561584b575f80fd5b50508035926020909101359150565b5f805f6060848603121561586c575f80fd5b8335615877816156d9565b95602085013595506040909401359392505050565b5f805f805f60a086880312156158a0575f80fd5b85356158ab816156d9565b9450602086013593506040860135925060608601356158c9816156d9565b949793965091946080013592915050565b5f805f606084860312156158ec575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215615913575f80fd5b8135801515811461242e575f80fd5b5f60208284031215615932575f80fd5b813561ffff8116811461242e575f80fd5b5f8060408385031215615954575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601160045260245ffd5b5f6001820161598a5761598a615965565b5060010190565b8082018082111561204c5761204c615965565b8181038181111561204c5761204c615965565b8181035f8312801583831316838312821617156159d6576159d6615965565b5092915050565b600281106159f957634e487b7160e01b5f52602160045260245ffd5b9052565b60608101615a0b82866159dd565b6001600160a01b0393909316602082015260400152919050565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b5f60208284031215615a5b575f80fd5b815161242e816156d9565b5f60208284031215615a76575f80fd5b5051919050565b60408101615a8b82856159dd565b61ffff831660208301529392505050565b61ffff8281168282160390808211156159d6576159d6615965565b600181815b80851115615af157815f1904821115615ad757615ad7615965565b80851615615ae457918102915b93841c9390800290615abc565b509250929050565b5f82615b075750600161204c565b81615b1357505f61204c565b8160018114615b295760028114615b3357615b4f565b600191505061204c565b60ff841115615b4457615b44615965565b50506001821b61204c565b5060208310610133831016604e8410600b8410161715615b72575081810a61204c565b615b7c8383615ab7565b805f1904821115615b8f57615b8f615965565b029392505050565b5f61242e8383615af9565b808202811582820484141761204c5761204c615965565b634e487b7160e01b5f52601260045260245ffd5b5f82615bdb57615bdb615bb9565b500490565b61ffff8181168382160190808211156159d6576159d6615965565b8082025f8212600160ff1b84141615615c1657615c16615965565b818105831482151761204c5761204c615965565b5f82615c3857615c38615bb9565b600160ff1b82145f1984141615615c5157615c51615965565b500590565b5f82615c6457615c64615bb9565b500790565b5f600160ff1b8201615c7d57615c7d615965565b505f19019056fe000090e40fbeea1d3a4abc8955e946fe31cdcf66f634e0ffffffffffffffffff00000e7d34c64a9c85d4460dbbca87196b61618a4bd216800000000000000000666c6f61743132383a20636f72727570746564207a65726f0000000000000000666c6f61743132383a20756e6e6f726d616c697a656420666c6f617400000000a264697066735822122022244e15db1bb81962b1851c7e4c1c47859007511f511674454f342f6506c50e64736f6c63430008180033
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$155.25
Net Worth in ETH
0.089597
Token Allocations
WETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| BASE | 100.00% | $1,733.81 | 0.0895 | $155.25 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
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.