[ { "inputs": [], "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": false, "internalType": "uint256[]", "name": "nftIDs", "type": "uint256[]" }, { "indexed": false, "internalType": "address", "name": "user", "type": "address" } ], "name": "NftMinted", "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": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "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": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "MAX_TOKENS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PRICE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "Presale_PRICE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "addressMinted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": [], "name": "isMintActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isPresaleActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" } ], "name": "mintPresale", "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": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "reserveNfts", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "root", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "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": "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": "bool", "name": "_isMintActive", "type": "bool" } ], "name": "setIsMintActive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_isPresaleActive", "type": "bool" } ], "name": "setIsPresaleActive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "merkleroot", "type": "bytes32" } ], "name": "setMerkleRoot", "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" }, { "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": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6080604052671bc16d674ec80000600c556718493fba64ef0000600d55610d05600e556010805461ffff19169055601280546001600160a01b031990811673584b18f864f2571aab57bbaab72790d03958c8af1790915560138054821673edb8d66ef54d3ab4b686ede10bd77fe8d2242c5717905560148054909116731bd291c7b7e70a4594f54d6de395a665162a5bf8179055348015620000a057600080fd5b506040805180820182526007815266109c985a53919560ca1b602080830191825283518085019094526005845264212920a4a760d91b908401528151919291620000ed9160009162000189565b5080516200010390600190602084019062000189565b505050620001206200011a6200013360201b60201c565b62000137565b600a805460ff60a01b191690556200026c565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b82805462000197906200022f565b90600052602060002090601f016020900481019282620001bb576000855562000206565b82601f10620001d657805160ff191683800117855562000206565b8280016001018555821562000206579182015b8281111562000206578251825591602001919060010190620001e9565b506200021492915062000218565b5090565b5b8082111562000214576000815560010162000219565b600181811c908216806200024457607f821691505b602082108114156200026657634e487b7160e01b600052602260045260246000fd5b50919050565b612c04806200027c6000396000f3fe6080604052600436106102255760003560e01c80636c0360eb11610123578063a22cb465116100ab578063ebf0c7171161006f578063ebf0c71714610629578063f2fde38b1461063f578063f47c84c51461065f578063fa30297e14610675578063fa4e25b4146106a557600080fd5b8063a22cb4651461056a578063b4d1072c1461058a578063b88d4fde146105a0578063c87b56dd146105c0578063e985e9c5146105e057600080fd5b80638456cb59116100f25780638456cb59146104f95780638d859f3e1461050e5780638da5cb5b1461052457806395d89b4114610542578063a0712d681461055757600080fd5b80636c0360eb1461048f57806370a08231146104a4578063715018a6146104c45780637cb64759146104d957600080fd5b80632f745c59116101b157806355f804b31161017557806355f804b3146103f75780635b92ac0d146104175780635c975abb1461043657806360d938dc146104555780636352211e1461046f57600080fd5b80632f745c59146103625780633f4ba83a1461038257806342842e0e14610397578063443da2a2146103b75780634f6ccce7146103d757600080fd5b80630c0a6b5e116101f85780630c0a6b5e146102db57806318160ddd146102ee5780631b7cfa091461030d57806323b872dd1461032d57806324600fc31461034d57600080fd5b806301ffc9a71461022a57806306fdde031461025f578063081812fc14610281578063095ea7b3146102b9575b600080fd5b34801561023657600080fd5b5061024a61024536600461270f565b6106c5565b60405190151581526020015b60405180910390f35b34801561026b57600080fd5b506102746106f0565b60405161025691906128f3565b34801561028d57600080fd5b506102a161029c3660046126f7565b610782565b6040516001600160a01b039091168152602001610256565b3480156102c557600080fd5b506102d96102d43660046126b4565b61081c565b005b6102d96102e936600461278d565b610932565b3480156102fa57600080fd5b506008545b604051908152602001610256565b34801561031957600080fd5b506102d96103283660046126f7565b610c6f565b34801561033957600080fd5b506102d96103483660046125d7565b610de1565b34801561035957600080fd5b506102d9610e12565b34801561036e57600080fd5b506102ff61037d3660046126b4565b610ee6565b34801561038e57600080fd5b506102d9610f7c565b3480156103a357600080fd5b506102d96103b23660046125d7565b610fb0565b3480156103c357600080fd5b506102d96103d23660046126dd565b610fcb565b3480156103e357600080fd5b506102ff6103f23660046126f7565b611008565b34801561040357600080fd5b506102d9610412366004612747565b6110a9565b34801561042357600080fd5b5060105461024a90610100900460ff1681565b34801561044257600080fd5b50600a54600160a01b900460ff1661024a565b34801561046157600080fd5b5060105461024a9060ff1681565b34801561047b57600080fd5b506102a161048a3660046126f7565b6110ea565b34801561049b57600080fd5b50610274611161565b3480156104b057600080fd5b506102ff6104bf36600461258b565b6111ef565b3480156104d057600080fd5b506102d9611276565b3480156104e557600080fd5b506102d96104f43660046126f7565b6112aa565b34801561050557600080fd5b506102d96112d9565b34801561051a57600080fd5b506102ff600c5481565b34801561053057600080fd5b50600a546001600160a01b03166102a1565b34801561054e57600080fd5b5061027461130b565b6102d96105653660046126f7565b61131a565b34801561057657600080fd5b506102d961058536600461268b565b6114f7565b34801561059657600080fd5b506102ff600d5481565b3480156105ac57600080fd5b506102d96105bb366004612612565b611502565b3480156105cc57600080fd5b506102746105db3660046126f7565b61153a565b3480156105ec57600080fd5b5061024a6105fb3660046125a5565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561063557600080fd5b506102ff600b5481565b34801561064b57600080fd5b506102d961065a36600461258b565b611615565b34801561066b57600080fd5b506102ff600e5481565b34801561068157600080fd5b5061024a61069036600461258b565b60116020526000908152604090205460ff1681565b3480156106b157600080fd5b506102d96106c03660046126dd565b6116ad565b60006001600160e01b0319821663780e9d6360e01b14806106ea57506106ea826116f1565b92915050565b6060600080546106ff90612b0c565b80601f016020809104026020016040519081016040528092919081815260200182805461072b90612b0c565b80156107785780601f1061074d57610100808354040283529160200191610778565b820191906000526020600020905b81548152906001019060200180831161075b57829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166108005760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b6000610827826110ea565b9050806001600160a01b0316836001600160a01b031614156108955760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107f7565b336001600160a01b03821614806108b157506108b181336105fb565b6109235760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016107f7565b61092d8383611741565b505050565b600a54600160a01b900460ff161561095c5760405162461bcd60e51b81526004016107f790612958565b60105460ff166109a35760405162461bcd60e51b815260206004820152601260248201527150726573616c65204e6f742061637469766560701b60448201526064016107f7565b3360009081526011602052604090205460ff16156109fb5760405162461bcd60e51b815260206004820152601560248201527413db9b1e481bdb98d9481c195c881858d8dbdd5b9d605a1b60448201526064016107f7565b60008311610a1b5760405162461bcd60e51b81526004016107f7906129ca565b600e5483610a2860085490565b610a329190612a7e565b1115610a505760405162461bcd60e51b81526004016107f790612982565b34600d5484610a5f9190612aaa565b1115610aa65760405162461bcd60e51b8152602060048201526016602482015275125b9d985b1a59081c185e5b595b9d08185b5bdd5b9d60521b60448201526064016107f7565b610b1b82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600b546040516bffffffffffffffffffffffff193360601b1660208201529092506034019050604051602081830303815290604052805190602001206117af565b610b5e5760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21036b2b935b632a83937b7b31760611b60448201526064016107f7565b60008367ffffffffffffffff811115610b8757634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610bb0578160200160208202803683370190505b50905060005b84811015610c15576000610bc960085490565b905080838381518110610bec57634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610c02335b826117c5565b5080610c0d81612b47565b915050610bb6565b503360008181526011602052604090819020805460ff19166001179055517ff1fcab16c5d4e4691ead09e5b66a42536136a6737fa338189d866940bf5ebef391610c619184919061289f565b60405180910390a150505050565b600a546001600160a01b03163314610c995760405162461bcd60e51b81526004016107f7906129f8565b60008111610cb95760405162461bcd60e51b81526004016107f7906129ca565b600e5481610cc660085490565b610cd09190612a7e565b1115610cee5760405162461bcd60e51b81526004016107f790612982565b60008167ffffffffffffffff811115610d1757634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610d40578160200160208202803683370190505b50905060005b82811015610da3576000610d5960085490565b905080838381518110610d7c57634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610d9033610bfc565b5080610d9b81612b47565b915050610d46565b507ff1fcab16c5d4e4691ead09e5b66a42536136a6737fa338189d866940bf5ebef38133604051610dd592919061289f565b60405180910390a15050565b610deb33826117df565b610e075760405162461bcd60e51b81526004016107f790612a2d565b61092d8383836118d6565b600a546001600160a01b03163314610e3c5760405162461bcd60e51b81526004016107f7906129f8565b4780610e825760405162461bcd60e51b815260206004820152601560248201527442616c616e63652063616e2774206265207a65726f60581b60448201526064016107f7565b601254610eaf906001600160a01b03166103e8610ea084604b612aaa565b610eaa9190612a96565b611a81565b601354610ecd906001600160a01b03166103e8610ea084604b612aaa565b601454610ee3906001600160a01b031647611a81565b50565b6000610ef1836111ef565b8210610f535760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016107f7565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b600a546001600160a01b03163314610fa65760405162461bcd60e51b81526004016107f7906129f8565b610fae611b17565b565b61092d83838360405180602001604052806000815250611502565b600a546001600160a01b03163314610ff55760405162461bcd60e51b81526004016107f7906129f8565b6010805460ff1916911515919091179055565b600061101360085490565b82106110765760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016107f7565b6008828154811061109757634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b600a546001600160a01b031633146110d35760405162461bcd60e51b81526004016107f7906129f8565b80516110e690600f906020840190612450565b5050565b6000818152600260205260408120546001600160a01b0316806106ea5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016107f7565b600f805461116e90612b0c565b80601f016020809104026020016040519081016040528092919081815260200182805461119a90612b0c565b80156111e75780601f106111bc576101008083540402835291602001916111e7565b820191906000526020600020905b8154815290600101906020018083116111ca57829003601f168201915b505050505081565b60006001600160a01b03821661125a5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016107f7565b506001600160a01b031660009081526003602052604090205490565b600a546001600160a01b031633146112a05760405162461bcd60e51b81526004016107f7906129f8565b610fae6000611bb4565b600a546001600160a01b031633146112d45760405162461bcd60e51b81526004016107f7906129f8565b600b55565b600a546001600160a01b031633146113035760405162461bcd60e51b81526004016107f7906129f8565b610fae611c06565b6060600180546106ff90612b0c565b600a54600160a01b900460ff16156113445760405162461bcd60e51b81526004016107f790612958565b601054610100900460ff166113905760405162461bcd60e51b81526020600482015260126024820152714d696e74206973206e6f742061637469766560701b60448201526064016107f7565b600081116113b05760405162461bcd60e51b81526004016107f7906129ca565b600e54816113bd60085490565b6113c79190612a7e565b11156113e55760405162461bcd60e51b81526004016107f790612982565b3481600c546113f49190612aaa565b11156114425760405162461bcd60e51b815260206004820152601e60248201527f417661782076616c75652073656e74206973206e6f7420636f7272656374000060448201526064016107f7565b60008167ffffffffffffffff81111561146b57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611494578160200160208202803683370190505b50905060005b82811015610da35760006114ad60085490565b9050808383815181106114d057634e487b7160e01b600052603260045260246000fd5b60209081029190910101526114e433610bfc565b50806114ef81612b47565b91505061149a565b6110e6338383611c6b565b61150c33836117df565b6115285760405162461bcd60e51b81526004016107f790612a2d565b61153484848484611d3a565b50505050565b6000818152600260205260409020546060906001600160a01b03166115b95760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016107f7565b60006115c3611d6d565b905060008151116115e3576040518060200160405280600081525061160e565b806115ed84611d7c565b6040516020016115fe929190612833565b6040516020818303038152906040525b9392505050565b600a546001600160a01b0316331461163f5760405162461bcd60e51b81526004016107f7906129f8565b6001600160a01b0381166116a45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f7565b610ee381611bb4565b600a546001600160a01b031633146116d75760405162461bcd60e51b81526004016107f7906129f8565b601080549115156101000261ff0019909216919091179055565b60006001600160e01b031982166380ac58cd60e01b148061172257506001600160e01b03198216635b5e139f60e01b145b806106ea57506301ffc9a760e01b6001600160e01b03198316146106ea565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611776826110ea565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000826117bc8584611e96565b14949350505050565b6110e6828260405180602001604052806000815250611f50565b6000818152600260205260408120546001600160a01b03166118585760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107f7565b6000611863836110ea565b9050806001600160a01b0316846001600160a01b0316148061189e5750836001600160a01b031661189384610782565b6001600160a01b0316145b806118ce57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166118e9826110ea565b6001600160a01b0316146119515760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016107f7565b6001600160a01b0382166119b35760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107f7565b6119be838383611f83565b6119c9600082611741565b6001600160a01b03831660009081526003602052604081208054600192906119f2908490612ac9565b90915550506001600160a01b0382166000908152600360205260408120805460019290611a20908490612a7e565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611ace576040519150601f19603f3d011682016040523d82523d6000602084013e611ad3565b606091505b505090508061092d5760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b60448201526064016107f7565b600a54600160a01b900460ff16611b675760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016107f7565b600a805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600a54600160a01b900460ff1615611c305760405162461bcd60e51b81526004016107f790612958565b600a805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611b973390565b816001600160a01b0316836001600160a01b03161415611ccd5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107f7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611d458484846118d6565b611d518484848461203b565b6115345760405162461bcd60e51b81526004016107f790612906565b6060600f80546106ff90612b0c565b606081611da05750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611dca5780611db481612b47565b9150611dc39050600a83612a96565b9150611da4565b60008167ffffffffffffffff811115611df357634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611e1d576020820181803683370190505b5090505b84156118ce57611e32600183612ac9565b9150611e3f600a86612b62565b611e4a906030612a7e565b60f81b818381518110611e6d57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611e8f600a86612a96565b9450611e21565b600081815b8451811015611f48576000858281518110611ec657634e487b7160e01b600052603260045260246000fd5b60200260200101519050808311611f08576040805160208101859052908101829052606001604051602081830303815290604052805190602001209250611f35565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b5080611f4081612b47565b915050611e9b565b509392505050565b611f5a8383612148565b611f67600084848461203b565b61092d5760405162461bcd60e51b81526004016107f790612906565b6001600160a01b038316611fde57611fd981600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b612001565b816001600160a01b0316836001600160a01b031614612001576120018382612296565b6001600160a01b0382166120185761092d81612333565b826001600160a01b0316826001600160a01b03161461092d5761092d828261240c565b60006001600160a01b0384163b1561213d57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061207f903390899088908890600401612862565b602060405180830381600087803b15801561209957600080fd5b505af19250505080156120c9575060408051601f3d908101601f191682019092526120c69181019061272b565b60015b612123573d8080156120f7576040519150601f19603f3d011682016040523d82523d6000602084013e6120fc565b606091505b50805161211b5760405162461bcd60e51b81526004016107f790612906565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506118ce565b506001949350505050565b6001600160a01b03821661219e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107f7565b6000818152600260205260409020546001600160a01b0316156122035760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107f7565b61220f60008383611f83565b6001600160a01b0382166000908152600360205260408120805460019290612238908490612a7e565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600060016122a3846111ef565b6122ad9190612ac9565b600083815260076020526040902054909150808214612300576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061234590600190612ac9565b6000838152600960205260408120546008805493945090928490811061237b57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600883815481106123aa57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806123f057634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000612417836111ef565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b82805461245c90612b0c565b90600052602060002090601f01602090048101928261247e57600085556124c4565b82601f1061249757805160ff19168380011785556124c4565b828001600101855582156124c4579182015b828111156124c45782518255916020019190600101906124a9565b506124d09291506124d4565b5090565b5b808211156124d057600081556001016124d5565b600067ffffffffffffffff8084111561250457612504612ba2565b604051601f8501601f19908116603f0116810190828211818310171561252c5761252c612ba2565b8160405280935085815286868601111561254557600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461257657600080fd5b919050565b8035801515811461257657600080fd5b60006020828403121561259c578081fd5b61160e8261255f565b600080604083850312156125b7578081fd5b6125c08361255f565b91506125ce6020840161255f565b90509250929050565b6000806000606084860312156125eb578081fd5b6125f48461255f565b92506126026020850161255f565b9150604084013590509250925092565b60008060008060808587031215612627578081fd5b6126308561255f565b935061263e6020860161255f565b925060408501359150606085013567ffffffffffffffff811115612660578182fd5b8501601f81018713612670578182fd5b61267f878235602084016124e9565b91505092959194509250565b6000806040838503121561269d578182fd5b6126a68361255f565b91506125ce6020840161257b565b600080604083850312156126c6578182fd5b6126cf8361255f565b946020939093013593505050565b6000602082840312156126ee578081fd5b61160e8261257b565b600060208284031215612708578081fd5b5035919050565b600060208284031215612720578081fd5b813561160e81612bb8565b60006020828403121561273c578081fd5b815161160e81612bb8565b600060208284031215612758578081fd5b813567ffffffffffffffff81111561276e578182fd5b8201601f8101841361277e578182fd5b6118ce848235602084016124e9565b6000806000604084860312156127a1578283fd5b83359250602084013567ffffffffffffffff808211156127bf578384fd5b818601915086601f8301126127d2578384fd5b8135818111156127e0578485fd5b8760208260051b85010111156127f4578485fd5b6020830194508093505050509250925092565b6000815180845261281f816020860160208601612ae0565b601f01601f19169290920160200192915050565b60008351612845818460208801612ae0565b835190830190612859818360208801612ae0565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061289590830184612807565b9695505050505050565b604080825283519082018190526000906020906060840190828701845b828110156128d8578151845292840192908401906001016128bc565b5050506001600160a01b039490941692019190915250919050565b60208152600061160e6020830184612807565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526028908201527f416d6f756e742063616e2774206265206d6f7265207468616e20746865206d616040820152677820737570706c7960c01b606082015260800190565b602080825260149082015273416d6f756e742063616e2774206265207a65726f60601b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60008219821115612a9157612a91612b76565b500190565b600082612aa557612aa5612b8c565b500490565b6000816000190483118215151615612ac457612ac4612b76565b500290565b600082821015612adb57612adb612b76565b500390565b60005b83811015612afb578181015183820152602001612ae3565b838111156115345750506000910152565b600181811c90821680612b2057607f821691505b60208210811415612b4157634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612b5b57612b5b612b76565b5060010190565b600082612b7157612b71612b8c565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610ee357600080fdfea2646970667358221220db33bd250fb543943af6907f3ea60275d23757b9531f93ef6e59894d54769b1764736f6c63430008040033