Overview
Max Total Supply
47,500,000 TAP
Holders
4,981 (0.00%)
Market
Price
$0.0004 @ 0.000000 ETH
Onchain Market Cap
$19,894.90
Circulating Supply Market Cap
$3,195.76
Other Info
Token Contract (WITH 18 Decimals)
Balance
377.635934501003098474 TAPValue
$0.16 ( ~7.52034679001424E-05 ETH) [0.0008%]Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"components":[{"internalType":"uint256","name":"epochDuration","type":"uint256"},{"internalType":"address","name":"endpoint","type":"address"},{"internalType":"address","name":"contributors","type":"address"},{"internalType":"address","name":"earlySupporters","type":"address"},{"internalType":"address","name":"supporters","type":"address"},{"internalType":"address","name":"lTap","type":"address"},{"internalType":"address","name":"dao","type":"address"},{"internalType":"address","name":"airdrop","type":"address"},{"internalType":"uint256","name":"governanceEid","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"tapTokenSenderModule","type":"address"},{"internalType":"address","name":"tapTokenReceiverModule","type":"address"},{"internalType":"address","name":"extExec","type":"address"},{"internalType":"contract IPearlmit","name":"pearlmit","type":"address"},{"internalType":"contract ICluster","name":"cluster","type":"address"}],"internalType":"struct ITapToken.TapTokenConstructorData","name":"_data","type":"tuple"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AddressWrong","type":"error"},{"inputs":[],"name":"AllowanceNotValid","type":"error"},{"inputs":[],"name":"BaseTapiocaOmnichainEngine_PearlmitFailed","type":"error"},{"inputs":[],"name":"BaseTapiocaOmnichainEngine_PearlmitNotApproved","type":"error"},{"inputs":[],"name":"BaseTapiocaOmnichainEngine__ZeroAddress","type":"error"},{"inputs":[],"name":"InitNotStarted","type":"error"},{"inputs":[],"name":"InitStarted","type":"error"},{"inputs":[],"name":"InsufficientEmissions","type":"error"},{"inputs":[],"name":"InvalidDelegate","type":"error"},{"inputs":[],"name":"InvalidEndpointCall","type":"error"},{"inputs":[],"name":"InvalidLocalDecimals","type":"error"},{"inputs":[{"internalType":"bytes","name":"options","type":"bytes"}],"name":"InvalidOptions","type":"error"},{"inputs":[],"name":"InvalidShortString","type":"error"},{"inputs":[],"name":"LzTokenUnavailable","type":"error"},{"inputs":[],"name":"ModuleManager__ModuleNotAuthorized","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"NoPeer","type":"error"},{"inputs":[],"name":"NotAuthorized","type":"error"},{"inputs":[{"internalType":"uint256","name":"msgValue","type":"uint256"}],"name":"NotEnoughNative","type":"error"},{"inputs":[],"name":"NotValid","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"OnlyEndpoint","type":"error"},{"inputs":[],"name":"OnlyHostChain","type":"error"},{"inputs":[],"name":"OnlyMinter","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"}],"name":"OnlyPeer","type":"error"},{"inputs":[],"name":"OnlySelf","type":"error"},{"inputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"name":"SimulationResult","type":"error"},{"inputs":[{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"}],"name":"SlippageExceeded","type":"error"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"StringTooLong","type":"error"},{"inputs":[],"name":"SupplyNotValid","type":"error"},{"inputs":[],"name":"TwTapAlreadySet","type":"error"},{"inputs":[],"name":"twTapNotSet","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"week","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Emitted","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"indexed":false,"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]"}],"name":"EnforcedOptionSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_by","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_old","type":"address"},{"indexed":false,"internalType":"address","name":"_new","type":"address"}],"name":"MinterUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"inspector","type":"address"}],"name":"MsgInspectorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"guid","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"srcEid","type":"uint32"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"name":"OFTReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"guid","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"dstEid","type":"uint32"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"name":"OFTSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract IPearlmit","name":"oldPearlmit","type":"address"},{"indexed":false,"internalType":"contract IPearlmit","name":"newPearlmit","type":"address"}],"name":"PearlmitUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"eid","type":"uint32"},{"indexed":false,"internalType":"bytes32","name":"peer","type":"bytes32"}],"name":"PeerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"preCrimeAddress","type":"address"}],"name":"PreCrimeSet","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":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"CLUSTER_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EPOCH_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MSG_SEND","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SEND","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SEND_AND_CALL","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"origin","type":"tuple"}],"name":"allowInitializePath","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"approvalRequired","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","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":"uint32","name":"_eid","type":"uint32"},{"internalType":"uint16","name":"_msgType","type":"uint16"},{"internalType":"bytes","name":"_extraOptions","type":"bytes"}],"name":"combineOptions","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimalConversionRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":[],"name":"dso_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"emissionForWeek","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissionsStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emitForWeek","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endpoint","outputs":[{"internalType":"contract ILayerZeroEndpointV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"}],"name":"enforcedOptions","outputs":[{"internalType":"bytes","name":"enforcedOption","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum ITapToken.Module","name":"_module","type":"uint8"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"bool","name":"_forwardRevert","type":"bool"}],"name":"executeModule","outputs":[{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"extractTAP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCluster","outputs":[{"internalType":"contract ICluster","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentWeek","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentWeekEmission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"internalType":"struct ERC20PermitStruct","name":"_permitData","type":"tuple"}],"name":"getTypedDataHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governanceEid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"initEmissions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"","type":"tuple"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"name":"isComposeMsgSender","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"name":"isPeer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"_origin","type":"tuple"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"lzReceive","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"origin","type":"tuple"},{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"executor","type":"address"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes","name":"extraData","type":"bytes"}],"internalType":"struct InboundPacket[]","name":"_packets","type":"tuple[]"}],"name":"lzReceiveAndRevert","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"_origin","type":"tuple"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"lzReceiveSimulate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mintedInWeek","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"msgInspector","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"nextNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oApp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oAppVersion","outputs":[{"internalType":"uint64","name":"senderVersion","type":"uint64"},{"internalType":"uint64","name":"receiverVersion","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"oftVersion","outputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"},{"internalType":"uint64","name":"version","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pearlmit","outputs":[{"internalType":"contract IPearlmit","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"peers","outputs":[{"internalType":"bytes32","name":"peer","type":"bytes32"}],"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":"preCrime","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"}],"name":"quoteOFT","outputs":[{"components":[{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"uint256","name":"maxAmountLD","type":"uint256"}],"internalType":"struct OFTLimit","name":"oftLimit","type":"tuple"},{"components":[{"internalType":"int256","name":"feeAmountLD","type":"int256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct OFTFeeDetail[]","name":"oftFeeDetails","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"internalType":"bool","name":"_payInLzToken","type":"bool"}],"name":"quoteSend","outputs":[{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"msgFee","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"internalType":"bytes","name":"_extraOptions","type":"bytes"},{"internalType":"bool","name":"_payInLzToken","type":"bool"},{"internalType":"bytes","name":"_composeMsg","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"quoteSendPacket","outputs":[{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"msgFee","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountLD","type":"uint256"}],"name":"removeDust","outputs":[{"internalType":"uint256","name":"amountLD","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"removeTAP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"_fee","type":"tuple"},{"internalType":"address","name":"_refundAddress","type":"address"}],"name":"send","outputs":[{"components":[{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"fee","type":"tuple"}],"internalType":"struct MessagingReceipt","name":"msgReceipt","type":"tuple"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"sendParam","type":"tuple"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"fee","type":"tuple"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"address","name":"refundAddress","type":"address"}],"internalType":"struct LZSendParam","name":"_lzSendParam","type":"tuple"},{"internalType":"bytes","name":"_composeMsg","type":"bytes"}],"name":"sendPacket","outputs":[{"components":[{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"fee","type":"tuple"}],"internalType":"struct MessagingReceipt","name":"msgReceipt","type":"tuple"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes","name":"options","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"components":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"sendParam","type":"tuple"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"fee","type":"tuple"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"address","name":"refundAddress","type":"address"}],"internalType":"struct LZSendParam","name":"_lzSendParam","type":"tuple"},{"internalType":"bytes","name":"_composeMsg","type":"bytes"}],"name":"sendPacketFrom","outputs":[{"components":[{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"fee","type":"tuple"}],"internalType":"struct MessagingReceipt","name":"msgReceipt","type":"tuple"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes","name":"options","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"contract ICluster","name":"_cluster","type":"address"}],"name":"setCluster","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_delegate","type":"address"}],"name":"setDelegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]"}],"name":"setEnforcedOptions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_msgInspector","type":"address"}],"name":"setMsgInspector","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_pauseState","type":"bool"}],"name":"setPause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IPearlmit","name":"_pearlmit","type":"address"}],"name":"setPearlmit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"name":"setPeer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_preCrime","type":"address"}],"name":"setPreCrime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tapiocaOmnichainReceiveExtender","type":"address"}],"name":"setTapiocaOmnichainReceiveExtender","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_extExec","type":"address"}],"name":"setToeExtExec","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_twTap","type":"address"}],"name":"setTwTAP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sharedDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tapiocaOmnichainReceiveExtender","outputs":[{"internalType":"contract ITapiocaOmnichainReceiveExtender","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"timestampToWeek","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toeExtExec","outputs":[{"internalType":"contract TapiocaOmnichainExtExec","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","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":[],"name":"twTap","outputs":[{"internalType":"contract TwTAP","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6101c06040526a2b6d4eb3e906bb848000006014553480156200002157600080fd5b5060405162006d4438038062006d4483398101604081905262000044916200089d565b6040518060400160405280600381526020016205441560ec1b81525080604051806040016040528060018152602001603160f81b815250604051806040016040528060088152602001672a30b82a37b5b2b760c11b8152506040518060400160405280600381526020016205441560ec1b8152508560200151866101200151876101800151886101a00151896101c001518686868686868681878787878383620000f36200062c60201b60201c565b848481818181620001043362000631565b6001600160a01b0380831660805281166200013257604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b1580156200017a57600080fd5b505af11580156200018f573d6000803e3d6000fd5b5050505050505050620001a76200068160201b60201c565b60ff168360ff161015620001ce576040516301e9714b60e41b815260040160405180910390fd5b620001db600684620009e4565b620001e890600a62000afd565b60a0525060089150620001fe9050838262000ba5565b5060096200020d828262000ba5565b5050600a54604080516001600160a01b03928316815291881660208301527f19e743977bfa1080c4f475f13f05433b43465aa361d8a3fec33c3165f773b59996500193506200025b92505050565b60405180910390a1600a80546001600160a01b03199081166001600160a01b0393841617909155600b805490911691851691909117905580620002bb7f7cdf5007585d1c7d3dfb23c59fcda5f9f02da78637d692495255a57630b7216290565b80546001600160a01b0319166001600160a01b039290921691909117905550620002f89c508e9b50600f9a50620006869950505050505050505050565b610160526200030981601062000686565b61018052815160208084019190912061012052815190820120610140524660e052620003996101205161014051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60c05250503061010052506013805460ff1916905560208101516001600160a01b0316620003da57604051632b56e91760e11b815260040160405180910390fd5b6101008101516019556101408101516001600160a01b0316620004105760405163f1640ae160e01b815260040160405180910390fd5b6101608101516001600160a01b03166200043d5760405163f1640ae160e01b815260040160405180910390fd5b61014081015160016000908152600e6020527fa7c5ba7114a813b50159add3a36832908dc83db71d0b9a24c2ad0f83be95820780546001600160a01b039384166001600160a01b031991821617909155610160840151600283527f9adb202b1492743bc00c81d33cdc6423fa8c79109027eb6a845391e8fc1f048180549190941691161790915581519003620004e65760405163f1640ae160e01b815260040160405180910390fd5b80516101a052610100810151620004fc620006bf565b63ffffffff160362000614576a034ccdbfcba892d63d1aee60006200052d826a0422ca8b0a00a42500000062000c71565b90506200055083604001516a0c685fa11e01ec6f0000006200072d60201b60201c565b60608301516200056c906a02e5276f3483f35ae400006200072d565b608083015162000588906a0c5b403f534140f99a00006200072d565b60a08301516200059990836200072d565b60c0830151620005c090620005ba836a056d8d08aa3e006482000062000c87565b6200072d565b60e0830151620005dc906a02116545850052128000006200072d565b6a274a8428df06175f800000620005f260075490565b14620006115760405163af4b218960e01b815260040160405180910390fd5b50505b610120810151620006259062000631565b5062000d3b565b601290565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600690565b6000602083511015620006a6576200069e83620007f6565b9050620006b9565b81620006b3848262000ba5565b5060ff90505b92915050565b60006080516001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000702573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000728919062000c9d565b905090565b6001600160a01b038216620007895760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b80600760008282546200079d919062000c87565b90915550506001600160a01b0382166000818152600560209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600080829050601f8151111562000824578260405163305a27a960e01b815260040162000780919062000cc5565b8051620008318262000d16565b179392505050565b505050565b634e487b7160e01b600052604160045260246000fd5b6040516101e081016001600160401b03811182821017156200087a576200087a6200083e565b60405290565b80516001600160a01b03811681146200089857600080fd5b919050565b60006101e08284031215620008b157600080fd5b620008bb62000854565b82518152620008cd6020840162000880565b6020820152620008e06040840162000880565b6040820152620008f36060840162000880565b6060820152620009066080840162000880565b60808201526200091960a0840162000880565b60a08201526200092c60c0840162000880565b60c08201526200093f60e0840162000880565b60e082015261010083810151908201526101206200095f81850162000880565b908201526101406200097384820162000880565b908201526101606200098784820162000880565b908201526101806200099b84820162000880565b908201526101a0620009af84820162000880565b908201526101c0620009c384820162000880565b908201529392505050565b634e487b7160e01b600052601160045260246000fd5b60ff8281168282160390811115620006b957620006b9620009ce565b600181815b8085111562000a4157816000190482111562000a255762000a25620009ce565b8085161562000a3357918102915b93841c939080029062000a05565b509250929050565b60008262000a5a57506001620006b9565b8162000a6957506000620006b9565b816001811462000a82576002811462000a8d5762000aad565b6001915050620006b9565b60ff84111562000aa15762000aa1620009ce565b50506001821b620006b9565b5060208310610133831016604e8410600b841016171562000ad2575081810a620006b9565b62000ade838362000a00565b806000190482111562000af55762000af5620009ce565b029392505050565b600062000b0e60ff84168362000a49565b9392505050565b600181811c9082168062000b2a57607f821691505b60208210810362000b4b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000839576000816000526020600020601f850160051c8101602086101562000b7c5750805b601f850160051c820191505b8181101562000b9d5782815560010162000b88565b505050505050565b81516001600160401b0381111562000bc15762000bc16200083e565b62000bd98162000bd2845462000b15565b8462000b51565b602080601f83116001811462000c11576000841562000bf85750858301515b600019600386901b1c1916600185901b17855562000b9d565b600085815260208120601f198616915b8281101562000c425788860151825594840194600190910190840162000c21565b508582101562000c615787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115620006b957620006b9620009ce565b80820180821115620006b957620006b9620009ce565b60006020828403121562000cb057600080fd5b815163ffffffff8116811462000b0e57600080fd5b60006020808352835180602085015260005b8181101562000cf55785810183015185820160400152820162000cd7565b506000604082860101526040601f19601f8301168501019250505092915050565b8051602080830151919081101562000b4b5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615f4062000e0460003960008181610d9c0152612d4b01526000611b2d01526000611b020152600061357801526000613550015260006134ab015260006134d5015260006134ff015260008181610cff01528181613b9b01528181613f2b01526144a9015260008181610a8b0152818161259101528181613324015281816138c601528181613c2701528181613e520152818161414a015261421c0152615f406000f3fe6080604052600436106105a35760003560e01c80637d25a05e116102e0578063bb0b6a5311610184578063d4243885116100e1578063eefb44fc11610095578063fc0c546a1161006f578063fc0c546a146109c4578063fca3b5aa146110a4578063ff7bd03d146110c4576105aa565b8063eefb44fc1461104f578063f2fde38b1461106f578063f703d50b1461108f576105aa565b8063d91e2a7f116100c6578063d91e2a7f14610fd3578063dd62ed3e14610ff3578063e1cbc05414611039576105aa565b8063d424388514610f93578063d505accf14610fb3576105aa565b8063c077998811610138578063c7c7f5b31161011d578063c7c7f5b314610f3f578063ca5eb5e114610f60578063d045a0dc14610f80576105aa565b8063c077998814610eeb578063c458a25514610f0b576105aa565b8063bd815db011610169578063bd815db014610e8b578063bedb86fb14610e9e578063bf9ff52914610ebe576105aa565b8063bb0b6a5314610e3e578063bc70b35414610e6b576105aa565b8063963efcaa1161023d578063a457c2d7116101f1578063b731ea0a116101cb578063b731ea0a14610dde578063b98bd07014610dfe578063ba20b89d14610e1e576105aa565b8063a457c2d714610d6a578063a70b9f0c14610d8a578063a9059cbb14610dbe576105aa565b80639fc9495f116102225780639fc9495f14610d35578063a2a4b99b14610d55578063a3713725146107e9576105aa565b8063963efcaa14610ced5780639f68b96414610d21576105aa565b806387f00abc11610294578063902bd45e11610279578063902bd45e14610c9857806392d07c8314610cb857806395d89b4114610cd8576105aa565b806387f00abc14610c645780638da5cb5b14610c7a576105aa565b806382413eac116102c557806382413eac14610bf957806384b0196e14610c28578063857749b014610c50576105aa565b80637d25a05e14610b9d5780637ecebe0014610bd9576105aa565b806339509351116104475780635a55a643116103a45780636411be20116103585780636fc1b31e116103325780636fc1b31e14610b3257806370a0823114610b52578063715018a614610b88576105aa565b80636411be2014610aea5780636eb227ce14610b0a5780636f7f155214610b1f576105aa565b80635d32a954116103895780635d32a95414610a595780635e280f1114610a795780636404b13e14610aad576105aa565b80635a55a64314610a2e5780635c975abb14610a41576105aa565b806348b0daa6116103fb57806352ae2879116103e057806352ae2879146109c45780635535d461146109d75780635a0dfe4d146109f7576105aa565b806348b0daa61461098e5780634eb8c308146109a4576105aa565b80633b6f743b1161042c5780633b6f743b1461092157806342e32e2514610941578063437be6221461096e576105aa565b806339509351146108e15780633ad50d0614610901576105aa565b806317442b70116105005780632930fc77116104b4578063313ce5671161048e578063313ce5671461088a5780633400288b146108ac5780633644e515146108cc576105aa565b80632930fc771461081e5780632e4508851461083e5780632ff2e9dc1461086b576105aa565b80631ed2bdb8116104e55780631ed2bdb8146107d45780631f5e1334146107e957806323b872dd146107fe576105aa565b806317442b701461079d57806318160ddd146107bf576105aa565b80630d35b4151161055757806313137d651161053c57806313137d6514610721578063134d4f2514610734578063156a0d0f1461075c576105aa565b80630d35b415146106d2578063111ecdad14610701576105aa565b80630754617211610588578063075461721461063c578063095ea7b31461067457806309b489fd146106a4576105aa565b8063033e8cad146105ee57806306fdde031461061a576105aa565b366105aa57005b6105ec60026000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506110e4915050565b005b6106016105fc3660046148f4565b611197565b60405161061194939291906149f1565b60405180910390f35b34801561062657600080fd5b5061062f61125e565b6040516106119190614a37565b34801561064857600080fd5b5060185461065c906001600160a01b031681565b6040516001600160a01b039091168152602001610611565b34801561068057600080fd5b5061069461068f366004614a4a565b6112f0565b6040519015158152602001610611565b3480156106b057600080fd5b506106c46106bf366004614a76565b61130a565b604051908152602001610611565b3480156106de57600080fd5b506106f26106ed366004614aa1565b611333565b60405161061193929190614ad6565b34801561070d57600080fd5b5060045461065c906001600160a01b031681565b6105ec61072f366004614b81565b611405565b34801561074057600080fd5b50610749600281565b60405161ffff9091168152602001610611565b34801561076857600080fd5b50604080517f02e49c2c0000000000000000000000000000000000000000000000000000000081526001602082015201610611565b3480156107a957600080fd5b5060408051600181526002602082015201610611565b3480156107cb57600080fd5b506007546106c4565b3480156107e057600080fd5b506106c46114b9565b3480156107f557600080fd5b50610749600181565b34801561080a57600080fd5b50610694610819366004614c21565b6114dc565b34801561082a57600080fd5b506105ec610839366004614a76565b611502565b34801561084a57600080fd5b5061085e610859366004614c70565b61154c565b6040516106119190614d43565b34801561087757600080fd5b506106c46a274a8428df06175f80000081565b34801561089657600080fd5b5060125b60405160ff9091168152602001610611565b3480156108b857600080fd5b506105ec6108c7366004614d6c565b6115bf565b3480156108d857600080fd5b506106c46115d5565b3480156108ed57600080fd5b506106946108fc366004614a4a565b6115e4565b34801561090d57600080fd5b50600b5461065c906001600160a01b031681565b34801561092d57600080fd5b5061085e61093c366004614d8a565b611623565b34801561094d57600080fd5b506106c461095c366004614a76565b60176020526000908152604090205481565b34801561097a57600080fd5b506105ec610989366004614ddc565b61168a565b34801561099a57600080fd5b506106c460155481565b3480156109b057600080fd5b506105ec6109bf366004614a4a565b6116d3565b3480156109d057600080fd5b503061065c565b3480156109e357600080fd5b5061062f6109f2366004614e0b565b6118cb565b348015610a0357600080fd5b50610694610a12366004614d6c565b63ffffffff919091166000908152600160205260409020541490565b610601610a3c366004614e40565b611970565b348015610a4d57600080fd5b5060135460ff16610694565b348015610a6557600080fd5b50600d5461065c906001600160a01b031681565b348015610a8557600080fd5b5061065c7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab957600080fd5b507f7cdf5007585d1c7d3dfb23c59fcda5f9f02da78637d692495255a57630b72162546001600160a01b031661065c565b348015610af657600080fd5b50600a5461065c906001600160a01b031681565b348015610b1657600080fd5b506106c4611a34565b61062f610b2d366004614fba565b611a3f565b348015610b3e57600080fd5b506105ec610b4d366004614ddc565b611a65565b348015610b5e57600080fd5b506106c4610b6d366004614ddc565b6001600160a01b031660009081526005602052604090205490565b348015610b9457600080fd5b506105ec611ac2565b348015610ba957600080fd5b50610bc0610bb8366004614d6c565b600092915050565b60405167ffffffffffffffff9091168152602001610611565b348015610be557600080fd5b506106c4610bf4366004614ddc565b611ad6565b348015610c0557600080fd5b50610694610c14366004615022565b6001600160a01b0381163014949350505050565b348015610c3457600080fd5b50610c3d611af4565b6040516106119796959493929190615089565b348015610c5c57600080fd5b50600661089a565b348015610c7057600080fd5b506106c460145481565b348015610c8657600080fd5b506000546001600160a01b031661065c565b348015610ca457600080fd5b506105ec610cb3366004614ddc565b611b99565b348015610cc457600080fd5b50600c5461065c906001600160a01b031681565b348015610ce457600080fd5b5061062f611c0a565b348015610cf957600080fd5b506106c47f000000000000000000000000000000000000000000000000000000000000000081565b348015610d2d57600080fd5b506000610694565b348015610d4157600080fd5b506105ec610d50366004614ddc565b611c19565b348015610d6157600080fd5b506106c4611c43565b348015610d7657600080fd5b50610694610d85366004614a4a565b611e1c565b348015610d9657600080fd5b506106c47f000000000000000000000000000000000000000000000000000000000000000081565b348015610dca57600080fd5b50610694610dd9366004614a4a565b611ed1565b348015610dea57600080fd5b5060025461065c906001600160a01b031681565b348015610e0a57600080fd5b506105ec610e19366004615183565b611edf565b348015610e2a57600080fd5b506106c4610e393660046151c5565b611ef9565b348015610e4a57600080fd5b506106c4610e593660046151e1565b60016020526000908152604090205481565b348015610e7757600080fd5b5061062f610e863660046151fe565b611fa3565b6105ec610e99366004615183565b612164565b348015610eaa57600080fd5b506105ec610eb9366004615255565b612307565b348015610eca57600080fd5b506106c4610ed9366004614a76565b60166020526000908152604090205481565b348015610ef757600080fd5b506106c4610f06366004614a76565b612443565b348015610f1757600080fd5b506106c47f7cdf5007585d1c7d3dfb23c59fcda5f9f02da78637d692495255a57630b7216281565b610f52610f4d366004615272565b61244e565b6040516106119291906152d5565b348015610f6c57600080fd5b506105ec610f7b366004614ddc565b612551565b6105ec610f8e366004614b81565b6125f0565b348015610f9f57600080fd5b506105ec610fae366004614ddc565b612641565b348015610fbf57600080fd5b506105ec610fce3660046152f9565b612697565b348015610fdf57600080fd5b506105ec610fee366004614ddc565b6127fb565b348015610fff57600080fd5b506106c461100e366004615370565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561104557600080fd5b506106c460195481565b34801561105b57600080fd5b506105ec61106a366004614ddc565b6128b0565b34801561107b57600080fd5b506105ec61108a366004614ddc565b6128da565b34801561109b57600080fd5b506105ec612967565b3480156110b057600080fd5b506105ec6110bf366004614ddc565b6129d2565b3480156110d057600080fd5b506106946110df36600461539e565b612a6f565b6060600160006110f386612aa5565b9050806001600160a01b03168560405161110d91906153ba565b600060405180830381855af49150503d8060008114611148576040519150601f19603f3d011682016040523d82523d6000602084013e61114d565b606091505b50935091508115801561115e575083155b1561118e5761116c83612af8565b60405162461bcd60e51b81526004016111859190614a37565b60405180910390fd5b50509392505050565b61119f614816565b60408051808201909152600080825260208201526060806111be612b9b565b6112396001898989896040516024016111da9493929190615573565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f033e8cad0000000000000000000000000000000000000000000000000000000017905260006110e4565b80602001905181019061124c9190615689565b929b919a509850909650945050505050565b60606008805461126d90615711565b80601f016020809104026020016040519081016040528092919081815260200182805461129990615711565b80156112e65780601f106112bb576101008083540402835291602001916112e6565b820191906000526020600020905b8154815290600101906020018083116112c957829003601f168201915b5050505050905090565b6000336112fe818585612bee565b60019150505b92915050565b600081600003611318574291505b60155482101561132a57506000919050565b61130482612d47565b60408051808201909152600080825260208201526060611366604051806040016040528060008152602001600081525090565b604080518082018252600080825267ffffffffffffffff6020808401829052845183815290810190945291955091826113c2565b60408051808201909152600081526060602082015281526020019060019003908161139a5790505b5093506000806113e7604089013560608a01356113e260208c018c6151e1565b612d82565b60408051808201909152918252602082015296989597505050505050565b6114af60026040517f13137d650000000000000000000000000000000000000000000000000000000090611449908b908b908b908b908b908b908b90602401615745565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915260006110e4565b5050505050505050565b6000601660006114c842612d47565b815260200190815260200160002054905090565b6000336114ea858285612dee565b6114f5858585612e80565b60019150505b9392505050565b61150a612b9b565b6115143382613074565b60405181815233907f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df79060200160405180910390a250565b6040805180820190915260008082526020820152600061157c60408b013560608c01356113e260208e018e6151e1565b91505060008061159260008d8d8d8c8c896131dc565b90925090506115af6115a760208e018e6151e1565b83838c61330e565b9c9b505050505050505050505050565b6115c76133ef565b6115d18282613449565b5050565b60006115df61349e565b905090565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091906112fe908290869061161e9087906157e4565b612bee565b60408051808201909152600080825260208201526000611653604085013560608601356113e260208801886151e1565b91505060008061166386846135c9565b909250905061168061167860208801886151e1565b83838861330e565b9695505050505050565b6116926133ef565b7f7cdf5007585d1c7d3dfb23c59fcda5f9f02da78637d692495255a57630b7216280546001600160a01b0319166001600160a01b0392909216919091179055565b6018546001600160a01b031633146116fe57604051639cdc2ed560e01b815260040160405180910390fd5b611706612b9b565b80600003611740576040517ff1640ae100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061174b42612d47565b3060009081526005602090815260408083205484845260178352818420546016909352908320549394509261178091906157f7565b905083811015611861578361179583836157e4565b10156117cd576040517fb4d4c5e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b801561180e576117dd8582613706565b600083815260176020526040812080548392906117fb9084906157e4565b9091555061180b905081856157f7565b93505b611819308686612e80565b6040518481526001600160a01b0386169033907f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f0906020015b60405180910390a35050505050565b61186b8585613706565b600083815260176020526040812080548692906118899084906157e4565b90915550506040518481526001600160a01b0386169033907f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f090602001611852565b6003602090815260009283526040808420909152908252902080546118ef90615711565b80601f016020809104026020016040519081016040528092919081815260200182805461191b90615711565b80156119685780601f1061193d57610100808354040283529160200191611968565b820191906000526020600020905b81548152906001019060200180831161194b57829003601f168201915b505050505081565b611978614816565b6040805180820190915260008082526020820152606080611997612b9b565b611a1060018888886040516024016119b19392919061580a565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f5a55a6430000000000000000000000000000000000000000000000000000000017905260006110e4565b806020019051810190611a239190615689565b929a91995097509095509350505050565b60006115df42612d47565b6060611a5d846002811115611a5657611a5661485e565b84846110e4565b949350505050565b611a6d6133ef565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b611aca6133ef565b611ad460006137c7565b565b6001600160a01b038116600090815260116020526040812054611304565b600060608082808083611b287f0000000000000000000000000000000000000000000000000000000000000000600f613817565b611b537f00000000000000000000000000000000000000000000000000000000000000006010613817565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b611ba16133ef565b600a54604080516001600160a01b03928316815291831660208301527f19e743977bfa1080c4f475f13f05433b43465aa361d8a3fec33c3165f773b599910160405180910390a1600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60606009805461126d90615711565b611c216133ef565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6018546000906001600160a01b03163314611c7157604051639cdc2ed560e01b815260040160405180910390fd5b601954611c7c6138c2565b63ffffffff1614611cb9576040517fbeff08bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cc1612b9b565b601554600003611cfd576040517f98ea126800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d0842612d47565b60008181526016602052604090205490915015611d2757600091505090565b60008115611daf5760176000611d3e6001856157f7565b81526020019081526020016000205460146000828254611d5e91906157f7565b90915550601790506000611d736001856157f7565b81526020019081526020016000205460166000600185611d9391906157f7565b815260200190815260200160002054611dac91906157f7565b90505b6000611db9613946565b9050611dc582826157e4565b600084815260166020526040908190208290555190915083907f50f1c5d928feed1018925d3fa59901275ddbeaf4a20a5a52bb174b5381c4fa5790611e0d9084815260200190565b60405180910390a29250505090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490919083811015611eb95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401611185565b611ec68286868403612bee565b506001949350505050565b6000336112fe818585612e80565b611ee76133ef565b6115d1611ef48284615830565b613970565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98181611f2b6020860186614ddc565b611f3b6040870160208801614ddc565b6040805160208101949094526001600160a01b03928316848201529116606083810191909152908601356080838101919091529086013560a083015285013560c082015260e001604051602081830303815290604052805190602001209050611a5d81613a77565b63ffffffff8416600090815260036020908152604080832061ffff87168452909152812080546060929190611fd790615711565b80601f016020809104026020016040519081016040528092919081815260200182805461200390615711565b80156120505780601f1061202557610100808354040283529160200191612050565b820191906000526020600020905b81548152906001019060200180831161203357829003601f168201915b5050505050905080516000036120a05783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929450611a5d9350505050565b60008390036120b0579050611a5d565b6002831061212e576120f784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613abf92505050565b806121058460028188615908565b60405160200161211793929190615932565b604051602081830303815290604052915050611a5d565b83836040517f9a6d49cd00000000000000000000000000000000000000000000000000000000815260040161118592919061595a565b60005b8181101561226d57368383838181106121825761218261596e565b90506020028101906121949190615984565b90506121c76121a660208301836151e1565b602083013563ffffffff919091166000908152600160205260409020541490565b6121d15750612265565b3063d045a0dc60c08301358360a08101356121f061010083018361599b565b612201610100890160e08a01614ddc565b61220f6101208a018a61599b565b6040518963ffffffff1660e01b81526004016122319796959493929190615745565b6000604051808303818588803b15801561224a57600080fd5b505af115801561225e573d6000803e3d6000fd5b5050505050505b600101612167565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa1580156122ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122d491908101906159e2565b6040517f8351eea70000000000000000000000000000000000000000000000000000000081526004016111859190614a37565b7f7cdf5007585d1c7d3dfb23c59fcda5f9f02da78637d692495255a57630b72162546001600160a01b03166040517fac4ab3fb0000000000000000000000000000000000000000000000000000000081523360048201527fe19ede4a195f537025cf251cec2d8920244abdd27d2f733a47785f37eefab06c60248201526001600160a01b03919091169063ac4ab3fb90604401602060405180830381865afa1580156123b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123db9190615a17565b1580156123f357506000546001600160a01b03163314155b1561242a576040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b801561243b57612438613b04565b50565b612438613b5e565b600061130482613b97565b612456614816565b6040805180820190915260008082526020820152612472612b9b565b60008061249533604089013560608a013561249060208c018c6151e1565b613bce565b915091506000806124a689846135c9565b90925090506124d26124bb60208b018b6151e1565b83836124cc368d90038d018d615a34565b8b613bf4565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90612520908d018d6151e1565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b6125596133ef565b6040517fca5eb5e10000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b1580156125d557600080fd5b505af11580156125e9573d6000803e3d6000fd5b5050505050565b333014612629576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61263887878787878787612ddf565b50505050505050565b6126496133ef565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001611ab7565b834211156126e75760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401611185565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886127168c613cff565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061277182613a77565b9050600061278182878787613d27565b9050896001600160a01b0316816001600160a01b0316146127e45760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401611185565b6127ef8a8a8a612bee565b50505050505050505050565b6128036133ef565b60195461280e6138c2565b63ffffffff161461284b576040517fbeff08bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b03161561288e576040517f6fc41ec300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6128b86133ef565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6128e26133ef565b6001600160a01b03811661295e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401611185565b612438816137c7565b6018546001600160a01b0316331461299257604051639cdc2ed560e01b815260040160405180910390fd5b601554156129cc576040517f93d1143900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42601555565b6129da6133ef565b6001600160a01b038116612a1a576040517ff1640ae100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601880546001600160a01b0319166001600160a01b0383169081179091556040805182815260208101929092527f1cf2de25c5bf439ac0287061c3a0fa69b3b02867d0ccfd2ded34e42577050b739101611ab7565b6000602082018035906001908390612a8790866151e1565b63ffffffff1681526020810191909152604001600020541492915050565b60ff81166000908152600e60205260408120546001600160a01b031680611304576040517ff2e275a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60606103e882511115612b3e57505060408051808201909152601781527f4d6f64756c653a20726561736f6e20746f6f206c6f6e67000000000000000000602082015290565b604482511015612b8157505060408051808201909152600c81527f4d6f64756c653a20646174610000000000000000000000000000000000000000602082015290565b600482019150818060200190518101906113049190615a66565b60135460ff1615611ad45760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401611185565b6001600160a01b038316612c695760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b038216612ce55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60007f000000000000000000000000000000000000000000000000000000000000000060155483612d7891906157f7565b6113049190615aaf565b600080612d8e85613b97565b915081905083811015612dd7576040517f71c4efed0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401611185565b935093915050565b61263887878787878787613da4565b6001600160a01b038381166000908152600660209081526040808320938616835292905220546000198114612e7a5781811015612e6d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401611185565b612e7a8484848403612bee565b50505050565b6001600160a01b038316612efc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b038216612f785760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b038316600090815260056020526040902054818110156130075760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b0380851660008181526005602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906130679086815260200190565b60405180910390a3612e7a565b6001600160a01b0382166130f05760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b0382166000908152600560205260409020548181101561317f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b03831660008181526005602090815260408083208686039055600780548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101612d3a565b505050565b606080600061322f8a8a602001356131f387613f24565b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613f5092505050565b9093509050600081613242576001613245565b60025b905061325f61325760208c018c6151e1565b828b8b611fa3565b6004549093506001600160a01b03161561330057600480546040517f043a78eb0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163043a78eb916132bd918891889101615ad1565b602060405180830381865afa1580156132da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132fe9190615a17565b505b505097509795505050505050565b60408051808201909152600080825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161337189613d4f565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016133a6929190615af6565b6040805180830381865afa1580156133c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e69190615b6f565b95945050505050565b6000546001600160a01b03163314611ad45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611185565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156134f757507f000000000000000000000000000000000000000000000000000000000000000046145b1561352157507f000000000000000000000000000000000000000000000000000000000000000090565b6115df604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b606080600061362685602001356135df86613f24565b6135ec60a089018961599b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613fe592505050565b909350905060008161363957600161363c565b60025b905061365c61364e60208801886151e1565b82610e8660808a018a61599b565b6004549093506001600160a01b0316156136fd57600480546040517f043a78eb0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163043a78eb916136ba918891889101615ad1565b602060405180830381865afa1580156136d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136fb9190615a17565b505b50509250929050565b6001600160a01b03821661375c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401611185565b806007600082825461376e91906157e4565b90915550506001600160a01b0382166000818152600560209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060ff83146138315761382a83614070565b9050611304565b81805461383d90615711565b80601f016020809104026020016040519081016040528092919081815260200182805461386990615711565b80156138b65780601f1061388b576101008083540402835291602001916138b6565b820191906000526020600020905b81548152906001019060200180831161389957829003601f168201915b50505050509050611304565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613922573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115df9190615b8b565b6000670de0b6b3a7640000661f438daa0600006014546139669190615ba8565b6115df9190615aaf565b60005b8151811015613a47576139a28282815181106139915761399161596e565b602002602001015160400151613abf565b8181815181106139b4576139b461596e565b602002602001015160400151600360008484815181106139d6576139d661596e565b60200260200101516000015163ffffffff1663ffffffff1681526020019081526020016000206000848481518110613a1057613a1061596e565b60200260200101516020015161ffff1661ffff1681526020019081526020016000209081613a3e9190615c0f565b50600101613973565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051611ab79190615ccf565b6000611304613a8461349e565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600281015161ffff81166003146115d157816040517f9a6d49cd0000000000000000000000000000000000000000000000000000000081526004016111859190614a37565b613b0c612b9b565b6013805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613b413390565b6040516001600160a01b03909116815260200160405180910390a1565b613b666140af565b6013805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33613b41565b60007f0000000000000000000000000000000000000000000000000000000000000000613bc48184615aaf565b6113049190615ba8565b600080613bdc858585612d82565b9092509050613beb8683613074565b94509492505050565b613bfc614816565b6000613c0b8460000151614101565b602085015190915015613c2557613c258460200151614146565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff168152602001613c758c613d4f565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401613cb1929190615af6565b60806040518083038185885af1158015613ccf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613cf49190615d5a565b979650505050505050565b6001600160a01b03811660009081526011602052604090208054600181018255905b50919050565b6000806000613d3887878787614241565b91509150613d4581614302565b5095945050505050565b63ffffffff811660009081526001602052604081205480611304576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401611185565b6000613db6613db38787614467565b90565b90506000613de282613dd0613dcb8a8a61447f565b6144a2565b613ddd60208d018d6151e1565b6144d8565b90506028861115613ec2576000613e1f613e0260608c0160408d01615d76565b613e0f60208d018d6151e1565b84613e1a8c8c6144ec565b614537565b6040517f7cb590120000000000000000000000000000000000000000000000000000000081529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637cb5901290613e8e9086908d906000908790600401615d93565b600060405180830381600087803b158015613ea857600080fd5b505af1158015613ebc573d6000803e3d6000fd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c613efb60208d018d6151e1565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b60006113047f000000000000000000000000000000000000000000000000000000000000000083615aaf565b8051606090151580613faa578484604051602001613f9692919091825260c01b77ffffffffffffffffffffffffffffffffffffffffffffffff1916602082015260280190565b604051602081830303815290604052613fda565b84846001600160a01b03881685604051602001613fca9493929190615dc5565b6040516020818303038152906040525b915094509492505050565b805160609015158061403f57848460405160200161402b92919091825260c01b77ffffffffffffffffffffffffffffffffffffffffffffffff1916602082015260280190565b604051602081830303815290604052614066565b848433856040516020016140569493929190615dc5565b6040516020818303038152906040525b9150935093915050565b6060600061407d83614569565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60135460ff16611ad45760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401611185565b60008134101561413f576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401611185565b5034919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa1580156141a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141ca9190615e17565b90506001600160a01b03811661420c576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115d16001600160a01b038216337f0000000000000000000000000000000000000000000000000000000000000000856145aa565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156142785750600090506003613beb565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156142cc573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166142f557600060019250925050613beb565b9660009650945050505050565b60008160048111156143165761431661485e565b0361431e5750565b60018160048111156143325761433261485e565b0361437f5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401611185565b60028160048111156143935761439361485e565b036143e05760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401611185565b60038160048111156143f4576143f461485e565b036124385760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401611185565b60006144766020828486615908565b6114fb91615e34565b600061448f602860208486615908565b61449891615e52565b60c01c9392505050565b60006113047f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff8416615ba8565b60006144e48484613706565b509092915050565b60606144fb8260288186615908565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b6060848484846040516020016145509493929190615e93565b6040516020818303038152906040529050949350505050565b600060ff8216601f811115611304576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516001600160a01b038581166024830152848116604483015260648083018590528351808403909101815260849092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152612e7a92879291600091614670918516908490614703565b90508051600014806146915750808060200190518101906146919190615a17565b6131d75760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611185565b6060611a5d848460008585600080866001600160a01b0316858760405161472a91906153ba565b60006040518083038185875af1925050503d8060008114614767576040519150601f19603f3d011682016040523d82523d6000602084013e61476c565b606091505b5091509150613cf487838387606083156147e75782516000036147e0576001600160a01b0385163b6147e05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611185565b5081611a5d565b611a5d83838151156147fc5781518083602001fd5b8060405162461bcd60e51b81526004016111859190614a37565b604051806060016040528060008019168152602001600067ffffffffffffffff168152602001614859604051806040016040528060008152602001600081525090565b905290565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038116811461243857600080fd5b803561489481614874565b919050565b600060a08284031215613d2157600080fd5b60008083601f8401126148bd57600080fd5b50813567ffffffffffffffff8111156148d557600080fd5b6020830191508360208285010111156148ed57600080fd5b9250929050565b6000806000806060858703121561490a57600080fd5b843561491581614874565b9350602085013567ffffffffffffffff8082111561493257600080fd5b61493e88838901614899565b9450604087013591508082111561495457600080fd5b50614961878288016148ab565b95989497509550505050565b8051825267ffffffffffffffff602082015116602083015260408101516131d7604084018280518252602090810151910152565b60005b838110156149bc5781810151838201526020016149a4565b50506000910152565b600081518084526149dd8160208601602086016149a1565b601f01601f19169290920160200192915050565b6000610100614a00838861496d565b85516080840152602086015160a08401528060c0840152614a23818401866149c5565b905082810360e0840152613cf481856149c5565b6020815260006114fb60208301846149c5565b60008060408385031215614a5d57600080fd5b8235614a6881614874565b946020939093013593505050565b600060208284031215614a8857600080fd5b5035919050565b600060e08284031215613d2157600080fd5b600060208284031215614ab357600080fd5b813567ffffffffffffffff811115614aca57600080fd5b611a5d84828501614a8f565b8351815260208085015190820152600060a08201604060a0604085015281865180845260c08601915060c08160051b8701019350602080890160005b83811015614b515788870360bf19018552815180518852830151838801879052614b3e878901826149c5565b9750509382019390820190600101614b12565b50508751606088015250505060208501516080850152509050611a5d565b600060608284031215613d2157600080fd5b600080600080600080600060e0888a031215614b9c57600080fd5b614ba68989614b6f565b965060608801359550608088013567ffffffffffffffff80821115614bca57600080fd5b614bd68b838c016148ab565b909750955060a08a01359150614beb82614874565b90935060c08901359080821115614c0157600080fd5b50614c0e8a828b016148ab565b989b979a50959850939692959293505050565b600080600060608486031215614c3657600080fd5b8335614c4181614874565b92506020840135614c5181614874565b929592945050506040919091013590565b801515811461243857600080fd5b60008060008060008060008060a0898b031215614c8c57600080fd5b883567ffffffffffffffff80821115614ca457600080fd5b614cb08c838d01614a8f565b995060208b0135915080821115614cc657600080fd5b614cd28c838d016148ab565b909950975060408b01359150614ce782614c62565b90955060608a01359080821115614cfd57600080fd5b614d098c838d016148ab565b909650945060808b0135915080821115614d2257600080fd5b50614d2f8b828c016148ab565b999c989b5096995094979396929594505050565b815181526020808301519082015260408101611304565b63ffffffff8116811461243857600080fd5b60008060408385031215614d7f57600080fd5b8235614a6881614d5a565b60008060408385031215614d9d57600080fd5b823567ffffffffffffffff811115614db457600080fd5b614dc085828601614a8f565b9250506020830135614dd181614c62565b809150509250929050565b600060208284031215614dee57600080fd5b81356114fb81614874565b803561ffff8116811461489457600080fd5b60008060408385031215614e1e57600080fd5b8235614e2981614d5a565b9150614e3760208401614df9565b90509250929050565b600080600060408486031215614e5557600080fd5b833567ffffffffffffffff80821115614e6d57600080fd5b614e7987838801614899565b94506020860135915080821115614e8f57600080fd5b50614e9c868287016148ab565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715614ee257614ee2614ea9565b60405290565b6040516060810167ffffffffffffffff81118282101715614ee257614ee2614ea9565b604051601f8201601f1916810167ffffffffffffffff81118282101715614f3457614f34614ea9565b604052919050565b600067ffffffffffffffff821115614f5657614f56614ea9565b50601f01601f191660200190565b600082601f830112614f7557600080fd5b8135614f88614f8382614f3c565b614f0b565b818152846020838601011115614f9d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614fcf57600080fd5b833560038110614fde57600080fd5b9250602084013567ffffffffffffffff811115614ffa57600080fd5b61500686828701614f64565b925050604084013561501781614c62565b809150509250925092565b60008060008060a0858703121561503857600080fd5b6150428686614b6f565b9350606085013567ffffffffffffffff81111561505e57600080fd5b61506a878288016148ab565b909450925050608085013561507e81614874565b939692955090935050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e060208401526150c660e084018a6149c5565b83810360408501526150d8818a6149c5565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b8181101561512c57835183529284019291840191600101615110565b50909c9b505050505050505050505050565b60008083601f84011261515057600080fd5b50813567ffffffffffffffff81111561516857600080fd5b6020830191508360208260051b85010111156148ed57600080fd5b6000806020838503121561519657600080fd5b823567ffffffffffffffff8111156151ad57600080fd5b6151b98582860161513e565b90969095509350505050565b600060a082840312156151d757600080fd5b6114fb8383614899565b6000602082840312156151f357600080fd5b81356114fb81614d5a565b6000806000806060858703121561521457600080fd5b843561521f81614d5a565b935061522d60208601614df9565b9250604085013567ffffffffffffffff81111561524957600080fd5b614961878288016148ab565b60006020828403121561526757600080fd5b81356114fb81614c62565b6000806000838503608081121561528857600080fd5b843567ffffffffffffffff81111561529f57600080fd5b6152ab87828801614a8f565b9450506040601f19820112156152c057600080fd5b50602084019150606084013561501781614874565b60c081016152e3828561496d565b82516080830152602083015160a08301526114fb565b600080600080600080600060e0888a03121561531457600080fd5b873561531f81614874565b9650602088013561532f81614874565b95506040880135945060608801359350608088013560ff8116811461535357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561538357600080fd5b823561538e81614874565b91506020830135614dd181614874565b6000606082840312156153b057600080fd5b6114fb8383614b6f565b600082516153cc8184602087016149a1565b9190910192915050565b6000808335601e198436030181126153ed57600080fd5b830160208101925035905067ffffffffffffffff81111561540d57600080fd5b8036038213156148ed57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000813560de1983360301811261545b57600080fd5b60a084528201803561546c81614d5a565b63ffffffff1660a0850152602081013560c0850152604081013560e085015260608101356101008501526154a360808201826153d6565b60e06101208701526154ba6101808701828461541c565b9150506154ca60a08301836153d6565b609f1980888503016101408901526154e384838561541c565b93506154f260c08601866153d6565b955092508088850301610160890152505061550e82848361541c565b9250505061552c602085016020850180358252602090810135910152565b61553960608401846153d6565b858303606087015261554c83828461541c565b9250505061555c60808401614889565b6001600160a01b0381166080860152509392505050565b6001600160a01b03851681526060602082015260006155956060830186615445565b8281036040840152613cf481858761541c565b67ffffffffffffffff8116811461243857600080fd5b6000604082840312156155d057600080fd5b6155d8614ebf565b9050815181526020820151602082015292915050565b60006080828403121561560057600080fd5b615608614ee8565b905081518152602082015161561c816155a8565b602082015261562e83604084016155be565b604082015292915050565b6000615647614f8384614f3c565b905082815283838301111561565b57600080fd5b6114fb8360208301846149a1565b600082601f83011261567a57600080fd5b6114fb83835160208501615639565b60008060008061010085870312156156a057600080fd5b6156aa86866155ee565b93506156b986608087016155be565b925060c085015167ffffffffffffffff808211156156d657600080fd5b6156e288838901615669565b935060e08701519150808211156156f857600080fd5b5061570587828801615669565b91505092959194509250565b600181811c9082168061572557607f821691505b602082108103613d2157634e487b7160e01b600052602260045260246000fd5b6000883561575281614d5a565b63ffffffff168252602089810135908301526040890135615772816155a8565b67ffffffffffffffff811660408401525087606083015260e0608083015261579e60e08301878961541c565b6001600160a01b03861660a084015282810360c08401526157c081858761541c565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611304576113046157ce565b81810381811115611304576113046157ce565b60408152600061581d6040830186615445565b828103602084015261168081858761541c565b600067ffffffffffffffff8084111561584b5761584b614ea9565b8360051b602061585c818301614f0b565b86815291850191818101903684111561587457600080fd5b865b848110156158fc5780358681111561588e5760008081fd5b880160603682900312156158a25760008081fd5b6158aa614ee8565b81356158b581614d5a565b81526158c2828701614df9565b86820152604080830135898111156158da5760008081fd5b6158e636828601614f64565b9183019190915250845250918301918301615876565b50979650505050505050565b6000808585111561591857600080fd5b8386111561592557600080fd5b5050820193919092039150565b600084516159448184602089016149a1565b8201838582376000930192835250909392505050565b602081526000611a5d60208301848661541c565b634e487b7160e01b600052603260045260246000fd5b6000823561013e198336030181126153cc57600080fd5b6000808335601e198436030181126159b257600080fd5b83018035915067ffffffffffffffff8211156159cd57600080fd5b6020019150368190038213156148ed57600080fd5b6000602082840312156159f457600080fd5b815167ffffffffffffffff811115615a0b57600080fd5b611a5d84828501615669565b600060208284031215615a2957600080fd5b81516114fb81614c62565b600060408284031215615a4657600080fd5b615a4e614ebf565b82358152602083013560208201528091505092915050565b600060208284031215615a7857600080fd5b815167ffffffffffffffff811115615a8f57600080fd5b8201601f81018413615aa057600080fd5b611a5d84825160208401615639565b600082615acc57634e487b7160e01b600052601260045260246000fd5b500490565b604081526000615ae460408301856149c5565b82810360208401526133e681856149c5565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a06080840152615b2c60e08401826149c5565b90506060850151603f198483030160a0850152615b4982826149c5565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b600060408284031215615b8157600080fd5b6114fb83836155be565b600060208284031215615b9d57600080fd5b81516114fb81614d5a565b8082028115828204841417611304576113046157ce565b601f8211156131d7576000816000526020600020601f850160051c81016020861015615be85750805b601f850160051c820191505b81811015615c0757828155600101615bf4565b505050505050565b815167ffffffffffffffff811115615c2957615c29614ea9565b615c3d81615c378454615711565b84615bbf565b602080601f831160018114615c725760008415615c5a5750858301515b600019600386901b1c1916600185901b178555615c07565b600085815260208120601f198616915b82811015615ca157888601518255948401946001909101908401615c82565b5085821015615cbf5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015615d4c57888303603f190185528151805163ffffffff1684528781015161ffff16888501528601516060878501819052615d38818601836149c5565b968901969450505090860190600101615cf8565b509098975050505050505050565b600060808284031215615d6c57600080fd5b6114fb83836155ee565b600060208284031215615d8857600080fd5b81356114fb816155a8565b6001600160a01b038516815283602082015261ffff8316604082015260806060820152600061168060808301846149c5565b84815277ffffffffffffffffffffffffffffffffffffffffffffffff198460c01b16602082015282602882015260008251615e078160488501602087016149a1565b9190910160480195945050505050565b600060208284031215615e2957600080fd5b81516114fb81614874565b8035602083101561130457600019602084900360031b1b1692915050565b77ffffffffffffffffffffffffffffffffffffffffffffffff198135818116916008851015615e8b5780818660080360031b1b83161692505b505092915050565b77ffffffffffffffffffffffffffffffffffffffffffffffff198560c01b1681527fffffffff000000000000000000000000000000000000000000000000000000008460e01b16600882015282600c82015260008251615efa81602c8501602087016149a1565b91909101602c019594505050505056fea2646970667358221220df5ec048756577dec197e912d6fd03ab70059bef80e3761c7c201961620acc8964736f6c634300081600330000000000000000000000000000000000000000000000000000000000093a800000000000000000000000001a44076050125825900e736c501f859c50fe728c0000000000000000000000002997c5ddd3070a46e9938261ce0a16a237121cb0000000000000000000000000a4a0e4454526debf76a6f3e8431fd5e8540a61a60000000000000000000000006f73a287611526d57112ad26ec396d86be65e10400000000000000000000000000bebf0fa54d8e67914be964a7fa20130822a88d0000000000000000000000007a3b760acfab78f6bc6a1ad80f7743f5ba0513dc000000000000000000000000cf2e155eaa30706ff245679838006e6e092dd8b5000000000000000000000000000000000000000000000000000000000000759e000000000000000000000000302e912826211b72222cdbaa684426dc61f7fded000000000000000000000000061568f7b51a7fda11cc4184afa3c08eb2cef9c20000000000000000000000000caf0ecc1d2085c98bb860368d2e29192a1468b3000000000000000000000000b2866155eead31c6d311b003d15af371a30c3c8a0000000000000000000000006668de259da9ec896f51383f6ca3bd0beed10ef9000000000000000000000000e6d4944556a8c6605269528353c3cc35eeff1313
Deployed Bytecode
0x6080604052600436106105a35760003560e01c80637d25a05e116102e0578063bb0b6a5311610184578063d4243885116100e1578063eefb44fc11610095578063fc0c546a1161006f578063fc0c546a146109c4578063fca3b5aa146110a4578063ff7bd03d146110c4576105aa565b8063eefb44fc1461104f578063f2fde38b1461106f578063f703d50b1461108f576105aa565b8063d91e2a7f116100c6578063d91e2a7f14610fd3578063dd62ed3e14610ff3578063e1cbc05414611039576105aa565b8063d424388514610f93578063d505accf14610fb3576105aa565b8063c077998811610138578063c7c7f5b31161011d578063c7c7f5b314610f3f578063ca5eb5e114610f60578063d045a0dc14610f80576105aa565b8063c077998814610eeb578063c458a25514610f0b576105aa565b8063bd815db011610169578063bd815db014610e8b578063bedb86fb14610e9e578063bf9ff52914610ebe576105aa565b8063bb0b6a5314610e3e578063bc70b35414610e6b576105aa565b8063963efcaa1161023d578063a457c2d7116101f1578063b731ea0a116101cb578063b731ea0a14610dde578063b98bd07014610dfe578063ba20b89d14610e1e576105aa565b8063a457c2d714610d6a578063a70b9f0c14610d8a578063a9059cbb14610dbe576105aa565b80639fc9495f116102225780639fc9495f14610d35578063a2a4b99b14610d55578063a3713725146107e9576105aa565b8063963efcaa14610ced5780639f68b96414610d21576105aa565b806387f00abc11610294578063902bd45e11610279578063902bd45e14610c9857806392d07c8314610cb857806395d89b4114610cd8576105aa565b806387f00abc14610c645780638da5cb5b14610c7a576105aa565b806382413eac116102c557806382413eac14610bf957806384b0196e14610c28578063857749b014610c50576105aa565b80637d25a05e14610b9d5780637ecebe0014610bd9576105aa565b806339509351116104475780635a55a643116103a45780636411be20116103585780636fc1b31e116103325780636fc1b31e14610b3257806370a0823114610b52578063715018a614610b88576105aa565b80636411be2014610aea5780636eb227ce14610b0a5780636f7f155214610b1f576105aa565b80635d32a954116103895780635d32a95414610a595780635e280f1114610a795780636404b13e14610aad576105aa565b80635a55a64314610a2e5780635c975abb14610a41576105aa565b806348b0daa6116103fb57806352ae2879116103e057806352ae2879146109c45780635535d461146109d75780635a0dfe4d146109f7576105aa565b806348b0daa61461098e5780634eb8c308146109a4576105aa565b80633b6f743b1161042c5780633b6f743b1461092157806342e32e2514610941578063437be6221461096e576105aa565b806339509351146108e15780633ad50d0614610901576105aa565b806317442b70116105005780632930fc77116104b4578063313ce5671161048e578063313ce5671461088a5780633400288b146108ac5780633644e515146108cc576105aa565b80632930fc771461081e5780632e4508851461083e5780632ff2e9dc1461086b576105aa565b80631ed2bdb8116104e55780631ed2bdb8146107d45780631f5e1334146107e957806323b872dd146107fe576105aa565b806317442b701461079d57806318160ddd146107bf576105aa565b80630d35b4151161055757806313137d651161053c57806313137d6514610721578063134d4f2514610734578063156a0d0f1461075c576105aa565b80630d35b415146106d2578063111ecdad14610701576105aa565b80630754617211610588578063075461721461063c578063095ea7b31461067457806309b489fd146106a4576105aa565b8063033e8cad146105ee57806306fdde031461061a576105aa565b366105aa57005b6105ec60026000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506110e4915050565b005b6106016105fc3660046148f4565b611197565b60405161061194939291906149f1565b60405180910390f35b34801561062657600080fd5b5061062f61125e565b6040516106119190614a37565b34801561064857600080fd5b5060185461065c906001600160a01b031681565b6040516001600160a01b039091168152602001610611565b34801561068057600080fd5b5061069461068f366004614a4a565b6112f0565b6040519015158152602001610611565b3480156106b057600080fd5b506106c46106bf366004614a76565b61130a565b604051908152602001610611565b3480156106de57600080fd5b506106f26106ed366004614aa1565b611333565b60405161061193929190614ad6565b34801561070d57600080fd5b5060045461065c906001600160a01b031681565b6105ec61072f366004614b81565b611405565b34801561074057600080fd5b50610749600281565b60405161ffff9091168152602001610611565b34801561076857600080fd5b50604080517f02e49c2c0000000000000000000000000000000000000000000000000000000081526001602082015201610611565b3480156107a957600080fd5b5060408051600181526002602082015201610611565b3480156107cb57600080fd5b506007546106c4565b3480156107e057600080fd5b506106c46114b9565b3480156107f557600080fd5b50610749600181565b34801561080a57600080fd5b50610694610819366004614c21565b6114dc565b34801561082a57600080fd5b506105ec610839366004614a76565b611502565b34801561084a57600080fd5b5061085e610859366004614c70565b61154c565b6040516106119190614d43565b34801561087757600080fd5b506106c46a274a8428df06175f80000081565b34801561089657600080fd5b5060125b60405160ff9091168152602001610611565b3480156108b857600080fd5b506105ec6108c7366004614d6c565b6115bf565b3480156108d857600080fd5b506106c46115d5565b3480156108ed57600080fd5b506106946108fc366004614a4a565b6115e4565b34801561090d57600080fd5b50600b5461065c906001600160a01b031681565b34801561092d57600080fd5b5061085e61093c366004614d8a565b611623565b34801561094d57600080fd5b506106c461095c366004614a76565b60176020526000908152604090205481565b34801561097a57600080fd5b506105ec610989366004614ddc565b61168a565b34801561099a57600080fd5b506106c460155481565b3480156109b057600080fd5b506105ec6109bf366004614a4a565b6116d3565b3480156109d057600080fd5b503061065c565b3480156109e357600080fd5b5061062f6109f2366004614e0b565b6118cb565b348015610a0357600080fd5b50610694610a12366004614d6c565b63ffffffff919091166000908152600160205260409020541490565b610601610a3c366004614e40565b611970565b348015610a4d57600080fd5b5060135460ff16610694565b348015610a6557600080fd5b50600d5461065c906001600160a01b031681565b348015610a8557600080fd5b5061065c7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c81565b348015610ab957600080fd5b507f7cdf5007585d1c7d3dfb23c59fcda5f9f02da78637d692495255a57630b72162546001600160a01b031661065c565b348015610af657600080fd5b50600a5461065c906001600160a01b031681565b348015610b1657600080fd5b506106c4611a34565b61062f610b2d366004614fba565b611a3f565b348015610b3e57600080fd5b506105ec610b4d366004614ddc565b611a65565b348015610b5e57600080fd5b506106c4610b6d366004614ddc565b6001600160a01b031660009081526005602052604090205490565b348015610b9457600080fd5b506105ec611ac2565b348015610ba957600080fd5b50610bc0610bb8366004614d6c565b600092915050565b60405167ffffffffffffffff9091168152602001610611565b348015610be557600080fd5b506106c4610bf4366004614ddc565b611ad6565b348015610c0557600080fd5b50610694610c14366004615022565b6001600160a01b0381163014949350505050565b348015610c3457600080fd5b50610c3d611af4565b6040516106119796959493929190615089565b348015610c5c57600080fd5b50600661089a565b348015610c7057600080fd5b506106c460145481565b348015610c8657600080fd5b506000546001600160a01b031661065c565b348015610ca457600080fd5b506105ec610cb3366004614ddc565b611b99565b348015610cc457600080fd5b50600c5461065c906001600160a01b031681565b348015610ce457600080fd5b5061062f611c0a565b348015610cf957600080fd5b506106c47f000000000000000000000000000000000000000000000000000000e8d4a5100081565b348015610d2d57600080fd5b506000610694565b348015610d4157600080fd5b506105ec610d50366004614ddc565b611c19565b348015610d6157600080fd5b506106c4611c43565b348015610d7657600080fd5b50610694610d85366004614a4a565b611e1c565b348015610d9657600080fd5b506106c47f0000000000000000000000000000000000000000000000000000000000093a8081565b348015610dca57600080fd5b50610694610dd9366004614a4a565b611ed1565b348015610dea57600080fd5b5060025461065c906001600160a01b031681565b348015610e0a57600080fd5b506105ec610e19366004615183565b611edf565b348015610e2a57600080fd5b506106c4610e393660046151c5565b611ef9565b348015610e4a57600080fd5b506106c4610e593660046151e1565b60016020526000908152604090205481565b348015610e7757600080fd5b5061062f610e863660046151fe565b611fa3565b6105ec610e99366004615183565b612164565b348015610eaa57600080fd5b506105ec610eb9366004615255565b612307565b348015610eca57600080fd5b506106c4610ed9366004614a76565b60166020526000908152604090205481565b348015610ef757600080fd5b506106c4610f06366004614a76565b612443565b348015610f1757600080fd5b506106c47f7cdf5007585d1c7d3dfb23c59fcda5f9f02da78637d692495255a57630b7216281565b610f52610f4d366004615272565b61244e565b6040516106119291906152d5565b348015610f6c57600080fd5b506105ec610f7b366004614ddc565b612551565b6105ec610f8e366004614b81565b6125f0565b348015610f9f57600080fd5b506105ec610fae366004614ddc565b612641565b348015610fbf57600080fd5b506105ec610fce3660046152f9565b612697565b348015610fdf57600080fd5b506105ec610fee366004614ddc565b6127fb565b348015610fff57600080fd5b506106c461100e366004615370565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561104557600080fd5b506106c460195481565b34801561105b57600080fd5b506105ec61106a366004614ddc565b6128b0565b34801561107b57600080fd5b506105ec61108a366004614ddc565b6128da565b34801561109b57600080fd5b506105ec612967565b3480156110b057600080fd5b506105ec6110bf366004614ddc565b6129d2565b3480156110d057600080fd5b506106946110df36600461539e565b612a6f565b6060600160006110f386612aa5565b9050806001600160a01b03168560405161110d91906153ba565b600060405180830381855af49150503d8060008114611148576040519150601f19603f3d011682016040523d82523d6000602084013e61114d565b606091505b50935091508115801561115e575083155b1561118e5761116c83612af8565b60405162461bcd60e51b81526004016111859190614a37565b60405180910390fd5b50509392505050565b61119f614816565b60408051808201909152600080825260208201526060806111be612b9b565b6112396001898989896040516024016111da9493929190615573565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f033e8cad0000000000000000000000000000000000000000000000000000000017905260006110e4565b80602001905181019061124c9190615689565b929b919a509850909650945050505050565b60606008805461126d90615711565b80601f016020809104026020016040519081016040528092919081815260200182805461129990615711565b80156112e65780601f106112bb576101008083540402835291602001916112e6565b820191906000526020600020905b8154815290600101906020018083116112c957829003601f168201915b5050505050905090565b6000336112fe818585612bee565b60019150505b92915050565b600081600003611318574291505b60155482101561132a57506000919050565b61130482612d47565b60408051808201909152600080825260208201526060611366604051806040016040528060008152602001600081525090565b604080518082018252600080825267ffffffffffffffff6020808401829052845183815290810190945291955091826113c2565b60408051808201909152600081526060602082015281526020019060019003908161139a5790505b5093506000806113e7604089013560608a01356113e260208c018c6151e1565b612d82565b60408051808201909152918252602082015296989597505050505050565b6114af60026040517f13137d650000000000000000000000000000000000000000000000000000000090611449908b908b908b908b908b908b908b90602401615745565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915260006110e4565b5050505050505050565b6000601660006114c842612d47565b815260200190815260200160002054905090565b6000336114ea858285612dee565b6114f5858585612e80565b60019150505b9392505050565b61150a612b9b565b6115143382613074565b60405181815233907f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df79060200160405180910390a250565b6040805180820190915260008082526020820152600061157c60408b013560608c01356113e260208e018e6151e1565b91505060008061159260008d8d8d8c8c896131dc565b90925090506115af6115a760208e018e6151e1565b83838c61330e565b9c9b505050505050505050505050565b6115c76133ef565b6115d18282613449565b5050565b60006115df61349e565b905090565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091906112fe908290869061161e9087906157e4565b612bee565b60408051808201909152600080825260208201526000611653604085013560608601356113e260208801886151e1565b91505060008061166386846135c9565b909250905061168061167860208801886151e1565b83838861330e565b9695505050505050565b6116926133ef565b7f7cdf5007585d1c7d3dfb23c59fcda5f9f02da78637d692495255a57630b7216280546001600160a01b0319166001600160a01b0392909216919091179055565b6018546001600160a01b031633146116fe57604051639cdc2ed560e01b815260040160405180910390fd5b611706612b9b565b80600003611740576040517ff1640ae100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061174b42612d47565b3060009081526005602090815260408083205484845260178352818420546016909352908320549394509261178091906157f7565b905083811015611861578361179583836157e4565b10156117cd576040517fb4d4c5e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b801561180e576117dd8582613706565b600083815260176020526040812080548392906117fb9084906157e4565b9091555061180b905081856157f7565b93505b611819308686612e80565b6040518481526001600160a01b0386169033907f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f0906020015b60405180910390a35050505050565b61186b8585613706565b600083815260176020526040812080548692906118899084906157e4565b90915550506040518481526001600160a01b0386169033907f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f090602001611852565b6003602090815260009283526040808420909152908252902080546118ef90615711565b80601f016020809104026020016040519081016040528092919081815260200182805461191b90615711565b80156119685780601f1061193d57610100808354040283529160200191611968565b820191906000526020600020905b81548152906001019060200180831161194b57829003601f168201915b505050505081565b611978614816565b6040805180820190915260008082526020820152606080611997612b9b565b611a1060018888886040516024016119b19392919061580a565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f5a55a6430000000000000000000000000000000000000000000000000000000017905260006110e4565b806020019051810190611a239190615689565b929a91995097509095509350505050565b60006115df42612d47565b6060611a5d846002811115611a5657611a5661485e565b84846110e4565b949350505050565b611a6d6133ef565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b611aca6133ef565b611ad460006137c7565b565b6001600160a01b038116600090815260116020526040812054611304565b600060608082808083611b287f5441500000000000000000000000000000000000000000000000000000000003600f613817565b611b537f31000000000000000000000000000000000000000000000000000000000000016010613817565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b611ba16133ef565b600a54604080516001600160a01b03928316815291831660208301527f19e743977bfa1080c4f475f13f05433b43465aa361d8a3fec33c3165f773b599910160405180910390a1600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60606009805461126d90615711565b611c216133ef565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6018546000906001600160a01b03163314611c7157604051639cdc2ed560e01b815260040160405180910390fd5b601954611c7c6138c2565b63ffffffff1614611cb9576040517fbeff08bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cc1612b9b565b601554600003611cfd576040517f98ea126800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d0842612d47565b60008181526016602052604090205490915015611d2757600091505090565b60008115611daf5760176000611d3e6001856157f7565b81526020019081526020016000205460146000828254611d5e91906157f7565b90915550601790506000611d736001856157f7565b81526020019081526020016000205460166000600185611d9391906157f7565b815260200190815260200160002054611dac91906157f7565b90505b6000611db9613946565b9050611dc582826157e4565b600084815260166020526040908190208290555190915083907f50f1c5d928feed1018925d3fa59901275ddbeaf4a20a5a52bb174b5381c4fa5790611e0d9084815260200190565b60405180910390a29250505090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490919083811015611eb95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401611185565b611ec68286868403612bee565b506001949350505050565b6000336112fe818585612e80565b611ee76133ef565b6115d1611ef48284615830565b613970565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98181611f2b6020860186614ddc565b611f3b6040870160208801614ddc565b6040805160208101949094526001600160a01b03928316848201529116606083810191909152908601356080838101919091529086013560a083015285013560c082015260e001604051602081830303815290604052805190602001209050611a5d81613a77565b63ffffffff8416600090815260036020908152604080832061ffff87168452909152812080546060929190611fd790615711565b80601f016020809104026020016040519081016040528092919081815260200182805461200390615711565b80156120505780601f1061202557610100808354040283529160200191612050565b820191906000526020600020905b81548152906001019060200180831161203357829003601f168201915b5050505050905080516000036120a05783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929450611a5d9350505050565b60008390036120b0579050611a5d565b6002831061212e576120f784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613abf92505050565b806121058460028188615908565b60405160200161211793929190615932565b604051602081830303815290604052915050611a5d565b83836040517f9a6d49cd00000000000000000000000000000000000000000000000000000000815260040161118592919061595a565b60005b8181101561226d57368383838181106121825761218261596e565b90506020028101906121949190615984565b90506121c76121a660208301836151e1565b602083013563ffffffff919091166000908152600160205260409020541490565b6121d15750612265565b3063d045a0dc60c08301358360a08101356121f061010083018361599b565b612201610100890160e08a01614ddc565b61220f6101208a018a61599b565b6040518963ffffffff1660e01b81526004016122319796959493929190615745565b6000604051808303818588803b15801561224a57600080fd5b505af115801561225e573d6000803e3d6000fd5b5050505050505b600101612167565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa1580156122ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122d491908101906159e2565b6040517f8351eea70000000000000000000000000000000000000000000000000000000081526004016111859190614a37565b7f7cdf5007585d1c7d3dfb23c59fcda5f9f02da78637d692495255a57630b72162546001600160a01b03166040517fac4ab3fb0000000000000000000000000000000000000000000000000000000081523360048201527fe19ede4a195f537025cf251cec2d8920244abdd27d2f733a47785f37eefab06c60248201526001600160a01b03919091169063ac4ab3fb90604401602060405180830381865afa1580156123b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123db9190615a17565b1580156123f357506000546001600160a01b03163314155b1561242a576040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b801561243b57612438613b04565b50565b612438613b5e565b600061130482613b97565b612456614816565b6040805180820190915260008082526020820152612472612b9b565b60008061249533604089013560608a013561249060208c018c6151e1565b613bce565b915091506000806124a689846135c9565b90925090506124d26124bb60208b018b6151e1565b83836124cc368d90038d018d615a34565b8b613bf4565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90612520908d018d6151e1565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b6125596133ef565b6040517fca5eb5e10000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c169063ca5eb5e190602401600060405180830381600087803b1580156125d557600080fd5b505af11580156125e9573d6000803e3d6000fd5b5050505050565b333014612629576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61263887878787878787612ddf565b50505050505050565b6126496133ef565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001611ab7565b834211156126e75760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401611185565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886127168c613cff565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061277182613a77565b9050600061278182878787613d27565b9050896001600160a01b0316816001600160a01b0316146127e45760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401611185565b6127ef8a8a8a612bee565b50505050505050505050565b6128036133ef565b60195461280e6138c2565b63ffffffff161461284b576040517fbeff08bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b03161561288e576040517f6fc41ec300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6128b86133ef565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6128e26133ef565b6001600160a01b03811661295e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401611185565b612438816137c7565b6018546001600160a01b0316331461299257604051639cdc2ed560e01b815260040160405180910390fd5b601554156129cc576040517f93d1143900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42601555565b6129da6133ef565b6001600160a01b038116612a1a576040517ff1640ae100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601880546001600160a01b0319166001600160a01b0383169081179091556040805182815260208101929092527f1cf2de25c5bf439ac0287061c3a0fa69b3b02867d0ccfd2ded34e42577050b739101611ab7565b6000602082018035906001908390612a8790866151e1565b63ffffffff1681526020810191909152604001600020541492915050565b60ff81166000908152600e60205260408120546001600160a01b031680611304576040517ff2e275a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60606103e882511115612b3e57505060408051808201909152601781527f4d6f64756c653a20726561736f6e20746f6f206c6f6e67000000000000000000602082015290565b604482511015612b8157505060408051808201909152600c81527f4d6f64756c653a20646174610000000000000000000000000000000000000000602082015290565b600482019150818060200190518101906113049190615a66565b60135460ff1615611ad45760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401611185565b6001600160a01b038316612c695760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b038216612ce55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60007f0000000000000000000000000000000000000000000000000000000000093a8060155483612d7891906157f7565b6113049190615aaf565b600080612d8e85613b97565b915081905083811015612dd7576040517f71c4efed0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401611185565b935093915050565b61263887878787878787613da4565b6001600160a01b038381166000908152600660209081526040808320938616835292905220546000198114612e7a5781811015612e6d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401611185565b612e7a8484848403612bee565b50505050565b6001600160a01b038316612efc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b038216612f785760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b038316600090815260056020526040902054818110156130075760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b0380851660008181526005602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906130679086815260200190565b60405180910390a3612e7a565b6001600160a01b0382166130f05760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b0382166000908152600560205260409020548181101561317f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401611185565b6001600160a01b03831660008181526005602090815260408083208686039055600780548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101612d3a565b505050565b606080600061322f8a8a602001356131f387613f24565b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613f5092505050565b9093509050600081613242576001613245565b60025b905061325f61325760208c018c6151e1565b828b8b611fa3565b6004549093506001600160a01b03161561330057600480546040517f043a78eb0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163043a78eb916132bd918891889101615ad1565b602060405180830381865afa1580156132da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132fe9190615a17565b505b505097509795505050505050565b60408051808201909152600080825260208201527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161337189613d4f565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016133a6929190615af6565b6040805180830381865afa1580156133c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e69190615b6f565b95945050505050565b6000546001600160a01b03163314611ad45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611185565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6000306001600160a01b037f0000000000000000000000002c650dab03a59332e2e0c0c4a7f726913e5028c1161480156134f757507f000000000000000000000000000000000000000000000000000000000000a4b146145b1561352157507f7e096f632d306577bc0bf85f02566a2d6a228aa62e6ec18b178f7a01f2b4dd0a90565b6115df604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f6b11ffcb4a2ac68cd6d6fb4c51732d8cb61392d60a10880fdf27b0c4303718b5918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b606080600061362685602001356135df86613f24565b6135ec60a089018961599b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613fe592505050565b909350905060008161363957600161363c565b60025b905061365c61364e60208801886151e1565b82610e8660808a018a61599b565b6004549093506001600160a01b0316156136fd57600480546040517f043a78eb0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163043a78eb916136ba918891889101615ad1565b602060405180830381865afa1580156136d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136fb9190615a17565b505b50509250929050565b6001600160a01b03821661375c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401611185565b806007600082825461376e91906157e4565b90915550506001600160a01b0382166000818152600560209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060ff83146138315761382a83614070565b9050611304565b81805461383d90615711565b80601f016020809104026020016040519081016040528092919081815260200182805461386990615711565b80156138b65780601f1061388b576101008083540402835291602001916138b6565b820191906000526020600020905b81548152906001019060200180831161389957829003601f168201915b50505050509050611304565b60007f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613922573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115df9190615b8b565b6000670de0b6b3a7640000661f438daa0600006014546139669190615ba8565b6115df9190615aaf565b60005b8151811015613a47576139a28282815181106139915761399161596e565b602002602001015160400151613abf565b8181815181106139b4576139b461596e565b602002602001015160400151600360008484815181106139d6576139d661596e565b60200260200101516000015163ffffffff1663ffffffff1681526020019081526020016000206000848481518110613a1057613a1061596e565b60200260200101516020015161ffff1661ffff1681526020019081526020016000209081613a3e9190615c0f565b50600101613973565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051611ab79190615ccf565b6000611304613a8461349e565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600281015161ffff81166003146115d157816040517f9a6d49cd0000000000000000000000000000000000000000000000000000000081526004016111859190614a37565b613b0c612b9b565b6013805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613b413390565b6040516001600160a01b03909116815260200160405180910390a1565b613b666140af565b6013805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33613b41565b60007f000000000000000000000000000000000000000000000000000000e8d4a51000613bc48184615aaf565b6113049190615ba8565b600080613bdc858585612d82565b9092509050613beb8683613074565b94509492505050565b613bfc614816565b6000613c0b8460000151614101565b602085015190915015613c2557613c258460200151614146565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b0316632637a450826040518060a001604052808b63ffffffff168152602001613c758c613d4f565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401613cb1929190615af6565b60806040518083038185885af1158015613ccf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613cf49190615d5a565b979650505050505050565b6001600160a01b03811660009081526011602052604090208054600181018255905b50919050565b6000806000613d3887878787614241565b91509150613d4581614302565b5095945050505050565b63ffffffff811660009081526001602052604081205480611304576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401611185565b6000613db6613db38787614467565b90565b90506000613de282613dd0613dcb8a8a61447f565b6144a2565b613ddd60208d018d6151e1565b6144d8565b90506028861115613ec2576000613e1f613e0260608c0160408d01615d76565b613e0f60208d018d6151e1565b84613e1a8c8c6144ec565b614537565b6040517f7cb590120000000000000000000000000000000000000000000000000000000081529091506001600160a01b037f0000000000000000000000001a44076050125825900e736c501f859c50fe728c1690637cb5901290613e8e9086908d906000908790600401615d93565b600060405180830381600087803b158015613ea857600080fd5b505af1158015613ebc573d6000803e3d6000fd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c613efb60208d018d6151e1565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b60006113047f000000000000000000000000000000000000000000000000000000e8d4a5100083615aaf565b8051606090151580613faa578484604051602001613f9692919091825260c01b77ffffffffffffffffffffffffffffffffffffffffffffffff1916602082015260280190565b604051602081830303815290604052613fda565b84846001600160a01b03881685604051602001613fca9493929190615dc5565b6040516020818303038152906040525b915094509492505050565b805160609015158061403f57848460405160200161402b92919091825260c01b77ffffffffffffffffffffffffffffffffffffffffffffffff1916602082015260280190565b604051602081830303815290604052614066565b848433856040516020016140569493929190615dc5565b6040516020818303038152906040525b9150935093915050565b6060600061407d83614569565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60135460ff16611ad45760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401611185565b60008134101561413f576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401611185565b5034919050565b60007f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa1580156141a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141ca9190615e17565b90506001600160a01b03811661420c576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115d16001600160a01b038216337f0000000000000000000000001a44076050125825900e736c501f859c50fe728c856145aa565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156142785750600090506003613beb565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156142cc573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166142f557600060019250925050613beb565b9660009650945050505050565b60008160048111156143165761431661485e565b0361431e5750565b60018160048111156143325761433261485e565b0361437f5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401611185565b60028160048111156143935761439361485e565b036143e05760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401611185565b60038160048111156143f4576143f461485e565b036124385760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401611185565b60006144766020828486615908565b6114fb91615e34565b600061448f602860208486615908565b61449891615e52565b60c01c9392505050565b60006113047f000000000000000000000000000000000000000000000000000000e8d4a5100067ffffffffffffffff8416615ba8565b60006144e48484613706565b509092915050565b60606144fb8260288186615908565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b6060848484846040516020016145509493929190615e93565b6040516020818303038152906040529050949350505050565b600060ff8216601f811115611304576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516001600160a01b038581166024830152848116604483015260648083018590528351808403909101815260849092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152612e7a92879291600091614670918516908490614703565b90508051600014806146915750808060200190518101906146919190615a17565b6131d75760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611185565b6060611a5d848460008585600080866001600160a01b0316858760405161472a91906153ba565b60006040518083038185875af1925050503d8060008114614767576040519150601f19603f3d011682016040523d82523d6000602084013e61476c565b606091505b5091509150613cf487838387606083156147e75782516000036147e0576001600160a01b0385163b6147e05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611185565b5081611a5d565b611a5d83838151156147fc5781518083602001fd5b8060405162461bcd60e51b81526004016111859190614a37565b604051806060016040528060008019168152602001600067ffffffffffffffff168152602001614859604051806040016040528060008152602001600081525090565b905290565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038116811461243857600080fd5b803561489481614874565b919050565b600060a08284031215613d2157600080fd5b60008083601f8401126148bd57600080fd5b50813567ffffffffffffffff8111156148d557600080fd5b6020830191508360208285010111156148ed57600080fd5b9250929050565b6000806000806060858703121561490a57600080fd5b843561491581614874565b9350602085013567ffffffffffffffff8082111561493257600080fd5b61493e88838901614899565b9450604087013591508082111561495457600080fd5b50614961878288016148ab565b95989497509550505050565b8051825267ffffffffffffffff602082015116602083015260408101516131d7604084018280518252602090810151910152565b60005b838110156149bc5781810151838201526020016149a4565b50506000910152565b600081518084526149dd8160208601602086016149a1565b601f01601f19169290920160200192915050565b6000610100614a00838861496d565b85516080840152602086015160a08401528060c0840152614a23818401866149c5565b905082810360e0840152613cf481856149c5565b6020815260006114fb60208301846149c5565b60008060408385031215614a5d57600080fd5b8235614a6881614874565b946020939093013593505050565b600060208284031215614a8857600080fd5b5035919050565b600060e08284031215613d2157600080fd5b600060208284031215614ab357600080fd5b813567ffffffffffffffff811115614aca57600080fd5b611a5d84828501614a8f565b8351815260208085015190820152600060a08201604060a0604085015281865180845260c08601915060c08160051b8701019350602080890160005b83811015614b515788870360bf19018552815180518852830151838801879052614b3e878901826149c5565b9750509382019390820190600101614b12565b50508751606088015250505060208501516080850152509050611a5d565b600060608284031215613d2157600080fd5b600080600080600080600060e0888a031215614b9c57600080fd5b614ba68989614b6f565b965060608801359550608088013567ffffffffffffffff80821115614bca57600080fd5b614bd68b838c016148ab565b909750955060a08a01359150614beb82614874565b90935060c08901359080821115614c0157600080fd5b50614c0e8a828b016148ab565b989b979a50959850939692959293505050565b600080600060608486031215614c3657600080fd5b8335614c4181614874565b92506020840135614c5181614874565b929592945050506040919091013590565b801515811461243857600080fd5b60008060008060008060008060a0898b031215614c8c57600080fd5b883567ffffffffffffffff80821115614ca457600080fd5b614cb08c838d01614a8f565b995060208b0135915080821115614cc657600080fd5b614cd28c838d016148ab565b909950975060408b01359150614ce782614c62565b90955060608a01359080821115614cfd57600080fd5b614d098c838d016148ab565b909650945060808b0135915080821115614d2257600080fd5b50614d2f8b828c016148ab565b999c989b5096995094979396929594505050565b815181526020808301519082015260408101611304565b63ffffffff8116811461243857600080fd5b60008060408385031215614d7f57600080fd5b8235614a6881614d5a565b60008060408385031215614d9d57600080fd5b823567ffffffffffffffff811115614db457600080fd5b614dc085828601614a8f565b9250506020830135614dd181614c62565b809150509250929050565b600060208284031215614dee57600080fd5b81356114fb81614874565b803561ffff8116811461489457600080fd5b60008060408385031215614e1e57600080fd5b8235614e2981614d5a565b9150614e3760208401614df9565b90509250929050565b600080600060408486031215614e5557600080fd5b833567ffffffffffffffff80821115614e6d57600080fd5b614e7987838801614899565b94506020860135915080821115614e8f57600080fd5b50614e9c868287016148ab565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715614ee257614ee2614ea9565b60405290565b6040516060810167ffffffffffffffff81118282101715614ee257614ee2614ea9565b604051601f8201601f1916810167ffffffffffffffff81118282101715614f3457614f34614ea9565b604052919050565b600067ffffffffffffffff821115614f5657614f56614ea9565b50601f01601f191660200190565b600082601f830112614f7557600080fd5b8135614f88614f8382614f3c565b614f0b565b818152846020838601011115614f9d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614fcf57600080fd5b833560038110614fde57600080fd5b9250602084013567ffffffffffffffff811115614ffa57600080fd5b61500686828701614f64565b925050604084013561501781614c62565b809150509250925092565b60008060008060a0858703121561503857600080fd5b6150428686614b6f565b9350606085013567ffffffffffffffff81111561505e57600080fd5b61506a878288016148ab565b909450925050608085013561507e81614874565b939692955090935050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e060208401526150c660e084018a6149c5565b83810360408501526150d8818a6149c5565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b8181101561512c57835183529284019291840191600101615110565b50909c9b505050505050505050505050565b60008083601f84011261515057600080fd5b50813567ffffffffffffffff81111561516857600080fd5b6020830191508360208260051b85010111156148ed57600080fd5b6000806020838503121561519657600080fd5b823567ffffffffffffffff8111156151ad57600080fd5b6151b98582860161513e565b90969095509350505050565b600060a082840312156151d757600080fd5b6114fb8383614899565b6000602082840312156151f357600080fd5b81356114fb81614d5a565b6000806000806060858703121561521457600080fd5b843561521f81614d5a565b935061522d60208601614df9565b9250604085013567ffffffffffffffff81111561524957600080fd5b614961878288016148ab565b60006020828403121561526757600080fd5b81356114fb81614c62565b6000806000838503608081121561528857600080fd5b843567ffffffffffffffff81111561529f57600080fd5b6152ab87828801614a8f565b9450506040601f19820112156152c057600080fd5b50602084019150606084013561501781614874565b60c081016152e3828561496d565b82516080830152602083015160a08301526114fb565b600080600080600080600060e0888a03121561531457600080fd5b873561531f81614874565b9650602088013561532f81614874565b95506040880135945060608801359350608088013560ff8116811461535357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561538357600080fd5b823561538e81614874565b91506020830135614dd181614874565b6000606082840312156153b057600080fd5b6114fb8383614b6f565b600082516153cc8184602087016149a1565b9190910192915050565b6000808335601e198436030181126153ed57600080fd5b830160208101925035905067ffffffffffffffff81111561540d57600080fd5b8036038213156148ed57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000813560de1983360301811261545b57600080fd5b60a084528201803561546c81614d5a565b63ffffffff1660a0850152602081013560c0850152604081013560e085015260608101356101008501526154a360808201826153d6565b60e06101208701526154ba6101808701828461541c565b9150506154ca60a08301836153d6565b609f1980888503016101408901526154e384838561541c565b93506154f260c08601866153d6565b955092508088850301610160890152505061550e82848361541c565b9250505061552c602085016020850180358252602090810135910152565b61553960608401846153d6565b858303606087015261554c83828461541c565b9250505061555c60808401614889565b6001600160a01b0381166080860152509392505050565b6001600160a01b03851681526060602082015260006155956060830186615445565b8281036040840152613cf481858761541c565b67ffffffffffffffff8116811461243857600080fd5b6000604082840312156155d057600080fd5b6155d8614ebf565b9050815181526020820151602082015292915050565b60006080828403121561560057600080fd5b615608614ee8565b905081518152602082015161561c816155a8565b602082015261562e83604084016155be565b604082015292915050565b6000615647614f8384614f3c565b905082815283838301111561565b57600080fd5b6114fb8360208301846149a1565b600082601f83011261567a57600080fd5b6114fb83835160208501615639565b60008060008061010085870312156156a057600080fd5b6156aa86866155ee565b93506156b986608087016155be565b925060c085015167ffffffffffffffff808211156156d657600080fd5b6156e288838901615669565b935060e08701519150808211156156f857600080fd5b5061570587828801615669565b91505092959194509250565b600181811c9082168061572557607f821691505b602082108103613d2157634e487b7160e01b600052602260045260246000fd5b6000883561575281614d5a565b63ffffffff168252602089810135908301526040890135615772816155a8565b67ffffffffffffffff811660408401525087606083015260e0608083015261579e60e08301878961541c565b6001600160a01b03861660a084015282810360c08401526157c081858761541c565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611304576113046157ce565b81810381811115611304576113046157ce565b60408152600061581d6040830186615445565b828103602084015261168081858761541c565b600067ffffffffffffffff8084111561584b5761584b614ea9565b8360051b602061585c818301614f0b565b86815291850191818101903684111561587457600080fd5b865b848110156158fc5780358681111561588e5760008081fd5b880160603682900312156158a25760008081fd5b6158aa614ee8565b81356158b581614d5a565b81526158c2828701614df9565b86820152604080830135898111156158da5760008081fd5b6158e636828601614f64565b9183019190915250845250918301918301615876565b50979650505050505050565b6000808585111561591857600080fd5b8386111561592557600080fd5b5050820193919092039150565b600084516159448184602089016149a1565b8201838582376000930192835250909392505050565b602081526000611a5d60208301848661541c565b634e487b7160e01b600052603260045260246000fd5b6000823561013e198336030181126153cc57600080fd5b6000808335601e198436030181126159b257600080fd5b83018035915067ffffffffffffffff8211156159cd57600080fd5b6020019150368190038213156148ed57600080fd5b6000602082840312156159f457600080fd5b815167ffffffffffffffff811115615a0b57600080fd5b611a5d84828501615669565b600060208284031215615a2957600080fd5b81516114fb81614c62565b600060408284031215615a4657600080fd5b615a4e614ebf565b82358152602083013560208201528091505092915050565b600060208284031215615a7857600080fd5b815167ffffffffffffffff811115615a8f57600080fd5b8201601f81018413615aa057600080fd5b611a5d84825160208401615639565b600082615acc57634e487b7160e01b600052601260045260246000fd5b500490565b604081526000615ae460408301856149c5565b82810360208401526133e681856149c5565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a06080840152615b2c60e08401826149c5565b90506060850151603f198483030160a0850152615b4982826149c5565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b600060408284031215615b8157600080fd5b6114fb83836155be565b600060208284031215615b9d57600080fd5b81516114fb81614d5a565b8082028115828204841417611304576113046157ce565b601f8211156131d7576000816000526020600020601f850160051c81016020861015615be85750805b601f850160051c820191505b81811015615c0757828155600101615bf4565b505050505050565b815167ffffffffffffffff811115615c2957615c29614ea9565b615c3d81615c378454615711565b84615bbf565b602080601f831160018114615c725760008415615c5a5750858301515b600019600386901b1c1916600185901b178555615c07565b600085815260208120601f198616915b82811015615ca157888601518255948401946001909101908401615c82565b5085821015615cbf5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015615d4c57888303603f190185528151805163ffffffff1684528781015161ffff16888501528601516060878501819052615d38818601836149c5565b968901969450505090860190600101615cf8565b509098975050505050505050565b600060808284031215615d6c57600080fd5b6114fb83836155ee565b600060208284031215615d8857600080fd5b81356114fb816155a8565b6001600160a01b038516815283602082015261ffff8316604082015260806060820152600061168060808301846149c5565b84815277ffffffffffffffffffffffffffffffffffffffffffffffff198460c01b16602082015282602882015260008251615e078160488501602087016149a1565b9190910160480195945050505050565b600060208284031215615e2957600080fd5b81516114fb81614874565b8035602083101561130457600019602084900360031b1b1692915050565b77ffffffffffffffffffffffffffffffffffffffffffffffff198135818116916008851015615e8b5780818660080360031b1b83161692505b505092915050565b77ffffffffffffffffffffffffffffffffffffffffffffffff198560c01b1681527fffffffff000000000000000000000000000000000000000000000000000000008460e01b16600882015282600c82015260008251615efa81602c8501602087016149a1565b91909101602c019594505050505056fea2646970667358221220df5ec048756577dec197e912d6fd03ab70059bef80e3761c7c201961620acc8964736f6c63430008160033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000093a800000000000000000000000001a44076050125825900e736c501f859c50fe728c0000000000000000000000002997c5ddd3070a46e9938261ce0a16a237121cb0000000000000000000000000a4a0e4454526debf76a6f3e8431fd5e8540a61a60000000000000000000000006f73a287611526d57112ad26ec396d86be65e10400000000000000000000000000bebf0fa54d8e67914be964a7fa20130822a88d0000000000000000000000007a3b760acfab78f6bc6a1ad80f7743f5ba0513dc000000000000000000000000cf2e155eaa30706ff245679838006e6e092dd8b5000000000000000000000000000000000000000000000000000000000000759e000000000000000000000000302e912826211b72222cdbaa684426dc61f7fded000000000000000000000000061568f7b51a7fda11cc4184afa3c08eb2cef9c20000000000000000000000000caf0ecc1d2085c98bb860368d2e29192a1468b3000000000000000000000000b2866155eead31c6d311b003d15af371a30c3c8a0000000000000000000000006668de259da9ec896f51383f6ca3bd0beed10ef9000000000000000000000000e6d4944556a8c6605269528353c3cc35eeff1313
-----Decoded View---------------
Arg [0] : _data (tuple):
Arg [1] : epochDuration (uint256): 604800
Arg [2] : endpoint (address): 0x1a44076050125825900e736c501f859c50fE728c
Arg [3] : contributors (address): 0x2997C5ddD3070A46E9938261ce0A16a237121cb0
Arg [4] : earlySupporters (address): 0xa4a0e4454526debf76A6F3e8431fD5E8540a61a6
Arg [5] : supporters (address): 0x6F73A287611526d57112Ad26eC396D86Be65e104
Arg [6] : lTap (address): 0x00BeBF0fA54D8e67914Be964a7FA20130822a88d
Arg [7] : dao (address): 0x7A3B760AcFaB78f6bc6a1AD80F7743f5bA0513Dc
Arg [8] : airdrop (address): 0xCf2e155eAA30706ff245679838006e6E092DD8b5
Arg [9] : governanceEid (uint256): 30110
Arg [10] : owner (address): 0x302E912826211b72222cDbaa684426Dc61F7fDED
Arg [11] : tapTokenSenderModule (address): 0x061568f7b51A7fDa11cc4184AFA3c08EB2cef9c2
Arg [12] : tapTokenReceiverModule (address): 0x0cAF0ECc1D2085c98bB860368D2E29192a1468B3
Arg [13] : extExec (address): 0xB2866155eEad31C6d311b003d15Af371a30C3C8a
Arg [14] : pearlmit (address): 0x6668DE259da9EC896f51383f6CA3BD0beEd10EF9
Arg [15] : cluster (address): 0xe6d4944556a8c6605269528353C3cc35eEFf1313
-----Encoded View---------------
15 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000093a80
Arg [1] : 0000000000000000000000001a44076050125825900e736c501f859c50fe728c
Arg [2] : 0000000000000000000000002997c5ddd3070a46e9938261ce0a16a237121cb0
Arg [3] : 000000000000000000000000a4a0e4454526debf76a6f3e8431fd5e8540a61a6
Arg [4] : 0000000000000000000000006f73a287611526d57112ad26ec396d86be65e104
Arg [5] : 00000000000000000000000000bebf0fa54d8e67914be964a7fa20130822a88d
Arg [6] : 0000000000000000000000007a3b760acfab78f6bc6a1ad80f7743f5ba0513dc
Arg [7] : 000000000000000000000000cf2e155eaa30706ff245679838006e6e092dd8b5
Arg [8] : 000000000000000000000000000000000000000000000000000000000000759e
Arg [9] : 000000000000000000000000302e912826211b72222cdbaa684426dc61f7fded
Arg [10] : 000000000000000000000000061568f7b51a7fda11cc4184afa3c08eb2cef9c2
Arg [11] : 0000000000000000000000000caf0ecc1d2085c98bb860368d2e29192a1468b3
Arg [12] : 000000000000000000000000b2866155eead31c6d311b003d15af371a30c3c8a
Arg [13] : 0000000000000000000000006668de259da9ec896f51383f6ca3bd0beed10ef9
Arg [14] : 000000000000000000000000e6d4944556a8c6605269528353c3cc35eeff1313
🤖 Code Reader Beta
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)