Source Code
Overview
ETH Balance
1 wei
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 49 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
Amount
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Execute Taker Bi... | 5438332 | 917 days ago | IN | 0.002 ETH | 0.00031643 | ||||
| Execute Taker Bi... | 5194770 | 953 days ago | IN | 0.02 ETH | 0.00055481 | ||||
| Cancel Order Non... | 5107417 | 966 days ago | IN | 0 ETH | 0.00655134 | ||||
| Execute Taker Bi... | 4979231 | 986 days ago | IN | 0.001 ETH | 0.01883354 | ||||
| Cancel Order Non... | 4912305 | 997 days ago | IN | 0 ETH | 0.00070535 | ||||
| Cancel Order Non... | 4900170 | 999 days ago | IN | 0 ETH | 0.00010942 | ||||
| Increment Bid As... | 4873344 | 1003 days ago | IN | 0 ETH | 0.00163955 | ||||
| Cancel Order Non... | 4872912 | 1003 days ago | IN | 0 ETH | 0.0005453 | ||||
| Cancel Order Non... | 4871398 | 1003 days ago | IN | 0 ETH | 0.00486781 | ||||
| Execute Multiple... | 4755477 | 1021 days ago | IN | 0.0005 ETH | 0.00551274 | ||||
| Execute Multiple... | 4755446 | 1021 days ago | IN | 0.0002 ETH | 0.00200203 | ||||
| Execute Multiple... | 4736871 | 1024 days ago | IN | 0.006 ETH | 0.06191438 | ||||
| Execute Multiple... | 4736869 | 1024 days ago | IN | 0.006 ETH | 0.0566671 | ||||
| Execute Multiple... | 4736866 | 1024 days ago | IN | 0.006 ETH | 0.05417663 | ||||
| Execute Multiple... | 4736864 | 1024 days ago | IN | 0.006 ETH | 0.05282239 | ||||
| Execute Multiple... | 4736861 | 1024 days ago | IN | 0.006 ETH | 0.05510501 | ||||
| Execute Multiple... | 4732315 | 1025 days ago | IN | 0.003 ETH | 0.00502719 | ||||
| Execute Multiple... | 4732312 | 1025 days ago | IN | 0.003 ETH | 0.00487842 | ||||
| Execute Multiple... | 4732158 | 1025 days ago | IN | 0.15 ETH | 0.00269404 | ||||
| Execute Multiple... | 4732152 | 1025 days ago | IN | 0.3 ETH | 0.00504627 | ||||
| Execute Multiple... | 4732149 | 1025 days ago | IN | 0.3 ETH | 0.00525912 | ||||
| Execute Multiple... | 4732133 | 1025 days ago | IN | 0.03 ETH | 0.00506743 | ||||
| Execute Multiple... | 4732130 | 1025 days ago | IN | 0.03 ETH | 0.00499201 | ||||
| Execute Taker Bi... | 4732062 | 1025 days ago | IN | 2 ETH | 0.00039697 | ||||
| Execute Taker Bi... | 4732029 | 1025 days ago | IN | 3 ETH | 0.00042936 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method |
Block
|
From
|
To
|
Amount
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 5438332 | 917 days ago | 0.00001 ETH | ||||
| Transfer | 5438332 | 917 days ago | 0.00199 ETH | ||||
| Transfer | 5194770 | 953 days ago | 0.0001 ETH | ||||
| Transfer | 5194770 | 953 days ago | 0.0199 ETH | ||||
| Transfer | 4979231 | 986 days ago | 0.000005 ETH | ||||
| Transfer | 4979231 | 986 days ago | 0.000995 ETH | ||||
| Transfer | 4755477 | 1021 days ago | 0.0001 ETH | ||||
| Transfer | 4755477 | 1021 days ago | 0.000002 ETH | ||||
| Transfer | 4755477 | 1021 days ago | 0.0000995 ETH | ||||
| Transfer | 4755477 | 1021 days ago | 0.0000995 ETH | ||||
| Transfer | 4755477 | 1021 days ago | 0.0000995 ETH | ||||
| Transfer | 4755477 | 1021 days ago | 0.0000995 ETH | ||||
| Transfer | 4755477 | 1021 days ago | 0.0000995 ETH | ||||
| Transfer | 4755446 | 1021 days ago | 0.0001 ETH | ||||
| Transfer | 4755446 | 1021 days ago | 0.0000005 ETH | ||||
| Transfer | 4755446 | 1021 days ago | 0.0000995 ETH | ||||
| Transfer | 4755446 | 1021 days ago | 0.0000995 ETH | ||||
| Transfer | 4736871 | 1024 days ago | 0.00003 ETH | ||||
| Transfer | 4736871 | 1024 days ago | 0.000199 ETH | ||||
| Transfer | 4736871 | 1024 days ago | 0.000199 ETH | ||||
| Transfer | 4736871 | 1024 days ago | 0.000199 ETH | ||||
| Transfer | 4736871 | 1024 days ago | 0.000199 ETH | ||||
| Transfer | 4736871 | 1024 days ago | 0.000199 ETH | ||||
| Transfer | 4736871 | 1024 days ago | 0.000199 ETH | ||||
| Transfer | 4736871 | 1024 days ago | 0.000199 ETH |
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_protocolFeeRecipient","type":"address"},{"internalType":"address","name":"_transferManager","type":"address"},{"internalType":"address","name":"_weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"CallerInvalid","type":"error"},{"inputs":[],"name":"ChainIdInvalid","type":"error"},{"inputs":[],"name":"CreatorFeeBpTooHigh","type":"error"},{"inputs":[],"name":"CurrencyInvalid","type":"error"},{"inputs":[],"name":"ERC20TransferFromFail","type":"error"},{"inputs":[],"name":"LengthsInvalid","type":"error"},{"inputs":[],"name":"MerkleProofInvalid","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"MerkleProofTooLarge","type":"error"},{"inputs":[],"name":"NewGasLimitETHTransferTooLow","type":"error"},{"inputs":[],"name":"NewProtocolFeeRecipientCannotBeNullAddress","type":"error"},{"inputs":[],"name":"NoOngoingTransferInProgress","type":"error"},{"inputs":[],"name":"NoSelectorForStrategy","type":"error"},{"inputs":[],"name":"NoncesInvalid","type":"error"},{"inputs":[],"name":"NotAContract","type":"error"},{"inputs":[],"name":"NotAffiliateController","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotV2Strategy","type":"error"},{"inputs":[],"name":"NullSignerAddress","type":"error"},{"inputs":[],"name":"OutsideOfTimeRange","type":"error"},{"inputs":[],"name":"PercentageTooHigh","type":"error"},{"inputs":[],"name":"QuoteTypeInvalid","type":"error"},{"inputs":[],"name":"ReentrancyFail","type":"error"},{"inputs":[],"name":"RenouncementNotInProgress","type":"error"},{"inputs":[],"name":"SameDomainSeparator","type":"error"},{"inputs":[],"name":"SignatureEOAInvalid","type":"error"},{"inputs":[],"name":"SignatureERC1271Invalid","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"SignatureLengthInvalid","type":"error"},{"inputs":[],"name":"SignatureParameterSInvalid","type":"error"},{"inputs":[{"internalType":"uint8","name":"v","type":"uint8"}],"name":"SignatureParameterVInvalid","type":"error"},{"inputs":[],"name":"StrategyHasNoSelector","type":"error"},{"inputs":[{"internalType":"uint256","name":"strategyId","type":"uint256"}],"name":"StrategyNotAvailable","type":"error"},{"inputs":[],"name":"StrategyNotUsed","type":"error"},{"inputs":[],"name":"StrategyProtocolFeeTooHigh","type":"error"},{"inputs":[],"name":"TransferAlreadyInProgress","type":"error"},{"inputs":[],"name":"TransferNotInProgress","type":"error"},{"inputs":[],"name":"WrongPotentialOwner","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"affiliate","type":"address"},{"indexed":false,"internalType":"address","name":"currency","type":"address"},{"indexed":false,"internalType":"uint256","name":"affiliateFee","type":"uint256"}],"name":"AffiliatePayment","type":"event"},{"anonymous":false,"inputs":[],"name":"CancelOwnershipTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"currency","type":"address"},{"indexed":false,"internalType":"bool","name":"isAllowed","type":"bool"}],"name":"CurrencyStatusUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"InitiateOwnershipRenouncement","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":false,"internalType":"address","name":"potentialOwner","type":"address"}],"name":"InitiateOwnershipTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"affiliateController","type":"address"}],"name":"NewAffiliateController","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isActive","type":"bool"}],"name":"NewAffiliateProgramStatus","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"affiliate","type":"address"},{"indexed":false,"internalType":"uint256","name":"rate","type":"uint256"}],"name":"NewAffiliateRate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"bidNonce","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"askNonce","type":"uint256"}],"name":"NewBidAskNonces","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"creatorFeeManager","type":"address"}],"name":"NewCreatorFeeManager","type":"event"},{"anonymous":false,"inputs":[],"name":"NewDomainSeparator","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"gasLimitETHTransfer","type":"uint256"}],"name":"NewGasLimitETHTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxCreatorFeeBp","type":"uint256"}],"name":"NewMaxCreatorFeeBp","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"NewOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"protocolFeeRecipient","type":"address"}],"name":"NewProtocolFeeRecipient","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"strategyId","type":"uint256"},{"indexed":false,"internalType":"uint16","name":"standardProtocolFeeBp","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"minTotalFeeBp","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"maxProtocolFeeBp","type":"uint16"},{"indexed":false,"internalType":"bytes4","name":"selector","type":"bytes4"},{"indexed":false,"internalType":"bool","name":"isMakerBid","type":"bool"},{"indexed":false,"internalType":"address","name":"implementation","type":"address"}],"name":"NewStrategy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"orderNonces","type":"uint256[]"}],"name":"OrderNoncesCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"strategyId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isActive","type":"bool"},{"indexed":false,"internalType":"uint16","name":"standardProtocolFeeBp","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"minTotalFeeBp","type":"uint16"}],"name":"StrategyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"subsetNonces","type":"uint256[]"}],"name":"SubsetNoncesCancelled","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"bytes32","name":"orderHash","type":"bytes32"},{"internalType":"uint256","name":"orderNonce","type":"uint256"},{"internalType":"bool","name":"isNonceInvalidated","type":"bool"}],"indexed":false,"internalType":"struct ILooksRareProtocol.NonceInvalidationParameters","name":"nonceInvalidationParameters","type":"tuple"},{"indexed":false,"internalType":"address","name":"askUser","type":"address"},{"indexed":false,"internalType":"address","name":"bidUser","type":"address"},{"indexed":false,"internalType":"uint256","name":"strategyId","type":"uint256"},{"indexed":false,"internalType":"address","name":"currency","type":"address"},{"indexed":false,"internalType":"address","name":"collection","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"indexed":false,"internalType":"address[2]","name":"feeRecipients","type":"address[2]"},{"indexed":false,"internalType":"uint256[3]","name":"feeAmounts","type":"uint256[3]"}],"name":"TakerAsk","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"bytes32","name":"orderHash","type":"bytes32"},{"internalType":"uint256","name":"orderNonce","type":"uint256"},{"internalType":"bool","name":"isNonceInvalidated","type":"bool"}],"indexed":false,"internalType":"struct ILooksRareProtocol.NonceInvalidationParameters","name":"nonceInvalidationParameters","type":"tuple"},{"indexed":false,"internalType":"address","name":"bidUser","type":"address"},{"indexed":false,"internalType":"address","name":"bidRecipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"strategyId","type":"uint256"},{"indexed":false,"internalType":"address","name":"currency","type":"address"},{"indexed":false,"internalType":"address","name":"collection","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"indexed":false,"internalType":"address[2]","name":"feeRecipients","type":"address[2]"},{"indexed":false,"internalType":"uint256[3]","name":"feeAmounts","type":"uint256[3]"}],"name":"TakerBid","type":"event"},{"inputs":[],"name":"MAGIC_VALUE_ORDER_NONCE_EXECUTED","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"standardProtocolFeeBp","type":"uint16"},{"internalType":"uint16","name":"minTotalFeeBp","type":"uint16"},{"internalType":"uint16","name":"maxProtocolFeeBp","type":"uint16"},{"internalType":"bytes4","name":"selector","type":"bytes4"},{"internalType":"bool","name":"isMakerBid","type":"bool"},{"internalType":"address","name":"implementation","type":"address"}],"name":"addStrategy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"affiliateController","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"affiliateRates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"orderNonces","type":"uint256[]"}],"name":"cancelOrderNonces","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelOwnershipTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"subsetNonces","type":"uint256[]"}],"name":"cancelSubsetNonces","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"chainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"confirmOwnershipRenouncement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"confirmOwnershipTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"creatorFeeManager","outputs":[{"internalType":"contract ICreatorFeeManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"domainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"bytes","name":"additionalParameters","type":"bytes"}],"internalType":"struct OrderStructs.Taker[]","name":"takerBids","type":"tuple[]"},{"components":[{"internalType":"enum QuoteType","name":"quoteType","type":"uint8"},{"internalType":"uint256","name":"globalNonce","type":"uint256"},{"internalType":"uint256","name":"subsetNonce","type":"uint256"},{"internalType":"uint256","name":"orderNonce","type":"uint256"},{"internalType":"uint256","name":"strategyId","type":"uint256"},{"internalType":"enum CollectionType","name":"collectionType","type":"uint8"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"additionalParameters","type":"bytes"}],"internalType":"struct OrderStructs.Maker[]","name":"makerAsks","type":"tuple[]"},{"internalType":"bytes[]","name":"makerSignatures","type":"bytes[]"},{"components":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"components":[{"internalType":"bytes32","name":"value","type":"bytes32"},{"internalType":"enum OrderStructs.MerkleTreeNodePosition","name":"position","type":"uint8"}],"internalType":"struct OrderStructs.MerkleTreeNode[]","name":"proof","type":"tuple[]"}],"internalType":"struct OrderStructs.MerkleTree[]","name":"merkleTrees","type":"tuple[]"},{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"bool","name":"isAtomic","type":"bool"}],"name":"executeMultipleTakerBids","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"bytes","name":"additionalParameters","type":"bytes"}],"internalType":"struct OrderStructs.Taker","name":"takerAsk","type":"tuple"},{"components":[{"internalType":"enum QuoteType","name":"quoteType","type":"uint8"},{"internalType":"uint256","name":"globalNonce","type":"uint256"},{"internalType":"uint256","name":"subsetNonce","type":"uint256"},{"internalType":"uint256","name":"orderNonce","type":"uint256"},{"internalType":"uint256","name":"strategyId","type":"uint256"},{"internalType":"enum CollectionType","name":"collectionType","type":"uint8"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"additionalParameters","type":"bytes"}],"internalType":"struct OrderStructs.Maker","name":"makerBid","type":"tuple"},{"internalType":"bytes","name":"makerSignature","type":"bytes"},{"components":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"components":[{"internalType":"bytes32","name":"value","type":"bytes32"},{"internalType":"enum OrderStructs.MerkleTreeNodePosition","name":"position","type":"uint8"}],"internalType":"struct OrderStructs.MerkleTreeNode[]","name":"proof","type":"tuple[]"}],"internalType":"struct OrderStructs.MerkleTree","name":"merkleTree","type":"tuple"},{"internalType":"address","name":"affiliate","type":"address"}],"name":"executeTakerAsk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"bytes","name":"additionalParameters","type":"bytes"}],"internalType":"struct OrderStructs.Taker","name":"takerBid","type":"tuple"},{"components":[{"internalType":"enum QuoteType","name":"quoteType","type":"uint8"},{"internalType":"uint256","name":"globalNonce","type":"uint256"},{"internalType":"uint256","name":"subsetNonce","type":"uint256"},{"internalType":"uint256","name":"orderNonce","type":"uint256"},{"internalType":"uint256","name":"strategyId","type":"uint256"},{"internalType":"enum CollectionType","name":"collectionType","type":"uint8"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"additionalParameters","type":"bytes"}],"internalType":"struct OrderStructs.Maker","name":"makerAsk","type":"tuple"},{"internalType":"bytes","name":"makerSignature","type":"bytes"},{"components":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"components":[{"internalType":"bytes32","name":"value","type":"bytes32"},{"internalType":"enum OrderStructs.MerkleTreeNodePosition","name":"position","type":"uint8"}],"internalType":"struct OrderStructs.MerkleTreeNode[]","name":"proof","type":"tuple[]"}],"internalType":"struct OrderStructs.MerkleTree","name":"merkleTree","type":"tuple"},{"internalType":"address","name":"affiliate","type":"address"}],"name":"executeTakerBid","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint256","name":"proofLength","type":"uint256"}],"name":"hashBatchOrder","outputs":[{"internalType":"bytes32","name":"batchOrderHash","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"bid","type":"bool"},{"internalType":"bool","name":"ask","type":"bool"}],"name":"incrementBidAskNonces","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initiateOwnershipRenouncement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newPotentialOwner","type":"address"}],"name":"initiateOwnershipTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isAffiliateProgramActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isCurrencyAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxCreatorFeeBp","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownershipStatus","outputs":[{"internalType":"enum IOwnableTwoSteps.Status","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"potentialOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFeeRecipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"bytes","name":"additionalParameters","type":"bytes"}],"internalType":"struct OrderStructs.Taker","name":"takerBid","type":"tuple"},{"components":[{"internalType":"enum QuoteType","name":"quoteType","type":"uint8"},{"internalType":"uint256","name":"globalNonce","type":"uint256"},{"internalType":"uint256","name":"subsetNonce","type":"uint256"},{"internalType":"uint256","name":"orderNonce","type":"uint256"},{"internalType":"uint256","name":"strategyId","type":"uint256"},{"internalType":"enum CollectionType","name":"collectionType","type":"uint8"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"additionalParameters","type":"bytes"}],"internalType":"struct OrderStructs.Maker","name":"makerAsk","type":"tuple"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"bytes32","name":"orderHash","type":"bytes32"}],"name":"restrictedExecuteTakerBid","outputs":[{"internalType":"uint256","name":"protocolFeeAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"strategyInfo","outputs":[{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"uint16","name":"standardProtocolFeeBp","type":"uint16"},{"internalType":"uint16","name":"minTotalFeeBp","type":"uint16"},{"internalType":"uint16","name":"maxProtocolFeeBp","type":"uint16"},{"internalType":"bytes4","name":"selector","type":"bytes4"},{"internalType":"bool","name":"isMakerBid","type":"bool"},{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transferManager","outputs":[{"internalType":"contract TransferManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAffiliateController","type":"address"}],"name":"updateAffiliateController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isActive","type":"bool"}],"name":"updateAffiliateProgramStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"uint256","name":"bp","type":"uint256"}],"name":"updateAffiliateRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newCreatorFeeManager","type":"address"}],"name":"updateCreatorFeeManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"bool","name":"isAllowed","type":"bool"}],"name":"updateCurrencyStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateDomainSeparator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newGasLimitETHTransfer","type":"uint256"}],"name":"updateETHGasLimitForTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"newMaxCreatorFeeBp","type":"uint16"}],"name":"updateMaxCreatorFeeBp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newProtocolFeeRecipient","type":"address"}],"name":"updateProtocolFeeRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"strategyId","type":"uint256"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"uint16","name":"newStandardProtocolFee","type":"uint16"},{"internalType":"uint16","name":"newMinTotalFee","type":"uint16"}],"name":"updateStrategy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userBidAskNonces","outputs":[{"internalType":"uint256","name":"bidNonce","type":"uint256"},{"internalType":"uint256","name":"askNonce","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userOrderNonce","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userSubsetNonce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60c06040526001600855600a805461ffff60a01b1916607d60a31b1790556108fc600e553480156200003057600080fd5b5060405162005dc838038062005dc8833981016040819052620000539162000417565b600380546001600160a01b0319166001600160a01b0386169081179091556040519081528490849084908390839082908190819081907f3edd90e7770f06fafde38004653b33870066c33bfc923ff6102acd601f85dfbc9060200160405180910390a150506040805160e08082018352600182526032602080840182815284860183815260c86060870181815260006080890181815260a08a0182815260c08b01838152838052600990985299517fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b805497519651945192519b5198516001600160a01b03166c01000000000000000000000000026001600160601b039915156b0100000000000000000000000260ff60581b199d909c1c670100000000000000029c909c1664ffffffffff60381b1961ffff948516650100000000000261ffff60281b199786166301000000029790971666ffffffff00000019999095166101000262ffff00199415159490941662ffffff19909a1699909917929092179690961691909117929092179490941617959095179290921694909417905592517f5290475107686ff8d28cd104943b127d453b23622ac55346373fa25c0c8957a29450620002719391829184908190819096875261ffff958616602088015293851660408701529190931660608501526001600160e01b031992909216608084015290151560a08301526001600160a01b031660c082015260e00190565b60405180910390a15062000285816200037e565b5050600b805460ff60a01b1916600160a01b1790556001600160a01b03166080525062000368905060408051808201825260018152601960f91b60209182015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f9e6bc51ef68b436657c5fe7a273ea9121a02b234cc81ad1e04892649c9168c6a818401527fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5606082015246608082018190523060a0808401919091528451808403909101815260c09092019093528051910120600d55600c55565b6001600160a01b031660a0525062000474915050565b6001600160a01b038116620003a657604051630f966bcb60e41b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527f8cffb07faa2874440346743bdc0a86b06c3335cc47dc49b327d10e77b73ceb109060200160405180910390a150565b80516001600160a01b03811681146200041257600080fd5b919050565b600080600080608085870312156200042e57600080fd5b6200043985620003fa565b93506200044960208601620003fa565b92506200045960408601620003fa565b91506200046960608601620003fa565b905092959194509250565b60805160a051615919620004af600039600081816107ee0152613a2501526000818161045d015281816138c4015261398e01526159196000f3fe6080604052600436106102dc5760003560e01c8063838b8f5c11610184578063ae1cce5a116100d6578063d5b010f51161008a578063ea179b7611610064578063ea179b7614610a05578063f4288a2114610a40578063f698da2514610a5357600080fd5b8063d5b010f5146109a5578063d5b7f065146109c5578063e72853e1146109e557600080fd5b8063bb91c339116100bb578063bb91c33914610850578063c0b6f56114610965578063d5a06adf1461098557600080fd5b8063ae1cce5a14610810578063b647a4041461083057600080fd5b806391be136011610138578063a02bab5711610112578063a02bab5714610773578063a39bf29f14610793578063ad5c4648146107dc57600080fd5b806391be13601461071d578063974e7c9f1461073d5780639a8a05921461075d57600080fd5b806386c076421161016957806386c07642146106bb57806389ccfe89146106db5780638da5cb5b146106f057600080fd5b8063838b8f5c1461067b5780638585ae03146106a857600080fd5b80634cbac9dc1161023d57806367d9dd79116101f15780637762df25116101cb5780637762df251461060157806379ed31d41461062e5780637a7d88511461064e57600080fd5b806367d9dd79146105735780636e90c014146105a65780637200b829146105ec57600080fd5b80635a195d19116102225780635a195d19146104f15780635b6ac0111461053157806364df049e1461054657600080fd5b80634cbac9dc146104a457806354878876146104d157600080fd5b80632bb5a9e611610294578063463357ec11610279578063463357ec146103f757806346b625bc1461042b57806346ea25521461044b57600080fd5b80632bb5a9e6146103a35780633e567539146103e257600080fd5b80631df47f80116102c55780631df47f801461032357806320cd05c71461034357806323452b9c1461038e57600080fd5b8063134849a6146102e15780631d3c426814610303575b600080fd5b3480156102ed57600080fd5b506103016102fc366004614520565b610a69565b005b34801561030f57600080fd5b5061030161031e3660046145a8565b610b63565b34801561032f57600080fd5b5061030161033e3660046145e1565b610bfa565b34801561034f57600080fd5b5061037b61035e366004614605565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b34801561039a57600080fd5b50610301610c0e565b3480156103af57600080fd5b506004546103d59074010000000000000000000000000000000000000000900460ff1681565b6040516103859190614660565b3480156103ee57600080fd5b50610301610d15565b34801561040357600080fd5b5061037b7f53849a1acec87308423850dccd979fc7a4b74b75a79b19c3b98ec8df38a599db81565b34801561043757600080fd5b5061030161044636600461468c565b610e0c565b34801561045757600080fd5b5061047f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610385565b3480156104b057600080fd5b5060055461047f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104dd57600080fd5b506103016104ec3660046146a7565b610ed6565b3480156104fd57600080fd5b5061052161050c3660046145e1565b60076020526000908152604090205460ff1681565b6040519015158152602001610385565b34801561053d57600080fd5b50610301610f58565b34801561055257600080fd5b50600a5461047f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561057f57600080fd5b50600454610521907501000000000000000000000000000000000000000000900460ff1681565b3480156105b257600080fd5b50600a546105d99074010000000000000000000000000000000000000000900461ffff1681565b60405161ffff9091168152602001610385565b3480156105f857600080fd5b50610301611032565b34801561060d57600080fd5b5060045461047f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561063a57600080fd5b50610301610649366004614520565b611170565b34801561065a57600080fd5b5061037b6106693660046145e1565b60066020526000908152604090205481565b34801561068757600080fd5b50600b5461047f9073ffffffffffffffffffffffffffffffffffffffff1681565b6103016106b63660046146ef565b611250565b3480156106c757600080fd5b5061037b6106d63660046147df565b6113fc565b3480156106e757600080fd5b50610301611439565b3480156106fc57600080fd5b5060035461047f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561072957600080fd5b5061030161073836600461482f565b611583565b34801561074957600080fd5b506103016107583660046148ab565b611996565b34801561076957600080fd5b5061037b600c5481565b34801561077f57600080fd5b5061030161078e3660046145e1565b611a0f565b34801561079f57600080fd5b506107c76107ae3660046145e1565b6000602081905290815260409020805460019091015482565b60408051928352602083019190915201610385565b3480156107e857600080fd5b5061047f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561081c57600080fd5b5061030161082b366004614605565b611a8a565b34801561083c57600080fd5b5061030161084b3660046145e1565b611b75565b34801561085c57600080fd5b506108ec61086b3660046148ab565b60096020526000908152604090205460ff8082169161ffff61010082048116926301000000830482169265010000000000810490921691670100000000000000810460e01b916b0100000000000000000000008204169073ffffffffffffffffffffffffffffffffffffffff6c010000000000000000000000009091041687565b60408051971515885261ffff9687166020890152948616948701949094529390911660608501527fffffffff0000000000000000000000000000000000000000000000000000000016608084015290151560a083015273ffffffffffffffffffffffffffffffffffffffff1660c082015260e001610385565b34801561097157600080fd5b506103016109803660046145e1565b611bf0565b34801561099157600080fd5b506103016109a03660046148c4565b611cf2565b3480156109b157600080fd5b506103016109c0366004614913565b611e89565b3480156109d157600080fd5b5061037b6109e0366004614931565b611f4b565b3480156109f157600080fd5b50610301610a003660046146ef565b611f9b565b348015610a1157600080fd5b50610521610a20366004614605565b600260209081526000928352604080842090915290825290205460ff1681565b610301610a4e3660046149af565b612160565b348015610a5f57600080fd5b5061037b600d5481565b806000819003610aa5576040517f97983bdb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610b2257336000908152600260205260408120600191868685818110610ad457610ad4614a94565b6020908102929092013583525081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055600101610aa8565b507fe8036d6fb143373f3ff63e551373f5fffe4267f6809bf6d3934014a18a9b38f6338484604051610b5693929190614b0e565b60405180910390a1505050565b610b6b61266e565b73ffffffffffffffffffffffffffffffffffffffff821660008181526007602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168515159081179091558251938452908301527fba28eda47a2e15b1dd3269e6d82f66730d20a5661aa40e9faf9f311c7872a54391015b60405180910390a15050565b610c0261266e565b610c0b816126bf565b50565b610c1661266e565b60045474010000000000000000000000000000000000000000900460ff166000816002811115610c4857610c48614631565b03610c7f576040517fccf69db700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816002811115610c9357610c93614631565b03610cc157600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f8eca980489e87f7dba4f26917aa4bfc906eb3f2b4f7b4b9fd0ff2b8bb3e21ae390600090a150565b610d1d61266e565b600260045474010000000000000000000000000000000000000000900460ff166002811115610d4e57610d4e614631565b14610d85576040517f045c512200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055604051600081527f3edd90e7770f06fafde38004653b33870066c33bfc923ff6102acd601f85dfbc906020015b60405180910390a1565b610e1461266e565b6109c48161ffff161115610e54576040517f97d7dcfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8416908102919091179091556040519081527fcaba16bb74e50491b14ebf4755083b43aaf56a765134681af613a2ef8d732f4f906020015b60405180910390a150565b610ede61266e565b600480548215157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff9091161790556040517fdca612ba3556b7c2603089071be1feb2404df55dcabceee9d5fd852fdb39bc3490610ecb90831515815260200190565b610f6061266e565b600060045474010000000000000000000000000000000000000000900460ff166002811115610f9157610f91614631565b14610fc8576040517f74ed79ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740200000000000000000000000000000000000000001790556040517f3ff05a45e46337fa1cbf20996d2eeb927280bce099f37252bcca1040609604ec90600090a1565b600160045474010000000000000000000000000000000000000000900460ff16600281111561106357611063614631565b1461109a576040517f5e4f282600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045473ffffffffffffffffffffffffffffffffffffffff1633146110eb576040517fafdcfb9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001633908117909155600480547fffffffffffffffffffffff0000000000000000000000000000000000000000001690556040519081527f3edd90e7770f06fafde38004653b33870066c33bfc923ff6102acd601f85dfbc90602001610e02565b8060008190036111ac576040517f97983bdb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561121c573360009081526001602052604081207f53849a1acec87308423850dccd979fc7a4b74b75a79b19c3b98ec8df38a599db918686858181106111fa576111fa614a94565b60209081029290920135835250810191909152604001600020556001016111af565b507f0560c6093fba8a508d0e6ea3b4d7260d7afa9b152731f03a2d05dfe39b0ec425338484604051610b5693929190614b0e565b600b5474010000000000000000000000000000000000000000900460ff166002036112a7576040517f1bbee72600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167402000000000000000000000000000000000000000017905560006112f9610100870160e088016145e1565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205490915060ff1661135b576040517f4f79548700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061136e61136988614d1b565b61277f565b905061138e848288886113896101208d016101008e016145e1565b612934565b600061139c898933856129ff565b90506113aa83338684612d14565b6113b2612e73565b5050600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905550505050505050565b600061140782612ea1565b604080516020810192909252810184905260600160405160208183030381529060405280519060200120905092915050565b61144161266e565b600c54461461154f57611524604080518082018252600181527f320000000000000000000000000000000000000000000000000000000000000060209182015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f9e6bc51ef68b436657c5fe7a273ea9121a02b234cc81ad1e04892649c9168c6a818401527fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5606082015246608082018190523060a0808401919091528451808403909101815260c09092019093528051910120600d55600c55565b6040517f5b2d1f36cd3ec425baab07b99853532e2ba6387a472ddbff437c5cc96f2f20ca90600090a1565b6040517fa69915e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61158b61266e565b8361ffff168561ffff1611806115a857508461ffff168661ffff16115b806115b857506101f48461ffff16115b156115ef576040517fb704b7c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffff000000000000000000000000000000000000000000000000000000008316611648576040517fc2d0709200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166345b2b3816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b79190614e57565b6116ed576040517fef8c37d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160e080820183526001825261ffff808a1660208085019182528a83168587019081528a8416606087019081527fffffffff000000000000000000000000000000000000000000000000000000008b16608088019081528a151560a0890190815273ffffffffffffffffffffffffffffffffffffffff808c1660c08b0190815260088054600090815260099098529b87209a518b549851965195519451935191519092166c01000000000000000000000000026bffffffffffffffffffffffff9115156b010000000000000000000000027fffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffff94909b1c67010000000000000002939093167fffffffffffffffffffffffffffffffffffffffff0000000000ffffffffffffff948a1665010000000000027fffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffff968b16630100000002969096167fffffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffff97909a16610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff931515939093167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009099169890981791909117949094169690961791909117169290921793909317161790915581547f5290475107686ff8d28cd104943b127d453b23622ac55346373fa25c0c8957a292909161191483614ea3565b909155506040805191825261ffff898116602084015288811683830152871660608301527fffffffff000000000000000000000000000000000000000000000000000000008616608083015284151560a083015273ffffffffffffffffffffffffffffffffffffffff841660c0830152519081900360e00190a1505050505050565b61199e61266e565b6108fc8110156119da576040517fad6d14d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600e8190556040518181527ffc3a20d07f3d5bcc0b01a52011f630765611323fa9afa69f63ba2aa19f7364b690602001610ecb565b611a1761266e565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fa92d85531a006d07fd0df4c61259b6dc18e4f492857e2454e5a20ee5e55cddcc90602001610ecb565b60055473ffffffffffffffffffffffffffffffffffffffff163314611adb576040517f9f63004300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612710811115611b17576040517f2242dac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216600081815260066020908152604091829020849055815192835282018390527fa16126d9473196242b0784325b30642b89f34442dd178a852f5b88ee483a30d89101610bee565b611b7d61266e565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fa7014d98341b07b23615cb6b4da7cca2a381932b46fb39ca4b8c3875c53aa76490602001610ecb565b611bf861266e565b600060045474010000000000000000000000000000000000000000900460ff166002811115611c2957611c29614631565b14611c60576040517f74ed79ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffff000000000000000000000000000000000000000000909116811774010000000000000000000000000000000000000000179091556040805133815260208101929092527fb86c75c9bffca616b2d314cc914f7c3f1d174255b16b941c3f3ededee276d5ef9101610ecb565b611cfa61266e565b6008548410611d35576040517fbd7056c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526009602052604090205461ffff6501000000000090910481169082161180611d6957508061ffff168261ffff16115b15611da0576040517fb704b7c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260096020908152604091829020805461ffff858116630100000081027fffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffff92891661010081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff8c15159081167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009097169690961717939093161790935584518981529384019190915282840152606082015290517f3b25bf77fa688236b850bf89c87e353098688237aa18dc42593aff0f6387aea99181900360800190a150505050565b60006080611e98600143614edb565b3360009081526020819052604090208054600190910154914090921c92508415611edb57611ec68383614ef4565b33600090815260208190526040902081905591505b8315611f0357611eeb8382614ef4565b33600090815260208190526040902060010181905590505b60408051338152602081018490529081018290527fb738dd6073fae1a7128e3fcc6b4ca6e1356b7232f87cc98f8a2857bcd83dfc449060600160405180910390a15050505050565b6000333014611f86576040517fa78d09b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f92858585856129ff565b95945050505050565b600b5474010000000000000000000000000000000000000000900460ff16600203611ff2576040517f1bbee72600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740200000000000000000000000000000000000000001790556000612044610100870160e088016145e1565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205490915060ff161580612090575073ffffffffffffffffffffffffffffffffffffffff8116155b156120c7576040517f4f79548700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006120db610120880161010089016145e1565b905060006120eb61136989614d1b565b90506120fa8582898986612934565b60006121078a8a846130b3565b905061211584848784612d14565b5050600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790555050505050505050565b600b5474010000000000000000000000000000000000000000900460ff166002036121b7576040517f1bbee72600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740200000000000000000000000000000000000000001790558880158061220d5750878118868218178482181715155b15612244576040517f97983bdb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008989600081811061225957612259614a94565b905060200281019061226b9190614f07565b61227d9061010081019060e0016145e1565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205490915060ff166122df576040517f4f79548700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083156124555760005b8381101561244f57368c8c8381811061230557612305614a94565b90506020028101906123179190614f07565b905081156123945773ffffffffffffffffffffffffffffffffffffffff8416612347610100830160e084016145e1565b73ffffffffffffffffffffffffffffffffffffffff1614612394576040517f4f79548700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b368f8f848181106123a7576123a7614a94565b90506020028101906123b99190614f45565b905060006123c961136984614d1b565b90506124298b8b868181106123e0576123e0614a94565b90506020028101906123f29190614f45565b828f8f8881811061240557612405614a94565b90506020028101906124179190614f79565b61138961012089016101008a016145e1565b612435828433846129ff565b61243f9086614ef4565b94508360010193505050506122ea565b5061260c565b60005b8381101561260a57368c8c8381811061247357612473614a94565b90506020028101906124859190614f07565b905081156125025773ffffffffffffffffffffffffffffffffffffffff84166124b5610100830160e084016145e1565b73ffffffffffffffffffffffffffffffffffffffff1614612502576040517f4f79548700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b368f8f8481811061251557612515614a94565b90506020028101906125279190614f45565b9050600061253761136984614d1b565b905061254e8b8b868181106123e0576123e0614a94565b6040517fd5b7f065000000000000000000000000000000000000000000000000000000008152309063d5b7f065906125909085908790339087906004016152be565b6020604051808303816000875af19250505080156125e9575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526125e69181019061530d565b60015b156125fc576125f88187614ef4565b9550505b836001019350505050612458565b505b61261882338784612d14565b50612621612e73565b5050600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905550505050505050505050565b60035473ffffffffffffffffffffffffffffffffffffffff163314611581576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811661270c576040517ff966bcb000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f8cffb07faa2874440346743bdc0a86b06c3335cc47dc49b327d10e77b73ceb1090602001610ecb565b60007e3c1bce41a2de73dfe64d6eeb2b3d7f15f1c0c382d9d963c2c6daeb75f0e539826000015183602001518460400151856060015186608001518760a001518860c001518960e001516040516020016127e199989796959493929190615326565b60405160208183030381529060405282610100015183610120015184610140015185610160015186610180015160405160200161281e9190615396565b60405160208183030381529060405280519060200120876101a0015160405160200161284a9190615396565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825280516020918201206101c08c015180519083012073ffffffffffffffffffffffffffffffffffffffff90991691840191909152908201959095526060810193909352608083019190915260a082015260c081019190915260e081019190915261010001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261291792916020016153fc565b604051602081830303815290604052805190602001209050919050565b60006129436020870187615411565b91505080156129eb57600a81111561298f576040517febbd838a000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b6129a761299f6020880188615411565b88358861330b565b6129dd576040517fc8ac23c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129e88635826113fc565b94505b6129f785858585613323565b505050505050565b60006001612a106020860186615479565b6001811115612a2157612a21614631565b14612a58576040517fd641ac7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612a6c610120860161010087016145e1565b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020818152604080842060608c013585528252808420549484528382529092200154929350909190870135141580612af5575073ffffffffffffffffffffffffffffffffffffffff8216600090815260026020908152604080832089820135845290915290205460ff165b80612b0a57508015801590612b0a5750838114155b15612b41576040517fbc17cfe800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000806000806000612b558b8b336133c3565b94509450945094509450612b6f81878c606001358b6137d2565b612b8b8383612b856101008e0160e08f016145e1565b8c61383a565b612c16612b9e60e08c0160c08d016145e1565b612bae60c08d0160a08e01615479565b88600073ffffffffffffffffffffffffffffffffffffffff168f6000016020810190612bda91906145e1565b73ffffffffffffffffffffffffffffffffffffffff1614612c0d578e6000016020810190612c0891906145e1565b612c0f565b8c5b898961386e565b7f3ee3de4684413690dee6fff1a0a4f92916a1b97d1c5a83cdf24671844306b2e360405180606001604052808a81526020018c6060013581526020018315158152508a600073ffffffffffffffffffffffffffffffffffffffff168e6000016020810190612c8491906145e1565b73ffffffffffffffffffffffffffffffffffffffff1614612cb157612cac60208f018f6145e1565b612cb3565b8b5b8d608001358e60e0016020810190612ccb91906145e1565b8f60c0016020810190612cde91906145e1565b8b8b8b8b604051612cf89a9998979695949392919061552d565b60405180910390a150604001519450505050505b949350505050565b8015612e6d5773ffffffffffffffffffffffffffffffffffffffff821615612e46576004547501000000000000000000000000000000000000000000900460ff1615612e465773ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604081205461271090612d8e9084615624565b612d98919061563b565b90508015612e4457612daa8183614edb565b91508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612deb57612deb85858584613a05565b6040805173ffffffffffffffffffffffffffffffffffffffff8086168252871660208201529081018290527f49e92b6b3114f7e128555cd58c568f7c2e0e56fe9b4c46b6125bc308184623b39060600160405180910390a15b505b600a54612e6d908590859073ffffffffffffffffffffffffffffffffffffffff1684613a05565b50505050565b476001811115610c0b5760008060008060018503335af180612e9d576307246cf46000526004601cfd5b5050565b600081600103612ed257507f9661287f7a4aa4867db46a2453ee15bebac4e8fc25667a58718da658f15de643919050565b81600203612f0157507fa54ab330ea9e1dfccee2b86f3666989e7fbd479704416c757c8de8e820142a08919050565b81600303612f3057507f93390f5d45ede9dea305f16aec86b2472af4f823851637f1b7019ad0775cea49919050565b81600403612f5f57507f9dda2c8358da895e43d574bb15954ce5727b22e923a2d8f28261f297bce42f0b919050565b81600503612f8e57507f92dc717124e161262f9d10c7079e7d54dc51271893fba54aa4a0f270fecdcc98919050565b81600603612fbd57507fce02aee5a7a35d40d974463c4c6e5534954fb07a7e7bc966fee268a15337bfd8919050565b81600703612fec57507ff7a65efd167a18f7091b2bb929d687dd94503cf0a43620487055ed7d6b727559919050565b8160080361301b57507fdef24acacad1318b664520f7c10e8bc6d1e7f6f6f7c8b031e70624ceb42266a6919050565b8160090361304a57507f4cb4080dc4e7bae88b4dc4307ad5117fa4f26195998a1b5f40368809d7f4c7f2919050565b81600a0361307957507ff8b1f864164d8d6e0b45f1399bd711223117a4ab0b057a9c2d7779e86a7c88db919050565b6040517febbd838a00000000000000000000000000000000000000000000000000000000815260048101839052602401612986565b919050565b6000806130c36020850185615479565b60018111156130d4576130d4614631565b1461310b576040517fd641ac7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061311f610120850161010086016145e1565b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020908152604080832060608a01358452825280832054938352828252909120549293509091908601351415806131a7575073ffffffffffffffffffffffffffffffffffffffff8216600090815260026020908152604080832088820135845290915290205460ff165b806131bc575080158015906131bc5750838114155b156131f3576040517fbc17cfe800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060008060008060006132078a8a336133c3565b9450945094509450945061322181878b606001358b6137d2565b61324d61323460e08b0160c08c016145e1565b61324460c08c0160a08d01615479565b3389898961386e565b61326983836132636101008d0160e08e016145e1565b8961383a565b7f9aaa45d6db2ef74ead0751ea9113263d1dec1b50cea05f0ca2002cb8063564a460405180606001604052808a81526020018b60600135815260200183151581525033888c608001358d60e00160208101906132c591906145e1565b8e60c00160208101906132d891906145e1565b8b8b8b8b6040516132f29a9998979695949392919061552d565b60405180910390a1506040015198975050505050505050565b600082613319868685613a5a565b1495945050505050565b46600c540361339157600d546040517f1901000000000000000000000000000000000000000000000000000000000000602082015260228101919091526042810185905261338c9060620160405160208183030381529060405280519060200120828585613b25565b612e6d565b6040517f6fd794c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060806133ce614498565b6133d66144b6565b6000806133ed886101200135896101400135613ca5565b87608001356000036134bf5761341d61340a6101a08a018a615676565b6134186101808c018c615676565b613cbf565b6101608801356134316101808a018a615676565b61343f6101a08c018c615676565b8383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080870282810182019093528682529498509596509394938693869350839250850190849080828437600092019190915250959c50919a50600197509495506136f3945050505050565b608088013560009081526009602052604090205460ff16156136bb5760006134ea60208a018a615479565b60808a01356000908152600960205260409020549091506b010000000000000000000000900460ff168082036135285763ab9848466000526004601cfd5b600080600960008d608001358152602001908152602001600020600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600960008e60800135815260200190815260200160002060000160079054906101000a900460e01b8e8e6040516024016135b79291906156de565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516136409190615703565b6000604051808303816000865af19150503d806000811461367d576040519150601f19603f3d011682016040523d82523d6000602084013e613682565b606091505b50915091508161369457805160208201fd5b808060200190518101906136a8919061576a565b919c509a50965094506136f39350505050565b6040517fd73c2c6a00000000000000000000000000000000000000000000000000000000815260808901356004820152602401612986565b61370d61370660e08a0160c08b016145e1565b8288613d0d565b60208581019190915273ffffffffffffffffffffffffffffffffffffffff9190911681860152600090613742908a018a615479565b600181111561375357613753614631565b036137ab576137a6608089013582600061377060208e018e6145e1565b73ffffffffffffffffffffffffffffffffffffffff161461379d5761379860208d018d6145e1565b61379f565b895b8688613e67565b6137c6565b6137c660808901358261379f6101208c016101008d016145e1565b50939792965093509350565b836137dd57806137ff565b7f53849a1acec87308423850dccd979fc7a4b74b75a79b19c3b98ec8df38a599db5b73ffffffffffffffffffffffffffffffffffffffff909316600090815260016020908152604080832094835293905291909120919091555050565b825180156138565761385683838760005b602002015184613a05565b602084015180156129f7576129f7848488600161384b565b600085600181111561388257613882614631565b03613938576040517fa7bc96d300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063a7bc96d39061390190899088908890889088906004016157ea565b600060405180830381600087803b15801561391b57600080fd5b505af115801561392f573d6000803e3d6000fd5b505050506129f7565b600185600181111561394c5761394c614631565b036129f7576040517fa0a406c600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063a0a406c6906139cb90899088908890889088906004016157ea565b600060405180830381600087803b1580156139e557600080fd5b505af11580156139f9573d6000803e3d6000fd5b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416613a4e5761338c7f00000000000000000000000000000000000000000000000000000000000000008383600e54613f17565b612e6d8484848461402c565b60008183825b81811015613b1a576000878783818110613a7c57613a7c614a94565b9050604002016020016020810190613a949190615479565b6001811115613aa557613aa5614631565b03613ae057613ad9878783818110613abf57613abf614a94565b905060400201600001358460009182526020526040902090565b9250613b12565b613b0f83888884818110613af657613af6614a94565b9050604002016000013560009182526020526040902090565b92505b600101613a60565b509095945050505050565b8273ffffffffffffffffffffffffffffffffffffffff163b600003613bb3578273ffffffffffffffffffffffffffffffffffffffff16613b66858484614207565b73ffffffffffffffffffffffffffffffffffffffff1614612e6d576040517fd1085d1b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f1626ba7e000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff851690631626ba7e90613c0b90889087908790600401615849565b602060405180830381865afa158015613c28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c4c9190615863565b7fffffffff000000000000000000000000000000000000000000000000000000001614612e6d576040517ff6cd0e2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4281104283111715612e9d57637476320f6000526004601cfd5b6000838280821882151715613cdc57632e0c0f716000526004601cfd5b5060051b9050845b81156129f7576020820391508181013580613d0757632e0c0f716000526004601cfd5b50613ce4565b600b54600090819073ffffffffffffffffffffffffffffffffffffffff1615613e5f57600b546040517f70c1092100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906370c1092190613d8a90889088908890600401615880565b6040805180830381865afa158015613da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dca91906158b5565b909250905073ffffffffffffffffffffffffffffffffffffffff8216613df257506000613e5f565b600a54613e1b9074010000000000000000000000000000000000000000900461ffff1685615624565b613e2761271083615624565b1115613e5f576040517f97d7dcfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b935093915050565b60008581526009602052604081205461271090613e8f906301000000900461ffff1687615624565b613e99919061563b565b6020840151909150600003613ec05760408301819052613eb98186614edb565b8352613ef6565b613ed385878560016020020151846142f4565b604084018190526020840151613ee99087614edb565b613ef39190614edb565b83525b5073ffffffffffffffffffffffffffffffffffffffff909216909152505050565b6000806000806000868887f1905080614025578473ffffffffffffffffffffffffffffffffffffffff1663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015613f7257600080fd5b505af1158015613f86573d6000803e3d6000fd5b50506040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152602482018890528916935063a9059cbb925060440190506020604051808303816000875af1158015614001573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f79190614e57565b5050505050565b8373ffffffffffffffffffffffffffffffffffffffff163b60000361407d576040517f09ee12d500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff84811660248301528381166044830152606482018390526000918291871690608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052516141389190615703565b6000604051808303816000865af19150503d8060008114614175576040519150601f19603f3d011682016040523d82523d6000602084013e61417a565b606091505b5091509150816141b6576040517fe560521300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051156129f757808060200190518101906141d19190614e57565b6129f7576040517fe560521300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806000806142178686614341565b6040805160008152602081018083528c905260ff8316918101919091526060810184905260808101839052929550909350915060019060a0016020604051602081039080840390855afa158015614272573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015194505073ffffffffffffffffffffffffffffffffffffffff84166142ea576040517ff05a20c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050509392505050565b6000838152600960205260408120546127109061431a90610100900461ffff1687615624565b614324919061563b565b9050816143318483614ef4565b1015612d0c57611f928383614edb565b60008080836041819003614369578535935060208601359250604086013560001a91506143e2565b806040036143ad57853593507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6020870135908116935060ff1c601b0191506143e2565b6040517fd42b4bbd00000000000000000000000000000000000000000000000000000000815260048101829052602401612986565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561443c576040517fc185125200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ff16601b1415801561445457508160ff16601c14155b15614490576040517f417893a400000000000000000000000000000000000000000000000000000000815260ff83166004820152602401612986565b509250925092565b60405180604001604052806002906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60008083601f8401126144e657600080fd5b50813567ffffffffffffffff8111156144fe57600080fd5b6020830191508360208260051b850101111561451957600080fd5b9250929050565b6000806020838503121561453357600080fd5b823567ffffffffffffffff81111561454a57600080fd5b614556858286016144d4565b90969095509350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610c0b57600080fd5b80356130ae81614562565b8015158114610c0b57600080fd5b80356130ae8161458f565b600080604083850312156145bb57600080fd5b82356145c681614562565b915060208301356145d68161458f565b809150509250929050565b6000602082840312156145f357600080fd5b81356145fe81614562565b9392505050565b6000806040838503121561461857600080fd5b823561462381614562565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016003831061467457614674614631565b91905290565b803561ffff811681146130ae57600080fd5b60006020828403121561469e57600080fd5b6145fe8261467a565b6000602082840312156146b957600080fd5b81356145fe8161458f565b6000604082840312156146d657600080fd5b50919050565b60006101e082840312156146d657600080fd5b60008060008060008060a0878903121561470857600080fd5b863567ffffffffffffffff8082111561472057600080fd5b61472c8a838b016146c4565b9750602089013591508082111561474257600080fd5b61474e8a838b016146dc565b9650604089013591508082111561476457600080fd5b818901915089601f83011261477857600080fd5b81358181111561478757600080fd5b8a602082850101111561479957600080fd5b6020830196508095505060608901359150808211156147b757600080fd5b506147c489828a016146c4565b9250506147d360808801614584565b90509295509295509295565b600080604083850312156147f257600080fd5b50508035926020909101359150565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c0b57600080fd5b60008060008060008060c0878903121561484857600080fd5b6148518761467a565b955061485f6020880161467a565b945061486d6040880161467a565b9350606087013561487d81614801565b9250608087013561488d8161458f565b915060a087013561489d81614562565b809150509295509295509295565b6000602082840312156148bd57600080fd5b5035919050565b600080600080608085870312156148da57600080fd5b8435935060208501356148ec8161458f565b92506148fa6040860161467a565b91506149086060860161467a565b905092959194509250565b6000806040838503121561492657600080fd5b82356145c68161458f565b6000806000806080858703121561494757600080fd5b843567ffffffffffffffff8082111561495f57600080fd5b61496b888389016146c4565b9550602087013591508082111561498157600080fd5b5061498e878288016146dc565b935050604085013561499f81614562565b9396929550929360600135925050565b60008060008060008060008060008060c08b8d0312156149ce57600080fd5b8a3567ffffffffffffffff808211156149e657600080fd5b6149f28e838f016144d4565b909c509a5060208d0135915080821115614a0b57600080fd5b614a178e838f016144d4565b909a50985060408d0135915080821115614a3057600080fd5b614a3c8e838f016144d4565b909850965060608d0135915080821115614a5557600080fd5b50614a628d828e016144d4565b9095509350614a75905060808c01614584565b9150614a8360a08c0161459d565b90509295989b9194979a5092959850565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614af557600080fd5b8260051b80836020870137939093016020019392505050565b73ffffffffffffffffffffffffffffffffffffffff84168152604060208201526000611f92604083018486614ac3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101e0810167ffffffffffffffff81118282101715614b9157614b91614b3e565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614bde57614bde614b3e565b604052919050565b60028110610c0b57600080fd5b80356130ae81614be6565b600067ffffffffffffffff821115614c1857614c18614b3e565b5060051b60200190565b600082601f830112614c3357600080fd5b81356020614c48614c4383614bfe565b614b97565b82815260059290921b84018101918181019086841115614c6757600080fd5b8286015b84811015614c825780358352918301918301614c6b565b509695505050505050565b600082601f830112614c9e57600080fd5b813567ffffffffffffffff811115614cb857614cb8614b3e565b614ce960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614b97565b818152846020838601011115614cfe57600080fd5b816020850160208301376000918101602001919091529392505050565b60006101e08236031215614d2e57600080fd5b614d36614b6d565b614d3f83614bf3565b815260208301356020820152604083013560408201526060830135606082015260808301356080820152614d7560a08401614bf3565b60a0820152614d8660c08401614584565b60c0820152614d9760e08401614584565b60e0820152610100614daa818501614584565b908201526101208381013590820152610140808401359082015261016080840135908201526101808084013567ffffffffffffffff80821115614dec57600080fd5b614df836838801614c22565b838501526101a0925082860135915080821115614e1457600080fd5b614e2036838801614c22565b838501526101c0925082860135915080821115614e3c57600080fd5b50614e4936828701614c8d565b918301919091525092915050565b600060208284031215614e6957600080fd5b81516145fe8161458f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614ed457614ed4614e74565b5060010190565b81810381811115614eee57614eee614e74565b92915050565b80820180821115614eee57614eee614e74565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21833603018112614f3b57600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112614f3b57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614fae57600080fd5b83018035915067ffffffffffffffff821115614fc957600080fd5b60200191503681900382131561451957600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261501357600080fd5b830160208101925035905067ffffffffffffffff81111561503357600080fd5b80360382131561451957600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6000813561509881614562565b73ffffffffffffffffffffffffffffffffffffffff1683526150bd6020830183614fde565b60406020860152611f92604086018284615042565b60028110610c0b57610c0b614631565b6150eb816150d2565b9052565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261512457600080fd5b830160208101925035905067ffffffffffffffff81111561514457600080fd5b8060051b360382131561451957600080fd5b60006101e061516d8461516885614bf3565b6150e2565b602083013560208501526040830135604085015260608301356060850152608083013560808501526151a160a08401614bf3565b6151ae60a08601826150e2565b506151bb60c08401614584565b73ffffffffffffffffffffffffffffffffffffffff1660c08501526151e260e08401614584565b73ffffffffffffffffffffffffffffffffffffffff1660e085015261010061520b848201614584565b73ffffffffffffffffffffffffffffffffffffffff1690850152610120838101359085015261014080840135908501526101608084013590850152610180615255818501856150ef565b83838801526152678488018284614ac3565b93505050506101a061527b818501856150ef565b8684038388015261528d848284614ac3565b93505050506101c06152a181850185614fde565b868403838801526152b3848284615042565b979650505050505050565b6080815260006152d1608083018761508b565b82810360208401526152e38187615156565b73ffffffffffffffffffffffffffffffffffffffff95909516604084015250506060015292915050565b60006020828403121561531f57600080fd5b5051919050565b89815261012081016153378a6150d2565b8960208301528860408301528760608301528660808301528560a083015261535e856150d2565b60c082019490945273ffffffffffffffffffffffffffffffffffffffff92831660e08201529116610100909101529695505050505050565b815160009082906020808601845b838110156153c0578151855293820193908201906001016153a4565b50929695505050505050565b6000815160005b818110156153ed57602081850181015186830152016153d3565b50600093019283525090919050565b6000612d0c61540b83866153cc565b846153cc565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261544657600080fd5b83018035915067ffffffffffffffff82111561546157600080fd5b6020019150600681901b360382131561451957600080fd5b60006020828403121561548b57600080fd5b81356145fe81614be6565b600081518084526020808501945080840160005b838110156154c6578151875295820195908201906001016154aa565b509495945050505050565b8060005b6002811015612e6d57815173ffffffffffffffffffffffffffffffffffffffff168452602093840193909101906001016154d5565b8060005b6003811015612e6d57815184526020938401939091019060010161550e565b60006101e08c51835260208d0151602084015260408d01511515604084015261556e606084018d73ffffffffffffffffffffffffffffffffffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff8b1660808401528960a08401526155b260c084018a73ffffffffffffffffffffffffffffffffffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff881660e0840152806101008401526155e181840188615496565b90508281036101208401526155f68187615496565b9150506156076101408301856154d1565b61561561018083018461550a565b9b9a5050505050505050505050565b8082028115828204841417614eee57614eee614e74565b600082615671577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126156ab57600080fd5b83018035915067ffffffffffffffff8211156156c657600080fd5b6020019150600581901b360382131561451957600080fd5b6040815260006156f1604083018561508b565b8281036020840152611f928185615156565b60006145fe82846153cc565b600082601f83011261572057600080fd5b81516020615730614c4383614bfe565b82815260059290921b8401810191818101908684111561574f57600080fd5b8286015b84811015614c825780518352918301918301615753565b6000806000806080858703121561578057600080fd5b84519350602085015167ffffffffffffffff8082111561579f57600080fd5b6157ab8883890161570f565b945060408701519150808211156157c157600080fd5b506157ce8782880161570f565b92505060608501516157df8161458f565b939692955090935050565b600073ffffffffffffffffffffffffffffffffffffffff8088168352808716602084015280861660408401525060a0606083015261582b60a0830185615496565b828103608084015261583d8185615496565b98975050505050505050565b838152604060208201526000611f92604083018486615042565b60006020828403121561587557600080fd5b81516145fe81614801565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201526000611f926060830184615496565b600080604083850312156158c857600080fd5b82516158d381614562565b602093909301519294929350505056fea2646970667358221220fda1aa391f9a90a5fa9e8cc21d3b32dd6362514c3103bfd1a99529e079bcb58264736f6c634300081100330000000000000000000000008a7c709648160a5a1191d07dfab316224e4c6b070000000000000000000000003d1e1521b659b0c942836def24dd254abdeb873b000000000000000000000000b46f116ecba8451e661189f4b2b63ac60a618092000000000000000000000000fff9976782d46cc05630d1f6ebab18b2324d6b14
Deployed Bytecode
0x6080604052600436106102dc5760003560e01c8063838b8f5c11610184578063ae1cce5a116100d6578063d5b010f51161008a578063ea179b7611610064578063ea179b7614610a05578063f4288a2114610a40578063f698da2514610a5357600080fd5b8063d5b010f5146109a5578063d5b7f065146109c5578063e72853e1146109e557600080fd5b8063bb91c339116100bb578063bb91c33914610850578063c0b6f56114610965578063d5a06adf1461098557600080fd5b8063ae1cce5a14610810578063b647a4041461083057600080fd5b806391be136011610138578063a02bab5711610112578063a02bab5714610773578063a39bf29f14610793578063ad5c4648146107dc57600080fd5b806391be13601461071d578063974e7c9f1461073d5780639a8a05921461075d57600080fd5b806386c076421161016957806386c07642146106bb57806389ccfe89146106db5780638da5cb5b146106f057600080fd5b8063838b8f5c1461067b5780638585ae03146106a857600080fd5b80634cbac9dc1161023d57806367d9dd79116101f15780637762df25116101cb5780637762df251461060157806379ed31d41461062e5780637a7d88511461064e57600080fd5b806367d9dd79146105735780636e90c014146105a65780637200b829146105ec57600080fd5b80635a195d19116102225780635a195d19146104f15780635b6ac0111461053157806364df049e1461054657600080fd5b80634cbac9dc146104a457806354878876146104d157600080fd5b80632bb5a9e611610294578063463357ec11610279578063463357ec146103f757806346b625bc1461042b57806346ea25521461044b57600080fd5b80632bb5a9e6146103a35780633e567539146103e257600080fd5b80631df47f80116102c55780631df47f801461032357806320cd05c71461034357806323452b9c1461038e57600080fd5b8063134849a6146102e15780631d3c426814610303575b600080fd5b3480156102ed57600080fd5b506103016102fc366004614520565b610a69565b005b34801561030f57600080fd5b5061030161031e3660046145a8565b610b63565b34801561032f57600080fd5b5061030161033e3660046145e1565b610bfa565b34801561034f57600080fd5b5061037b61035e366004614605565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b34801561039a57600080fd5b50610301610c0e565b3480156103af57600080fd5b506004546103d59074010000000000000000000000000000000000000000900460ff1681565b6040516103859190614660565b3480156103ee57600080fd5b50610301610d15565b34801561040357600080fd5b5061037b7f53849a1acec87308423850dccd979fc7a4b74b75a79b19c3b98ec8df38a599db81565b34801561043757600080fd5b5061030161044636600461468c565b610e0c565b34801561045757600080fd5b5061047f7f000000000000000000000000b46f116ecba8451e661189f4b2b63ac60a61809281565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610385565b3480156104b057600080fd5b5060055461047f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104dd57600080fd5b506103016104ec3660046146a7565b610ed6565b3480156104fd57600080fd5b5061052161050c3660046145e1565b60076020526000908152604090205460ff1681565b6040519015158152602001610385565b34801561053d57600080fd5b50610301610f58565b34801561055257600080fd5b50600a5461047f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561057f57600080fd5b50600454610521907501000000000000000000000000000000000000000000900460ff1681565b3480156105b257600080fd5b50600a546105d99074010000000000000000000000000000000000000000900461ffff1681565b60405161ffff9091168152602001610385565b3480156105f857600080fd5b50610301611032565b34801561060d57600080fd5b5060045461047f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561063a57600080fd5b50610301610649366004614520565b611170565b34801561065a57600080fd5b5061037b6106693660046145e1565b60066020526000908152604090205481565b34801561068757600080fd5b50600b5461047f9073ffffffffffffffffffffffffffffffffffffffff1681565b6103016106b63660046146ef565b611250565b3480156106c757600080fd5b5061037b6106d63660046147df565b6113fc565b3480156106e757600080fd5b50610301611439565b3480156106fc57600080fd5b5060035461047f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561072957600080fd5b5061030161073836600461482f565b611583565b34801561074957600080fd5b506103016107583660046148ab565b611996565b34801561076957600080fd5b5061037b600c5481565b34801561077f57600080fd5b5061030161078e3660046145e1565b611a0f565b34801561079f57600080fd5b506107c76107ae3660046145e1565b6000602081905290815260409020805460019091015482565b60408051928352602083019190915201610385565b3480156107e857600080fd5b5061047f7f000000000000000000000000fff9976782d46cc05630d1f6ebab18b2324d6b1481565b34801561081c57600080fd5b5061030161082b366004614605565b611a8a565b34801561083c57600080fd5b5061030161084b3660046145e1565b611b75565b34801561085c57600080fd5b506108ec61086b3660046148ab565b60096020526000908152604090205460ff8082169161ffff61010082048116926301000000830482169265010000000000810490921691670100000000000000810460e01b916b0100000000000000000000008204169073ffffffffffffffffffffffffffffffffffffffff6c010000000000000000000000009091041687565b60408051971515885261ffff9687166020890152948616948701949094529390911660608501527fffffffff0000000000000000000000000000000000000000000000000000000016608084015290151560a083015273ffffffffffffffffffffffffffffffffffffffff1660c082015260e001610385565b34801561097157600080fd5b506103016109803660046145e1565b611bf0565b34801561099157600080fd5b506103016109a03660046148c4565b611cf2565b3480156109b157600080fd5b506103016109c0366004614913565b611e89565b3480156109d157600080fd5b5061037b6109e0366004614931565b611f4b565b3480156109f157600080fd5b50610301610a003660046146ef565b611f9b565b348015610a1157600080fd5b50610521610a20366004614605565b600260209081526000928352604080842090915290825290205460ff1681565b610301610a4e3660046149af565b612160565b348015610a5f57600080fd5b5061037b600d5481565b806000819003610aa5576040517f97983bdb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610b2257336000908152600260205260408120600191868685818110610ad457610ad4614a94565b6020908102929092013583525081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055600101610aa8565b507fe8036d6fb143373f3ff63e551373f5fffe4267f6809bf6d3934014a18a9b38f6338484604051610b5693929190614b0e565b60405180910390a1505050565b610b6b61266e565b73ffffffffffffffffffffffffffffffffffffffff821660008181526007602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168515159081179091558251938452908301527fba28eda47a2e15b1dd3269e6d82f66730d20a5661aa40e9faf9f311c7872a54391015b60405180910390a15050565b610c0261266e565b610c0b816126bf565b50565b610c1661266e565b60045474010000000000000000000000000000000000000000900460ff166000816002811115610c4857610c48614631565b03610c7f576040517fccf69db700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816002811115610c9357610c93614631565b03610cc157600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f8eca980489e87f7dba4f26917aa4bfc906eb3f2b4f7b4b9fd0ff2b8bb3e21ae390600090a150565b610d1d61266e565b600260045474010000000000000000000000000000000000000000900460ff166002811115610d4e57610d4e614631565b14610d85576040517f045c512200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055604051600081527f3edd90e7770f06fafde38004653b33870066c33bfc923ff6102acd601f85dfbc906020015b60405180910390a1565b610e1461266e565b6109c48161ffff161115610e54576040517f97d7dcfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8416908102919091179091556040519081527fcaba16bb74e50491b14ebf4755083b43aaf56a765134681af613a2ef8d732f4f906020015b60405180910390a150565b610ede61266e565b600480548215157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff9091161790556040517fdca612ba3556b7c2603089071be1feb2404df55dcabceee9d5fd852fdb39bc3490610ecb90831515815260200190565b610f6061266e565b600060045474010000000000000000000000000000000000000000900460ff166002811115610f9157610f91614631565b14610fc8576040517f74ed79ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740200000000000000000000000000000000000000001790556040517f3ff05a45e46337fa1cbf20996d2eeb927280bce099f37252bcca1040609604ec90600090a1565b600160045474010000000000000000000000000000000000000000900460ff16600281111561106357611063614631565b1461109a576040517f5e4f282600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045473ffffffffffffffffffffffffffffffffffffffff1633146110eb576040517fafdcfb9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001633908117909155600480547fffffffffffffffffffffff0000000000000000000000000000000000000000001690556040519081527f3edd90e7770f06fafde38004653b33870066c33bfc923ff6102acd601f85dfbc90602001610e02565b8060008190036111ac576040517f97983bdb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561121c573360009081526001602052604081207f53849a1acec87308423850dccd979fc7a4b74b75a79b19c3b98ec8df38a599db918686858181106111fa576111fa614a94565b60209081029290920135835250810191909152604001600020556001016111af565b507f0560c6093fba8a508d0e6ea3b4d7260d7afa9b152731f03a2d05dfe39b0ec425338484604051610b5693929190614b0e565b600b5474010000000000000000000000000000000000000000900460ff166002036112a7576040517f1bbee72600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167402000000000000000000000000000000000000000017905560006112f9610100870160e088016145e1565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205490915060ff1661135b576040517f4f79548700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061136e61136988614d1b565b61277f565b905061138e848288886113896101208d016101008e016145e1565b612934565b600061139c898933856129ff565b90506113aa83338684612d14565b6113b2612e73565b5050600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905550505050505050565b600061140782612ea1565b604080516020810192909252810184905260600160405160208183030381529060405280519060200120905092915050565b61144161266e565b600c54461461154f57611524604080518082018252600181527f320000000000000000000000000000000000000000000000000000000000000060209182015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f9e6bc51ef68b436657c5fe7a273ea9121a02b234cc81ad1e04892649c9168c6a818401527fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5606082015246608082018190523060a0808401919091528451808403909101815260c09092019093528051910120600d55600c55565b6040517f5b2d1f36cd3ec425baab07b99853532e2ba6387a472ddbff437c5cc96f2f20ca90600090a1565b6040517fa69915e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61158b61266e565b8361ffff168561ffff1611806115a857508461ffff168661ffff16115b806115b857506101f48461ffff16115b156115ef576040517fb704b7c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffff000000000000000000000000000000000000000000000000000000008316611648576040517fc2d0709200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166345b2b3816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b79190614e57565b6116ed576040517fef8c37d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160e080820183526001825261ffff808a1660208085019182528a83168587019081528a8416606087019081527fffffffff000000000000000000000000000000000000000000000000000000008b16608088019081528a151560a0890190815273ffffffffffffffffffffffffffffffffffffffff808c1660c08b0190815260088054600090815260099098529b87209a518b549851965195519451935191519092166c01000000000000000000000000026bffffffffffffffffffffffff9115156b010000000000000000000000027fffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffff94909b1c67010000000000000002939093167fffffffffffffffffffffffffffffffffffffffff0000000000ffffffffffffff948a1665010000000000027fffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffff968b16630100000002969096167fffffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffff97909a16610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff931515939093167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009099169890981791909117949094169690961791909117169290921793909317161790915581547f5290475107686ff8d28cd104943b127d453b23622ac55346373fa25c0c8957a292909161191483614ea3565b909155506040805191825261ffff898116602084015288811683830152871660608301527fffffffff000000000000000000000000000000000000000000000000000000008616608083015284151560a083015273ffffffffffffffffffffffffffffffffffffffff841660c0830152519081900360e00190a1505050505050565b61199e61266e565b6108fc8110156119da576040517fad6d14d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600e8190556040518181527ffc3a20d07f3d5bcc0b01a52011f630765611323fa9afa69f63ba2aa19f7364b690602001610ecb565b611a1761266e565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fa92d85531a006d07fd0df4c61259b6dc18e4f492857e2454e5a20ee5e55cddcc90602001610ecb565b60055473ffffffffffffffffffffffffffffffffffffffff163314611adb576040517f9f63004300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612710811115611b17576040517f2242dac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216600081815260066020908152604091829020849055815192835282018390527fa16126d9473196242b0784325b30642b89f34442dd178a852f5b88ee483a30d89101610bee565b611b7d61266e565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fa7014d98341b07b23615cb6b4da7cca2a381932b46fb39ca4b8c3875c53aa76490602001610ecb565b611bf861266e565b600060045474010000000000000000000000000000000000000000900460ff166002811115611c2957611c29614631565b14611c60576040517f74ed79ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffff000000000000000000000000000000000000000000909116811774010000000000000000000000000000000000000000179091556040805133815260208101929092527fb86c75c9bffca616b2d314cc914f7c3f1d174255b16b941c3f3ededee276d5ef9101610ecb565b611cfa61266e565b6008548410611d35576040517fbd7056c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526009602052604090205461ffff6501000000000090910481169082161180611d6957508061ffff168261ffff16115b15611da0576040517fb704b7c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260096020908152604091829020805461ffff858116630100000081027fffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffff92891661010081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff8c15159081167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009097169690961717939093161790935584518981529384019190915282840152606082015290517f3b25bf77fa688236b850bf89c87e353098688237aa18dc42593aff0f6387aea99181900360800190a150505050565b60006080611e98600143614edb565b3360009081526020819052604090208054600190910154914090921c92508415611edb57611ec68383614ef4565b33600090815260208190526040902081905591505b8315611f0357611eeb8382614ef4565b33600090815260208190526040902060010181905590505b60408051338152602081018490529081018290527fb738dd6073fae1a7128e3fcc6b4ca6e1356b7232f87cc98f8a2857bcd83dfc449060600160405180910390a15050505050565b6000333014611f86576040517fa78d09b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f92858585856129ff565b95945050505050565b600b5474010000000000000000000000000000000000000000900460ff16600203611ff2576040517f1bbee72600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740200000000000000000000000000000000000000001790556000612044610100870160e088016145e1565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205490915060ff161580612090575073ffffffffffffffffffffffffffffffffffffffff8116155b156120c7576040517f4f79548700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006120db610120880161010089016145e1565b905060006120eb61136989614d1b565b90506120fa8582898986612934565b60006121078a8a846130b3565b905061211584848784612d14565b5050600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790555050505050505050565b600b5474010000000000000000000000000000000000000000900460ff166002036121b7576040517f1bbee72600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740200000000000000000000000000000000000000001790558880158061220d5750878118868218178482181715155b15612244576040517f97983bdb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008989600081811061225957612259614a94565b905060200281019061226b9190614f07565b61227d9061010081019060e0016145e1565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205490915060ff166122df576040517f4f79548700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083156124555760005b8381101561244f57368c8c8381811061230557612305614a94565b90506020028101906123179190614f07565b905081156123945773ffffffffffffffffffffffffffffffffffffffff8416612347610100830160e084016145e1565b73ffffffffffffffffffffffffffffffffffffffff1614612394576040517f4f79548700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b368f8f848181106123a7576123a7614a94565b90506020028101906123b99190614f45565b905060006123c961136984614d1b565b90506124298b8b868181106123e0576123e0614a94565b90506020028101906123f29190614f45565b828f8f8881811061240557612405614a94565b90506020028101906124179190614f79565b61138961012089016101008a016145e1565b612435828433846129ff565b61243f9086614ef4565b94508360010193505050506122ea565b5061260c565b60005b8381101561260a57368c8c8381811061247357612473614a94565b90506020028101906124859190614f07565b905081156125025773ffffffffffffffffffffffffffffffffffffffff84166124b5610100830160e084016145e1565b73ffffffffffffffffffffffffffffffffffffffff1614612502576040517f4f79548700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b368f8f8481811061251557612515614a94565b90506020028101906125279190614f45565b9050600061253761136984614d1b565b905061254e8b8b868181106123e0576123e0614a94565b6040517fd5b7f065000000000000000000000000000000000000000000000000000000008152309063d5b7f065906125909085908790339087906004016152be565b6020604051808303816000875af19250505080156125e9575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526125e69181019061530d565b60015b156125fc576125f88187614ef4565b9550505b836001019350505050612458565b505b61261882338784612d14565b50612621612e73565b5050600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905550505050505050505050565b60035473ffffffffffffffffffffffffffffffffffffffff163314611581576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811661270c576040517ff966bcb000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f8cffb07faa2874440346743bdc0a86b06c3335cc47dc49b327d10e77b73ceb1090602001610ecb565b60007e3c1bce41a2de73dfe64d6eeb2b3d7f15f1c0c382d9d963c2c6daeb75f0e539826000015183602001518460400151856060015186608001518760a001518860c001518960e001516040516020016127e199989796959493929190615326565b60405160208183030381529060405282610100015183610120015184610140015185610160015186610180015160405160200161281e9190615396565b60405160208183030381529060405280519060200120876101a0015160405160200161284a9190615396565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825280516020918201206101c08c015180519083012073ffffffffffffffffffffffffffffffffffffffff90991691840191909152908201959095526060810193909352608083019190915260a082015260c081019190915260e081019190915261010001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261291792916020016153fc565b604051602081830303815290604052805190602001209050919050565b60006129436020870187615411565b91505080156129eb57600a81111561298f576040517febbd838a000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b6129a761299f6020880188615411565b88358861330b565b6129dd576040517fc8ac23c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129e88635826113fc565b94505b6129f785858585613323565b505050505050565b60006001612a106020860186615479565b6001811115612a2157612a21614631565b14612a58576040517fd641ac7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612a6c610120860161010087016145e1565b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020818152604080842060608c013585528252808420549484528382529092200154929350909190870135141580612af5575073ffffffffffffffffffffffffffffffffffffffff8216600090815260026020908152604080832089820135845290915290205460ff165b80612b0a57508015801590612b0a5750838114155b15612b41576040517fbc17cfe800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000806000806000612b558b8b336133c3565b94509450945094509450612b6f81878c606001358b6137d2565b612b8b8383612b856101008e0160e08f016145e1565b8c61383a565b612c16612b9e60e08c0160c08d016145e1565b612bae60c08d0160a08e01615479565b88600073ffffffffffffffffffffffffffffffffffffffff168f6000016020810190612bda91906145e1565b73ffffffffffffffffffffffffffffffffffffffff1614612c0d578e6000016020810190612c0891906145e1565b612c0f565b8c5b898961386e565b7f3ee3de4684413690dee6fff1a0a4f92916a1b97d1c5a83cdf24671844306b2e360405180606001604052808a81526020018c6060013581526020018315158152508a600073ffffffffffffffffffffffffffffffffffffffff168e6000016020810190612c8491906145e1565b73ffffffffffffffffffffffffffffffffffffffff1614612cb157612cac60208f018f6145e1565b612cb3565b8b5b8d608001358e60e0016020810190612ccb91906145e1565b8f60c0016020810190612cde91906145e1565b8b8b8b8b604051612cf89a9998979695949392919061552d565b60405180910390a150604001519450505050505b949350505050565b8015612e6d5773ffffffffffffffffffffffffffffffffffffffff821615612e46576004547501000000000000000000000000000000000000000000900460ff1615612e465773ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604081205461271090612d8e9084615624565b612d98919061563b565b90508015612e4457612daa8183614edb565b91508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612deb57612deb85858584613a05565b6040805173ffffffffffffffffffffffffffffffffffffffff8086168252871660208201529081018290527f49e92b6b3114f7e128555cd58c568f7c2e0e56fe9b4c46b6125bc308184623b39060600160405180910390a15b505b600a54612e6d908590859073ffffffffffffffffffffffffffffffffffffffff1684613a05565b50505050565b476001811115610c0b5760008060008060018503335af180612e9d576307246cf46000526004601cfd5b5050565b600081600103612ed257507f9661287f7a4aa4867db46a2453ee15bebac4e8fc25667a58718da658f15de643919050565b81600203612f0157507fa54ab330ea9e1dfccee2b86f3666989e7fbd479704416c757c8de8e820142a08919050565b81600303612f3057507f93390f5d45ede9dea305f16aec86b2472af4f823851637f1b7019ad0775cea49919050565b81600403612f5f57507f9dda2c8358da895e43d574bb15954ce5727b22e923a2d8f28261f297bce42f0b919050565b81600503612f8e57507f92dc717124e161262f9d10c7079e7d54dc51271893fba54aa4a0f270fecdcc98919050565b81600603612fbd57507fce02aee5a7a35d40d974463c4c6e5534954fb07a7e7bc966fee268a15337bfd8919050565b81600703612fec57507ff7a65efd167a18f7091b2bb929d687dd94503cf0a43620487055ed7d6b727559919050565b8160080361301b57507fdef24acacad1318b664520f7c10e8bc6d1e7f6f6f7c8b031e70624ceb42266a6919050565b8160090361304a57507f4cb4080dc4e7bae88b4dc4307ad5117fa4f26195998a1b5f40368809d7f4c7f2919050565b81600a0361307957507ff8b1f864164d8d6e0b45f1399bd711223117a4ab0b057a9c2d7779e86a7c88db919050565b6040517febbd838a00000000000000000000000000000000000000000000000000000000815260048101839052602401612986565b919050565b6000806130c36020850185615479565b60018111156130d4576130d4614631565b1461310b576040517fd641ac7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061311f610120850161010086016145e1565b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020908152604080832060608a01358452825280832054938352828252909120549293509091908601351415806131a7575073ffffffffffffffffffffffffffffffffffffffff8216600090815260026020908152604080832088820135845290915290205460ff165b806131bc575080158015906131bc5750838114155b156131f3576040517fbc17cfe800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060008060008060006132078a8a336133c3565b9450945094509450945061322181878b606001358b6137d2565b61324d61323460e08b0160c08c016145e1565b61324460c08c0160a08d01615479565b3389898961386e565b61326983836132636101008d0160e08e016145e1565b8961383a565b7f9aaa45d6db2ef74ead0751ea9113263d1dec1b50cea05f0ca2002cb8063564a460405180606001604052808a81526020018b60600135815260200183151581525033888c608001358d60e00160208101906132c591906145e1565b8e60c00160208101906132d891906145e1565b8b8b8b8b6040516132f29a9998979695949392919061552d565b60405180910390a1506040015198975050505050505050565b600082613319868685613a5a565b1495945050505050565b46600c540361339157600d546040517f1901000000000000000000000000000000000000000000000000000000000000602082015260228101919091526042810185905261338c9060620160405160208183030381529060405280519060200120828585613b25565b612e6d565b6040517f6fd794c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060806133ce614498565b6133d66144b6565b6000806133ed886101200135896101400135613ca5565b87608001356000036134bf5761341d61340a6101a08a018a615676565b6134186101808c018c615676565b613cbf565b6101608801356134316101808a018a615676565b61343f6101a08c018c615676565b8383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080870282810182019093528682529498509596509394938693869350839250850190849080828437600092019190915250959c50919a50600197509495506136f3945050505050565b608088013560009081526009602052604090205460ff16156136bb5760006134ea60208a018a615479565b60808a01356000908152600960205260409020549091506b010000000000000000000000900460ff168082036135285763ab9848466000526004601cfd5b600080600960008d608001358152602001908152602001600020600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600960008e60800135815260200190815260200160002060000160079054906101000a900460e01b8e8e6040516024016135b79291906156de565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516136409190615703565b6000604051808303816000865af19150503d806000811461367d576040519150601f19603f3d011682016040523d82523d6000602084013e613682565b606091505b50915091508161369457805160208201fd5b808060200190518101906136a8919061576a565b919c509a50965094506136f39350505050565b6040517fd73c2c6a00000000000000000000000000000000000000000000000000000000815260808901356004820152602401612986565b61370d61370660e08a0160c08b016145e1565b8288613d0d565b60208581019190915273ffffffffffffffffffffffffffffffffffffffff9190911681860152600090613742908a018a615479565b600181111561375357613753614631565b036137ab576137a6608089013582600061377060208e018e6145e1565b73ffffffffffffffffffffffffffffffffffffffff161461379d5761379860208d018d6145e1565b61379f565b895b8688613e67565b6137c6565b6137c660808901358261379f6101208c016101008d016145e1565b50939792965093509350565b836137dd57806137ff565b7f53849a1acec87308423850dccd979fc7a4b74b75a79b19c3b98ec8df38a599db5b73ffffffffffffffffffffffffffffffffffffffff909316600090815260016020908152604080832094835293905291909120919091555050565b825180156138565761385683838760005b602002015184613a05565b602084015180156129f7576129f7848488600161384b565b600085600181111561388257613882614631565b03613938576040517fa7bc96d300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b46f116ecba8451e661189f4b2b63ac60a618092169063a7bc96d39061390190899088908890889088906004016157ea565b600060405180830381600087803b15801561391b57600080fd5b505af115801561392f573d6000803e3d6000fd5b505050506129f7565b600185600181111561394c5761394c614631565b036129f7576040517fa0a406c600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b46f116ecba8451e661189f4b2b63ac60a618092169063a0a406c6906139cb90899088908890889088906004016157ea565b600060405180830381600087803b1580156139e557600080fd5b505af11580156139f9573d6000803e3d6000fd5b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416613a4e5761338c7f000000000000000000000000fff9976782d46cc05630d1f6ebab18b2324d6b148383600e54613f17565b612e6d8484848461402c565b60008183825b81811015613b1a576000878783818110613a7c57613a7c614a94565b9050604002016020016020810190613a949190615479565b6001811115613aa557613aa5614631565b03613ae057613ad9878783818110613abf57613abf614a94565b905060400201600001358460009182526020526040902090565b9250613b12565b613b0f83888884818110613af657613af6614a94565b9050604002016000013560009182526020526040902090565b92505b600101613a60565b509095945050505050565b8273ffffffffffffffffffffffffffffffffffffffff163b600003613bb3578273ffffffffffffffffffffffffffffffffffffffff16613b66858484614207565b73ffffffffffffffffffffffffffffffffffffffff1614612e6d576040517fd1085d1b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f1626ba7e000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff851690631626ba7e90613c0b90889087908790600401615849565b602060405180830381865afa158015613c28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c4c9190615863565b7fffffffff000000000000000000000000000000000000000000000000000000001614612e6d576040517ff6cd0e2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4281104283111715612e9d57637476320f6000526004601cfd5b6000838280821882151715613cdc57632e0c0f716000526004601cfd5b5060051b9050845b81156129f7576020820391508181013580613d0757632e0c0f716000526004601cfd5b50613ce4565b600b54600090819073ffffffffffffffffffffffffffffffffffffffff1615613e5f57600b546040517f70c1092100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906370c1092190613d8a90889088908890600401615880565b6040805180830381865afa158015613da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dca91906158b5565b909250905073ffffffffffffffffffffffffffffffffffffffff8216613df257506000613e5f565b600a54613e1b9074010000000000000000000000000000000000000000900461ffff1685615624565b613e2761271083615624565b1115613e5f576040517f97d7dcfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b935093915050565b60008581526009602052604081205461271090613e8f906301000000900461ffff1687615624565b613e99919061563b565b6020840151909150600003613ec05760408301819052613eb98186614edb565b8352613ef6565b613ed385878560016020020151846142f4565b604084018190526020840151613ee99087614edb565b613ef39190614edb565b83525b5073ffffffffffffffffffffffffffffffffffffffff909216909152505050565b6000806000806000868887f1905080614025578473ffffffffffffffffffffffffffffffffffffffff1663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015613f7257600080fd5b505af1158015613f86573d6000803e3d6000fd5b50506040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152602482018890528916935063a9059cbb925060440190506020604051808303816000875af1158015614001573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f79190614e57565b5050505050565b8373ffffffffffffffffffffffffffffffffffffffff163b60000361407d576040517f09ee12d500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff84811660248301528381166044830152606482018390526000918291871690608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052516141389190615703565b6000604051808303816000865af19150503d8060008114614175576040519150601f19603f3d011682016040523d82523d6000602084013e61417a565b606091505b5091509150816141b6576040517fe560521300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051156129f757808060200190518101906141d19190614e57565b6129f7576040517fe560521300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806000806142178686614341565b6040805160008152602081018083528c905260ff8316918101919091526060810184905260808101839052929550909350915060019060a0016020604051602081039080840390855afa158015614272573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015194505073ffffffffffffffffffffffffffffffffffffffff84166142ea576040517ff05a20c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050509392505050565b6000838152600960205260408120546127109061431a90610100900461ffff1687615624565b614324919061563b565b9050816143318483614ef4565b1015612d0c57611f928383614edb565b60008080836041819003614369578535935060208601359250604086013560001a91506143e2565b806040036143ad57853593507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6020870135908116935060ff1c601b0191506143e2565b6040517fd42b4bbd00000000000000000000000000000000000000000000000000000000815260048101829052602401612986565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561443c576040517fc185125200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ff16601b1415801561445457508160ff16601c14155b15614490576040517f417893a400000000000000000000000000000000000000000000000000000000815260ff83166004820152602401612986565b509250925092565b60405180604001604052806002906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60008083601f8401126144e657600080fd5b50813567ffffffffffffffff8111156144fe57600080fd5b6020830191508360208260051b850101111561451957600080fd5b9250929050565b6000806020838503121561453357600080fd5b823567ffffffffffffffff81111561454a57600080fd5b614556858286016144d4565b90969095509350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610c0b57600080fd5b80356130ae81614562565b8015158114610c0b57600080fd5b80356130ae8161458f565b600080604083850312156145bb57600080fd5b82356145c681614562565b915060208301356145d68161458f565b809150509250929050565b6000602082840312156145f357600080fd5b81356145fe81614562565b9392505050565b6000806040838503121561461857600080fd5b823561462381614562565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016003831061467457614674614631565b91905290565b803561ffff811681146130ae57600080fd5b60006020828403121561469e57600080fd5b6145fe8261467a565b6000602082840312156146b957600080fd5b81356145fe8161458f565b6000604082840312156146d657600080fd5b50919050565b60006101e082840312156146d657600080fd5b60008060008060008060a0878903121561470857600080fd5b863567ffffffffffffffff8082111561472057600080fd5b61472c8a838b016146c4565b9750602089013591508082111561474257600080fd5b61474e8a838b016146dc565b9650604089013591508082111561476457600080fd5b818901915089601f83011261477857600080fd5b81358181111561478757600080fd5b8a602082850101111561479957600080fd5b6020830196508095505060608901359150808211156147b757600080fd5b506147c489828a016146c4565b9250506147d360808801614584565b90509295509295509295565b600080604083850312156147f257600080fd5b50508035926020909101359150565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c0b57600080fd5b60008060008060008060c0878903121561484857600080fd5b6148518761467a565b955061485f6020880161467a565b945061486d6040880161467a565b9350606087013561487d81614801565b9250608087013561488d8161458f565b915060a087013561489d81614562565b809150509295509295509295565b6000602082840312156148bd57600080fd5b5035919050565b600080600080608085870312156148da57600080fd5b8435935060208501356148ec8161458f565b92506148fa6040860161467a565b91506149086060860161467a565b905092959194509250565b6000806040838503121561492657600080fd5b82356145c68161458f565b6000806000806080858703121561494757600080fd5b843567ffffffffffffffff8082111561495f57600080fd5b61496b888389016146c4565b9550602087013591508082111561498157600080fd5b5061498e878288016146dc565b935050604085013561499f81614562565b9396929550929360600135925050565b60008060008060008060008060008060c08b8d0312156149ce57600080fd5b8a3567ffffffffffffffff808211156149e657600080fd5b6149f28e838f016144d4565b909c509a5060208d0135915080821115614a0b57600080fd5b614a178e838f016144d4565b909a50985060408d0135915080821115614a3057600080fd5b614a3c8e838f016144d4565b909850965060608d0135915080821115614a5557600080fd5b50614a628d828e016144d4565b9095509350614a75905060808c01614584565b9150614a8360a08c0161459d565b90509295989b9194979a5092959850565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614af557600080fd5b8260051b80836020870137939093016020019392505050565b73ffffffffffffffffffffffffffffffffffffffff84168152604060208201526000611f92604083018486614ac3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101e0810167ffffffffffffffff81118282101715614b9157614b91614b3e565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614bde57614bde614b3e565b604052919050565b60028110610c0b57600080fd5b80356130ae81614be6565b600067ffffffffffffffff821115614c1857614c18614b3e565b5060051b60200190565b600082601f830112614c3357600080fd5b81356020614c48614c4383614bfe565b614b97565b82815260059290921b84018101918181019086841115614c6757600080fd5b8286015b84811015614c825780358352918301918301614c6b565b509695505050505050565b600082601f830112614c9e57600080fd5b813567ffffffffffffffff811115614cb857614cb8614b3e565b614ce960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614b97565b818152846020838601011115614cfe57600080fd5b816020850160208301376000918101602001919091529392505050565b60006101e08236031215614d2e57600080fd5b614d36614b6d565b614d3f83614bf3565b815260208301356020820152604083013560408201526060830135606082015260808301356080820152614d7560a08401614bf3565b60a0820152614d8660c08401614584565b60c0820152614d9760e08401614584565b60e0820152610100614daa818501614584565b908201526101208381013590820152610140808401359082015261016080840135908201526101808084013567ffffffffffffffff80821115614dec57600080fd5b614df836838801614c22565b838501526101a0925082860135915080821115614e1457600080fd5b614e2036838801614c22565b838501526101c0925082860135915080821115614e3c57600080fd5b50614e4936828701614c8d565b918301919091525092915050565b600060208284031215614e6957600080fd5b81516145fe8161458f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614ed457614ed4614e74565b5060010190565b81810381811115614eee57614eee614e74565b92915050565b80820180821115614eee57614eee614e74565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21833603018112614f3b57600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112614f3b57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614fae57600080fd5b83018035915067ffffffffffffffff821115614fc957600080fd5b60200191503681900382131561451957600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261501357600080fd5b830160208101925035905067ffffffffffffffff81111561503357600080fd5b80360382131561451957600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6000813561509881614562565b73ffffffffffffffffffffffffffffffffffffffff1683526150bd6020830183614fde565b60406020860152611f92604086018284615042565b60028110610c0b57610c0b614631565b6150eb816150d2565b9052565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261512457600080fd5b830160208101925035905067ffffffffffffffff81111561514457600080fd5b8060051b360382131561451957600080fd5b60006101e061516d8461516885614bf3565b6150e2565b602083013560208501526040830135604085015260608301356060850152608083013560808501526151a160a08401614bf3565b6151ae60a08601826150e2565b506151bb60c08401614584565b73ffffffffffffffffffffffffffffffffffffffff1660c08501526151e260e08401614584565b73ffffffffffffffffffffffffffffffffffffffff1660e085015261010061520b848201614584565b73ffffffffffffffffffffffffffffffffffffffff1690850152610120838101359085015261014080840135908501526101608084013590850152610180615255818501856150ef565b83838801526152678488018284614ac3565b93505050506101a061527b818501856150ef565b8684038388015261528d848284614ac3565b93505050506101c06152a181850185614fde565b868403838801526152b3848284615042565b979650505050505050565b6080815260006152d1608083018761508b565b82810360208401526152e38187615156565b73ffffffffffffffffffffffffffffffffffffffff95909516604084015250506060015292915050565b60006020828403121561531f57600080fd5b5051919050565b89815261012081016153378a6150d2565b8960208301528860408301528760608301528660808301528560a083015261535e856150d2565b60c082019490945273ffffffffffffffffffffffffffffffffffffffff92831660e08201529116610100909101529695505050505050565b815160009082906020808601845b838110156153c0578151855293820193908201906001016153a4565b50929695505050505050565b6000815160005b818110156153ed57602081850181015186830152016153d3565b50600093019283525090919050565b6000612d0c61540b83866153cc565b846153cc565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261544657600080fd5b83018035915067ffffffffffffffff82111561546157600080fd5b6020019150600681901b360382131561451957600080fd5b60006020828403121561548b57600080fd5b81356145fe81614be6565b600081518084526020808501945080840160005b838110156154c6578151875295820195908201906001016154aa565b509495945050505050565b8060005b6002811015612e6d57815173ffffffffffffffffffffffffffffffffffffffff168452602093840193909101906001016154d5565b8060005b6003811015612e6d57815184526020938401939091019060010161550e565b60006101e08c51835260208d0151602084015260408d01511515604084015261556e606084018d73ffffffffffffffffffffffffffffffffffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff8b1660808401528960a08401526155b260c084018a73ffffffffffffffffffffffffffffffffffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff881660e0840152806101008401526155e181840188615496565b90508281036101208401526155f68187615496565b9150506156076101408301856154d1565b61561561018083018461550a565b9b9a5050505050505050505050565b8082028115828204841417614eee57614eee614e74565b600082615671577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126156ab57600080fd5b83018035915067ffffffffffffffff8211156156c657600080fd5b6020019150600581901b360382131561451957600080fd5b6040815260006156f1604083018561508b565b8281036020840152611f928185615156565b60006145fe82846153cc565b600082601f83011261572057600080fd5b81516020615730614c4383614bfe565b82815260059290921b8401810191818101908684111561574f57600080fd5b8286015b84811015614c825780518352918301918301615753565b6000806000806080858703121561578057600080fd5b84519350602085015167ffffffffffffffff8082111561579f57600080fd5b6157ab8883890161570f565b945060408701519150808211156157c157600080fd5b506157ce8782880161570f565b92505060608501516157df8161458f565b939692955090935050565b600073ffffffffffffffffffffffffffffffffffffffff8088168352808716602084015280861660408401525060a0606083015261582b60a0830185615496565b828103608084015261583d8185615496565b98975050505050505050565b838152604060208201526000611f92604083018486615042565b60006020828403121561587557600080fd5b81516145fe81614801565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201526000611f926060830184615496565b600080604083850312156158c857600080fd5b82516158d381614562565b602093909301519294929350505056fea2646970667358221220fda1aa391f9a90a5fa9e8cc21d3b32dd6362514c3103bfd1a99529e079bcb58264736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000008a7c709648160a5a1191d07dfab316224e4c6b070000000000000000000000003d1e1521b659b0c942836def24dd254abdeb873b000000000000000000000000b46f116ecba8451e661189f4b2b63ac60a618092000000000000000000000000fff9976782d46cc05630d1f6ebab18b2324d6b14
-----Decoded View---------------
Arg [0] : _owner (address): 0x8a7c709648160a5A1191D07dfAB316224E4C6b07
Arg [1] : _protocolFeeRecipient (address): 0x3d1E1521b659b0C942836DeF24dd254aBdEb873b
Arg [2] : _transferManager (address): 0xb46f116ecBa8451E661189F4b2B63aC60a618092
Arg [3] : _weth (address): 0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000008a7c709648160a5a1191d07dfab316224e4c6b07
Arg [1] : 0000000000000000000000003d1e1521b659b0c942836def24dd254abdeb873b
Arg [2] : 000000000000000000000000b46f116ecba8451e661189f4b2b63ac60a618092
Arg [3] : 000000000000000000000000fff9976782d46cc05630d1f6ebab18b2324d6b14
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.

