ETH Price: $2,448.93 (-2.61%)
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To

There are no matching entries

> 10 Internal Transactions found.

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
1074695652023-07-28 9:51:471134 days ago1690537907
0x962E4499...189dc0241
0 ETH
1074695652023-07-28 9:51:471134 days ago1690537907
0x962E4499...189dc0241
0 ETH
1074695652023-07-28 9:51:471134 days ago1690537907
0x962E4499...189dc0241
0 ETH
1074695652023-07-28 9:51:471134 days ago1690537907
0x962E4499...189dc0241
0 ETH
1074363342023-07-27 15:24:051135 days ago1690471445
0x962E4499...189dc0241
0 ETH
1074363342023-07-27 15:24:051135 days ago1690471445
0x962E4499...189dc0241
0 ETH
1074363342023-07-27 15:24:051135 days ago1690471445
0x962E4499...189dc0241
0 ETH
1074363342023-07-27 15:24:051135 days ago1690471445
0x962E4499...189dc0241
0 ETH
1074362962023-07-27 15:22:491135 days ago1690471369
0x962E4499...189dc0241
0 ETH
1074362962023-07-27 15:22:491135 days ago1690471369
0x962E4499...189dc0241
0 ETH
1074362962023-07-27 15:22:491135 days ago1690471369
0x962E4499...189dc0241
0 ETH
1074362962023-07-27 15:22:491135 days ago1690471369
0x962E4499...189dc0241
0 ETH
1074361852023-07-27 15:19:071135 days ago1690471147
0x962E4499...189dc0241
0 ETH
1074361772023-07-27 15:18:511135 days ago1690471131
0x962E4499...189dc0241
0 ETH
1074360482023-07-27 15:14:331135 days ago1690470873
0x962E4499...189dc0241
0 ETH
1074360362023-07-27 15:14:091135 days ago1690470849
0x962E4499...189dc0241
0 ETH
1073921592023-07-26 14:51:351136 days ago1690383095
0x962E4499...189dc0241
0 ETH
1073921522023-07-26 14:51:211136 days ago1690383081
0x962E4499...189dc0241
0 ETH
1072237242023-07-22 17:17:051140 days ago1690046225
0x962E4499...189dc0241
0 ETH
1071745632023-07-21 13:58:231141 days ago1689947903
0x962E4499...189dc0241
0 ETH
1071745632023-07-21 13:58:231141 days ago1689947903
0x962E4499...189dc0241
0 ETH
1071745632023-07-21 13:58:231141 days ago1689947903
0x962E4499...189dc0241
0 ETH
1071288432023-07-20 12:34:231142 days ago1689856463
0x962E4499...189dc0241
0 ETH
1071288432023-07-20 12:34:231142 days ago1689856463
0x962E4499...189dc0241
0 ETH
1071288432023-07-20 12:34:231142 days ago1689856463
0x962E4499...189dc0241
0 ETH
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading
Source Code Verified Exact Match

Contract Name

HyperLPool

