48 txs
142 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
burnActive
viewfunction burnActive() view returns (bool)
BurnContract
viewfunction BurnContract() view returns (address)
burnTracker
viewfunction burnTracker() view returns (uint256)
didWalletMint
viewfunction didWalletMint(uint8, address) view returns (bool)
getAmountMintedPerType
viewfunction getAmountMintedPerType(uint8 mintType, address _address) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
isOperatorFilterRegistryRevoked
viewfunction isOperatorFilterRegistryRevoked() view returns (bool)
MAX_SUPPLY
viewfunction MAX_SUPPLY() view returns (uint256)
metadata
viewfunction metadata() view returns (string)
mintTracker
viewfunction mintTracker() view returns (uint256)
name_
viewfunction name_() view returns (string)
name
viewfunction name() view returns (string)
operatorFilterRegistry
viewfunction operatorFilterRegistry() view returns (address)
owner
viewfunction owner() view returns (address)
publicActive
viewfunction publicActive() view returns (bool)
publicMintedPerWallet
viewfunction publicMintedPerWallet(address) view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol_
viewfunction symbol_() view returns (string)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
uri
viewfunction uri(uint256 tokenId) view returns (string)
airdrop
nonpayablefunction airdrop(uint256[] tokenAmount, address[] wallet, uint256 tokenId)
burnForCharacter
nonpayablefunction burnForCharacter(uint256 _qty, address _addr, uint256 tokenId)
mintAllowlist
nonpayablefunction mintAllowlist(address wallet, uint256 tokenAmount, bytes voucher, uint8 mintType, bool delegate)
mintETH
payablefunction mintETH(uint256 tokenAmount) payable
mintPEPE
payablefunction mintPEPE(uint256 tokenAmount) payable
renounceOwnership
nonpayablefunction renounceOwnership()
revokeOperatorFilterRegistry
nonpayablefunction revokeOperatorFilterRegistry()
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, uint256 amount, bytes data)
setAdminAddress
nonpayablefunction setAdminAddress(address _adminAddress)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBurn
nonpayablefunction setBurn(bool _state)
setBurnContract
nonpayablefunction setBurnContract(address _contract)
setETHPrice
nonpayablefunction setETHPrice(uint256 _ethprice)
setMaxMintPerWallet
nonpayablefunction setMaxMintPerWallet(uint256 _amount)
setMetadata
nonpayablefunction setMetadata(string _uri)
setMintActive
nonpayablefunction setMintActive(uint8 mintType, bool state)
setMintId
nonpayablefunction setMintId(uint8 mintType, uint256 newId)
setPEPEPrice
nonpayablefunction setPEPEPrice(uint256 _price)
setPublic
nonpayablefunction setPublic(bool _state)
setPublicTokenId
nonpayablefunction setPublicTokenId(uint256 _id)
setSigner
nonpayablefunction setSigner(address _signer)
setTokenContract
nonpayablefunction setTokenContract(address _tokenContract)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateOperatorFilterRegistryAddress
nonpayablefunction updateOperatorFilterRegistryAddress(address newRegistry)
withdraw
payablefunction withdraw() payable
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
MintApplication
event MintApplication(address minter, uint256 qty, uint256 applicationId)
OperatorFilterRegistryAddressUpdated
event OperatorFilterRegistryAddressUpdated(address newRegistry)
OperatorFilterRegistryRevoked
event OperatorFilterRegistryRevoked()
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
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
InitialRegistryAddressCannotBeZeroAddress
error InitialRegistryAddressCannotBeZeroAddress()
OnlyOwner
error OnlyOwner()
OperatorNotAllowed
error OperatorNotAllowed(address operator)
RegistryHasBeenRevoked
error RegistryHasBeenRevoked()
creation bytecode
0x60e0604052603660808181529062003ede60a03960069062000022908262000523565b50613a996009556701550f7dca700000600a9081556302faf080600b55600c80546001600160a01b0319908116736982508145454ce325ddbe47a25d4ec3d231193317909155600d80548216732f2a13462f6d4af64954ee84641d265932849b64179055600e80549091167362ac2dbbd306610ff8652b9e0d1a310b6c6afa0f1790556012805461ffff191690556000601355601455348015620000c557600080fd5b506daaeb6d7670e522a718067333cd4e733cc6cdda760b79bafa08df41ecfa224f810dceb6600182828260068054620000fe9062000494565b80601f01602080910402602001604051908101604052809291908181526020018280546200012c9062000494565b80156200017d5780601f1062000151576101008083540402835291602001916200017d565b820191906000526020600020905b8154815290600101906020018083116200015f57829003601f168201915b505050505062000193816200041a60201b60201c565b506200019f336200042c565b6001600455600580546001600160a01b0319166001600160a01b03851690811790915583903b15620002dd5781156200023c57604051633e9f1edf60e11b81523060048201526001600160a01b038481166024830152821690637d3e3dbe906044015b600060405180830381600087803b1580156200021d57600080fd5b505af115801562000232573d6000803e3d6000fd5b50505050620002dd565b6001600160a01b03831615620002815760405163a0af290360e01b81523060048201526001600160a01b03848116602483015282169063a0af29039060440162000202565b604051632210724360e11b81523060048201526001600160a01b03821690634420e48690602401600060405180830381600087803b158015620002c357600080fd5b505af1158015620002d8573d6000803e3d6000fd5b505050505b5050506001600160a01b03841690506200030a5760405163c49d17ad60e01b815260040160405180910390fd5b505060408051808201909152600d81526c20b1b1b2b83a30b731b2a63a3960991b60208201526007915062000340908262000523565b50604080518082019091526005815264109253539560da1b60208201526008906200036c908262000523565b507f0263c2b778d062355049effc2dece97bc6547ff8a88a3258daa512061c2153dd805460ff199081169091557f4c4dc693d7db52f85fe052106f4b4b920e78e8ef37dee82878a60ab8585faf4980549091169055601560205260007fa31547ce6245cdb9ecea19cf8c7eb9f5974025bb4075011409251ae855b30aed8190556001908190527f27739e4bb5e6f8b5e4b57a047dca8767cc9b982a011081e086cbb0dfa9de818d55620005ef565b600262000428828262000523565b5050565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004a957607f821691505b602082108103620004ca57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200051e57600081815260208120601f850160051c81016020861015620004f95750805b601f850160051c820191505b818110156200051a5782815560010162000505565b5050505b505050565b81516001600160401b038111156200053f576200053f6200047e565b620005578162000550845462000494565b84620004d0565b602080601f8311600181146200058f5760008415620005765750858301515b600019600386901b1c1916600185901b1785556200051a565b600085815260208120601f198616915b82811015620005c0578886015182559484019460019091019084016200059f565b5085821015620005df5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6138df80620005ff6000396000f3fe6080604052600436106102ad5760003560e01c8063751007d511610175578063bbcd5bbe116100dc578063e101ab9f11610095578063e985e9c51161006f578063e985e9c514610817578063ecba222a14610860578063f242432a14610881578063f2fde38b146108a157600080fd5b8063e101ab9f146107c2578063e2b9e186146107e2578063e42e3031146107f757600080fd5b8063bbcd5bbe1461070c578063bc7dce061461072c578063bd55cf0d1461074c578063ca9632541461076c578063d306254d1461078c578063da0890a8146107a257600080fd5b8063a28cd7521161012e578063a28cd75214610657578063a49a1e7d14610677578063af17dea614610697578063afdf6134146106ac578063b0ccc31e146106cc578063b8d1e532146106ec57600080fd5b8063751007d51461059857806383dfd75b146105b8578063864ef3e5146105f35780638da5cb5b1461060d57806395d89b4114610622578063a22cb4651461063757600080fd5b8063392f37e9116102195780635b3b3df4116101d25780635b3b3df4146104c95780635cbcec4e146105015780635ef9432a146105215780636c19e78314610536578063715018a61461055657806371c6314a1461056b57600080fd5b8063392f37e91461042a5780633ccfd60b1461043f5780633f2981cf146104475780634e1273f4146104665780635314da4e146104935780635485dab7146104b357600080fd5b80631e76c62a1161026b5780631e76c62a146103815780632c1e816d146103945780632d171e71146103b45780632eb2c2d6146103d457806332cb6b0c146103f457806337beafe01461040a57600080fd5b8062fdd58e146102b257806301ffc9a7146102e557806306fdde031461031557806309ebef21146103375780630e89341c1461034c57806318160ddd1461036c575b600080fd5b3480156102be57600080fd5b506102d26102cd366004612b8a565b6108c1565b6040519081526020015b60405180910390f35b3480156102f157600080fd5b50610305610300366004612bca565b61095a565b60405190151581526020016102dc565b34801561032157600080fd5b5061032a6109aa565b6040516102dc9190612c3e565b61034a610345366004612c51565b610a3c565b005b34801561035857600080fd5b5061032a610367366004612c51565b610c41565b34801561037857600080fd5b506102d2610c75565b61034a61038f366004612c51565b610c8c565b3480156103a057600080fd5b5061034a6103af366004612c6a565b610ed7565b3480156103c057600080fd5b5061034a6103cf366004612c94565b610f01565b3480156103e057600080fd5b5061034a6103ef366004612df9565b610f46565b34801561040057600080fd5b506102d260095481565b34801561041657600080fd5b5061034a610425366004612c6a565b610f75565b34801561043657600080fd5b5061032a610f9f565b61034a61102d565b34801561045357600080fd5b5060125461030590610100900460ff1681565b34801561047257600080fd5b50610486610481366004612ea2565b61108a565b6040516102dc9190612fa7565b34801561049f57600080fd5b5061034a6104ae366004612fc8565b6111b3565b3480156104bf57600080fd5b506102d260105481565b3480156104d557600080fd5b50600f546104e9906001600160a01b031681565b6040516001600160a01b0390911681526020016102dc565b34801561050d57600080fd5b5061034a61051c366004612fff565b611206565b34801561052d57600080fd5b5061034a611228565b34801561054257600080fd5b5061034a610551366004612c6a565b6112cd565b34801561056257600080fd5b5061034a6112f7565b34801561057757600080fd5b506102d2610586366004612c6a565b60186020526000908152604090205481565b3480156105a457600080fd5b5061034a6105b3366004612c51565b61130b565b3480156105c457600080fd5b506103056105d336600461301c565b601760209081526000928352604080842090915290825290205460ff1681565b3480156105ff57600080fd5b506012546103059060ff1681565b34801561061957600080fd5b506104e9611318565b34801561062e57600080fd5b5061032a61132c565b34801561064357600080fd5b5061034a61065236600461304f565b61133b565b34801561066357600080fd5b5061030561067236600461301c565b611354565b34801561068357600080fd5b5061034a6106923660046130ac565b6113af565b3480156106a357600080fd5b5061032a6113c4565b3480156106b857600080fd5b5061034a6106c7366004612c51565b6113d1565b3480156106d857600080fd5b506005546104e9906001600160a01b031681565b3480156106f857600080fd5b5061034a610707366004612c6a565b6113de565b34801561071857600080fd5b5061034a610727366004612c6a565b611496565b34801561073857600080fd5b5061034a610747366004612c51565b6114c0565b34801561075857600080fd5b5061034a610767366004612fff565b6114cd565b34801561077857600080fd5b5061034a6107873660046130ed565b6114e8565b34801561079857600080fd5b506102d260115481565b3480156107ae57600080fd5b5061034a6107bd366004613166565b6115b0565b3480156107ce57600080fd5b5061034a6107dd366004612c51565b6116c2565b3480156107ee57600080fd5b5061032a6116cf565b34801561080357600080fd5b5061034a6108123660046131d9565b6116dc565b34801561082357600080fd5b5061030561083236600461325a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561086c57600080fd5b5060055461030590600160a01b900460ff1681565b34801561088d57600080fd5b5061034a61089c366004613276565b611b3d565b3480156108ad57600080fd5b5061034a6108bc366004612c6a565b611b64565b60006001600160a01b0383166109315760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b148061098b57506001600160e01b031982166303a24d0760e21b145b8061095457506301ffc9a760e01b6001600160e01b0319831614610954565b6060600780546109b9906132da565b80601f01602080910402602001604051908101604052809291908181526020018280546109e5906132da565b8015610a325780601f10610a0757610100808354040283529160200191610a32565b820191906000526020600020905b815481529060010190602001808311610a1557829003601f168201915b5050505050905090565b610a44611bda565b333214610a635760405162461bcd60e51b815260040161092890613314565b60095481601054610a74919061334c565b1115610a925760405162461bcd60e51b81526004016109289061335f565b60008111610ab25760405162461bcd60e51b815260040161092890613383565b601254610100900460ff16610ad95760405162461bcd60e51b8152600401610928906133ab565b601454336000908152601860205260409020541115610b3a5760405162461bcd60e51b815260206004820152601d60248201527f416c7265616479204d696e746564204d6178205065722057616c6c65740000006044820152606401610928565b3360009081526018602052604081208054839290610b5990849061334c565b9091555050600a54610b6c9082906133d9565b341015610bbb5760405162461bcd60e51b815260206004820152601f60248201527f45746865722076616c75652073656e74206973206e6f7420636f7272656374006044820152606401610928565b8060106000828254610bcd919061334c565b92505081905550610bf1336013548360405180602001604052806000815250611c33565b601354604080513381526020810184905280820192909252517f4fcebdd75bac5f007ef5b1be0e92beebdbea01522a9b1827ffa1bf6c1707524c9181900360600190a1610c3e6001600455565b50565b60606006610c4e83611d47565b604051602001610c5f9291906133f0565b6040516020818303038152906040529050919050565b6000601154601054610c879190613477565b905090565b610c94611bda565b333214610cb35760405162461bcd60e51b815260040161092890613314565b60095481601054610cc4919061334c565b1115610ce25760405162461bcd60e51b81526004016109289061335f565b601254610100900460ff16610d095760405162461bcd60e51b8152600401610928906133ab565b601454336000908152601860205260409020541115610d6a5760405162461bcd60e51b815260206004820152601d60248201527f416c7265616479204d696e746564204d6178205065722057616c6c65740000006044820152606401610928565b60008111610d8a5760405162461bcd60e51b815260040161092890613383565b3360009081526018602052604081208054839290610da990849061334c565b9091555050600b54600090610dbf9083906133d9565b610dd190670de0b6b3a76400006133d9565b600c54600e546040516323b872dd60e01b81523360048201526001600160a01b0391821660248201526044810184905292935016906323b872dd906064016020604051808303816000875af1158015610e2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e52919061348a565b508160106000828254610e65919061334c565b92505081905550610e89336013548460405180602001604052806000815250611c33565b601354604080513381526020810185905280820192909252517f4fcebdd75bac5f007ef5b1be0e92beebdbea01522a9b1827ffa1bf6c1707524c9181900360600190a150610c3e6001600455565b610edf611dd9565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b610f09611dd9565b8060156000846001811115610f2057610f206134a7565b6001811115610f3157610f316134a7565b81526020810191909152604001600020555050565b846001600160a01b0381163314610f6057610f6033611e38565b610f6d8686868686611efe565b505050505050565b610f7d611dd9565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b60068054610fac906132da565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd8906132da565b80156110255780601f10610ffa57610100808354040283529160200191611025565b820191906000526020600020905b81548152906001019060200180831161100857829003601f168201915b505050505081565b611035611dd9565b604051600090339047908381818185875af1925050503d8060008114611077576040519150601f19603f3d011682016040523d82523d6000602084013e61107c565b606091505b5050905080610c3e57600080fd5b606081518351146110ef5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610928565b600083516001600160401b0381111561110a5761110a612cb0565b604051908082528060200260200182016040528015611133578160200160208202803683370190505b50905060005b84518110156111ab5761117e858281518110611157576111576134bd565b6020026020010151858381518110611171576111716134bd565b60200260200101516108c1565b828281518110611190576111906134bd565b60209081029190910101526111a4816134d3565b9050611139565b509392505050565b6111bb611dd9565b80601660008460018111156111d2576111d26134a7565b60018111156111e3576111e36134a7565b81526020810191909152604001600020805460ff19169115159190911790555050565b61120e611dd9565b601280549115156101000261ff0019909216919091179055565b611230611318565b6001600160a01b0316336001600160a01b03161461126157604051635fc483c560e01b815260040160405180910390fd5b600554600160a01b900460ff161561128c57604051631551a48f60e11b815260040160405180910390fd5b600580546001600160a81b031916600160a01b1790556040517f51e2d870cc2e10853e38dc06fcdae46ad3c3f588f326608803dac6204541ad1690600090a1565b6112d5611dd9565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6112ff611dd9565b6113096000611f4a565b565b611313611dd9565b600b55565b6000610c876003546001600160a01b031690565b6060600880546109b9906132da565b8161134581611e38565b61134f8383611f9c565b505050565b60006017600084600181111561136c5761136c6134a7565b600181111561137d5761137d6134a7565b8152602080820192909252604090810160009081206001600160a01b038616825290925290205460ff16905092915050565b6113b7611dd9565b600661134f828483613532565b60088054610fac906132da565b6113d9611dd9565b601455565b6113e6611318565b6001600160a01b0316336001600160a01b03161461141757604051635fc483c560e01b815260040160405180910390fd5b600554600160a01b900460ff161561144257604051631551a48f60e11b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040519081527f9f513fe86dc42fdbac355fa4d9b1d5be7b5e6cd2df67e30db8003766568de4769060200160405180910390a150565b61149e611dd9565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6114c8611dd9565b600a55565b6114d5611dd9565b6012805460ff1916911515919091179055565b60125460ff1661152f5760405162461bcd60e51b81526020600482015260126024820152714275726e206973206e6f742061637469766560701b6044820152606401610928565b600f546001600160a01b031633146115895760405162461bcd60e51b815260206004820152601c60248201527f4d7573742062652066726f6d2066757475726520636f6e7472616374000000006044820152606401610928565b611594828285611fa7565b82601160008282546115a6919061334c565b9091555050505050565b6115b8611dd9565b60005b82811015610f6d576009548686838181106115d8576115d86134bd565b905060200201356010546115ec919061334c565b11156116275760405162461bcd60e51b815260206004820152600a602482015269135a5b9d19590813dd5d60b21b6044820152606401610928565b61168084848381811061163c5761163c6134bd565b90506020020160208101906116519190612c6a565b83888885818110611664576116646134bd565b9050602002013560405180602001604052806000815250611c33565b858582818110611692576116926134bd565b90506020020135601060008282546116aa919061334c565b909155508190506116ba816134d3565b9150506115bb565b6116ca611dd9565b601355565b60078054610fac906132da565b6116e4611bda565b80156117a657604051634e1cade160e11b81523360048201526001600160a01b03871660248201526d76a84fef008cdabe6409d2fe638b90639c395bc290604401602060405180830381865afa158015611742573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611766919061348a565b6117a15760405162461bcd60e51b815260206004820152600c60248201526b4e6f742064656c656761746560a01b6044820152606401610928565b6117eb565b336001600160a01b038716146117eb5760405162461bcd60e51b815260206004820152600a602482015269139bdd081dd85b1b195d60b21b6044820152606401610928565b600060156000846001811115611803576118036134a7565b6001811115611814576118146134a7565b815260200190815260200160002054905060006017600085600181111561183d5761183d6134a7565b600181111561184e5761184e6134a7565b8152602080820192909252604090810160009081206001600160a01b038c16825290925281205460ff16915060169085600181111561188f5761188f6134a7565b60018111156118a0576118a06134a7565b815260208101919091526040016000205460ff166118d05760405162461bcd60e51b8152600401610928906133ab565b801561191e5760405162461bcd60e51b815260206004820152601c60248201527f416c7265616479204d696e74656420696e2074686973205068617365000000006044820152606401610928565b6009548760105461192f919061334c565b111561194d5760405162461bcd60e51b81526004016109289061335f565b6000871161196d5760405162461bcd60e51b815260040161092890613383565b33321461198c5760405162461bcd60e51b815260040161092890613314565b6040516bffffffffffffffffffffffff1960608a901b166020820152603481018390526054810188905260009060740160408051601f198184030181528282528051602091820120600d54601f8b018390048302850183019093528984529350611a1e926001600160a01b039092169184918b908b908190840183828082843760009201919091525061212392505050565b611a5c5760405162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b2103b37bab1b432b960891b6044820152606401610928565b600160176000876001811115611a7457611a746134a7565b6001811115611a8557611a856134a7565b8152602080820192909252604090810160009081206001600160a01b038e1682529092528120805460ff191692151592909217909155601080548a9290611acd90849061334c565b92505081905550611aef33848a60405180602001604052806000815250611c33565b60408051338152602081018a90529081018490527f4fcebdd75bac5f007ef5b1be0e92beebdbea01522a9b1827ffa1bf6c1707524c9060600160405180910390a1505050610f6d6001600455565b846001600160a01b0381163314611b5757611b5733611e38565b610f6d86868686866121a2565b611b6c611dd9565b6001600160a01b038116611bd15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610928565b610c3e81611f4a565b600260045403611c2c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610928565b6002600455565b6001600160a01b038416611c935760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610928565b336000611c9f856121e7565b90506000611cac856121e7565b90506000868152602081815260408083206001600160a01b038b16845290915281208054879290611cde90849061334c565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611d3e83600089898989612232565b50505050505050565b60606000611d548361238d565b60010190506000816001600160401b03811115611d7357611d73612cb0565b6040519080825280601f01601f191660200182016040528015611d9d576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611da757509392505050565b33611de2611318565b6001600160a01b0316146113095760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610928565b6005546001600160a01b03168015801590611e5d57506000816001600160a01b03163b115b15611efa57604051633185c44d60e21b81523060048201526001600160a01b03838116602483015282169063c617113490604401602060405180830381865afa158015611eae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed2919061348a565b611efa57604051633b79c77360e21b81526001600160a01b0383166004820152602401610928565b5050565b6001600160a01b038516331480611f1a5750611f1a8533610832565b611f365760405162461bcd60e51b8152600401610928906135f1565b611f438585858585612465565b5050505050565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611efa33838361263a565b6001600160a01b0383166120095760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610928565b336000612015846121e7565b90506000612022846121e7565b60408051602080820183526000918290528882528181528282206001600160a01b038b16835290522054909150848110156120ab5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610928565b6000868152602081815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052611d3e565b600061218561217f846040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b8361271a565b6001600160a01b0316846001600160a01b03161490509392505050565b6001600160a01b0385163314806121be57506121be8533610832565b6121da5760405162461bcd60e51b8152600401610928906135f1565b611f438585858585612736565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612221576122216134bd565b602090810291909101015292915050565b6001600160a01b0384163b15610f6d5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612276908990899088908890889060040161363f565b6020604051808303816000875af19250505080156122b1575060408051601f3d908101601f191682019092526122ae91810190613684565b60015b61235d576122bd6136a1565b806308c379a0036122f657506122d16136bd565b806122dc57506122f8565b8060405162461bcd60e51b81526004016109289190612c3e565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610928565b6001600160e01b0319811663f23a6e6160e01b14611d3e5760405162461bcd60e51b815260040161092890613746565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106123cc5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106123f8576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061241657662386f26fc10000830492506010015b6305f5e100831061242e576305f5e100830492506008015b612710831061244257612710830492506004015b60648310612454576064830492506002015b600a83106109545760010192915050565b81518351146124c75760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610928565b6001600160a01b0384166124ed5760405162461bcd60e51b81526004016109289061378e565b3360005b84518110156125d457600085828151811061250e5761250e6134bd565b60200260200101519050600085838151811061252c5761252c6134bd565b602090810291909101810151600084815280835260408082206001600160a01b038e16835290935291909120549091508181101561257c5760405162461bcd60e51b8152600401610928906137d3565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906125b990849061334c565b92505081905550505050806125cd906134d3565b90506124f1565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161262492919061381d565b60405180910390a4610f6d818787878787612860565b816001600160a01b0316836001600160a01b0316036126ad5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610928565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000806000612729858561291b565b915091506111ab81612960565b6001600160a01b03841661275c5760405162461bcd60e51b81526004016109289061378e565b336000612768856121e7565b90506000612775856121e7565b90506000868152602081815260408083206001600160a01b038c168452909152902054858110156127b85760405162461bcd60e51b8152600401610928906137d3565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906127f590849061334c565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612855848a8a8a8a8a612232565b505050505050505050565b6001600160a01b0384163b15610f6d5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906128a4908990899088908890889060040161384b565b6020604051808303816000875af19250505080156128df575060408051601f3d908101601f191682019092526128dc91810190613684565b60015b6128eb576122bd6136a1565b6001600160e01b0319811663bc197c8160e01b14611d3e5760405162461bcd60e51b815260040161092890613746565b60008082516041036129515760208301516040840151606085015160001a61294587828585612aaa565b94509450505050612959565b506000905060025b9250929050565b6000816004811115612974576129746134a7565b0361297c5750565b6001816004811115612990576129906134a7565b036129dd5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610928565b60028160048111156129f1576129f16134a7565b03612a3e5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610928565b6003816004811115612a5257612a526134a7565b03610c3e5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610928565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612ae15750600090506003612b65565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612b35573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612b5e57600060019250925050612b65565b9150600090505b94509492505050565b80356001600160a01b0381168114612b8557600080fd5b919050565b60008060408385031215612b9d57600080fd5b612ba683612b6e565b946020939093013593505050565b6001600160e01b031981168114610c3e57600080fd5b600060208284031215612bdc57600080fd5b8135612be781612bb4565b9392505050565b60005b83811015612c09578181015183820152602001612bf1565b50506000910152565b60008151808452612c2a816020860160208601612bee565b601f01601f19169290920160200192915050565b602081526000612be76020830184612c12565b600060208284031215612c6357600080fd5b5035919050565b600060208284031215612c7c57600080fd5b612be782612b6e565b803560028110612b8557600080fd5b60008060408385031215612ca757600080fd5b612ba683612c85565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715612ceb57612ceb612cb0565b6040525050565b60006001600160401b03821115612d0b57612d0b612cb0565b5060051b60200190565b600082601f830112612d2657600080fd5b81356020612d3382612cf2565b604051612d408282612cc6565b83815260059390931b8501820192828101915086841115612d6057600080fd5b8286015b84811015612d7b5780358352918301918301612d64565b509695505050505050565b600082601f830112612d9757600080fd5b81356001600160401b03811115612db057612db0612cb0565b604051612dc7601f8301601f191660200182612cc6565b818152846020838601011115612ddc57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215612e1157600080fd5b612e1a86612b6e565b9450612e2860208701612b6e565b935060408601356001600160401b0380821115612e4457600080fd5b612e5089838a01612d15565b94506060880135915080821115612e6657600080fd5b612e7289838a01612d15565b93506080880135915080821115612e8857600080fd5b50612e9588828901612d86565b9150509295509295909350565b60008060408385031215612eb557600080fd5b82356001600160401b0380821115612ecc57600080fd5b818501915085601f830112612ee057600080fd5b81356020612eed82612cf2565b604051612efa8282612cc6565b83815260059390931b8501820192828101915089841115612f1a57600080fd5b948201945b83861015612f3f57612f3086612b6e565b82529482019490820190612f1f565b96505086013592505080821115612f5557600080fd5b50612f6285828601612d15565b9150509250929050565b600081518084526020808501945080840160005b83811015612f9c57815187529582019590820190600101612f80565b509495945050505050565b602081526000612be76020830184612f6c565b8015158114610c3e57600080fd5b60008060408385031215612fdb57600080fd5b612fe483612c85565b91506020830135612ff481612fba565b809150509250929050565b60006020828403121561301157600080fd5b8135612be781612fba565b6000806040838503121561302f57600080fd5b61303883612c85565b915061304660208401612b6e565b90509250929050565b6000806040838503121561306257600080fd5b612fe483612b6e565b60008083601f84011261307d57600080fd5b5081356001600160401b0381111561309457600080fd5b60208301915083602082850101111561295957600080fd5b600080602083850312156130bf57600080fd5b82356001600160401b038111156130d557600080fd5b6130e18582860161306b565b90969095509350505050565b60008060006060848603121561310257600080fd5b8335925061311260208501612b6e565b9150604084013590509250925092565b60008083601f84011261313457600080fd5b5081356001600160401b0381111561314b57600080fd5b6020830191508360208260051b850101111561295957600080fd5b60008060008060006060868803121561317e57600080fd5b85356001600160401b038082111561319557600080fd5b6131a189838a01613122565b909750955060208801359150808211156131ba57600080fd5b506131c788828901613122565b96999598509660400135949350505050565b60008060008060008060a087890312156131f257600080fd5b6131fb87612b6e565b95506020870135945060408701356001600160401b0381111561321d57600080fd5b61322989828a0161306b565b909550935061323c905060608801612c85565b9150608087013561324c81612fba565b809150509295509295509295565b6000806040838503121561326d57600080fd5b61303883612b6e565b600080600080600060a0868803121561328e57600080fd5b61329786612b6e565b94506132a560208701612b6e565b9350604086013592506060860135915060808601356001600160401b038111156132ce57600080fd5b612e9588828901612d86565b600181811c908216806132ee57607f821691505b60208210810361330e57634e487b7160e01b600052602260045260246000fd5b50919050565b602080825260089082015267454f41206f6e6c7960c01b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561095457610954613336565b6020808252600a9082015269135a5b9d1959081bdd5d60b21b604082015260600190565b6020808252600e908201526d4e6f6e207a65726f2076616c756560901b604082015260600190565b6020808252601490820152734d696e742074797065206e6f742061637469766560601b604082015260600190565b808202811582820484141761095457610954613336565b60008084546133fe816132da565b60018281168015613416576001811461342b5761345a565b60ff198416875282151583028701945061345a565b8860005260208060002060005b858110156134515781548a820152908401908201613438565b50505082870194505b50505050835161346e818360208801612bee565b01949350505050565b8181038181111561095457610954613336565b60006020828403121561349c57600080fd5b8151612be781612fba565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016134e5576134e5613336565b5060010190565b601f82111561134f57600081815260208120601f850160051c810160208610156135135750805b601f850160051c820191505b81811015610f6d5782815560010161351f565b6001600160401b0383111561354957613549612cb0565b61355d8361355783546132da565b836134ec565b6000601f84116001811461359157600085156135795750838201355b600019600387901b1c1916600186901b178355611f43565b600083815260209020601f19861690835b828110156135c257868501358255602094850194600190920191016135a2565b50868210156135df5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061367990830184612c12565b979650505050505050565b60006020828403121561369657600080fd5b8151612be781612bb4565b600060033d11156136ba5760046000803e5060005160e01c5b90565b600060443d10156136cb5790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156136fa57505050505090565b82850191508151818111156137125750505050505090565b843d870101602082850101111561372c5750505050505090565b61373b60208286010187612cc6565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6040815260006138306040830185612f6c565b82810360208401526138428185612f6c565b95945050505050565b6001600160a01b0386811682528516602082015260a06040820181905260009061387790830186612f6c565b82810360608401526138898186612f6c565b9050828103608084015261389d8185612c12565b9897505050505050505056fea264697066735822122085ff22096803bef184342a7fe8e9eb915a17eac7f1efaea58dc0e0df62a1bf7b64736f6c63430008120033697066733a2f2f516d557167486a72654b62776d4436535948673173627931636947565742564b64417439335131374579427055592f