[ { "inputs": [ { "internalType": "string", "name": "nftName", "type": "string" }, { "internalType": "string", "name": "nftSymbol", "type": "string" }, { "internalType": "string", "name": "baseTokenURI", "type": "string" }, { "internalType": "address", "name": "_royaltyRecipient", "type": "address" }, { "internalType": "uint256", "name": "_startAt", "type": "uint256" } ], "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": "uint256", "name": "_id", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "_price", "type": "uint256" } ], "name": "Claim", "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" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [], "name": "DURATION_STEP", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_CLAIM_PER_WALLET", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_MINTABLE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_PER_CLAIM", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MIN_PRICE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MintIsOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ROYALTY_VALUE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "STARTING_NFT_PRICE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [ { "internalType": "uint256", "name": "n", "type": "uint256" } ], "name": "claim", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "discountRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" } ], "name": "getAdmins", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPublicPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [], "name": "last_price", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "address", "name": "", "type": "address" } ], "name": "publicMintedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "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": "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": "_addr", "type": "address[]" } ], "name": "setAdmins", "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": "uri", "type": "string" } ], "name": "setBaseUri", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_royaltyRecipient", "type": "address" } ], "name": "setRoyaltyAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_startAt", "type": "uint256" } ], "name": "setStartAt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startAt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [], "name": "toggleMint", "outputs": [], "stateMutability": "nonpayable", "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" }, { "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": "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": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
676f05b59d3b200000600c55670429d069189e0000608052600f805460ff1916600117905560c06040819052600060a081905262000040916010916200015c565b50600160115560006012553480156200005857600080fd5b5060405162002f4238038062002f428339810160408190526200007b91620002b5565b845185908590620000949060009060208501906200015c565b508051620000aa9060019060208401906200015c565b505050620000c7620000c16200010660201b60201c565b6200010a565b601480546001600160a01b0319166001600160a01b0384161790558251620000f79060109060208601906200015c565b50600d5550620003c292505050565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200016a906200036f565b90600052602060002090601f0160209004810192826200018e5760008555620001d9565b82601f10620001a957805160ff1916838001178555620001d9565b82800160010185558215620001d9579182015b82811115620001d9578251825591602001919060010190620001bc565b50620001e7929150620001eb565b5090565b5b80821115620001e75760008155600101620001ec565b600082601f83011262000213578081fd5b81516001600160401b0380821115620002305762000230620003ac565b604051601f8301601f19908116603f011681019082821181831017156200025b576200025b620003ac565b8160405283815260209250868385880101111562000277578485fd5b8491505b838210156200029a57858201830151818301840152908201906200027b565b83821115620002ab57848385830101525b9695505050505050565b600080600080600060a08688031215620002cd578081fd5b85516001600160401b0380821115620002e4578283fd5b620002f289838a0162000202565b9650602088015191508082111562000308578283fd5b6200031689838a0162000202565b955060408801519150808211156200032c578283fd5b506200033b8882890162000202565b606088015190945090506001600160a01b03811681146200035a578182fd5b80925050608086015190509295509295909350565b6002810460018216806200038457607f821691505b60208210811415620003a657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b608051612b5d620003e5600039600081816109f2015261122d0152612b5d6000f3fe6080604052600436106102555760003560e01c80636f7bf4ae11610139578063ad9f20a6116100b6578063e6c0e6d51161007a578063e6c0e6d514610641578063e985e9c514610656578063ead29d4e14610676578063f2fde38b14610696578063f3a133a9146106b6578063fde625e6146106d65761025c565b8063ad9f20a6146105c2578063b88d4fde146105d7578063c7446565146105f7578063c87b56dd1461060c578063d3dd5fe01461062c5761025c565b806395d89b41116100fd57806395d89b411461052d578063a0bcfc7f14610542578063a22cb46514610562578063accc1d5e14610582578063ad5f2210146105a25761025c565b80636f7bf4ae146104b957806370a08231146104ce578063715018a6146104ee5780638da5cb5b1461050357806393791b03146105185761025c565b8063363e86fe116101d25780634345bf3d116101965780634345bf3d1461043a5780634f02c4201461044f5780634f6ccce7146104645780635471f49f146102945780636352211e146104845780636b907eba146104a45761025c565b8063363e86fe146103c8578063379607f5146103dd5780633ccfd60b146103f05780633f879faf1461040557806342842e0e1461041a5761025c565b8063095ea7b311610219578063095ea7b31461032557806318160ddd1461034557806323b872dd1461035a5780632a55205a1461037a5780632f745c59146103a85761025c565b806301ffc9a71461025e578063042e2d0b1461029457806306d254da146102b657806306fdde03146102d6578063081812fc146102f85761025c565b3661025c57005b005b34801561026a57600080fd5b5061027e6102793660046120ed565b6106eb565b60405161028b9190612279565b60405180910390f35b3480156102a057600080fd5b506102a96106fe565b60405161028b91906129ce565b3480156102c257600080fd5b5061025c6102d1366004611f1b565b610703565b3480156102e257600080fd5b506102eb61076d565b60405161028b9190612284565b34801561030457600080fd5b5061031861031336600461216b565b610800565b60405161028b919061220f565b34801561033157600080fd5b5061025c610340366004612055565b610843565b34801561035157600080fd5b506102a96108db565b34801561036657600080fd5b5061025c610375366004611f67565b6108e1565b34801561038657600080fd5b5061039a610395366004612183565b610919565b60405161028b929190612260565b3480156103b457600080fd5b506102a96103c3366004612055565b610977565b3480156103d457600080fd5b506102a96109c9565b61025c6103eb36600461216b565b610a8f565b3480156103fc57600080fd5b5061025c610d59565b34801561041157600080fd5b506102a9610e06565b34801561042657600080fd5b5061025c610435366004611f67565b610e0b565b34801561044657600080fd5b506102a9610e26565b34801561045b57600080fd5b506102a9610e2c565b34801561047057600080fd5b506102a961047f36600461216b565b610e32565b34801561049057600080fd5b5061031861049f36600461216b565b610e8d565b3480156104b057600080fd5b5061027e610ec2565b3480156104c557600080fd5b506102a9610ecb565b3480156104da57600080fd5b506102a96104e9366004611f1b565b610ed0565b3480156104fa57600080fd5b5061025c610f14565b34801561050f57600080fd5b50610318610f5f565b34801561052457600080fd5b506102a9610f6e565b34801561053957600080fd5b506102eb610f74565b34801561054e57600080fd5b5061025c61055d366004612125565b610f83565b34801561056e57600080fd5b5061025c61057d36600461201b565b610fd9565b34801561058e57600080fd5b5061025c61059d36600461207e565b610feb565b3480156105ae57600080fd5b5061027e6105bd366004611f1b565b6110aa565b3480156105ce57600080fd5b506102a961110a565b3480156105e357600080fd5b5061025c6105f2366004611fa2565b611116565b34801561060357600080fd5b506102a961114f565b34801561061857600080fd5b506102eb61062736600461216b565b611155565b34801561063857600080fd5b5061025c6111d8565b34801561064d57600080fd5b506102a961122b565b34801561066257600080fd5b5061027e610671366004611f35565b61124f565b34801561068257600080fd5b506102a9610691366004611f1b565b61127d565b3480156106a257600080fd5b5061025c6106b1366004611f1b565b61128f565b3480156106c257600080fd5b5061025c6106d136600461216b565b6112fd565b3480156106e257600080fd5b506102a9611341565b60006106f682611347565b90505b919050565b600181565b61070b61136c565b6001600160a01b031661071c610f5f565b6001600160a01b03161461074b5760405162461bcd60e51b8152600401610742906127a0565b60405180910390fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60606000805461077c90612a65565b80601f01602080910402602001604051908101604052809291908181526020018280546107a890612a65565b80156107f55780601f106107ca576101008083540402835291602001916107f5565b820191906000526020600020905b8154815290600101906020018083116107d857829003601f168201915b505050505090505b90565b600061080b82611370565b6108275760405162461bcd60e51b815260040161074290612754565b506000908152600460205260409020546001600160a01b031690565b600061084e82610e8d565b9050806001600160a01b0316836001600160a01b031614156108825760405162461bcd60e51b815260040161074290612892565b806001600160a01b031661089461136c565b6001600160a01b031614806108b057506108b08161067161136c565b6108cc5760405162461bcd60e51b8152600401610742906125ec565b6108d6838361138d565b505050565b60085490565b6108f26108ec61136c565b826113fb565b61090e5760405162461bcd60e51b8152600401610742906128d3565b6108d6838383611480565b6000828152600b602090815260408083208151808301909252546001600160a01b038116808352600160a01b90910462ffffff169282018390529291612710906109639086612a03565b61096d91906129ef565b9150509250929050565b600061098283610ed0565b82106109a05760405162461bcd60e51b815260040161074290612332565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b600080600d54426109da9190612a22565b905060006109e9605a836129ef565b90506000610a177f000000000000000000000000000000000000000000000000000000000000000083612a03565b90506000600d544210610a815781600c541015610a4257671bc16d674ec800009450505050506107fd565b81600c54610a509190612a22565b9050671bc16d674ec80000811015610a7657671bc16d674ec800009450505050506107fd565b93506107fd92505050565b600c549450505050506107fd565b600f5460ff161515600114610ab65760405162461bcd60e51b81526004016107429061285b565b600d54421015610ad85760405162461bcd60e51b815260040161074290612970565b6015610ae26108db565b610aec90836129d7565b1115610b0a5760405162461bcd60e51b815260040161074290612297565b60008111610b2a5760405162461bcd60e51b815260040161074290612585565b6001811115610b4b5760405162461bcd60e51b815260040161074290612491565b33600090815260156020526040902054600111610b7a5760405162461bcd60e51b815260040161074290612999565b33600090815260156020526040902054600190610b9790836129d7565b1115610bb55760405162461bcd60e51b8152600401610742906127d5565b6000610bbf6109c9565b9050610bcb8282612a03565b341015610bea5760405162461bcd60e51b8152600401610742906126dc565b3360009081526015602052604081208054849290610c099084906129d7565b9091555060009050610c1b8383612a03565b90508060126000828254610c2f91906129d7565b9091555060009050610c418234612a22565b604051909150309083156108fc029084906000818181858888f19350505050158015610c71573d6000803e3d6000fd5b5060005b84811015610d0557610c90610c8861136c565b6011546115b3565b601154601454610cac91906001600160a01b03166101f46115cd565b600160116000828254610cbf91906129d7565b90915550506011546040518591907f022e3d29644ead4083349ca84d24bcac368b2461819b70f5921fea15de4dec4d90600090a380610cfd81612aa0565b915050610c75565b50600e8390558015610d5357610d1961136c565b6001600160a01b03166108fc829081150290604051600060405180830381858888f19350505050158015610d51573d6000803e3d6000fd5b505b50505050565b60136000610d6561136c565b6001600160a01b0316815260208101919091526040016000205460ff161515600114610da35760405162461bcd60e51b8152600401610742906125bc565b60004711610dc35760405162461bcd60e51b815260040161074290612305565b610dcb61136c565b6001600160a01b03166108fc479081150290604051600060405180830381858888f19350505050158015610e03573d6000803e3d6000fd5b50565b601581565b6108d683838360405180602001604052806000815250611116565b600c5481565b60115481565b6000610e3c6108db565b8210610e5a5760405162461bcd60e51b815260040161074290612924565b60088281548110610e7b57634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b0316806106f65760405162461bcd60e51b815260040161074290612693565b600f5460ff1681565b605a81565b60006001600160a01b038216610ef85760405162461bcd60e51b815260040161074290612649565b506001600160a01b031660009081526003602052604090205490565b610f1c61136c565b6001600160a01b0316610f2d610f5f565b6001600160a01b031614610f535760405162461bcd60e51b8152600401610742906127a0565b610f5d600061164f565b565b600a546001600160a01b031690565b6101f481565b60606001805461077c90612a65565b610f8b61136c565b6001600160a01b0316610f9c610f5f565b6001600160a01b031614610fc25760405162461bcd60e51b8152600401610742906127a0565b8051610fd5906010906020840190611df5565b5050565b610fd5610fe461136c565b83836116a1565b610ff361136c565b6001600160a01b0316611004610f5f565b6001600160a01b03161461102a5760405162461bcd60e51b8152600401610742906127a0565b60005b818110156108d65760016013600085858581811061105b57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906110709190611f1b565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806110a281612aa0565b91505061102d565b60006110b461136c565b6001600160a01b03166110c5610f5f565b6001600160a01b0316146110eb5760405162461bcd60e51b8152600401610742906127a0565b506001600160a01b031660009081526013602052604090205460ff1690565b671bc16d674ec8000081565b61112761112161136c565b836113fb565b6111435760405162461bcd60e51b8152600401610742906128d3565b610d5384848484611744565b600d5481565b606061116082611370565b61117c5760405162461bcd60e51b81526004016107429061280c565b6000611186611777565b905060008151116111a657604051806020016040528060008152506111d1565b806111b084611786565b6040516020016111c19291906121d0565b6040516020818303038152906040525b9392505050565b6111e061136c565b6001600160a01b03166111f1610f5f565b6001600160a01b0316146112175760405162461bcd60e51b8152600401610742906127a0565b600f805460ff19811660ff90911615179055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60156020526000908152604090205481565b61129761136c565b6001600160a01b03166112a8610f5f565b6001600160a01b0316146112ce5760405162461bcd60e51b8152600401610742906127a0565b6001600160a01b0381166112f45760405162461bcd60e51b8152600401610742906123cf565b610e038161164f565b61130561136c565b6001600160a01b0316611316610f5f565b6001600160a01b03161461133c5760405162461bcd60e51b8152600401610742906127a0565b600d55565b600e5481565b60006001600160e01b0319821663152a902d60e11b14806106f657506106f6826118a1565b3390565b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906113c282610e8d565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061140682611370565b6114225760405162461bcd60e51b815260040161074290612539565b600061142d83610e8d565b9050806001600160a01b0316846001600160a01b031614806114685750836001600160a01b031661145d84610800565b6001600160a01b0316145b806114785750611478818561124f565b949350505050565b826001600160a01b031661149382610e8d565b6001600160a01b0316146114b95760405162461bcd60e51b815260040161074290612415565b6001600160a01b0382166114df5760405162461bcd60e51b8152600401610742906124be565b6114ea8383836118c6565b6114f560008261138d565b6001600160a01b038316600090815260036020526040812080546001929061151e908490612a22565b90915550506001600160a01b038216600090815260036020526040812080546001929061154c9084906129d7565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46108d68383836108d6565b610fd58282604051806020016040528060008152506118d1565b6127108111156115ef5760405162461bcd60e51b8152600401610742906122ce565b6040805180820182526001600160a01b03938416815262ffffff92831660208083019182526000968752600b905291909420935184549151909216600160a01b0262ffffff60a01b19929093166001600160a01b03199091161716179055565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031614156116d35760405162461bcd60e51b815260040161074290612502565b6001600160a01b0383811660008181526005602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611737908590612279565b60405180910390a3505050565b61174f848484611480565b61175b84848484611904565b610d535760405162461bcd60e51b81526004016107429061237d565b60606010805461077c90612a65565b6060816117ab57506040805180820190915260018152600360fc1b60208201526106f9565b8160005b81156117d557806117bf81612aa0565b91506117ce9050600a836129ef565b91506117af565b60008167ffffffffffffffff8111156117fe57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611828576020820181803683370190505b5090505b84156114785761183d600183612a22565b915061184a600a86612abb565b6118559060306129d7565b60f81b81838151811061187857634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535061189a600a866129ef565b945061182c565b60006001600160e01b0319821663780e9d6360e01b14806106f657506106f682611a1f565b6108d6838383611a5f565b6118db8383611ae8565b6118e86000848484611904565b6108d65760405162461bcd60e51b81526004016107429061237d565b6000611918846001600160a01b0316611bcf565b15611a1457836001600160a01b031663150b7a0261193461136c565b8786866040518563ffffffff1660e01b81526004016119569493929190612223565b602060405180830381600087803b15801561197057600080fd5b505af19250505080156119a0575060408051601f3d908101601f1916820190925261199d91810190612109565b60015b6119fa573d8080156119ce576040519150601f19603f3d011682016040523d82523d6000602084013e6119d3565b606091505b5080516119f25760405162461bcd60e51b81526004016107429061237d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611478565b506001949350505050565b60006001600160e01b031982166380ac58cd60e01b1480611a5057506001600160e01b03198216635b5e139f60e01b145b806106f657506106f682611bde565b611a6a8383836108d6565b6001600160a01b038316611a8657611a8181611bf7565b611aa9565b816001600160a01b0316836001600160a01b031614611aa957611aa98382611c3b565b6001600160a01b038216611ac557611ac081611cd8565b6108d6565b826001600160a01b0316826001600160a01b0316146108d6576108d68282611db1565b6001600160a01b038216611b0e5760405162461bcd60e51b81526004016107429061271f565b611b1781611370565b15611b345760405162461bcd60e51b81526004016107429061245a565b611b40600083836118c6565b6001600160a01b0382166000908152600360205260408120805460019290611b699084906129d7565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610fd5600083836108d6565b6001600160a01b03163b151590565b6001600160e01b031981166301ffc9a760e01b14919050565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b60006001611c4884610ed0565b611c529190612a22565b600083815260076020526040902054909150808214611ca5576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090611cea90600190612a22565b60008381526009602052604081205460088054939450909284908110611d2057634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508060088381548110611d4f57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480611d9557634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000611dbc83610ed0565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b828054611e0190612a65565b90600052602060002090601f016020900481019282611e235760008555611e69565b82601f10611e3c57805160ff1916838001178555611e69565b82800160010185558215611e69579182015b82811115611e69578251825591602001919060010190611e4e565b50611e75929150611e79565b5090565b5b80821115611e755760008155600101611e7a565b600067ffffffffffffffff80841115611ea957611ea9612afb565b604051601f8501601f19908116603f01168101908282118183101715611ed157611ed1612afb565b81604052809350858152868686011115611eea57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b03811681146106f957600080fd5b600060208284031215611f2c578081fd5b6111d182611f04565b60008060408385031215611f47578081fd5b611f5083611f04565b9150611f5e60208401611f04565b90509250929050565b600080600060608486031215611f7b578081fd5b611f8484611f04565b9250611f9260208501611f04565b9150604084013590509250925092565b60008060008060808587031215611fb7578081fd5b611fc085611f04565b9350611fce60208601611f04565b925060408501359150606085013567ffffffffffffffff811115611ff0578182fd5b8501601f81018713612000578182fd5b61200f87823560208401611e8e565b91505092959194509250565b6000806040838503121561202d578182fd5b61203683611f04565b91506020830135801515811461204a578182fd5b809150509250929050565b60008060408385031215612067578182fd5b61207083611f04565b946020939093013593505050565b60008060208385031215612090578182fd5b823567ffffffffffffffff808211156120a7578384fd5b818501915085601f8301126120ba578384fd5b8135818111156120c8578485fd5b86602080830285010111156120db578485fd5b60209290920196919550909350505050565b6000602082840312156120fe578081fd5b81356111d181612b11565b60006020828403121561211a578081fd5b81516111d181612b11565b600060208284031215612136578081fd5b813567ffffffffffffffff81111561214c578182fd5b8201601f8101841361215c578182fd5b61147884823560208401611e8e565b60006020828403121561217c578081fd5b5035919050565b60008060408385031215612195578182fd5b50508035926020909101359150565b600081518084526121bc816020860160208601612a39565b601f01601f19169290920160200192915050565b600083516121e2818460208801612a39565b8351908301906121f6818360208801612a39565b64173539b7b760d91b9101908152600501949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612256908301846121a4565b9695505050505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602082526111d160208301846121a4565b60208082526018908201527f4e6f7420656e6f756768206c65667420746f206d696e742e0000000000000000604082015260600190565b6020808252601a908201527f45524332393831526f79616c746965733a20546f6f2068696768000000000000604082015260600190565b6020808252601390820152724e6f7468696e6720746f20776974686472617760681b604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b60208082526013908201527204d61782070657220636c61696d20697320313606c1b604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252601f908201527f4e756d626572206e65656420746f20626520686967686572207468616e203000604082015260600190565b6020808252601690820152752cb7bab91030b932903737ba103a34329037bbb732b960511b604082015260600190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b60208082526023908201527f45746865722076616c75652073656e742069732062656c6f772074686520707260408201526269636560e81b606082015260800190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f796f752063616e2774206561726c7920636c61696d2074686174206d75636800604082015260600190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b60208082526018908201527f4d696e742069732063757272656e746c7920636c6f7365640000000000000000604082015260600190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b6020808252600f908201526e139bdd081cdd185c9d1959081e595d608a1b604082015260600190565b6020808252818101527f6578636565647320746865207075626c6963206d696e74696e67206c696d6974604082015260600190565b90815260200190565b600082198211156129ea576129ea612acf565b500190565b6000826129fe576129fe612ae5565b500490565b6000816000190483118215151615612a1d57612a1d612acf565b500290565b600082821015612a3457612a34612acf565b500390565b60005b83811015612a54578181015183820152602001612a3c565b83811115610d535750506000910152565b600281046001821680612a7957607f821691505b60208210811415612a9a57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612ab457612ab4612acf565b5060010190565b600082612aca57612aca612ae5565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610e0357600080fdfea26469706673582212209c9697d1ac4db7073b4641aa4ecab85f8460f54ba3dd22b5f7f0f4219538cdaa64736f6c6343000801003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000003c4c61eedfea9808ba37e8b0e4a5c82dc0bace00000000000000000000000000000000000000000000000000000000062e81ba8000000000000000000000000000000000000000000000000000000000000001132312064617973206f662048616c64756e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000948414c44554e20323100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d625159357863795a6f6838476f43437a586d6452426e4c5774333179736b6b4e42764d6732645236374c59572f00000000000000000000