ETH Price: $2,525.22 (-1.65%)

Contract

0x803B96fA3cE086A722CB6C1e2C79D304c8a263Ff
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Source Code Verified Exact Match

Contract Name

ZkSync

Compiler Version
v0.7.6+commit.7338295f
Optimization Enabled
Yes with 200 runs
Other Settings
default evmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"ApproveCutUpgradeNoticePeriod","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"blockNumber","type":"uint32"}],"name":"BlockCommit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"blockNumber","type":"uint32"}],"name":"BlockVerification","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"totalBlocksVerified","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"totalBlocksCommitted","type":"uint32"}],"name":"BlocksRevert","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"claimRoot","type":"bytes32"}],"name":"ClaimRootSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint16","name":"tokenId","type":"uint16"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"zkSyncBlockId","type":"uint32"},{"indexed":true,"internalType":"uint32","name":"accountId","type":"uint32"},{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"uint16","name":"tokenId","type":"uint16"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"}],"name":"DepositCommit","type":"event"},{"anonymous":false,"inputs":[],"name":"DepositsPause","type":"event"},{"anonymous":false,"inputs":[],"name":"ExodusMode","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint32","name":"nonce","type":"uint32"},{"indexed":false,"internalType":"bytes","name":"fact","type":"bytes"}],"name":"FactAuth","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"zkSyncBlockId","type":"uint32"},{"indexed":true,"internalType":"uint32","name":"accountId","type":"uint32"},{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"uint16","name":"tokenId","type":"uint16"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"}],"name":"FullExitCommit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"claimDistributor","type":"address"}],"name":"L1ClaimDistributorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint64","name":"serialId","type":"uint64"},{"indexed":false,"internalType":"enum Operations.OpType","name":"opType","type":"uint8"},{"indexed":false,"internalType":"bytes","name":"pubData","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"expirationBlock","type":"uint256"}],"name":"NewPriorityRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newNoticePeriod","type":"uint256"}],"name":"NoticePeriodChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"}],"name":"TokenMigrationExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"uint16","name":"tokenId","type":"uint16"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"}],"name":"Withdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"tokenId","type":"uint32"}],"name":"WithdrawalNFT","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"tokenId","type":"uint32"}],"name":"WithdrawalNFTPending","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint16","name":"tokenId","type":"uint16"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"},{"indexed":false,"internalType":"enum Operations.WithdrawalType","name":"withdrawalType","type":"uint8"}],"name":"WithdrawalPending","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"authFacts","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"authFactsResetTimer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"blockNumber","type":"uint32"},{"internalType":"uint64","name":"priorityOperations","type":"uint64"},{"internalType":"bytes32","name":"pendingOnchainOperationsHash","type":"bytes32"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"stateHash","type":"bytes32"},{"internalType":"bytes32","name":"commitment","type":"bytes32"}],"internalType":"struct Storage.StoredBlockInfo","name":"_lastCommittedBlockData","type":"tuple"},{"components":[{"internalType":"bytes32","name":"newStateHash","type":"bytes32"},{"internalType":"bytes","name":"publicData","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"components":[{"internalType":"bytes","name":"ethWitness","type":"bytes"},{"internalType":"uint32","name":"publicDataOffset","type":"uint32"}],"internalType":"struct ZkSync.OnchainOperationData[]","name":"onchainOperations","type":"tuple[]"},{"internalType":"uint32","name":"blockNumber","type":"uint32"},{"internalType":"uint32","name":"feeAccount","type":"uint32"}],"internalType":"struct ZkSync.CommitBlockInfo[]","name":"_newBlocksData","type":"tuple[]"}],"name":"commitBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"targetsHash","type":"bytes32"}],"name":"cutUpgradeNoticePeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes[]","name":"signatures","type":"bytes[]"}],"name":"cutUpgradeNoticePeriodBySignature","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"uint104","name":"_amount","type":"uint104"},{"internalType":"address","name":"_zkSyncAddress","type":"address"}],"name":"depositERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_zkSyncAddress","type":"address"}],"name":"depositETH","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint32","name":"blockNumber","type":"uint32"},{"internalType":"uint64","name":"priorityOperations","type":"uint64"},{"internalType":"bytes32","name":"pendingOnchainOperationsHash","type":"bytes32"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"stateHash","type":"bytes32"},{"internalType":"bytes32","name":"commitment","type":"bytes32"}],"internalType":"struct Storage.StoredBlockInfo","name":"storedBlock","type":"tuple"},{"internalType":"bytes[]","name":"pendingOnchainOpsPubdata","type":"bytes[]"}],"internalType":"struct ZkSync.ExecuteBlockInfo[]","name":"_blocksData","type":"tuple[]"}],"name":"executeBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exodusMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"firstPriorityRequestId","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNoticePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"address","name":"_token","type":"address"}],"name":"getPendingBalance","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"initializationParameters","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isReadyForUpgrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"isTokenMigrated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"migrateToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pauseDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pausedDeposits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"blockNumber","type":"uint32"},{"internalType":"uint64","name":"priorityOperations","type":"uint64"},{"internalType":"bytes32","name":"pendingOnchainOperationsHash","type":"bytes32"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"stateHash","type":"bytes32"},{"internalType":"bytes32","name":"commitment","type":"bytes32"}],"internalType":"struct Storage.StoredBlockInfo[]","name":"_committedBlocks","type":"tuple[]"},{"components":[{"internalType":"uint256[]","name":"recursiveInput","type":"uint256[]"},{"internalType":"uint256[]","name":"proof","type":"uint256[]"},{"internalType":"uint256[]","name":"commitments","type":"uint256[]"},{"internalType":"uint8[]","name":"vkIndexes","type":"uint8[]"},{"internalType":"uint256[16]","name":"subproofsLimbs","type":"uint256[16]"}],"internalType":"struct ZkSync.ProofInput","name":"_proof","type":"tuple"}],"name":"proveBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_accountId","type":"uint32"},{"internalType":"address","name":"_token","type":"address"}],"name":"requestFullExit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_accountId","type":"uint32"},{"internalType":"uint32","name":"_tokenId","type":"uint32"}],"name":"requestFullExitNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"blockNumber","type":"uint32"},{"internalType":"uint64","name":"priorityOperations","type":"uint64"},{"internalType":"bytes32","name":"pendingOnchainOperationsHash","type":"bytes32"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"stateHash","type":"bytes32"},{"internalType":"bytes32","name":"commitment","type":"bytes32"}],"internalType":"struct Storage.StoredBlockInfo[]","name":"_blocksToRevert","type":"tuple[]"}],"name":"revertBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_pubkeyHash","type":"bytes"},{"internalType":"uint32","name":"_nonce","type":"uint32"}],"name":"setAuthPubkeyHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_claimDistributor","type":"address"}],"name":"setClaimRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"storedBlockHashes","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBlocksCommitted","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBlocksExecuted","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBlocksProven","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalOpenPriorityRequests","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint128","name":"_amount","type":"uint128"},{"internalType":"uint128","name":"_maxAmount","type":"uint128"}],"name":"transferERC20","outputs":[{"internalType":"uint128","name":"withdrawnAmount","type":"uint128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"upgradeParameters","type":"bytes"}],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgradeCanceled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgradeFinishes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgradeNoticePeriodStarted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgradePreparationStarted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_owner","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint128","name":"_amount","type":"uint128"}],"name":"withdrawPendingBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_tokenId","type":"uint32"}],"name":"withdrawPendingNFTBalance","outputs":[],"stateMutability":"nonpayable","type":"function"}]
60806040523480156200001157600080fd5b506200001c62000022565b62000086565b7f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf480546001909155801562000083576040805162461bcd60e51b815260206004820152600260248201526118a160f11b604482015290519081900360640190fd5b50565b615c5a80620000966000396000f3fe60806040526004361061021a5760003560e01c806378b91e7011610123578063b0705b42116100ab578063d514da501161006f578063d514da50146105c0578063e17376b5146105e0578063f223548714610600578063f96a600614610615578063faf4d8cb146106305761021a565b8063b0705b4214610550578063b269b9ae14610486578063b4a8498c14610570578063b65975ec1461058b578063c57b22be146105ab5761021a565b80638ae20dc9116100f25780638ae20dc9146104b05780639ba0d146146104d05780639beb4650146104f0578063ab9b2adf14610510578063afc62d9b146105305761021a565b806378b91e70146104515780638398180814610466578063871b8ff1146104865780638773334c1461049b5761021a565b806345269298116101a65780635aca41f6116101755780635aca41f6146103ab5780636068d6cb146103d8578063647b5923146103ed57806367708dae1461040f57806368809a23146104315761021a565b8063452692981461032b578063505a75731461034b578063595a5ebc1461036b57806359acda851461038b5761021a565b8063264c0912116101ed578063264c0912146102965780632a3174f4146102c15780632d2da806146102e35780633b154b73146102f6578063439fab911461030b5761021a565b8063021919801461021f5780630e7b77271461023657806313d9787b146102565780632539464514610276575b600080fd5b34801561022b57600080fd5b50610234610645565b005b34801561024257600080fd5b50610234610251366004614978565b61070b565b34801561026257600080fd5b50610234610271366004614e88565b6108ff565b34801561028257600080fd5b50610234610291366004614c64565b610a3c565b3480156102a257600080fd5b506102ab610abf565b6040516102b8919061540e565b60405180910390f35b3480156102cd57600080fd5b506102d6610ac8565b6040516102b89190615419565b6102346102f1366004614978565b610acd565b34801561030257600080fd5b50610234610b3d565b34801561031757600080fd5b50610234610326366004614c64565b610b43565b34801561033757600080fd5b50610234610346366004614dc4565b610c73565b34801561035757600080fd5b50610234610366366004614e53565b610e9a565b34801561037757600080fd5b50610234610386366004614c97565b611107565b34801561039757600080fd5b506102346103a6366004614c34565b611114565b3480156103b757600080fd5b506103cb6103c6366004614a2e565b61111c565b6040516102b89190615a17565b3480156103e457600080fd5b506102ab6111eb565b3480156103f957600080fd5b506104026111f4565b6040516102b89190615a61565b34801561041b57600080fd5b50610424611200565b6040516102b89190615a91565b34801561043d57600080fd5b506103cb61044c366004614ce8565b61120f565b34801561045d57600080fd5b506102346113f5565b34801561047257600080fd5b50610234610481366004614b03565b611425565b34801561049257600080fd5b506102346116be565b3480156104a757600080fd5b506102ab6116c8565b3480156104bc57600080fd5b506102d66104cb366004614a66565b6116cd565b3480156104dc57600080fd5b506102d66104eb366004614e53565b6116ea565b3480156104fc57600080fd5b5061023461050b366004614a91565b6116fc565b34801561051c57600080fd5b5061023461052b366004614e6d565b611708565b34801561053c57600080fd5b506102ab61054b366004614978565b6118dd565b34801561055c57600080fd5b5061023461056b366004614a91565b6118ff565b34801561057c57600080fd5b5061023461050b366004614ad0565b34801561059757600080fd5b506102d66105a6366004614a66565b611b31565b3480156105b757600080fd5b50610424611b4e565b3480156105cc57600080fd5b506102346105db3660046149e4565b611b64565b3480156105ec57600080fd5b506102346105fb366004614d43565b611e3c565b34801561060c57600080fd5b506104026121aa565b34801561062157600080fd5b506102346103a6366004614978565b34801561063c57600080fd5b506104026121bd565b600354604051633d7e13b560e21b81526001600160a01b039091169063f5f84ed490610675903390600401615256565b60006040518083038186803b15801561068d57600080fd5b505afa1580156106a1573d6000803e3d6000fd5b505060185460ff161591506106d390505760405162461bcd60e51b81526004016106ca90615972565b60405180910390fd5b6018805460ff191660011790556040517fb2aed9aca7d6d2082ecd328e01c85747944e633a38176800ac6004c499c00df690600090a1565b600080516020615c05833981519152546001811461072857600080fd5b6002600080516020615c0583398151915255601b546001600160a01b031633146107645760405162461bcd60e51b81526004016106ca906154f0565b6001600160a01b03821661078a5760405162461bcd60e51b81526004016106ca9061587b565b6000826001600160a01b03166351e75e8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107c557600080fd5b505afa1580156107d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fd9190614c4c565b90508061081c5760405162461bcd60e51b81526004016106ca9061568e565b60188054610100600160a81b0319166101006001600160a01b03861690810291909117909155601a8290556040517ff377a821c9109b1388df37ad451ad95e45b7a8e728e5a8d98ccec9f14ebd0ccc90600090a27f6b3b0a9ab98c361bbd6e7c0fa7c102fb7a4e7712191bf556a461a9e5aa70948f8160405161089f9190615419565b60405180910390a160095460ff166108e8576009805460ff191660011790556040517fc71028c67eb0ef128ea270a59a674629e767d51c1af44ed6753fd2fad2c7b67790600090a15b506001600080516020615c05833981519152555050565b600080516020615c05833981519152546001811461091c57600080fd5b6002600080516020615c05833981519152556109366121d0565b62ffffff63ffffffff8416111561095f5760405162461bcd60e51b81526004016106ca9061580e565b63ffffffff831662ffffff14156109885760405162461bcd60e51b81526004016106ca906157d8565b63ffffffff821661ffff1080156109a85750637ffffffe63ffffffff8316105b6109c45760405162461bcd60e51b81526004016106ca90615718565b604080516101008101825263ffffffff80861682523360208301528416918101919091526000606082018190526080820181905260a0820181905260c0820181905260e08201819052610a16826121f3565b9050610a23600682612234565b50506001600080516020615c0583398151915255505050565b600080516020615c058339815191525460018114610a5957600080fd5b5050621baf8060145550601380546001600160a01b031990811673bf8ee0141203a7986142000b85f7afabeee1279d17909155601b80549091167332f51a90f2ab658439b88ce75e891fa3ba78b21f1790556001600080516020615c0583398151915255565b60095460ff1681565b600090565b6001600160a01b038181161415610af65760405162461bcd60e51b81526004016106ca906156ab565b60003411610b165760405162461bcd60e51b81526004016106ca906156fd565b610b1e6121d0565b610b2661239c565b610b3a6000610b34346123bf565b83612402565b50565b42601555565b610b4b612495565b6000808080610b5c85870187614994565b600280546001600160a01b038086166001600160a01b0319928316179092556003805483881690831617905560138054928516929091169190911790556040805160c0810182526000808252602082018190527fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47092820192909252606081018290526080810183905260a081019190915293975091955093509150610c00816124e3565b60008052600d6020527f81955a0a11e65eac625c29e8882660bae4e165a75d72780094acae8ece9a29ee55621baf8060148190556040517ff2b18f8abbd8a0d0c1fb8245146eedf5304887b12f6395b548ca238e054a148391610c6291615419565b60405180910390a150505050505050565b600080516020615c058339815191525460018114610c9057600080fd5b6002600080516020615c0583398151915255610caa6121d0565b600354604051634b18bd0f60e01b81526001600160a01b0390911690634b18bd0f90610cda903390600401615256565b60006040518083038186803b158015610cf257600080fd5b505afa158015610d06573d6000803e3d6000fd5b50505050610d13846124e3565b600654600160601b900463ffffffff166000908152600d602052604090205414610d4f5760405162461bcd60e51b81526004016106ca90615957565b8160005b8163ffffffff16811015610e1d57610d8886868684818110610d7157fe5b9050602002810190610d839190615b2f565b612513565b6020810151600c80546001600160401b03600160801b80830482169094011690920267ffffffffffffffff60801b199092169190911790559550610dcb866124e3565b865163ffffffff9081166000908152600d6020526040808220939093558851925192909116917f81a92942d0f9c33b897a438384c9c3d88be397776138efa3ba1a4fc8b62684249190a2600101610d53565b506006805463ffffffff600160601b808304821685019091160263ffffffff60601b19909116179055600c546001600160401b03600160401b82048116600160801b909204161115610e815760405162461bcd60e51b81526004016106ca90615829565b506001600080516020615c058339815191525550505050565b600080516020615c058339815191525460018114610eb757600080fd5b6002600080516020615c0583398151915281905563ffffffff808416600090815260126020908152604091829020825160c081018452815480861682526001600160a01b0364010000000082048116948301859052600160c01b909104861694820194909452600182015460608201529401549182166080850152600160a01b90910490911660a0830152610f5e5760405162461bcd60e51b81526004016106ca90615898565b6003548151602083015160405163b79eb8c760e01b81526000936001600160a01b03169263b79eb8c792610f9492600401615a72565b60206040518083038186803b158015610fac57600080fd5b505afa158015610fc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe49190614d8d565b63ffffffff8516600090815260116020908152604080832080546001600160a01b0319166001600160a01b0386169081179091556012835281842080546001600160e01b03191681556001810194909455600290930180546001600160c01b0319169055908501516080860151865187840151606089015160a08a01519551630234ce5960e41b8152979850959663234ce59096611086969091600401615302565b600060405180830381600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050508160a0015163ffffffff167f0b9f3586023bf754b8d962232407f7ac4d90fd19a1c4756c6619927abf06756060405160405180910390a250506001600080516020615c05833981519152555050565b61110f612658565b505050565b610b3a612658565b6000806001600160a01b038316156111b1576003546040516375698bb160e11b81526001600160a01b039091169063ead317629061115e908690600401615256565b60206040518083038186803b15801561117657600080fd5b505afa15801561118a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ae9190614e31565b90505b600460006111bf868461268c565b6001600160501b03191681526020810191909152604001600020546001600160801b0316949350505050565b60185460ff1681565b600e5463ffffffff1681565b600c546001600160401b031681565b60003330146112305760405162461bcd60e51b81526004016106ca906158cf565b6040516370a0823160e01b81526000906001600160a01b038716906370a082319061125f903090600401615256565b60206040518083038186803b15801561127757600080fd5b505afa15801561128b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112af9190614c4c565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb906112e09088908890600401615340565b600060405180830381600087803b1580156112fa57600080fd5b505af115801561130e573d6000803e3d6000fd5b50506040516370a0823160e01b8152600092506001600160a01b03891691506370a0823190611341903090600401615256565b60206040518083038186803b15801561135957600080fd5b505afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190614c4c565b9050600061139f83836126a9565b9050600081116113c15760405162461bcd60e51b81526004016106ca906156c6565b846001600160801b03168111156113ea5760405162461bcd60e51b81526004016106ca906155e6565b979650505050505050565b601454601554611404916126d6565b42101561141057600080fd5b6000805460ff19166001908117909155429055565b600080516020615c05833981519152546001811461144257600080fd5b6002600080516020615c058339815191525561145c6121d0565b600e5463ffffffff908116600181019091166000908152600d60205260408120549091905b806114ac88888681811061149157fe5b905060c002018036038101906114a79190614da9565b6124e3565b146114db576001909201918583106114d65760405162461bcd60e51b81526004016106ca906159a8565b611481565b50845b8083101561159c5763ffffffff60018301166000908152600d602052604090205461150e88888681811061149157fe5b1461152b5760405162461bcd60e51b81526004016106ca90615733565b8160010191506001600160fd1b0387878581811061154557fe5b905060c0020160a0013560001c166001600160fd1b038660400151858151811061156b57fe5b602002602001015116146115915760405162461bcd60e51b81526004016106ca90615601565b8260010192506114de565b6002548551602087015160608801516040808a015160808b0151915163054185eb60e51b81526000966001600160a01b03169563a830bd60956115e795919490939192600401615362565b60206040518083038186803b1580156115ff57600080fd5b505afa158015611613573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116379190614c14565b9050806116565760405162461bcd60e51b81526004016106ca90615543565b60065463ffffffff600160601b909104811690841611156116895760405162461bcd60e51b81526004016106ca90615595565b5050600e805463ffffffff191663ffffffff9290921691909117905550506001600080516020615c0583398151915255505050565b6116c6612715565b565b600190565b600a60209081526000928352604080842090915290825290205481565b600d6020526000908152604090205481565b611704612658565b5050565b600080516020615c05833981519152546001811461172557600080fd5b6002600080516020615c058339815191525561173f6121d0565b62ffffff63ffffffff841611156117685760405162461bcd60e51b81526004016106ca9061580e565b63ffffffff831662ffffff14156117915760405162461bcd60e51b81526004016106ca906157d8565b60006001600160a01b0383166117a95750600061182c565b6003546040516375698bb160e11b81526001600160a01b039091169063ead31762906117d9908690600401615256565b60206040518083038186803b1580156117f157600080fd5b505afa158015611805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118299190614e31565b90505b604080516101008101825263ffffffff8616815233602082015261ffff8316918101919091526000606082018190526080820181905260a0820181905260c0820181905260e08201819052611880826121f3565b905061188d600682612234565b6000611899338561268c565b6001600160501b0319166000908152600460205260409020805460ff60801b191660ff60801b17905550506001600080516020615c05833981519152555050505050565b6001600160a01b03811660009081526019602052604090205460ff165b919050565b600080516020615c05833981519152546001811461191c57600080fd5b6002600080516020615c05833981519152556119366121d0565b600354604051634b18bd0f60e01b81526001600160a01b0390911690634b18bd0f90611966903390600401615256565b60006040518083038186803b15801561197e57600080fd5b505afa158015611992573d6000803e3d6000fd5b50600092508491508290505b8163ffffffff16811015611a6c576119d38686838181106119bb57fe5b90506020028101906119cd9190615b44565b82612798565b8585828181106119df57fe5b90506020028101906119f19190615b44565b611a02906040810190602001614ea3565b83019250858582818110611a1257fe5b9050602002810190611a249190615b44565b611a32906020810190614e53565b63ffffffff167f0cdbd8bd7813095001c5fe7917bd69d834dc01db7c1dfcf52ca135bd2038441360405160405180910390a260010161199e565b50600c805467ffffffffffffffff60401b1967ffffffffffffffff60801b1967ffffffffffffffff1983166001600160401b039384168701841617908116600160801b918290048416879003841690910217908116600160401b918290048316869003909216810291909117909155600680546bffffffff00000000000000001981169083900463ffffffff9081168501811684029190911791829055600e54811692909104161115610a235760405162461bcd60e51b81526004016106ca906155cb565b601060209081526000928352604080842090915290825290205481565b600c54600160401b90046001600160401b031681565b600080516020615c058339815191525460018114611b8157600080fd5b6002600080516020615c058339815191525560006001600160a01b03841615611c27576003546040516375698bb160e11b81526001600160a01b039091169063ead3176290611bd4908790600401615256565b60206040518083038186803b158015611bec57600080fd5b505afa158015611c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c249190614e31565b90505b6000611c33868361268c565b6001600160501b031981166000908152600460205260408120549192506001600160801b0390911690611c668287612c26565b90506000816001600160801b031611611c915760405162461bcd60e51b81526004016106ca90615905565b61ffff8416611d25576000886001600160a01b0316826001600160801b0316604051611cbc90615160565b60006040518083038185875af1925050503d8060008114611cf9576040519150601f19603f3d011682016040523d82523d6000602084013e611cfe565b606091505b5050905080611d1f5760405162461bcd60e51b81526004016106ca90615972565b50611da3565b6040516368809a2360e01b815230906368809a2390611d4e908a908c908690889060040161546b565b602060405180830381600087803b158015611d6857600080fd5b505af1158015611d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da09190614e15565b90505b6001600160501b031983166000908152600460205260409081902080546001600160801b0319168385036001600160801b03161790555161ffff8516906001600160a01b038a16907fefef619ae4a542a2b8810b4efeccd8478bd683e985354ee31dd2d644aff6d0ca90611e18908590615a17565b60405180910390a3505050506001600080516020615c058339815191525550505050565b600080516020615c058339815191525460018114611e5957600080fd5b6002600080516020615c05833981519152556001600160a01b038281161415611e945760405162461bcd60e51b81526004016106ca906156ab565b611e9c6121d0565b611ea461239c565b6003546040516375698bb160e11b81526000916001600160a01b03169063ead3176290611ed5908890600401615256565b60206040518083038186803b158015611eed57600080fd5b505afa158015611f01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f259190614e31565b60035460405163f3a65bf960e01b81529192506001600160a01b03169063f3a65bf990611f56908490600401615a52565b60206040518083038186803b158015611f6e57600080fd5b505afa158015611f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa69190614c14565b15611fc35760405162461bcd60e51b81526004016106ca90615860565b6040516370a0823160e01b81526000906001600160a01b038716906370a0823190611ff2903090600401615256565b60206040518083038186803b15801561200a57600080fd5b505afa15801561201e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120429190614c4c565b6040516323b872dd60e01b81529091506001600160a01b038716906323b872dd9061207590339030908a9060040161526a565b600060405180830381600087803b15801561208f57600080fd5b505af11580156120a3573d6000803e3d6000fd5b50506040516370a0823160e01b8152600092506001600160a01b03891691506370a08231906120d6903090600401615256565b60206040518083038186803b1580156120ee57600080fd5b505afa158015612102573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121269190614c4c565b9050600061213c61213783856126a9565b6123bf565b90506000816001600160801b031611801561216757506001600160681b036001600160801b03821611155b6121835760405162461bcd60e51b81526004016106ca9061549f565b61218e848288612402565b505050506001600080516020615c058339815191525550505050565b600654600160401b900463ffffffff1681565b600654600160601b900463ffffffff1681565b60095460ff16156116c65760405162461bcd60e51b81526004016106ca9061574f565b606060068251602080850151604080870151905161221e9594936000918291829182918291016151c1565b6040516020818303038152906040529050919050565b600c544362013b0001906001600160401b03808216600160401b9092041601600061225e84612c4e565b90506040518060600160405280826bffffffffffffffffffffffff19168152602001846001600160401b0316815260200186600b81111561229b57fe5b90526001600160401b038084166000908152600f60209081526040918290208451815492860151909416600160a01b0267ffffffffffffffff60a01b1960609590951c6001600160a01b03199093169290921793909316178083559083015190829060ff60e01b1916600160e01b83600b81111561231557fe5b02179055509050507fd0943372c08b438a88d4b39d77216901079eda9ca59d45349841c099083b683033838787876001600160401b031660405161235d959493929190615296565b60405180910390a15050600c80546001600160401b03600160401b80830482166001019091160267ffffffffffffffff60401b19909116179055505050565b60185460ff16156116c65760405162461bcd60e51b81526004016106ca90615844565b6000600160801b82106123fe576040805162461bcd60e51b8152602060048201526002602482015261189b60f11b604482015290519081900360640190fd5b5090565b60408051608081018252600080825261ffff861660208301526001600160801b038516928201929092526001600160a01b03831660608201529061244582612c5c565b9050612452600182612234565b8461ffff167f8f5f51448394699ad6a3b80cdadf4ec68c5d724c8c3fea09bea55b3c2d0e2dd0856040516124869190615a17565b60405180910390a25050505050565b600080516020615c05833981519152805460019091558015610b3a576040805162461bcd60e51b815260206004820152600260248201526118a160f11b604482015290519081900360640190fd5b6000816040516020016124f691906159c4565b604051602081830303815290604052805190602001209050919050565b61251b614602565b825160010163ffffffff1661253660a0840160808501614e53565b63ffffffff16146125595760405162461bcd60e51b81526004016106ca906158ea565b8260600151826040013510156125815760405162461bcd60e51b81526004016106ca9061550d565b6000604083013561259542620151806126a9565b1115905060006125a7426103846126d6565b8460400135111590508180156125ba5750805b6125d65760405162461bcd60e51b81526004016106ca906157f3565b505060008060006125e685612c83565b92509250925060006125f98787846130eb565b90506040518060c001604052808760800160208101906126199190614e53565b63ffffffff1681526001600160401b039094166020850152604080850195909552938601356060840152943560808301525060a0019290925250919050565b6013546040516001600160a01b039091169036600082376000803683855af43d806000843e818015612688578184f35b8184fd5b60a01b61ffff60a01b166001600160a01b03919091161760501b90565b60006126cf8383604051806040016040528060018152602001603b60f91b81525061334f565b9392505050565b6000828201838110156126cf576040805162461bcd60e51b81526020600482015260026024820152610c4d60f21b604482015290519081900360640190fd5b6000805460ff19168155600155621baf8060148190556040517ff2b18f8abbd8a0d0c1fb8245146eedf5304887b12f6395b548ca238e054a14839161275991615419565b60405180910390a1600060158190555b600f811015612790576000818152601660205260409020805460ff19169055600101612769565b506000601755565b600d60006127a96020850185614e53565b63ffffffff1681526020810191909152604001600020546127d26114a736859003850185614da9565b146127ef5760405162461bcd60e51b81526004016106ca9061561c565b600654600160401b900463ffffffff1681016001016128116020840184614e53565b63ffffffff16146128345760405162461bcd60e51b81526004016106ca9061598d565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470600061286460c0850185615aa5565b9050905060005b81811015612bfc5736600061288360c0880188615aa5565b8481811061288d57fe5b905060200281019061289f9190615aeb565b915091506000828260008181106128b257fe5b919091013560f81c9050600b8111156128c757fe5b9050600381600b8111156128d757fe5b141561297157600061291e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506133e692505050565b905061ffff63ffffffff16816000015163ffffffff1611156129525760405162461bcd60e51b81526004016106ca9061576a565b61296b8160000151826040015183602001516000613441565b50612bac565b600881600b81111561297f57fe5b1415612a135760006129c684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506134a892505050565b905061ffff63ffffffff16816000015163ffffffff1611156129fa5760405162461bcd60e51b81526004016106ca90615671565b61296b8160000151826040015183602001516001613441565b600681600b811115612a2157fe5b1415612b34576000612a6884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506134bc92505050565b905061ffff63ffffffff16816040015163ffffffff1611612aa157612a9c8160400151826020015183606001516002613441565b61296b565b80606001516001600160801b03166001141561296b5760006040518060c00160405280836080015163ffffffff1681526020018360a001516001600160a01b031681526020018360c0015163ffffffff1681526020018360e00151815260200183602001516001600160a01b03168152602001836040015163ffffffff168152509050612b2d816135a4565b5050612bac565b600a81600b811115612b4257fe5b1415612b94576000612b8984848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061368a92505050565b905061296b816135a4565b60405162461bcd60e51b81526004016106ca9061563b565b612bec8684848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061372192505050565b955050505080600101905061286b565b5060408401358214612c205760405162461bcd60e51b81526004016106ca90615921565b50505050565b6000816001600160801b0316836001600160801b031610612c4757816126cf565b5090919050565b805160209091012060601b90565b606060016020808401516040808601516060870151915161221e9594600094939101615163565b600080606081612c966020860186615aeb565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600c5485517fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709a509198509495506001600160401b03808616600160801b909604169490940193600a93509150612d1a9050565b0615612d385760405162461bcd60e51b81526004016106ca906154ba565b8151600a90046001600160401b0381118015612d5357600080fd5b506040519080825280601f01601f191660200182016040528015612d7e576020820181803683370190505b5092506000612d906060880188615aa5565b9050905060005b818110156130e05736612dad60608a018a615aa5565b83818110612db757fe5b9050602002810190612dc99190615b59565b90506000612ddd6040830160208401614e53565b63ffffffff16905085518110612e055760405162461bcd60e51b81526004016106ca90615579565b600a810615612e265760405162461bcd60e51b81526004016106ca90615528565b6000600a82049050878181518110612e3a57fe5b01602001516001600160f81b03191615612e665760405162461bcd60e51b81526004016106ca9061549f565b600160f81b888281518110612e7757fe5b60200101906001600160f81b031916908160001a9053506000878381518110612e9c57fe5b016020015160f81c600b811115612eaf57fe5b9050600181600b811115612ebf57fe5b1415612efb576000612ed38985603c613730565b90506000612ee0826137ec565b9050612eee818d8b01613875565b8b6001019b5050506130d1565b600781600b811115612f0957fe5b1415612ffb576000612f1d8985603c613730565b90506000612f2a82613905565b9050612f368680615aeb565b159050612f77576000612f52612f4c8880615aeb565b84613975565b905080612f715760405162461bcd60e51b81526004016106ca90615656565b50612ff4565b60008160200151604051602001612f8e9190614f4d565b60408051601f198184030181529181528151602092830120848201516001600160a01b03166000908152600a8452828120606087015163ffffffff16825290935291205414905080612ff25760405162461bcd60e51b81526004016106ca906155b0565b505b50506130d1565b6060600382600b81111561300b57fe5b14156130245761301d8985603c613730565b90506130c3565b600882600b81111561303257fe5b14156130445761301d8985603c613730565b600a82600b81111561305257fe5b14156130645761301d89856064613730565b600682600b81111561307257fe5b14156130ab576130848985606e613730565b90506000613091826134bc565b905061309f818d8b01613a57565b8b6001019b50506130c3565b60405162461bcd60e51b81526004016106ca9061593c565b6130cd8c82613721565b9b50505b50505050806001019050612d97565b505050509193909250565b600080600261310060a0860160808701614e53565b63ffffffff1661311660c0870160a08801614e53565b63ffffffff1660405160200161312d929190614f7a565b60408051601f198184030181529082905261314791614fae565b602060405180830381855afa158015613164573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906131879190614c4c565b905060028186608001516040516020016131a2929190614f7a565b60408051601f19818403018152908290526131bc91614fae565b602060405180830381855afa1580156131d9573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906131fc9190614c4c565b90506002818560000135604051602001613217929190614f7a565b60408051601f198184030181529082905261323191614fae565b602060405180830381855afa15801561324e573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906132719190614c4c565b9050600281856040013560405160200161328c929190614f7a565b60408051601f19818403018152908290526132a691614fae565b602060405180830381855afa1580156132c3573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906132e69190614c4c565b905060006132f76020860186615aeb565b8560405160200161330a93929190614f88565b60405160208183030381529060405290506040518151838352602082602083018560025afa81845280801561333e57613340565bfe5b50509051979650505050505050565b600081848411156133de5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133a357818101518382015260200161338b565b50505050905090810190601f1680156133d05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6133ee614637565b60056133fa8382613ae7565b63ffffffff168352905061340e8382613b00565b6001600160801b03166020840152600201905061342b8382613b10565b6001600160a01b03166040840152509092915050565b600061344d848661268c565b90506134598184613b20565b836001600160a01b03168561ffff167f08262c50127efaa884a8609d16fe2ed98c5fd8e4f1c393f2d7d8f9f52f602ff68585604051613499929190615a2b565b60405180910390a35050505050565b6134b0614637565b60096133fa8382613ae7565b6134c4614657565b60016134d08382613ae7565b63ffffffff16835290506134e48382613b10565b6001600160a01b0316602084015290506134fe8382613ae7565b63ffffffff16604084015290506135158382613b00565b6001600160801b03166060840152905061352f8382613ae7565b63ffffffff16608084015290506135468382613b10565b6001600160a01b031660a084015290506135608382613ae7565b63ffffffff1660c084015290506135778382613bbe565b60e084015290506069811461359e5760405162461bcd60e51b81526004016106ca906158b4565b50919050565b60a08101805163ffffffff908116600090815260126020908152604080832086518154938801518389015163ffffffff1990951691871691909117640100000000600160c01b0319166401000000006001600160a01b03928316021763ffffffff60c01b1916600160c01b948716949094029390931781556060870151600182015560808701516002909101805496516001600160a01b0319909716919093161763ffffffff60a01b1916600160a01b9590941694850293909317905590517f1d19de6753fc463923c3d90b6fb45aca536732ed7c5ca377d4b3f63dfbe4d8199190a250565b613692614602565b600561369e8382613ae7565b63ffffffff16835290506136b28382613b10565b6001600160a01b0316602084015290506136cc8382613ae7565b63ffffffff16604084015290506136e38382613bbe565b606084015290506136f48382613b10565b6001600160a01b03166080840152905061370e8382613ae7565b63ffffffff1660a0840152509092915050565b80519181526020909101902090565b60608183018451101561376e576040805162461bcd60e51b81526020600482015260016024820152602d60f91b604482015290519081900360640190fd5b6000826001600160401b038111801561378657600080fd5b506040519080825280601f01601f1916602001820160405280156137b1576020820181803683370190505b50905082156137e457602081018381016020860187015b818310156137e05780518352602092830192016137c8565b5050505b949350505050565b6137f461469b565b60016138008382613ae7565b63ffffffff16835290506138148382613ae7565b63ffffffff166020840152905061382b8382613b00565b6001600160801b0316604084015290506138458382613b10565b6001600160a01b031660608401529050602d811461359e5760405162461bcd60e51b81526004016106ca906156e2565b6001600160401b0381166000908152600f6020526040902054600160e01b900460ff16600181600b8111156138a657fe5b146138c35760405162461bcd60e51b81526004016106ca9061555e565b6001600160401b0382166000908152600f602052604090205460601b6138e98482613bce565b612c205760405162461bcd60e51b81526004016106ca90615787565b61390d61469b565b60016139198382613ae7565b63ffffffff168352905061392d8382613bfe565b6001600160601b031916602084015290506139488382613b10565b6001600160a01b0316604084015290506139628382613ae7565b63ffffffff166060840152509092915050565b6000808484600081811061398557fe5b919091013560f81c9050600481111561399a57fe5b905060008160048111156139aa57fe5b14156139c3576139bb858585613c0e565b9150506126cf565b60018160048111156139d157fe5b14156139e2576139bb858585613cc4565b60028160048111156139f057fe5b1415613a01576139bb858585613e47565b6003816004811115613a0f57fe5b1415613a20576139bb858585613ef7565b6004816004811115613a2e57fe5b1415613a3f576139bb858585613ff5565b60405162461bcd60e51b81526004016106ca906154d5565b6001600160401b0381166000908152600f6020526040902054600160e01b900460ff16600681600b811115613a8857fe5b14613aa55760405162461bcd60e51b81526004016106ca906157a2565b6001600160401b0382166000908152600f602052604090205460601b613acb848261419c565b612c205760405162461bcd60e51b81526004016106ca906157bd565b600481016000613af784846141b5565b90509250929050565b601081016000613af78484614203565b601481016000613af78484614246565b6001600160501b03198216600090815260046020526040908190205481518083019092526001600160801b03169080613b598385614289565b6001600160801b03908116825260ff60209283018190526001600160501b031990961660009081526004835260409020835181549490930151909616600160801b0260ff60801b19929091166001600160801b03199093169290921716179092555050565b602081016000613af784846142d4565b60006001600160601b03198216613bec613be785612c5c565b612c4e565b6001600160601b031916149392505050565b601481016000613af78484614317565b600080613c5685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506041915061435f9050565b91505060008360200151846060015185600001516000801b604051602001613c819493929190615101565b6040516020818303038152906040528051906020012090506000613ca5838361437a565b60408601516001600160a01b0391821691161493505050509392505050565b600080600080600060019050613d1188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250613b10915050565b604080516020601f8c018190048102820181019092528a8152919650919250613d56918a908a9081908401838280828437600092019190915250859250613bbe915050565b604080516020601f8c018190048102820181019092528a8152919550919250613d9b918a908a9081908401838280828437600092019190915250859250613bbe915050565b602080890151604051929550929350600092613db992879201614f62565b60408051601f198184030181529082905280516020918201209250600091613df1916001600160f81b03199189918691899101614f19565b6040516020818303038152906040528051906020012060001c905087604001516001600160a01b0316816001600160a01b0316148015613e395750606088015163ffffffff16155b9a9950505050505050505050565b600080613e8f85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506041915061435f9050565b9150506000613ec08460200151604051602001613eac9190614f4d565b604051602081830303815290604052614486565b613ed5613ed08660600151614547565b614486565b613ee5613ed08760000151614547565b604051602001613c8193929190614fca565b6000806000613f4186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506041915061435f9050565b915091506000613f8887878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250613bbe915050565b915050600085602001518660600151876000015184604051602001613fb09493929190615101565b6040516020818303038152906040528051906020012090506000613fd4848361437a565b60408801516001600160a01b03918216911614955050505050509392505050565b60008061403d85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506041915061435f9050565b60408051808201825260068152655a6b53796e6360d01b602091820152815180830190925260038252620312e360ec1b9101529150600090507fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e7f2e760812e6696b561a918e71ad2845639638959ed846b188488dd0d8c0b953ef7fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b36140e1614560565b6040516020016140f49493929190615450565b60408051601f19818403018152908290528051602091820120868201516060880151885192955060009461414b947f8012078cc90c4c82e493f1a538159fd8621f39392101b34fba2ecd141432580b949101615422565b604051602081830303815290604052805190602001209050600082826040516020016141789291906150e6565b6040516020818303038152906040528051906020012090506000613fd4858361437a565b60006001600160601b03198216613bec613be7856121f3565b60008082600401905080845110156141f8576040805162461bcd60e51b81526020600482015260016024820152602b60f91b604482015290519081900360640190fd5b929092015192915050565b60008082601001905080845110156141f8576040805162461bcd60e51b81526020600482015260016024820152605760f81b604482015290519081900360640190fd5b60008082601401905080845110156141f8576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b60008282016001600160801b0380851690821610156126cf576040805162461bcd60e51b8152602060048201526002602482015261189960f11b604482015290519081900360640190fd5b60008082602001905080845110156141f8576040805162461bcd60e51b81526020600482015260016024820152605960f81b604482015290519081900360640190fd5b60008160140183511015614356576040805162461bcd60e51b81526020600482015260016024820152605360f81b604482015290519081900360640190fd5b50016020015190565b6000606061436e858585613730565b93909201949293505050565b600082516041146143b6576040805162461bcd60e51b81526020600482015260016024820152600560fc1b604482015290519081900360640190fd5b60008060006020860151925060408601519150606086015160001a9050600060018683868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561442f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661447c576040805162461bcd60e51b81526020600482015260026024820152611c0d60f21b604482015290519081900360640190fd5b9695505050505050565b6060600082516002026001600160401b03811180156144a457600080fd5b506040519080825280601f01601f1916602001820160405280156144cf576020820181803683370190505b5090506020830183518101602083015b8183101561453d57825160f81c6f6665646362613938373635343332313060088260041c021c60f81b82526f66656463626139383736353433323130600882600f16021c60f81b6001830152506001830192506002810190506144df565b5091949350505050565b606061455a8263ffffffff166004614564565b92915050565b4690565b606060208260ff1611156145a3576040805162461bcd60e51b81526020600482015260016024820152605160f81b604482015290519081900360640190fd5b8160ff166001600160401b03811180156145bc57600080fd5b506040519080825280601f01601f1916602001820160405280156145e7576020820181803683370190505b5060ff6008602094850302169390931b918301919091525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b604080516060810182526000808252602082018190529181019190915290565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b60008083601f8401126146d3578182fd5b5081356001600160401b038111156146e9578182fd5b602083019150836020808302850101111561470357600080fd5b9250929050565b60008083601f84011261471b578182fd5b5081356001600160401b03811115614731578182fd5b60208301915083602060c08302850101111561470357600080fd5b600082601f83011261475c578081fd5b6040516102008082018281106001600160401b038211171561477a57fe5b604052818482810187101561478d578485fd5b8492505b60108310156147b157803582526001929092019160209182019101614791565b509195945050505050565b600082601f8301126147cc578081fd5b813560206147e16147dc83615b91565b615b6e565b82815281810190858301838502870184018810156147fd578586fd5b855b8581101561481b578135845292840192908401906001016147ff565b5090979650505050505050565b600082601f830112614838578081fd5b813560206148486147dc83615b91565b8281528181019085830183850287018401881015614864578586fd5b855b8581101561481b57813560ff8116811461487e578788fd5b84529284019290840190600101614866565b60008083601f8401126148a1578182fd5b5081356001600160401b038111156148b7578182fd5b60208301915083602082850101111561470357600080fd5b600060c082840312156148e0578081fd5b60405160c081018181106001600160401b03821117156148fc57fe5b60405290508061490b8361494d565b815261491960208401614961565b602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b803563ffffffff811681146118fa57600080fd5b80356001600160401b03811681146118fa57600080fd5b600060208284031215614989578081fd5b81356126cf81615bda565b600080600080608085870312156149a9578283fd5b84356149b481615bda565b935060208501356149c481615bda565b925060408501356149d481615bda565b9396929550929360600135925050565b6000806000606084860312156149f8578081fd5b8335614a0381615bda565b92506020840135614a1381615bda565b91506040840135614a2381615bef565b809150509250925092565b60008060408385031215614a40578182fd5b8235614a4b81615bda565b91506020830135614a5b81615bda565b809150509250929050565b60008060408385031215614a78578182fd5b8235614a8381615bda565b9150613af76020840161494d565b60008060208385031215614aa3578182fd5b82356001600160401b03811115614ab8578283fd5b614ac4858286016146c2565b90969095509350505050565b60008060208385031215614ae2578182fd5b82356001600160401b03811115614af7578283fd5b614ac48582860161470a565b600080600060408486031215614b17578081fd5b83356001600160401b0380821115614b2d578283fd5b614b398783880161470a565b90955093506020860135915080821115614b51578283fd5b908501906102808288031215614b65578283fd5b614b6f60a0615b6e565b823582811115614b7d578485fd5b614b89898286016147bc565b825250602083013582811115614b9d578485fd5b614ba9898286016147bc565b602083015250604083013582811115614bc0578485fd5b614bcc898286016147bc565b604083015250606083013582811115614be3578485fd5b614bef89828601614828565b606083015250614c02886080850161474c565b60808201528093505050509250925092565b600060208284031215614c25578081fd5b815180151581146126cf578182fd5b600060208284031215614c45578081fd5b5035919050565b600060208284031215614c5d578081fd5b5051919050565b60008060208385031215614c76578182fd5b82356001600160401b03811115614c8b578283fd5b614ac485828601614890565b600080600060408486031215614cab578081fd5b83356001600160401b03811115614cc0578182fd5b614ccc86828701614890565b9094509250614cdf90506020850161494d565b90509250925092565b60008060008060808587031215614cfd578182fd5b8435614d0881615bda565b93506020850135614d1881615bda565b92506040850135614d2881615bef565b91506060850135614d3881615bef565b939692955090935050565b600080600060608486031215614d57578081fd5b8335614d6281615bda565b925060208401356001600160681b0381168114614d7d578182fd5b91506040840135614a2381615bda565b600060208284031215614d9e578081fd5b81516126cf81615bda565b600060c08284031215614dba578081fd5b6126cf83836148cf565b600080600060e08486031215614dd8578081fd5b614de285856148cf565b925060c08401356001600160401b03811115614dfc578182fd5b614e08868287016146c2565b9497909650939450505050565b600060208284031215614e26578081fd5b81516126cf81615bef565b600060208284031215614e42578081fd5b815161ffff811681146126cf578182fd5b600060208284031215614e64578081fd5b6126cf8261494d565b60008060408385031215614e7f578182fd5b614a4b8361494d565b60008060408385031215614e9a578182fd5b614a838361494d565b600060208284031215614eb4578081fd5b6126cf82614961565b60601b6001600160601b0319169052565b6000815180845260208085019450808401835b83811015614efd57815187529582019590820190600101614ee1565b509495945050505050565b60e01b6001600160e01b0319169052565b6001600160f81b031994909416845260609290921b6001600160601b03191660018401526015830152603582015260550190565b6001600160601b031991909116815260140190565b9182526001600160601b031916602082015260340190565b918252602082015260400190565b6000838583378382018181528351614fa4818360208801615bae565b0195945050505050565b60008251614fc0818460208701615bae565b9190910192915050565b60007f19457468657265756d205369676e6564204d6573736167653a0a31353200000082527f5265676973746572207a6b53796e63207075626b65793a0a0a00000000000000601d8301528451615028816036850160208901615bae565b600560f91b6036918401918201819052680dcdedcc6ca744060f60bb1b6037830152855161505d816040850160208a01615bae565b60409201918201526d0c2c6c6deeadce840d2c8744060f60931b6041820152835161508f81604f840160208801615bae565b61050560f11b604f92909101918201527f4f6e6c79207369676e2074686973206d65737361676520666f7220612074727560518201526b7374656420636c69656e742160a01b6071820152607d0195945050505050565b61190160f01b81526002810192909252602282015260420190565b7f19457468657265756d205369676e6564204d6573736167653a0a36300000000081526001600160601b031994909416601c8501526001600160e01b031960e093841b811660308601529190921b166034830152603882015260580190565b90565b60f89590951b6001600160f81b03191685526001600160e01b0319938416600186015260e09290921b909216600584015260809190911b6001600160801b031916600983015260601b6001600160601b0319166019820152602d0190565b6001600160f81b031960f88b901b1681526001600160e01b031960e08a811b821660018401526001600160601b031960608b901b16600584015288811b821660198401526001600160801b0319608089901b16601d84015286901b16602d82015260006152316031830186614ebd565b61523e6045830185614f08565b50604981019190915260690198975050505050505050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529190921660208201526001600160681b03909116604082015260600190565b6001600160a01b03861681526001600160401b03851660208201526000600c85106152bd57fe5b84604083015260a0606083015283518060a08401526152e38160c0850160208801615bae565b608083019390935250601f91909101601f19160160c001949350505050565b6001600160a01b03968716815294909516602085015263ffffffff92831660408501529082166060840152608083015290911660a082015260c00190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b600061028080835261537681840189614ece565b905060208382038185015261538b8289614ece565b84810360408601528751808252828901935090820190845b818110156153c257845160ff16835293830193918301916001016153a3565b505084810360608601526153d68188614ece565b9350506080840191508460005b6010811015615400578151845292820192908201906001016153e3565b505050509695505050505050565b901515815260200190565b90815260200190565b9384526001600160601b031992909216602084015263ffffffff908116604084015216606082015260800190565b93845260208401929092526040830152606082015260800190565b6001600160a01b0394851681529290931660208301526001600160801b039081166040830152909116606082015260800190565b6020808252600190820152604360f81b604082015260600190565b6020808252600190820152604160f81b604082015260600190565b6020808252600190820152604760f81b604082015260600190565b6020808252600390820152621d1b4d60ea1b604082015260600190565b6020808252600190820152606760f81b604082015260600190565b6020808252600190820152602160f91b604082015260600190565b6020808252600190820152600760fc1b604082015260600190565b6020808252600190820152600960fb1b604082015260600190565b602080825260029082015261413160f01b604082015260600190565b6020808252600190820152607160f81b604082015260600190565b6020808252600190820152604560f81b604082015260600190565b6020808252600190820152603760f91b604082015260600190565b6020808252600190820152603760f81b604082015260600190565b6020808252600190820152606f60f81b604082015260600190565b602080825260059082015264065786531360dc1b604082015260600190565b6020808252600190820152601b60fa1b604082015260600190565b6020808252600190820152601160fa1b604082015260600190565b60208082526003908201526236b31960e91b604082015260600190565b6020808252600390820152623a369960e91b604082015260600190565b6020808252600190820152600560fc1b604082015260600190565b602080825260029082015261633160f01b604082015260600190565b6020808252600190820152602760f91b604082015260600190565b6020808252600190820152604d60f81b604082015260600190565b6020808252600190820152601560fa1b604082015260600190565b6020808252600290820152616f3160f01b604082015260600190565b6020808252600190820152601360fa1b604082015260600190565b6020808252600390820152626d663160e81b604082015260600190565b6020808252600190820152604960f81b604082015260600190565b6020808252600190820152602560f91b604082015260600190565b6020808252600190820152604b60f81b604082015260600190565b6020808252600190820152603b60f91b604082015260600190565b6020808252600190820152600d60fb1b604082015260600190565b6020808252600190820152606560f81b604082015260600190565b6020808252600190820152603560f91b604082015260600190565b602080825260029082015261131160f21b604082015260600190565b6020808252600190820152603160f91b604082015260600190565b602080825260039082015262746d3160e81b604082015260600190565b60208082526002908201526106f760f41b604082015260600190565b6020808252600190820152604f60f81b604082015260600190565b6020808252600190820152603560f81b604082015260600190565b6020808252600190820152603360f91b604082015260600190565b602080825260029082015261663160f01b604082015260600190565b6020808252600190820152606d60f81b604082015260600190565b6020808252600190820152602360f91b604082015260600190565b6020808252600190820152606960f81b604082015260600190565b6020808252600190820152601960fa1b604082015260600190565b6020808252600190820152606b60f81b604082015260600190565b602080825260029082015261379960f11b604082015260600190565b600060c08201905063ffffffff83511682526001600160401b03602084015116602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b6001600160801b0391909116815260200190565b6001600160801b03831681526040810160038310615a4557fe5b8260208301529392505050565b61ffff91909116815260200190565b63ffffffff91909116815260200190565b63ffffffff9290921682526001600160a01b0316602082015260400190565b6001600160401b0391909116815260200190565b6000808335601e19843603018112615abb578283fd5b8301803591506001600160401b03821115615ad4578283fd5b602090810192508102360382131561470357600080fd5b6000808335601e19843603018112615b01578283fd5b8301803591506001600160401b03821115615b1a578283fd5b60200191503681900382131561470357600080fd5b6000823560be19833603018112614fc0578182fd5b6000823560de19833603018112614fc0578182fd5b60008235603e19833603018112614fc0578182fd5b6040518181016001600160401b0381118282101715615b8957fe5b604052919050565b60006001600160401b03821115615ba457fe5b5060209081020190565b60005b83811015615bc9578181015183820152602001615bb1565b83811115612c205750506000910152565b6001600160a01b0381168114610b3a57600080fd5b6001600160801b0381168114610b3a57600080fdfe8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4a26469706673582212200ee5e7264c711e58f6bc15894233a523530ce4e45b2abe43f347336704a2ee6264736f6c63430007060033
Deployed Bytecode
0x60806040526004361061021a5760003560e01c806378b91e7011610123578063b0705b42116100ab578063d514da501161006f578063d514da50146105c0578063e17376b5146105e0578063f223548714610600578063f96a600614610615578063faf4d8cb146106305761021a565b8063b0705b4214610550578063b269b9ae14610486578063b4a8498c14610570578063b65975ec1461058b578063c57b22be146105ab5761021a565b80638ae20dc9116100f25780638ae20dc9146104b05780639ba0d146146104d05780639beb4650146104f0578063ab9b2adf14610510578063afc62d9b146105305761021a565b806378b91e70146104515780638398180814610466578063871b8ff1146104865780638773334c1461049b5761021a565b806345269298116101a65780635aca41f6116101755780635aca41f6146103ab5780636068d6cb146103d8578063647b5923146103ed57806367708dae1461040f57806368809a23146104315761021a565b8063452692981461032b578063505a75731461034b578063595a5ebc1461036b57806359acda851461038b5761021a565b8063264c0912116101ed578063264c0912146102965780632a3174f4146102c15780632d2da806146102e35780633b154b73146102f6578063439fab911461030b5761021a565b8063021919801461021f5780630e7b77271461023657806313d9787b146102565780632539464514610276575b600080fd5b34801561022b57600080fd5b50610234610645565b005b34801561024257600080fd5b50610234610251366004614978565b61070b565b34801561026257600080fd5b50610234610271366004614e88565b6108ff565b34801561028257600080fd5b50610234610291366004614c64565b610a3c565b3480156102a257600080fd5b506102ab610abf565b6040516102b8919061540e565b60405180910390f35b3480156102cd57600080fd5b506102d6610ac8565b6040516102b89190615419565b6102346102f1366004614978565b610acd565b34801561030257600080fd5b50610234610b3d565b34801561031757600080fd5b50610234610326366004614c64565b610b43565b34801561033757600080fd5b50610234610346366004614dc4565b610c73565b34801561035757600080fd5b50610234610366366004614e53565b610e9a565b34801561037757600080fd5b50610234610386366004614c97565b611107565b34801561039757600080fd5b506102346103a6366004614c34565b611114565b3480156103b757600080fd5b506103cb6103c6366004614a2e565b61111c565b6040516102b89190615a17565b3480156103e457600080fd5b506102ab6111eb565b3480156103f957600080fd5b506104026111f4565b6040516102b89190615a61565b34801561041b57600080fd5b50610424611200565b6040516102b89190615a91565b34801561043d57600080fd5b506103cb61044c366004614ce8565b61120f565b34801561045d57600080fd5b506102346113f5565b34801561047257600080fd5b50610234610481366004614b03565b611425565b34801561049257600080fd5b506102346116be565b3480156104a757600080fd5b506102ab6116c8565b3480156104bc57600080fd5b506102d66104cb366004614a66565b6116cd565b3480156104dc57600080fd5b506102d66104eb366004614e53565b6116ea565b3480156104fc57600080fd5b5061023461050b366004614a91565b6116fc565b34801561051c57600080fd5b5061023461052b366004614e6d565b611708565b34801561053c57600080fd5b506102ab61054b366004614978565b6118dd565b34801561055c57600080fd5b5061023461056b366004614a91565b6118ff565b34801561057c57600080fd5b5061023461050b366004614ad0565b34801561059757600080fd5b506102d66105a6366004614a66565b611b31565b3480156105b757600080fd5b50610424611b4e565b3480156105cc57600080fd5b506102346105db3660046149e4565b611b64565b3480156105ec57600080fd5b506102346105fb366004614d43565b611e3c565b34801561060c57600080fd5b506104026121aa565b34801561062157600080fd5b506102346103a6366004614978565b34801561063c57600080fd5b506104026121bd565b600354604051633d7e13b560e21b81526001600160a01b039091169063f5f84ed490610675903390600401615256565b60006040518083038186803b15801561068d57600080fd5b505afa1580156106a1573d6000803e3d6000fd5b505060185460ff161591506106d390505760405162461bcd60e51b81526004016106ca90615972565b60405180910390fd5b6018805460ff191660011790556040517fb2aed9aca7d6d2082ecd328e01c85747944e633a38176800ac6004c499c00df690600090a1565b600080516020615c05833981519152546001811461072857600080fd5b6002600080516020615c0583398151915255601b546001600160a01b031633146107645760405162461bcd60e51b81526004016106ca906154f0565b6001600160a01b03821661078a5760405162461bcd60e51b81526004016106ca9061587b565b6000826001600160a01b03166351e75e8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107c557600080fd5b505afa1580156107d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fd9190614c4c565b90508061081c5760405162461bcd60e51b81526004016106ca9061568e565b60188054610100600160a81b0319166101006001600160a01b03861690810291909117909155601a8290556040517ff377a821c9109b1388df37ad451ad95e45b7a8e728e5a8d98ccec9f14ebd0ccc90600090a27f6b3b0a9ab98c361bbd6e7c0fa7c102fb7a4e7712191bf556a461a9e5aa70948f8160405161089f9190615419565b60405180910390a160095460ff166108e8576009805460ff191660011790556040517fc71028c67eb0ef128ea270a59a674629e767d51c1af44ed6753fd2fad2c7b67790600090a15b506001600080516020615c05833981519152555050565b600080516020615c05833981519152546001811461091c57600080fd5b6002600080516020615c05833981519152556109366121d0565b62ffffff63ffffffff8416111561095f5760405162461bcd60e51b81526004016106ca9061580e565b63ffffffff831662ffffff14156109885760405162461bcd60e51b81526004016106ca906157d8565b63ffffffff821661ffff1080156109a85750637ffffffe63ffffffff8316105b6109c45760405162461bcd60e51b81526004016106ca90615718565b604080516101008101825263ffffffff80861682523360208301528416918101919091526000606082018190526080820181905260a0820181905260c0820181905260e08201819052610a16826121f3565b9050610a23600682612234565b50506001600080516020615c0583398151915255505050565b600080516020615c058339815191525460018114610a5957600080fd5b5050621baf8060145550601380546001600160a01b031990811673bf8ee0141203a7986142000b85f7afabeee1279d17909155601b80549091167332f51a90f2ab658439b88ce75e891fa3ba78b21f1790556001600080516020615c0583398151915255565b60095460ff1681565b600090565b6001600160a01b038181161415610af65760405162461bcd60e51b81526004016106ca906156ab565b60003411610b165760405162461bcd60e51b81526004016106ca906156fd565b610b1e6121d0565b610b2661239c565b610b3a6000610b34346123bf565b83612402565b50565b42601555565b610b4b612495565b6000808080610b5c85870187614994565b600280546001600160a01b038086166001600160a01b0319928316179092556003805483881690831617905560138054928516929091169190911790556040805160c0810182526000808252602082018190527fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47092820192909252606081018290526080810183905260a081019190915293975091955093509150610c00816124e3565b60008052600d6020527f81955a0a11e65eac625c29e8882660bae4e165a75d72780094acae8ece9a29ee55621baf8060148190556040517ff2b18f8abbd8a0d0c1fb8245146eedf5304887b12f6395b548ca238e054a148391610c6291615419565b60405180910390a150505050505050565b600080516020615c058339815191525460018114610c9057600080fd5b6002600080516020615c0583398151915255610caa6121d0565b600354604051634b18bd0f60e01b81526001600160a01b0390911690634b18bd0f90610cda903390600401615256565b60006040518083038186803b158015610cf257600080fd5b505afa158015610d06573d6000803e3d6000fd5b50505050610d13846124e3565b600654600160601b900463ffffffff166000908152600d602052604090205414610d4f5760405162461bcd60e51b81526004016106ca90615957565b8160005b8163ffffffff16811015610e1d57610d8886868684818110610d7157fe5b9050602002810190610d839190615b2f565b612513565b6020810151600c80546001600160401b03600160801b80830482169094011690920267ffffffffffffffff60801b199092169190911790559550610dcb866124e3565b865163ffffffff9081166000908152600d6020526040808220939093558851925192909116917f81a92942d0f9c33b897a438384c9c3d88be397776138efa3ba1a4fc8b62684249190a2600101610d53565b506006805463ffffffff600160601b808304821685019091160263ffffffff60601b19909116179055600c546001600160401b03600160401b82048116600160801b909204161115610e815760405162461bcd60e51b81526004016106ca90615829565b506001600080516020615c058339815191525550505050565b600080516020615c058339815191525460018114610eb757600080fd5b6002600080516020615c0583398151915281905563ffffffff808416600090815260126020908152604091829020825160c081018452815480861682526001600160a01b0364010000000082048116948301859052600160c01b909104861694820194909452600182015460608201529401549182166080850152600160a01b90910490911660a0830152610f5e5760405162461bcd60e51b81526004016106ca90615898565b6003548151602083015160405163b79eb8c760e01b81526000936001600160a01b03169263b79eb8c792610f9492600401615a72565b60206040518083038186803b158015610fac57600080fd5b505afa158015610fc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe49190614d8d565b63ffffffff8516600090815260116020908152604080832080546001600160a01b0319166001600160a01b0386169081179091556012835281842080546001600160e01b03191681556001810194909455600290930180546001600160c01b0319169055908501516080860151865187840151606089015160a08a01519551630234ce5960e41b8152979850959663234ce59096611086969091600401615302565b600060405180830381600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050508160a0015163ffffffff167f0b9f3586023bf754b8d962232407f7ac4d90fd19a1c4756c6619927abf06756060405160405180910390a250506001600080516020615c05833981519152555050565b61110f612658565b505050565b610b3a612658565b6000806001600160a01b038316156111b1576003546040516375698bb160e11b81526001600160a01b039091169063ead317629061115e908690600401615256565b60206040518083038186803b15801561117657600080fd5b505afa15801561118a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ae9190614e31565b90505b600460006111bf868461268c565b6001600160501b03191681526020810191909152604001600020546001600160801b0316949350505050565b60185460ff1681565b600e5463ffffffff1681565b600c546001600160401b031681565b60003330146112305760405162461bcd60e51b81526004016106ca906158cf565b6040516370a0823160e01b81526000906001600160a01b038716906370a082319061125f903090600401615256565b60206040518083038186803b15801561127757600080fd5b505afa15801561128b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112af9190614c4c565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb906112e09088908890600401615340565b600060405180830381600087803b1580156112fa57600080fd5b505af115801561130e573d6000803e3d6000fd5b50506040516370a0823160e01b8152600092506001600160a01b03891691506370a0823190611341903090600401615256565b60206040518083038186803b15801561135957600080fd5b505afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190614c4c565b9050600061139f83836126a9565b9050600081116113c15760405162461bcd60e51b81526004016106ca906156c6565b846001600160801b03168111156113ea5760405162461bcd60e51b81526004016106ca906155e6565b979650505050505050565b601454601554611404916126d6565b42101561141057600080fd5b6000805460ff19166001908117909155429055565b600080516020615c05833981519152546001811461144257600080fd5b6002600080516020615c058339815191525561145c6121d0565b600e5463ffffffff908116600181019091166000908152600d60205260408120549091905b806114ac88888681811061149157fe5b905060c002018036038101906114a79190614da9565b6124e3565b146114db576001909201918583106114d65760405162461bcd60e51b81526004016106ca906159a8565b611481565b50845b8083101561159c5763ffffffff60018301166000908152600d602052604090205461150e88888681811061149157fe5b1461152b5760405162461bcd60e51b81526004016106ca90615733565b8160010191506001600160fd1b0387878581811061154557fe5b905060c0020160a0013560001c166001600160fd1b038660400151858151811061156b57fe5b602002602001015116146115915760405162461bcd60e51b81526004016106ca90615601565b8260010192506114de565b6002548551602087015160608801516040808a015160808b0151915163054185eb60e51b81526000966001600160a01b03169563a830bd60956115e795919490939192600401615362565b60206040518083038186803b1580156115ff57600080fd5b505afa158015611613573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116379190614c14565b9050806116565760405162461bcd60e51b81526004016106ca90615543565b60065463ffffffff600160601b909104811690841611156116895760405162461bcd60e51b81526004016106ca90615595565b5050600e805463ffffffff191663ffffffff9290921691909117905550506001600080516020615c0583398151915255505050565b6116c6612715565b565b600190565b600a60209081526000928352604080842090915290825290205481565b600d6020526000908152604090205481565b611704612658565b5050565b600080516020615c05833981519152546001811461172557600080fd5b6002600080516020615c058339815191525561173f6121d0565b62ffffff63ffffffff841611156117685760405162461bcd60e51b81526004016106ca9061580e565b63ffffffff831662ffffff14156117915760405162461bcd60e51b81526004016106ca906157d8565b60006001600160a01b0383166117a95750600061182c565b6003546040516375698bb160e11b81526001600160a01b039091169063ead31762906117d9908690600401615256565b60206040518083038186803b1580156117f157600080fd5b505afa158015611805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118299190614e31565b90505b604080516101008101825263ffffffff8616815233602082015261ffff8316918101919091526000606082018190526080820181905260a0820181905260c0820181905260e08201819052611880826121f3565b905061188d600682612234565b6000611899338561268c565b6001600160501b0319166000908152600460205260409020805460ff60801b191660ff60801b17905550506001600080516020615c05833981519152555050505050565b6001600160a01b03811660009081526019602052604090205460ff165b919050565b600080516020615c05833981519152546001811461191c57600080fd5b6002600080516020615c05833981519152556119366121d0565b600354604051634b18bd0f60e01b81526001600160a01b0390911690634b18bd0f90611966903390600401615256565b60006040518083038186803b15801561197e57600080fd5b505afa158015611992573d6000803e3d6000fd5b50600092508491508290505b8163ffffffff16811015611a6c576119d38686838181106119bb57fe5b90506020028101906119cd9190615b44565b82612798565b8585828181106119df57fe5b90506020028101906119f19190615b44565b611a02906040810190602001614ea3565b83019250858582818110611a1257fe5b9050602002810190611a249190615b44565b611a32906020810190614e53565b63ffffffff167f0cdbd8bd7813095001c5fe7917bd69d834dc01db7c1dfcf52ca135bd2038441360405160405180910390a260010161199e565b50600c805467ffffffffffffffff60401b1967ffffffffffffffff60801b1967ffffffffffffffff1983166001600160401b039384168701841617908116600160801b918290048416879003841690910217908116600160401b918290048316869003909216810291909117909155600680546bffffffff00000000000000001981169083900463ffffffff9081168501811684029190911791829055600e54811692909104161115610a235760405162461bcd60e51b81526004016106ca906155cb565b601060209081526000928352604080842090915290825290205481565b600c54600160401b90046001600160401b031681565b600080516020615c058339815191525460018114611b8157600080fd5b6002600080516020615c058339815191525560006001600160a01b03841615611c27576003546040516375698bb160e11b81526001600160a01b039091169063ead3176290611bd4908790600401615256565b60206040518083038186803b158015611bec57600080fd5b505afa158015611c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c249190614e31565b90505b6000611c33868361268c565b6001600160501b031981166000908152600460205260408120549192506001600160801b0390911690611c668287612c26565b90506000816001600160801b031611611c915760405162461bcd60e51b81526004016106ca90615905565b61ffff8416611d25576000886001600160a01b0316826001600160801b0316604051611cbc90615160565b60006040518083038185875af1925050503d8060008114611cf9576040519150601f19603f3d011682016040523d82523d6000602084013e611cfe565b606091505b5050905080611d1f5760405162461bcd60e51b81526004016106ca90615972565b50611da3565b6040516368809a2360e01b815230906368809a2390611d4e908a908c908690889060040161546b565b602060405180830381600087803b158015611d6857600080fd5b505af1158015611d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da09190614e15565b90505b6001600160501b031983166000908152600460205260409081902080546001600160801b0319168385036001600160801b03161790555161ffff8516906001600160a01b038a16907fefef619ae4a542a2b8810b4efeccd8478bd683e985354ee31dd2d644aff6d0ca90611e18908590615a17565b60405180910390a3505050506001600080516020615c058339815191525550505050565b600080516020615c058339815191525460018114611e5957600080fd5b6002600080516020615c05833981519152556001600160a01b038281161415611e945760405162461bcd60e51b81526004016106ca906156ab565b611e9c6121d0565b611ea461239c565b6003546040516375698bb160e11b81526000916001600160a01b03169063ead3176290611ed5908890600401615256565b60206040518083038186803b158015611eed57600080fd5b505afa158015611f01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f259190614e31565b60035460405163f3a65bf960e01b81529192506001600160a01b03169063f3a65bf990611f56908490600401615a52565b60206040518083038186803b158015611f6e57600080fd5b505afa158015611f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa69190614c14565b15611fc35760405162461bcd60e51b81526004016106ca90615860565b6040516370a0823160e01b81526000906001600160a01b038716906370a0823190611ff2903090600401615256565b60206040518083038186803b15801561200a57600080fd5b505afa15801561201e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120429190614c4c565b6040516323b872dd60e01b81529091506001600160a01b038716906323b872dd9061207590339030908a9060040161526a565b600060405180830381600087803b15801561208f57600080fd5b505af11580156120a3573d6000803e3d6000fd5b50506040516370a0823160e01b8152600092506001600160a01b03891691506370a08231906120d6903090600401615256565b60206040518083038186803b1580156120ee57600080fd5b505afa158015612102573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121269190614c4c565b9050600061213c61213783856126a9565b6123bf565b90506000816001600160801b031611801561216757506001600160681b036001600160801b03821611155b6121835760405162461bcd60e51b81526004016106ca9061549f565b61218e848288612402565b505050506001600080516020615c058339815191525550505050565b600654600160401b900463ffffffff1681565b600654600160601b900463ffffffff1681565b60095460ff16156116c65760405162461bcd60e51b81526004016106ca9061574f565b606060068251602080850151604080870151905161221e9594936000918291829182918291016151c1565b6040516020818303038152906040529050919050565b600c544362013b0001906001600160401b03808216600160401b9092041601600061225e84612c4e565b90506040518060600160405280826bffffffffffffffffffffffff19168152602001846001600160401b0316815260200186600b81111561229b57fe5b90526001600160401b038084166000908152600f60209081526040918290208451815492860151909416600160a01b0267ffffffffffffffff60a01b1960609590951c6001600160a01b03199093169290921793909316178083559083015190829060ff60e01b1916600160e01b83600b81111561231557fe5b02179055509050507fd0943372c08b438a88d4b39d77216901079eda9ca59d45349841c099083b683033838787876001600160401b031660405161235d959493929190615296565b60405180910390a15050600c80546001600160401b03600160401b80830482166001019091160267ffffffffffffffff60401b19909116179055505050565b60185460ff16156116c65760405162461bcd60e51b81526004016106ca90615844565b6000600160801b82106123fe576040805162461bcd60e51b8152602060048201526002602482015261189b60f11b604482015290519081900360640190fd5b5090565b60408051608081018252600080825261ffff861660208301526001600160801b038516928201929092526001600160a01b03831660608201529061244582612c5c565b9050612452600182612234565b8461ffff167f8f5f51448394699ad6a3b80cdadf4ec68c5d724c8c3fea09bea55b3c2d0e2dd0856040516124869190615a17565b60405180910390a25050505050565b600080516020615c05833981519152805460019091558015610b3a576040805162461bcd60e51b815260206004820152600260248201526118a160f11b604482015290519081900360640190fd5b6000816040516020016124f691906159c4565b604051602081830303815290604052805190602001209050919050565b61251b614602565b825160010163ffffffff1661253660a0840160808501614e53565b63ffffffff16146125595760405162461bcd60e51b81526004016106ca906158ea565b8260600151826040013510156125815760405162461bcd60e51b81526004016106ca9061550d565b6000604083013561259542620151806126a9565b1115905060006125a7426103846126d6565b8460400135111590508180156125ba5750805b6125d65760405162461bcd60e51b81526004016106ca906157f3565b505060008060006125e685612c83565b92509250925060006125f98787846130eb565b90506040518060c001604052808760800160208101906126199190614e53565b63ffffffff1681526001600160401b039094166020850152604080850195909552938601356060840152943560808301525060a0019290925250919050565b6013546040516001600160a01b039091169036600082376000803683855af43d806000843e818015612688578184f35b8184fd5b60a01b61ffff60a01b166001600160a01b03919091161760501b90565b60006126cf8383604051806040016040528060018152602001603b60f91b81525061334f565b9392505050565b6000828201838110156126cf576040805162461bcd60e51b81526020600482015260026024820152610c4d60f21b604482015290519081900360640190fd5b6000805460ff19168155600155621baf8060148190556040517ff2b18f8abbd8a0d0c1fb8245146eedf5304887b12f6395b548ca238e054a14839161275991615419565b60405180910390a1600060158190555b600f811015612790576000818152601660205260409020805460ff19169055600101612769565b506000601755565b600d60006127a96020850185614e53565b63ffffffff1681526020810191909152604001600020546127d26114a736859003850185614da9565b146127ef5760405162461bcd60e51b81526004016106ca9061561c565b600654600160401b900463ffffffff1681016001016128116020840184614e53565b63ffffffff16146128345760405162461bcd60e51b81526004016106ca9061598d565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470600061286460c0850185615aa5565b9050905060005b81811015612bfc5736600061288360c0880188615aa5565b8481811061288d57fe5b905060200281019061289f9190615aeb565b915091506000828260008181106128b257fe5b919091013560f81c9050600b8111156128c757fe5b9050600381600b8111156128d757fe5b141561297157600061291e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506133e692505050565b905061ffff63ffffffff16816000015163ffffffff1611156129525760405162461bcd60e51b81526004016106ca9061576a565b61296b8160000151826040015183602001516000613441565b50612bac565b600881600b81111561297f57fe5b1415612a135760006129c684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506134a892505050565b905061ffff63ffffffff16816000015163ffffffff1611156129fa5760405162461bcd60e51b81526004016106ca90615671565b61296b8160000151826040015183602001516001613441565b600681600b811115612a2157fe5b1415612b34576000612a6884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506134bc92505050565b905061ffff63ffffffff16816040015163ffffffff1611612aa157612a9c8160400151826020015183606001516002613441565b61296b565b80606001516001600160801b03166001141561296b5760006040518060c00160405280836080015163ffffffff1681526020018360a001516001600160a01b031681526020018360c0015163ffffffff1681526020018360e00151815260200183602001516001600160a01b03168152602001836040015163ffffffff168152509050612b2d816135a4565b5050612bac565b600a81600b811115612b4257fe5b1415612b94576000612b8984848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061368a92505050565b905061296b816135a4565b60405162461bcd60e51b81526004016106ca9061563b565b612bec8684848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061372192505050565b955050505080600101905061286b565b5060408401358214612c205760405162461bcd60e51b81526004016106ca90615921565b50505050565b6000816001600160801b0316836001600160801b031610612c4757816126cf565b5090919050565b805160209091012060601b90565b606060016020808401516040808601516060870151915161221e9594600094939101615163565b600080606081612c966020860186615aeb565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600c5485517fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709a509198509495506001600160401b03808616600160801b909604169490940193600a93509150612d1a9050565b0615612d385760405162461bcd60e51b81526004016106ca906154ba565b8151600a90046001600160401b0381118015612d5357600080fd5b506040519080825280601f01601f191660200182016040528015612d7e576020820181803683370190505b5092506000612d906060880188615aa5565b9050905060005b818110156130e05736612dad60608a018a615aa5565b83818110612db757fe5b9050602002810190612dc99190615b59565b90506000612ddd6040830160208401614e53565b63ffffffff16905085518110612e055760405162461bcd60e51b81526004016106ca90615579565b600a810615612e265760405162461bcd60e51b81526004016106ca90615528565b6000600a82049050878181518110612e3a57fe5b01602001516001600160f81b03191615612e665760405162461bcd60e51b81526004016106ca9061549f565b600160f81b888281518110612e7757fe5b60200101906001600160f81b031916908160001a9053506000878381518110612e9c57fe5b016020015160f81c600b811115612eaf57fe5b9050600181600b811115612ebf57fe5b1415612efb576000612ed38985603c613730565b90506000612ee0826137ec565b9050612eee818d8b01613875565b8b6001019b5050506130d1565b600781600b811115612f0957fe5b1415612ffb576000612f1d8985603c613730565b90506000612f2a82613905565b9050612f368680615aeb565b159050612f77576000612f52612f4c8880615aeb565b84613975565b905080612f715760405162461bcd60e51b81526004016106ca90615656565b50612ff4565b60008160200151604051602001612f8e9190614f4d565b60408051601f198184030181529181528151602092830120848201516001600160a01b03166000908152600a8452828120606087015163ffffffff16825290935291205414905080612ff25760405162461bcd60e51b81526004016106ca906155b0565b505b50506130d1565b6060600382600b81111561300b57fe5b14156130245761301d8985603c613730565b90506130c3565b600882600b81111561303257fe5b14156130445761301d8985603c613730565b600a82600b81111561305257fe5b14156130645761301d89856064613730565b600682600b81111561307257fe5b14156130ab576130848985606e613730565b90506000613091826134bc565b905061309f818d8b01613a57565b8b6001019b50506130c3565b60405162461bcd60e51b81526004016106ca9061593c565b6130cd8c82613721565b9b50505b50505050806001019050612d97565b505050509193909250565b600080600261310060a0860160808701614e53565b63ffffffff1661311660c0870160a08801614e53565b63ffffffff1660405160200161312d929190614f7a565b60408051601f198184030181529082905261314791614fae565b602060405180830381855afa158015613164573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906131879190614c4c565b905060028186608001516040516020016131a2929190614f7a565b60408051601f19818403018152908290526131bc91614fae565b602060405180830381855afa1580156131d9573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906131fc9190614c4c565b90506002818560000135604051602001613217929190614f7a565b60408051601f198184030181529082905261323191614fae565b602060405180830381855afa15801561324e573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906132719190614c4c565b9050600281856040013560405160200161328c929190614f7a565b60408051601f19818403018152908290526132a691614fae565b602060405180830381855afa1580156132c3573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906132e69190614c4c565b905060006132f76020860186615aeb565b8560405160200161330a93929190614f88565b60405160208183030381529060405290506040518151838352602082602083018560025afa81845280801561333e57613340565bfe5b50509051979650505050505050565b600081848411156133de5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133a357818101518382015260200161338b565b50505050905090810190601f1680156133d05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6133ee614637565b60056133fa8382613ae7565b63ffffffff168352905061340e8382613b00565b6001600160801b03166020840152600201905061342b8382613b10565b6001600160a01b03166040840152509092915050565b600061344d848661268c565b90506134598184613b20565b836001600160a01b03168561ffff167f08262c50127efaa884a8609d16fe2ed98c5fd8e4f1c393f2d7d8f9f52f602ff68585604051613499929190615a2b565b60405180910390a35050505050565b6134b0614637565b60096133fa8382613ae7565b6134c4614657565b60016134d08382613ae7565b63ffffffff16835290506134e48382613b10565b6001600160a01b0316602084015290506134fe8382613ae7565b63ffffffff16604084015290506135158382613b00565b6001600160801b03166060840152905061352f8382613ae7565b63ffffffff16608084015290506135468382613b10565b6001600160a01b031660a084015290506135608382613ae7565b63ffffffff1660c084015290506135778382613bbe565b60e084015290506069811461359e5760405162461bcd60e51b81526004016106ca906158b4565b50919050565b60a08101805163ffffffff908116600090815260126020908152604080832086518154938801518389015163ffffffff1990951691871691909117640100000000600160c01b0319166401000000006001600160a01b03928316021763ffffffff60c01b1916600160c01b948716949094029390931781556060870151600182015560808701516002909101805496516001600160a01b0319909716919093161763ffffffff60a01b1916600160a01b9590941694850293909317905590517f1d19de6753fc463923c3d90b6fb45aca536732ed7c5ca377d4b3f63dfbe4d8199190a250565b613692614602565b600561369e8382613ae7565b63ffffffff16835290506136b28382613b10565b6001600160a01b0316602084015290506136cc8382613ae7565b63ffffffff16604084015290506136e38382613bbe565b606084015290506136f48382613b10565b6001600160a01b03166080840152905061370e8382613ae7565b63ffffffff1660a0840152509092915050565b80519181526020909101902090565b60608183018451101561376e576040805162461bcd60e51b81526020600482015260016024820152602d60f91b604482015290519081900360640190fd5b6000826001600160401b038111801561378657600080fd5b506040519080825280601f01601f1916602001820160405280156137b1576020820181803683370190505b50905082156137e457602081018381016020860187015b818310156137e05780518352602092830192016137c8565b5050505b949350505050565b6137f461469b565b60016138008382613ae7565b63ffffffff16835290506138148382613ae7565b63ffffffff166020840152905061382b8382613b00565b6001600160801b0316604084015290506138458382613b10565b6001600160a01b031660608401529050602d811461359e5760405162461bcd60e51b81526004016106ca906156e2565b6001600160401b0381166000908152600f6020526040902054600160e01b900460ff16600181600b8111156138a657fe5b146138c35760405162461bcd60e51b81526004016106ca9061555e565b6001600160401b0382166000908152600f602052604090205460601b6138e98482613bce565b612c205760405162461bcd60e51b81526004016106ca90615787565b61390d61469b565b60016139198382613ae7565b63ffffffff168352905061392d8382613bfe565b6001600160601b031916602084015290506139488382613b10565b6001600160a01b0316604084015290506139628382613ae7565b63ffffffff166060840152509092915050565b6000808484600081811061398557fe5b919091013560f81c9050600481111561399a57fe5b905060008160048111156139aa57fe5b14156139c3576139bb858585613c0e565b9150506126cf565b60018160048111156139d157fe5b14156139e2576139bb858585613cc4565b60028160048111156139f057fe5b1415613a01576139bb858585613e47565b6003816004811115613a0f57fe5b1415613a20576139bb858585613ef7565b6004816004811115613a2e57fe5b1415613a3f576139bb858585613ff5565b60405162461bcd60e51b81526004016106ca906154d5565b6001600160401b0381166000908152600f6020526040902054600160e01b900460ff16600681600b811115613a8857fe5b14613aa55760405162461bcd60e51b81526004016106ca906157a2565b6001600160401b0382166000908152600f602052604090205460601b613acb848261419c565b612c205760405162461bcd60e51b81526004016106ca906157bd565b600481016000613af784846141b5565b90509250929050565b601081016000613af78484614203565b601481016000613af78484614246565b6001600160501b03198216600090815260046020526040908190205481518083019092526001600160801b03169080613b598385614289565b6001600160801b03908116825260ff60209283018190526001600160501b031990961660009081526004835260409020835181549490930151909616600160801b0260ff60801b19929091166001600160801b03199093169290921716179092555050565b602081016000613af784846142d4565b60006001600160601b03198216613bec613be785612c5c565b612c4e565b6001600160601b031916149392505050565b601481016000613af78484614317565b600080613c5685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506041915061435f9050565b91505060008360200151846060015185600001516000801b604051602001613c819493929190615101565b6040516020818303038152906040528051906020012090506000613ca5838361437a565b60408601516001600160a01b0391821691161493505050509392505050565b600080600080600060019050613d1188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250613b10915050565b604080516020601f8c018190048102820181019092528a8152919650919250613d56918a908a9081908401838280828437600092019190915250859250613bbe915050565b604080516020601f8c018190048102820181019092528a8152919550919250613d9b918a908a9081908401838280828437600092019190915250859250613bbe915050565b602080890151604051929550929350600092613db992879201614f62565b60408051601f198184030181529082905280516020918201209250600091613df1916001600160f81b03199189918691899101614f19565b6040516020818303038152906040528051906020012060001c905087604001516001600160a01b0316816001600160a01b0316148015613e395750606088015163ffffffff16155b9a9950505050505050505050565b600080613e8f85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506041915061435f9050565b9150506000613ec08460200151604051602001613eac9190614f4d565b604051602081830303815290604052614486565b613ed5613ed08660600151614547565b614486565b613ee5613ed08760000151614547565b604051602001613c8193929190614fca565b6000806000613f4186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506041915061435f9050565b915091506000613f8887878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250613bbe915050565b915050600085602001518660600151876000015184604051602001613fb09493929190615101565b6040516020818303038152906040528051906020012090506000613fd4848361437a565b60408801516001600160a01b03918216911614955050505050509392505050565b60008061403d85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506041915061435f9050565b60408051808201825260068152655a6b53796e6360d01b602091820152815180830190925260038252620312e360ec1b9101529150600090507fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e7f2e760812e6696b561a918e71ad2845639638959ed846b188488dd0d8c0b953ef7fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b36140e1614560565b6040516020016140f49493929190615450565b60408051601f19818403018152908290528051602091820120868201516060880151885192955060009461414b947f8012078cc90c4c82e493f1a538159fd8621f39392101b34fba2ecd141432580b949101615422565b604051602081830303815290604052805190602001209050600082826040516020016141789291906150e6565b6040516020818303038152906040528051906020012090506000613fd4858361437a565b60006001600160601b03198216613bec613be7856121f3565b60008082600401905080845110156141f8576040805162461bcd60e51b81526020600482015260016024820152602b60f91b604482015290519081900360640190fd5b929092015192915050565b60008082601001905080845110156141f8576040805162461bcd60e51b81526020600482015260016024820152605760f81b604482015290519081900360640190fd5b60008082601401905080845110156141f8576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b60008282016001600160801b0380851690821610156126cf576040805162461bcd60e51b8152602060048201526002602482015261189960f11b604482015290519081900360640190fd5b60008082602001905080845110156141f8576040805162461bcd60e51b81526020600482015260016024820152605960f81b604482015290519081900360640190fd5b60008160140183511015614356576040805162461bcd60e51b81526020600482015260016024820152605360f81b604482015290519081900360640190fd5b50016020015190565b6000606061436e858585613730565b93909201949293505050565b600082516041146143b6576040805162461bcd60e51b81526020600482015260016024820152600560fc1b604482015290519081900360640190fd5b60008060006020860151925060408601519150606086015160001a9050600060018683868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561442f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661447c576040805162461bcd60e51b81526020600482015260026024820152611c0d60f21b604482015290519081900360640190fd5b9695505050505050565b6060600082516002026001600160401b03811180156144a457600080fd5b506040519080825280601f01601f1916602001820160405280156144cf576020820181803683370190505b5090506020830183518101602083015b8183101561453d57825160f81c6f6665646362613938373635343332313060088260041c021c60f81b82526f66656463626139383736353433323130600882600f16021c60f81b6001830152506001830192506002810190506144df565b5091949350505050565b606061455a8263ffffffff166004614564565b92915050565b4690565b606060208260ff1611156145a3576040805162461bcd60e51b81526020600482015260016024820152605160f81b604482015290519081900360640190fd5b8160ff166001600160401b03811180156145bc57600080fd5b506040519080825280601f01601f1916602001820160405280156145e7576020820181803683370190505b5060ff6008602094850302169390931b918301919091525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b604080516060810182526000808252602082018190529181019190915290565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b60008083601f8401126146d3578182fd5b5081356001600160401b038111156146e9578182fd5b602083019150836020808302850101111561470357600080fd5b9250929050565b60008083601f84011261471b578182fd5b5081356001600160401b03811115614731578182fd5b60208301915083602060c08302850101111561470357600080fd5b600082601f83011261475c578081fd5b6040516102008082018281106001600160401b038211171561477a57fe5b604052818482810187101561478d578485fd5b8492505b60108310156147b157803582526001929092019160209182019101614791565b509195945050505050565b600082601f8301126147cc578081fd5b813560206147e16147dc83615b91565b615b6e565b82815281810190858301838502870184018810156147fd578586fd5b855b8581101561481b578135845292840192908401906001016147ff565b5090979650505050505050565b600082601f830112614838578081fd5b813560206148486147dc83615b91565b8281528181019085830183850287018401881015614864578586fd5b855b8581101561481b57813560ff8116811461487e578788fd5b84529284019290840190600101614866565b60008083601f8401126148a1578182fd5b5081356001600160401b038111156148b7578182fd5b60208301915083602082850101111561470357600080fd5b600060c082840312156148e0578081fd5b60405160c081018181106001600160401b03821117156148fc57fe5b60405290508061490b8361494d565b815261491960208401614961565b602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b803563ffffffff811681146118fa57600080fd5b80356001600160401b03811681146118fa57600080fd5b600060208284031215614989578081fd5b81356126cf81615bda565b600080600080608085870312156149a9578283fd5b84356149b481615bda565b935060208501356149c481615bda565b925060408501356149d481615bda565b9396929550929360600135925050565b6000806000606084860312156149f8578081fd5b8335614a0381615bda565b92506020840135614a1381615bda565b91506040840135614a2381615bef565b809150509250925092565b60008060408385031215614a40578182fd5b8235614a4b81615bda565b91506020830135614a5b81615bda565b809150509250929050565b60008060408385031215614a78578182fd5b8235614a8381615bda565b9150613af76020840161494d565b60008060208385031215614aa3578182fd5b82356001600160401b03811115614ab8578283fd5b614ac4858286016146c2565b90969095509350505050565b60008060208385031215614ae2578182fd5b82356001600160401b03811115614af7578283fd5b614ac48582860161470a565b600080600060408486031215614b17578081fd5b83356001600160401b0380821115614b2d578283fd5b614b398783880161470a565b90955093506020860135915080821115614b51578283fd5b908501906102808288031215614b65578283fd5b614b6f60a0615b6e565b823582811115614b7d578485fd5b614b89898286016147bc565b825250602083013582811115614b9d578485fd5b614ba9898286016147bc565b602083015250604083013582811115614bc0578485fd5b614bcc898286016147bc565b604083015250606083013582811115614be3578485fd5b614bef89828601614828565b606083015250614c02886080850161474c565b60808201528093505050509250925092565b600060208284031215614c25578081fd5b815180151581146126cf578182fd5b600060208284031215614c45578081fd5b5035919050565b600060208284031215614c5d578081fd5b5051919050565b60008060208385031215614c76578182fd5b82356001600160401b03811115614c8b578283fd5b614ac485828601614890565b600080600060408486031215614cab578081fd5b83356001600160401b03811115614cc0578182fd5b614ccc86828701614890565b9094509250614cdf90506020850161494d565b90509250925092565b60008060008060808587031215614cfd578182fd5b8435614d0881615bda565b93506020850135614d1881615bda565b92506040850135614d2881615bef565b91506060850135614d3881615bef565b939692955090935050565b600080600060608486031215614d57578081fd5b8335614d6281615bda565b925060208401356001600160681b0381168114614d7d578182fd5b91506040840135614a2381615bda565b600060208284031215614d9e578081fd5b81516126cf81615bda565b600060c08284031215614dba578081fd5b6126cf83836148cf565b600080600060e08486031215614dd8578081fd5b614de285856148cf565b925060c08401356001600160401b03811115614dfc578182fd5b614e08868287016146c2565b9497909650939450505050565b600060208284031215614e26578081fd5b81516126cf81615bef565b600060208284031215614e42578081fd5b815161ffff811681146126cf578182fd5b600060208284031215614e64578081fd5b6126cf8261494d565b60008060408385031215614e7f578182fd5b614a4b8361494d565b60008060408385031215614e9a578182fd5b614a838361494d565b600060208284031215614eb4578081fd5b6126cf82614961565b60601b6001600160601b0319169052565b6000815180845260208085019450808401835b83811015614efd57815187529582019590820190600101614ee1565b509495945050505050565b60e01b6001600160e01b0319169052565b6001600160f81b031994909416845260609290921b6001600160601b03191660018401526015830152603582015260550190565b6001600160601b031991909116815260140190565b9182526001600160601b031916602082015260340190565b918252602082015260400190565b6000838583378382018181528351614fa4818360208801615bae565b0195945050505050565b60008251614fc0818460208701615bae565b9190910192915050565b60007f19457468657265756d205369676e6564204d6573736167653a0a31353200000082527f5265676973746572207a6b53796e63207075626b65793a0a0a00000000000000601d8301528451615028816036850160208901615bae565b600560f91b6036918401918201819052680dcdedcc6ca744060f60bb1b6037830152855161505d816040850160208a01615bae565b60409201918201526d0c2c6c6deeadce840d2c8744060f60931b6041820152835161508f81604f840160208801615bae565b61050560f11b604f92909101918201527f4f6e6c79207369676e2074686973206d65737361676520666f7220612074727560518201526b7374656420636c69656e742160a01b6071820152607d0195945050505050565b61190160f01b81526002810192909252602282015260420190565b7f19457468657265756d205369676e6564204d6573736167653a0a36300000000081526001600160601b031994909416601c8501526001600160e01b031960e093841b811660308601529190921b166034830152603882015260580190565b90565b60f89590951b6001600160f81b03191685526001600160e01b0319938416600186015260e09290921b909216600584015260809190911b6001600160801b031916600983015260601b6001600160601b0319166019820152602d0190565b6001600160f81b031960f88b901b1681526001600160e01b031960e08a811b821660018401526001600160601b031960608b901b16600584015288811b821660198401526001600160801b0319608089901b16601d84015286901b16602d82015260006152316031830186614ebd565b61523e6045830185614f08565b50604981019190915260690198975050505050505050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529190921660208201526001600160681b03909116604082015260600190565b6001600160a01b03861681526001600160401b03851660208201526000600c85106152bd57fe5b84604083015260a0606083015283518060a08401526152e38160c0850160208801615bae565b608083019390935250601f91909101601f19160160c001949350505050565b6001600160a01b03968716815294909516602085015263ffffffff92831660408501529082166060840152608083015290911660a082015260c00190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b600061028080835261537681840189614ece565b905060208382038185015261538b8289614ece565b84810360408601528751808252828901935090820190845b818110156153c257845160ff16835293830193918301916001016153a3565b505084810360608601526153d68188614ece565b9350506080840191508460005b6010811015615400578151845292820192908201906001016153e3565b505050509695505050505050565b901515815260200190565b90815260200190565b9384526001600160601b031992909216602084015263ffffffff908116604084015216606082015260800190565b93845260208401929092526040830152606082015260800190565b6001600160a01b0394851681529290931660208301526001600160801b039081166040830152909116606082015260800190565b6020808252600190820152604360f81b604082015260600190565b6020808252600190820152604160f81b604082015260600190565b6020808252600190820152604760f81b604082015260600190565b6020808252600390820152621d1b4d60ea1b604082015260600190565b6020808252600190820152606760f81b604082015260600190565b6020808252600190820152602160f91b604082015260600190565b6020808252600190820152600760fc1b604082015260600190565b6020808252600190820152600960fb1b604082015260600190565b602080825260029082015261413160f01b604082015260600190565b6020808252600190820152607160f81b604082015260600190565b6020808252600190820152604560f81b604082015260600190565b6020808252600190820152603760f91b604082015260600190565b6020808252600190820152603760f81b604082015260600190565b6020808252600190820152606f60f81b604082015260600190565b602080825260059082015264065786531360dc1b604082015260600190565b6020808252600190820152601b60fa1b604082015260600190565b6020808252600190820152601160fa1b604082015260600190565b60208082526003908201526236b31960e91b604082015260600190565b6020808252600390820152623a369960e91b604082015260600190565b6020808252600190820152600560fc1b604082015260600190565b602080825260029082015261633160f01b604082015260600190565b6020808252600190820152602760f91b604082015260600190565b6020808252600190820152604d60f81b604082015260600190565b6020808252600190820152601560fa1b604082015260600190565b6020808252600290820152616f3160f01b604082015260600190565b6020808252600190820152601360fa1b604082015260600190565b6020808252600390820152626d663160e81b604082015260600190565b6020808252600190820152604960f81b604082015260600190565b6020808252600190820152602560f91b604082015260600190565b6020808252600190820152604b60f81b604082015260600190565b6020808252600190820152603b60f91b604082015260600190565b6020808252600190820152600d60fb1b604082015260600190565b6020808252600190820152606560f81b604082015260600190565b6020808252600190820152603560f91b604082015260600190565b602080825260029082015261131160f21b604082015260600190565b6020808252600190820152603160f91b604082015260600190565b602080825260039082015262746d3160e81b604082015260600190565b60208082526002908201526106f760f41b604082015260600190565b6020808252600190820152604f60f81b604082015260600190565b6020808252600190820152603560f81b604082015260600190565b6020808252600190820152603360f91b604082015260600190565b602080825260029082015261663160f01b604082015260600190565b6020808252600190820152606d60f81b604082015260600190565b6020808252600190820152602360f91b604082015260600190565b6020808252600190820152606960f81b604082015260600190565b6020808252600190820152601960fa1b604082015260600190565b6020808252600190820152606b60f81b604082015260600190565b602080825260029082015261379960f11b604082015260600190565b600060c08201905063ffffffff83511682526001600160401b03602084015116602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b6001600160801b0391909116815260200190565b6001600160801b03831681526040810160038310615a4557fe5b8260208301529392505050565b61ffff91909116815260200190565b63ffffffff91909116815260200190565b63ffffffff9290921682526001600160a01b0316602082015260400190565b6001600160401b0391909116815260200190565b6000808335601e19843603018112615abb578283fd5b8301803591506001600160401b03821115615ad4578283fd5b602090810192508102360382131561470357600080fd5b6000808335601e19843603018112615b01578283fd5b8301803591506001600160401b03821115615b1a578283fd5b60200191503681900382131561470357600080fd5b6000823560be19833603018112614fc0578182fd5b6000823560de19833603018112614fc0578182fd5b60008235603e19833603018112614fc0578182fd5b6040518181016001600160401b0381118282101715615b8957fe5b604052919050565b60006001600160401b03821115615ba457fe5b5060209081020190565b60005b83811015615bc9578181015183820152602001615bb1565b83811115612c205750506000910152565b6001600160a01b0381168114610b3a57600080fd5b6001600160801b0381168114610b3a57600080fdfe8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4a26469706673582212200ee5e7264c711e58f6bc15894233a523530ce4e45b2abe43f347336704a2ee6264736f6c63430007060033
🤖 Code Reader

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

Custom Contract ABI

                            

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

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