[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "AuxProofInvalid_PhaseOne", "type": "error" }, { "inputs": [], "name": "AuxProofInvalid_PhaseTwo", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "CallerIsNotOwner", "type": "error" }, { "inputs": [], "name": "CannotOverwriteData", "type": "error" }, { "inputs": [], "name": "ClaimAlreadyMinted", "type": "error" }, { "inputs": [], "name": "ExceedsBatchSize", "type": "error" }, { "inputs": [], "name": "ExceedsSupplyCap", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "name": "InvalidAuxInfo", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "InvalidExtraData", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "name": "InvalidLength", "type": "error" }, { "inputs": [], "name": "InvalidPayment", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintNotAvailable", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [], "name": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "type": "error" }, { "inputs": [], "name": "TransferCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "TransferFromIncorrectOwner", "type": "error" }, { "inputs": [], "name": "TransferToNonERC721ReceiverImplementer", "type": "error" }, { "inputs": [], "name": "TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "URIQueryForNonexistentToken", "type": "error" }, { "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": "fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "toTokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "ConsecutiveTransfer", "type": "event" }, { "anonymous": false, "inputs": [], "name": "ContractURIUpdated", "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" }, { "indexed": false, "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "PayeeAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldOwner", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "PayeeTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "PaymentReceived", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "PaymentReleased", "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" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenOwner", "type": "address" } ], "name": "balanceOwnedBy", "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": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" }, { "internalType": "string", "name": "auxInfo", "type": "string" }, { "internalType": "uint256", "name": "extraData", "type": "uint256" } ], "name": "checkProof_PhaseOne", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" }, { "internalType": "string", "name": "auxInfo", "type": "string" }, { "internalType": "uint256", "name": "extraData", "type": "uint256" } ], "name": "checkProof_PhaseTwo", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contractURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "auxInfoAsInt", "type": "uint256" } ], "name": "decodeAuxInfoFromUint256", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "saltAsInt", "type": "uint256" } ], "name": "decodeSaltFromUint256", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "extraData", "type": "uint256" } ], "name": "deleteAux", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "auxInfo", "type": "string" } ], "name": "encodeAuxInfoToUint256", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "salt", "type": "string" } ], "name": "encodeSaltToUint256", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getArtURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "auxInfo", "type": "string" }, { "internalType": "uint256", "name": "extraData", "type": "uint256" } ], "name": "getAuxillaryLeafFor", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "getMetadataProducer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPhaseOnePricePerNft", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPhaseTwoPricePerNft", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPublicMintPricePerNft", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" } ], "name": "getTokensPurchased_PhaseOne", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" } ], "name": "getTokensPurchased_PhaseTwo", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "extraData", "type": "uint256" } ], "name": "hasAuxData", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "isPhaseOneActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isPhaseTwoActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isPublicMintingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nftcContractDefinition", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "name": "nftcTokenTypeDefinition", "outputs": [ { "components": [ { "internalType": "uint64", "name": "flavorId", "type": "uint64" }, { "internalType": "uint64", "name": "maxSupply", "type": "uint64" }, { "internalType": "uint64", "name": "totalMinted", "type": "uint64" }, { "internalType": "uint64", "name": "totalSupply", "type": "uint64" }, { "internalType": "address", "name": "provider", "type": "address" }, { "internalType": "uint96", "name": "price", "type": "uint96" } ], "internalType": "struct FlavorInfo.FlavorInfoV4", "name": "emptyFlavor", "type": "tuple" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "nftcTokenTypeList", "outputs": [ { "internalType": "uint64[]", "name": "", "type": "uint64[]" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "operatorFilteringEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "uint256", "name": "index", "type": "uint256" } ], "name": "payee", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "phaseOneBatchSize", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" }, { "internalType": "string", "name": "auxInfo", "type": "string" }, { "internalType": "uint256", "name": "extraData", "type": "uint256" }, { "internalType": "uint256", "name": "count", "type": "uint256" }, { "internalType": "uint256", "name": "flavorId", "type": "uint256" }, { "internalType": "uint256", "name": "validationData", "type": "uint256" }, { "internalType": "address", "name": "provider", "type": "address" } ], "name": "phaseOneMintTokens", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" }, { "internalType": "string", "name": "auxInfo", "type": "string" }, { "internalType": "uint256", "name": "extraData", "type": "uint256" }, { "internalType": "uint256", "name": "count", "type": "uint256" }, { "internalType": "uint256", "name": "flavorId", "type": "uint256" }, { "internalType": "uint256", "name": "validationData", "type": "uint256" }, { "internalType": "address", "name": "provider", "type": "address" }, { "internalType": "address", "name": "destination", "type": "address" } ], "name": "phaseOneMintTokensTo", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "phaseOnePricePerNft", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "phaseTwoBatchSize", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" }, { "internalType": "string", "name": "auxInfo", "type": "string" }, { "internalType": "uint256", "name": "extraData", "type": "uint256" }, { "internalType": "uint256", "name": "count", "type": "uint256" }, { "internalType": "uint256", "name": "flavorId", "type": "uint256" }, { "internalType": "uint256", "name": "validationData", "type": "uint256" }, { "internalType": "address", "name": "provider", "type": "address" } ], "name": "phaseTwoMintTokens", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" }, { "internalType": "string", "name": "auxInfo", "type": "string" }, { "internalType": "uint256", "name": "extraData", "type": "uint256" }, { "internalType": "uint256", "name": "count", "type": "uint256" }, { "internalType": "uint256", "name": "flavorId", "type": "uint256" }, { "internalType": "uint256", "name": "validationData", "type": "uint256" }, { "internalType": "address", "name": "provider", "type": "address" }, { "internalType": "address", "name": "destination", "type": "address" } ], "name": "phaseTwoMintTokensTo", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "phaseTwoPricePerNft", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address[]", "name": "", "type": "address[]" } ], "name": "premintTokens", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "publicMintBatchSize", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "publicMintPricePerNft", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "publicMintTokens", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "publicMintTokensTo", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "extraData", "type": "uint256" } ], "name": "readFromAux", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "subscription", "type": "address" }, { "internalType": "bool", "name": "subscribe", "type": "bool" } ], "name": "registerForOperatorFiltering", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "releasable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "account", "type": "address" } ], "name": "release", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "releaseToSelf", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "released", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "bookNumber", "type": "uint256" }, { "internalType": "uint256", "name": "auxInfoAsInt", "type": "uint256" }, { "internalType": "address[]", "name": "destinations", "type": "address[]" } ], "name": "reserveTokens", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "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": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "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": "payable", "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": "__baseURI", "type": "string" } ], "name": "setArtURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "__contractUri", "type": "string" } ], "name": "setContractURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newReceiver", "type": "address" }, { "internalType": "uint96", "name": "newRoyalty", "type": "uint96" } ], "name": "setDefaultRoyalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "__phaseOneRoot", "type": "bytes32" }, { "internalType": "bytes32", "name": "__phaseTwoRoot", "type": "bytes32" } ], "name": "setMerkleRoots", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "__metadataProducer", "type": "address" } ], "name": "setMetadataProducer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "__phaseOnePricePerNft", "type": "uint256" }, { "internalType": "uint256", "name": "__phaseTwoPricePerNft", "type": "uint256" }, { "internalType": "uint256", "name": "__publicMintPricePerNft", "type": "uint256" } ], "name": "setMintingPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "__phaseOneActive", "type": "bool" }, { "internalType": "bool", "name": "__phaseTwoActive", "type": "bool" }, { "internalType": "bool", "name": "__publicMintingActive", "type": "bool" } ], "name": "setMintingState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setOperatorFilteringEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "shares", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "extraData", "type": "uint256" }, { "internalType": "string", "name": "auxInfo", "type": "string" }, { "internalType": "bool", "name": "force", "type": "bool" } ], "name": "storeToAux", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "supportedPhases", "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": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalMinted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalReleased", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalShares", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalTokensExist", "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": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "newOwner", "type": "address" } ], "name": "transferPayee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c0604052732f950a29cb4a784a187032e9df33de289f1b46d460a09081526200002e90600790600162000897565b506040805160208101909152606481526200004e90600890600162000901565b5060408051606081018252600080825260208201819052918101919091526200007c90601d90600362000901565b503480156200008a57600080fd5b5060405180602001604052806000815250601d805480602002602001604051908101604052809291908181526020018280548015620000e957602002820191906000526020600020905b815481526020019060010190808311620000d4575b505050505080600081518110620001045762000104620009ae565b602002602001015181600181518110620001225762000122620009ae565b602002602001015182600281518110620001405762000140620009ae565b602002602001015180600373b5a9f4d240187a60a311a3fad7cc72dea59a06f8876040518060400160405280600e81526020016d4f6e4e4654734f73696e6163686960901b815250604051806040016040528060068152602001654f4e4e46544f60d01b8152506007805480602002602001604051908101604052809291908181526020018280548015620001ff57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620001e0575b505050505060088054806020026020016040519081016040528092919081815260200182805480156200025257602002820191906000526020600020905b8154815260200190600101908083116200023d575b5050505050306102ee83838051825114620002b45760405162461bcd60e51b815260206004820181905260248201527f5061796d656e7453706c69747465723a206c656e677468206d69736d6174636860448201526064015b60405180910390fd5b6000825111620003075760405162461bcd60e51b815260206004820152601a60248201527f5061796d656e7453706c69747465723a206e6f207061796565730000000000006044820152606401620002ab565b60005b825181101562000373576200035e8382815181106200032d576200032d620009ae565b60200260200101518383815181106200034a576200034a620009ae565b60200260200101516200047060201b60201c565b806200036a81620009da565b9150506200030a565b5050506200038882826200063d60201b60201c565b5050505081600b90816200039d919062000a9b565b50600c620003ac828262000a9b565b5060016009555050604080516064808252610ca082019092529060208201610c808036833750508151620003e892601192506020019062000944565b50620003f4336200073e565b601362000402828262000a9b565b506200041090508162000790565b50608052601655506017919091556018556001601b5562000430620007bf565b50506012805460ff60a01b1916600160a01b1790556040805160808101909152604f8082526200046a9190620053196020830139620007e2565b62000b83565b6001600160a01b038216620004c85760405162461bcd60e51b815260206004820152601d60248201527f5061796d656e7453706c69747465723a207a65726f20616464726573730000006044820152606401620002ab565b600081116200051a5760405162461bcd60e51b815260206004820152601a60248201527f5061796d656e7453706c69747465723a206e6f207368617265730000000000006044820152606401620002ab565b6001600160a01b038216600090815260026020526040902054156200058c5760405162461bcd60e51b815260206004820152602160248201527f5061796d656e7453706c69747465723a207061796565206861732073686172656044820152607360f81b6064820152608401620002ab565b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319166001600160a01b038416908117909155600090815260026020526040812082905554620005f490829062000b67565b600055604080516001600160a01b0384168152602081018390527f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac910160405180910390a15050565b6127106001600160601b0382161115620006ad5760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401620002ab565b6001600160a01b038216620007055760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401620002ab565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600555565b601280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03811615620007bc57601480546001600160a01b0319166001600160a01b0383161790555b50565b620007e0733cc6cdda760b79bafa08df41ecfa224f810dceb660016200081d565b565b601c620007f0828262000a9b565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150565b6001600160a01b0390911690637d3e3dbe816200084d5782620008465750634420e4866200084d565b5063a0af29035b8060e01b60005230600452826024526004600060446000806daaeb6d7670e522a718067333cd4e5af16200088d578060005160e01c036200088d57600080fd5b5060006024525050565b828054828255906000526020600020908101928215620008ef579160200282015b82811115620008ef57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620008b8565b50620008fd92915062000997565b5090565b828054828255906000526020600020908101928215620008ef579160200282015b82811115620008ef578251829060ff1690559160200191906001019062000922565b828054828255906000526020600020908101928215620008ef579160200282015b82811115620008ef57825182546001600160a01b03191660609190911c17825560209092019160019091019062000965565b5b80821115620008fd576000815560010162000998565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620009ef57620009ef620009c4565b5060010190565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168062000a2157607f821691505b60208210810362000a4257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000a9657600081815260208120601f850160051c8101602086101562000a715750805b601f850160051c820191505b8181101562000a925782815560010162000a7d565b5050505b505050565b81516001600160401b0381111562000ab75762000ab7620009f6565b62000acf8162000ac8845462000a0c565b8462000a48565b602080601f83116001811462000b07576000841562000aee5750858301515b600019600386901b1c1916600185901b17855562000a92565b600085815260208120601f198616915b8281101562000b385788860151825594840194600190910190840162000b17565b508582101562000b575787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8082018082111562000b7d5762000b7d620009c4565b92915050565b60805161476c62000bad60003960008181610ff3015281816134080152613435015261476c6000f3fe6080604052600436106105985760003560e01c80637fd0e4c4116102e0578063b7438d6611610184578063db828e5d116100e1578063e8ad246f11610095578063fb796e6c1161006f578063fb796e6c14611080578063fd7f11ee146110a1578063fdb8e8a21461089557600080fd5b8063e8ad246f14610fe4578063e985e9c514611017578063f2fde38b1461106057600080fd5b8063e33b7de3116100c6578063e33b7de314610fa7578063e850216c14610fbc578063e8a3d48514610fcf57600080fd5b8063db828e5d14610f7d578063e228c6fe14610f9257600080fd5b8063c6625a9211610138578063ce7c2ac21161011d578063ce7c2ac214610f13578063ce99e37b14610f49578063d5abeb0114610f6957600080fd5b8063c6625a9214610ed3578063c87b56dd14610ef357600080fd5b8063b88d4fde11610169578063b88d4fde14610e8b578063be2100c514610e9e578063bfbfa96514610ebe57600080fd5b8063b7438d6614610e55578063b7c0b8e814610e6b57600080fd5b80639852595c1161023d578063a22cb465116101f1578063ab9f7e75116101cb578063ab9f7e7514610e00578063ac598c5714610e15578063b640073914610e3557600080fd5b8063a22cb46514610dab578063a2309ff814610dcb578063a3f8eace14610de057600080fd5b80639e04c452116102225780639e04c45214610d5f5780639e75dd2c14610d75578063a0e2406214610d9557600080fd5b80639852595c14610d095780639a48eb5114610d3f57600080fd5b8063938e3d7b1161029457806395d89b411161027957806395d89b4114610cbf5780639686323014610cd457806396a9685714610ce957600080fd5b8063938e3d7b14610c7f5780639550398a14610c9f57600080fd5b80638b83209b116102c55780638b83209b14610c335780638d7f675b14610c535780638da5cb5b14610c6157600080fd5b80637fd0e4c414610bf85780638534678714610c1e57600080fd5b806339388e4a1161044757806357bfc27f116103a4578063636af7e71161035857806370a082311161033257806370a0823114610bb0578063715018a614610bd0578063730ac12514610be557600080fd5b8063636af7e714610b665780636c0360eb14610b865780636ef39a2814610b9b57600080fd5b80635b18692b116103895780635b18692b146108955780635df20f3014610b265780636352211e14610b4657600080fd5b806357bfc27f14610af1578063585997e314610b1157600080fd5b806343b3763f116103fb5780634cdb6f8d116103e05780634cdb6f8d146109f85780634f82db1714610a185780635471172514610a2b57600080fd5b806343b3763f146109ca57806346d8efad146109d857600080fd5b806342842e0e1161042c57806342842e0e1461098257806342966c681461099557806343a2b576146109b557600080fd5b806339388e4a1461094d5780633a98ef391461096d57600080fd5b806316f6fb4b116104f557806323b872dd116104a95780632a55205a1161048e5780632a55205a146108e85780632e4210e214610927578063307ce0d61461093a57600080fd5b806323b872dd146108a957806324cd7c28146108bc57600080fd5b806318160ddd116104da57806318160ddd1461085857806319165587146108755780631df6051e1461089557600080fd5b806316f6fb4b1461074c578063171fa11a1461069257600080fd5b806307bc097d1161054c578063095ea7b311610531578063095ea7b3146106f95780631487217d1461070c578063163480091461072c57600080fd5b806307bc097d14610692578063081812fc146106c157600080fd5b806303754c7a1161057d57806303754c7a1461063b57806304634d8d1461065057806306fdde031461067057600080fd5b806301b1448d146105e657806301ffc9a71461061b57600080fd5b366105e1577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77033604080516001600160a01b0390921682523460208301520160405180910390a1005b600080fd5b3480156105f257600080fd5b50610606610601366004613aba565b6110c1565b60405190151581526020015b60405180910390f35b34801561062757600080fd5b50610606610636366004613ae9565b6110d2565b61064e610649366004613b4b565b6110fb565b005b34801561065c57600080fd5b5061064e61066b366004613bb3565b61112d565b34801561067c57600080fd5b50610685611143565b6040516106129190613c4d565b34801561069e57600080fd5b506106b36106ad366004613c60565b50600090565b604051908152602001610612565b3480156106cd57600080fd5b506106e16106dc366004613aba565b6111d5565b6040516001600160a01b039091168152602001610612565b61064e610707366004613c7d565b611232565b34801561071857600080fd5b506106b3610727366004613d76565b611281565b34801561073857600080fd5b5061064e610747366004613c60565b61128c565b34801561075857600080fd5b50604080517f7b0000000000000000000000000000000000000000000000000000000000000060208201527f226e636456657273696f6e223a312c000000000000000000000000000000000060218201527f22706861736573223a332c00000000000000000000000000000000000000000060308201527f2274797065223a22537461746963222c00000000000000000000000000000000603b8201527f226f70656e45646974696f6e223a66616c736500000000000000000000000000604b8201527f7d00000000000000000000000000000000000000000000000000000000000000605e8201528151808203603f018152605f909101909152610685565b34801561086457600080fd5b50600a5460095403600019016106b3565b34801561088157600080fd5b5061064e610890366004613c60565b61141f565b3480156108a157600080fd5b5060016106b3565b61064e6108b7366004613dab565b611433565b3480156108c857600080fd5b506106e16108d7366004613c7d565b50506014546001600160a01b031690565b3480156108f457600080fd5b50610908610903366004613dec565b61148b565b604080516001600160a01b039093168352602083019190915201610612565b61064e610935366004613e50565b611548565b61064e610948366004613ef9565b6115d1565b34801561095957600080fd5b5061064e610968366004613aba565b61165b565b34801561097957600080fd5b506000546106b3565b61064e610990366004613dab565b61166c565b3480156109a157600080fd5b5061064e6109b0366004613aba565b6116be565b3480156109c157600080fd5b506106066116c9565b61064e610649366004613fb6565b3480156109e457600080fd5b5061064e6109f3366004614007565b6116d8565b348015610a0457600080fd5b50610685610a13366004613aba565b6116ea565b61064e610a26366004613e50565b6116f5565b348015610a3757600080fd5b50610a7c610a46366004614052565b506040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b6040516106129190600060c08201905067ffffffffffffffff808451168352806020850151166020840152806040850151166040840152806060850151166060840152506001600160a01b0360808401511660808301526bffffffffffffffffffffffff60a08401511660a083015292915050565b348015610afd57600080fd5b50610685610b0c366004613aba565b61176e565b348015610b1d57600080fd5b506106b3611779565b348015610b3257600080fd5b50610685610b41366004613aba565b611795565b348015610b5257600080fd5b506106e1610b61366004613aba565b6117a0565b348015610b7257600080fd5b50610606610b8136600461406f565b6117ab565b348015610b9257600080fd5b50610685611807565b348015610ba757600080fd5b506016546106b3565b348015610bbc57600080fd5b506106b3610bcb366004613c60565b611895565b348015610bdc57600080fd5b5061064e6118fd565b61064e610bf3366004613b4b565b611911565b348015610c0457600080fd5b5060408051600081526020810191829052610612916140e3565b348015610c2a57600080fd5b506018546106b3565b348015610c3f57600080fd5b506106e1610c4e366004613aba565b6119f2565b61064e610649366004614131565b348015610c6d57600080fd5b506012546001600160a01b03166106e1565b348015610c8b57600080fd5b5061064e610c9a366004614187565b611a22565b348015610cab57600080fd5b506106b3610cba366004613d76565b611a69565b348015610ccb57600080fd5b50610685611a74565b348015610ce057600080fd5b50610606611a83565b348015610cf557600080fd5b506106b3610d04366004613c60565b611a8d565b348015610d1557600080fd5b506106b3610d24366004613c60565b6001600160a01b031660009081526003602052604090205490565b348015610d4b57600080fd5b5061064e610d5a366004613dec565b611a98565b348015610d6b57600080fd5b506106b360175481565b348015610d8157600080fd5b506106b3610d903660046141c9565b611aaa565b348015610da157600080fd5b506106b360165481565b348015610db757600080fd5b5061064e610dc6366004614007565b611af7565b348015610dd757600080fd5b506106b3611b41565b348015610dec57600080fd5b506106b3610dfb366004613c60565b611b50565b348015610e0c57600080fd5b50610685611b5b565b348015610e2157600080fd5b5061064e610e30366004614215565b611b65565b348015610e4157600080fd5b5061064e610e50366004614241565b611b7b565b348015610e6157600080fd5b506106b360185481565b348015610e7757600080fd5b5061064e610e86366004614298565b611b8e565b61064e610e993660046142b3565b611bcf565b348015610eaa57600080fd5b50610606610eb936600461406f565b611c22565b348015610eca57600080fd5b506017546106b3565b348015610edf57600080fd5b5061064e610eee366004613c60565b611c74565b348015610eff57600080fd5b50610685610f0e366004613aba565b611c85565b348015610f1f57600080fd5b506106b3610f2e366004613c60565b6001600160a01b031660009081526002602052604090205490565b348015610f5557600080fd5b5061064e610f64366004613d76565b611e51565b348015610f7557600080fd5b5060646106b3565b348015610f8957600080fd5b50610606611e65565b348015610f9e57600080fd5b5061064e611e6f565b348015610fb357600080fd5b506001546106b3565b61064e610fca366004613ef9565b611e78565b348015610fdb57600080fd5b50610685611eec565b348015610ff057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006106b3565b34801561102357600080fd5b50610606611032366004614333565b6001600160a01b03918216600090815260106020908152604080832093909416825291909152205460ff1690565b34801561106c57600080fd5b5061064e61107b366004613c60565b611efb565b34801561108c57600080fd5b5060125461060690600160a01b900460ff1681565b3480156110ad57600080fd5b5061064e6110bc366004614361565b611f88565b60006110cc82611fc0565b92915050565b60006110dd8261202e565b806110ec57506110ec826120ae565b806110cc57506110cc826120fc565b6040517fcb45d4ca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61113561213a565b61113f8282612142565b5050565b6060600b80546111529061439b565b80601f016020809104026020016040519081016040528092919081815260200182805461117e9061439b565b80156111cb5780601f106111a0576101008083540402835291602001916111cb565b820191906000526020600020905b8154815290600101906020018083116111ae57829003601f168201915b5050505050905090565b60006111e08261225c565b611216576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000908152600f60205260409020546001600160a01b031690565b81731e0049783f008a0085193e00003d00cd54003c716001600160a01b0382161461127257601254600160a01b900460ff16156112725761127281612291565b61127c83836122d5565b505050565b60006110cc8261238e565b6001600160a01b0381166112e75760405162461bcd60e51b815260206004820152601d60248201527f5061796d656e7453706c69747465723a207a65726f206164647265737300000060448201526064015b60405180910390fd5b336000908152600260205260409020546113435760405162461bcd60e51b815260206004820181905260248201527f5061796d656e7453706c69747465723a206e6f206f776e65642073686172657360448201526064016112de565b6001600160a01b038116600090815260026020526040902054156113cf5760405162461bcd60e51b815260206004820152602160248201527f5061796d656e7453706c69747465723a2070617965652068617320736861726560448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016112de565b6113d8816123c6565b7f6829b4029cd073199f80f49556d32953c9bc4e14d395388e678d2cc4604d481933604080516001600160a01b03928316815291841660208301520160405180910390a150565b61142761213a565b61143081612492565b50565b826001600160a01b038116331461147a57731e0049783f008a0085193e00003d00cd54003c71331461147a57601254600160a01b900460ff161561147a5761147a33612291565b6114858484846125d9565b50505050565b60008281526006602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046bffffffffffffffffffffffff1692820192909252829161150a5750604080518082019091526005546001600160a01b0381168252600160a01b90046bffffffffffffffffffffffff1660208201525b60208101516000906127109061152e906bffffffffffffffffffffffff16876143eb565b6115389190614402565b91519350909150505b9250929050565b6115506127d3565b60155461155e90600161282c565b6115aa5760405162461bcd60e51b815260206004820152601160248201527f5068617365206f6e652073746f7070656400000000000000000000000000000060448201526064016112de565b6115bc8989898989898989893361284d565b6115c66001601b55565b505050505050505050565b6115d96127d3565b6015546115e790600161282c565b6116335760405162461bcd60e51b815260206004820152601160248201527f5068617365206f6e652073746f7070656400000000000000000000000000000060448201526064016112de565b6116458a8a8a8a8a8a8a8a8a8a61284d565b61164f6001601b55565b50505050505050505050565b61166361213a565b611430816129d9565b826001600160a01b03811633146116b357731e0049783f008a0085193e00003d00cd54003c7133146116b357601254600160a01b900460ff16156116b3576116b333612291565b611485848484612a40565b611430816001612a5b565b60006116d3612be3565b905090565b6116e061213a565b61113f8282612bf4565b60606110cc82612c69565b6116fd6127d3565b60155461170b90600261282c565b6117575760405162461bcd60e51b815260206004820152601160248201527f50686173652074776f2073746f7070656400000000000000000000000000000060448201526064016112de565b6115bc89898989898989898933612d1d565b919050565b60606110cc82612ea3565b6000611784600a5490565b600954600019016116d39190614424565b60606110cc82612eda565b60006110cc82612f05565b60006117fd86866117f387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250899250612f8d915050565b601a929190612fc0565b9695505050505050565b601380546118149061439b565b80601f01602080910402602001604051908101604052809291908181526020018280546118409061439b565b801561188d5780601f106118625761010080835404028352916020019161188d565b820191906000526020600020905b81548152906001019060200180831161187057829003601f168201915b505050505081565b60006001600160a01b0382166118d7576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001600160a01b03166000908152600e602052604090205467ffffffffffffffff1690565b611905612fda565b61190f6000613034565b565b61191961213a565b60018082111561193c5760405163719b10a160e01b815260040160405180910390fd5b606461194882846143eb565b600954600019016119599190614437565b11156119785760405163062aef3160e41b815260040160405180910390fd5b83156119b95761198785611fc0565b156119a557604051637780002d60e01b815260040160405180910390fd5b6119b9856119b286612ea3565b6000613086565b6119eb838360008181106119cf576119cf61444a565b90506020020160208101906119e49190613c60565b828761318d565b5050505050565b600060048281548110611a0757611a0761444a565b6000918252602090912001546001600160a01b031692915050565b611a2a61213a565b61113f82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131ae92505050565b60006110cc826131e7565b6060600c80546111529061439b565b60006116d361321f565b60006110cc82611895565b611aa061213a565b61113f8282613230565b6000611aed84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869250612f8d915050565b90505b9392505050565b81731e0049783f008a0085193e00003d00cd54003c716001600160a01b03821614611b3757601254600160a01b900460ff1615611b3757611b3781612291565b61127c838361324e565b60006116d36009546000190190565b60006110cc826132ba565b60606116d36132fb565b611b6d61213a565b601792909255601855601655565b611b8361213a565b61127c838383613086565b611b9661213a565b60128054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b836001600160a01b0381163314611c1657731e0049783f008a0085193e00003d00cd54003c713314611c1657601254600160a01b900460ff1615611c1657611c1633612291565b6119eb8585858561330a565b60006117fd8686611c6a87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250899250612f8d915050565b6019929190612fc0565b611c7c61213a565b6114308161334e565b6060611c908261225c565b611cdc5760405162461bcd60e51b815260206004820152600860248201527f4e6f20746f6b656e00000000000000000000000000000000000000000000000060448201526064016112de565b6000611ce78361337d565b6060015162ffffff1690506000611d066014546001600160a01b031690565b6040517f0e63540a000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b039190911690630e63540a90604401602060405180830381865afa158015611d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d909190614460565b9050611da46014546001600160a01b031690565b6040517ff0f52cea00000000000000000000000000000000000000000000000000000000815230600482015267ffffffffffffffff8316602482015260448101849052600060648201526001600160a01b03919091169063f0f52cea90608401600060405180830381865afa158015611e21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e49919081019061447d565b949350505050565b611e5961213a565b601361113f8282614531565b60006116d36133fc565b61190f33612492565b611e806127d3565b601554611e8e90600261282c565b611eda5760405162461bcd60e51b815260206004820152601160248201527f50686173652074776f2073746f7070656400000000000000000000000000000060448201526064016112de565b6116458a8a8a8a8a8a8a8a8a8a612d1d565b6060601c80546111529061439b565b611f03612fda565b6001600160a01b038116611f7f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016112de565b61143081613034565b611f9061213a565b6000611f9b8261342c565b9050611fa981600186613456565b9050611fb781600285613456565b60155550505050565b6000811580611fcf5750606482115b15611fdc57506000919050565b60006011611feb600185614424565b81548110611ffb57611ffb61444a565b60009182526020909120015460601b6bffffffffffffffffffffffff19160361202657506000919050565b506001919050565b60006301ffc9a760e01b6001600160e01b03198316148061207857507f80ac58cd000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b806110cc5750506001600160e01b0319167f5b5e139f000000000000000000000000000000000000000000000000000000001490565b60006001600160e01b031982167f2a55205a0000000000000000000000000000000000000000000000000000000014806110cc57506301ffc9a760e01b6001600160e01b03198316146110cc565b60006001600160e01b031982167fe8a3d4850000000000000000000000000000000000000000000000000000000014806110cc57506110cc8261202e565b61190f61347f565b6127106bffffffffffffffffffffffff821611156121c85760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c2065786365656460448201527f2073616c6550726963650000000000000000000000000000000000000000000060648201526084016112de565b6001600160a01b03821661221e5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c69642072656365697665720000000000000060448201526064016112de565b604080518082019091526001600160a01b039092168083526bffffffffffffffffffffffff9091166020909201829052600160a01b90910217600555565b600081600111158015612270575060095482105b80156110cc5750506000908152600d6020526040902054600160e01b161590565b69c617113400112233445560005230601a5280603a52600080604460166daaeb6d7670e522a718067333cd4e5afa6122cd573d6000803e3d6000fd5b6000603a5250565b60006122e0826117a0565b9050336001600160a01b03821614612332576122fc8133611032565b612332576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600f602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b600081516010146123b45781604051633f1835e560e21b81526004016112de9190613c4d565b6123bd826145f1565b60801c92915050565b6004546000036123d35750565b60005b6004546123e590600190614424565b81101561113f57336001600160a01b0316600482815481106124095761240961444a565b6000918252602090912001546001600160a01b0316036124805781600482815481106124375761243761444a565b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905533808352600290915260408083208054948716845290832093909355815290555b8061248a81614632565b9150506123d6565b6001600160a01b0381166000908152600260205260409020546124f75760405162461bcd60e51b815260206004820152601a60248201527f5061796d656e7453706c69747465723a206e6f2073686172657300000000000060448201526064016112de565b6000612502826132ba565b9050806000036125545760405162461bcd60e51b815260206004820181905260248201527f5061796d656e7453706c69747465723a206e6f7420647565207061796d656e7460448201526064016112de565b80600160008282546125669190614437565b90915550506001600160a01b038216600090815260036020526040902080548201905561259382826134c3565b604080516001600160a01b0384168152602081018390527fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056910160405180910390a15050565b60006125e482612f05565b9050836001600160a01b0316816001600160a01b031614612631576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600f60205260409020805461265d8187335b6001600160a01b039081169116811491141790565b6126885761266b8633611032565b61268857604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b0385166126c8576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80156126d357600082555b6001600160a01b038681166000908152600e60205260408082208054600019019055918716808252919020805460010190554260a01b7fffffff000000000000000000000000000000000000000000000000000000000085161717600160e11b176000858152600d6020526040812091909155600160e11b8416900361278957600184016000818152600d60205260408120549003612787576009548114612787576000818152600d602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b6002601b54036128255760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016112de565b6002601b55565b6000600183831c8116908114612843576000611e49565b6001949350505050565b84158061285a5750600185115b156128785760405163719b10a160e01b815260040160405180910390fd5b8460175461288691906143eb565b34146128a55760405163078d696560e31b815260040160405180910390fd5b6064856128b56009546000190190565b6128bf9190614437565b11156128de5760405163062aef3160e41b815260040160405180910390fd5b6128e786611fc0565b1561290557604051637780002d60e01b815260040160405180910390fd5b6129458689898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250613086915050565b821561299157600061295684612eda565b898960405160200161296a9392919061464b565b604051602081830303815290604052905061298b338c8c848b8b8d896135dc565b5061164f565b61164f338b8b8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92508c9150829050886135dc565b8015806129e65750606481115b15612a07576040516303d02bc560e11b8152600481018290526024016112de565b6011612a14600183614424565b81548110612a2457612a2461444a565b600091825260209091200180546001600160a01b031916905550565b61127c83838360405180602001604052806000815250611bcf565b6000612a6683612f05565b905080600080612a84866000908152600f6020526040902080549091565b915091508415612ac457612a99818433612648565b612ac457612aa78333611032565b612ac457604051632ce44b5f60e11b815260040160405180910390fd5b8015612acf57600082555b6001600160a01b0383166000818152600e6020526040902080546fffffffffffffffffffffffffffffffff0190554260a01b7fffffff0000000000000000000000000000000000000000000000000000000000861617177c0300000000000000000000000000000000000000000000000000000000176000878152600d6020526040812091909155600160e11b85169003612b9a57600186016000818152600d60205260408120549003612b98576009548114612b98576000818152600d602052604090208590555b505b60405186906000906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050600a8054600101905550505050565b6015546000906116d390600161282c565b6001600160a01b0390911690637d3e3dbe81612c215782612c1a5750634420e486612c21565b5063a0af29035b8060e01b60005230600452826024526004600060446000806daaeb6d7670e522a718067333cd4e5af1612c5f578060005160e01c03612c5f57600080fd5b5060006024525050565b6060811580612c785750606482115b15612c9157505060408051602081019091526000815290565b60006011612ca0600185614424565b81548110612cb057612cb061444a565b60009182526020909120015460601b90506bffffffffffffffffffffffff198116612ceb575050604080516020810190915260008152919050565b6040516bffffffffffffffffffffffff1982166020820152603401604051602081830303815290604052915050919050565b841580612d2a5750600185115b15612d485760405163719b10a160e01b815260040160405180910390fd5b84601854612d5691906143eb565b3414612d755760405163078d696560e31b815260040160405180910390fd5b606485612d856009546000190190565b612d8f9190614437565b1115612dae5760405163062aef3160e41b815260040160405180910390fd5b612db786611fc0565b15612dd557604051637780002d60e01b815260040160405180910390fd5b612e158689898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250613086915050565b8215612e5b576000612e2684612eda565b8989604051602001612e3a9392919061464b565b604051602081830303815290604052905061298b338c8c848b8b8d89613636565b61164f338b8b8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92508c915082905088613636565b604051606082811b6bffffffffffffffffffffffff19166020830152906034015b6040516020818303038152906040529050919050565b6040516fffffffffffffffffffffffffffffffff19608083901b166020820152606090603001612ec4565b60008180600111612f5b57600954811015612f5b576000818152600d602052604081205490600160e01b82169003612f59575b80600003611af05750600019016000818152600d6020526040902054612f38565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008282604051602001612fa2929190614682565b60405160208183030381529060405280519060200120905092915050565b8354600090612fd19085858561367b565b95945050505050565b6012546001600160a01b0316331461190f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016112de565b601280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8215806130935750606483115b156130b4576040516303d02bc560e11b8152600481018490526024016112de565b81516014146130f157816040517fd1e5b9b40000000000000000000000000000000000000000000000000000000081526004016112de9190613c4d565b80158015613103575061310383611fc0565b1561313a576040517f7bd8604a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613143826146af565b6011613150600186614424565b815481106131605761316061444a565b9060005260206000200160006101000a8154816001600160a01b03021916908360601c0217905550505050565b600061319860095490565b90506131a484846136bf565b61148581836136d9565b601c6131ba8282614531565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150565b6000815160141461320d5781604051633f1835e560e21b81526004016112de9190613c4d565b613216826146af565b60601c92915050565b6015546000906116d390600261282c565b811561323f5761323f8261375d565b801561113f5761113f81613767565b3360008181526010602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000806132c660015490565b6132d09047614437565b9050611af083826132f6866001600160a01b031660009081526003602052604090205490565b613771565b6060601380546111529061439b565b613315848484611433565b6001600160a01b0383163b1561148557613331848484846137ac565b611485576040516368d2bf6b60e11b815260040160405180910390fd5b6001600160a01b0381161561143057601480546001600160a01b0383166001600160a01b031990911617905550565b6040805160808101825260008082526020820181905291810182905260608101919091526000828152600d60205260409020546110cc90604080516080810182526001600160a01b038316815260a083901c67ffffffffffffffff166020820152600160e01b831615159181019190915260e89190911c606082015290565b6015546000906116d3907f000000000000000000000000000000000000000000000000000000000000000061282c565b600080611af0817f0000000000000000000000000000000000000000000000000000000000000000855b6000811561346e57506001821b929092179182611af0565b506001821b19929092169182611af0565b6012546001600160a01b0316331461190f576040517f6db2465f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b804710156135135760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016112de565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613560576040519150601f19603f3d011682016040523d82523d6000602084013e613565565b606091505b505090508061127c5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016112de565b6135eb8787611c6a8888612f8d565b613621576040517fc32e777e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61362c81848461318d565b5050505050505050565b61364587876117f38888612f8d565b613621576040517f6538062700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612fd185838686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509294939250506138949050565b61113f8282604051806020016040528060008152506138aa565b6000828152600d602052604081205490819003613721576040517ed5815300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000928352600d60205260409092207cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9290921660e89190911b179055565b6114306019829055565b611430601a829055565b600080546001600160a01b03851682526002602052604082205483919061379890866143eb565b6137a29190614402565b611aed9190614424565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906137e19033908990889088906004016146e7565b6020604051808303816000875af192505050801561381c575060408051601f3d908101601f1916820190925261381991810190614719565b60015b61387a573d80801561384a576040519150601f19603f3d011682016040523d82523d6000602084013e61384f565b606091505b508051600003613872576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611e49565b6000826138a18584613910565b14949350505050565b6138b4838361395d565b6001600160a01b0383163b1561127c576009548281035b6138de60008683806001019450866137ac565b6138fb576040516368d2bf6b60e11b815260040160405180910390fd5b8181106138cb5781600954146119eb57600080fd5b600081815b845181101561395557613941828683815181106139345761393461444a565b6020026020010151613a8e565b91508061394d81614632565b915050613915565b509392505050565b600954600082900361399b576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0383166000818152600e602090815260408083208054680100000000000000018802019055848352600d90915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114613a4a57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101613a12565b5081600003613a85576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60095550505050565b6000818310613aaa576000828152602084905260409020611af0565b5060009182526020526040902090565b600060208284031215613acc57600080fd5b5035919050565b6001600160e01b03198116811461143057600080fd5b600060208284031215613afb57600080fd5b8135611af081613ad3565b60008083601f840112613b1857600080fd5b50813567ffffffffffffffff811115613b3057600080fd5b6020830191508360208260051b850101111561154157600080fd5b60008060008060608587031215613b6157600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613b8657600080fd5b613b9287828801613b06565b95989497509550505050565b6001600160a01b038116811461143057600080fd5b60008060408385031215613bc657600080fd5b8235613bd181613b9e565b915060208301356bffffffffffffffffffffffff81168114613bf257600080fd5b809150509250929050565b60005b83811015613c18578181015183820152602001613c00565b50506000910152565b60008151808452613c39816020860160208601613bfd565b601f01601f19169290920160200192915050565b602081526000611af06020830184613c21565b600060208284031215613c7257600080fd5b8135611af081613b9e565b60008060408385031215613c9057600080fd5b8235613c9b81613b9e565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613ce857613ce8613ca9565b604052919050565b600067ffffffffffffffff821115613d0a57613d0a613ca9565b50601f01601f191660200190565b6000613d2b613d2684613cf0565b613cbf565b9050828152838383011115613d3f57600080fd5b828260208301376000602084830101529392505050565b600082601f830112613d6757600080fd5b611af083833560208501613d18565b600060208284031215613d8857600080fd5b813567ffffffffffffffff811115613d9f57600080fd5b611e4984828501613d56565b600080600060608486031215613dc057600080fd5b8335613dcb81613b9e565b92506020840135613ddb81613b9e565b929592945050506040919091013590565b60008060408385031215613dff57600080fd5b50508035926020909101359150565b60008083601f840112613e2057600080fd5b50813567ffffffffffffffff811115613e3857600080fd5b60208301915083602082850101111561154157600080fd5b600080600080600080600080600060e08a8c031215613e6e57600080fd5b893567ffffffffffffffff80821115613e8657600080fd5b613e928d838e01613b06565b909b50995060208c0135915080821115613eab57600080fd5b50613eb88c828d01613e0e565b90985096505060408a0135945060608a0135935060808a0135925060a08a0135915060c08a0135613ee881613b9e565b809150509295985092959850929598565b6000806000806000806000806000806101008b8d031215613f1957600080fd5b8a3567ffffffffffffffff80821115613f3157600080fd5b613f3d8e838f01613b06565b909c509a5060208d0135915080821115613f5657600080fd5b50613f638d828e01613e0e565b90995097505060408b0135955060608b0135945060808b0135935060a08b0135925060c08b0135613f9381613b9e565b915060e08b0135613fa381613b9e565b809150509295989b9194979a5092959850565b60008060008060808587031215613fcc57600080fd5b8435935060208501359250604085013591506060850135613fec81613b9e565b939692955090935050565b8035801515811461176957600080fd5b6000806040838503121561401a57600080fd5b823561402581613b9e565b915061403360208401613ff7565b90509250929050565b67ffffffffffffffff8116811461143057600080fd5b60006020828403121561406457600080fd5b8135611af08161403c565b60008060008060006060868803121561408757600080fd5b853567ffffffffffffffff8082111561409f57600080fd5b6140ab89838a01613b06565b909750955060208801359150808211156140c457600080fd5b506140d188828901613e0e565b96999598509660400135949350505050565b6020808252825182820181905260009190848201906040850190845b8181101561412557835167ffffffffffffffff16835292840192918401916001016140ff565b50909695505050505050565b600080600080600060a0868803121561414957600080fd5b853594506020860135935060408601359250606086013561416981613b9e565b9150608086013561417981613b9e565b809150509295509295909350565b6000806020838503121561419a57600080fd5b823567ffffffffffffffff8111156141b157600080fd5b6141bd85828601613e0e565b90969095509350505050565b6000806000604084860312156141de57600080fd5b833567ffffffffffffffff8111156141f557600080fd5b61420186828701613e0e565b909790965060209590950135949350505050565b60008060006060848603121561422a57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561425657600080fd5b83359250602084013567ffffffffffffffff81111561427457600080fd5b61428086828701613d56565b92505061428f60408501613ff7565b90509250925092565b6000602082840312156142aa57600080fd5b611af082613ff7565b600080600080608085870312156142c957600080fd5b84356142d481613b9e565b935060208501356142e481613b9e565b925060408501359150606085013567ffffffffffffffff81111561430757600080fd5b8501601f8101871361431857600080fd5b61432787823560208401613d18565b91505092959194509250565b6000806040838503121561434657600080fd5b823561435181613b9e565b91506020830135613bf281613b9e565b60008060006060848603121561437657600080fd5b61437f84613ff7565b925061438d60208501613ff7565b915061428f60408501613ff7565b600181811c908216806143af57607f821691505b6020821081036143cf57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176110cc576110cc6143d5565b60008261441f57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156110cc576110cc6143d5565b808201808211156110cc576110cc6143d5565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561447257600080fd5b8151611af08161403c565b60006020828403121561448f57600080fd5b815167ffffffffffffffff8111156144a657600080fd5b8201601f810184136144b757600080fd5b80516144c5613d2682613cf0565b8181528560208385010111156144da57600080fd5b612fd1826020830160208601613bfd565b601f82111561127c57600081815260208120601f850160051c810160208610156145125750805b601f850160051c820191505b818110156127cb5782815560010161451e565b815167ffffffffffffffff81111561454b5761454b613ca9565b61455f81614559845461439b565b846144eb565b602080601f831160018114614594576000841561457c5750858301515b600019600386901b1c1916600185901b1785556127cb565b600085815260208120601f198616915b828110156145c3578886015182559484019460019091019084016145a4565b50858210156145e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000815160208301516fffffffffffffffffffffffffffffffff198082169350601083101561462a5780818460100360031b1b83161693505b505050919050565b600060018201614644576146446143d5565b5060010190565b6000845161465d818460208901613bfd565b605f60f81b908301908152838560018301376000930160010192835250909392505050565b60008351614694818460208801613bfd565b605f60f81b9201918252506001810191909152602101919050565b805160208201516bffffffffffffffffffffffff19808216929190601483101561462a5760149290920360031b82901b161692915050565b60006001600160a01b038087168352808616602084015250836040830152608060608301526117fd6080830184613c21565b60006020828403121561472b57600080fd5b8151611af081613ad356fea26469706673582212209d682073c8a21c3c7bbc513634d946408778f2600f5e67529721316a4378877d64736f6c6343000813003368747470733a2f2f617277656176652e6e65742f644b4644636b4d5849794a306f73334b5a594c6832556e6739644a6435446f544d452d52653051374c41552f6f6e6e6674732d6165342e6a736f6e