[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "string", "name": "_initBaseURI", "type": "string" }, { "internalType": "address", "name": "_address_ValiFiNFTv1", "type": "address" }, { "internalType": "address", "name": "_address_NFTMarket", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" } ], "name": "UpgradeToV2", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "addToWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseExtension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "cost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "isWhitelisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockEndTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockStartTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxMintPerWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_mintAmount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "mintV2", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "pauseUpgrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "preSaleIsActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "preSaleStartTime", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_mintAmount", "type": "uint256" } ], "name": "presaleMint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "publicSaleIsActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "publicSaleStartTime", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newBaseExtension", "type": "string" } ], "name": "setBaseExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newBaseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newCost", "type": "uint256" } ], "name": "setCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_lockStartTime", "type": "uint256" }, { "internalType": "uint256", "name": "_lockEndTime", "type": "uint256" } ], "name": "setLockTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "timestamp", "type": "uint32" } ], "name": "setPreSaleStartTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "timestamp", "type": "uint32" } ], "name": "setPublicSaleStartTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "timestamp", "type": "uint32" } ], "name": "setWhiteListStartTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newmaxMintPerWallet", "type": "uint256" } ], "name": "setmaxMintPerWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "tokenHoldings", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalMintCnt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "totalMinted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "upgradePaused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "whitelistIsActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "whitelistStartTime", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
610120604052600560e081905264173539b7b760d91b6101009081526200002a91600c9190620001eb565b5068056bc75e2d63100000600d55611388600e556005600f556000601055601180546001600160601b0319166b61f877f161f7267161ee01401790556014805461ffff19166101011790553480156200008257600080fd5b506040516200390f3803806200390f833981016040819052620000a5916200037b565b845185908590620000be906000906020850190620001eb565b508051620000d4906001906020840190620001eb565b505050620000f1620000eb6200011d60201b60201c565b62000121565b620000fc8362000173565b6001600160a01b03918216608081905260a0521660c052506200046f915050565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600a546001600160a01b03163314620001d25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b8051620001e790600b906020840190620001eb565b5050565b828054620001f99062000432565b90600052602060002090601f0160209004810192826200021d576000855562000268565b82601f106200023857805160ff191683800117855562000268565b8280016001018555821562000268579182015b82811115620002685782518255916020019190600101906200024b565b50620002769291506200027a565b5090565b5b808211156200027657600081556001016200027b565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620002b957600080fd5b81516001600160401b0380821115620002d657620002d662000291565b604051601f8301601f19908116603f0116810190828211818310171562000301576200030162000291565b816040528381526020925086838588010111156200031e57600080fd5b600091505b8382101562000342578582018301518183018401529082019062000323565b83821115620003545760008385830101525b9695505050505050565b80516001600160a01b03811681146200037657600080fd5b919050565b600080600080600060a086880312156200039457600080fd5b85516001600160401b0380821115620003ac57600080fd5b620003ba89838a01620002a7565b96506020880151915080821115620003d157600080fd5b620003df89838a01620002a7565b95506040880151915080821115620003f657600080fd5b506200040588828901620002a7565b93505062000416606087016200035e565b915062000426608087016200035e565b90509295509295909350565b600181811c908216806200044757607f821691505b602082108114156200046957634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051613454620004bb60003960008181610f210152611005015260008181610f500152611035015260008181610d1c01528181610dbf015261111001526134546000f3fe6080604052600436106102645760003560e01c80623d47901461026957806301ffc9a7146102a957806302329a29146102d957806306d65af3146102fb57806306fdde0314610334578063081812fc14610356578063095ea7b3146103835780630fcf2e75146103a357806313faede6146103b857806318160ddd146103ce5780631f0234d8146103e35780631fe70d6f146103f857806323b872dd1461040d578063287df8a31461042d5780632f745c591461044d578063371ec23d1461046d5780633af32abf146104755780633ccfd60b1461049557806340805229146104aa57806340c10f19146104c057806342842e0e146104d357806342966c68146104f357806344a0d68a1461051357806344ec402114610533578063473897d11461054957806347b2cd20146105765780634f6ccce71461059657806355f804b3146105b65780635c975abb146105d65780635fd84c28146105f0578063605d8d021461061057806362c7fa761461062f5780636352211e146106455780636a2dae07146106655780636bb7b1d9146106855780636c0360eb146106a957806370a08231146106be578063715018a6146106de57806387eb31f4146106f35780638da5cb5b146107135780639292caaf1461072857806395d89b41146107455780639b6a67091461075a578063a22cb4651461076d578063b228d9251461078d578063b88d4fde146107a3578063c6682862146107c3578063c87b56dd146107d8578063d5abeb01146107f8578063da3ef23f1461080e578063e1a410221461082e578063e43252d71461084e578063e985e9c51461086e578063f2fde38b1461088e575b600080fd5b34801561027557600080fd5b50610296610284366004612a4c565b60156020526000908152604090205481565b6040519081526020015b60405180910390f35b3480156102b557600080fd5b506102c96102c4366004612a7d565b6108ae565b60405190151581526020016102a0565b3480156102e557600080fd5b506102f96102f4366004612aa8565b6108bf565b005b34801561030757600080fd5b5060115461031f90600160201b900463ffffffff1681565b60405163ffffffff90911681526020016102a0565b34801561034057600080fd5b5061034961090a565b6040516102a09190612b1d565b34801561036257600080fd5b50610376610371366004612b30565b61099c565b6040516102a09190612b49565b34801561038f57600080fd5b506102f961039e366004612b5d565b610a24565b3480156103af57600080fd5b506102c9610b35565b3480156103c457600080fd5b50610296600d5481565b3480156103da57600080fd5b50600854610296565b3480156103ef57600080fd5b506102c9610b4c565b34801561040457600080fd5b506102c9610b84565b34801561041957600080fd5b506102f9610428366004612b87565b610bb4565b34801561043957600080fd5b506102f9610448366004612bc3565b610c17565b34801561045957600080fd5b50610296610468366004612b5d565b610c6c565b6102f9610d02565b34801561048157600080fd5b506102c9610490366004612a4c565b611218565b3480156104a157600080fd5b506102f9611236565b3480156104b657600080fd5b5061029660105481565b6102f96104ce366004612b5d565b61128b565b3480156104df57600080fd5b506102f96104ee366004612b87565b611447565b3480156104ff57600080fd5b506102f961050e366004612b30565b611462565b34801561051f57600080fd5b506102f961052e366004612b30565b6114dc565b34801561053f57600080fd5b5061029660135481565b34801561055557600080fd5b50610569610564366004612a4c565b611510565b6040516102a09190612be9565b34801561058257600080fd5b506102f9610591366004612aa8565b6115b1565b3480156105a257600080fd5b506102966105b1366004612b30565b6115fa565b3480156105c257600080fd5b506102f96105d1366004612cca565b61168d565b3480156105e257600080fd5b506014546102c99060ff1681565b3480156105fc57600080fd5b506102f961060b366004612bc3565b6116d3565b34801561061c57600080fd5b506014546102c990610100900460ff1681565b34801561063b57600080fd5b5061029660125481565b34801561065157600080fd5b50610376610660366004612b30565b611728565b34801561067157600080fd5b506102f9610680366004612b30565b61179f565b34801561069157600080fd5b5060115461031f90600160401b900463ffffffff1681565b3480156106b557600080fd5b506103496117d3565b3480156106ca57600080fd5b506102966106d9366004612a4c565b611861565b3480156106ea57600080fd5b506102f96118e8565b3480156106ff57600080fd5b506102f961070e366004612d12565b611921565b34801561071f57600080fd5b5061037661195b565b34801561073457600080fd5b5060115461031f9063ffffffff1681565b34801561075157600080fd5b5061034961196a565b6102f9610768366004612b5d565b611979565b34801561077957600080fd5b506102f9610788366004612d34565b611b5e565b34801561079957600080fd5b50610296600f5481565b3480156107af57600080fd5b506102f96107be366004612d6b565b611b69565b3480156107cf57600080fd5b50610349611bd2565b3480156107e457600080fd5b506103496107f3366004612b30565b611bdf565b34801561080457600080fd5b50610296600e5481565b34801561081a57600080fd5b506102f9610829366004612cca565b611cad565b34801561083a57600080fd5b506102f9610849366004612bc3565b611cef565b34801561085a57600080fd5b506102f9610869366004612a4c565b611d3a565b34801561087a57600080fd5b506102c9610889366004612de6565b611db2565b34801561089a57600080fd5b506102f96108a9366004612a4c565b611de0565b60006108b982611e7d565b92915050565b336108c861195b565b6001600160a01b0316146108f75760405162461bcd60e51b81526004016108ee90612e19565b60405180910390fd5b6014805460ff1916911515919091179055565b60606000805461091990612e4e565b80601f016020809104026020016040519081016040528092919081815260200182805461094590612e4e565b80156109925780601f1061096757610100808354040283529160200191610992565b820191906000526020600020905b81548152906001019060200180831161097557829003601f168201915b5050505050905090565b60006109a782611ea2565b610a085760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016108ee565b506000908152600460205260409020546001600160a01b031690565b6000610a2f82611728565b9050806001600160a01b0316836001600160a01b03161415610a9d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016108ee565b336001600160a01b0382161480610ab95750610ab98133611db2565b610b265760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b60648201526084016108ee565b610b308383611ebf565b505050565b60115442600160401b90910463ffffffff16111590565b60115460009042600160201b90910463ffffffff1611801590610b7f575060115442600160401b90910463ffffffff1610155b905090565b6011546000904263ffffffff90911611801590610b7f57505060115442600160201b90910463ffffffff16101590565b4260125411158015610bc857504260135410155b15610be55760405162461bcd60e51b81526004016108ee90612e89565b610bf0335b82611f2d565b610c0c5760405162461bcd60e51b81526004016108ee90612eca565b610b30838383611ff7565b33610c2061195b565b6001600160a01b031614610c465760405162461bcd60e51b81526004016108ee90612e19565b6011805463ffffffff909216600160201b0263ffffffff60201b19909216919091179055565b6000610c7783611861565b8210610cd95760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016108ee565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b60405163473897d160e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063473897d190610d51903390600401612b49565b600060405180830381865afa158015610d6e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d969190810190612f1b565b60405163e985e9c560e01b81523360048201523060248201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e985e9c590604401602060405180830381865afa158015610e06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2a9190612fc0565b601454909150610100900460ff1615610e7c5760405162461bcd60e51b8152602060048201526014602482015273155c19dc985919481d1bc81d8c881c185d5cd95960621b60448201526064016108ee565b80610ec95760405162461bcd60e51b815260206004820181905260248201527f436f6e7472616374206973206e6f7420617070726f76656420666f7220616c6c60448201526064016108ee565b6000825111610eea5760405162461bcd60e51b81526004016108ee90612fdd565b81513360009081526015602052604081208054909190610f0b90849061301b565b90915550600090505b82518110156111bb5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663da1f560f7f0000000000000000000000000000000000000000000000000000000000000000868581518110610f8157610f81613033565b60200260200101516040518363ffffffff1660e01b8152600401610fba9291906001600160a01b03929092168252602082015260400190565b602060405180830381865afa158015610fd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffb9190613049565b905080156110eb577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b265556e337f000000000000000000000000000000000000000000000000000000000000000087868151811061106657611066613033565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156110c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e99190612fc0565b505b61110e3385848151811061110157611101613033565b602002602001015161218c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166342966c6885848151811061114f5761114f613033565b60200260200101516040518263ffffffff1660e01b815260040161117591815260200190565b600060405180830381600087803b15801561118f57600080fd5b505af11580156111a3573d6000803e3d6000fd5b505050505080806111b390613062565b915050610f14565b508151601060008282546111cf919061301b565b90915550506040516111e290839061307d565b6040519081900381209033907fe44e039315bd2d4e2b87cf4438621eaf3d59b4679ec903820561300901b20f4590600090a35050565b6001600160a01b031660009081526016602052604090205460ff1690565b3361123f61195b565b6001600160a01b0316146112655760405162461bcd60e51b81526004016108ee90612e19565b60405133904780156108fc02916000818181858888f1935050505061128957600080fd5b565b611293610b35565b6112db5760405162461bcd60e51b81526020600482015260196024820152785075626c69632073616c65206973206e6f742061637469766560381b60448201526064016108ee565b60105460145460ff16156113015760405162461bcd60e51b81526004016108ee906130b3565b600082116113215760405162461bcd60e51b81526004016108ee90612fdd565b600f548211156113435760405162461bcd60e51b81526004016108ee906130db565b600f5433600090815260156020526040902054611360908461301b565b111561137e5760405162461bcd60e51b81526004016108ee9061312b565b600e5461138b838361301b565b11156113a95760405162461bcd60e51b81526004016108ee90613195565b3482600d546113b891906131d9565b11156113d65760405162461bcd60e51b81526004016108ee906131f8565b33600090815260156020526040812080548492906113f590849061301b565b90915550600190505b82811161142a5761141884611413838561301b565b61218c565b8061142281613062565b9150506113fe565b50816010600082825461143d919061301b565b9091555050505050565b610b3083838360405180602001604052806000815250611b69565b61146b33610bea565b6114d05760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b60648201526084016108ee565b6114d9816121a6565b50565b336114e561195b565b6001600160a01b03161461150b5760405162461bcd60e51b81526004016108ee90612e19565b600d55565b6060600061151d83611861565b90506000816001600160401b0381111561153957611539612c2d565b604051908082528060200260200182016040528015611562578160200160208202803683370190505b50905060005b828110156115a95761157a8582610c6c565b82828151811061158c5761158c613033565b6020908102919091010152806115a181613062565b915050611568565b509392505050565b336115ba61195b565b6001600160a01b0316146115e05760405162461bcd60e51b81526004016108ee90612e19565b601480549115156101000261ff0019909216919091179055565b600061160560085490565b82106116685760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016108ee565b6008828154811061167b5761167b613033565b90600052602060002001549050919050565b3361169661195b565b6001600160a01b0316146116bc5760405162461bcd60e51b81526004016108ee90612e19565b80516116cf90600b906020840190612997565b5050565b336116dc61195b565b6001600160a01b0316146117025760405162461bcd60e51b81526004016108ee90612e19565b6011805463ffffffff909216600160401b0263ffffffff60401b19909216919091179055565b6000818152600260205260408120546001600160a01b0316806108b95760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016108ee565b336117a861195b565b6001600160a01b0316146117ce5760405162461bcd60e51b81526004016108ee90612e19565b600f55565b600b80546117e090612e4e565b80601f016020809104026020016040519081016040528092919081815260200182805461180c90612e4e565b80156118595780601f1061182e57610100808354040283529160200191611859565b820191906000526020600020905b81548152906001019060200180831161183c57829003601f168201915b505050505081565b60006001600160a01b0382166118cc5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016108ee565b506001600160a01b031660009081526003602052604090205490565b336118f161195b565b6001600160a01b0316146119175760405162461bcd60e51b81526004016108ee90612e19565b611289600061223b565b3361192a61195b565b6001600160a01b0316146119505760405162461bcd60e51b81526004016108ee90612e19565b601291909155601355565b600a546001600160a01b031690565b60606001805461091990612e4e565b611981610b4c565b6119c55760405162461bcd60e51b815260206004820152601560248201527450726573616c65206973206e6f742061637469766560581b60448201526064016108ee565b6119ce33611218565b611a145760405162461bcd60e51b8152602060048201526017602482015276165bdd48185c99481b9bdd081dda1a5d195b1a5cdd1959604a1b60448201526064016108ee565b60105460145460ff1615611a3a5760405162461bcd60e51b81526004016108ee906130b3565b60008211611a5a5760405162461bcd60e51b81526004016108ee90612fdd565b600f54821115611a7c5760405162461bcd60e51b81526004016108ee906130db565b600f5433600090815260156020526040902054611a99908461301b565b1115611ab75760405162461bcd60e51b81526004016108ee9061312b565b600e54611ac4838361301b565b1115611ae25760405162461bcd60e51b81526004016108ee90613195565b3482600d54611af191906131d9565b1115611b0f5760405162461bcd60e51b81526004016108ee906131f8565b3360009081526015602052604081208054849290611b2e90849061301b565b90915550600190505b82811161142a57611b4c84611413838561301b565b80611b5681613062565b915050611b37565b6116cf33838361228d565b4260125411158015611b7d57504260135410155b15611b9a5760405162461bcd60e51b81526004016108ee90612e89565b611ba43383611f2d565b611bc05760405162461bcd60e51b81526004016108ee90612eca565b611bcc84848484612358565b50505050565b600c80546117e090612e4e565b6060611bea82611ea2565b611c4e5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016108ee565b6000611c5861238b565b90506000815111611c785760405180602001604052806000815250611ca6565b80611c828461239a565b600c604051602001611c9693929190613223565b6040516020818303038152906040525b9392505050565b33611cb661195b565b6001600160a01b031614611cdc5760405162461bcd60e51b81526004016108ee90612e19565b80516116cf90600c906020840190612997565b33611cf861195b565b6001600160a01b031614611d1e5760405162461bcd60e51b81526004016108ee90612e19565b6011805463ffffffff191663ffffffff92909216919091179055565b611d42610b84565b611d8e5760405162461bcd60e51b815260206004820152601e60248201527f57686974656c69737420706572696f64206973206e6f7420616374697665000060448201526064016108ee565b6001600160a01b03166000908152601660205260409020805460ff19166001179055565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b33611de961195b565b6001600160a01b031614611e0f5760405162461bcd60e51b81526004016108ee90612e19565b6001600160a01b038116611e745760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108ee565b6114d98161223b565b60006001600160e01b0319821663780e9d6360e01b14806108b957506108b982612497565b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611ef482611728565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611f3882611ea2565b611f995760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016108ee565b6000611fa483611728565b9050806001600160a01b0316846001600160a01b03161480611fcb5750611fcb8185611db2565b80611fef5750836001600160a01b0316611fe48461099c565b6001600160a01b0316145b949350505050565b826001600160a01b031661200a82611728565b6001600160a01b03161461206e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016108ee565b6001600160a01b0382166120d05760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016108ee565b6120db8383836124e7565b6120e6600082611ebf565b6001600160a01b038316600090815260036020526040812080546001929061210f9084906132e7565b90915550506001600160a01b038216600090815260036020526040812080546001929061213d90849061301b565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716916000805160206133ff83398151915291a4505050565b6116cf8282604051806020016040528060008152506124f2565b60006121b182611728565b90506121bf816000846124e7565b6121ca600083611ebf565b6001600160a01b03811660009081526003602052604081208054600192906121f39084906132e7565b909155505060008281526002602052604080822080546001600160a01b0319169055518391906001600160a01b038416906000805160206133ff833981519152908390a45050565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031614156122eb5760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b60448201526064016108ee565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612363848484611ff7565b61236f84848484612525565b611bcc5760405162461bcd60e51b81526004016108ee906132fe565b6060600b805461091990612e4e565b6060816123be5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156123e857806123d281613062565b91506123e19050600a83613366565b91506123c2565b6000816001600160401b0381111561240257612402612c2d565b6040519080825280601f01601f19166020018201604052801561242c576020820181803683370190505b5090505b8415611fef576124416001836132e7565b915061244e600a8661337a565b61245990603061301b565b60f81b81838151811061246e5761246e613033565b60200101906001600160f81b031916908160001a905350612490600a86613366565b9450612430565b60006001600160e01b031982166380ac58cd60e01b14806124c857506001600160e01b03198216635b5e139f60e01b145b806108b957506301ffc9a760e01b6001600160e01b03198316146108b9565b610b30838383612623565b6124fc83836126db565b6125096000848484612525565b610b305760405162461bcd60e51b81526004016108ee906132fe565b60006001600160a01b0384163b1561261857604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061256990339089908890889060040161338e565b6020604051808303816000875af19250505080156125a4575060408051601f3d908101601f191682019092526125a1918101906133cb565b60015b6125fe573d8080156125d2576040519150601f19603f3d011682016040523d82523d6000602084013e6125d7565b606091505b5080516125f65760405162461bcd60e51b81526004016108ee906132fe565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611fef565b506001949350505050565b6001600160a01b03831661267e5761267981600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6126a1565b816001600160a01b0316836001600160a01b0316146126a1576126a18382612807565b6001600160a01b0382166126b857610b30816128a4565b826001600160a01b0316826001600160a01b031614610b3057610b308282612953565b6001600160a01b0382166127315760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108ee565b61273a81611ea2565b156127865760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b60448201526064016108ee565b612792600083836124e7565b6001600160a01b03821660009081526003602052604081208054600192906127bb90849061301b565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392906000805160206133ff833981519152908290a45050565b6000600161281484611861565b61281e91906132e7565b600083815260076020526040902054909150808214612871576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008546000906128b6906001906132e7565b600083815260096020526040812054600880549394509092849081106128de576128de613033565b9060005260206000200154905080600883815481106128ff576128ff613033565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480612937576129376133e8565b6001900381819060005260206000200160009055905550505050565b600061295e83611861565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b8280546129a390612e4e565b90600052602060002090601f0160209004810192826129c55760008555612a0b565b82601f106129de57805160ff1916838001178555612a0b565b82800160010185558215612a0b579182015b82811115612a0b5782518255916020019190600101906129f0565b50612a17929150612a1b565b5090565b5b80821115612a175760008155600101612a1c565b80356001600160a01b0381168114612a4757600080fd5b919050565b600060208284031215612a5e57600080fd5b611ca682612a30565b6001600160e01b0319811681146114d957600080fd5b600060208284031215612a8f57600080fd5b8135611ca681612a67565b80151581146114d957600080fd5b600060208284031215612aba57600080fd5b8135611ca681612a9a565b60005b83811015612ae0578181015183820152602001612ac8565b83811115611bcc5750506000910152565b60008151808452612b09816020860160208601612ac5565b601f01601f19169290920160200192915050565b602081526000611ca66020830184612af1565b600060208284031215612b4257600080fd5b5035919050565b6001600160a01b0391909116815260200190565b60008060408385031215612b7057600080fd5b612b7983612a30565b946020939093013593505050565b600080600060608486031215612b9c57600080fd5b612ba584612a30565b9250612bb360208501612a30565b9150604084013590509250925092565b600060208284031215612bd557600080fd5b813563ffffffff81168114611ca657600080fd5b6020808252825182820181905260009190848201906040850190845b81811015612c2157835183529284019291840191600101612c05565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612c6b57612c6b612c2d565b604052919050565b60006001600160401b03831115612c8c57612c8c612c2d565b612c9f601f8401601f1916602001612c43565b9050828152838383011115612cb357600080fd5b828260208301376000602084830101529392505050565b600060208284031215612cdc57600080fd5b81356001600160401b03811115612cf257600080fd5b8201601f81018413612d0357600080fd5b611fef84823560208401612c73565b60008060408385031215612d2557600080fd5b50508035926020909101359150565b60008060408385031215612d4757600080fd5b612d5083612a30565b91506020830135612d6081612a9a565b809150509250929050565b60008060008060808587031215612d8157600080fd5b612d8a85612a30565b9350612d9860208601612a30565b92506040850135915060608501356001600160401b03811115612dba57600080fd5b8501601f81018713612dcb57600080fd5b612dda87823560208401612c73565b91505092959194509250565b60008060408385031215612df957600080fd5b612e0283612a30565b9150612e1060208401612a30565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680612e6257607f821691505b60208210811415612e8357634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526021908201527f5472616e736665722069732063757272656e746c79206e6f7420616c6c6f77656040820152601960fa1b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60006020808385031215612f2e57600080fd5b82516001600160401b0380821115612f4557600080fd5b818501915085601f830112612f5957600080fd5b815181811115612f6b57612f6b612c2d565b8060051b9150612f7c848301612c43565b8181529183018401918481019088841115612f9657600080fd5b938501935b83851015612fb457845182529385019390850190612f9b565b98975050505050505050565b600060208284031215612fd257600080fd5b8151611ca681612a9a565b6020808252600e908201526d125b9d985b1a5908185b5bdd5b9d60921b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561302e5761302e613005565b500190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561305b57600080fd5b5051919050565b600060001982141561307657613076613005565b5060010190565b815160009082906020808601845b838110156130a75781518552938201939082019060010161308b565b50929695505050505050565b6020808252600e908201526d135a5b9d1a5b99c81c185d5cd95960921b604082015260600190565b60208082526030908201527f4d696e74207175616e746974792065786365656473206d6178696d756d20616c60408201526f1b1bddd959081c195c881dd85b1b195d60821b606082015260800190565b60208082526044908201527f4d696e74207175616e7469747920706c757320616c7265616479206d696e746560408201527f642065786365656473206d6178696d756d20616c6c6f776564207065722077616060820152631b1b195d60e21b608082015260a00190565b60208082526024908201527f4d696e74207175616e746974792065786365656473206d6178696d756d20737560408201526370706c7960e01b606082015260800190565b60008160001904831182151516156131f3576131f3613005565b500290565b602080825260119082015270092dce6eaccccd2c6d2cadce84082ac82b607b1b604082015260600190565b6000845160206132368285838a01612ac5565b8551918401916132498184848a01612ac5565b8554920191600090600181811c908083168061326657607f831692505b85831081141561328457634e487b7160e01b85526022600452602485fd5b80801561329857600181146132a9576132d6565b60ff198516885283880195506132d6565b60008b81526020902060005b858110156132ce5781548a8201529084019088016132b5565b505083880195505b50939b9a5050505050505050505050565b6000828210156132f9576132f9613005565b500390565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b60008261337557613375613350565b500490565b60008261338957613389613350565b500690565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906133c190830184612af1565b9695505050505050565b6000602082840312156133dd57600080fd5b8151611ca681612a67565b634e487b7160e01b600052603160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220de8958d983877e87a4df578b687fe1f4aa835bcc88b7bbcbc677b69e5a8c90f564736f6c634300080a003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000071defcaea5e76c035d8af2c56b9fa90e7394c4e000000000000000000000000d1e962ef4cdf00108c850fd775cc57937e450ec0000000000000000000000000000000000000000000000000000000000000000a56414c494649204c594b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004564c594b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004468747470733a2f2f697066732e696f2f697066732f516d5959656d447246417a626535536b684d6b3570505756487a78416b476a61366747596978705344674e5578632f00000000000000000000000000000000000000000000000000000000