8 txs
11 calls
constructor
constructor(string _collectionName, string _collectionURI)
functions
allocatedContractTokens
viewfunction allocatedContractTokens(address) view returns (uint256)
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
collectionName
viewfunction collectionName() view returns (string)
collectionURI
viewfunction collectionURI() view returns (string)
contractName
viewfunction contractName() view returns (string)
currentMintID
viewfunction currentMintID() view returns (uint256)
currentMintSupply
viewfunction currentMintSupply() view returns (uint256)
getMintTokens
viewfunction getMintTokens(uint256 mintID) view returns (address[])
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
MAX_MINT_PER_WALLET
viewfunction MAX_MINT_PER_WALLET() view returns (uint256)
maxMintSupply
viewfunction maxMintSupply() view returns (uint256)
mintActive
viewfunction mintActive() view returns (bool)
mintPrice
viewfunction mintPrice() view returns (uint256)
mintTokenInitialBalance
viewfunction mintTokenInitialBalance(uint256, address) view returns (uint256)
mintTokens
viewfunction mintTokens(uint256) view returns (uint256 mintID)
mintTokenVestDate
viewfunction mintTokenVestDate(uint256, address) view returns (uint256)
mintTokenWithdrawn
viewfunction mintTokenWithdrawn(uint256, address) view returns (uint256)
owner
viewfunction owner() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
uri
viewfunction uri(uint256) view returns (string)
userMintedCount
viewfunction userMintedCount(address) view returns (uint256)
VESTING_INTERVAL
viewfunction VESTING_INTERVAL() view returns (uint256)
VESTING_PERCENTAGE
viewfunction VESTING_PERCENTAGE() view returns (uint256)
VESTING_PERIOD
viewfunction VESTING_PERIOD() view returns (uint256)
adminMint
nonpayablefunction adminMint(address recipient, uint256 quantity)
burn
nonpayablefunction burn(uint256 mintID)
clearERC20
nonpayablefunction clearERC20(address token)
clearETH
nonpayablefunction clearETH()
depositTokens
nonpayablefunction depositTokens(uint256 mintID, address token, uint256 amount)
mint
payablefunction mint() payable
renounceOwnership
nonpayablefunction renounceOwnership()
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] values, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 id, uint256 value, bytes data)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setCollectionName
nonpayablefunction setCollectionName(string newName)
setCollectionURI
nonpayablefunction setCollectionURI(string newURI)
setMintActive
nonpayablefunction setMintActive(bool active)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(uint256 mintID)
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
CollectionURIUpdated
event CollectionURIUpdated(string newURI)
ERC20Cleared
event ERC20Cleared(address token, uint256 amount)
ETHCleared
event ETHCleared(uint256 amount)
MintCreated
event MintCreated(address indexed recipient, uint256 mintID)
MintStateChanged
event MintStateChanged(bool active)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TokensDeposited
event TokensDeposited(uint256 indexed mintID, address indexed token, uint256 amount)
TokensWithdrawn
event TokensWithdrawn(address indexed user, uint256 mintID, address token, uint256 amount)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
TransferSingle
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
URI
event URI(string value, uint256 indexed id)
errors
ERC1155InsufficientBalance
error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId)
ERC1155InvalidApprover
error ERC1155InvalidApprover(address approver)
ERC1155InvalidArrayLength
error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength)
ERC1155InvalidOperator
error ERC1155InvalidOperator(address operator)
ERC1155InvalidReceiver
error ERC1155InvalidReceiver(address receiver)
ERC1155InvalidSender
error ERC1155InvalidSender(address sender)
ERC1155MissingApprovalForAll
error ERC1155MissingApprovalForAll(address operator, address owner)
FailedCall
error FailedCall()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x6080604052666a94d74f430000600855609660095534801561001f575f5ffd5b50604051612e21380380612e2183398101604081905261003e916101a5565b3381610049816100a7565b506001600160a01b03811661007757604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610080816100b7565b5060016004556005610092838261028e565b50600661009f828261028e565b505050610348565b60026100b3828261028e565b5050565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261012b575f5ffd5b81516001600160401b0381111561014457610144610108565b604051601f8201601f19908116603f011681016001600160401b038111828210171561017257610172610108565b604052818152838201602001851015610189575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f604083850312156101b6575f5ffd5b82516001600160401b038111156101cb575f5ffd5b6101d78582860161011c565b602085015190935090506001600160401b038111156101f4575f5ffd5b6102008582860161011c565b9150509250929050565b600181811c9082168061021e57607f821691505b60208210810361023c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561028957805f5260205f20601f840160051c810160208510156102675750805b601f840160051c820191505b81811015610286575f8155600101610273565b50505b505050565b81516001600160401b038111156102a7576102a7610108565b6102bb816102b5845461020a565b84610242565b6020601f8211600181146102ed575f83156102d65750848201515b5f19600385901b1c1916600184901b178455610286565b5f84815260208120601f198516915b8281101561031c57878501518255602094850194600190920191016102fc565b508482101561033957868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b612acc806103555f395ff3fe608060405260043610610232575f3560e01c80638278cb6611610129578063d41ab5f7116100a8578063ed7bb6e61161006d578063ed7bb6e61461069a578063ee1cc944146106b9578063f242432a146106d8578063f2fde38b146106f7578063f5fe2ac514610716575f5ffd5b8063d41ab5f714610608578063e5326ab114610633578063e58306f914610647578063e84cc3b314610666578063e985e9c51461067b575f5ffd5b8063a5ca2afa116100ee578063a5ca2afa1461057e578063a6d6e02614610594578063b19960e6146105a9578063c285e107146105bd578063d346948b146105d2575f5ffd5b80638278cb66146104da5780638da5cb5b146104f957806397304ced14610520578063a22cb4651461054b578063a5097ebf1461056a575f5ffd5b80632e1a7d4d116101b55780635eb04f231161017a5780635eb04f231461045b578063616eb6381461046f5780636817c76c14610483578063715018a61461049857806375d0c0dc146104ac575f5ffd5b80632e1a7d4d146103a65780632eb2c2d6146103c557806342966c68146103e457806345eaf638146104035780634e1273f41461042f575f5ffd5b80631249c58b116101fb5780631249c58b146102fa578063147415cf1461030257806325fd90f3146103385780632639f460146103515780632e11192a14610370575f5ffd5b8062fdd58e14610236578063015bf264146102685780630197d9721461028957806301ffc9a71461029f5780630e89341c146102ce575b5f5ffd5b348015610241575f5ffd5b506102556102503660046121ee565b610741565b6040519081526020015b60405180910390f35b348015610273575f5ffd5b50610287610282366004612216565b610768565b005b348015610294575f5ffd5b506102556212750081565b3480156102aa575f5ffd5b506102be6102b936600461225e565b61098b565b604051901515815260200161025f565b3480156102d9575f5ffd5b506102ed6102e8366004612280565b610995565b60405161025f91906122c5565b610287610a27565b34801561030d575f5ffd5b5061025561031c3660046122d7565b601060209081525f928352604080842090915290825290205481565b348015610343575f5ffd5b506007546102be9060ff1681565b34801561035c575f5ffd5b5061028761036b36600461239f565b610c49565b34801561037b575f5ffd5b5061025561038a3660046122d7565b601160209081525f928352604080842090915290825290205481565b3480156103b1575f5ffd5b506102876103c0366004612280565b610c98565b3480156103d0575f5ffd5b506102876103df366004612497565b610d7d565b3480156103ef575f5ffd5b506102876103fe366004612280565b610de4565b34801561040e575f5ffd5b5061042261041d366004612280565b610fa6565b60405161025f9190612546565b34801561043a575f5ffd5b5061044e610449366004612591565b611011565b60405161025f919061268e565b348015610466575f5ffd5b50610255600a81565b34801561047a575f5ffd5b506102876110dc565b34801561048e575f5ffd5b5061025560085481565b3480156104a3575f5ffd5b50610287611180565b3480156104b7575f5ffd5b506102ed6040518060400160405280600381526020016203432360ec1b81525081565b3480156104e5575f5ffd5b506102876104f436600461239f565b611191565b348015610504575f5ffd5b506003546040516001600160a01b03909116815260200161025f565b34801561052b575f5ffd5b5061025561053a366004612280565b600e6020525f908152604090205481565b348015610556575f5ffd5b506102876105653660046126af565b6111a5565b348015610575575f5ffd5b506102ed6111b0565b348015610589575f5ffd5b5061025562278d0081565b34801561059f575f5ffd5b50610255600a5481565b3480156105b4575f5ffd5b50610255600381565b3480156105c8575f5ffd5b5061025560095481565b3480156105dd575f5ffd5b506102556105ec3660046122d7565b600f60209081525f928352604080842090915290825290205481565b348015610613575f5ffd5b506102556106223660046126d7565b600c6020525f908152604090205481565b34801561063e575f5ffd5b506102ed61123c565b348015610652575f5ffd5b506102876106613660046121ee565b611249565b348015610671575f5ffd5b50610255600b5481565b348015610686575f5ffd5b506102be6106953660046126f0565b6113df565b3480156106a5575f5ffd5b506102876106b43660046126d7565b61140c565b3480156106c4575f5ffd5b506102876106d3366004612718565b61155a565b3480156106e3575f5ffd5b506102876106f2366004612731565b6115a3565b348015610702575f5ffd5b506102876107113660046126d7565b611602565b348015610721575f5ffd5b506102556107303660046126d7565b600d6020525f908152604090205481565b5f818152602081815260408083206001600160a01b03861684529091529020545b92915050565b61077061163c565b6001600160a01b0382166107c35760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b60448201526064015b60405180910390fd5b5f81116108035760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b60448201526064016107ba565b600a548311156108255760405162461bcd60e51b81526004016107ba90612785565b5f838152600e602090815260408083206001600160a01b0386168452600281019092529091205460ff166108ce576001818101805480830182555f918252602080832090910180546001600160a01b0319166001600160a01b038816908117909155825260028401905260409020805460ff191690911790556108ab62127500426127c2565b5f8581526011602090815260408083206001600160a01b03881684529091529020555b6108e36001600160a01b038416333085611669565b5f848152600f602090815260408083206001600160a01b0387168452909152812080548492906109149084906127c2565b90915550506001600160a01b0383165f908152600c6020526040812080548492906109409084906127c2565b90915550506040518281526001600160a01b0384169085907fb162210da7d23d82c18cff5af46d3562661d26b42a6848fa28d64a6bdc70386a9060200160405180910390a350505050565b5f610762826116d6565b6060600680546109a4906127d5565b80601f01602080910402602001604051908101604052809291908181526020018280546109d0906127d5565b8015610a1b5780601f106109f257610100808354040283529160200191610a1b565b820191905f5260205f20905b8154815290600101906020018083116109fe57829003601f168201915b50505050509050919050565b610a2f611725565b60075460ff16610a745760405162461bcd60e51b815260206004820152601060248201526f4d696e74696e6720696e61637469766560801b60448201526064016107ba565b600854341015610ab95760405162461bcd60e51b815260206004820152601060248201526f092dce6eaccccd2c6d2cadce8408aa8960831b60448201526064016107ba565b600954600b5410610b015760405162461bcd60e51b815260206004820152601260248201527113585e081cdd5c1c1b1e481c995858da195960721b60448201526064016107ba565b335f908152600d6020526040902054600311610b585760405162461bcd60e51b815260206004820152601660248201527513585e080cc81b5a5b9d1cc81c195c881dd85b1b195d60521b60448201526064016107ba565b610b7f600854610b706003546001600160a01b031690565b6001600160a01b03169061174f565b600854341115610ba157610ba160085434610b9a919061280d565b339061174f565b600a8054905f610bb083612820565b9190505550610bd233600a54600160405180602001604052805f8152506117db565b600b8054905f610be183612820565b9091555050335f908152600d60205260408120805491610c0083612820565b9091555050600a5460405190815233907fe966148a6afb7669e7d6950ed1575f6731f8678d5fc0a09c970e995a3a6dec189060200160405180910390a2610c476001600455565b565b610c5161163c565b6006610c5d828261287c565b507f88200832d1fe27eee076bea36a10a1eb73b9d27d9e6e5e2626a83d62ffc9ae5c81604051610c8d91906122c5565b60405180910390a150565b80600a548111158015610caa57505f81115b610cc65760405162461bcd60e51b81526004016107ba90612785565b610cce611725565b610cd83383610741565b600114610d135760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b60448201526064016107ba565b5f828152600e60205260408120905b6001820154811015610d6d575f826001018281548110610d4457610d44612937565b5f918252602090912001546001600160a01b03169050610d648582611836565b50600101610d22565b5050610d796001600455565b5050565b336001600160a01b0386168114801590610d9e5750610d9c86826113df565b155b15610dcf5760405163711bec9160e11b81526001600160a01b038083166004830152871660248201526044016107ba565b610ddc8686868686611a39565b505050505050565b80600a548111158015610df657505f81115b610e125760405162461bcd60e51b81526004016107ba90612785565b610e1c3383610741565b600114610e575760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b60448201526064016107ba565b5f828152600e60205260408120905b6001820154811015610f60575f826001018281548110610e8857610e88612937565b5f9182526020808320909101548783526010825260408084206001600160a01b0390921680855291835280842054898552600f8452818520838652909352832054909350610ed6919061280d565b6001600160a01b0383165f908152600c6020526040812080549293508392909190610f0290849061280d565b9091555050505f858152600f602090815260408083206001600160a01b039094168084529382528083208390558783526010825280832084845282528083208390558783526011825280832093835292905290812055600101610e66565b505f838152600e6020526040812081815590610f7f60018301826121a5565b5050610f8d33846001611a9e565b600b8054905f610f9c8361294b565b9190505550505050565b5f818152600e6020908152604091829020600101805483518184028101840190945280845260609392830182828015610a1b57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610fe85750505050509050919050565b606081518351146110425781518351604051635b05999160e01b8152600481019290925260248201526044016107ba565b5f835167ffffffffffffffff81111561105d5761105d612301565b604051908082528060200260200182016040528015611086578160200160208202803683370190505b5090505f5b84518110156110d4576020808202860101516110af90602080840287010151610741565b8282815181106110c1576110c1612937565b602090810291909101015260010161108b565b509392505050565b6110e461163c565b6110ec611725565b478061112c5760405162461bcd60e51b815260206004820152600f60248201526e27379022aa24103a379031b632b0b960891b60448201526064016107ba565b61114281610b706003546001600160a01b031690565b6040518181527f188a12c4102636f2c40551dc0baaf1542bf3ef22b8386d200265804ec395ac319060200160405180910390a150610c476001600455565b61118861163c565b610c475f611b04565b61119961163c565b6005610d79828261287c565b610d79338383611b55565b600680546111bd906127d5565b80601f01602080910402602001604051908101604052809291908181526020018280546111e9906127d5565b80156112345780601f1061120b57610100808354040283529160200191611234565b820191905f5260205f20905b81548152906001019060200180831161121757829003601f168201915b505050505081565b600580546111bd906127d5565b61125161163c565b6001600160a01b03821661129b5760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b60448201526064016107ba565b603281111580156112ab57505f81115b6112ea5760405162461bcd60e51b815260206004820152601060248201526f496e76616c6964207175616e7469747960801b60448201526064016107ba565b60095481600b546112fb91906127c2565b111561133e5760405162461bcd60e51b815260206004820152601260248201527145786365656473206d617820737570706c7960701b60448201526064016107ba565b5f5b818110156113da57600a8054905f61135783612820565b919050555061137983600a54600160405180602001604052805f8152506117db565b600b8054905f61138883612820565b9190505550826001600160a01b03167fe966148a6afb7669e7d6950ed1575f6731f8678d5fc0a09c970e995a3a6dec18600a546040516113ca91815260200190565b60405180910390a2600101611340565b505050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205460ff1690565b61141461163c565b61141c611725565b6001600160a01b0381165f818152600c60205260408082205490516370a0823160e01b8152306004820152919290916370a0823190602401602060405180830381865afa15801561146f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114939190612960565b61149d919061280d565b90505f81116114e45760405162461bcd60e51b81526020600482015260136024820152724e6f20617661696c61626c6520746f6b656e7360681b60448201526064016107ba565b61150a6114f96003546001600160a01b031690565b6001600160a01b0384169083611be9565b604080516001600160a01b0384168152602081018390527ff908a2227500e78e550d7a8d46ba8e7b975b45053fac3f61c86312801dd78341910160405180910390a1506115576001600455565b50565b61156261163c565b6007805460ff19168215159081179091556040519081527f992fe84c8bbd52855b22035907ca1f9e1d6bcbb390bc81150808e8443d01668c90602001610c8d565b336001600160a01b03861681148015906115c457506115c286826113df565b155b156115f55760405163711bec9160e11b81526001600160a01b038083166004830152871660248201526044016107ba565b610ddc8686868686611c1a565b61160a61163c565b6001600160a01b03811661163357604051631e4fbdf760e01b81525f60048201526024016107ba565b61155781611b04565b6003546001600160a01b03163314610c475760405163118cdaa760e01b81523360048201526024016107ba565b6040516001600160a01b0384811660248301528381166044830152606482018390526116d09186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611ca6565b50505050565b5f6001600160e01b03198216636cdb3d1360e11b148061170657506001600160e01b031982166303a24d0760e21b145b8061076257506301ffc9a760e01b6001600160e01b0319831614610762565b60026004540361174857604051633ee5aeb560e01b815260040160405180910390fd5b6002600455565b804710156117795760405163cf47918160e01b8152476004820152602481018290526044016107ba565b5f5f836001600160a01b0316836040515f6040518083038185875af1925050503d805f81146117c3576040519150601f19603f3d011682016040523d82523d5f602084013e6117c8565b606091505b5091509150816116d0576116d081611d12565b6001600160a01b03841661180457604051632bfa23e760e11b81525f60048201526024016107ba565b60408051600180825260208201869052818301908152606082018590526080820190925290610ddc5f87848487611d3b565b5f8281526011602090815260408083206001600160a01b038516845290915290205442101561189d5760405162461bcd60e51b815260206004820152601360248201527215995cdd1a5b99c81b9bdd081cdd185c9d1959606a1b60448201526064016107ba565b5f8281526011602090815260408083206001600160a01b03851684529091528120546118c9904261280d565b90505f6118d962278d0083612977565b9050600a81116118e957806118ec565b600a5b5f858152600f602090815260408083206001600160a01b038816845290915281205491925090606490839061192390600a90612996565b61192d9190612996565b6119379190612977565b5f8681526010602090815260408083206001600160a01b038916845290915281205491925090611967908361280d565b90508015610ddc575f8681526010602090815260408083206001600160a01b0389168452909152812080548392906119a09084906127c2565b90915550506001600160a01b0385165f908152600c6020526040812080548392906119cc90849061280d565b909155506119e690506001600160a01b0386163383611be9565b604080518781526001600160a01b038716602082015290810182905233907fa1b8b675e45a4aa34f25af53b8f232c9ef44017db83cc0df5a914dbe54ed46cb9060600160405180910390a2505050505050565b6001600160a01b038416611a6257604051632bfa23e760e11b81525f60048201526024016107ba565b6001600160a01b038516611a8a57604051626a0d4560e21b81525f60048201526024016107ba565b611a978585858585611d3b565b5050505050565b6001600160a01b038316611ac657604051626a0d4560e21b81525f60048201526024016107ba565b604080516001808252602082018590528183019081526060820184905260a082019092525f60808201818152919291611a9791879185908590611d3b565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038216611b7d5760405162ced3e160e81b81525f60048201526024016107ba565b6001600160a01b038381165f81815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6040516001600160a01b038381166024830152604482018390526113da91859182169063a9059cbb9060640161169e565b6001600160a01b038416611c4357604051632bfa23e760e11b81525f60048201526024016107ba565b6001600160a01b038516611c6b57604051626a0d4560e21b81525f60048201526024016107ba565b60408051600180825260208201869052818301908152606082018590526080820190925290611c9d8787848487611d3b565b50505050505050565b5f5f60205f8451602086015f885af180611cc5576040513d5f823e3d81fd5b50505f513d91508115611cdc578060011415611ce9565b6001600160a01b0384163b155b156116d057604051635274afe760e01b81526001600160a01b03851660048201526024016107ba565b805115611d225780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b611d4785858585611d8e565b6001600160a01b03841615611a975782513390600103611d805760208481015190840151611d79838989858589611f9d565b5050610ddc565b610ddc8187878787876120be565b8051825114611dbd5781518151604051635b05999160e01b8152600481019290925260248201526044016107ba565b335f5b8351811015611ebf576020818102858101820151908501909101516001600160a01b03881615611e71575f828152602081815260408083206001600160a01b038c16845290915290205481811015611e4b576040516303dee4c560e01b81526001600160a01b038a1660048201526024810182905260448101839052606481018490526084016107ba565b5f838152602081815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b03871615611eb5575f828152602081815260408083206001600160a01b038b16845290915281208054839290611eaf9084906127c2565b90915550505b5050600101611dc0565b508251600103611f3f5760208301515f906020840151909150856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051611f30929190918252602082015260400190565b60405180910390a45050611a97565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051611f8e9291906129ad565b60405180910390a45050505050565b6001600160a01b0384163b15610ddc5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190611fe190899089908890889088906004016129da565b6020604051808303815f875af192505050801561201b575060408051601f3d908101601f1916820190925261201891810190612a1e565b60015b612082573d808015612048576040519150601f19603f3d011682016040523d82523d5f602084013e61204d565b606091505b5080515f0361207a57604051632bfa23e760e11b81526001600160a01b03861660048201526024016107ba565b805181602001fd5b6001600160e01b0319811663f23a6e6160e01b14611c9d57604051632bfa23e760e11b81526001600160a01b03861660048201526024016107ba565b6001600160a01b0384163b15610ddc5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906121029089908990889088908890600401612a39565b6020604051808303815f875af192505050801561213c575060408051601f3d908101601f1916820190925261213991810190612a1e565b60015b612169573d808015612048576040519150601f19603f3d011682016040523d82523d5f602084013e61204d565b6001600160e01b0319811663bc197c8160e01b14611c9d57604051632bfa23e760e11b81526001600160a01b03861660048201526024016107ba565b5080545f8255905f5260205f209081019061155791905b808211156121cf575f81556001016121bc565b5090565b80356001600160a01b03811681146121e9575f5ffd5b919050565b5f5f604083850312156121ff575f5ffd5b612208836121d3565b946020939093013593505050565b5f5f5f60608486031215612228575f5ffd5b83359250612238602085016121d3565b929592945050506040919091013590565b6001600160e01b031981168114611557575f5ffd5b5f6020828403121561226e575f5ffd5b813561227981612249565b9392505050565b5f60208284031215612290575f5ffd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6122796020830184612297565b5f5f604083850312156122e8575f5ffd5b823591506122f8602084016121d3565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561233e5761233e612301565b604052919050565b5f5f67ffffffffffffffff84111561236057612360612301565b50601f8301601f191660200161237581612315565b915050828152838383011115612389575f5ffd5b828260208301375f602084830101529392505050565b5f602082840312156123af575f5ffd5b813567ffffffffffffffff8111156123c5575f5ffd5b8201601f810184136123d5575f5ffd5b6123e484823560208401612346565b949350505050565b5f67ffffffffffffffff82111561240557612405612301565b5060051b60200190565b5f82601f83011261241e575f5ffd5b813561243161242c826123ec565b612315565b8082825260208201915060208360051b860101925085831115612452575f5ffd5b602085015b8381101561246f578035835260209283019201612457565b5095945050505050565b5f82601f830112612488575f5ffd5b61227983833560208501612346565b5f5f5f5f5f60a086880312156124ab575f5ffd5b6124b4866121d3565b94506124c2602087016121d3565b9350604086013567ffffffffffffffff8111156124dd575f5ffd5b6124e98882890161240f565b935050606086013567ffffffffffffffff811115612505575f5ffd5b6125118882890161240f565b925050608086013567ffffffffffffffff81111561252d575f5ffd5b61253988828901612479565b9150509295509295909350565b602080825282518282018190525f918401906040840190835b818110156125865783516001600160a01b031683526020938401939092019160010161255f565b509095945050505050565b5f5f604083850312156125a2575f5ffd5b823567ffffffffffffffff8111156125b8575f5ffd5b8301601f810185136125c8575f5ffd5b80356125d661242c826123ec565b8082825260208201915060208360051b8501019250878311156125f7575f5ffd5b6020840193505b828410156126205761260f846121d3565b8252602093840193909101906125fe565b9450505050602083013567ffffffffffffffff81111561263e575f5ffd5b61264a8582860161240f565b9150509250929050565b5f8151808452602084019350602083015f5b82811015612684578151865260209586019590910190600101612666565b5093949350505050565b602081525f6122796020830184612654565b803580151581146121e9575f5ffd5b5f5f604083850312156126c0575f5ffd5b6126c9836121d3565b91506122f8602084016126a0565b5f602082840312156126e7575f5ffd5b612279826121d3565b5f5f60408385031215612701575f5ffd5b61270a836121d3565b91506122f8602084016121d3565b5f60208284031215612728575f5ffd5b612279826126a0565b5f5f5f5f5f60a08688031215612745575f5ffd5b61274e866121d3565b945061275c602087016121d3565b93506040860135925060608601359150608086013567ffffffffffffffff81111561252d575f5ffd5b6020808252600f908201526e125b9d985b1a59081b5a5b9d081251608a1b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610762576107626127ae565b600181811c908216806127e957607f821691505b60208210810361280757634e487b7160e01b5f52602260045260245ffd5b50919050565b81810381811115610762576107626127ae565b5f60018201612831576128316127ae565b5060010190565b601f8211156113da57805f5260205f20601f840160051c8101602085101561285d5750805b601f840160051c820191505b81811015611a97575f8155600101612869565b815167ffffffffffffffff81111561289657612896612301565b6128aa816128a484546127d5565b84612838565b6020601f8211600181146128dc575f83156128c55750848201515b5f19600385901b1c1916600184901b178455611a97565b5f84815260208120601f198516915b8281101561290b57878501518255602094850194600190920191016128eb565b508482101561292857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b5f81612959576129596127ae565b505f190190565b5f60208284031215612970575f5ffd5b5051919050565b5f8261299157634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610762576107626127ae565b604081525f6129bf6040830185612654565b82810360208401526129d18185612654565b95945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f90612a1390830184612297565b979650505050505050565b5f60208284031215612a2e575f5ffd5b815161227981612249565b6001600160a01b0386811682528516602082015260a0604082018190525f90612a6490830186612654565b8281036060840152612a768186612654565b90508281036080840152612a8a8185612297565b9897505050505050505056fea2646970667358221220ed44b6fa9e8cf64702f3ed8bb725ec7c00c27a2a0ad86098bf4b8a77a2feed5d64736f6c634300081c0033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000013666967687420666f722074686520445245414d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c68747470733a2f2f6379616e2d68696464656e2d686172652d3434372e6d7970696e6174612e636c6f75642f697066732f6261666b7265696873613465776764767072337570706b6e6c65337077666f62793574347971736c617874356b366b61666178626b7635366d35650000000000000000000000000000000000000000