ETH Price: $1,717.51 (+2.22%)

Token

River (RIVER)
 

Overview

Max Total Supply

57,706,448.568299 RIVER

Holders

3,668 (0.00%)

Transfers

-
80 ( 40.35%)

Market

Price

$4.77 @ 0.002777 ETH (+0.72%)

Onchain Market Cap

$275,259,759.67

Circulating Supply Market Cap

$93,635,786.00

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

River is building the first chain-abstraction stablecoin system that connects assets, liquidity, and yield across ecosystems.

Market

Volume (24H):$5,158,905.00
Market Capitalization:$93,635,786.00
Circulating Supply:19,600,000.00 RIVER
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume
Source Code Verified Exact Match

Contract Name

River

Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled
Yes with 200 runs
Other Settings
cancun EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_lzEndpoint","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"bool","name":"_isNativeChain","type":"bool"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"amountSD","type":"uint256"}],"name":"AmountSDOverflowed","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[],"name":"InvalidArrayLength","type":"error"},{"inputs":[],"name":"InvalidChain","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":"InvalidTotalAmount","type":"error"},{"inputs":[],"name":"IsInitialized","type":"error"},{"inputs":[],"name":"LzTokenUnavailable","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"NoPeer","type":"error"},{"inputs":[{"internalType":"uint256","name":"msgValue","type":"uint256"}],"name":"NotEnoughNative","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"OnlyEndpoint","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":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","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":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroAmount","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":[{"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":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":"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"},{"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":"value","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":"view","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":"address[]","name":"_recipients","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"initialize","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":[],"name":"isNativeChain","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":[],"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":[],"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":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"peers","outputs":[{"internalType":"bytes32","name":"peer","type":"bytes32"}],"stateMutability":"view","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":[],"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":[{"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":"_msgInspector","type":"address"}],"name":"setMsgInspector","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":[],"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":"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":"value","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":"value","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"}]
60c060405234801561000f575f80fd5b5060405161392238038061392283398101604081905261002e91610299565b84848484838360128484818181818e6001600160a01b03811661006a57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100738161018d565b506001600160a01b0380831660805281166100a157604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e1906024015f604051808303815f87803b1580156100e5575f80fd5b505af11580156100f7573d5f803e3d5ffd5b505050505050505061010d6101dc60201b60201c565b60ff168360ff161015610133576040516301e9714b60e41b815260040160405180910390fd5b61013e60068461034a565b61014990600a61044c565b60a052506008915061015d905083826104e5565b50600961016a82826104e5565b5050600a805460ff1916961515969096179095555061059f975050505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600690565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610204575f80fd5b81516001600160401b0381111561021d5761021d6101e1565b604051601f8201601f19908116603f011681016001600160401b038111828210171561024b5761024b6101e1565b604052818152838201602001851015610262575f80fd5b8160208501602083015e5f918101602001919091529392505050565b80516001600160a01b0381168114610294575f80fd5b919050565b5f805f805f60a086880312156102ad575f80fd5b85516001600160401b038111156102c2575f80fd5b6102ce888289016101f5565b602088015190965090506001600160401b038111156102eb575f80fd5b6102f7888289016101f5565b9450506103066040870161027e565b92506103146060870161027e565b915060808601518015158114610328575f80fd5b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b60ff828116828216039081111561036357610363610336565b92915050565b6001815b60018411156103a45780850481111561038857610388610336565b600184161561039657908102905b60019390931c92800261036d565b935093915050565b5f826103ba57506001610363565b816103c657505f610363565b81600181146103dc57600281146103e657610402565b6001915050610363565b60ff8411156103f7576103f7610336565b50506001821b610363565b5060208310610133831016604e8410600b8410161715610425575081810a610363565b6104315f198484610369565b805f190482111561044457610444610336565b029392505050565b5f61045a60ff8416836103ac565b9392505050565b600181811c9082168061047557607f821691505b60208210810361049357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104e057805f5260205f20601f840160051c810160208510156104be5750805b601f840160051c820191505b818110156104dd575f81556001016104ca565b50505b505050565b81516001600160401b038111156104fe576104fe6101e1565b6105128161050c8454610461565b84610499565b6020601f821160018114610544575f831561052d5750848201515b5f19600385901b1c1916600184901b1784556104dd565b5f84815260208120601f198516915b828110156105735787850151825560209485019460019092019101610553565b508482101561059057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05161331c6106065f395f818161064501528181611c7b01528181611ced0152611eeb01525f81816104d801528181610a5801528181611273015281816114dd015281816118350152818161200d0152818161214001526121f5015261331c5ff3fe60806040526004361061025f575f3560e01c80637fbbe46f1161013f578063bb0b6a53116100b3578063d045a0dc11610078578063d045a0dc14610773578063d424388514610786578063dd62ed3e146107a5578063f2fde38b146107e9578063fc0c546a14610461578063ff7bd03d14610808575f80fd5b8063bb0b6a53146106d6578063bc70b35414610701578063bd815db014610720578063c7c7f5b314610733578063ca5eb5e114610754575f80fd5b806395d89b411161010457806395d89b4114610620578063963efcaa146106345780639f68b96414610667578063a9059cbb14610679578063b731ea0a14610698578063b98bd070146106b7575f80fd5b80637fbbe46f1461059a57806382413eac146105b9578063857749b0146105d857806386eb5038146105eb5780638da5cb5b14610604575f80fd5b8063313ce567116101d65780635a0dfe4d1161019b5780635a0dfe4d146104925780635e280f11146104c75780636fc1b31e146104fa57806370a0823114610519578063715018a61461054d5780637d25a05e14610561575f80fd5b8063313ce567146103f55780633400288b146104165780633b6f743b1461043557806352ae2879146104615780635535d46114610473575f80fd5b8063134d4f2511610227578063134d4f2514610336578063156a0d0f1461035d57806317442b701461038357806318160ddd146103a45780631f5e1334146103c257806323b872dd146103d6575f80fd5b806306fdde0314610263578063095ea7b31461028d5780630d35b415146102bc578063111ecdad146102ea57806313137d6514610321575b5f80fd5b34801561026e575f80fd5b50610277610827565b6040516102849190612344565b60405180910390f35b348015610298575f80fd5b506102ac6102a736600461236a565b6108b7565b6040519015158152602001610284565b3480156102c7575f80fd5b506102db6102d63660046123aa565b6108d0565b604051610284939291906123db565b3480156102f5575f80fd5b50600454610309906001600160a01b031681565b6040516001600160a01b039091168152602001610284565b61033461032f3660046124ca565b610a56565b005b348015610341575f80fd5b5061034a600281565b60405161ffff9091168152602001610284565b348015610368575f80fd5b506040805162b9270b60e21b81526001602082015201610284565b34801561038e575f80fd5b5060408051600181526002602082015201610284565b3480156103af575f80fd5b506007545b604051908152602001610284565b3480156103cd575f80fd5b5061034a600181565b3480156103e1575f80fd5b506102ac6103f0366004612564565b610b16565b348015610400575f80fd5b5060125b60405160ff9091168152602001610284565b348015610421575f80fd5b506103346104303660046125ba565b610b3b565b348015610440575f80fd5b5061045461044f3660046125e1565b610b51565b604051610284919061262f565b34801561046c575f80fd5b5030610309565b34801561047e575f80fd5b5061027761048d366004612657565b610bb5565b34801561049d575f80fd5b506102ac6104ac3660046125ba565b63ffffffff919091165f908152600160205260409020541490565b3480156104d2575f80fd5b506103097f000000000000000000000000000000000000000000000000000000000000000081565b348015610505575f80fd5b50610334610514366004612688565b610c57565b348015610524575f80fd5b506103b4610533366004612688565b6001600160a01b03165f9081526005602052604090205490565b348015610558575f80fd5b50610334610cb4565b34801561056c575f80fd5b5061058261057b3660046125ba565b5f92915050565b6040516001600160401b039091168152602001610284565b3480156105a5575f80fd5b506103346105b43660046127bd565b610cc7565b3480156105c4575f80fd5b506102ac6105d3366004612880565b610ead565b3480156105e3575f80fd5b506006610404565b3480156105f6575f80fd5b50600a546102ac9060ff1681565b34801561060f575f80fd5b505f546001600160a01b0316610309565b34801561062b575f80fd5b50610277610ec2565b34801561063f575f80fd5b506103b47f000000000000000000000000000000000000000000000000000000000000000081565b348015610672575f80fd5b505f6102ac565b348015610684575f80fd5b506102ac61069336600461236a565b610ed1565b3480156106a3575f80fd5b50600254610309906001600160a01b031681565b3480156106c2575f80fd5b506103346106d1366004612922565b610ede565b3480156106e1575f80fd5b506103b46106f0366004612960565b60016020525f908152604090205481565b34801561070c575f80fd5b5061027761071b366004612979565b610ef8565b61033461072e366004612922565b611099565b6107466107413660046129d5565b611219565b604051610284929190612a3d565b34801561075f575f80fd5b5061033461076e366004612688565b61124c565b6103346107813660046124ca565b6112cd565b348015610791575f80fd5b506103346107a0366004612688565b6112fc565b3480156107b0575f80fd5b506103b46107bf366004612a8e565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107f4575f80fd5b50610334610803366004612688565b611352565b348015610813575f80fd5b506102ac610822366004612aba565b61138f565b60606008805461083690612ad4565b80601f016020809104026020016040519081016040528092919081815260200182805461086290612ad4565b80156108ad5780601f10610884576101008083540402835291602001916108ad565b820191905f5260205f20905b81548152906001019060200180831161089057829003601f168201915b5050505050905090565b5f336108c48185856113c3565b60019150505b92915050565b604080518082019091525f8082526020820152606061090060405180604001604052805f81526020015f81525090565b5f80306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109629190612b06565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561099d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c19190612b21565b604080518082018252848152602080820184905282515f80825291810190935290975091925090610a14565b604080518082019091525f8152606060208201528152602001906001900390816109ed5790505b5093505f80610a38604089013560608a0135610a3360208c018c612960565b6113d5565b60408051808201909152918252602082015296989597505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610aa6576040516391ac5e4f60e01b81523360048201526024015b60405180910390fd5b60208701803590610ac090610abb908a612960565b611410565b14610afe57610ad26020880188612960565b60405163309afaf360e21b815263ffffffff909116600482015260208801356024820152604401610a9d565b610b0d8787878787878761144b565b50505050505050565b5f33610b238582856115a9565b610b2e858585611625565b60019150505b9392505050565b610b43611682565b610b4d82826116ae565b5050565b604080518082019091525f80825260208201525f610b7f60408501356060860135610a336020880188612960565b9150505f80610b8e8684611702565b9092509050610bab610ba36020880188612960565b838388611820565b9695505050505050565b600360209081525f928352604080842090915290825290208054610bd890612ad4565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0490612ad4565b8015610c4f5780601f10610c2657610100808354040283529160200191610c4f565b820191905f5260205f20905b815481529060010190602001808311610c3257829003601f168201915b505050505081565b610c5f611682565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b610cbc611682565b610cc55f6118fe565b565b610ccf611682565b600a5460ff16610cf25760405163057f3fa760e51b815260040160405180910390fd5b600a54610100900460ff1615610d1b57604051634acbad9560e11b815260040160405180910390fd5b8051825114610d3d57604051634ec4810560e11b815260040160405180910390fd5b81515f03610d5e57604051634ec4810560e11b815260040160405180910390fd5b5f805b8351811015610e1d575f6001600160a01b0316848281518110610d8657610d86612b38565b60200260200101516001600160a01b031603610db55760405163d92e233d60e01b815260040160405180910390fd5b828181518110610dc757610dc7612b38565b60200260200101515f03610dee57604051631f2a200560e01b815260040160405180910390fd5b828181518110610e0057610e00612b38565b602002602001015182610e139190612b60565b9150600101610d61565b506a52b7d2dcc80cd2e40000008114610e49576040516324204a3560e21b815260040160405180910390fd5b5f5b8351811015610e9857610e90848281518110610e6957610e69612b38565b6020026020010151848381518110610e8357610e83612b38565b602002602001015161194d565b600101610e4b565b5050600a805461ff0019166101001790555050565b6001600160a01b03811630145b949350505050565b60606009805461083690612ad4565b5f336108c4818585611625565b610ee6611682565b610b4d610ef38284612b99565b611981565b63ffffffff84165f90815260036020908152604080832061ffff87168452909152812080546060929190610f2b90612ad4565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5790612ad4565b8015610fa25780601f10610f7957610100808354040283529160200191610fa2565b820191905f5260205f20905b815481529060010190602001808311610f8557829003601f168201915b5050505050905080515f03610ff05783838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929450610eba9350505050565b5f839003610fff579050610eba565b6002831061107c5761104584848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611a8292505050565b806110538460028188612c9e565b60405160200161106593929190612cdc565b604051602081830303815290604052915050610eba565b8383604051639a6d49cd60e01b8152600401610a9d929190612d22565b5f5b8181101561119c57368383838181106110b6576110b6612b38565b90506020028101906110c89190612d35565b90506110fa6110da6020830183612960565b602083013563ffffffff919091165f908152600160205260409020541490565b6111045750611194565b3063d045a0dc60c08301358360a0810135611123610100830183612d54565b611134610100890160e08a01612688565b6111426101208a018a612d54565b6040518963ffffffff1660e01b81526004016111649796959493929190612daa565b5f604051808303818588803b15801561117b575f80fd5b505af115801561118d573d5f803e3d5ffd5b5050505050505b60010161109b565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b81526004015f60405180830381865afa1580156111d8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111ff9190810190612e2f565b604051638351eea760e01b8152600401610a9d9190612344565b6112216122d3565b604080518082019091525f808252602082015261123f858585611aae565b915091505b935093915050565b611254611682565b60405163ca5eb5e160e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e1906024015f604051808303815f87803b1580156112b4575f80fd5b505af11580156112c6573d5f803e3d5ffd5b5050505050565b3330146112ed5760405163029a949d60e31b815260040160405180910390fd5b610b0d87878787878787610afe565b611304611682565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001610ca9565b61135a611682565b6001600160a01b03811661138357604051631e4fbdf760e01b81525f6004820152602401610a9d565b61138c816118fe565b50565b5f6020820180359060019083906113a69086612960565b63ffffffff16815260208101919091526040015f20541492915050565b6113d08383836001611ba6565b505050565b5f806113e085611c78565b915081905083811015611244576040516371c4efed60e01b81526004810182905260248101859052604401610a9d565b63ffffffff81165f90815260016020526040812054806108ca5760405163f6ff4fb760e01b815263ffffffff84166004820152602401610a9d565b5f61145c6114598787611cae565b90565b90505f611487826114756114708a8a611cc5565b611ce7565b61148260208d018d612960565b611d1b565b90506028861115611547575f6114c36114a660608c0160408d01612ea3565b6114b360208d018d612960565b846114be8c8c611d42565b611d8c565b604051633e5ac80960e11b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906115189086908d905f908790600401612ebe565b5f604051808303815f87803b15801561152f575f80fd5b505af1158015611541573d5f803e3d5ffd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61158060208d018d612960565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b6001600160a01b038381165f908152600660209081526040808320938616835292905220545f1981101561161f578181101561161157604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610a9d565b61161f84848484035f611ba6565b50505050565b6001600160a01b03831661164e57604051634b637e8f60e11b81525f6004820152602401610a9d565b6001600160a01b0382166116775760405163ec442f0560e01b81525f6004820152602401610a9d565b6113d0838383611dbe565b5f546001600160a01b03163314610cc55760405163118cdaa760e01b8152336004820152602401610a9d565b63ffffffff82165f81815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6060805f61175d856020013561171786611ee4565b61172460a0890189612d54565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611f3d92505050565b90935090505f8161176f576001611772565b60025b90506117926117846020880188612960565b8261071b60808a018a612d54565b6004549093506001600160a01b031680156118165760405163043a78eb60e01b81526001600160a01b0382169063043a78eb906117d59088908890600401612eee565b602060405180830381865afa1580156117f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118149190612f12565b505b5050509250929050565b604080518082019091525f80825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161188289611410565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016118b7929190612f2d565b6040805180830381865afa1580156118d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f59190612fd4565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166119765760405163ec442f0560e01b81525f6004820152602401610a9d565b610b4d5f8383611dbe565b5f5b8151811015611a52576119b28282815181106119a1576119a1612b38565b602002602001015160400151611a82565b8181815181106119c4576119c4612b38565b60200260200101516040015160035f8484815181106119e5576119e5612b38565b60200260200101515f015163ffffffff1663ffffffff1681526020019081526020015f205f848481518110611a1c57611a1c612b38565b60200260200101516020015161ffff1661ffff1681526020019081526020015f209081611a499190613032565b50600101611983565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051610ca991906130ec565b600281015161ffff8116600314610b4d5781604051639a6d49cd60e01b8152600401610a9d9190612344565b611ab66122d3565b604080518082019091525f80825260208201525f80611aeb33604089013560608a0135611ae660208c018c612960565b611fb7565b915091505f80611afb8984611702565b9092509050611b27611b1060208b018b612960565b8383611b21368d90038d018d61317a565b8b611fdc565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90611b75908d018d612960565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b6001600160a01b038416611bcf5760405163e602df0560e01b81525f6004820152602401610a9d565b6001600160a01b038316611bf857604051634a1406b160e11b81525f6004820152602401610a9d565b6001600160a01b038085165f908152600660209081526040808320938716835292905220829055801561161f57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611c6a91815260200190565b60405180910390a350505050565b5f7f0000000000000000000000000000000000000000000000000000000000000000611ca481846131ab565b6108ca91906131ca565b5f611cbc6020828486612c9e565b610b34916131e1565b5f611cd4602860208486612c9e565b611cdd916131fe565b60c01c9392505050565b5f6108ca7f00000000000000000000000000000000000000000000000000000000000000006001600160401b0384166131ca565b5f6001600160a01b038416611d305761dead93505b611d3a848461194d565b509092915050565b6060611d518260288186612c9e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929695505050505050565b606084848484604051602001611da59493929190613236565b6040516020818303038152906040529050949350505050565b6001600160a01b038316611de8578060075f828254611ddd9190612b60565b90915550611e589050565b6001600160a01b0383165f9081526005602052604090205481811015611e3a5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610a9d565b6001600160a01b0384165f9081526005602052604090209082900390555b6001600160a01b038216611e7457600780548290039055611e92565b6001600160a01b0382165f9081526005602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ed791815260200190565b60405180910390a3505050565b5f80611f107f0000000000000000000000000000000000000000000000000000000000000000846131ab565b90506001600160401b038111156108ca5760405163e2ce941360e01b815260048101829052602401610a9d565b8051606090151580611f86578484604051602001611f7292919091825260c01b6001600160c01b031916602082015260280190565b604051602081830303815290604052611fad565b84843385604051602001611f9d9493929190613270565b6040516020818303038152906040525b9150935093915050565b5f80611fc48585856113d5565b9092509050611fd386836120e2565b94509492505050565b611fe46122d3565b5f611ff1845f0151612116565b60208501519091501561200b5761200b846020015161213d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff16815260200161205b8c611410565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b8152600401612096929190612f2d565b60806040518083038185885af11580156120b2573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906120d7919061329c565b979650505050505050565b6001600160a01b03821661210b57604051634b637e8f60e11b81525f6004820152602401610a9d565b610b4d825f83611dbe565b5f813414612139576040516304fb820960e51b8152346004820152602401610a9d565b5090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561219a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121be9190612b06565b90506001600160a01b0381166121e7576040516329b99a9560e11b815260040160405180910390fd5b6040805133602482018190527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0381811660448501526064808501889052855180860390910181526084909401909452602080840180516001600160e01b03166323b872dd60e01b1781528451610b4d96881695899361161f9388935f9283929091839182885af180612286576040513d5f823e3d81fd5b50505f513d9150811561229d5780600114156122aa565b6001600160a01b0384163b155b1561161f57604051635274afe760e01b81526001600160a01b0385166004820152602401610a9d565b60405180606001604052805f80191681526020015f6001600160401b0316815260200161231160405180604001604052805f81526020015f81525090565b905290565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610b346020830184612316565b6001600160a01b038116811461138c575f80fd5b5f806040838503121561237b575f80fd5b823561238681612356565b946020939093013593505050565b5f60e082840312156123a4575f80fd5b50919050565b5f602082840312156123ba575f80fd5b81356001600160401b038111156123cf575f80fd5b610eba84828501612394565b83518152602080850151908201525f60a0820160a0604084015280855180835260c08501915060c08160051b8601019250602087015f5b8281101561245a5760bf1987860301845281518051865260208101519050604060208701526124446040870182612316565b9550506020938401939190910190600101612412565b5050855160608601525050602084015160808401529050610eba565b5f606082840312156123a4575f80fd5b5f8083601f840112612496575f80fd5b5081356001600160401b038111156124ac575f80fd5b6020830191508360208285010111156124c3575f80fd5b9250929050565b5f805f805f805f60e0888a0312156124e0575f80fd5b6124ea8989612476565b96506060880135955060808801356001600160401b0381111561250b575f80fd5b6125178a828b01612486565b90965094505060a088013561252b81612356565b925060c08801356001600160401b03811115612545575f80fd5b6125518a828b01612486565b989b979a50959850939692959293505050565b5f805f60608486031215612576575f80fd5b833561258181612356565b9250602084013561259181612356565b929592945050506040919091013590565b803563ffffffff811681146125b5575f80fd5b919050565b5f80604083850312156125cb575f80fd5b612386836125a2565b801515811461138c575f80fd5b5f80604083850312156125f2575f80fd5b82356001600160401b03811115612607575f80fd5b61261385828601612394565b9250506020830135612624816125d4565b809150509250929050565b8151815260208083015190820152604081016108ca565b803561ffff811681146125b5575f80fd5b5f8060408385031215612668575f80fd5b612671836125a2565b915061267f60208401612646565b90509250929050565b5f60208284031215612698575f80fd5b8135610b3481612356565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b03811182821017156126d9576126d96126a3565b60405290565b604080519081016001600160401b03811182821017156126d9576126d96126a3565b604051601f8201601f191681016001600160401b0381118282101715612729576127296126a3565b604052919050565b5f6001600160401b03821115612749576127496126a3565b5060051b60200190565b5f82601f830112612762575f80fd5b813561277561277082612731565b612701565b8082825260208201915060208360051b860101925085831115612796575f80fd5b602085015b838110156127b357803583526020928301920161279b565b5095945050505050565b5f80604083850312156127ce575f80fd5b82356001600160401b038111156127e3575f80fd5b8301601f810185136127f3575f80fd5b803561280161277082612731565b8082825260208201915060208360051b850101925087831115612822575f80fd5b6020840193505b8284101561284d57833561283c81612356565b825260209384019390910190612829565b945050505060208301356001600160401b0381111561286a575f80fd5b61287685828601612753565b9150509250929050565b5f805f8060a08587031215612893575f80fd5b61289d8686612476565b935060608501356001600160401b038111156128b7575f80fd5b6128c387828801612486565b90945092505060808501356128d781612356565b939692955090935050565b5f8083601f8401126128f2575f80fd5b5081356001600160401b03811115612908575f80fd5b6020830191508360208260051b85010111156124c3575f80fd5b5f8060208385031215612933575f80fd5b82356001600160401b03811115612948575f80fd5b612954858286016128e2565b90969095509350505050565b5f60208284031215612970575f80fd5b610b34826125a2565b5f805f806060858703121561298c575f80fd5b612995856125a2565b93506129a360208601612646565b925060408501356001600160401b038111156129bd575f80fd5b6129c987828801612486565b95989497509550505050565b5f805f83850360808112156129e8575f80fd5b84356001600160401b038111156129fd575f80fd5b612a0987828801612394565b9450506040601f1982011215612a1d575f80fd5b506020840191506060840135612a3281612356565b809150509250925092565b5f60c082019050835182526001600160401b0360208501511660208301526040840151612a77604084018280518252602090810151910152565b5082516080830152602083015160a0830152610b34565b5f8060408385031215612a9f575f80fd5b8235612aaa81612356565b9150602083013561262481612356565b5f60608284031215612aca575f80fd5b610b348383612476565b600181811c90821680612ae857607f821691505b6020821081036123a457634e487b7160e01b5f52602260045260245ffd5b5f60208284031215612b16575f80fd5b8151610b3481612356565b5f60208284031215612b31575f80fd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156108ca576108ca612b4c565b5f6001600160401b03821115612b8b57612b8b6126a3565b50601f01601f191660200190565b5f612ba661277084612731565b8381526020810190600585901b840136811115612bc1575f80fd5b845b81811015612c935780356001600160401b03811115612be0575f80fd5b86016060368290031215612bf2575f80fd5b612bfa6126b7565b612c03826125a2565b8152612c1160208301612646565b602082015260408201356001600160401b03811115612c2e575f80fd5b919091019036601f830112612c41575f80fd5b8135612c4f61277082612b73565b818152366020838601011115612c63575f80fd5b816020850160208301375f6020838301015280604084015250508086525050602084019350602081019050612bc3565b509095945050505050565b5f8085851115612cac575f80fd5b83861115612cb8575f80fd5b5050820193919092039150565b5f81518060208401855e5f93019283525090919050565b5f612ce78286612cc5565b838582375f930192835250909392505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610eba602083018486612cfa565b5f823561013e19833603018112612d4a575f80fd5b9190910192915050565b5f808335601e19843603018112612d69575f80fd5b8301803591506001600160401b03821115612d82575f80fd5b6020019150368190038213156124c3575f80fd5b6001600160401b038116811461138c575f80fd5b63ffffffff612db8896125a2565b168152602088810135908201525f6040890135612dd481612d96565b6001600160401b03811660408401525087606083015260e06080830152612dff60e083018789612cfa565b6001600160a01b03861660a084015282810360c0840152612e21818587612cfa565b9a9950505050505050505050565b5f60208284031215612e3f575f80fd5b81516001600160401b03811115612e54575f80fd5b8201601f81018413612e64575f80fd5b8051612e7261277082612b73565b818152856020838501011115612e86575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031215612eb3575f80fd5b8135610b3481612d96565b60018060a01b038516815283602082015261ffff83166040820152608060608201525f610bab6080830184612316565b604081525f612f006040830185612316565b82810360208401526118f58185612316565b5f60208284031215612f22575f80fd5b8151610b34816125d4565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a06080840152612f6260e0840182612316565b90506060850151603f198483030160a0850152612f7f8282612316565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f60408284031215612fb5575f80fd5b612fbd6126df565b825181526020928301519281019290925250919050565b5f60408284031215612fe4575f80fd5b610b348383612fa5565b601f8211156113d057805f5260205f20601f840160051c810160208510156130135750805b601f840160051c820191505b818110156112c6575f815560010161301f565b81516001600160401b0381111561304b5761304b6126a3565b61305f816130598454612ad4565b84612fee565b6020601f821160018114613091575f831561307a5750848201515b5f19600385901b1c1916600184901b1784556112c6565b5f84815260208120601f198516915b828110156130c057878501518255602094850194600190920191016130a0565b50848210156130dd57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561316e57603f19878603018452815163ffffffff815116865261ffff602082015116602087015260408101519050606060408701526131586060870182612316565b9550506020938401939190910190600101613112565b50929695505050505050565b5f604082840312801561318b575f80fd5b506131946126df565b823581526020928301359281019290925250919050565b5f826131c557634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176108ca576108ca612b4c565b803560208310156108ca575f19602084900360031b1b1692915050565b80356001600160c01b0319811690600884101561322f576001600160c01b0319600885900360031b81901b82161691505b5092915050565b60c085901b6001600160c01b031916815260e084901b6001600160e01b0319166008820152600c81018390525f610bab602c830184612cc5565b8481526001600160401b0360c01b8460c01b1660208201528260288201525f610bab6048830184612cc5565b5f60808284031280156132ad575f80fd5b506132b66126b7565b8251815260208301516132c881612d96565b60208201526132da8460408501612fa5565b6040820152939250505056fea26469706673582212207aee4b47536ebf6a297c4844503943a614ec063ead1339083cf45e3b037e11b764736f6c634300081a003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000001a44076050125825900e736c501f859c50fe728c0000000000000000000000001fa674198179c3b231c3f3fd349139b29afe555e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000005526976657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055249564552000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061025f575f3560e01c80637fbbe46f1161013f578063bb0b6a53116100b3578063d045a0dc11610078578063d045a0dc14610773578063d424388514610786578063dd62ed3e146107a5578063f2fde38b146107e9578063fc0c546a14610461578063ff7bd03d14610808575f80fd5b8063bb0b6a53146106d6578063bc70b35414610701578063bd815db014610720578063c7c7f5b314610733578063ca5eb5e114610754575f80fd5b806395d89b411161010457806395d89b4114610620578063963efcaa146106345780639f68b96414610667578063a9059cbb14610679578063b731ea0a14610698578063b98bd070146106b7575f80fd5b80637fbbe46f1461059a57806382413eac146105b9578063857749b0146105d857806386eb5038146105eb5780638da5cb5b14610604575f80fd5b8063313ce567116101d65780635a0dfe4d1161019b5780635a0dfe4d146104925780635e280f11146104c75780636fc1b31e146104fa57806370a0823114610519578063715018a61461054d5780637d25a05e14610561575f80fd5b8063313ce567146103f55780633400288b146104165780633b6f743b1461043557806352ae2879146104615780635535d46114610473575f80fd5b8063134d4f2511610227578063134d4f2514610336578063156a0d0f1461035d57806317442b701461038357806318160ddd146103a45780631f5e1334146103c257806323b872dd146103d6575f80fd5b806306fdde0314610263578063095ea7b31461028d5780630d35b415146102bc578063111ecdad146102ea57806313137d6514610321575b5f80fd5b34801561026e575f80fd5b50610277610827565b6040516102849190612344565b60405180910390f35b348015610298575f80fd5b506102ac6102a736600461236a565b6108b7565b6040519015158152602001610284565b3480156102c7575f80fd5b506102db6102d63660046123aa565b6108d0565b604051610284939291906123db565b3480156102f5575f80fd5b50600454610309906001600160a01b031681565b6040516001600160a01b039091168152602001610284565b61033461032f3660046124ca565b610a56565b005b348015610341575f80fd5b5061034a600281565b60405161ffff9091168152602001610284565b348015610368575f80fd5b506040805162b9270b60e21b81526001602082015201610284565b34801561038e575f80fd5b5060408051600181526002602082015201610284565b3480156103af575f80fd5b506007545b604051908152602001610284565b3480156103cd575f80fd5b5061034a600181565b3480156103e1575f80fd5b506102ac6103f0366004612564565b610b16565b348015610400575f80fd5b5060125b60405160ff9091168152602001610284565b348015610421575f80fd5b506103346104303660046125ba565b610b3b565b348015610440575f80fd5b5061045461044f3660046125e1565b610b51565b604051610284919061262f565b34801561046c575f80fd5b5030610309565b34801561047e575f80fd5b5061027761048d366004612657565b610bb5565b34801561049d575f80fd5b506102ac6104ac3660046125ba565b63ffffffff919091165f908152600160205260409020541490565b3480156104d2575f80fd5b506103097f0000000000000000000000001a44076050125825900e736c501f859c50fe728c81565b348015610505575f80fd5b50610334610514366004612688565b610c57565b348015610524575f80fd5b506103b4610533366004612688565b6001600160a01b03165f9081526005602052604090205490565b348015610558575f80fd5b50610334610cb4565b34801561056c575f80fd5b5061058261057b3660046125ba565b5f92915050565b6040516001600160401b039091168152602001610284565b3480156105a5575f80fd5b506103346105b43660046127bd565b610cc7565b3480156105c4575f80fd5b506102ac6105d3366004612880565b610ead565b3480156105e3575f80fd5b506006610404565b3480156105f6575f80fd5b50600a546102ac9060ff1681565b34801561060f575f80fd5b505f546001600160a01b0316610309565b34801561062b575f80fd5b50610277610ec2565b34801561063f575f80fd5b506103b47f000000000000000000000000000000000000000000000000000000e8d4a5100081565b348015610672575f80fd5b505f6102ac565b348015610684575f80fd5b506102ac61069336600461236a565b610ed1565b3480156106a3575f80fd5b50600254610309906001600160a01b031681565b3480156106c2575f80fd5b506103346106d1366004612922565b610ede565b3480156106e1575f80fd5b506103b46106f0366004612960565b60016020525f908152604090205481565b34801561070c575f80fd5b5061027761071b366004612979565b610ef8565b61033461072e366004612922565b611099565b6107466107413660046129d5565b611219565b604051610284929190612a3d565b34801561075f575f80fd5b5061033461076e366004612688565b61124c565b6103346107813660046124ca565b6112cd565b348015610791575f80fd5b506103346107a0366004612688565b6112fc565b3480156107b0575f80fd5b506103b46107bf366004612a8e565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107f4575f80fd5b50610334610803366004612688565b611352565b348015610813575f80fd5b506102ac610822366004612aba565b61138f565b60606008805461083690612ad4565b80601f016020809104026020016040519081016040528092919081815260200182805461086290612ad4565b80156108ad5780601f10610884576101008083540402835291602001916108ad565b820191905f5260205f20905b81548152906001019060200180831161089057829003601f168201915b5050505050905090565b5f336108c48185856113c3565b60019150505b92915050565b604080518082019091525f8082526020820152606061090060405180604001604052805f81526020015f81525090565b5f80306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109629190612b06565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561099d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c19190612b21565b604080518082018252848152602080820184905282515f80825291810190935290975091925090610a14565b604080518082019091525f8152606060208201528152602001906001900390816109ed5790505b5093505f80610a38604089013560608a0135610a3360208c018c612960565b6113d5565b60408051808201909152918252602082015296989597505050505050565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b03163314610aa6576040516391ac5e4f60e01b81523360048201526024015b60405180910390fd5b60208701803590610ac090610abb908a612960565b611410565b14610afe57610ad26020880188612960565b60405163309afaf360e21b815263ffffffff909116600482015260208801356024820152604401610a9d565b610b0d8787878787878761144b565b50505050505050565b5f33610b238582856115a9565b610b2e858585611625565b60019150505b9392505050565b610b43611682565b610b4d82826116ae565b5050565b604080518082019091525f80825260208201525f610b7f60408501356060860135610a336020880188612960565b9150505f80610b8e8684611702565b9092509050610bab610ba36020880188612960565b838388611820565b9695505050505050565b600360209081525f928352604080842090915290825290208054610bd890612ad4565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0490612ad4565b8015610c4f5780601f10610c2657610100808354040283529160200191610c4f565b820191905f5260205f20905b815481529060010190602001808311610c3257829003601f168201915b505050505081565b610c5f611682565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b610cbc611682565b610cc55f6118fe565b565b610ccf611682565b600a5460ff16610cf25760405163057f3fa760e51b815260040160405180910390fd5b600a54610100900460ff1615610d1b57604051634acbad9560e11b815260040160405180910390fd5b8051825114610d3d57604051634ec4810560e11b815260040160405180910390fd5b81515f03610d5e57604051634ec4810560e11b815260040160405180910390fd5b5f805b8351811015610e1d575f6001600160a01b0316848281518110610d8657610d86612b38565b60200260200101516001600160a01b031603610db55760405163d92e233d60e01b815260040160405180910390fd5b828181518110610dc757610dc7612b38565b60200260200101515f03610dee57604051631f2a200560e01b815260040160405180910390fd5b828181518110610e0057610e00612b38565b602002602001015182610e139190612b60565b9150600101610d61565b506a52b7d2dcc80cd2e40000008114610e49576040516324204a3560e21b815260040160405180910390fd5b5f5b8351811015610e9857610e90848281518110610e6957610e69612b38565b6020026020010151848381518110610e8357610e83612b38565b602002602001015161194d565b600101610e4b565b5050600a805461ff0019166101001790555050565b6001600160a01b03811630145b949350505050565b60606009805461083690612ad4565b5f336108c4818585611625565b610ee6611682565b610b4d610ef38284612b99565b611981565b63ffffffff84165f90815260036020908152604080832061ffff87168452909152812080546060929190610f2b90612ad4565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5790612ad4565b8015610fa25780601f10610f7957610100808354040283529160200191610fa2565b820191905f5260205f20905b815481529060010190602001808311610f8557829003601f168201915b5050505050905080515f03610ff05783838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929450610eba9350505050565b5f839003610fff579050610eba565b6002831061107c5761104584848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611a8292505050565b806110538460028188612c9e565b60405160200161106593929190612cdc565b604051602081830303815290604052915050610eba565b8383604051639a6d49cd60e01b8152600401610a9d929190612d22565b5f5b8181101561119c57368383838181106110b6576110b6612b38565b90506020028101906110c89190612d35565b90506110fa6110da6020830183612960565b602083013563ffffffff919091165f908152600160205260409020541490565b6111045750611194565b3063d045a0dc60c08301358360a0810135611123610100830183612d54565b611134610100890160e08a01612688565b6111426101208a018a612d54565b6040518963ffffffff1660e01b81526004016111649796959493929190612daa565b5f604051808303818588803b15801561117b575f80fd5b505af115801561118d573d5f803e3d5ffd5b5050505050505b60010161109b565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b81526004015f60405180830381865afa1580156111d8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111ff9190810190612e2f565b604051638351eea760e01b8152600401610a9d9190612344565b6112216122d3565b604080518082019091525f808252602082015261123f858585611aae565b915091505b935093915050565b611254611682565b60405163ca5eb5e160e01b81526001600160a01b0382811660048301527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c169063ca5eb5e1906024015f604051808303815f87803b1580156112b4575f80fd5b505af11580156112c6573d5f803e3d5ffd5b5050505050565b3330146112ed5760405163029a949d60e31b815260040160405180910390fd5b610b0d87878787878787610afe565b611304611682565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001610ca9565b61135a611682565b6001600160a01b03811661138357604051631e4fbdf760e01b81525f6004820152602401610a9d565b61138c816118fe565b50565b5f6020820180359060019083906113a69086612960565b63ffffffff16815260208101919091526040015f20541492915050565b6113d08383836001611ba6565b505050565b5f806113e085611c78565b915081905083811015611244576040516371c4efed60e01b81526004810182905260248101859052604401610a9d565b63ffffffff81165f90815260016020526040812054806108ca5760405163f6ff4fb760e01b815263ffffffff84166004820152602401610a9d565b5f61145c6114598787611cae565b90565b90505f611487826114756114708a8a611cc5565b611ce7565b61148260208d018d612960565b611d1b565b90506028861115611547575f6114c36114a660608c0160408d01612ea3565b6114b360208d018d612960565b846114be8c8c611d42565b611d8c565b604051633e5ac80960e11b81529091506001600160a01b037f0000000000000000000000001a44076050125825900e736c501f859c50fe728c1690637cb59012906115189086908d905f908790600401612ebe565b5f604051808303815f87803b15801561152f575f80fd5b505af1158015611541573d5f803e3d5ffd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61158060208d018d612960565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b6001600160a01b038381165f908152600660209081526040808320938616835292905220545f1981101561161f578181101561161157604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610a9d565b61161f84848484035f611ba6565b50505050565b6001600160a01b03831661164e57604051634b637e8f60e11b81525f6004820152602401610a9d565b6001600160a01b0382166116775760405163ec442f0560e01b81525f6004820152602401610a9d565b6113d0838383611dbe565b5f546001600160a01b03163314610cc55760405163118cdaa760e01b8152336004820152602401610a9d565b63ffffffff82165f81815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6060805f61175d856020013561171786611ee4565b61172460a0890189612d54565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611f3d92505050565b90935090505f8161176f576001611772565b60025b90506117926117846020880188612960565b8261071b60808a018a612d54565b6004549093506001600160a01b031680156118165760405163043a78eb60e01b81526001600160a01b0382169063043a78eb906117d59088908890600401612eee565b602060405180830381865afa1580156117f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118149190612f12565b505b5050509250929050565b604080518082019091525f80825260208201527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161188289611410565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016118b7929190612f2d565b6040805180830381865afa1580156118d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f59190612fd4565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166119765760405163ec442f0560e01b81525f6004820152602401610a9d565b610b4d5f8383611dbe565b5f5b8151811015611a52576119b28282815181106119a1576119a1612b38565b602002602001015160400151611a82565b8181815181106119c4576119c4612b38565b60200260200101516040015160035f8484815181106119e5576119e5612b38565b60200260200101515f015163ffffffff1663ffffffff1681526020019081526020015f205f848481518110611a1c57611a1c612b38565b60200260200101516020015161ffff1661ffff1681526020019081526020015f209081611a499190613032565b50600101611983565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051610ca991906130ec565b600281015161ffff8116600314610b4d5781604051639a6d49cd60e01b8152600401610a9d9190612344565b611ab66122d3565b604080518082019091525f80825260208201525f80611aeb33604089013560608a0135611ae660208c018c612960565b611fb7565b915091505f80611afb8984611702565b9092509050611b27611b1060208b018b612960565b8383611b21368d90038d018d61317a565b8b611fdc565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90611b75908d018d612960565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b6001600160a01b038416611bcf5760405163e602df0560e01b81525f6004820152602401610a9d565b6001600160a01b038316611bf857604051634a1406b160e11b81525f6004820152602401610a9d565b6001600160a01b038085165f908152600660209081526040808320938716835292905220829055801561161f57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611c6a91815260200190565b60405180910390a350505050565b5f7f000000000000000000000000000000000000000000000000000000e8d4a51000611ca481846131ab565b6108ca91906131ca565b5f611cbc6020828486612c9e565b610b34916131e1565b5f611cd4602860208486612c9e565b611cdd916131fe565b60c01c9392505050565b5f6108ca7f000000000000000000000000000000000000000000000000000000e8d4a510006001600160401b0384166131ca565b5f6001600160a01b038416611d305761dead93505b611d3a848461194d565b509092915050565b6060611d518260288186612c9e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929695505050505050565b606084848484604051602001611da59493929190613236565b6040516020818303038152906040529050949350505050565b6001600160a01b038316611de8578060075f828254611ddd9190612b60565b90915550611e589050565b6001600160a01b0383165f9081526005602052604090205481811015611e3a5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610a9d565b6001600160a01b0384165f9081526005602052604090209082900390555b6001600160a01b038216611e7457600780548290039055611e92565b6001600160a01b0382165f9081526005602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ed791815260200190565b60405180910390a3505050565b5f80611f107f000000000000000000000000000000000000000000000000000000e8d4a51000846131ab565b90506001600160401b038111156108ca5760405163e2ce941360e01b815260048101829052602401610a9d565b8051606090151580611f86578484604051602001611f7292919091825260c01b6001600160c01b031916602082015260280190565b604051602081830303815290604052611fad565b84843385604051602001611f9d9493929190613270565b6040516020818303038152906040525b9150935093915050565b5f80611fc48585856113d5565b9092509050611fd386836120e2565b94509492505050565b611fe46122d3565b5f611ff1845f0151612116565b60208501519091501561200b5761200b846020015161213d565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b0316632637a450826040518060a001604052808b63ffffffff16815260200161205b8c611410565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b8152600401612096929190612f2d565b60806040518083038185885af11580156120b2573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906120d7919061329c565b979650505050505050565b6001600160a01b03821661210b57604051634b637e8f60e11b81525f6004820152602401610a9d565b610b4d825f83611dbe565b5f813414612139576040516304fb820960e51b8152346004820152602401610a9d565b5090565b5f7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561219a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121be9190612b06565b90506001600160a01b0381166121e7576040516329b99a9560e11b815260040160405180910390fd5b6040805133602482018190527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b0381811660448501526064808501889052855180860390910181526084909401909452602080840180516001600160e01b03166323b872dd60e01b1781528451610b4d96881695899361161f9388935f9283929091839182885af180612286576040513d5f823e3d81fd5b50505f513d9150811561229d5780600114156122aa565b6001600160a01b0384163b155b1561161f57604051635274afe760e01b81526001600160a01b0385166004820152602401610a9d565b60405180606001604052805f80191681526020015f6001600160401b0316815260200161231160405180604001604052805f81526020015f81525090565b905290565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610b346020830184612316565b6001600160a01b038116811461138c575f80fd5b5f806040838503121561237b575f80fd5b823561238681612356565b946020939093013593505050565b5f60e082840312156123a4575f80fd5b50919050565b5f602082840312156123ba575f80fd5b81356001600160401b038111156123cf575f80fd5b610eba84828501612394565b83518152602080850151908201525f60a0820160a0604084015280855180835260c08501915060c08160051b8601019250602087015f5b8281101561245a5760bf1987860301845281518051865260208101519050604060208701526124446040870182612316565b9550506020938401939190910190600101612412565b5050855160608601525050602084015160808401529050610eba565b5f606082840312156123a4575f80fd5b5f8083601f840112612496575f80fd5b5081356001600160401b038111156124ac575f80fd5b6020830191508360208285010111156124c3575f80fd5b9250929050565b5f805f805f805f60e0888a0312156124e0575f80fd5b6124ea8989612476565b96506060880135955060808801356001600160401b0381111561250b575f80fd5b6125178a828b01612486565b90965094505060a088013561252b81612356565b925060c08801356001600160401b03811115612545575f80fd5b6125518a828b01612486565b989b979a50959850939692959293505050565b5f805f60608486031215612576575f80fd5b833561258181612356565b9250602084013561259181612356565b929592945050506040919091013590565b803563ffffffff811681146125b5575f80fd5b919050565b5f80604083850312156125cb575f80fd5b612386836125a2565b801515811461138c575f80fd5b5f80604083850312156125f2575f80fd5b82356001600160401b03811115612607575f80fd5b61261385828601612394565b9250506020830135612624816125d4565b809150509250929050565b8151815260208083015190820152604081016108ca565b803561ffff811681146125b5575f80fd5b5f8060408385031215612668575f80fd5b612671836125a2565b915061267f60208401612646565b90509250929050565b5f60208284031215612698575f80fd5b8135610b3481612356565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b03811182821017156126d9576126d96126a3565b60405290565b604080519081016001600160401b03811182821017156126d9576126d96126a3565b604051601f8201601f191681016001600160401b0381118282101715612729576127296126a3565b604052919050565b5f6001600160401b03821115612749576127496126a3565b5060051b60200190565b5f82601f830112612762575f80fd5b813561277561277082612731565b612701565b8082825260208201915060208360051b860101925085831115612796575f80fd5b602085015b838110156127b357803583526020928301920161279b565b5095945050505050565b5f80604083850312156127ce575f80fd5b82356001600160401b038111156127e3575f80fd5b8301601f810185136127f3575f80fd5b803561280161277082612731565b8082825260208201915060208360051b850101925087831115612822575f80fd5b6020840193505b8284101561284d57833561283c81612356565b825260209384019390910190612829565b945050505060208301356001600160401b0381111561286a575f80fd5b61287685828601612753565b9150509250929050565b5f805f8060a08587031215612893575f80fd5b61289d8686612476565b935060608501356001600160401b038111156128b7575f80fd5b6128c387828801612486565b90945092505060808501356128d781612356565b939692955090935050565b5f8083601f8401126128f2575f80fd5b5081356001600160401b03811115612908575f80fd5b6020830191508360208260051b85010111156124c3575f80fd5b5f8060208385031215612933575f80fd5b82356001600160401b03811115612948575f80fd5b612954858286016128e2565b90969095509350505050565b5f60208284031215612970575f80fd5b610b34826125a2565b5f805f806060858703121561298c575f80fd5b612995856125a2565b93506129a360208601612646565b925060408501356001600160401b038111156129bd575f80fd5b6129c987828801612486565b95989497509550505050565b5f805f83850360808112156129e8575f80fd5b84356001600160401b038111156129fd575f80fd5b612a0987828801612394565b9450506040601f1982011215612a1d575f80fd5b506020840191506060840135612a3281612356565b809150509250925092565b5f60c082019050835182526001600160401b0360208501511660208301526040840151612a77604084018280518252602090810151910152565b5082516080830152602083015160a0830152610b34565b5f8060408385031215612a9f575f80fd5b8235612aaa81612356565b9150602083013561262481612356565b5f60608284031215612aca575f80fd5b610b348383612476565b600181811c90821680612ae857607f821691505b6020821081036123a457634e487b7160e01b5f52602260045260245ffd5b5f60208284031215612b16575f80fd5b8151610b3481612356565b5f60208284031215612b31575f80fd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156108ca576108ca612b4c565b5f6001600160401b03821115612b8b57612b8b6126a3565b50601f01601f191660200190565b5f612ba661277084612731565b8381526020810190600585901b840136811115612bc1575f80fd5b845b81811015612c935780356001600160401b03811115612be0575f80fd5b86016060368290031215612bf2575f80fd5b612bfa6126b7565b612c03826125a2565b8152612c1160208301612646565b602082015260408201356001600160401b03811115612c2e575f80fd5b919091019036601f830112612c41575f80fd5b8135612c4f61277082612b73565b818152366020838601011115612c63575f80fd5b816020850160208301375f6020838301015280604084015250508086525050602084019350602081019050612bc3565b509095945050505050565b5f8085851115612cac575f80fd5b83861115612cb8575f80fd5b5050820193919092039150565b5f81518060208401855e5f93019283525090919050565b5f612ce78286612cc5565b838582375f930192835250909392505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610eba602083018486612cfa565b5f823561013e19833603018112612d4a575f80fd5b9190910192915050565b5f808335601e19843603018112612d69575f80fd5b8301803591506001600160401b03821115612d82575f80fd5b6020019150368190038213156124c3575f80fd5b6001600160401b038116811461138c575f80fd5b63ffffffff612db8896125a2565b168152602088810135908201525f6040890135612dd481612d96565b6001600160401b03811660408401525087606083015260e06080830152612dff60e083018789612cfa565b6001600160a01b03861660a084015282810360c0840152612e21818587612cfa565b9a9950505050505050505050565b5f60208284031215612e3f575f80fd5b81516001600160401b03811115612e54575f80fd5b8201601f81018413612e64575f80fd5b8051612e7261277082612b73565b818152856020838501011115612e86575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031215612eb3575f80fd5b8135610b3481612d96565b60018060a01b038516815283602082015261ffff83166040820152608060608201525f610bab6080830184612316565b604081525f612f006040830185612316565b82810360208401526118f58185612316565b5f60208284031215612f22575f80fd5b8151610b34816125d4565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a06080840152612f6260e0840182612316565b90506060850151603f198483030160a0850152612f7f8282612316565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f60408284031215612fb5575f80fd5b612fbd6126df565b825181526020928301519281019290925250919050565b5f60408284031215612fe4575f80fd5b610b348383612fa5565b601f8211156113d057805f5260205f20601f840160051c810160208510156130135750805b601f840160051c820191505b818110156112c6575f815560010161301f565b81516001600160401b0381111561304b5761304b6126a3565b61305f816130598454612ad4565b84612fee565b6020601f821160018114613091575f831561307a5750848201515b5f19600385901b1c1916600184901b1784556112c6565b5f84815260208120601f198516915b828110156130c057878501518255602094850194600190920191016130a0565b50848210156130dd57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561316e57603f19878603018452815163ffffffff815116865261ffff602082015116602087015260408101519050606060408701526131586060870182612316565b9550506020938401939190910190600101613112565b50929695505050505050565b5f604082840312801561318b575f80fd5b506131946126df565b823581526020928301359281019290925250919050565b5f826131c557634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176108ca576108ca612b4c565b803560208310156108ca575f19602084900360031b1b1692915050565b80356001600160c01b0319811690600884101561322f576001600160c01b0319600885900360031b81901b82161691505b5092915050565b60c085901b6001600160c01b031916815260e084901b6001600160e01b0319166008820152600c81018390525f610bab602c830184612cc5565b8481526001600160401b0360c01b8460c01b1660208201528260288201525f610bab6048830184612cc5565b5f60808284031280156132ad575f80fd5b506132b66126b7565b8251815260208301516132c881612d96565b60208201526132da8460408501612fa5565b6040820152939250505056fea26469706673582212207aee4b47536ebf6a297c4844503943a614ec063ead1339083cf45e3b037e11b764736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000001a44076050125825900e736c501f859c50fe728c0000000000000000000000001fa674198179c3b231c3f3fd349139b29afe555e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000005526976657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055249564552000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): River
Arg [1] : _symbol (string): RIVER
Arg [2] : _lzEndpoint (address): 0x1a44076050125825900e736c501f859c50fE728c
Arg [3] : _owner (address): 0x1FA674198179C3B231c3f3Fd349139b29AFe555e
Arg [4] : _isNativeChain (bool): True

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000001a44076050125825900e736c501f859c50fe728c
Arg [3] : 0000000000000000000000001fa674198179c3b231c3f3fd349139b29afe555e
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 5269766572000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [8] : 5249564552000000000000000000000000000000000000000000000000000000

🤖 Code Reader

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.