Compiler Version
v0.8.10+commit.fc410830
Optimization Enabled
Yes with 1 runs
Other Settings
default evmVersion
License
MIT
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"address payable","name":"_hyperpools","type":"address"},{"internalType":"address","name":"_hyperpoolsTreasury","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"burnAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"liquidityBurned","type":"uint128"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"feesEarned0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"feesEarned1","type":"uint256"}],"name":"FeesEarned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"mintAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"liquidityMinted","type":"uint128"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousManager","type":"address"},{"indexed":true,"internalType":"address","name":"newManager","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int24","name":"lowerTick_","type":"int24"},{"indexed":false,"internalType":"int24","name":"upperTick_","type":"int24"},{"indexed":false,"internalType":"uint128","name":"liquidityBefore","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"liquidityAfter","type":"uint128"}],"name":"Rebalance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"uint128","name":"","type":"uint128"}],"name":"RestrictLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"address[]","name":"","type":"address[]"},{"indexed":false,"internalType":"bool","name":"","type":"bool"}],"name":"SetWhiteList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"uint16","name":"","type":"uint16"}],"name":"ToggleRestrictMint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"managerFeeBPS","type":"uint16"},{"indexed":false,"internalType":"address","name":"managerTreasury","type":"address"},{"indexed":false,"internalType":"uint16","name":"hyperpoolsRebalanceBPS","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"hyperpoolsSlippageBPS","type":"uint16"},{"indexed":false,"internalType":"uint32","name":"hyperpoolsSlippageInterval","type":"uint32"}],"name":"UpdateManagerParams","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"HYPERPOOLS","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RESTRICTED_MINT_ENABLED","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"burnAmount","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"burn","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"uint128","name":"liquidityBurned","type":"uint128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"enableRebalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"enableWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int24","name":"newLowerTick","type":"int24"},{"internalType":"int24","name":"newUpperTick","type":"int24"},{"internalType":"uint160","name":"swapThresholdPrice","type":"uint160"},{"internalType":"uint256","name":"swapAmountBPS","type":"uint256"},{"internalType":"bool","name":"zeroForOne","type":"bool"}],"name":"executiveRebalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getLiquidity","outputs":[{"internalType":"uint128","name":"liquidity","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount0Max","type":"uint256"},{"internalType":"uint256","name":"amount1Max","type":"uint256"}],"name":"getMintAmounts","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"uint256","name":"mintAmount","type":"uint256"},{"internalType":"uint160","name":"sqrtRatioX96","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPositionID","outputs":[{"internalType":"bytes32","name":"positionID","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUnderlyingBalances","outputs":[{"internalType":"uint256","name":"amount0Current","type":"uint256"},{"internalType":"uint256","name":"amount1Current","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint160","name":"sqrtRatioX96","type":"uint160"}],"name":"getUnderlyingBalancesAtPrice","outputs":[{"internalType":"uint256","name":"amount0Current","type":"uint256"},{"internalType":"uint256","name":"amount1Current","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hyperpoolsBalance0","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hyperpoolsBalance1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hyperpoolsFeeBPS","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hyperpoolsRebalanceBPS","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hyperpoolsSlippageBPS","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hyperpoolsSlippageInterval","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hyperpoolsTreasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_pool","type":"address"},{"internalType":"uint16","name":"_managerFeeBPS","type":"uint16"},{"internalType":"int24","name":"_lowerTick","type":"int24"},{"internalType":"int24","name":"_upperTick","type":"int24"},{"internalType":"address","name":"_manager_","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lowerTick","outputs":[{"internalType":"int24","name":"","type":"int24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"managerBalance0","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"managerBalance1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"managerFeeBPS","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"managerTreasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount0Max","type":"uint256"},{"internalType":"uint256","name":"amount1Max","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"uint256","name":"mintAmount","type":"uint256"},{"internalType":"uint128","name":"liquidityMinted","type":"uint128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pool","outputs":[{"internalType":"contract IUniswapV3Pool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint160","name":"swapThresholdPrice","type":"uint160"},{"internalType":"uint256","name":"swapAmountBPS","type":"uint256"},{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"uint256","name":"feeAmount","type":"uint256"},{"internalType":"address","name":"paymentToken","type":"address"}],"name":"rebalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rebalanceEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"_liquidity","type":"uint128"}],"name":"restrictLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"restrictedLiquidity","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"restrictedMintToggle","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"depositors","type":"address[]"},{"internalType":"bool","name":"listed","type":"bool"}],"name":"setWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleRestrictMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token0","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token1","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount0Owed","type":"uint256"},{"internalType":"uint256","name":"amount1Owed","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"uniswapV3MintCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int256","name":"amount0Delta","type":"int256"},{"internalType":"int256","name":"amount1Delta","type":"int256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"uniswapV3SwapCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int16","name":"newManagerFeeBPS","type":"int16"},{"internalType":"address","name":"newManagerTreasury","type":"address"},{"internalType":"int16","name":"newRebalanceBPS","type":"int16"},{"internalType":"int16","name":"newSlippageBPS","type":"int16"},{"internalType":"int32","name":"newSlippageInterval","type":"int32"}],"name":"updateManagerParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upperTick","outputs":[{"internalType":"int24","name":"","type":"int24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"whiteListEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawHyperPoolsBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawManagerBalance","outputs":[],"stateMutability":"nonpayable","type":"function"}]
60c06040523480156200001157600080fd5b5060405162005fef38038062005fef833981016040819052620000349162000065565b6001600160a01b039182166080521660a052620000a4565b6001600160a01b03811681146200006257600080fd5b50565b600080604083850312156200007957600080fd5b825162000086816200004c565b602084015190925062000099816200004c565b809150509250929050565b60805160a051615efb620000f46000396000818161059d01528181610e230152610e6101526000818161042e01528181610d9a015281816111280152818161397b01526139b00152615efb6000f3fe608060405234801561001057600080fd5b50600436106102bf5760003560e01c8063065756db146102c457806306fdde03146102e15780630910a510146102f6578063095ea7b3146103165780630dfe1681146103395780631322d9541461035a57806316f0115b1461037057806318160ddd1461038457806323b872dd1461038c57806324b8fd1b1461039f578063313ce567146103b45780633432c80f146103c35780633644e515146103cd578063372c12b1146103d557806339509351146103f95780633d1880d11461040c57806342fb9d441461041f57806345123ebd14610429578063481c6a751461045057806354fd4d50146104585780635df6150c1461047c5780635f59dce5146104975780636935f9061461049f5780636eda9fe7146104b257806370a08231146104ba578063715018a6146104e3578063727dd228146104eb5780637ecd6717146105125780637ecebe001461051a57806381fdec271461052d578063843f434a1461054257806387e9b639146105675780639071d46f1461057b57806395d89b411461059057806396345218146105985780639894f21a146105bf5780639b1344ac146105fb578063a457c2d71461060f578063a9059cbb14610622578063b135c99f14610635578063b670ed7d14610648578063b67343e51461065b578063c1802eb91461066e578063c540e48314610683578063cc95353e14610696578063ccdf7a02146106b0578063d21220a7146106c5578063d3487997146106d9578063d505accf146106ec578063d6dc7cc5146106ff578063d839fb3f14610709578063dd40e32214610712578063dd62ed3e14610727578063df28408a1461073a578063e25e15e314610742578063e2e616bb14610755578063e43f696e1461076a578063e7d3fe6b1461077d578063f2fde38b146107b9578063fa461e33146107cc578063fcd3533c146107df575b600080fd5b6102ce6101005481565b6040519081526020015b60405180910390f35b6102e9610816565b6040516102d89190614e60565b6102fe6108a8565b6040516001600160801b0390911681526020016102d8565b610329610324366004614ea8565b6108d2565b60405190151581526020016102d8565b6101055461034d906001600160a01b031681565b6040516102d89190614ed4565b6103626108ea565b6040516102d8929190614ee8565b6101045461034d906001600160a01b031681565b6035546102ce565b61032961039a366004614ef6565b61092c565b6103b26103ad366004614f5f565b610952565b005b604051601281526020016102d8565b6102ce6101025481565b6102ce610c04565b6103296103e3366004614fc7565b6101076020526000908152604090205460ff1681565b610329610407366004614ea8565b610c13565b6103b261041a366004614ff9565b610c35565b6102ce6101015481565b61034d7f000000000000000000000000000000000000000000000000000000000000000081565b61034d610cce565b6102e9604051806040016040528060058152602001640312e302e360dc1b81525081565b61048460fa81565b60405161ffff90911681526020016102d8565b6103b2610cdd565b6103b26104ad366004615016565b610d8f565b6103b2610df6565b6102ce6104c8366004614fc7565b6001600160a01b031660009081526033602052604090205490565b6103b2610e8a565b60fe546104ff90600160b81b900460020b81565b60405160029190910b81526020016102d8565b6103b2610ee2565b6102ce610528366004614fc7565b610f4e565b6101085461032990600160801b900460ff1681565b60ff546105529063ffffffff1681565b60405163ffffffff90911681526020016102d8565b610108546102fe906001600160801b031681565b60fe5461048490600160f01b900461ffff1681565b6102e9610f6e565b61034d7f000000000000000000000000000000000000000000000000000000000000000081565b6105d26105cd366004615033565b610f7d565b604080519485526020850193909352918301526001600160a01b031660608201526080016102d8565b60fe546104ff90600160a01b900460020b81565b61032961061d366004614ea8565b611089565b610329610630366004614ea8565b61110f565b6103b2610643366004615055565b61111d565b610362610656366004614fc7565b611241565b6103b2610669366004615016565b61127a565b60fe5461048490600160d01b900461ffff1681565b6103b26106913660046150b8565b6112c8565b60ff5461034d90600160301b90046001600160a01b031681565b60ff5461048490600160201b900461ffff1681565b6101065461034d906001600160a01b031681565b6103b26106e7366004615163565b6114c7565b6103b26106fa3660046151c4565b611534565b6102ce6101035481565b610484612b6781565b60fe5461048490600160e01b900461ffff1681565b6102ce610735366004615235565b611698565b6102ce6116c3565b6103b2610750366004615333565b6116cd565b6101065461032990600160a01b900460ff1681565b6103b2610778366004615418565b611a11565b61079061078b3660046154c8565b611ade565b604080519485526020850193909352918301526001600160801b031660608201526080016102d8565b6103b26107c7366004614fc7565b611cd0565b6103b26107da366004615163565b611db0565b6107f26107ed366004615501565b611e22565b6040805193845260208401929092526001600160801b0316908201526060016102d8565b60606036805461082590615526565b80601f016020809104026020016040519081016040528092919081815260200182805461085190615526565b801561089e5780601f106108735761010080835404028352916020019161089e565b820191906000526020600020905b81548152906001019060200180831161088157829003601f168201915b5050505050905090565b60006108c86108b561205c565b610104546001600160a01b0316906120b7565b5092949350505050565b6000336108e0818585612165565b5060019392505050565b61010454600090819081908190610909906001600160a01b0316612289565b50505050509150915061091c828261231c565b9350935050509091565b60355490565b60003361093a8582856124ec565b610945858585612560565b60019150505b9392505050565b3361095b610cce565b6001600160a01b03161461098a5760405162461bcd60e51b81526004016109819061555b565b60405180910390fd5b61010854600160801b900460ff166109dd5760405162461bcd60e51b815260206004820152601660248201527544697361626c6564206279206879706572706f6f6c7360501b6044820152606401610981565b60008060006109eb60355490565b1115610b94576109f96108a8565b91506001600160801b03821615610a7c5760fe546000908190610a3290600160a01b8104600290810b91600160b81b9004900b8661271c565b935093505050610a4282826128ed565b610a4c82826129a2565b6040519193509150600080516020615ea683398151915290610a719084908490614ee8565b60405180910390a150505b60fe805462ffffff888116600160b81b0262ffffff60b81b19918b16600160a01b029190911665ffffffffffff60a01b19909216919091171790556101025461010054610105546000929190610adb906001600160a01b031630612a11565b610ae591906155b3565b610aef91906155b3565b610103546101015461010654929350600092610b14906001600160a01b031630612a11565b610b1e91906155b3565b610b2891906155b3565b9050610b39898984848b8b8b612ab2565b610b416108a8565b92506000836001600160801b031611610b8d5760405162461bcd60e51b815260206004820152600e60248201526d06e657720706f736974696f6e20360941b6044820152606401610981565b5050610bd0565b60fe805462ffffff888116600160b81b0262ffffff60b81b19918b16600160a01b029190911665ffffffffffff60a01b19909216919091171790555b600080516020615e1e83398151915287878484604051610bf394939291906155ca565b60405180910390a150505050505050565b6000610c0e612bf2565b905090565b6000336108e0818585610c268383611698565b610c3091906155f8565b612165565b33610c3e610cce565b6001600160a01b031614610c645760405162461bcd60e51b81526004016109819061555b565b61010880546001600160801b0319166001600160801b0383161790557f8ac03241b1b50875f34a8527f07425c5c7f720c55a53e4ea7acd35ca8dc9051e33604080516001600160a01b0390921682526001600160801b03841660208301520160405180910390a150565b60fe546001600160a01b031690565b33610ce6610cce565b6001600160a01b031614610d0c5760405162461bcd60e51b81526004016109819061555b565b60fe54600160e01b900461ffff16612b6714610d2a57612b67610d2d565b60005b60fe805461ffff60e01b1916600160e01b61ffff938416810291909117918290556040805133815291909204909216602083015280517f4195020e14278ab8d97e55561be05ffc4ff517e3f38ddc4a90455584092f96309281900390910190a1565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd75760405162461bcd60e51b815260040161098190615610565b6101088054911515600160801b0260ff60801b19909216919091179055565b61010280546101038054600093849055929055908115610e485761010554610e48906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000084612c6d565b8015610e865761010654610e86906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000083612c6d565b5050565b33610e93610cce565b6001600160a01b031614610eb95760405162461bcd60e51b81526004016109819061555b565b60ff8054600160201b600160d01b0319169055600061010081905561010155610ee0612cd5565b565b61010080546101018054600093849055929055908115610f225760ff5461010554610f22916001600160a01b0391821691600160301b9091041684612c6d565b8015610e865760ff5461010654610e86916001600160a01b0391821691600160301b9091041683612c6d565b6001600160a01b0381166000908152609960205260408120545b92915050565b60606037805461082590615526565b61010454600090819081908190610f9c906001600160a01b0316612289565b5094955060009450610fb2935061092692505050565b90508015610ff757610fc5818888612d3c565b9250600080610fd26108ea565b91509150610fe1828685612e5a565b9650610fee818685612e5a565b9550505061107f565b60fe5460009061103390849061101690600160a01b900460020b612ea3565b60fe5461102c90600160b81b900460020b612ea3565b8b8b6132ad565b60fe5490915061106e90849061105290600160a01b900460020b612ea3565b60fe5461106890600160b81b900460020b612ea3565b8461336f565b90965094506001600160801b031692505b5092959194509250565b600033816110978286611698565b9050838110156110f75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610981565b6111048286868403612165565b506001949350505050565b6000336108e0818585612560565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111655760405162461bcd60e51b815260040161098190615610565b831561117557611175858461340b565b600061117f6108a8565b905061118f818787878787613655565b600061119c6108b561205c565b505050509050816001600160801b0316816001600160801b0316116111fd5760405162461bcd60e51b81526020600482015260176024820152766c6971756964697479206d75737420696e63726561736560481b6044820152606401610981565b6112078484613949565b60fe54604051600080516020615e1e83398151915291610bf391600160a01b8204600290810b92600160b81b9004900b90869086906155ca565b610104546000908190819061125e906001600160a01b0316612289565b5050505050915050611270848261231c565b9250925050915091565b33611283610cce565b6001600160a01b0316146112a95760405162461bcd60e51b81526004016109819061555b565b6101068054911515600160a01b0260ff60a01b19909216919091179055565b336112d1610cce565b6001600160a01b0316146112f75760405162461bcd60e51b81526004016109819061555b565b6127108360010b131561131c5760405162461bcd60e51b815260040161098190615644565b6127108260010b13156113415760405162461bcd60e51b815260040161098190615644565b61134e60fa612710615661565b60010b8560010b13156113735760405162461bcd60e51b8152600401610981906156a7565b60008560010b126113995760ff805461ffff60201b1916600160201b61ffff8816021790555b60008360010b126113bf5760fe805461ffff60d01b1916600160d01b61ffff8616021790555b60008260010b126113e65760fe80546001600160f01b0316600160f01b61ffff8516021790555b60008160030b126114075760ff805463ffffffff191663ffffffff83161790555b6001600160a01b0384161561143b5760ff8054600160301b600160d01b031916600160301b6001600160a01b038716021790555b60ff5460fe546040805161ffff600160201b8504811682526001600160a01b03600160301b8604166020830152600160d01b8404811692820192909252600160f01b90920416606082015263ffffffff90911660808201527ff459b381c988c676562c20a01f42f488c5560ed2e3957b0f27f26573418b61939060a00160405180910390a15050505050565b610104546001600160a01b031633146114f25760405162461bcd60e51b8152600401610981906156c5565b83156115105761010554611510906001600160a01b03163386612c6d565b821561152e576101065461152e906001600160a01b03163385612c6d565b50505050565b834211156115845760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610981565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886115b38c6139d5565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061160e826139fd565b9050600061161e82878787613a4b565b9050896001600160a01b0316816001600160a01b0316146116815760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610981565b61168c8a8a8a612165565b50505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6000610c0e61205c565b600054610100900460ff16158080156116ed5750600054600160ff909116105b8061170e57506116fc30613a73565b15801561170e575060005460ff166001145b6117715760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610981565b6000805460ff191660011790558015611794576000805461ff0019166101001790555b6117a160fa6127106156ee565b61ffff168561ffff1611156117c85760405162461bcd60e51b8152600401610981906156a7565b61010480546001600160a01b0319166001600160a01b03881690811790915560408051630dfe168160e01b81529051630dfe1681916004808201926020929091908290030181865afa158015611822573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118469190615711565b61010580546001600160a01b0319166001600160a01b03928316179055610104546040805163d21220a760e01b81529051919092169163d21220a79160048083019260209291908290030181865afa1580156118a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ca9190615711565b610106805460ff8054610108805460ff60801b1916600160801b1790556001600160a81b03199092166001600160a01b039485161790925560fe8054938616600160301b8102600160301b600160d01b031963ffffffff1961ffff8d16600160201b021665ffffffffffff199095169490941761012c17939093169290921790925562ffffff868116600160b81b026001600160a01b031916600165ffffff00000160a01b0319918916600160a01b02600169ffff0000ffffff00000160a01b0390951694909417643e8000001960d31b17169290921790911790556119b08888613a82565b6119b988613ab3565b6119c1613b00565b8015611a07576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b33611a1a610cce565b6001600160a01b031614611a405760405162461bcd60e51b81526004016109819061555b565b60005b8251811015611a9e57816101076000858481518110611a6457611a6461572e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101611a43565b507f221a470885444cd7097c59763ea85234fb570f3a801f73459725148a6cfc19ab338383604051611ad293929190615744565b60405180910390a15050565b600080600080600260cc541415611b075760405162461bcd60e51b8152600401610981906157ab565b600260cc5560fe54600160e01b900461ffff16612b67141580611b34575060fe546001600160a01b031633145b611b6e5760405162461bcd60e51b815260206004820152600b60248201526a085c995cdd1c9a58dd195960aa1b6044820152606401610981565b61010654600160a01b900460ff1615611c0a57336000908152610107602052604090205460ff168015611bba57506001600160a01b0385166000908152610107602052604090205460ff165b80611bcf575060fe546001600160a01b031633145b611c0a5760405162461bcd60e51b815260206004820152600c60248201526b085dda1a5d195b1a5cdd195960a21b6044820152606401610981565b6000611c168888610f7d565b92975090955093509050611c2d858585848a613b2f565b610108549092506001600160801b03161580611c655750610108546001600160801b0316611c596108a8565b6001600160801b031611155b80611c7a575060fe546001600160a01b031633145b611cbe5760405162461bcd60e51b81526020600482015260156024820152742172657374726963746564206c697175696469747960581b6044820152606401610981565b50600160cc8190555093509350935093565b33611cd9610cce565b6001600160a01b031614611cff5760405162461bcd60e51b81526004016109819061555b565b6001600160a01b038116611d665760405162461bcd60e51b815260206004820152602860248201527f4f776e61626c653a206e6577206d616e6167657220697320746865207a65726f604482015267206164647265737360c01b6064820152608401610981565b60fe546040516001600160a01b03808416921690600080516020615e3e83398151915290600090a360fe80546001600160a01b0319166001600160a01b0392909216919091179055565b610104546001600160a01b03163314611ddb5760405162461bcd60e51b8152600401610981906156c5565b6000841315611e015761010554611dfc906001600160a01b03163386612c6d565b61152e565b600083131561152e576101065461152e906001600160a01b03163385612c6d565b6000806000600260cc541415611e4a5760405162461bcd60e51b8152600401610981906157ab565b600260cc5584611e855760405162461bcd60e51b815260206004820152600660248201526506275726e20360d41b6044820152606401610981565b6000611e9060355490565b90506000611e9c6108a8565b9050611ea83388613c8f565b6000611ebe88836001600160801b031685613dcb565b9050611ec981613e7a565b60fe54909450600090819081908190611ef890600160a01b8104600290810b91600160b81b9004900b8a61271c565b9350935093509350611f0a82826128ed565b611f1482826129a2565b6040519193509150600080516020615ea683398151915290611f399084908490614ee8565b60405180910390a1610102546101005461010554611f8d9291908790611f68906001600160a01b031630612a11565b611f7291906155b3565b611f7c91906155b3565b611f8691906155b3565b8d89613dcb565b611f9790856155f8565b610103546101015461010654929c50611fbf928690611f68906001600160a01b031630612a11565b611fc990846155f8565b98508915611fe95761010554611fe9906001600160a01b03168c8c612c6d565b88156120075761010654612007906001600160a01b03168c8b612c6d565b7f7239dff1718b550db7f36cbf69c665cfeb56d0e96b4fb76a5cba712961b655098b8d8c8c8c60405161203e9594939291906157e2565b60405180910390a150505050505050600160cc819055509250925092565b60fe546040516001600160601b03193060601b166020820152600160a01b820460e890811b6034830152600160b81b90920490911b6037820152600090603a0160405160208183030381529060405280519060200120905090565b60008060008060008061213b63514ea4bf60e01b886040516024016120de91815260200190565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060288152602001615e7e602891396001600160a01b038b169190613ee7565b9050808060200190518101906121519190615819565b939c929b5090995097509095509350505050565b6001600160a01b0383166121c75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610981565b6001600160a01b0382166122285760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610981565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6040805160048152602481018252602080820180516001600160e01b0316633850c7bd60e01b179052825160608101909352602880845260009384938493849384938493849384936122ee9391615e7e908301396001600160a01b038c169190613ee7565b905080806020019051810190612304919061586d565b959f949e50929c50909a509850965090945092505050565b610104546000908190819081908190819081906001600160a01b031663514ea4bf61234561205c565b6040518263ffffffff1660e01b815260040161236391815260200190565b60a060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a49190615819565b945094509450945094506123e9896123cd60fe60149054906101000a900460020b60020b612ea3565b60fe546123e390600160b81b900460020b612ea3565b8861336f565b909750955060006001600160801b0383166124076001878c8a613fb5565b61241191906155f8565b90506000826001600160801b031661242c6000878d8b613fb5565b61243691906155f8565b905061244282826129a2565b61010254610100546101055493955091935091612468906001600160a01b031630612a11565b61247290856155f8565b61247c91906155b3565b61248691906155b3565b612490908a6155f8565b610103546101015461010654929b5090916124b4906001600160a01b031630612a11565b6124be90846155f8565b6124c891906155b3565b6124d291906155b3565b6124dc90896155f8565b9750505050505050509250929050565b60006124f88484611698565b9050600019811461152e57818110156125535760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610981565b61152e8484848403612165565b6001600160a01b0383166125c45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610981565b6001600160a01b0382166126265760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610981565b6001600160a01b0383166000908152603360205260409020548181101561269e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610981565b6001600160a01b038085166000908152603360205260408082208585039055918516815290812080548492906126d59084906155f8565b92505081905550826001600160a01b0316846001600160a01b0316600080516020615e5e8339815191528460405161270f91815260200190565b60405180910390a361152e565b61010554600090819081908190819061273e906001600160a01b031630612a11565b6101065490915060009061275b906001600160a01b031630612a11565b6101045460405163a34123a760e01b815260028c810b60048301528b900b60248201526001600160801b038a1660448201529192506001600160a01b03169063a34123a79060640160408051808303816000875af11580156127c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e591906158f9565b610104546040516309e3d67b60e31b815230600482015260028d810b60248301528c900b60448201526001600160801b036064820181905260848201529298509096506001600160a01b031690634f1eb3d89060a40160408051808303816000875af1158015612859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061287d919061591d565b5050610105548690839061289a906001600160a01b031630612a11565b6128a491906155b3565b6128ae91906155b3565b61010654909450859082906128cc906001600160a01b031630612a11565b6128d691906155b3565b6128e091906155b3565b9250505093509350935093565b6128fb8260fa612710613dcb565b610102600082825461290d91906155f8565b9091555061292190508160fa612710613dcb565b610103600082825461293391906155f8565b909155505060ff54612954908390600160201b900461ffff16612710613dcb565b610100600082825461296691906155f8565b909155505060ff54612987908290600160201b900461ffff16612710613dcb565b610101600082825461299991906155f8565b90915550505050565b6000806129d28460ff60049054906101000a900461ffff1660fa6129c6919061594c565b61ffff16612710613dcb565b6129dc90856155b3565b60ff549092506129fe9084906129c690600160201b900461ffff1660fa61594c565b612a0890846155b3565b90509250929050565b600080612a946370a0823160e01b84604051602401612a309190614ed4565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b0319909516949094179093528051808201909152828152600080516020615dfe833981519152928101929092526001600160a01b03871691613ee7565b905080806020019051810190612aaa9190615972565b949350505050565b61010454600090612acb906001600160a01b0316612289565b50505050505090506000612af882612ae58b60020b612ea3565b612af18b60020b612ea3565b8a8a6132ad565b90506001600160801b03811615612ba75761010454604051633c8a7d8d60e01b815260009182916001600160a01b0390911690633c8a7d8d90612b459030908f908f90899060040161598b565b60408051808303816000875af1158015612b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8791906158f9565b9092509050612b96828a6155b3565b9850612ba281896155b3565b975050505b6000612bca612bc585612bba5788612bbc565b895b87612710613dcb565b6141aa565b9050600081131561168c57612be48a8a8a8a858b8a614214565b505050505050505050505050565b6000610c0e7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612c2160655490565b6066546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6040516001600160a01b038316602482015260448101829052612cd090849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526143cc565b505050565b33612cde610cce565b6001600160a01b031614612d045760405162461bcd60e51b81526004016109819061555b565b60fe546040516000916001600160a01b031690600080516020615e3e833981519152908390a360fe80546001600160a01b0319169055565b6000806000612d496108ea565b91509150816000148015612d5d5750600081115b15612d7457612d6d848783613dcb565b9250612e51565b80158015612d825750600082115b15612d9257612d6d858784613dcb565b81158015612d9e575080155b15612dda5760405162461bcd60e51b815260206004820152600c60248201526b7a65726f20616d6f756e747360a01b6044820152606401610981565b6000612de7868885613dcb565b90506000612df6868985613dcb565b9050600082118015612e085750600081115b612e3d5760405162461bcd60e51b815260206004820152600660248201526506d696e7420360d41b6044820152606401610981565b808210612e4a5780612e4c565b815b945050505b50509392505050565b6000612e67848484613dcb565b905060008280612e7957612e796159cd565b848609111561094b576000198110612e9057600080fd5b80612e9a816159e3565b95945050505050565b60008060008360020b12612eba578260020b612ec7565b8260020b612ec7906159fe565b9050612ed6620d89e719615a1b565b60020b811115612f0c5760405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606401610981565b600060018216612f2057600160801b612f32565b6ffffcb933bd6fad37aa2d162d1a5940015b6001600160881b031690506002821615612f67576080612f62826ffff97272373d413259a46990580e213a615a3e565b901c90505b6004821615612f91576080612f8c826ffff2e50f5f656932ef12357cf3c7fdcc615a3e565b901c90505b6008821615612fbb576080612fb6826fffe5caca7e10e4e61c3624eaa0941cd0615a3e565b901c90505b6010821615612fe5576080612fe0826fffcb9843d60f6159c9db58835c926644615a3e565b901c90505b602082161561300f57608061300a826fff973b41fa98c081472e6896dfb254c0615a3e565b901c90505b6040821615613039576080613034826fff2ea16466c96a3843ec78b326b52861615a3e565b901c90505b608082161561306357608061305e826ffe5dee046a99a2a811c461f1969c3053615a3e565b901c90505b61010082161561308e576080613089826ffcbe86c7900a88aedcffc83b479aa3a4615a3e565b901c90505b6102008216156130b95760806130b4826ff987a7253ac413176f2b074cf7815e54615a3e565b901c90505b6104008216156130e45760806130df826ff3392b0822b70005940c7a398e4b70f3615a3e565b901c90505b61080082161561310f57608061310a826fe7159475a2c29b7443b29c7fa6e889d9615a3e565b901c90505b61100082161561313a576080613135826fd097f3bdfd2022b8845ad8f792aa5825615a3e565b901c90505b612000821615613165576080613160826fa9f746462d870fdf8a65dc1f90e061e5615a3e565b901c90505b61400082161561319057608061318b826f70d869a156d2a1b890bb3df62baf32f7615a3e565b901c90505b6180008216156131bb5760806131b6826f31be135f97d08fd981231505542fcfa6615a3e565b901c90505b620100008216156131e75760806131e2826f09aa508b5b7a84e1c677de54f3e99bc9615a3e565b901c90505b6202000082161561321257608061320d826e5d6af8dedb81196699c329225ee604615a3e565b901c90505b6204000082161561323c576080613237826d2216e584f5fa1ea926041bedfe98615a3e565b901c90505b6208000082161561326457608061325f826b048a170391f7dc42444e8fa2615a3e565b901c90505b60008460020b131561327f5761327c81600019615a5d565b90505b61328d600160201b82615a71565b1561329957600161329c565b60005b612aaa9060ff16602083901c6155f8565b6000836001600160a01b0316856001600160a01b031611156132cd579293925b846001600160a01b0316866001600160a01b0316116132f8576132f185858561448c565b9050612e9a565b836001600160a01b0316866001600160a01b0316101561335a57600061331f87868661448c565b9050600061332e8789866144f6565b9050806001600160801b0316826001600160801b03161061334f5780613351565b815b92505050612e9a565b6133658585846144f6565b9695505050505050565b600080836001600160a01b0316856001600160a01b03161115613390579293925b846001600160a01b0316866001600160a01b0316116133bb576133b485858561452c565b9150613402565b836001600160a01b0316866001600160a01b031610156133f4576133e086858561452c565b91506133ed858785614596565b9050613402565b6133ff858585614596565b90505b94509492505050565b604080516002808252606082018352600092602083019080368337505060ff54825192935063ffffffff16918391506000906134495761344961572e565b602002602001019063ffffffff16908163ffffffff16815250506000816001815181106134785761347861572e565b63ffffffff909216602092830291909101909101526101045460405163883bdbfd60e01b81526000916001600160a01b03169063883bdbfd906134bf908590600401615a85565b600060405180830381865afa1580156134dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135049190810190615b50565b50905080516002146135445760405162461bcd60e51b815260206004820152600960248201526830b93930bc903632b760b91b6044820152606401610981565b60ff548151600091829163ffffffff90911660060b908490839061356a5761356a61572e565b6020026020010151846001815181106135855761358561572e565b60200260200101510360060b8161359e5761359e6159cd565b0590506135ad8160020b612ea3565b6001600160a01b031691505060006135dc8260fe601e9054906101000a900461ffff1661ffff16612710613dcb565b9050841561361b576135ee81836155b3565b866001600160a01b031610156136165760405162461bcd60e51b815260040161098190615c12565b61364d565b61362581836155f8565b866001600160a01b0316111561364d5760405162461bcd60e51b815260040161098190615c12565b505050505050565b6101025461010054610105546000929190613679906001600160a01b031630612a11565b61368391906155b3565b61368d91906155b3565b6101035461010154610106549293506000926136b2906001600160a01b031630612a11565b6136bc91906155b3565b6136c691906155b3565b60fe5490915060009081906136f190600160a01b8104600290810b91600160b81b9004900b8c61271c565b93509350505061370182826128ed565b61370b82826129a2565b6040519193509150600080516020615ea6833981519152906137309084908490614ee8565b60405180910390a161374284836155f8565b915061374e83826155f8565b610105549091506001600160a01b038681169116141561382e5760fe5486906127109061378690600160d01b900461ffff1685615a3e565b6137909190615a5d565b10156137ae5760405162461bcd60e51b815260040161098190615c39565b610102546101005461010554889291906137d1906001600160a01b031630612a11565b6137db91906155b3565b6137e591906155b3565b6137ef91906155b3565b6101035461010154610106549296509091613813906001600160a01b031630612a11565b61381d91906155b3565b61382791906155b3565b9250613922565b610106546001600160a01b03868116911614156138ec5760fe5486906127109061386390600160d01b900461ffff1684615a3e565b61386d9190615a5d565b101561388b5760405162461bcd60e51b815260040161098190615c39565b6101025461010054610105546138aa906001600160a01b031630612a11565b6138b491906155b3565b6138be91906155b3565b61010354610101546101065492965088926138e2906001600160a01b031630612a11565b61381391906155b3565b60405162461bcd60e51b815260206004820152600b60248201526a3bb937b733903a37b5b2b760a91b6044820152606401610981565b60fe5461168c90600160a01b8104600290810b91600160b81b9004900b86868d8d8d612ab2565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156139a157610e866001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016836145e0565b610e866001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000084612c6d565b6001600160a01b03811660009081526099602052604090208054600181018255905b50919050565b6000610f68613a0a612bf2565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000613a5c878787876146f6565b91509150613a69816147d6565b5095945050505050565b6001600160a01b03163b151590565b600054610100900460ff16613aa95760405162461bcd60e51b815260040161098190615c5b565b610e86828261498c565b600054610100900460ff16613ada5760405162461bcd60e51b815260040161098190615c5b565b613afd81604051806040016040528060018152602001603160f81b8152506149da565b50565b600054610100900460ff16613b275760405162461bcd60e51b815260040161098190615c5b565b610ee0614a1b565b60008515613b505761010554613b50906001600160a01b0316333089614a49565b8415613b6f5761010654613b6f906001600160a01b0316333088614a49565b60fe54613ba8908490613b8b90600160a01b900460020b612ea3565b60fe54613ba190600160b81b900460020b612ea3565b89896132ad565b6101045460fe54604051633c8a7d8d60e01b81529293506001600160a01b0390911691633c8a7d8d91613bf9913091600160a01b8104600290810b92600160b81b909204900b90879060040161598b565b60408051808303816000875af1158015613c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c3b91906158f9565b5050613c478285614a81565b7f55801cfe493000b734571da1694b21e7f66b11e8ce9fdaa0524ecb59105e73e78285888885604051613c7e9594939291906157e2565b60405180910390a195945050505050565b6001600160a01b038216613cef5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610981565b6001600160a01b03821660009081526033602052604090205481811015613d635760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610981565b6001600160a01b0383166000908152603360205260408120838303905560358054849290613d929084906155b3565b90915550506040518281526000906001600160a01b03851690600080516020615e5e8339815191529060200160405180910390a3505050565b600080806000198587098587029250828110838203039150508060001415613e055760008411613dfa57600080fd5b50829004905061094b565b808411613e1157600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b60006001600160801b03821115613ee35760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610981565b5090565b6060613ef284613a73565b613f4a5760405162461bcd60e51b8152602060048201526024808201527f416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e746044820152631c9858dd60e21b6064820152608401610981565b600080856001600160a01b031685604051613f659190615ca6565b600060405180830381855afa9150503d8060008114613fa0576040519150601f19603f3d011682016040523d82523d6000602084013e613fa5565b606091505b5091509150613365828286614b4e565b60fe5461010454600091829182918291613fe4916001600160a01b0390911690600160a01b900460020b614b87565b505060fe54610104549498509296506000955085945061401a936001600160a01b031692600160b81b900460020b915050614b87565b5050505093509350505089156140a95761010460009054906101000a90046001600160a01b03166001600160a01b031663f30583996040518163ffffffff1660e01b8152600401602060405180830381865afa15801561407e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140a29190615972565b945061412a565b61010460009054906101000a90046001600160a01b03166001600160a01b031663461413196040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141219190615972565b94508293508091505b60fe54600090600160a01b9004600290810b908a900b1261414c575083614151565b508385035b60fe54600090600160b81b9004600290810b908b900b1215614174575082614179565b508286035b8187038190036141996001600160801b038b168d8303600160801b613dcb565b9d9c50505050505050505050505050565b60006001600160ff1b03821115613ee35760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401610981565b61010454604051630251596160e31b81523060048201528215156024820152604481018590526001600160a01b03848116606483015260a06084830152600060a4830181905292839283928392169063128acb089060c40160408051808303816000875af115801561428a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142ae91906158f9565b91509150816142bc8a6141aa565b6142c69190615cc2565b9350806142d2896141aa565b6142dc9190615cc2565b610104549093506000906142f8906001600160a01b0316612289565b5050505050509050600061431e826143128f60020b612ea3565b613ba18f60020b612ea3565b90506001600160801b038116156143bc5761010460009054906101000a90046001600160a01b03166001600160a01b0316633c8a7d8d308f8f856040518563ffffffff1660e01b8152600401614377949392919061598b565b60408051808303816000875af1158015614395573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143b991906158f9565b50505b5050505097509795505050505050565b600061440f82604051806040016040528060208152602001600080516020615dfe833981519152815250856001600160a01b0316614c4b9092919063ffffffff16565b805190915015612cd0578080602001905181019061442d9190615d01565b612cd05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610981565b6000826001600160a01b0316846001600160a01b031611156144ac579192915b60006144cf856001600160a01b0316856001600160a01b0316600160601b613dcb565b9050612e9a6144f184836144e38989615d1e565b6001600160a01b0316613dcb565b614c5a565b6000826001600160a01b0316846001600160a01b03161115614516579192915b612aaa6144f183600160601b6144e38888615d1e565b6000826001600160a01b0316846001600160a01b0316111561454c579192915b6001600160a01b03841661458c600160601b600160e01b03606085901b166145748787615d1e565b6001600160a01b0316866001600160a01b0316613dcb565b612aaa9190615a5d565b6000826001600160a01b0316846001600160a01b031611156145b6579192915b612aaa6001600160801b0383166145cd8686615d1e565b6001600160a01b0316600160601b613dcb565b804710156146305760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610981565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461467d576040519150601f19603f3d011682016040523d82523d6000602084013e614682565b606091505b5050905080612cd05760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c20726044820152791958da5c1a595b9d081b585e481a185d99481c995d995c9d195960321b6064820152608401610981565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038311156147235750600090506003613402565b8460ff16601b1415801561473b57508460ff16601c14155b1561474c5750600090506004613402565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156147a0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166147c957600060019250925050613402565b9660009650945050505050565b60008160048111156147ea576147ea615d3e565b14156147f35750565b600181600481111561480757614807615d3e565b14156148505760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b6044820152606401610981565b600281600481111561486457614864615d3e565b14156148b25760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610981565b60038160048111156148c6576148c6615d3e565b141561491f5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610981565b600481600481111561493357614933615d3e565b1415613afd5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610981565b600054610100900460ff166149b35760405162461bcd60e51b815260040161098190615c5b565b81516149c6906036906020850190614da4565b508051612cd0906037906020840190614da4565b600054610100900460ff16614a015760405162461bcd60e51b815260040161098190615c5b565b815160209283012081519190920120606591909155606655565b600054610100900460ff16614a425760405162461bcd60e51b815260040161098190615c5b565b600160cc55565b6040516001600160a01b038085166024830152831660448201526064810182905261152e9085906323b872dd60e01b90608401612c99565b6001600160a01b038216614ad75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610981565b8060356000828254614ae991906155f8565b90915550506001600160a01b03821660009081526033602052604081208054839290614b169084906155f8565b90915550506040518181526001600160a01b03831690600090600080516020615e5e8339815191529060200160405180910390a35050565b60608315614b5d57508161094b565b825115614b6d5782518084602001fd5b8160405162461bcd60e51b81526004016109819190614e60565b6000806000806000806000806000614c1763f30dba9360e01b8b604051602401614bba919060029190910b815260200190565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060288152602001615e7e602891396001600160a01b038e169190613ee7565b905080806020019051810190614c2d9190615d54565b98509850985098509850985098509850509295985092959890939650565b6060612aaa8484600085614c75565b806001600160801b0381168114614c7057600080fd5b919050565b606082471015614cd65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610981565b614cdf85613a73565b614d2b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610981565b600080866001600160a01b03168587604051614d479190615ca6565b60006040518083038185875af1925050503d8060008114614d84576040519150601f19603f3d011682016040523d82523d6000602084013e614d89565b606091505b5091509150614d99828286614b4e565b979650505050505050565b828054614db090615526565b90600052602060002090601f016020900481019282614dd25760008555614e18565b82601f10614deb57805160ff1916838001178555614e18565b82800160010185558215614e18579182015b82811115614e18578251825591602001919060010190614dfd565b50613ee39291505b80821115613ee35760008155600101614e20565b60005b83811015614e4f578181015183820152602001614e37565b8381111561152e5750506000910152565b6020815260008251806020840152614e7f816040850160208701614e34565b601f01601f19169190910160400192915050565b6001600160a01b0381168114613afd57600080fd5b60008060408385031215614ebb57600080fd5b8235614ec681614e93565b946020939093013593505050565b6001600160a01b0391909116815260200190565b918252602082015260400190565b600080600060608486031215614f0b57600080fd5b8335614f1681614e93565b92506020840135614f2681614e93565b929592945050506040919091013590565b8060020b8114613afd57600080fd5b8015158114613afd57600080fd5b8035614c7081614f46565b600080600080600060a08688031215614f7757600080fd5b8535614f8281614f37565b94506020860135614f9281614f37565b93506040860135614fa281614e93565b9250606086013591506080860135614fb981614f46565b809150509295509295909350565b600060208284031215614fd957600080fd5b813561094b81614e93565b6001600160801b0381168114613afd57600080fd5b60006020828403121561500b57600080fd5b813561094b81614fe4565b60006020828403121561502857600080fd5b813561094b81614f46565b6000806040838503121561504657600080fd5b50508035926020909101359150565b600080600080600060a0868803121561506d57600080fd5b853561507881614e93565b945060208601359350604086013561508f81614f46565b9250606086013591506080860135614fb981614e93565b8035600181900b8114614c7057600080fd5b600080600080600060a086880312156150d057600080fd5b6150d9866150a6565b945060208601356150e981614e93565b93506150f7604087016150a6565b9250615105606087016150a6565b915060808601358060030b8114614fb957600080fd5b60008083601f84011261512d57600080fd5b5081356001600160401b0381111561514457600080fd5b60208301915083602082850101111561515c57600080fd5b9250929050565b6000806000806060858703121561517957600080fd5b843593506020850135925060408501356001600160401b0381111561519d57600080fd5b6151a98782880161511b565b95989497509550505050565b60ff81168114613afd57600080fd5b600080600080600080600060e0888a0312156151df57600080fd5b87356151ea81614e93565b965060208801356151fa81614e93565b955060408801359450606088013593506080880135615218816151b5565b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561524857600080fd5b823561525381614e93565b9150602083013561526381614e93565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156152ac576152ac61526e565b604052919050565b600082601f8301126152c557600080fd5b81356001600160401b038111156152de576152de61526e565b6152f1601f8201601f1916602001615284565b81815284602083860101111561530657600080fd5b816020850160208301376000918101602001919091529392505050565b61ffff81168114613afd57600080fd5b600080600080600080600060e0888a03121561534e57600080fd5b87356001600160401b038082111561536557600080fd5b6153718b838c016152b4565b985060208a013591508082111561538757600080fd5b506153948a828b016152b4565b96505060408801356153a581614e93565b945060608801356153b581615323565b935060808801356153c581614f37565b925060a08801356153d581614f37565b915060c08801356153e581614e93565b8091505092959891949750929550565b60006001600160401b0382111561540e5761540e61526e565b5060051b60200190565b6000806040838503121561542b57600080fd5b82356001600160401b0381111561544157600080fd5b8301601f8101851361545257600080fd5b80356020615467615462836153f5565b615284565b82815260059290921b8301810191818101908884111561548657600080fd5b938201935b838510156154ad57843561549e81614e93565b8252938201939082019061548b565b95506154bc9050868201614f54565b93505050509250929050565b6000806000606084860312156154dd57600080fd5b833592506020840135915060408401356154f681614e93565b809150509250925092565b6000806040838503121561551457600080fd5b82359150602083013561526381614e93565b600181811c9082168061553a57607f821691505b602082108114156139f757634e487b7160e01b600052602260045260246000fd5b60208082526022908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206d616e616760408201526132b960f11b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b6000828210156155c5576155c561559d565b500390565b600294850b81529290930b60208301526001600160801b039081166040830152909116606082015260800190565b6000821982111561560b5761560b61559d565b500190565b6020808252601a90820152794879706572666965643a204f6e6c79206879706572706f6f6c7360301b604082015260600190565b60208082526003908201526242505360e81b604082015260600190565b60008160010b8360010b6000811281617fff19018312811516156156875761568761559d565b81617fff01831381161561569d5761569d61559d565b5090039392505050565b6020808252600490820152636d42505360e01b604082015260600190565b6020808252600f908201526e31b0b6363130b1b59031b0b63632b960891b604082015260600190565b600061ffff838116908316818110156157095761570961559d565b039392505050565b60006020828403121561572357600080fd5b815161094b81614e93565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038481168252606060208084018290528551918401829052600092868201929091906080860190855b81811015615792578551851683529483019491830191600101615774565b5050809450505050508215156040830152949350505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6001600160a01b039590951685526020850193909352604084019190915260608301526001600160801b0316608082015260a00190565b600080600080600060a0868803121561583157600080fd5b855161583c81614fe4565b809550506020860151935060408601519250606086015161585c81614fe4565b6080870151909250614fb981614fe4565b600080600080600080600060e0888a03121561588857600080fd5b875161589381614e93565b60208901519097506158a481614f37565b60408901519096506158b581615323565b60608901519095506158c681615323565b60808901519094506158d781615323565b60a08901519093506158e8816151b5565b60c08901519092506153e581614f46565b6000806040838503121561590c57600080fd5b505080516020909101519092909150565b6000806040838503121561593057600080fd5b825161593b81614fe4565b602084015190925061526381614fe4565b600061ffff8083168185168083038211156159695761596961559d565b01949350505050565b60006020828403121561598457600080fd5b5051919050565b6001600160a01b03949094168452600292830b6020850152910b60408301526001600160801b0316606082015260a06080820181905260009082015260c00190565b634e487b7160e01b600052601260045260246000fd5b60006000198214156159f7576159f761559d565b5060010190565b6000600160ff1b821415615a1457615a1461559d565b5060000390565b60008160020b627fffff19811415615a3557615a3561559d565b60000392915050565b6000816000190483118215151615615a5857615a5861559d565b500290565b600082615a6c57615a6c6159cd565b500490565b600082615a8057615a806159cd565b500690565b6020808252825182820181905260009190848201906040850190845b81811015615ac357835163ffffffff1683529284019291840191600101615aa1565b50909695505050505050565b8051600681900b8114614c7057600080fd5b600082601f830112615af257600080fd5b81516020615b02615462836153f5565b82815260059290921b84018101918181019086841115615b2157600080fd5b8286015b84811015615b45578051615b3881614e93565b8352918301918301615b25565b509695505050505050565b60008060408385031215615b6357600080fd5b82516001600160401b0380821115615b7a57600080fd5b818501915085601f830112615b8e57600080fd5b81516020615b9e615462836153f5565b82815260059290921b84018101918181019089841115615bbd57600080fd5b948201945b83861015615be257615bd386615acf565b82529482019490820190615bc2565b91880151919650909350505080821115615bfb57600080fd5b50615c0885828601615ae1565b9150509250929050565b6020808252600d908201526c6869676820736c69707061676560981b604082015260600190565b602080825260089082015267686967682066656560c01b604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251615cb8818460208701614e34565b9190910192915050565b60008083128015600160ff1b850184121615615ce057615ce061559d565b6001600160ff1b0384018313811615615cfb57615cfb61559d565b50500390565b600060208284031215615d1357600080fd5b815161094b81614f46565b60006001600160a01b03838116908316818110156157095761570961559d565b634e487b7160e01b600052602160045260246000fd5b600080600080600080600080610100898b031215615d7157600080fd5b8851615d7c81614fe4565b80985050602089015180600f0b8114615d9457600080fd5b60408a015160608b015191985096509450615db160808a01615acf565b935060a0890151615dc181614e93565b60c08a015190935063ffffffff81168114615ddb57600080fd5b60e08a0151909250615dec81614f46565b80915050929598509295989093965056fe5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564c749f9ae947d4734cf1569606a8a347391ae94a063478aa853aeff48ac5f99e88be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef53616665556e69737761705633506f6f6c3a206c6f772d6c6576656c2063616c6c206661696c6564c28ad1de9c0c32e5394ba60323e44d8d9536312236a47231772e448a3e49de42a264697066735822122077ab5ee8b62a02b51d81aebe1576bfc4f87bd1739deec55e9264ce07acc7d0e764736f6c634300080a0033000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106102bf5760003560e01c8063065756db146102c457806306fdde03146102e15780630910a510146102f6578063095ea7b3146103165780630dfe1681146103395780631322d9541461035a57806316f0115b1461037057806318160ddd1461038457806323b872dd1461038c57806324b8fd1b1461039f578063313ce567146103b45780633432c80f146103c35780633644e515146103cd578063372c12b1146103d557806339509351146103f95780633d1880d11461040c57806342fb9d441461041f57806345123ebd14610429578063481c6a751461045057806354fd4d50146104585780635df6150c1461047c5780635f59dce5146104975780636935f9061461049f5780636eda9fe7146104b257806370a08231146104ba578063715018a6146104e3578063727dd228146104eb5780637ecd6717146105125780637ecebe001461051a57806381fdec271461052d578063843f434a1461054257806387e9b639146105675780639071d46f1461057b57806395d89b411461059057806396345218146105985780639894f21a146105bf5780639b1344ac146105fb578063a457c2d71461060f578063a9059cbb14610622578063b135c99f14610635578063b670ed7d14610648578063b67343e51461065b578063c1802eb91461066e578063c540e48314610683578063cc95353e14610696578063ccdf7a02146106b0578063d21220a7146106c5578063d3487997146106d9578063d505accf146106ec578063d6dc7cc5146106ff578063d839fb3f14610709578063dd40e32214610712578063dd62ed3e14610727578063df28408a1461073a578063e25e15e314610742578063e2e616bb14610755578063e43f696e1461076a578063e7d3fe6b1461077d578063f2fde38b146107b9578063fa461e33146107cc578063fcd3533c146107df575b600080fd5b6102ce6101005481565b6040519081526020015b60405180910390f35b6102e9610816565b6040516102d89190614e60565b6102fe6108a8565b6040516001600160801b0390911681526020016102d8565b610329610324366004614ea8565b6108d2565b60405190151581526020016102d8565b6101055461034d906001600160a01b031681565b6040516102d89190614ed4565b6103626108ea565b6040516102d8929190614ee8565b6101045461034d906001600160a01b031681565b6035546102ce565b61032961039a366004614ef6565b61092c565b6103b26103ad366004614f5f565b610952565b005b604051601281526020016102d8565b6102ce6101025481565b6102ce610c04565b6103296103e3366004614fc7565b6101076020526000908152604090205460ff1681565b610329610407366004614ea8565b610c13565b6103b261041a366004614ff9565b610c35565b6102ce6101015481565b61034d7f000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c81565b61034d610cce565b6102e9604051806040016040528060058152602001640312e302e360dc1b81525081565b61048460fa81565b60405161ffff90911681526020016102d8565b6103b2610cdd565b6103b26104ad366004615016565b610d8f565b6103b2610df6565b6102ce6104c8366004614fc7565b6001600160a01b031660009081526033602052604090205490565b6103b2610e8a565b60fe546104ff90600160b81b900460020b81565b60405160029190910b81526020016102d8565b6103b2610ee2565b6102ce610528366004614fc7565b610f4e565b6101085461032990600160801b900460ff1681565b60ff546105529063ffffffff1681565b60405163ffffffff90911681526020016102d8565b610108546102fe906001600160801b031681565b60fe5461048490600160f01b900461ffff1681565b6102e9610f6e565b61034d7f000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c81565b6105d26105cd366004615033565b610f7d565b604080519485526020850193909352918301526001600160a01b031660608201526080016102d8565b60fe546104ff90600160a01b900460020b81565b61032961061d366004614ea8565b611089565b610329610630366004614ea8565b61110f565b6103b2610643366004615055565b61111d565b610362610656366004614fc7565b611241565b6103b2610669366004615016565b61127a565b60fe5461048490600160d01b900461ffff1681565b6103b26106913660046150b8565b6112c8565b60ff5461034d90600160301b90046001600160a01b031681565b60ff5461048490600160201b900461ffff1681565b6101065461034d906001600160a01b031681565b6103b26106e7366004615163565b6114c7565b6103b26106fa3660046151c4565b611534565b6102ce6101035481565b610484612b6781565b60fe5461048490600160e01b900461ffff1681565b6102ce610735366004615235565b611698565b6102ce6116c3565b6103b2610750366004615333565b6116cd565b6101065461032990600160a01b900460ff1681565b6103b2610778366004615418565b611a11565b61079061078b3660046154c8565b611ade565b604080519485526020850193909352918301526001600160801b031660608201526080016102d8565b6103b26107c7366004614fc7565b611cd0565b6103b26107da366004615163565b611db0565b6107f26107ed366004615501565b611e22565b6040805193845260208401929092526001600160801b0316908201526060016102d8565b60606036805461082590615526565b80601f016020809104026020016040519081016040528092919081815260200182805461085190615526565b801561089e5780601f106108735761010080835404028352916020019161089e565b820191906000526020600020905b81548152906001019060200180831161088157829003601f168201915b5050505050905090565b60006108c86108b561205c565b610104546001600160a01b0316906120b7565b5092949350505050565b6000336108e0818585612165565b5060019392505050565b61010454600090819081908190610909906001600160a01b0316612289565b50505050509150915061091c828261231c565b9350935050509091565b60355490565b60003361093a8582856124ec565b610945858585612560565b60019150505b9392505050565b3361095b610cce565b6001600160a01b03161461098a5760405162461bcd60e51b81526004016109819061555b565b60405180910390fd5b61010854600160801b900460ff166109dd5760405162461bcd60e51b815260206004820152601660248201527544697361626c6564206279206879706572706f6f6c7360501b6044820152606401610981565b60008060006109eb60355490565b1115610b94576109f96108a8565b91506001600160801b03821615610a7c5760fe546000908190610a3290600160a01b8104600290810b91600160b81b9004900b8661271c565b935093505050610a4282826128ed565b610a4c82826129a2565b6040519193509150600080516020615ea683398151915290610a719084908490614ee8565b60405180910390a150505b60fe805462ffffff888116600160b81b0262ffffff60b81b19918b16600160a01b029190911665ffffffffffff60a01b19909216919091171790556101025461010054610105546000929190610adb906001600160a01b031630612a11565b610ae591906155b3565b610aef91906155b3565b610103546101015461010654929350600092610b14906001600160a01b031630612a11565b610b1e91906155b3565b610b2891906155b3565b9050610b39898984848b8b8b612ab2565b610b416108a8565b92506000836001600160801b031611610b8d5760405162461bcd60e51b815260206004820152600e60248201526d06e657720706f736974696f6e20360941b6044820152606401610981565b5050610bd0565b60fe805462ffffff888116600160b81b0262ffffff60b81b19918b16600160a01b029190911665ffffffffffff60a01b19909216919091171790555b600080516020615e1e83398151915287878484604051610bf394939291906155ca565b60405180910390a150505050505050565b6000610c0e612bf2565b905090565b6000336108e0818585610c268383611698565b610c3091906155f8565b612165565b33610c3e610cce565b6001600160a01b031614610c645760405162461bcd60e51b81526004016109819061555b565b61010880546001600160801b0319166001600160801b0383161790557f8ac03241b1b50875f34a8527f07425c5c7f720c55a53e4ea7acd35ca8dc9051e33604080516001600160a01b0390921682526001600160801b03841660208301520160405180910390a150565b60fe546001600160a01b031690565b33610ce6610cce565b6001600160a01b031614610d0c5760405162461bcd60e51b81526004016109819061555b565b60fe54600160e01b900461ffff16612b6714610d2a57612b67610d2d565b60005b60fe805461ffff60e01b1916600160e01b61ffff938416810291909117918290556040805133815291909204909216602083015280517f4195020e14278ab8d97e55561be05ffc4ff517e3f38ddc4a90455584092f96309281900390910190a1565b336001600160a01b037f000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c1614610dd75760405162461bcd60e51b815260040161098190615610565b6101088054911515600160801b0260ff60801b19909216919091179055565b61010280546101038054600093849055929055908115610e485761010554610e48906001600160a01b03167f000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c84612c6d565b8015610e865761010654610e86906001600160a01b03167f000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c83612c6d565b5050565b33610e93610cce565b6001600160a01b031614610eb95760405162461bcd60e51b81526004016109819061555b565b60ff8054600160201b600160d01b0319169055600061010081905561010155610ee0612cd5565b565b61010080546101018054600093849055929055908115610f225760ff5461010554610f22916001600160a01b0391821691600160301b9091041684612c6d565b8015610e865760ff5461010654610e86916001600160a01b0391821691600160301b9091041683612c6d565b6001600160a01b0381166000908152609960205260408120545b92915050565b60606037805461082590615526565b61010454600090819081908190610f9c906001600160a01b0316612289565b5094955060009450610fb2935061092692505050565b90508015610ff757610fc5818888612d3c565b9250600080610fd26108ea565b91509150610fe1828685612e5a565b9650610fee818685612e5a565b9550505061107f565b60fe5460009061103390849061101690600160a01b900460020b612ea3565b60fe5461102c90600160b81b900460020b612ea3565b8b8b6132ad565b60fe5490915061106e90849061105290600160a01b900460020b612ea3565b60fe5461106890600160b81b900460020b612ea3565b8461336f565b90965094506001600160801b031692505b5092959194509250565b600033816110978286611698565b9050838110156110f75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610981565b6111048286868403612165565b506001949350505050565b6000336108e0818585612560565b336001600160a01b037f000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c16146111655760405162461bcd60e51b815260040161098190615610565b831561117557611175858461340b565b600061117f6108a8565b905061118f818787878787613655565b600061119c6108b561205c565b505050509050816001600160801b0316816001600160801b0316116111fd5760405162461bcd60e51b81526020600482015260176024820152766c6971756964697479206d75737420696e63726561736560481b6044820152606401610981565b6112078484613949565b60fe54604051600080516020615e1e83398151915291610bf391600160a01b8204600290810b92600160b81b9004900b90869086906155ca565b610104546000908190819061125e906001600160a01b0316612289565b5050505050915050611270848261231c565b9250925050915091565b33611283610cce565b6001600160a01b0316146112a95760405162461bcd60e51b81526004016109819061555b565b6101068054911515600160a01b0260ff60a01b19909216919091179055565b336112d1610cce565b6001600160a01b0316146112f75760405162461bcd60e51b81526004016109819061555b565b6127108360010b131561131c5760405162461bcd60e51b815260040161098190615644565b6127108260010b13156113415760405162461bcd60e51b815260040161098190615644565b61134e60fa612710615661565b60010b8560010b13156113735760405162461bcd60e51b8152600401610981906156a7565b60008560010b126113995760ff805461ffff60201b1916600160201b61ffff8816021790555b60008360010b126113bf5760fe805461ffff60d01b1916600160d01b61ffff8616021790555b60008260010b126113e65760fe80546001600160f01b0316600160f01b61ffff8516021790555b60008160030b126114075760ff805463ffffffff191663ffffffff83161790555b6001600160a01b0384161561143b5760ff8054600160301b600160d01b031916600160301b6001600160a01b038716021790555b60ff5460fe546040805161ffff600160201b8504811682526001600160a01b03600160301b8604166020830152600160d01b8404811692820192909252600160f01b90920416606082015263ffffffff90911660808201527ff459b381c988c676562c20a01f42f488c5560ed2e3957b0f27f26573418b61939060a00160405180910390a15050505050565b610104546001600160a01b031633146114f25760405162461bcd60e51b8152600401610981906156c5565b83156115105761010554611510906001600160a01b03163386612c6d565b821561152e576101065461152e906001600160a01b03163385612c6d565b50505050565b834211156115845760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610981565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886115b38c6139d5565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061160e826139fd565b9050600061161e82878787613a4b565b9050896001600160a01b0316816001600160a01b0316146116815760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610981565b61168c8a8a8a612165565b50505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6000610c0e61205c565b600054610100900460ff16158080156116ed5750600054600160ff909116105b8061170e57506116fc30613a73565b15801561170e575060005460ff166001145b6117715760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610981565b6000805460ff191660011790558015611794576000805461ff0019166101001790555b6117a160fa6127106156ee565b61ffff168561ffff1611156117c85760405162461bcd60e51b8152600401610981906156a7565b61010480546001600160a01b0319166001600160a01b03881690811790915560408051630dfe168160e01b81529051630dfe1681916004808201926020929091908290030181865afa158015611822573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118469190615711565b61010580546001600160a01b0319166001600160a01b03928316179055610104546040805163d21220a760e01b81529051919092169163d21220a79160048083019260209291908290030181865afa1580156118a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ca9190615711565b610106805460ff8054610108805460ff60801b1916600160801b1790556001600160a81b03199092166001600160a01b039485161790925560fe8054938616600160301b8102600160301b600160d01b031963ffffffff1961ffff8d16600160201b021665ffffffffffff199095169490941761012c17939093169290921790925562ffffff868116600160b81b026001600160a01b031916600165ffffff00000160a01b0319918916600160a01b02600169ffff0000ffffff00000160a01b0390951694909417643e8000001960d31b17169290921790911790556119b08888613a82565b6119b988613ab3565b6119c1613b00565b8015611a07576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b33611a1a610cce565b6001600160a01b031614611a405760405162461bcd60e51b81526004016109819061555b565b60005b8251811015611a9e57816101076000858481518110611a6457611a6461572e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101611a43565b507f221a470885444cd7097c59763ea85234fb570f3a801f73459725148a6cfc19ab338383604051611ad293929190615744565b60405180910390a15050565b600080600080600260cc541415611b075760405162461bcd60e51b8152600401610981906157ab565b600260cc5560fe54600160e01b900461ffff16612b67141580611b34575060fe546001600160a01b031633145b611b6e5760405162461bcd60e51b815260206004820152600b60248201526a085c995cdd1c9a58dd195960aa1b6044820152606401610981565b61010654600160a01b900460ff1615611c0a57336000908152610107602052604090205460ff168015611bba57506001600160a01b0385166000908152610107602052604090205460ff165b80611bcf575060fe546001600160a01b031633145b611c0a5760405162461bcd60e51b815260206004820152600c60248201526b085dda1a5d195b1a5cdd195960a21b6044820152606401610981565b6000611c168888610f7d565b92975090955093509050611c2d858585848a613b2f565b610108549092506001600160801b03161580611c655750610108546001600160801b0316611c596108a8565b6001600160801b031611155b80611c7a575060fe546001600160a01b031633145b611cbe5760405162461bcd60e51b81526020600482015260156024820152742172657374726963746564206c697175696469747960581b6044820152606401610981565b50600160cc8190555093509350935093565b33611cd9610cce565b6001600160a01b031614611cff5760405162461bcd60e51b81526004016109819061555b565b6001600160a01b038116611d665760405162461bcd60e51b815260206004820152602860248201527f4f776e61626c653a206e6577206d616e6167657220697320746865207a65726f604482015267206164647265737360c01b6064820152608401610981565b60fe546040516001600160a01b03808416921690600080516020615e3e83398151915290600090a360fe80546001600160a01b0319166001600160a01b0392909216919091179055565b610104546001600160a01b03163314611ddb5760405162461bcd60e51b8152600401610981906156c5565b6000841315611e015761010554611dfc906001600160a01b03163386612c6d565b61152e565b600083131561152e576101065461152e906001600160a01b03163385612c6d565b6000806000600260cc541415611e4a5760405162461bcd60e51b8152600401610981906157ab565b600260cc5584611e855760405162461bcd60e51b815260206004820152600660248201526506275726e20360d41b6044820152606401610981565b6000611e9060355490565b90506000611e9c6108a8565b9050611ea83388613c8f565b6000611ebe88836001600160801b031685613dcb565b9050611ec981613e7a565b60fe54909450600090819081908190611ef890600160a01b8104600290810b91600160b81b9004900b8a61271c565b9350935093509350611f0a82826128ed565b611f1482826129a2565b6040519193509150600080516020615ea683398151915290611f399084908490614ee8565b60405180910390a1610102546101005461010554611f8d9291908790611f68906001600160a01b031630612a11565b611f7291906155b3565b611f7c91906155b3565b611f8691906155b3565b8d89613dcb565b611f9790856155f8565b610103546101015461010654929c50611fbf928690611f68906001600160a01b031630612a11565b611fc990846155f8565b98508915611fe95761010554611fe9906001600160a01b03168c8c612c6d565b88156120075761010654612007906001600160a01b03168c8b612c6d565b7f7239dff1718b550db7f36cbf69c665cfeb56d0e96b4fb76a5cba712961b655098b8d8c8c8c60405161203e9594939291906157e2565b60405180910390a150505050505050600160cc819055509250925092565b60fe546040516001600160601b03193060601b166020820152600160a01b820460e890811b6034830152600160b81b90920490911b6037820152600090603a0160405160208183030381529060405280519060200120905090565b60008060008060008061213b63514ea4bf60e01b886040516024016120de91815260200190565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060288152602001615e7e602891396001600160a01b038b169190613ee7565b9050808060200190518101906121519190615819565b939c929b5090995097509095509350505050565b6001600160a01b0383166121c75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610981565b6001600160a01b0382166122285760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610981565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6040805160048152602481018252602080820180516001600160e01b0316633850c7bd60e01b179052825160608101909352602880845260009384938493849384938493849384936122ee9391615e7e908301396001600160a01b038c169190613ee7565b905080806020019051810190612304919061586d565b959f949e50929c50909a509850965090945092505050565b610104546000908190819081908190819081906001600160a01b031663514ea4bf61234561205c565b6040518263ffffffff1660e01b815260040161236391815260200190565b60a060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a49190615819565b945094509450945094506123e9896123cd60fe60149054906101000a900460020b60020b612ea3565b60fe546123e390600160b81b900460020b612ea3565b8861336f565b909750955060006001600160801b0383166124076001878c8a613fb5565b61241191906155f8565b90506000826001600160801b031661242c6000878d8b613fb5565b61243691906155f8565b905061244282826129a2565b61010254610100546101055493955091935091612468906001600160a01b031630612a11565b61247290856155f8565b61247c91906155b3565b61248691906155b3565b612490908a6155f8565b610103546101015461010654929b5090916124b4906001600160a01b031630612a11565b6124be90846155f8565b6124c891906155b3565b6124d291906155b3565b6124dc90896155f8565b9750505050505050509250929050565b60006124f88484611698565b9050600019811461152e57818110156125535760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610981565b61152e8484848403612165565b6001600160a01b0383166125c45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610981565b6001600160a01b0382166126265760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610981565b6001600160a01b0383166000908152603360205260409020548181101561269e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610981565b6001600160a01b038085166000908152603360205260408082208585039055918516815290812080548492906126d59084906155f8565b92505081905550826001600160a01b0316846001600160a01b0316600080516020615e5e8339815191528460405161270f91815260200190565b60405180910390a361152e565b61010554600090819081908190819061273e906001600160a01b031630612a11565b6101065490915060009061275b906001600160a01b031630612a11565b6101045460405163a34123a760e01b815260028c810b60048301528b900b60248201526001600160801b038a1660448201529192506001600160a01b03169063a34123a79060640160408051808303816000875af11580156127c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e591906158f9565b610104546040516309e3d67b60e31b815230600482015260028d810b60248301528c900b60448201526001600160801b036064820181905260848201529298509096506001600160a01b031690634f1eb3d89060a40160408051808303816000875af1158015612859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061287d919061591d565b5050610105548690839061289a906001600160a01b031630612a11565b6128a491906155b3565b6128ae91906155b3565b61010654909450859082906128cc906001600160a01b031630612a11565b6128d691906155b3565b6128e091906155b3565b9250505093509350935093565b6128fb8260fa612710613dcb565b610102600082825461290d91906155f8565b9091555061292190508160fa612710613dcb565b610103600082825461293391906155f8565b909155505060ff54612954908390600160201b900461ffff16612710613dcb565b610100600082825461296691906155f8565b909155505060ff54612987908290600160201b900461ffff16612710613dcb565b610101600082825461299991906155f8565b90915550505050565b6000806129d28460ff60049054906101000a900461ffff1660fa6129c6919061594c565b61ffff16612710613dcb565b6129dc90856155b3565b60ff549092506129fe9084906129c690600160201b900461ffff1660fa61594c565b612a0890846155b3565b90509250929050565b600080612a946370a0823160e01b84604051602401612a309190614ed4565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b0319909516949094179093528051808201909152828152600080516020615dfe833981519152928101929092526001600160a01b03871691613ee7565b905080806020019051810190612aaa9190615972565b949350505050565b61010454600090612acb906001600160a01b0316612289565b50505050505090506000612af882612ae58b60020b612ea3565b612af18b60020b612ea3565b8a8a6132ad565b90506001600160801b03811615612ba75761010454604051633c8a7d8d60e01b815260009182916001600160a01b0390911690633c8a7d8d90612b459030908f908f90899060040161598b565b60408051808303816000875af1158015612b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8791906158f9565b9092509050612b96828a6155b3565b9850612ba281896155b3565b975050505b6000612bca612bc585612bba5788612bbc565b895b87612710613dcb565b6141aa565b9050600081131561168c57612be48a8a8a8a858b8a614214565b505050505050505050505050565b6000610c0e7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612c2160655490565b6066546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6040516001600160a01b038316602482015260448101829052612cd090849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526143cc565b505050565b33612cde610cce565b6001600160a01b031614612d045760405162461bcd60e51b81526004016109819061555b565b60fe546040516000916001600160a01b031690600080516020615e3e833981519152908390a360fe80546001600160a01b0319169055565b6000806000612d496108ea565b91509150816000148015612d5d5750600081115b15612d7457612d6d848783613dcb565b9250612e51565b80158015612d825750600082115b15612d9257612d6d858784613dcb565b81158015612d9e575080155b15612dda5760405162461bcd60e51b815260206004820152600c60248201526b7a65726f20616d6f756e747360a01b6044820152606401610981565b6000612de7868885613dcb565b90506000612df6868985613dcb565b9050600082118015612e085750600081115b612e3d5760405162461bcd60e51b815260206004820152600660248201526506d696e7420360d41b6044820152606401610981565b808210612e4a5780612e4c565b815b945050505b50509392505050565b6000612e67848484613dcb565b905060008280612e7957612e796159cd565b848609111561094b576000198110612e9057600080fd5b80612e9a816159e3565b95945050505050565b60008060008360020b12612eba578260020b612ec7565b8260020b612ec7906159fe565b9050612ed6620d89e719615a1b565b60020b811115612f0c5760405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606401610981565b600060018216612f2057600160801b612f32565b6ffffcb933bd6fad37aa2d162d1a5940015b6001600160881b031690506002821615612f67576080612f62826ffff97272373d413259a46990580e213a615a3e565b901c90505b6004821615612f91576080612f8c826ffff2e50f5f656932ef12357cf3c7fdcc615a3e565b901c90505b6008821615612fbb576080612fb6826fffe5caca7e10e4e61c3624eaa0941cd0615a3e565b901c90505b6010821615612fe5576080612fe0826fffcb9843d60f6159c9db58835c926644615a3e565b901c90505b602082161561300f57608061300a826fff973b41fa98c081472e6896dfb254c0615a3e565b901c90505b6040821615613039576080613034826fff2ea16466c96a3843ec78b326b52861615a3e565b901c90505b608082161561306357608061305e826ffe5dee046a99a2a811c461f1969c3053615a3e565b901c90505b61010082161561308e576080613089826ffcbe86c7900a88aedcffc83b479aa3a4615a3e565b901c90505b6102008216156130b95760806130b4826ff987a7253ac413176f2b074cf7815e54615a3e565b901c90505b6104008216156130e45760806130df826ff3392b0822b70005940c7a398e4b70f3615a3e565b901c90505b61080082161561310f57608061310a826fe7159475a2c29b7443b29c7fa6e889d9615a3e565b901c90505b61100082161561313a576080613135826fd097f3bdfd2022b8845ad8f792aa5825615a3e565b901c90505b612000821615613165576080613160826fa9f746462d870fdf8a65dc1f90e061e5615a3e565b901c90505b61400082161561319057608061318b826f70d869a156d2a1b890bb3df62baf32f7615a3e565b901c90505b6180008216156131bb5760806131b6826f31be135f97d08fd981231505542fcfa6615a3e565b901c90505b620100008216156131e75760806131e2826f09aa508b5b7a84e1c677de54f3e99bc9615a3e565b901c90505b6202000082161561321257608061320d826e5d6af8dedb81196699c329225ee604615a3e565b901c90505b6204000082161561323c576080613237826d2216e584f5fa1ea926041bedfe98615a3e565b901c90505b6208000082161561326457608061325f826b048a170391f7dc42444e8fa2615a3e565b901c90505b60008460020b131561327f5761327c81600019615a5d565b90505b61328d600160201b82615a71565b1561329957600161329c565b60005b612aaa9060ff16602083901c6155f8565b6000836001600160a01b0316856001600160a01b031611156132cd579293925b846001600160a01b0316866001600160a01b0316116132f8576132f185858561448c565b9050612e9a565b836001600160a01b0316866001600160a01b0316101561335a57600061331f87868661448c565b9050600061332e8789866144f6565b9050806001600160801b0316826001600160801b03161061334f5780613351565b815b92505050612e9a565b6133658585846144f6565b9695505050505050565b600080836001600160a01b0316856001600160a01b03161115613390579293925b846001600160a01b0316866001600160a01b0316116133bb576133b485858561452c565b9150613402565b836001600160a01b0316866001600160a01b031610156133f4576133e086858561452c565b91506133ed858785614596565b9050613402565b6133ff858585614596565b90505b94509492505050565b604080516002808252606082018352600092602083019080368337505060ff54825192935063ffffffff16918391506000906134495761344961572e565b602002602001019063ffffffff16908163ffffffff16815250506000816001815181106134785761347861572e565b63ffffffff909216602092830291909101909101526101045460405163883bdbfd60e01b81526000916001600160a01b03169063883bdbfd906134bf908590600401615a85565b600060405180830381865afa1580156134dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135049190810190615b50565b50905080516002146135445760405162461bcd60e51b815260206004820152600960248201526830b93930bc903632b760b91b6044820152606401610981565b60ff548151600091829163ffffffff90911660060b908490839061356a5761356a61572e565b6020026020010151846001815181106135855761358561572e565b60200260200101510360060b8161359e5761359e6159cd565b0590506135ad8160020b612ea3565b6001600160a01b031691505060006135dc8260fe601e9054906101000a900461ffff1661ffff16612710613dcb565b9050841561361b576135ee81836155b3565b866001600160a01b031610156136165760405162461bcd60e51b815260040161098190615c12565b61364d565b61362581836155f8565b866001600160a01b0316111561364d5760405162461bcd60e51b815260040161098190615c12565b505050505050565b6101025461010054610105546000929190613679906001600160a01b031630612a11565b61368391906155b3565b61368d91906155b3565b6101035461010154610106549293506000926136b2906001600160a01b031630612a11565b6136bc91906155b3565b6136c691906155b3565b60fe5490915060009081906136f190600160a01b8104600290810b91600160b81b9004900b8c61271c565b93509350505061370182826128ed565b61370b82826129a2565b6040519193509150600080516020615ea6833981519152906137309084908490614ee8565b60405180910390a161374284836155f8565b915061374e83826155f8565b610105549091506001600160a01b038681169116141561382e5760fe5486906127109061378690600160d01b900461ffff1685615a3e565b6137909190615a5d565b10156137ae5760405162461bcd60e51b815260040161098190615c39565b610102546101005461010554889291906137d1906001600160a01b031630612a11565b6137db91906155b3565b6137e591906155b3565b6137ef91906155b3565b6101035461010154610106549296509091613813906001600160a01b031630612a11565b61381d91906155b3565b61382791906155b3565b9250613922565b610106546001600160a01b03868116911614156138ec5760fe5486906127109061386390600160d01b900461ffff1684615a3e565b61386d9190615a5d565b101561388b5760405162461bcd60e51b815260040161098190615c39565b6101025461010054610105546138aa906001600160a01b031630612a11565b6138b491906155b3565b6138be91906155b3565b61010354610101546101065492965088926138e2906001600160a01b031630612a11565b61381391906155b3565b60405162461bcd60e51b815260206004820152600b60248201526a3bb937b733903a37b5b2b760a91b6044820152606401610981565b60fe5461168c90600160a01b8104600290810b91600160b81b9004900b86868d8d8d612ab2565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156139a157610e866001600160a01b037f000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c16836145e0565b610e866001600160a01b0382167f000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c84612c6d565b6001600160a01b03811660009081526099602052604090208054600181018255905b50919050565b6000610f68613a0a612bf2565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000613a5c878787876146f6565b91509150613a69816147d6565b5095945050505050565b6001600160a01b03163b151590565b600054610100900460ff16613aa95760405162461bcd60e51b815260040161098190615c5b565b610e86828261498c565b600054610100900460ff16613ada5760405162461bcd60e51b815260040161098190615c5b565b613afd81604051806040016040528060018152602001603160f81b8152506149da565b50565b600054610100900460ff16613b275760405162461bcd60e51b815260040161098190615c5b565b610ee0614a1b565b60008515613b505761010554613b50906001600160a01b0316333089614a49565b8415613b6f5761010654613b6f906001600160a01b0316333088614a49565b60fe54613ba8908490613b8b90600160a01b900460020b612ea3565b60fe54613ba190600160b81b900460020b612ea3565b89896132ad565b6101045460fe54604051633c8a7d8d60e01b81529293506001600160a01b0390911691633c8a7d8d91613bf9913091600160a01b8104600290810b92600160b81b909204900b90879060040161598b565b60408051808303816000875af1158015613c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c3b91906158f9565b5050613c478285614a81565b7f55801cfe493000b734571da1694b21e7f66b11e8ce9fdaa0524ecb59105e73e78285888885604051613c7e9594939291906157e2565b60405180910390a195945050505050565b6001600160a01b038216613cef5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610981565b6001600160a01b03821660009081526033602052604090205481811015613d635760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610981565b6001600160a01b0383166000908152603360205260408120838303905560358054849290613d929084906155b3565b90915550506040518281526000906001600160a01b03851690600080516020615e5e8339815191529060200160405180910390a3505050565b600080806000198587098587029250828110838203039150508060001415613e055760008411613dfa57600080fd5b50829004905061094b565b808411613e1157600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b60006001600160801b03821115613ee35760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610981565b5090565b6060613ef284613a73565b613f4a5760405162461bcd60e51b8152602060048201526024808201527f416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e746044820152631c9858dd60e21b6064820152608401610981565b600080856001600160a01b031685604051613f659190615ca6565b600060405180830381855afa9150503d8060008114613fa0576040519150601f19603f3d011682016040523d82523d6000602084013e613fa5565b606091505b5091509150613365828286614b4e565b60fe5461010454600091829182918291613fe4916001600160a01b0390911690600160a01b900460020b614b87565b505060fe54610104549498509296506000955085945061401a936001600160a01b031692600160b81b900460020b915050614b87565b5050505093509350505089156140a95761010460009054906101000a90046001600160a01b03166001600160a01b031663f30583996040518163ffffffff1660e01b8152600401602060405180830381865afa15801561407e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140a29190615972565b945061412a565b61010460009054906101000a90046001600160a01b03166001600160a01b031663461413196040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141219190615972565b94508293508091505b60fe54600090600160a01b9004600290810b908a900b1261414c575083614151565b508385035b60fe54600090600160b81b9004600290810b908b900b1215614174575082614179565b508286035b8187038190036141996001600160801b038b168d8303600160801b613dcb565b9d9c50505050505050505050505050565b60006001600160ff1b03821115613ee35760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401610981565b61010454604051630251596160e31b81523060048201528215156024820152604481018590526001600160a01b03848116606483015260a06084830152600060a4830181905292839283928392169063128acb089060c40160408051808303816000875af115801561428a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142ae91906158f9565b91509150816142bc8a6141aa565b6142c69190615cc2565b9350806142d2896141aa565b6142dc9190615cc2565b610104549093506000906142f8906001600160a01b0316612289565b5050505050509050600061431e826143128f60020b612ea3565b613ba18f60020b612ea3565b90506001600160801b038116156143bc5761010460009054906101000a90046001600160a01b03166001600160a01b0316633c8a7d8d308f8f856040518563ffffffff1660e01b8152600401614377949392919061598b565b60408051808303816000875af1158015614395573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143b991906158f9565b50505b5050505097509795505050505050565b600061440f82604051806040016040528060208152602001600080516020615dfe833981519152815250856001600160a01b0316614c4b9092919063ffffffff16565b805190915015612cd0578080602001905181019061442d9190615d01565b612cd05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610981565b6000826001600160a01b0316846001600160a01b031611156144ac579192915b60006144cf856001600160a01b0316856001600160a01b0316600160601b613dcb565b9050612e9a6144f184836144e38989615d1e565b6001600160a01b0316613dcb565b614c5a565b6000826001600160a01b0316846001600160a01b03161115614516579192915b612aaa6144f183600160601b6144e38888615d1e565b6000826001600160a01b0316846001600160a01b0316111561454c579192915b6001600160a01b03841661458c600160601b600160e01b03606085901b166145748787615d1e565b6001600160a01b0316866001600160a01b0316613dcb565b612aaa9190615a5d565b6000826001600160a01b0316846001600160a01b031611156145b6579192915b612aaa6001600160801b0383166145cd8686615d1e565b6001600160a01b0316600160601b613dcb565b804710156146305760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610981565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461467d576040519150601f19603f3d011682016040523d82523d6000602084013e614682565b606091505b5050905080612cd05760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c20726044820152791958da5c1a595b9d081b585e481a185d99481c995d995c9d195960321b6064820152608401610981565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038311156147235750600090506003613402565b8460ff16601b1415801561473b57508460ff16601c14155b1561474c5750600090506004613402565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156147a0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166147c957600060019250925050613402565b9660009650945050505050565b60008160048111156147ea576147ea615d3e565b14156147f35750565b600181600481111561480757614807615d3e565b14156148505760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b6044820152606401610981565b600281600481111561486457614864615d3e565b14156148b25760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610981565b60038160048111156148c6576148c6615d3e565b141561491f5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610981565b600481600481111561493357614933615d3e565b1415613afd5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610981565b600054610100900460ff166149b35760405162461bcd60e51b815260040161098190615c5b565b81516149c6906036906020850190614da4565b508051612cd0906037906020840190614da4565b600054610100900460ff16614a015760405162461bcd60e51b815260040161098190615c5b565b815160209283012081519190920120606591909155606655565b600054610100900460ff16614a425760405162461bcd60e51b815260040161098190615c5b565b600160cc55565b6040516001600160a01b038085166024830152831660448201526064810182905261152e9085906323b872dd60e01b90608401612c99565b6001600160a01b038216614ad75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610981565b8060356000828254614ae991906155f8565b90915550506001600160a01b03821660009081526033602052604081208054839290614b169084906155f8565b90915550506040518181526001600160a01b03831690600090600080516020615e5e8339815191529060200160405180910390a35050565b60608315614b5d57508161094b565b825115614b6d5782518084602001fd5b8160405162461bcd60e51b81526004016109819190614e60565b6000806000806000806000806000614c1763f30dba9360e01b8b604051602401614bba919060029190910b815260200190565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060288152602001615e7e602891396001600160a01b038e169190613ee7565b905080806020019051810190614c2d9190615d54565b98509850985098509850985098509850509295985092959890939650565b6060612aaa8484600085614c75565b806001600160801b0381168114614c7057600080fd5b919050565b606082471015614cd65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610981565b614cdf85613a73565b614d2b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610981565b600080866001600160a01b03168587604051614d479190615ca6565b60006040518083038185875af1925050503d8060008114614d84576040519150601f19603f3d011682016040523d82523d6000602084013e614d89565b606091505b5091509150614d99828286614b4e565b979650505050505050565b828054614db090615526565b90600052602060002090601f016020900481019282614dd25760008555614e18565b82601f10614deb57805160ff1916838001178555614e18565b82800160010185558215614e18579182015b82811115614e18578251825591602001919060010190614dfd565b50613ee39291505b80821115613ee35760008155600101614e20565b60005b83811015614e4f578181015183820152602001614e37565b8381111561152e5750506000910152565b6020815260008251806020840152614e7f816040850160208701614e34565b601f01601f19169190910160400192915050565b6001600160a01b0381168114613afd57600080fd5b60008060408385031215614ebb57600080fd5b8235614ec681614e93565b946020939093013593505050565b6001600160a01b0391909116815260200190565b918252602082015260400190565b600080600060608486031215614f0b57600080fd5b8335614f1681614e93565b92506020840135614f2681614e93565b929592945050506040919091013590565b8060020b8114613afd57600080fd5b8015158114613afd57600080fd5b8035614c7081614f46565b600080600080600060a08688031215614f7757600080fd5b8535614f8281614f37565b94506020860135614f9281614f37565b93506040860135614fa281614e93565b9250606086013591506080860135614fb981614f46565b809150509295509295909350565b600060208284031215614fd957600080fd5b813561094b81614e93565b6001600160801b0381168114613afd57600080fd5b60006020828403121561500b57600080fd5b813561094b81614fe4565b60006020828403121561502857600080fd5b813561094b81614f46565b6000806040838503121561504657600080fd5b50508035926020909101359150565b600080600080600060a0868803121561506d57600080fd5b853561507881614e93565b945060208601359350604086013561508f81614f46565b9250606086013591506080860135614fb981614e93565b8035600181900b8114614c7057600080fd5b600080600080600060a086880312156150d057600080fd5b6150d9866150a6565b945060208601356150e981614e93565b93506150f7604087016150a6565b9250615105606087016150a6565b915060808601358060030b8114614fb957600080fd5b60008083601f84011261512d57600080fd5b5081356001600160401b0381111561514457600080fd5b60208301915083602082850101111561515c57600080fd5b9250929050565b6000806000806060858703121561517957600080fd5b843593506020850135925060408501356001600160401b0381111561519d57600080fd5b6151a98782880161511b565b95989497509550505050565b60ff81168114613afd57600080fd5b600080600080600080600060e0888a0312156151df57600080fd5b87356151ea81614e93565b965060208801356151fa81614e93565b955060408801359450606088013593506080880135615218816151b5565b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561524857600080fd5b823561525381614e93565b9150602083013561526381614e93565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156152ac576152ac61526e565b604052919050565b600082601f8301126152c557600080fd5b81356001600160401b038111156152de576152de61526e565b6152f1601f8201601f1916602001615284565b81815284602083860101111561530657600080fd5b816020850160208301376000918101602001919091529392505050565b61ffff81168114613afd57600080fd5b600080600080600080600060e0888a03121561534e57600080fd5b87356001600160401b038082111561536557600080fd5b6153718b838c016152b4565b985060208a013591508082111561538757600080fd5b506153948a828b016152b4565b96505060408801356153a581614e93565b945060608801356153b581615323565b935060808801356153c581614f37565b925060a08801356153d581614f37565b915060c08801356153e581614e93565b8091505092959891949750929550565b60006001600160401b0382111561540e5761540e61526e565b5060051b60200190565b6000806040838503121561542b57600080fd5b82356001600160401b0381111561544157600080fd5b8301601f8101851361545257600080fd5b80356020615467615462836153f5565b615284565b82815260059290921b8301810191818101908884111561548657600080fd5b938201935b838510156154ad57843561549e81614e93565b8252938201939082019061548b565b95506154bc9050868201614f54565b93505050509250929050565b6000806000606084860312156154dd57600080fd5b833592506020840135915060408401356154f681614e93565b809150509250925092565b6000806040838503121561551457600080fd5b82359150602083013561526381614e93565b600181811c9082168061553a57607f821691505b602082108114156139f757634e487b7160e01b600052602260045260246000fd5b60208082526022908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206d616e616760408201526132b960f11b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b6000828210156155c5576155c561559d565b500390565b600294850b81529290930b60208301526001600160801b039081166040830152909116606082015260800190565b6000821982111561560b5761560b61559d565b500190565b6020808252601a90820152794879706572666965643a204f6e6c79206879706572706f6f6c7360301b604082015260600190565b60208082526003908201526242505360e81b604082015260600190565b60008160010b8360010b6000811281617fff19018312811516156156875761568761559d565b81617fff01831381161561569d5761569d61559d565b5090039392505050565b6020808252600490820152636d42505360e01b604082015260600190565b6020808252600f908201526e31b0b6363130b1b59031b0b63632b960891b604082015260600190565b600061ffff838116908316818110156157095761570961559d565b039392505050565b60006020828403121561572357600080fd5b815161094b81614e93565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038481168252606060208084018290528551918401829052600092868201929091906080860190855b81811015615792578551851683529483019491830191600101615774565b5050809450505050508215156040830152949350505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6001600160a01b039590951685526020850193909352604084019190915260608301526001600160801b0316608082015260a00190565b600080600080600060a0868803121561583157600080fd5b855161583c81614fe4565b809550506020860151935060408601519250606086015161585c81614fe4565b6080870151909250614fb981614fe4565b600080600080600080600060e0888a03121561588857600080fd5b875161589381614e93565b60208901519097506158a481614f37565b60408901519096506158b581615323565b60608901519095506158c681615323565b60808901519094506158d781615323565b60a08901519093506158e8816151b5565b60c08901519092506153e581614f46565b6000806040838503121561590c57600080fd5b505080516020909101519092909150565b6000806040838503121561593057600080fd5b825161593b81614fe4565b602084015190925061526381614fe4565b600061ffff8083168185168083038211156159695761596961559d565b01949350505050565b60006020828403121561598457600080fd5b5051919050565b6001600160a01b03949094168452600292830b6020850152910b60408301526001600160801b0316606082015260a06080820181905260009082015260c00190565b634e487b7160e01b600052601260045260246000fd5b60006000198214156159f7576159f761559d565b5060010190565b6000600160ff1b821415615a1457615a1461559d565b5060000390565b60008160020b627fffff19811415615a3557615a3561559d565b60000392915050565b6000816000190483118215151615615a5857615a5861559d565b500290565b600082615a6c57615a6c6159cd565b500490565b600082615a8057615a806159cd565b500690565b6020808252825182820181905260009190848201906040850190845b81811015615ac357835163ffffffff1683529284019291840191600101615aa1565b50909695505050505050565b8051600681900b8114614c7057600080fd5b600082601f830112615af257600080fd5b81516020615b02615462836153f5565b82815260059290921b84018101918181019086841115615b2157600080fd5b8286015b84811015615b45578051615b3881614e93565b8352918301918301615b25565b509695505050505050565b60008060408385031215615b6357600080fd5b82516001600160401b0380821115615b7a57600080fd5b818501915085601f830112615b8e57600080fd5b81516020615b9e615462836153f5565b82815260059290921b84018101918181019089841115615bbd57600080fd5b948201945b83861015615be257615bd386615acf565b82529482019490820190615bc2565b91880151919650909350505080821115615bfb57600080fd5b50615c0885828601615ae1565b9150509250929050565b6020808252600d908201526c6869676820736c69707061676560981b604082015260600190565b602080825260089082015267686967682066656560c01b604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251615cb8818460208701614e34565b9190910192915050565b60008083128015600160ff1b850184121615615ce057615ce061559d565b6001600160ff1b0384018313811615615cfb57615cfb61559d565b50500390565b600060208284031215615d1357600080fd5b815161094b81614f46565b60006001600160a01b03838116908316818110156157095761570961559d565b634e487b7160e01b600052602160045260246000fd5b600080600080600080600080610100898b031215615d7157600080fd5b8851615d7c81614fe4565b80985050602089015180600f0b8114615d9457600080fd5b60408a015160608b015191985096509450615db160808a01615acf565b935060a0890151615dc181614e93565b60c08a015190935063ffffffff81168114615ddb57600080fd5b60e08a0151909250615dec81614f46565b80915050929598509295989093965056fe5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564c749f9ae947d4734cf1569606a8a347391ae94a063478aa853aeff48ac5f99e88be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef53616665556e69737761705633506f6f6c3a206c6f772d6c6576656c2063616c6c206661696c6564c28ad1de9c0c32e5394ba60323e44d8d9536312236a47231772e448a3e49de42a264697066735822122077ab5ee8b62a02b51d81aebe1576bfc4f87bd1739deec55e9264ce07acc7d0e764736f6c634300080a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c

-----Decoded View---------------
Arg [0] : _hyperpools (address): 0xD4FCB8398E9448Ddbf20F2108AeDc017B1a9e34C
Arg [1] : _hyperpoolsTreasury (address): 0xD4FCB8398E9448Ddbf20F2108AeDc017B1a9e34C

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c
Arg [1] : 000000000000000000000000d4fcb8398e9448ddbf20f2108aedc017b1a9e34c

🤖 Code Reader

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

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

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