Source Code
Latest 25 from a total of 1,789 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Send | 153627397 | 108 days ago | IN | 0.000416333276447 ETH | 0.00000001809 | ||||
| Send | 153612416 | 108 days ago | IN | 0.000045821119982 ETH | 0.000000008686 | ||||
| Send | 153612292 | 108 days ago | IN | 0.000045821119982 ETH | 0.000000009371 | ||||
| Send | 153489411 | 111 days ago | IN | 0.000267280218223 ETH | 0.00000000215 | ||||
| Send | 153489346 | 111 days ago | IN | 0.000267280218223 ETH | 0.000000002175 | ||||
| Send | 153408793 | 113 days ago | IN | 0.000267280218223 ETH | 0.000000315757 | ||||
| Send | 153407029 | 113 days ago | IN | 0.000267280218223 ETH | 0.000000320126 | ||||
| Send | 153406392 | 113 days ago | IN | 0.000056142798533 ETH | 0.000000320027 | ||||
| Send | 153364039 | 114 days ago | IN | 0.000034421119982 ETH | 0.000000462281 | ||||
| Send | 153275635 | 116 days ago | IN | 0.00003158093258 ETH | 0.000301806503 | ||||
| Send | 153255876 | 117 days ago | IN | 0.00003158093258 ETH | 0.000000013316 | ||||
| Send | 153145558 | 119 days ago | IN | 0.000240833385395 ETH | 0.000000033906 | ||||
| Send | 149816459 | 196 days ago | IN | 0.000238954346801 ETH | 0.00000034561 | ||||
| Send | 149816271 | 196 days ago | IN | 0.000238954346801 ETH | 0.000000346521 | ||||
| Send | 149815863 | 196 days ago | IN | 0.000238954346801 ETH | 0.000000348061 | ||||
| Send | 149815621 | 196 days ago | IN | 0.000238954346801 ETH | 0.000000347533 | ||||
| Send | 149807458 | 197 days ago | IN | 0.000238954346801 ETH | 0.000000342401 | ||||
| Send | 149807412 | 197 days ago | IN | 0.000238954346801 ETH | 0.000000342566 | ||||
| Send | 149807239 | 197 days ago | IN | 0.000238954346801 ETH | 0.000000342634 | ||||
| Send | 149806288 | 197 days ago | IN | 0.000238954346801 ETH | 0.000000342196 | ||||
| Send | 149805986 | 197 days ago | IN | 0.000238954346801 ETH | 0.000000342436 | ||||
| Send | 149805904 | 197 days ago | IN | 0.000238954346801 ETH | 0.000000342571 | ||||
| Send | 149804954 | 197 days ago | IN | 0.000238954346801 ETH | 0.000000342711 | ||||
| Send | 149784380 | 197 days ago | IN | 0.000238954346801 ETH | 0.000000003801 | ||||
| Send | 147295612 | 255 days ago | IN | 0.000028225859357 ETH | 0.00000001297 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 156188594 | 49 days ago | 0.000024659444838 ETH | ||||
| 156188594 | 49 days ago | 0.000024659444838 ETH | ||||
| 153627397 | 108 days ago | 0.000416333276447 ETH | ||||
| 153612416 | 108 days ago | 0.000045821119982 ETH | ||||
| 153612292 | 108 days ago | 0.000045821119982 ETH | ||||
| 153612289 | 108 days ago | 0.000035021119982 ETH | ||||
| 153612289 | 108 days ago | 0.000035021119982 ETH | ||||
| 153611962 | 108 days ago | 0.000035021119982 ETH | ||||
| 153611962 | 108 days ago | 0.000035021119982 ETH | ||||
| 153611396 | 108 days ago | 0.000035021119982 ETH | ||||
| 153611396 | 108 days ago | 0.000035021119982 ETH | ||||
| 153610160 | 108 days ago | 0.000035021119982 ETH | ||||
| 153610160 | 108 days ago | 0.000035021119982 ETH | ||||
| 153609708 | 108 days ago | 0.000035021119982 ETH | ||||
| 153609708 | 108 days ago | 0.000035021119982 ETH | ||||
| 153609524 | 108 days ago | 0.000035021119982 ETH | ||||
| 153609524 | 108 days ago | 0.000035021119982 ETH | ||||
| 153609044 | 109 days ago | 0.000035021119982 ETH | ||||
| 153609044 | 109 days ago | 0.000035021119982 ETH | ||||
| 153609035 | 109 days ago | 0.000035021119982 ETH | ||||
| 153609035 | 109 days ago | 0.000035021119982 ETH | ||||
| 153605156 | 109 days ago | 0.000035021119982 ETH | ||||
| 153605156 | 109 days ago | 0.000035021119982 ETH | ||||
| 153605116 | 109 days ago | 0.000035021119982 ETH | ||||
| 153605116 | 109 days ago | 0.000035021119982 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_endpoint","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[],"name":"FailedInnerCall","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":"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"},{"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"},{"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":[],"name":"approvalRequired","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","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":"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":[{"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":[],"name":"msgInspector","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60e06040523480156200001157600080fd5b50604051620037d4380380620037d4833981016040819052620000349162000254565b828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000076573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009c91906200029e565b8282818181818a6001600160a01b038116620000d257604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b620000dd81620001e2565b506001600160a01b0380831660805281166200010c57604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b1580156200015457600080fd5b505af115801562000169573d6000803e3d6000fd5b5050505050505050620001816200023260201b60201c565b60ff168360ff161015620001a8576040516301e9714b60e41b815260040160405180910390fd5b620001b5600984620002e0565b620001c290600a620003ff565b60a0525050506001600160a01b0390921660c05250620004109350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600990565b80516001600160a01b03811681146200024f57600080fd5b919050565b6000806000606084860312156200026a57600080fd5b620002758462000237565b9250620002856020850162000237565b9150620002956040850162000237565b90509250925092565b600060208284031215620002b157600080fd5b815160ff81168114620002c357600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b60ff8281168282160390811115620002fc57620002fc620002ca565b92915050565b600181815b8085111562000343578160001904821115620003275762000327620002ca565b808516156200033557918102915b93841c939080029062000307565b509250929050565b6000826200035c57506001620002fc565b816200036b57506000620002fc565b81600181146200038457600281146200038f57620003af565b6001915050620002fc565b60ff841115620003a357620003a3620002ca565b50506001821b620002fc565b5060208310610133831016604e8410600b8410161715620003d4575081810a620002fc565b620003e0838362000302565b8060001904821115620003f757620003f7620002ca565b029392505050565b6000620002c360ff8416836200034b565b60805160a05160c05161334062000494600039600081816106c8015281816119b10152611cad015260008181610534015281816118b7015281816119330152611a9b015260008181610428015281816108b901528181610f9e015281816112bf015281816115b201528181611d4701528181611e710152611f5b01526133406000f3fe6080604052600436106101fe5760003560e01c806382413eac1161011d578063bc70b354116100b0578063d045a0dc1161007f578063f2fde38b11610064578063f2fde38b14610699578063fc0c546a146106b9578063ff7bd03d146106ec57600080fd5b8063d045a0dc14610666578063d42438851461067957600080fd5b8063bc70b354146105f2578063bd815db014610612578063c7c7f5b314610625578063ca5eb5e11461064657600080fd5b80639f68b964116100ec5780639f68b96414610564578063b731ea0a14610578578063b98bd070146105a5578063bb0b6a53146105c557600080fd5b806382413eac146104bb578063857749b0146104db5780638da5cb5b146104f7578063963efcaa1461052257600080fd5b80633b6f743b116101955780635e280f11116101645780635e280f11146104165780636fc1b31e1461044a578063715018a61461046a5780637d25a05e1461047f57600080fd5b80633b6f743b1461036257806352ae28791461038f5780635535d461146103a25780635a0dfe4d146103cf57600080fd5b8063156a0d0f116101d1578063156a0d0f146102ca57806317442b701461030b5780631f5e13341461032d5780633400288b1461034257600080fd5b80630d35b41514610203578063111ecdad1461023b57806313137d651461028d578063134d4f25146102a2575b600080fd5b34801561020f57600080fd5b5061022361021e36600461226e565b61070c565b604051610232939291906122f3565b60405180910390f35b34801561024757600080fd5b506004546102689073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610232565b6102a061029b366004612427565b6108b7565b005b3480156102ae57600080fd5b506102b7600281565b60405161ffff9091168152602001610232565b3480156102d657600080fd5b50604080517f02e49c2c0000000000000000000000000000000000000000000000000000000081526001602082015201610232565b34801561031757600080fd5b5060408051600181526002602082015201610232565b34801561033957600080fd5b506102b7600181565b34801561034e57600080fd5b506102a061035d3660046124e0565b6109b6565b34801561036e57600080fd5b5061038261037d366004612518565b6109cc565b604051610232919061256a565b34801561039b57600080fd5b5030610268565b3480156103ae57600080fd5b506103c26103bd366004612593565b610a35565b60405161023291906125c6565b3480156103db57600080fd5b506104066103ea3660046124e0565b63ffffffff919091166000908152600160205260409020541490565b6040519015158152602001610232565b34801561042257600080fd5b506102687f000000000000000000000000000000000000000000000000000000000000000081565b34801561045657600080fd5b506102a06104653660046125d9565b610ada565b34801561047657600080fd5b506102a0610b5c565b34801561048b57600080fd5b506104a261049a3660046124e0565b600092915050565b60405167ffffffffffffffff9091168152602001610232565b3480156104c757600080fd5b506104066104d63660046125f6565b610b70565b3480156104e757600080fd5b5060405160098152602001610232565b34801561050357600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610268565b34801561052e57600080fd5b506105567f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610232565b34801561057057600080fd5b506001610406565b34801561058457600080fd5b506002546102689073ffffffffffffffffffffffffffffffffffffffff1681565b3480156105b157600080fd5b506102a06105c03660046126a2565b610b92565b3480156105d157600080fd5b506105566105e03660046126e4565b60016020526000908152604090205481565b3480156105fe57600080fd5b506103c261060d3660046126ff565b610bac565b6102a06106203660046126a2565b610d6d565b610638610633366004612760565b610f1d565b6040516102329291906127ce565b34801561065257600080fd5b506102a06106613660046125d9565b610f51565b6102a0610674366004612427565b610ffd565b34801561068557600080fd5b506102a06106943660046125d9565b611045565b3480156106a557600080fd5b506102a06106b43660046125d9565b6110c0565b3480156106c557600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610268565b3480156106f857600080fd5b50610406610707366004612821565b611124565b6040805180820190915260008082526020820152606061073f604051806040016040528060008152602001600081525090565b6000803073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b1919061283d565b73ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081f919061285a565b60408051808201825284815260208082018490528251600080825291810190935290975091925090610874565b60408051808201909152600081526060602082015281526020019060019003908161084c5790505b509350600080610899604089013560608a013561089460208c018c6126e4565b61115a565b60408051808201909152918252602082015296989597505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461092d576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6020870180359061094790610942908a6126e4565b6111af565b1461099e5761095960208801886126e4565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610924565b6109ad87878787878787611204565b50505050505050565b6109be61139e565b6109c882826113f1565b5050565b604080518082019091526000808252602082015260006109fc6040850135606086013561089460208801886126e4565b915050600080610a0c8684611446565b9092509050610a29610a2160208801886126e4565b83838861159c565b93505050505b92915050565b600360209081526000928352604080842090915290825290208054610a59906128a2565b80601f0160208091040260200160405190810160405280929190818152602001828054610a85906128a2565b8015610ad25780601f10610aa757610100808354040283529160200191610ad2565b820191906000526020600020905b815481529060010190602001808311610ab557829003601f168201915b505050505081565b610ae261139e565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b610b6461139e565b610b6e600061168a565b565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b610b9a61139e565b6109c8610ba78284612994565b6116ff565b63ffffffff8416600090815260036020908152604080832061ffff87168452909152812080546060929190610be0906128a2565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0c906128a2565b8015610c595780601f10610c2e57610100808354040283529160200191610c59565b820191906000526020600020905b815481529060010190602001808311610c3c57829003601f168201915b505050505090508051600003610ca95783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929450610b8a9350505050565b6000839003610cb9579050610b8a565b60028310610d3757610d0084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061180692505050565b80610d0e8460028188612aaa565b604051602001610d2093929190612ad4565b604051602081830303815290604052915050610b8a565b83836040517f9a6d49cd000000000000000000000000000000000000000000000000000000008152600401610924929190612b27565b60005b81811015610e765736838383818110610d8b57610d8b612b3b565b9050602002810190610d9d9190612b6a565b9050610dd0610daf60208301836126e4565b602083013563ffffffff919091166000908152600160205260409020541490565b610dda5750610e6e565b3063d045a0dc60c08301358360a0810135610df9610100830183612ba8565b610e0a610100890160e08a016125d9565b610e186101208a018a612ba8565b6040518963ffffffff1660e01b8152600401610e3a9796959493929190612c23565b6000604051808303818588803b158015610e5357600080fd5b505af1158015610e67573d6000803e3d6000fd5b5050505050505b600101610d70565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa158015610ec2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eea9190810190612cb7565b6040517f8351eea700000000000000000000000000000000000000000000000000000000815260040161092491906125c6565b610f2561220e565b6040805180820190915260008082526020820152610f4485858561184b565b915091505b935093915050565b610f5961139e565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b158015610fe257600080fd5b505af1158015610ff6573d6000803e3d6000fd5b5050505050565b333014611036576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109ad8787878787878761099e565b61104d61139e565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001610b51565b6110c861139e565b73ffffffffffffffffffffffffffffffffffffffff8116611118576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610924565b6111218161168a565b50565b600060208201803590600190839061113c90866126e4565b63ffffffff1681526020810191909152604001600020541492915050565b600080611166856118b3565b915081905083811015610f49576040517f71c4efed0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610924565b63ffffffff811660009081526001602052604081205480610a2f576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610924565b600061121661121387876118ea565b90565b905060006112428261123061122b8a8a611909565b61192c565b61123d60208d018d6126e4565b611962565b9050602886111561132f57600061127f61126260608c0160408d01612d25565b61126f60208d018d6126e4565b8461127a8c8c611a17565b611a62565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906112fb9086908d906000908790600401612d42565b600060405180830381600087803b15801561131557600080fd5b505af1158015611329573d6000803e3d6000fd5b50505050505b73ffffffffffffffffffffffffffffffffffffffff8216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61137560208d018d6126e4565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b6e576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610924565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b60608060006114a3856020013561145c86611a94565b61146960a0890189612ba8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ac092505050565b90935090506000816114b65760016114b9565b60025b90506114d96114cb60208801886126e4565b8261060d60808a018a612ba8565b60045490935073ffffffffffffffffffffffffffffffffffffffff168015611592576040517f043a78eb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063043a78eb9061154f9088908890600401612d81565b602060405180830381865afa15801561156c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115909190612da6565b505b5050509250929050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff16815260200161160c896111af565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611641929190612dc3565b6040805180830381865afa15801561165d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116819190612e97565b95945050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b81518110156117d65761173182828151811061172057611720612b3b565b602002602001015160400151611806565b81818151811061174357611743612b3b565b6020026020010151604001516003600084848151811061176557611765612b3b565b60200260200101516000015163ffffffff1663ffffffff168152602001908152602001600020600084848151811061179f5761179f612b3b565b60200260200101516020015161ffff1661ffff16815260200190815260200160002090816117cd9190612f03565b50600101611702565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051610b519190612fff565b600281015161ffff81166003146109c857816040517f9a6d49cd00000000000000000000000000000000000000000000000000000000815260040161092491906125c6565b61185361220e565b604080518082019091526000808252602082015260208501356000036118a8576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610924565b610f44858585611b52565b60007f00000000000000000000000000000000000000000000000000000000000000006118e081846130a8565b610a2f91906130e3565b60006118f96020828486612aaa565b61190291613121565b9392505050565b6000611919602860208486612aaa565b6119229161315d565b60c01c9392505050565b6000610a2f7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff84166130e3565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490526000917f0000000000000000000000000000000000000000000000000000000000000000909116906340c10f1990604401600060405180830381600087803b1580156119f757600080fd5b505af1158015611a0b573d6000803e3d6000fd5b50949695505050505050565b6060611a268260288186612aaa565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b606084848484604051602001611a7b94939291906131a5565b6040516020818303038152906040529050949350505050565b6000610a2f7f0000000000000000000000000000000000000000000000000000000000000000836130a8565b8051606090151580611b21578484604051602001611b0d92919091825260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016602082015260280190565b604051602081830303815290604052611b48565b84843385604051602001611b389493929190613223565b6040516020818303038152906040525b9150935093915050565b611b5a61220e565b6040805180820190915260008082526020820152600080611b9133604089013560608a0135611b8c60208c018c6126e4565b611c4d565b91509150600080611ba28984611446565b9092509050611bce611bb760208b018b6126e4565b8383611bc8368d90038d018d61327c565b8b611d14565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90611c1c908d018d6126e4565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b600080611c5b85858561115a565b6040517f79cc679000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018490529294509092507f0000000000000000000000000000000000000000000000000000000000000000909116906379cc679090604401600060405180830381600087803b158015611cf357600080fd5b505af1158015611d07573d6000803e3d6000fd5b5050505094509492505050565b611d1c61220e565b6000611d2b8460000151611e2c565b602085015190915015611d4557611d458460200151611e6d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff168152602001611da28c6111af565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611dde929190612dc3565b60806040518083038185885af1158015611dfc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e2191906132ae565b979650505050505050565b6000813414611e69576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610924565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efe919061283d565b905073ffffffffffffffffffffffffffffffffffffffff8116611f4d576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805133602482018190527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff818116604485015260648085018890528551808603909101815260849094019094526020830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526109c893851692869061200d908590612013565b50505050565b600061203573ffffffffffffffffffffffffffffffffffffffff8416836120ae565b9050805160001415801561205a5750808060200190518101906120589190612da6565b155b156120a9576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610924565b505050565b606061190283836000846000808573ffffffffffffffffffffffffffffffffffffffff1684866040516120e191906132f8565b60006040518083038185875af1925050503d806000811461211e576040519150601f19603f3d011682016040523d82523d6000602084013e612123565b606091505b509150915061213386838361213d565b9695505050505050565b6060826121525761214d826121cc565b611902565b8151158015612176575073ffffffffffffffffffffffffffffffffffffffff84163b155b156121c5576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610924565b5080611902565b8051156121dc5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051806060016040528060008019168152602001600067ffffffffffffffff168152602001612251604051806040016040528060008152602001600081525090565b905290565b600060e0828403121561226857600080fd5b50919050565b60006020828403121561228057600080fd5b813567ffffffffffffffff81111561229757600080fd5b610b8a84828501612256565b60005b838110156122be5781810151838201526020016122a6565b50506000910152565b600081518084526122df8160208601602086016122a3565b601f01601f19169290920160200192915050565b8351815260208085015190820152600060a08201604060a0604085015281865180845260c08601915060c08160051b8701019350602080890160005b8381101561238c578887037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40018552815180518852830151838801879052612379878901826122c7565b975050938201939082019060010161232f565b50508751606088015250505060208501516080850152509050610b8a565b60006060828403121561226857600080fd5b60008083601f8401126123ce57600080fd5b50813567ffffffffffffffff8111156123e657600080fd5b6020830191508360208285010111156123fe57600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461112157600080fd5b600080600080600080600060e0888a03121561244257600080fd5b61244c89896123aa565b965060608801359550608088013567ffffffffffffffff8082111561247057600080fd5b61247c8b838c016123bc565b909750955060a08a0135915061249182612405565b90935060c089013590808211156124a757600080fd5b506124b48a828b016123bc565b989b979a50959850939692959293505050565b803563ffffffff811681146124db57600080fd5b919050565b600080604083850312156124f357600080fd5b6124fc836124c7565b946020939093013593505050565b801515811461112157600080fd5b6000806040838503121561252b57600080fd5b823567ffffffffffffffff81111561254257600080fd5b61254e85828601612256565b925050602083013561255f8161250a565b809150509250929050565b815181526020808301519082015260408101610a2f565b803561ffff811681146124db57600080fd5b600080604083850312156125a657600080fd5b6125af836124c7565b91506125bd60208401612581565b90509250929050565b60208152600061190260208301846122c7565b6000602082840312156125eb57600080fd5b813561190281612405565b60008060008060a0858703121561260c57600080fd5b61261686866123aa565b9350606085013567ffffffffffffffff81111561263257600080fd5b61263e878288016123bc565b909450925050608085013561265281612405565b939692955090935050565b60008083601f84011261266f57600080fd5b50813567ffffffffffffffff81111561268757600080fd5b6020830191508360208260051b85010111156123fe57600080fd5b600080602083850312156126b557600080fd5b823567ffffffffffffffff8111156126cc57600080fd5b6126d88582860161265d565b90969095509350505050565b6000602082840312156126f657600080fd5b611902826124c7565b6000806000806060858703121561271557600080fd5b61271e856124c7565b935061272c60208601612581565b9250604085013567ffffffffffffffff81111561274857600080fd5b612754878288016123bc565b95989497509550505050565b6000806000838503608081121561277657600080fd5b843567ffffffffffffffff81111561278d57600080fd5b61279987828801612256565b9450506040601f19820112156127ae57600080fd5b5060208401915060608401356127c381612405565b809150509250925092565b600060c0820190508351825267ffffffffffffffff6020850151166020830152604084015161280a604084018280518252602090810151910152565b5082516080830152602083015160a0830152611902565b60006060828403121561283357600080fd5b61190283836123aa565b60006020828403121561284f57600080fd5b815161190281612405565b60006020828403121561286c57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c908216806128b657607f821691505b602082108103612268577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6040516060810167ffffffffffffffff8111828210171561291257612912612873565b60405290565b6040805190810167ffffffffffffffff8111828210171561291257612912612873565b604051601f8201601f1916810167ffffffffffffffff8111828210171561296457612964612873565b604052919050565b600067ffffffffffffffff82111561298657612986612873565b50601f01601f191660200190565b600067ffffffffffffffff808411156129af576129af612873565b8360051b60206129c081830161293b565b8681529185019181810190368411156129d857600080fd5b865b84811015612a9e578035868111156129f25760008081fd5b88016060368290031215612a065760008081fd5b612a0e6128ef565b612a17826124c7565b8152612a24868301612581565b8682015260408083013589811115612a3c5760008081fd5b929092019136601f840112612a515760008081fd5b8235612a64612a5f8261296c565b61293b565b8181523689838701011115612a795760008081fd5b818986018a8301376000918101890191909152908201528452509183019183016129da565b50979650505050505050565b60008085851115612aba57600080fd5b83861115612ac757600080fd5b5050820193919092039150565b60008451612ae68184602089016122a3565b8201838582376000930192835250909392505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b602081526000610b8a602083018486612afc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112612b9e57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612bdd57600080fd5b83018035915067ffffffffffffffff821115612bf857600080fd5b6020019150368190038213156123fe57600080fd5b67ffffffffffffffff8116811461112157600080fd5b63ffffffff612c31896124c7565b1681526020880135602082015260006040890135612c4e81612c0d565b67ffffffffffffffff811660408401525087606083015260e06080830152612c7a60e083018789612afc565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c0840152612ca9818587612afc565b9a9950505050505050505050565b600060208284031215612cc957600080fd5b815167ffffffffffffffff811115612ce057600080fd5b8201601f81018413612cf157600080fd5b8051612cff612a5f8261296c565b818152856020838501011115612d1457600080fd5b6116818260208301602086016122a3565b600060208284031215612d3757600080fd5b813561190281612c0d565b73ffffffffffffffffffffffffffffffffffffffff8516815283602082015261ffff8316604082015260806060820152600061213360808301846122c7565b604081526000612d9460408301856122c7565b828103602084015261168181856122c7565b600060208284031215612db857600080fd5b81516119028161250a565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a06080840152612df960e08401826122c7565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a0850152612e3482826122c7565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b600060408284031215612e7957600080fd5b612e81612918565b9050815181526020820151602082015292915050565b600060408284031215612ea957600080fd5b6119028383612e67565b601f8211156120a9576000816000526020600020601f850160051c81016020861015612edc5750805b601f850160051c820191505b81811015612efb57828155600101612ee8565b505050505050565b815167ffffffffffffffff811115612f1d57612f1d612873565b612f3181612f2b84546128a2565b84612eb3565b602080601f831160018114612f845760008415612f4e5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612efb565b600085815260208120601f198616915b82811015612fb357888601518255948401946001909101908401612f94565b5085821015612fef57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561309a578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805163ffffffff1684528781015161ffff16888501528601516060878501819052613086818601836122c7565b968901969450505090860190600101613028565b509098975050505050505050565b6000826130de577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b8082028115828204841417610a2f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80356020831015610a2f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff000000000000000000000000000000000000000000000000813581811691600885101561319d5780818660080360031b1b83161692505b505092915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b1681527fffffffff000000000000000000000000000000000000000000000000000000008460e01b16600882015282600c8201526000825161321381602c8501602087016122a3565b91909101602c0195945050505050565b8481527fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1660208201528260288201526000825161326c8160488501602087016122a3565b9190910160480195945050505050565b60006040828403121561328e57600080fd5b613296612918565b82358152602083013560208201528091505092915050565b6000608082840312156132c057600080fd5b6132c86128ef565b8251815260208301516132da81612c0d565b60208201526132ec8460408501612e67565b60408201529392505050565b60008251612b9e8184602087016122a356fea2646970667358221220841d311dd4624f62db019fcb6688ab80f2304e7607e7ac0bbf21638a83e701ad64736f6c63430008180033000000000000000000000000000000000000012def132e61759048be5b5c60330000000000000000000000001a44076050125825900e736c501f859c50fe728c0000000000000000000000000fea3e5840334fc758a3decf14546bfdfbef5cd3
Deployed Bytecode
0x6080604052600436106101fe5760003560e01c806382413eac1161011d578063bc70b354116100b0578063d045a0dc1161007f578063f2fde38b11610064578063f2fde38b14610699578063fc0c546a146106b9578063ff7bd03d146106ec57600080fd5b8063d045a0dc14610666578063d42438851461067957600080fd5b8063bc70b354146105f2578063bd815db014610612578063c7c7f5b314610625578063ca5eb5e11461064657600080fd5b80639f68b964116100ec5780639f68b96414610564578063b731ea0a14610578578063b98bd070146105a5578063bb0b6a53146105c557600080fd5b806382413eac146104bb578063857749b0146104db5780638da5cb5b146104f7578063963efcaa1461052257600080fd5b80633b6f743b116101955780635e280f11116101645780635e280f11146104165780636fc1b31e1461044a578063715018a61461046a5780637d25a05e1461047f57600080fd5b80633b6f743b1461036257806352ae28791461038f5780635535d461146103a25780635a0dfe4d146103cf57600080fd5b8063156a0d0f116101d1578063156a0d0f146102ca57806317442b701461030b5780631f5e13341461032d5780633400288b1461034257600080fd5b80630d35b41514610203578063111ecdad1461023b57806313137d651461028d578063134d4f25146102a2575b600080fd5b34801561020f57600080fd5b5061022361021e36600461226e565b61070c565b604051610232939291906122f3565b60405180910390f35b34801561024757600080fd5b506004546102689073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610232565b6102a061029b366004612427565b6108b7565b005b3480156102ae57600080fd5b506102b7600281565b60405161ffff9091168152602001610232565b3480156102d657600080fd5b50604080517f02e49c2c0000000000000000000000000000000000000000000000000000000081526001602082015201610232565b34801561031757600080fd5b5060408051600181526002602082015201610232565b34801561033957600080fd5b506102b7600181565b34801561034e57600080fd5b506102a061035d3660046124e0565b6109b6565b34801561036e57600080fd5b5061038261037d366004612518565b6109cc565b604051610232919061256a565b34801561039b57600080fd5b5030610268565b3480156103ae57600080fd5b506103c26103bd366004612593565b610a35565b60405161023291906125c6565b3480156103db57600080fd5b506104066103ea3660046124e0565b63ffffffff919091166000908152600160205260409020541490565b6040519015158152602001610232565b34801561042257600080fd5b506102687f0000000000000000000000001a44076050125825900e736c501f859c50fe728c81565b34801561045657600080fd5b506102a06104653660046125d9565b610ada565b34801561047657600080fd5b506102a0610b5c565b34801561048b57600080fd5b506104a261049a3660046124e0565b600092915050565b60405167ffffffffffffffff9091168152602001610232565b3480156104c757600080fd5b506104066104d63660046125f6565b610b70565b3480156104e757600080fd5b5060405160098152602001610232565b34801561050357600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610268565b34801561052e57600080fd5b506105567f000000000000000000000000000000000000000000000000000000003b9aca0081565b604051908152602001610232565b34801561057057600080fd5b506001610406565b34801561058457600080fd5b506002546102689073ffffffffffffffffffffffffffffffffffffffff1681565b3480156105b157600080fd5b506102a06105c03660046126a2565b610b92565b3480156105d157600080fd5b506105566105e03660046126e4565b60016020526000908152604090205481565b3480156105fe57600080fd5b506103c261060d3660046126ff565b610bac565b6102a06106203660046126a2565b610d6d565b610638610633366004612760565b610f1d565b6040516102329291906127ce565b34801561065257600080fd5b506102a06106613660046125d9565b610f51565b6102a0610674366004612427565b610ffd565b34801561068557600080fd5b506102a06106943660046125d9565b611045565b3480156106a557600080fd5b506102a06106b43660046125d9565b6110c0565b3480156106c557600080fd5b507f000000000000000000000000000000000000012def132e61759048be5b5c6033610268565b3480156106f857600080fd5b50610406610707366004612821565b611124565b6040805180820190915260008082526020820152606061073f604051806040016040528060008152602001600081525090565b6000803073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b1919061283d565b73ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081f919061285a565b60408051808201825284815260208082018490528251600080825291810190935290975091925090610874565b60408051808201909152600081526060602082015281526020019060019003908161084c5790505b509350600080610899604089013560608a013561089460208c018c6126e4565b61115a565b60408051808201909152918252602082015296989597505050505050565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff16331461092d576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6020870180359061094790610942908a6126e4565b6111af565b1461099e5761095960208801886126e4565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610924565b6109ad87878787878787611204565b50505050505050565b6109be61139e565b6109c882826113f1565b5050565b604080518082019091526000808252602082015260006109fc6040850135606086013561089460208801886126e4565b915050600080610a0c8684611446565b9092509050610a29610a2160208801886126e4565b83838861159c565b93505050505b92915050565b600360209081526000928352604080842090915290825290208054610a59906128a2565b80601f0160208091040260200160405190810160405280929190818152602001828054610a85906128a2565b8015610ad25780601f10610aa757610100808354040283529160200191610ad2565b820191906000526020600020905b815481529060010190602001808311610ab557829003601f168201915b505050505081565b610ae261139e565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b610b6461139e565b610b6e600061168a565b565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b610b9a61139e565b6109c8610ba78284612994565b6116ff565b63ffffffff8416600090815260036020908152604080832061ffff87168452909152812080546060929190610be0906128a2565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0c906128a2565b8015610c595780601f10610c2e57610100808354040283529160200191610c59565b820191906000526020600020905b815481529060010190602001808311610c3c57829003601f168201915b505050505090508051600003610ca95783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929450610b8a9350505050565b6000839003610cb9579050610b8a565b60028310610d3757610d0084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061180692505050565b80610d0e8460028188612aaa565b604051602001610d2093929190612ad4565b604051602081830303815290604052915050610b8a565b83836040517f9a6d49cd000000000000000000000000000000000000000000000000000000008152600401610924929190612b27565b60005b81811015610e765736838383818110610d8b57610d8b612b3b565b9050602002810190610d9d9190612b6a565b9050610dd0610daf60208301836126e4565b602083013563ffffffff919091166000908152600160205260409020541490565b610dda5750610e6e565b3063d045a0dc60c08301358360a0810135610df9610100830183612ba8565b610e0a610100890160e08a016125d9565b610e186101208a018a612ba8565b6040518963ffffffff1660e01b8152600401610e3a9796959493929190612c23565b6000604051808303818588803b158015610e5357600080fd5b505af1158015610e67573d6000803e3d6000fd5b5050505050505b600101610d70565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa158015610ec2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eea9190810190612cb7565b6040517f8351eea700000000000000000000000000000000000000000000000000000000815260040161092491906125c6565b610f2561220e565b6040805180820190915260008082526020820152610f4485858561184b565b915091505b935093915050565b610f5961139e565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c169063ca5eb5e190602401600060405180830381600087803b158015610fe257600080fd5b505af1158015610ff6573d6000803e3d6000fd5b5050505050565b333014611036576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109ad8787878787878761099e565b61104d61139e565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001610b51565b6110c861139e565b73ffffffffffffffffffffffffffffffffffffffff8116611118576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610924565b6111218161168a565b50565b600060208201803590600190839061113c90866126e4565b63ffffffff1681526020810191909152604001600020541492915050565b600080611166856118b3565b915081905083811015610f49576040517f71c4efed0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610924565b63ffffffff811660009081526001602052604081205480610a2f576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610924565b600061121661121387876118ea565b90565b905060006112428261123061122b8a8a611909565b61192c565b61123d60208d018d6126e4565b611962565b9050602886111561132f57600061127f61126260608c0160408d01612d25565b61126f60208d018d6126e4565b8461127a8c8c611a17565b611a62565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c1690637cb59012906112fb9086908d906000908790600401612d42565b600060405180830381600087803b15801561131557600080fd5b505af1158015611329573d6000803e3d6000fd5b50505050505b73ffffffffffffffffffffffffffffffffffffffff8216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61137560208d018d6126e4565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b6e576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610924565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b60608060006114a3856020013561145c86611a94565b61146960a0890189612ba8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ac092505050565b90935090506000816114b65760016114b9565b60025b90506114d96114cb60208801886126e4565b8261060d60808a018a612ba8565b60045490935073ffffffffffffffffffffffffffffffffffffffff168015611592576040517f043a78eb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063043a78eb9061154f9088908890600401612d81565b602060405180830381865afa15801561156c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115909190612da6565b505b5050509250929050565b60408051808201909152600080825260208201527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff16815260200161160c896111af565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611641929190612dc3565b6040805180830381865afa15801561165d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116819190612e97565b95945050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b81518110156117d65761173182828151811061172057611720612b3b565b602002602001015160400151611806565b81818151811061174357611743612b3b565b6020026020010151604001516003600084848151811061176557611765612b3b565b60200260200101516000015163ffffffff1663ffffffff168152602001908152602001600020600084848151811061179f5761179f612b3b565b60200260200101516020015161ffff1661ffff16815260200190815260200160002090816117cd9190612f03565b50600101611702565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051610b519190612fff565b600281015161ffff81166003146109c857816040517f9a6d49cd00000000000000000000000000000000000000000000000000000000815260040161092491906125c6565b61185361220e565b604080518082019091526000808252602082015260208501356000036118a8576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610924565b610f44858585611b52565b60007f000000000000000000000000000000000000000000000000000000003b9aca006118e081846130a8565b610a2f91906130e3565b60006118f96020828486612aaa565b61190291613121565b9392505050565b6000611919602860208486612aaa565b6119229161315d565b60c01c9392505050565b6000610a2f7f000000000000000000000000000000000000000000000000000000003b9aca0067ffffffffffffffff84166130e3565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490526000917f000000000000000000000000000000000000012def132e61759048be5b5c6033909116906340c10f1990604401600060405180830381600087803b1580156119f757600080fd5b505af1158015611a0b573d6000803e3d6000fd5b50949695505050505050565b6060611a268260288186612aaa565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b606084848484604051602001611a7b94939291906131a5565b6040516020818303038152906040529050949350505050565b6000610a2f7f000000000000000000000000000000000000000000000000000000003b9aca00836130a8565b8051606090151580611b21578484604051602001611b0d92919091825260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016602082015260280190565b604051602081830303815290604052611b48565b84843385604051602001611b389493929190613223565b6040516020818303038152906040525b9150935093915050565b611b5a61220e565b6040805180820190915260008082526020820152600080611b9133604089013560608a0135611b8c60208c018c6126e4565b611c4d565b91509150600080611ba28984611446565b9092509050611bce611bb760208b018b6126e4565b8383611bc8368d90038d018d61327c565b8b611d14565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90611c1c908d018d6126e4565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b600080611c5b85858561115a565b6040517f79cc679000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018490529294509092507f000000000000000000000000000000000000012def132e61759048be5b5c6033909116906379cc679090604401600060405180830381600087803b158015611cf357600080fd5b505af1158015611d07573d6000803e3d6000fd5b5050505094509492505050565b611d1c61220e565b6000611d2b8460000151611e2c565b602085015190915015611d4557611d458460200151611e6d565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff168152602001611da28c6111af565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611dde929190612dc3565b60806040518083038185885af1158015611dfc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e2191906132ae565b979650505050505050565b6000813414611e69576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610924565b5090565b60007f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efe919061283d565b905073ffffffffffffffffffffffffffffffffffffffff8116611f4d576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805133602482018190527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff818116604485015260648085018890528551808603909101815260849094019094526020830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526109c893851692869061200d908590612013565b50505050565b600061203573ffffffffffffffffffffffffffffffffffffffff8416836120ae565b9050805160001415801561205a5750808060200190518101906120589190612da6565b155b156120a9576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610924565b505050565b606061190283836000846000808573ffffffffffffffffffffffffffffffffffffffff1684866040516120e191906132f8565b60006040518083038185875af1925050503d806000811461211e576040519150601f19603f3d011682016040523d82523d6000602084013e612123565b606091505b509150915061213386838361213d565b9695505050505050565b6060826121525761214d826121cc565b611902565b8151158015612176575073ffffffffffffffffffffffffffffffffffffffff84163b155b156121c5576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610924565b5080611902565b8051156121dc5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051806060016040528060008019168152602001600067ffffffffffffffff168152602001612251604051806040016040528060008152602001600081525090565b905290565b600060e0828403121561226857600080fd5b50919050565b60006020828403121561228057600080fd5b813567ffffffffffffffff81111561229757600080fd5b610b8a84828501612256565b60005b838110156122be5781810151838201526020016122a6565b50506000910152565b600081518084526122df8160208601602086016122a3565b601f01601f19169290920160200192915050565b8351815260208085015190820152600060a08201604060a0604085015281865180845260c08601915060c08160051b8701019350602080890160005b8381101561238c578887037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40018552815180518852830151838801879052612379878901826122c7565b975050938201939082019060010161232f565b50508751606088015250505060208501516080850152509050610b8a565b60006060828403121561226857600080fd5b60008083601f8401126123ce57600080fd5b50813567ffffffffffffffff8111156123e657600080fd5b6020830191508360208285010111156123fe57600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461112157600080fd5b600080600080600080600060e0888a03121561244257600080fd5b61244c89896123aa565b965060608801359550608088013567ffffffffffffffff8082111561247057600080fd5b61247c8b838c016123bc565b909750955060a08a0135915061249182612405565b90935060c089013590808211156124a757600080fd5b506124b48a828b016123bc565b989b979a50959850939692959293505050565b803563ffffffff811681146124db57600080fd5b919050565b600080604083850312156124f357600080fd5b6124fc836124c7565b946020939093013593505050565b801515811461112157600080fd5b6000806040838503121561252b57600080fd5b823567ffffffffffffffff81111561254257600080fd5b61254e85828601612256565b925050602083013561255f8161250a565b809150509250929050565b815181526020808301519082015260408101610a2f565b803561ffff811681146124db57600080fd5b600080604083850312156125a657600080fd5b6125af836124c7565b91506125bd60208401612581565b90509250929050565b60208152600061190260208301846122c7565b6000602082840312156125eb57600080fd5b813561190281612405565b60008060008060a0858703121561260c57600080fd5b61261686866123aa565b9350606085013567ffffffffffffffff81111561263257600080fd5b61263e878288016123bc565b909450925050608085013561265281612405565b939692955090935050565b60008083601f84011261266f57600080fd5b50813567ffffffffffffffff81111561268757600080fd5b6020830191508360208260051b85010111156123fe57600080fd5b600080602083850312156126b557600080fd5b823567ffffffffffffffff8111156126cc57600080fd5b6126d88582860161265d565b90969095509350505050565b6000602082840312156126f657600080fd5b611902826124c7565b6000806000806060858703121561271557600080fd5b61271e856124c7565b935061272c60208601612581565b9250604085013567ffffffffffffffff81111561274857600080fd5b612754878288016123bc565b95989497509550505050565b6000806000838503608081121561277657600080fd5b843567ffffffffffffffff81111561278d57600080fd5b61279987828801612256565b9450506040601f19820112156127ae57600080fd5b5060208401915060608401356127c381612405565b809150509250925092565b600060c0820190508351825267ffffffffffffffff6020850151166020830152604084015161280a604084018280518252602090810151910152565b5082516080830152602083015160a0830152611902565b60006060828403121561283357600080fd5b61190283836123aa565b60006020828403121561284f57600080fd5b815161190281612405565b60006020828403121561286c57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c908216806128b657607f821691505b602082108103612268577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6040516060810167ffffffffffffffff8111828210171561291257612912612873565b60405290565b6040805190810167ffffffffffffffff8111828210171561291257612912612873565b604051601f8201601f1916810167ffffffffffffffff8111828210171561296457612964612873565b604052919050565b600067ffffffffffffffff82111561298657612986612873565b50601f01601f191660200190565b600067ffffffffffffffff808411156129af576129af612873565b8360051b60206129c081830161293b565b8681529185019181810190368411156129d857600080fd5b865b84811015612a9e578035868111156129f25760008081fd5b88016060368290031215612a065760008081fd5b612a0e6128ef565b612a17826124c7565b8152612a24868301612581565b8682015260408083013589811115612a3c5760008081fd5b929092019136601f840112612a515760008081fd5b8235612a64612a5f8261296c565b61293b565b8181523689838701011115612a795760008081fd5b818986018a8301376000918101890191909152908201528452509183019183016129da565b50979650505050505050565b60008085851115612aba57600080fd5b83861115612ac757600080fd5b5050820193919092039150565b60008451612ae68184602089016122a3565b8201838582376000930192835250909392505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b602081526000610b8a602083018486612afc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112612b9e57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612bdd57600080fd5b83018035915067ffffffffffffffff821115612bf857600080fd5b6020019150368190038213156123fe57600080fd5b67ffffffffffffffff8116811461112157600080fd5b63ffffffff612c31896124c7565b1681526020880135602082015260006040890135612c4e81612c0d565b67ffffffffffffffff811660408401525087606083015260e06080830152612c7a60e083018789612afc565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c0840152612ca9818587612afc565b9a9950505050505050505050565b600060208284031215612cc957600080fd5b815167ffffffffffffffff811115612ce057600080fd5b8201601f81018413612cf157600080fd5b8051612cff612a5f8261296c565b818152856020838501011115612d1457600080fd5b6116818260208301602086016122a3565b600060208284031215612d3757600080fd5b813561190281612c0d565b73ffffffffffffffffffffffffffffffffffffffff8516815283602082015261ffff8316604082015260806060820152600061213360808301846122c7565b604081526000612d9460408301856122c7565b828103602084015261168181856122c7565b600060208284031215612db857600080fd5b81516119028161250a565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a06080840152612df960e08401826122c7565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a0850152612e3482826122c7565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b600060408284031215612e7957600080fd5b612e81612918565b9050815181526020820151602082015292915050565b600060408284031215612ea957600080fd5b6119028383612e67565b601f8211156120a9576000816000526020600020601f850160051c81016020861015612edc5750805b601f850160051c820191505b81811015612efb57828155600101612ee8565b505050505050565b815167ffffffffffffffff811115612f1d57612f1d612873565b612f3181612f2b84546128a2565b84612eb3565b602080601f831160018114612f845760008415612f4e5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612efb565b600085815260208120601f198616915b82811015612fb357888601518255948401946001909101908401612f94565b5085821015612fef57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561309a578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805163ffffffff1684528781015161ffff16888501528601516060878501819052613086818601836122c7565b968901969450505090860190600101613028565b509098975050505050505050565b6000826130de577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b8082028115828204841417610a2f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80356020831015610a2f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff000000000000000000000000000000000000000000000000813581811691600885101561319d5780818660080360031b1b83161692505b505092915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b1681527fffffffff000000000000000000000000000000000000000000000000000000008460e01b16600882015282600c8201526000825161321381602c8501602087016122a3565b91909101602c0195945050505050565b8481527fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1660208201528260288201526000825161326c8160488501602087016122a3565b9190910160480195945050505050565b60006040828403121561328e57600080fd5b613296612918565b82358152602083013560208201528091505092915050565b6000608082840312156132c057600080fd5b6132c86128ef565b8251815260208301516132da81612c0d565b60208201526132ec8460408501612e67565b60408201529392505050565b60008251612b9e8184602087016122a356fea2646970667358221220841d311dd4624f62db019fcb6688ab80f2304e7607e7ac0bbf21638a83e701ad64736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000012def132e61759048be5b5c60330000000000000000000000001a44076050125825900e736c501f859c50fe728c0000000000000000000000000fea3e5840334fc758a3decf14546bfdfbef5cd3
-----Decoded View---------------
Arg [0] : _token (address): 0x000000000000012DeF132E61759048bE5b5C6033
Arg [1] : _endpoint (address): 0x1a44076050125825900e736c501f859c50fE728c
Arg [2] : _owner (address): 0x0fea3e5840334Fc758A3DECf14546bFdfBef5cd3
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000012def132e61759048be5b5c6033
Arg [1] : 0000000000000000000000001a44076050125825900e736c501f859c50fe728c
Arg [2] : 0000000000000000000000000fea3e5840334fc758a3decf14546bfdfbef5cd3
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 31 Chains
Tokens
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.

