2 txs
3 calls
constructor
constructor(address _owner, address _token, address _nft, uint32[4] _numbers, (uint256[] raritySupplies, uint256[] rarityStartDates, uint256[] rarityEndDates, uint16[] minPrices) _rarityInfos, address _nftEscrow)
functions
_verify
purefunction _verify(bytes32[] _merkleproof, bytes32 _hashRoot, bytes32 _leaf) pure returns (bool)
alreadyBidded
viewfunction alreadyBidded(address bidder, uint256 _rarityId) view returns (bool)
fundsWithdrawed
viewfunction fundsWithdrawed() view returns (bool)
getBalance
viewfunction getBalance(address _wallet) view returns (uint256)
getBids
viewfunction getBids() view returns (tuple[])
getHashRoot
viewfunction getHashRoot() view returns (bytes32)
getNbBids
viewfunction getNbBids() view returns (uint256)
getNftAddress
viewfunction getNftAddress() view returns (address)
getOwnershipOfToken
viewfunction getOwnershipOfToken(uint256 _id) view returns (address)
getRaritySupplies
viewfunction getRaritySupplies() view returns (uint256[])
getSaleSettings
viewfunction getSaleSettings() view returns (tuple)
getTokenIsClaimed
viewfunction getTokenIsClaimed(uint256[] _tokenIds) view returns (bool[])
getTotalBiddedPerUser
viewfunction getTotalBiddedPerUser(address _bidder) view returns (uint256)
getTotalBiddedPerUserPerRarity
viewfunction getTotalBiddedPerUserPerRarity(address _bidder, uint256 _rarityId) view returns (uint256)
isTrustedForwarder
viewfunction isTrustedForwarder(address forwarder) view returns (bool)
nftEscrow
viewfunction nftEscrow() view returns (address)
owner
viewfunction owner() view returns (address)
rarityCount
viewfunction rarityCount() view returns (uint32)
startingTokenId
viewfunction startingTokenId() view returns (uint256)
supply
viewfunction supply() view returns (uint32)
token
viewfunction token() view returns (address)
tokensClaimed
viewfunction tokensClaimed(uint256) view returns (bool)
trustedForwarder
viewfunction trustedForwarder() view returns (address)
userRefunded
viewfunction userRefunded(address) view returns (uint256)
versionRecipient
viewfunction versionRecipient() view returns (string)
bid
nonpayablefunction bid(uint256 _amount, uint256 _rarityId)
emergencyWithdraw
nonpayablefunction emergencyWithdraw()
renounceOwnership
nonpayablefunction renounceOwnership()
setHashRoot
nonpayablefunction setHashRoot(bytes32 _hashRoot)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
transferToVault
nonpayablefunction transferToVault(address _vault, uint256[] _tokenIds)
updateBid
nonpayablefunction updateBid(uint256 _bidId, uint256 _newAmount, uint256 _rarityId)
withdraw
nonpayablefunction withdraw(tuple _withdrawObject, bytes32 _leaf, bytes32[] _proof)
withdrawFunds
nonpayablefunction withdrawFunds(uint256 amount)
events
BidCreated
event BidCreated(address bidder, uint256 bid, uint256 timestamp, uint256 bidId, uint256 rarityId)
BidUpdated
event BidUpdated(address bidder, uint256 bid, uint256 timestamp, uint256 bidId, uint256 rarityId)
HashRootSet
event HashRootSet(uint256 timestamp)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Vaulted
event Vaulted(uint256 tokenId, uint256 timestamp, address vaultAddress)
Withdrawed
event Withdrawed(uint256[] tokenIds, uint256 refundAmount, address claimer)
errors
No errors.
creation bytecode
0x60c060405260056080819052640312e302e360dc1b60a09081526200002891600291906200035b565b503480156200003657600080fd5b5060405162003622380380620036228339810160408190526200005991620006c9565b6200006d62000067620001b6565b620001d2565b620000788662000222565b60058054600380546001600160a01b038981166001600160a01b0319909216919091179091558551602080880151604089015163ffffffff908116600160c01b02938116600160a01b02948b166001600160c01b031990961695909517939093176001600160c01b0316928416600160e01b0263ffffffff60c01b19169290921717909255606085015116600655825180518492600f92620001219284929190910190620003ea565b5060208281015180516200013c9260018501920190620003ea565b50604082015180516200015a916002840191602090910190620003ea565b50606082015180516200017891600384019160209091019062000427565b5050600060075550600480546001600160a01b0319166001600160a01b039290921691909117905550506009805460ff19169055506200089a915050565b6000620001cd620002a560201b620020581760201c565b905090565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6200022c620002db565b6001600160a01b038116620002975760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b620002a281620001d2565b50565b600060143610801590620002c357506001546001600160a01b031633145b15620002d6575060131936013560601c90565b503390565b620002e5620001b6565b6001600160a01b0316620003016000546001600160a01b031690565b6001600160a01b031614620003595760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200028e565b565b828054620003699062000847565b90600052602060002090601f0160209004810192826200038d5760008555620003d8565b82601f10620003a857805160ff1916838001178555620003d8565b82800160010185558215620003d8579182015b82811115620003d8578251825591602001919060010190620003bb565b50620003e6929150620004cd565b5090565b828054828255906000526020600020908101928215620003d85791602002820182811115620003d8578251825591602001919060010190620003bb565b82805482825590600052602060002090600f01601090048101928215620003d85791602002820160005b838211156200049357835183826101000a81548161ffff021916908361ffff160217905550926020019260020160208160010104928301926001030262000451565b8015620004c35782816101000a81549061ffff021916905560020160208160010104928301926001030262000493565b5050620003e69291505b5b80821115620003e65760008155600101620004ce565b80516001600160a01b0381168114620004fc57600080fd5b919050565b600082601f8301126200051357600080fd5b815160206200052c620005268362000821565b620007ee565b80838252828201915082860187848660051b89010111156200054d57600080fd5b6000805b868110156200057f57825161ffff811681146200056c578283fd5b8552938501939185019160010162000551565b509198975050505050505050565b600082601f8301126200059f57600080fd5b81516020620005b2620005268362000821565b80838252828201915082860187848660051b8901011115620005d357600080fd5b60005b85811015620005f457815184529284019290840190600101620005d6565b5090979650505050505050565b6000608082840312156200061457600080fd5b6200061e620007c3565b82519091506001600160401b03808211156200063957600080fd5b62000647858386016200058d565b835260208401519150808211156200065e57600080fd5b6200066c858386016200058d565b602084015260408401519150808211156200068657600080fd5b62000694858386016200058d565b60408401526060840151915080821115620006ae57600080fd5b50620006bd8482850162000501565b60608301525092915050565b6000806000806000806101208789031215620006e457600080fd5b620006ef87620004e4565b9550602062000700818901620004e4565b95506200071060408901620004e4565b945088607f8901126200072257600080fd5b6200072c620007c3565b8060608a0160e08b018c8111156200074357600080fd5b60005b60048110156200077857825163ffffffff811681146200076557600080fd5b8552938501939185019160010162000746565b505191965090925050506001600160401b038111156200079757600080fd5b620007a589828a0162000601565b925050620007b76101008801620004e4565b90509295509295509295565b604051608081016001600160401b0381118282101715620007e857620007e862000884565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000819576200081962000884565b604052919050565b60006001600160401b038211156200083d576200083d62000884565b5060051b60200190565b600181811c908216806200085c57607f821691505b602082108114156200087e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b612d7880620008aa6000396000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c80637da0a8771161012a578063d0582a4b116100bd578063efd10c771161008c578063f5525be911610071578063f5525be914610540578063f8b2cb4f14610553578063fc0c546a1461056657600080fd5b8063efd10c77146104fd578063f2fde38b1461052d57600080fd5b8063d0582a4b146104b8578063d42a58df146104d8578063db2e21bc146104e0578063e32eec36146104e857600080fd5b8063b4f18d8d116100f9578063b4f18d8d14610476578063b5c1d22d1461047f578063b81c78ec14610492578063be9a71bd146104a757600080fd5b80637da0a877146104215780638da5cb5b14610432578063ad91be2614610443578063b3de7a9d1461046357600080fd5b8063486ff0cd116101bd578063598647f81161018c57806362b5bdf81161017157806362b5bdf8146103f95780636e5b0fc51461040c578063715018a61461041957600080fd5b8063598647f8146103d3578063602d5513146103e657600080fd5b8063486ff0cd14610350578063500ae991146103655780635703675e1461039e578063572b6c05146103b157600080fd5b806330337c70116101f957806330337c70146102ca57806337e32f67146102df5780633f522c8a1461030a57806346c440b61461033d57600080fd5b8063047fc9aa1461022b578063155dd5ee1461026d578063244cb2c8146102825780632ed3dd0e14610294575b600080fd5b6005546102539074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b61028061027b366004612660565b610579565b005b6008545b604051908152602001610264565b6102866102a236600461257f565b6001600160a01b03919091166000908152600b60209081526040808320938352929052205490565b6102d2610743565b60405161026491906129b8565b6102f26102ed366004612660565b610901565b6040516001600160a01b039091168152602001610264565b61032d610318366004612660565b600c6020526000908152604090205460ff1681565b6040519015158152602001610264565b61028061034b366004612660565b61099d565b6103586109dd565b6040516102649190612967565b61032d61037336600461257f565b6001600160a01b03919091166000908152600d60209081526040808320938352929052205460ff1690565b61032d6103ac3660046125ab565b610a6b565b61032d6103bf3660046124f0565b6001546001600160a01b0391821691161490565b6102806103e136600461270a565b610ac6565b6102806103f436600461252a565b610ef3565b6004546102f2906001600160a01b031681565b60095461032d9060ff1681565b610280611044565b6001546001600160a01b03166102f2565b6000546001600160a01b03166102f2565b6102866104513660046124f0565b600a6020526000908152604090205481565b61028061047136600461272c565b611058565b61028660065481565b61028061048d366004612679565b611424565b61049a6119d6565b604051610264919061286d565b6005546001600160a01b03166102f2565b6104cb6104c63660046125fc565b611a6a565b6040516102649190612827565b600754610286565b610280611c6b565b6104f0611e58565b6040516102649190612954565b600554610253907c0100000000000000000000000000000000000000000000000000000000900463ffffffff1681565b61028061053b3660046124f0565b611eb3565b61028661054e3660046124f0565b611f43565b6102866105613660046124f0565b611fc1565b6003546102f2906001600160a01b031681565b6105816120aa565b600160005b60055463ffffffff7c0100000000000000000000000000000000000000000000000000000000909104811690821610156105ff5742600f6002018263ffffffff16815481106105d7576105d7612ccf565b906000526020600020015411156105ed57600091505b806105f781612c7c565b915050610586565b5060018115151461067c5760405162461bcd60e51b8152602060048201526024808201527f446f6c7a41756374696f6e3a206e6f7420616c6c2073616c657320617265206560448201527f6e6465640000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6003546004546001600160a01b039182169163a9059cbb91166106a785670de0b6b3a7640000612b6f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044015b602060405180830381600087803b15801561070657600080fd5b505af115801561071a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073e919061263e565b505050565b61076e6040518060800160405280606081526020016060815260200160608152602001606081525090565b60408051600f805460a0602082028401810190945260808301818152600094849284918401828280156107c057602002820191906000526020600020905b8154815260200190600101908083116107ac575b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801561081857602002820191906000526020600020905b815481526020019060010190808311610804575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561087057602002820191906000526020600020905b81548152602001906001019080831161085c575b50505050508152602001600382018054806020026020016040519081016040528092919081815260200182805480156108f057602002820191906000526020600020906000905b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116108b75790505b505050919092525091949350505050565b6005546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018390526000916001600160a01b031690636352211e9060240160206040518083038186803b15801561095f57600080fd5b505afa158015610973573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610997919061250d565b92915050565b6109a56120aa565b6040514281527fa30bd35c0b68e2298146a2d3ad3423bb739e4b5ff1b6a747a380f642b274585e9060200160405180910390a1600855565b600280546109ea90612bef565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1690612bef565b8015610a635780601f10610a3857610100808354040283529160200191610a63565b820191906000526020600020905b815481529060010190602001808311610a4657829003601f168201915b505050505081565b6000610aad8585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508792508691506121239050565b15610aba57506001610abe565b5060005b949350505050565b80600f6001018181548110610add57610add612ccf565b90600052602060002001544210158015610b1457506011805482908110610b0657610b06612ccf565b906000526020600020015442105b610b605760405162461bcd60e51b815260206004820152601f60248201527f446f6c7a41756374696f6e3a2053616c657320617265206e6f74206f70656e006044820152606401610673565b6012805483908110610b7457610b74612ccf565b60009182526020909120601082040154600f9091166002026101000a900461ffff16831015610c0b5760405162461bcd60e51b815260206004820152602c60248201527f446f6c7a41756374696f6e3a20426964206973206c6f776572207468616e206d60448201527f696e696d756d20707269636500000000000000000000000000000000000000006064820152608401610673565b6005547c0100000000000000000000000000000000000000000000000000000000900463ffffffff168210610ca85760405162461bcd60e51b815260206004820152602c60248201527f446f6c7a41756374696f6e3a20547279696e6720746f20626964206f6e20756e60448201527f6b6e6f776e2072617269747900000000000000000000000000000000000000006064820152608401610673565b610cdc610cb361213b565b6001600160a01b03166000908152600d6020908152604080832086845290915290205460ff1690565b610d42576001600d6000610cee61213b565b6001600160a01b0316815260208082019290925260409081016000908120868252909252902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b600e6040518060a00160405280610d5761213b565b6001600160a01b0390811682526020808301889052426040808501919091526007546060808601919091526080948501899052865460018082018955600098895297849020875160059092020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169190951617845591850151958301959095559383015160028201559282015160038401550151600490910155610e26610dff61213b565b30610e1286670de0b6b3a7640000612b6f565b6003546001600160a01b031692919061214a565b82600b6000610e3361213b565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008481526020019081526020016000206000828254610e739190612ae5565b909155507f7a05ac1b6ef50434d957e30af7d77a87a18ece61017d7e5e5bb94e431a844e049050610ea261213b565b600754604080516001600160a01b03909316835260208301879052429083015260608201526080810184905260a00160405180910390a160078054906000610ee983612c43565b9190505550505050565b610efb6120aa565b60005b8181101561103e576005546004546006546001600160a01b03928316926342842e0e9216908790878787818110610f3757610f37612ccf565b90506020020135610f489190612ae5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b158015610faf57600080fd5b505af1158015610fc3573d6000803e3d6000fd5b505050507f481cef72e096fc82e9909bbad76215d8744d1320d13d706135111b81c5d2489a838383818110610ffa57610ffa612ccf565b6040805160209283029490940135845242918401919091526001600160a01b038816908301525060600160405180910390a18061103681612c43565b915050610efe565b50505050565b61104c6120aa565b61105660006121d2565b565b80600f600101818154811061106f5761106f612ccf565b906000526020600020015442101580156110a65750601180548290811061109857611098612ccf565b906000526020600020015442105b6110f25760405162461bcd60e51b815260206004820152601f60248201527f446f6c7a41756374696f6e3a2053616c657320617265206e6f74206f70656e006044820152606401610673565b6000600e858154811061110757611107612ccf565b906000526020600020906005020160010154846111249190612bac565b116111715760405162461bcd60e51b815260206004820152601e60248201527f446f6c7a41756374696f6e3a2077726f6e6720616d6f756e742073656e7400006044820152606401610673565b6064600f600301838154811061118957611189612ccf565b90600052602060002090601091828204019190066002029054906101000a900461ffff16600a6111b99190612b45565b6111c39190612afd565b61ffff1683101561123c5760405162461bcd60e51b815260206004820152603860248201527f446f6c7a41756374696f6e3a2043616e277420616464206c657373207468616e60448201527f20313025206f6620796f75722063757272656e742062696400000000000000006064820152608401610673565b600e848154811061124f5761124f612ccf565b60009182526020909120600590910201546001600160a01b031661127161213b565b6001600160a01b0316146112c75760405162461bcd60e51b815260206004820152601b60248201527f446f6c7a41756374696f6e3a204e6f74207468652062696464657200000000006044820152606401610673565b6000600e85815481106112dc576112dc612ccf565b906000526020600020906005020160010154846112f99190612bac565b905083600e868154811061130f5761130f612ccf565b90600052602060002090600502016001018190555042600e868154811061133857611338612ccf565b90600052602060002090600502016002018190555061136b61135861213b565b30610e1284670de0b6b3a7640000612b6f565b80600b600061137861213b565b6001600160a01b03166001600160a01b03168152602001908152602001600020600085815260200190815260200160002060008282546113b89190612ae5565b909155507f9b7e56711beda201832eff9ed57917c56e56ed23e585fb7129e05e0111ee51b190506113e761213b565b604080516001600160a01b039092168252602082018790524290820152606081018790526080810185905260a00160405180910390a15050505050565b600061142e61213b565b6114388680612a7d565b87602001356040516020016114509493929190612793565b6040516020818303038152906040528051906020012090508381146114dd5760405162461bcd60e51b815260206004820152603160248201527f446f6c7a41756374696f6e3a2057726f6e672076616c7565732070726f76696460448201527f656420666f72207769746864726177616c0000000000000000000000000000006064820152608401610673565b6114eb838360085487610a6b565b61155d5760405162461bcd60e51b815260206004820152602f60248201527f446f6c7a41756374696f6e3a204e6f7468696e6720746f20776974686472617760448201527f20686173206265656e20666f756e6400000000000000000000000000000000006064820152608401610673565b7ff7b8b8b8f9de95e0a77f3b62edf6ea871060917226c19aaff90cdb43bf74cff46115888680612a7d565b876020013561159561213b565b6040516115a594939291906128e4565b60405180910390a1602085013515611769578460200135600a60006115c861213b565b6001600160a01b03166001600160a01b03168152602001908152602001600020541015611769576000600a60006115fd61213b565b6001600160a01b031681526020808201929092526040016000205461162491880135612bac565b90508560200135600a600061163761213b565b6001600160a01b0390811682526020820192909252604090810160002092909255600354169063a9059cbb906116739060608a01908a016124f0565b61168584670de0b6b3a7640000612b6f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156116e357600080fd5b505af11580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b919061263e565b6117675760405162461bcd60e51b815260206004820152601c60248201527f446f6c7a41756374696f6e3a207472616e73666572206661696c6564000000006044820152606401610673565b505b6117738580612a7d565b1590506119cf5760005b6117878680612a7d565b90508110156119cd57600c600061179e8880612a7d565b848181106117ae576117ae612ccf565b602090810292909201358352508101919091526040016000205460ff166119bb576001600c60006117df8980612a7d565b858181106117ef576117ef612ccf565b90506020020135815260200190815260200160002060006101000a81548160ff0219169083151502179055506006546000146118f8576005546004546001600160a01b03918216916342842e0e911661184661213b565b6006546118538b80612a7d565b8781811061186357611863612ccf565b905060200201356118749190612ae5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b1580156118db57600080fd5b505af11580156118ef573d6000803e3d6000fd5b505050506119bb565b6005546004546001600160a01b03918216916342842e0e911661191961213b565b6119238a80612a7d565b8681811061193357611933612ccf565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b1580156119a257600080fd5b505af11580156119b6573d6000803e3d6000fd5b505050505b806119c581612c43565b91505061177d565b505b5050505050565b6060600e805480602002602001604051908101604052809291908181526020016000905b82821015611a615760008481526020908190206040805160a0810182526005860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260040154608083015290835290920191016119fa565b50505050905090565b606081611ab95760405162461bcd60e51b815260206004820152601d60248201527f446f6c7a41756374696f6e3a204e6f7468696e6720746f20636865636b0000006044820152606401610673565b60008267ffffffffffffffff811115611ad457611ad4612cfe565b604051908082528060200260200182016040528015611afd578160200160208202803683370190505b50905060005b83811015611c63576000858583818110611b1f57611b1f612ccf565b9050602002013510158015611b6b575060055474010000000000000000000000000000000000000000900463ffffffff16858583818110611b6257611b62612ccf565b90506020020135105b15611c5157600c6000868684818110611b8657611b86612ccf565b602090810292909201358352508101919091526040016000205460ff16611bd0576000828281518110611bbb57611bbb612ccf565b91151560209283029190910190910152611bf5565b6001828281518110611be457611be4612ccf565b911515602092830291909101909101525b600c6000868684818110611c0b57611c0b612ccf565b90506020020135815260200190815260200160002060009054906101000a900460ff16828281518110611c4057611c40612ccf565b911515602092830291909101909101525b80611c5b81612c43565b915050611b03565b509392505050565b611c736120aa565b600160005b60055463ffffffff7c010000000000000000000000000000000000000000000000000000000090910481169082161015611cf15742600f6002018263ffffffff1681548110611cc957611cc9612ccf565b90600052602060002001541115611cdf57600091505b80611ce981612c7c565b915050611c78565b50600181151514611d695760405162461bcd60e51b8152602060048201526024808201527f446f6c7a41756374696f6e3a206e6f7420616c6c2073616c657320617265206560448201527f6e646564000000000000000000000000000000000000000000000000000000006064820152608401610673565b6003546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b158015611dc657600080fd5b505afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfe91906126f1565b600354600480546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03918216928101929092526024820184905292935091169063a9059cbb906044016106ec565b6060600f600001805480602002602001604051908101604052809291908181526020018280548015611ea957602002820191906000526020600020905b815481526020019060010190808311611e95575b5050505050905090565b611ebb6120aa565b6001600160a01b038116611f375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610673565b611f40816121d2565b50565b600080805b6005547c0100000000000000000000000000000000000000000000000000000000900463ffffffff16811015611fba576001600160a01b0384166000908152600b60209081526040808320848452909152902054611fa69083612ae5565b915080611fb281612c43565b915050611f48565b5092915050565b6005546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015260009216906370a082319060240160206040518083038186803b15801561202057600080fd5b505afa158015612034573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099791906126f1565b60006014361080159061207557506001546001600160a01b031633145b156120a557507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90565b503390565b6120b261213b565b6001600160a01b03166120cd6000546001600160a01b031690565b6001600160a01b0316146110565760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610673565b600082612130858461223a565b1490505b9392505050565b6000612145612058565b905090565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261103e90859061227f565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081815b8451811015611c635761226b8286838151811061225e5761225e612ccf565b6020026020010151612364565b91508061227781612c43565b91505061223f565b60006122d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123909092919063ffffffff16565b80519091501561073e57808060200190518101906122f2919061263e565b61073e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610673565b6000818310612380576000828152602084905260409020612134565b5060009182526020526040902090565b6060610abe8484600085856001600160a01b0385163b6123f25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610673565b600080866001600160a01b0316858760405161240e919061280b565b60006040518083038185875af1925050503d806000811461244b576040519150601f19603f3d011682016040523d82523d6000602084013e612450565b606091505b509150915061246082828661246b565b979650505050505050565b6060831561247a575081612134565b82511561248a5782518084602001fd5b8160405162461bcd60e51b81526004016106739190612967565b60008083601f8401126124b657600080fd5b50813567ffffffffffffffff8111156124ce57600080fd5b6020830191508360208260051b85010111156124e957600080fd5b9250929050565b60006020828403121561250257600080fd5b813561213481612d2d565b60006020828403121561251f57600080fd5b815161213481612d2d565b60008060006040848603121561253f57600080fd5b833561254a81612d2d565b9250602084013567ffffffffffffffff81111561256657600080fd5b612572868287016124a4565b9497909650939450505050565b6000806040838503121561259257600080fd5b823561259d81612d2d565b946020939093013593505050565b600080600080606085870312156125c157600080fd5b843567ffffffffffffffff8111156125d857600080fd5b6125e4878288016124a4565b90989097506020870135966040013595509350505050565b6000806020838503121561260f57600080fd5b823567ffffffffffffffff81111561262657600080fd5b612632858286016124a4565b90969095509350505050565b60006020828403121561265057600080fd5b8151801515811461213457600080fd5b60006020828403121561267257600080fd5b5035919050565b6000806000806060858703121561268f57600080fd5b843567ffffffffffffffff808211156126a757600080fd5b90860190606082890312156126bb57600080fd5b90945060208601359350604086013590808211156126d857600080fd5b506126e5878288016124a4565b95989497509550505050565b60006020828403121561270357600080fd5b5051919050565b6000806040838503121561271d57600080fd5b50508035926020909101359150565b60008060006060848603121561274157600080fd5b505081359360208301359350604090920135919050565b600081518084526020808501945080840160005b838110156127885781518752958201959082019060010161276c565b509495945050505050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16815260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8411156127ea57600080fd5b8360051b808660148501376014920191820192909252603401949350505050565b6000825161281d818460208701612bc3565b9190910192915050565b6020808252825182820181905260009190848201906040850190845b81811015612861578351151583529284019291840191600101612843565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b828110156128d757815180516001600160a01b0316855286810151878601528581015186860152606080820151908601526080908101519085015260a0909301929085019060010161288a565b5091979650505050505050565b6060815283606082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561291d57600080fd5b8460051b8087608085013760009083016080019081526020830194909452506001600160a01b039190911660409091015292915050565b6020815260006121346020830184612758565b6020815260008251806020840152612986816040850160208701612bc3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000602080835283516080828501526129d460a0850182612758565b9050818501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe080868403016040870152612a0f8383612758565b92506040870151915080868403016060870152612a2c8383612758565b6060880151878203909201608088015281518082529185019350600092508401905b80831015612a7257835161ffff168252928401926001929092019190840190612a4e565b509695505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612ab257600080fd5b83018035915067ffffffffffffffff821115612acd57600080fd5b6020019150600581901b36038213156124e957600080fd5b60008219821115612af857612af8612ca0565b500190565b600061ffff80841680612b39577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600061ffff80831681851681830481118215151615612b6657612b66612ca0565b02949350505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ba757612ba7612ca0565b500290565b600082821015612bbe57612bbe612ca0565b500390565b60005b83811015612bde578181015183820152602001612bc6565b8381111561103e5750506000910152565b600181811c90821680612c0357607f821691505b60208210811415612c3d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612c7557612c75612ca0565b5060010190565b600063ffffffff80831681811415612c9657612c96612ca0565b6001019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6001600160a01b0381168114611f4057600080fdfea2646970667358221220e428ccebf5e7f154ae22d8557777eeabc9652ae96c489bde88e11b5ca98d9ac164736f6c63430008070033000000000000000000000000d94298c2160ad8603216a3fa7a233ec609b2494d0000000000000000000000006ab4e20f36ca48b61ecd66c0450fdf665fa130be000000000000000000000000d27029e4ebc3c4c55fcfadddc54fa0b911829afc00000000000000000000000000000000000000000000000000000000000001ee00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000d2750000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d94298c2160ad8603216a3fa7a233ec609b2494d0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000062000000000000000000000000000000000000000000000000000000000000016e00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000067d185500000000000000000000000000000000000000000000000000000000067d185500000000000000000000000000000000000000000000000000000000067d185500000000000000000000000000000000000000000000000000000000067d1855000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000067d436600000000000000000000000000000000000000000000000000000000067d43b100000000000000000000000000000000000000000000000000000000067d43fc00000000000000000000000000000000000000000000000000000000067d44470000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000012c00000000000000000000000000000000000000000000000000000000000000c8