Loading
[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [], "name": "NotInitializing", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "ApprovalByPartition", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "AuthorizedOperator", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "AuthorizedOperatorByPartition", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newAdminOperator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "status", "type": "bool" } ], "name": "CCIPBaseAdminOperatorUpdated_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "burner", "type": "address" } ], "name": "CCIP_BurnAccessGranted_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "burner", "type": "address" } ], "name": "CCIP_BurnAccessRevoked_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "issuer", "type": "address" } ], "name": "CCIP_Burnt_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "CCIP_Issued_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "minter", "type": "address" } ], "name": "CCIP_MintAccessGranted_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "minter", "type": "address" } ], "name": "CCIP_MintAccessRevoked_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "fromPartition", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "toPartition", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "ChangedPartition", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "name", "type": "bytes32" }, { "indexed": false, "internalType": "string", "name": "uri", "type": "string" }, { "indexed": false, "internalType": "bytes32", "name": "documentHash", "type": "bytes32" } ], "name": "DocumentRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "name", "type": "bytes32" }, { "indexed": false, "internalType": "string", "name": "uri", "type": "string" }, { "indexed": false, "internalType": "bytes32", "name": "documentHash", "type": "bytes32" } ], "name": "DocumentUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "version", "type": "uint64" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "Issued", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, "internalType": "bytes", "name": "operatorData", "type": "bytes" } ], "name": "IssuedByPartition", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "MinterAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "MinterRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "Redeemed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "operatorData", "type": "bytes" } ], "name": "RedeemedByPartition", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "RevokedOperator", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "RevokedOperatorByPartition", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "fromPartition", "type": "bytes32" }, { "indexed": false, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, "internalType": "bytes", "name": "operatorData", "type": "bytes" } ], "name": "TransferByPartition", "type": "event" }, { "anonymous": false, "inputs": [], "name": "YL_AddedToBlacklist_Equity", "type": "event" }, { "anonymous": false, "inputs": [], "name": "YL_AddedToWhitelist_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "issuer", "type": "address" } ], "name": "YL_Burnt_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bool", "name": "whiteListingEnable", "type": "bool" }, { "indexed": true, "internalType": "bool", "name": "blackListingEnable", "type": "bool" } ], "name": "YL_ChangedListingMode_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "contractAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "count", "type": "uint256" } ], "name": "YL_ContractAddressesSet_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "contractAddress", "type": "address" }, { "indexed": false, "internalType": "string", "name": "version", "type": "string" } ], "name": "YL_ERC1400AssetContract_Equity", "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": "value", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "context", "type": "string" } ], "name": "YL_ForceTransfer_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bool", "name": "freezeStatus", "type": "bool" } ], "name": "YL_Freezed_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "YL_Issued_Equity", "type": "event" }, { "anonymous": false, "inputs": [], "name": "YL_RemovedFromBlacklist_Equity", "type": "event" }, { "anonymous": false, "inputs": [], "name": "YL_RemovedFromWhitelist_Equity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bool", "name": "lockStatus", "type": "bool" } ], "name": "YL_SetLockupStatus_Equity", "type": "event" }, { "anonymous": false, "inputs": [], "name": "YL_SetLockup_Equity", "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": "value", "type": "uint256" } ], "name": "YL_Transfer_Equity", "type": "event" }, { "inputs": [], "name": "_lockStatus", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "addMinter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "userAddresses", "type": "address[]" }, { "internalType": "bool", "name": "blackListStateChange", "type": "bool" } ], "name": "addToBlackList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "userAddresses", "type": "address[]" }, { "internalType": "bool", "name": "whiteListStateChange", "type": "bool" } ], "name": "addToWhiteList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowanceByPartition", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approveByPartition", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "authorizeOperator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "authorizeOperatorByPartition", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "balanceOfByPartition", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "issuer", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burnTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "interfaceHash", "type": "bytes32" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "canImplementInterfaceForAddress", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "whiteListingEnable", "type": "bool" }, { "internalType": "bool", "name": "blackListingEnable", "type": "bool" } ], "name": "changeListingMode", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "checkAdminOperator", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "a", "type": "string" }, { "internalType": "string", "name": "b", "type": "string" } ], "name": "compareStrings", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "name": "contractAddresses", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "controllers", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" } ], "name": "controllersByPartition", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "domainName", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "domainSeparator", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "domainVersion", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "freeze", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "freezeStatus", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "generateDomainSeparator", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId_", "type": "uint256" } ], "name": "getAddressFromTokenId", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getAllDocuments", "outputs": [ { "internalType": "bytes32[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getBurners", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "documentName", "type": "bytes32" } ], "name": "getDocument", "outputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMinters", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getName", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId_", "type": "uint256" } ], "name": "getSupplyFromTokenId", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getVersion", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "burner", "type": "address" } ], "name": "grantBurnRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "burnAndMinter", "type": "address" } ], "name": "grantMintAndBurnRoles", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "minter", "type": "address" } ], "name": "grantMintRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "granularity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "tokenName", "type": "string" }, { "internalType": "string", "name": "tokenSymbol", "type": "string" }, { "internalType": "uint256", "name": "tokenGranularity", "type": "uint256" }, { "internalType": "address[]", "name": "admins", "type": "address[]" }, { "internalType": "uint256", "name": "numberOfTokens", "type": "uint256" }, { "internalType": "bool", "name": "whiteListingEnable", "type": "bool" }, { "internalType": "bool", "name": "blackListingEnable", "type": "bool" }, { "internalType": "bool", "name": "lockStatus", "type": "bool" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "userAddress", "type": "address" } ], "name": "isBlackListed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "burner", "type": "address" } ], "name": "isCCIPBurner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "minter", "type": "address" } ], "name": "isCCIPMinter", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isControllable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isIssuable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isMinter", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "isOperator", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "isOperatorForPartition", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "userAddress", "type": "address" } ], "name": "isWhiteListed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenHolder", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "issue", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "internalType": "address", "name": "tokenHolder", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "issueByPartition", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "lockStatus", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newContractAddress", "type": "address" }, { "internalType": "bool", "name": "definitive", "type": "bool" } ], "name": "migrate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "internalType": "address", "name": "tokenHolder", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "operatorData", "type": "bytes" } ], "name": "operatorRedeemByPartition", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "bytes", "name": "operatorData", "type": "bytes" }, { "internalType": "string", "name": "context", "type": "string" } ], "name": "operatorTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "bytes", "name": "operatorData", "type": "bytes" } ], "name": "operatorTransferByPartition", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "partitionsOf", "outputs": [ { "internalType": "bytes32[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "redeem", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "redeemByPartition", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "redeemFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "documentName", "type": "bytes32" } ], "name": "removeDocument", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "userAddresses", "type": "address[]" }, { "internalType": "bool", "name": "blackListStateChange", "type": "bool" } ], "name": "removeFromBlackList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "userAddresses", "type": "address[]" }, { "internalType": "bool", "name": "whiteListStateChange", "type": "bool" } ], "name": "removeFromWhiteList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "removeMinter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceControl", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceIssuance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceMinter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "burner", "type": "address" } ], "name": "revokeBurnRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "minter", "type": "address" } ], "name": "revokeMintRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "revokeOperator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "revokeOperatorByPartition", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOperator", "type": "address" }, { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setCCIPBaseAdminOperator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "operators", "type": "address[]" } ], "name": "setControllers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "documentName", "type": "bytes32" }, { "internalType": "string", "name": "uri", "type": "string" }, { "internalType": "bytes32", "name": "documentHash", "type": "bytes32" } ], "name": "setDocument", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "userAddress", "type": "address[]" }, { "internalType": "uint96[]", "name": "values", "type": "uint96[]" }, { "internalType": "bool", "name": "isStateChange", "type": "bool" } ], "name": "setLockup", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "internalType": "address[]", "name": "operators", "type": "address[]" } ], "name": "setPartitionControllers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "extension", "type": "address" }, { "internalType": "string", "name": "interfaceLabel", "type": "string" }, { "internalType": "bool", "name": "removeOldExtensionRoles", "type": "bool" }, { "internalType": "bool", "name": "addMinterRoleForExtension", "type": "bool" }, { "internalType": "bool", "name": "addControllerRoleForExtension", "type": "bool" } ], "name": "setTokenExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "state", "type": "bool" } ], "name": "setlockupStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "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": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "transferByPartition", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "transferFromWithData", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "transferWithData", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040525f60075534801562000014575f80fd5b5033806200003c57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6200004781620000c8565b50620000533362000117565b6200005d6200015a565b50620000686200017e565b604080513081526020810182905260118183015270455243313430305f4571756974795f563160781b606082015290517fdf801e5bc3905a7494c042430ec616a8ccf2c37fc5a25916a18e600eb52415719181900360800190a1620004ac565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6200012460028262000232565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6905f90a250565b5f468162000167620002b1565b5f9283526003602052604090922082905550919050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620001cf5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146200022f5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6200023e828262000357565b156200028d5760405162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015260640162000033565b6001600160a01b03165f90815260209190915260409020805460ff19166001179055565b5f46817f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620002df620003da565b8051602090910120620003066040805180820190915260018152603160f81b602082015290565b80516020918201206040805192830194909452928101919091526060810191909152608081018390523060a082015260c00160408051601f1981840301815291905280516020909101209392505050565b5f6001600160a01b038216620003bb5760405162461bcd60e51b815260206004820152602260248201527f526f6c65733a206163636f756e7420697320746865207a65726f206164647265604482015261737360f01b606482015260840162000033565b506001600160a01b03165f908152602091909152604090205460ff1690565b606060048054620003eb9062000472565b80601f0160208091040260200160405190810160405280929190818152602001828054620004199062000472565b8015620004685780601f106200043e5761010080835404028352916020019162000468565b820191905f5260205f20905b8154815290600101906020018083116200044a57829003601f168201915b5050505050905090565b600181811c908216806200048757607f821691505b602082108103620004a657634e487b7160e01b5f52602260045260245ffd5b50919050565b613c4080620004ba5f395ff3fe608060405234801561000f575f80fd5b50600436106104f3575f3560e01c8063895d73861161028f578063b6363cf211610161578063dd62ed3e116100d5578063f2fde38b1161008f578063f2fde38b14610bc9578063f3d490db14610bdc578063f698da2514610bf4578063f76024f914610bfc578063f81094f314610c0f578063fad8b32a14610c22575f80fd5b8063dd62ed3e14610b16578063e47d606014610b4e578063e77c646d14610b61578063ea74838a14610b74578063ee532f3114610b82578063ee67cc2a14610b95575f80fd5b8063c350184811610126578063c350184814610ab7578063c5a1e97014610aca578063c630948d14610add578063c64d0ebc14610af0578063ca281fd914610804578063dc0eea8d14610b03575f80fd5b8063b6363cf214610a58578063bb3acde914610a6b578063bd33810a14610a7e578063bed34bba14610a91578063c2e3273d14610aa4575f80fd5b80639865027511610203578063a6f4f105116101bd578063a6f4f105146109dd578063a8082cb0146109f0578063a9059cbb146109f8578063aa271e1a14610a0b578063b10d6b4114610a1e578063b5bf15e514610a45575f80fd5b8063986502751461099557806398ddcec7146107da5780639d2f9da11461099d5780639fa5f50b146109b0578063a02619e4146109b7578063a262f953146109ca575f80fd5b80639138ed92116102545780639138ed9214610933578063933964c714610946578063959b8c3f1461095957806395d89b411461096c5780639675193c14610974578063983b2d5614610982575f80fd5b8063895d73861461050c5780638c0dee9c146108cd5780638da5cb5b146108e85780638daa6fc91461090c5780638f78a20e14610920575f80fd5b8063313ce567116103c85780636b32810b1161033c578063740ab8f4116102f6578063740ab8f41461086557806379cc6790146108855780637cc0c3a71461089857806382940b4c1461089f578063861ed3ea146108b157806386fe8b43146108c5575f80fd5b80636b32810b146107ef5780636c30d170146108045780636d77cad61461080c5780636f9170f61461082257806370a0823114610835578063715018a61461085d575f80fd5b806342966c681161038d57806342966c681461078d5780634c783bf5146107a05780634f5632f8146107ab578063556f0dc7146107be57806362eb0068146107c657806367c84919146107da575f80fd5b8063313ce5671461073b578063329b735314610741578063330eb932146107545780633b0071aa1461076757806340c10f191461077a575f80fd5b806316e1aed41161046a57806323b872dd1161042457806323b872dd146106ca578063249cb3fa146106dd5780632535f762146106f05780632f1cae85146107035780633092afd51461071357806330e8280314610726575f80fd5b806316e1aed4146105f657806317d7de7c1461060957806317ec83ca1461064257806318160ddd1461067f5780631b9aa7f2146106875780631d43e1c0146106ad575f80fd5b8063103ef9e1116104bb578063103ef9e1146105755780631131d0ec14610587578063114f481a1461059a57806314d1e62f146105ad57806315497d2c146105c0578063168ecec514610575575f80fd5b8063010648ca146104f757806306fdde031461050c578063095ea7b31461052a5780630d1118ce1461054d5780630d8e6e2c14610560575b5f80fd5b61050a610505366004612eb1565b610c35565b005b610514610c6c565b6040516105219190612f4c565b60405180910390f35b61053d610538366004612f74565b610cfc565b6040519015158152602001610521565b61050a61055b366004612f74565b610d9c565b60015b60405160ff9091168152602001610521565b61050a610583366004612f9c565b5050565b61053d610595366004612fc6565b610dd4565b61050a6105a83660046130c7565b610de0565b61053d6105bb366004613108565b610eb9565b6105e86105ce366004612fc6565b6001600160a01b03165f9081526017602052604090205490565b604051908152602001610521565b61050a61060436600461317a565b610f64565b60408051808201909152601981527f455243313430305f4571756974795f31373138333431373937000000000000006020820152610514565b6105e86106503660046131c1565b5f9283526025602090815260408085206001600160a01b03948516865282528085209290931684525290205490565b6007546105e8565b6106986106953660046131fa565b90565b60405163ffffffff9091168152602001610521565b6040805180820190915260018152603160f81b6020820152610514565b61053d6106d8366004613211565b610f6c565b6105e86106eb366004612f9c565b610f9f565b61050a6106fe36600461323a565b610ffc565b600f54610100900460ff1661053d565b61050a610721366004612fc6565b61104a565b6105e8610734366004612f9c565b5f92915050565b5f610563565b61050a61074f36600461328f565b61107b565b61050a6107623660046132a8565b6110b2565b61050a61077536600461337b565b6111aa565b61050a610788366004612f74565b611312565b61050a61079b3660046131fa565b611352565b600f5460ff1661053d565b61050a6107b9366004612fc6565b61136d565b6006546105e8565b61050a6107d4366004613438565b50505050565b61050a6107e836600461346e565b5050505050565b6107f76113bb565b60405161052191906134d0565b61050a6113cc565b61053d61081a3660046131c1565b5f9392505050565b61053d610830366004612fc6565b6113d6565b6105e8610843366004612fc6565b6001600160a01b03165f9081526015602052604090205490565b61050a6113e0565b610878610873366004612fc6565b6113f1565b604051610521919061351c565b61050a610893366004612f74565b61145a565b60606107f7565b60095461053d90610100900460ff1681565b6107f76108bf3660046131fa565b50606090565b6107f761146b565b6105e86108db366004613553565b5f98975050505050505050565b5f546001600160a01b03165b6040516001600160a01b039091168152602001610521565b6108f461091a3660046131fa565b60601c90565b61050a61092e3660046130c7565b611477565b61053d610941366004612fc6565b611547565b61050a6109543660046135ef565b611597565b61050a610967366004612fc6565b61159f565b61051461160b565b61050a6107d436600461323a565b61050a610990366004612fc6565b61161a565b61050a611648565b61050a6109ab366004613617565b611651565b6060610878565b60095461053d9062010000900460ff1681565b61050a6109d836600461369c565b611689565b61050a6109eb366004613761565b61187a565b6105e861188a565b61053d610a06366004612f74565b61192c565b61053d610a19366004612fc6565b61195d565b610a36610a2c3660046131fa565b506060905f908190565b604051610521939291906137e0565b61050a610a5336600461328f565b611969565b61053d610a66366004613804565b6119e5565b61050a610a7936600461323a565b6119f7565b61050a610a8c3660046130c7565b611aa2565b61053d610a9f36600461382c565b611b7c565b61050a610ab2366004612fc6565b611bd4565b61050a610ac53660046131fa565b611c22565b61050a610ad83660046130c7565b611c50565b61050a610aeb366004612fc6565b611d21565b61050a610afe366004612fc6565b611d2f565b61053d610b11366004612fc6565b611d7d565b6105e8610b24366004613804565b6001600160a01b039182165f90815260166020908152604080832093909416825291909152205490565b61053d610b5c366004612fc6565b611d89565b61050a610b6f36600461388b565b505050565b61050a6109543660046138c5565b61050a610b90366004613903565b611d93565b6108f4610ba336600461392e565b80516020818301810180516014825292820191909301209152546001600160a01b031681565b61050a610bd7366004612fc6565b611de2565b6105e8610bea36600461346e565b5f95945050505050565b6105e8611e1c565b61050a610c0a3660046135ef565b611e25565b61050a610c1d366004612fc6565b611eb5565b61050a610c30366004612fc6565b611f03565b335f908152602b602052604090205460ff166107d45760405162461bcd60e51b8152600401610c6390613967565b60405180910390fd5b606060048054610c7b9061399e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca79061399e565b8015610cf25780601f10610cc957610100808354040283529160200191610cf2565b820191905f5260205f20905b815481529060010190602001808311610cd557829003601f168201915b5050505050905090565b5f6001600160a01b038316610d385760405162461bcd60e51b81526020600482015260026024820152611a9b60f11b6044820152606401610c63565b335f8181526016602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b335f908152602b602052604090205460ff16610dca5760405162461bcd60e51b8152600401610c6390613967565b6105838282611f6c565b5f610d9660128361205b565b335f908152602b602052604090205460ff16610e0e5760405162461bcd60e51b8152600401610c6390613967565b81515f5b81811015610e69575f602a5f868481518110610e3057610e306139d6565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610e12565b508115610e8c57600d805461ff001981166101009182900460ff16159091021790555b6040517f79587af599c7940be748e538d50c69fa337c6b269b4715ed6f541ebde418799f905f90a1505050565b5f6001600160a01b038316610ef55760405162461bcd60e51b81526020600482015260026024820152611a9b60f11b6044820152606401610c63565b5f848152602560209081526040808320338085529083528184206001600160a01b038816808652908452938290208690559051858152909187917ff061499aa77c2f6f5e25e34955a06623705344a88256cc861a121ec0bce5cfec910160405180910390a45060019392505050565b610b6f61207c565b5f610f7a60018585856120a8565b610f953385858560405180602001604052805f815250612550565b5060019392505050565b5f8281526001602052604081205460ff1615610ff55760405173455243313832305f4143434550545f4d4147494360601b6020820152603401604051602081830303815290604052805190602001209050610d96565b505f610d96565b6110085f3386866120a8565b6107d43333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061255092505050565b6110533361195d565b8061106757505f546001600160a01b031633145b61106f575f80fd5b611078816125e8565b50565b335f908152602b602052604090205460ff166110a95760405162461bcd60e51b8152600401610c6390613967565b61107881612629565b335f908152602b602052604090205460ff166110e05760405162461bcd60e51b8152600401610c6390613967565b82515f5b818110156111575761114f858281518110611101576111016139d6565b602002602001015185838151811061111b5761111b6139d6565b60200260200101516001600160a01b039091165f9081526017602052604090206bffffffffffffffffffffffff9091169055565b6001016110e4565b50811561117c576009805462ff0000198116620100009182900460ff16159091021790555b6040517fa3a32f163befecba5c2abdc2c9d52e8301836380a1dca70ca6070edc0a410820905f90a150505050565b335f908152602b602052604090205460ff166111d85760405162461bcd60e51b8152600401610c6390613967565b6111e18761266f565b6111fd5760405162461bcd60e51b8152600401610c63906139ea565b6001600160a01b0388166112235760405162461bcd60e51b8152600401610c6390613a06565b6001600160a01b0389165f9081526015602052604090205487111561125a5760405162461bcd60e51b8152600401610c6390613a22565b6001600160a01b0389165f9081526015602052604090205461127c9088612691565b6001600160a01b03808b165f9081526015602052604080822093909355908a16815220546112aa908861269c565b6001600160a01b03808a165f81815260156020526040908190209390935591518992918c16907f154765d93686b6e616124f28b01e78a69cc8103b435d611ebe55fc6974afb36d906112ff9087908790613a3e565b60405180910390a4505050505050505050565b61131b33611d7d565b611323575f80fd5b81306001600160a01b03821603611338575f80fd5b610b6f33848460405180602001604052805f8152506126a7565b61135b33610dd4565b611363575f80fd5b6110783382611f6c565b61137561207c565b61138060128261281d565b15611078576040516001600160a01b038216907ff2a45c66a3036945900f0347af89e060634880208b658f2ed9315febec08d984905f90a250565b60606113c76010612831565b905090565b6113d461207c565b565b5f610d968261283d565b6113e861207c565b6113d45f61285a565b6001600160a01b0381165f908152601e602090815260409182902080548351818402810184019094528084526060939283018282801561144e57602002820191905f5260205f20905b81548152602001906001019080831161143a575b50505050509050919050565b61146333610dd4565b610dca575f80fd5b60606113c76012612831565b335f908152602b602052604090205460ff166114a55760405162461bcd60e51b8152600401610c6390613967565b81515f5b81811015611500575f60295f8684815181106114c7576114c76139d6565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016114a9565b50811561151a57600d805460ff19811660ff909116151790555b6040517f082d1cecd20d12a706889aee9dc34c06a6bde80ff57dd000ba1647c6b69b7ba8905f90a1505050565b335f908152602b602052604081205460ff166115755760405162461bcd60e51b8152600401610c6390613967565b506001600160a01b0381165f908152602b602052604090205460ff165b919050565b61058361207c565b336001600160a01b038216036115b3575f80fd5b6001600160a01b0381165f818152602260209081526040808320338085529252808320805460ff19166001179055519092917ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f991a350565b606060058054610c7b9061399e565b6116233361195d565b8061163757505f546001600160a01b031633145b61163f575f80fd5b611078816128a9565b6113d4336125e8565b335f908152602b602052604090205460ff1661167f5760405162461bcd60e51b8152600401610c6390613967565b61058382826128ea565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f811580156116cd5750825b90505f826001600160401b031660011480156116e85750303b155b9050811580156116f6575080155b156117145760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561173e57845460ff60401b1916600160401b1785555b600461174a8e82613ab0565b5060056117578d82613ab0565b50600889905589515f5b818110156117b9576001602b5f8e8481518110611780576117806139d6565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101611761565b50600d805461ffff19168a151561ff001916176101008a15150217905560018c10156117e3575f80fd5b60068c90556117f13361285a565b50671c995cd95c9d995960c21b600e55600f805461ffff19166101011790556009805462ffff0019166201000088151502179055831561186b57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050505050565b61188261207c565b505050505050565b5f46817f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6118b6610c6c565b805190602001206118db6040805180820190915260018152603160f81b602082015290565b80516020918201206040805192830194909452928101919091526060810191909152608081018390523060a082015260c00160408051601f1981840301815291905280516020909101209392505050565b5f6119395f3385856120a8565b6119543333858560405180602001604052805f815250612550565b50600192915050565b5f610d96600283612949565b335f908152602b602052604090205460ff166119975760405162461bcd60e51b8152600401610c6390613967565b6009805461ff0019166101008315158102919091179182905560405160ff91909204161515907f4846f6ecab4e3176c0466a75a9251ab1899ed693ba73b0aa19260081e97c9a67905f90a250565b5f6119f083836129ca565b9392505050565b335f908152602b602052604090205460ff16611a255760405162461bcd60e51b8152600401610c6390613967565b600f54610100900460ff16611a615760405162461bcd60e51b8152602060048201526002602482015261353560f01b6044820152606401610c63565b6107d433858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506126a792505050565b335f908152602b602052604090205460ff16611ad05760405162461bcd60e51b8152600401610c6390613967565b81515f5b81811015611b2c576001602a5f868481518110611af357611af36139d6565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101611ad4565b508115611b4f57600d805461ff001981166101009182900460ff16159091021790555b6040517f9d4c2e9cfc5810854c7be050924230c59f79ee5849fbb71f1c80f75907c7c169905f90a1505050565b5f81604051602001611b8e9190613b6b565b6040516020818303038152906040528051906020012083604051602001611bb59190613b6b565b6040516020818303038152906040528051906020012014905092915050565b611bdc61207c565b611be7601082612a41565b15611078576040516001600160a01b038216907fdfd9d11b5f27a5788534fa4067c94acba57d51c580350e038ef0d5e7ee064ba0905f90a250565b335f908152602b602052604090205460ff166110785760405162461bcd60e51b8152600401610c6390613967565b335f908152602b602052604090205460ff16611c7e5760405162461bcd60e51b8152600401610c6390613967565b81515f5b81811015611cda57600160295f868481518110611ca157611ca16139d6565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101611c82565b508115611cf457600d805460ff19811660ff909116151790555b6040517fc706852c47659cb7b77415b22a552d338aa41bc1719ce620596c33a59258305e905f90a1505050565b611d2a81611bd4565b611078815b611d3761207c565b611d42601282612a41565b15611078576040516001600160a01b038216907fed45a0db84376eb1a392e8aba1004c33a8c682d2b458053f523c688fd895e9b1905f90a250565b5f610d9660108361205b565b5f610d9682612a55565b611da060018686866120a8565b6107e83386868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061255092505050565b611dea61207c565b6001600160a01b038116611e1357604051631e4fbdf760e01b81525f6004820152602401610c63565b6110788161285a565b5f6113c7612a72565b335f908152602b602052604090205460ff16611e535760405162461bcd60e51b8152600401610c6390613967565b6001600160a01b0382165f818152602b6020908152604091829020805460ff19168515159081179091558251938452908301527f01552c91ec5619726a2406e15e2cbc2eabd254577be4632813792cd2f35957f3910160405180910390a15050565b611ebd61207c565b611ec860108261281d565b15611078576040516001600160a01b038216907f7c45ad7a0fff014220c921bdba3fb0c0aab902df8a5efb090b69db09d1256b8b905f90a250565b336001600160a01b03821603611f17575f80fd5b6001600160a01b0381165f818152602260209081526040808320338085529252808320805460ff19169055519092917f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa191a350565b611f758161266f565b611f915760405162461bcd60e51b8152600401610c63906139ea565b600754611f9e9082612691565b6007556001600160a01b0382165f90815260156020526040902054611fc39082612691565b6001600160a01b0383165f90815260156020526040902055611fe433610dd4565b15612022576040516001600160a01b0383169082907fca191c0d7882520fe92d4ee2952509a5b528728f4ae3d71521c967827a9a82a0905f90a35050565b6040516001600160a01b0383169082907f0bcfa9a60f30cc4cc988377198c72a449d54bbe2480a91bc2462cafe64692287905f90a35050565b6001600160a01b0381165f90815260018301602052604081205415156119f0565b5f546001600160a01b031633146113d45760405163118cdaa760e01b8152336004820152602401610c63565b335f908152602b602052604090205460ff161561210657600954610100900460ff16156121065760405162461bcd60e51b815260206004820152600c60248201526b333937bd32b7103a37b5b2b760a11b6044820152606401610c63565b60095462010000900460ff16156121a9576001600160a01b0383165f90815260176020526040902054156121a9576001600160a01b0383165f908152601760209081526040808320546015909252909120546121629083612691565b10156121a95760405162461bcd60e51b81526020600482015260166024820152754e6f7420656e6f756768206672656520746f6b656e7360501b6044820152606401610c63565b83156123e157335f908152602b602052604090205460ff16156107d457600d5460ff1615612285576121da8261283d565b151560011461222b5760405162461bcd60e51b815260206004820152601c60248201527f5265636569766572206973206e6f7420696e2077686974654c697374000000006044820152606401610c63565b6122348361283d565b15156001146122855760405162461bcd60e51b815260206004820152601a60248201527f53656e646572206973206e6f7420696e2077686974654c6973740000000000006044820152606401610c63565b600d54610100900460ff16156123355761229e83612a55565b156122e45760405162461bcd60e51b815260206004820152601660248201527514d95b99195c881a5cc81a5b88189b1858dad31a5cdd60521b6044820152606401610c63565b6122ed82612a55565b156123355760405162461bcd60e51b8152602060048201526018602482015277149958d95a5d995c881a5cc81a5b88189b1858dad31a5cdd60421b6044820152606401610c63565b6001600160a01b0383165f90815260166020908152604080832033845290915290205481111561238c5760405162461bcd60e51b8152602060048201526002602482015261353360f01b6044820152606401610c63565b6001600160a01b0383165f9081526016602090815260408083203384529091529020546123b99082612691565b6001600160a01b0384165f9081526016602090815260408083203384529091529020556107d4565b600d5460ff16156124a0576123f58261283d565b15156001146124465760405162461bcd60e51b815260206004820152601c60248201527f5265636569766572206973206e6f7420696e2077686974654c697374000000006044820152606401610c63565b61244f8361283d565b15156001146124a05760405162461bcd60e51b815260206004820152601a60248201527f53656e646572206973206e6f7420696e2077686974654c6973740000000000006044820152606401610c63565b600d54610100900460ff16156107d4576124b983612a55565b156124ff5760405162461bcd60e51b815260206004820152601660248201527514d95b99195c881a5cc81a5b88189b1858dad31a5cdd60521b6044820152606401610c63565b61250882612a55565b156107d45760405162461bcd60e51b8152602060048201526018602482015277149958d95a5d995c881a5cc81a5b88189b1858dad31a5cdd60421b6044820152606401610c63565b6001600160a01b0384165f90815260156020526040902054808311156125885760405162461bcd60e51b8152600401610c6390613a22565b612593858585612a9a565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125d891815260200190565b60405180910390a3505050505050565b6125f3600282612bba565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692905f90a250565b6009805462ff0000191662010000831515908102919091179091556040517fc6cb6b2a86ca168bb9c414664cb88d9494d69b23a43d2b9a9b95b26aae372c5a905f90a250565b6006545f90829061268a906126848382612c3b565b90612c46565b1492915050565b5f6119f08284613b9a565b5f6119f08284613bad565b6126b08261266f565b6126cc5760405162461bcd60e51b8152600401610c63906139ea565b6001600160a01b0383166126f25760405162461bcd60e51b8152600401610c6390613a06565b600854600754612702908461269c565b11156127505760405162461bcd60e51b815260206004820152601f60248201527f457863656564206d6178696d756d206e756d626572206f6620746f6b656e73006044820152606401610c63565b60075461275d908361269c565b6007556001600160a01b0383165f90815260156020526040902054612782908361269c565b6001600160a01b0384165f908152601560205260409020556127a384611d7d565b156127e25760405182906001600160a01b038516907f0d6b79271151a629ed74b4e681831f936a717e90caf14f15c7293043dab75c00905f90a36107d4565b60405182906001600160a01b038516907f4e41c9552e57df1a1b1373aa10ab100818453f016baf09f281b1ce98978453f6905f90a350505050565b5f6119f0836001600160a01b038416612c51565b60605f6119f083612d34565b6001600160a01b03165f9081526029602052604090205460ff1690565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6128b4600282612d8b565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6905f90a250565b600d805461ffff191683151561ff001916176101008315158102919091179182905560405160ff9183048216151592919091161515907f7e1e367a3566ce0d20b5e5c353f777f0d5e022cba6ef8b35b68d0dfe6e8f892d905f90a35050565b5f6001600160a01b0382166129ab5760405162461bcd60e51b815260206004820152602260248201527f526f6c65733a206163636f756e7420697320746865207a65726f206164647265604482015261737360f01b6064820152608401610c63565b506001600160a01b03165f908152602091909152604090205460ff1690565b5f816001600160a01b0316836001600160a01b03161480612a0f57506001600160a01b038084165f9081526022602090815260408083209386168352929052205460ff165b806119f05750600f5460ff1680156119f0575050506001600160a01b03165f9081526024602052604090205460ff1690565b5f6119f0836001600160a01b038416612e06565b6001600160a01b03165f908152602a602052604090205460ff1690565b465f908152600360205260408120548015612a8c57919050565b612a94612e4b565b91505090565b612aa38161266f565b612abf5760405162461bcd60e51b8152600401610c63906139ea565b6001600160a01b038216612ae55760405162461bcd60e51b8152600401610c6390613a06565b6001600160a01b0383165f90815260156020526040902054811115612b1c5760405162461bcd60e51b8152600401610c6390613a22565b6001600160a01b0383165f90815260156020526040902054612b3e9082612691565b6001600160a01b038085165f908152601560205260408082209390935590841681522054612b6c908261269c565b6001600160a01b038084165f81815260156020526040808220949094559251849391928716917fb4d2a64e10e2405e822beac85347a2cbded0a4997a01a656b3f875894bd0d97891a4505050565b612bc48282612949565b612c1a5760405162461bcd60e51b815260206004820152602160248201527f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6044820152606560f81b6064820152608401610c63565b6001600160a01b03165f90815260209190915260409020805460ff19169055565b5f6119f08284613bc0565b5f6119f08284613bdf565b5f8181526001830160205260408120548015612d2b575f612c73600183613b9a565b85549091505f90612c8690600190613b9a565b9050808214612ce5575f865f018281548110612ca457612ca46139d6565b905f5260205f200154905080875f018481548110612cc457612cc46139d6565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080612cf657612cf6613bf6565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610d96565b5f915050610d96565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561144e57602002820191905f5260205f209081548152602001906001019080831161143a5750505050509050919050565b612d958282612949565b15612de25760405162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c65006044820152606401610c63565b6001600160a01b03165f90815260209190915260409020805460ff19166001179055565b5f818152600183016020526040812054610ff557508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610d96565b5f4681612e5661188a565b5f9283526003602052604090922082905550919050565b5f8083601f840112612e7d575f80fd5b5081356001600160401b03811115612e93575f80fd5b602083019150836020828501011115612eaa575f80fd5b9250929050565b5f805f8060608587031215612ec4575f80fd5b8435935060208501356001600160401b03811115612ee0575f80fd5b612eec87828801612e6d565b9598909750949560400135949350505050565b5f5b83811015612f19578181015183820152602001612f01565b50505f910152565b5f8151808452612f38816020860160208601612eff565b601f01601f19169290920160200192915050565b602081525f6119f06020830184612f21565b80356001600160a01b0381168114611592575f80fd5b5f8060408385031215612f85575f80fd5b612f8e83612f5e565b946020939093013593505050565b5f8060408385031215612fad575f80fd5b82359150612fbd60208401612f5e565b90509250929050565b5f60208284031215612fd6575f80fd5b6119f082612f5e565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561301b5761301b612fdf565b604052919050565b5f6001600160401b0382111561303b5761303b612fdf565b5060051b60200190565b5f82601f830112613054575f80fd5b8135602061306961306483613023565b612ff3565b8083825260208201915060208460051b87010193508684111561308a575f80fd5b602086015b848110156130ad576130a081612f5e565b835291830191830161308f565b509695505050505050565b80358015158114611592575f80fd5b5f80604083850312156130d8575f80fd5b82356001600160401b038111156130ed575f80fd5b6130f985828601613045565b925050612fbd602084016130b8565b5f805f6060848603121561311a575f80fd5b8335925061312a60208501612f5e565b9150604084013590509250925092565b5f8083601f84011261314a575f80fd5b5081356001600160401b03811115613160575f80fd5b6020830191508360208260051b8501011115612eaa575f80fd5b5f805f6040848603121561318c575f80fd5b8335925060208401356001600160401b038111156131a8575f80fd5b6131b48682870161313a565b9497909650939450505050565b5f805f606084860312156131d3575f80fd5b833592506131e360208501612f5e565b91506131f160408501612f5e565b90509250925092565b5f6020828403121561320a575f80fd5b5035919050565b5f805f60608486031215613223575f80fd5b61322c84612f5e565b925061312a60208501612f5e565b5f805f806060858703121561324d575f80fd5b61325685612f5e565b93506020850135925060408501356001600160401b03811115613277575f80fd5b61328387828801612e6d565b95989497509550505050565b5f6020828403121561329f575f80fd5b6119f0826130b8565b5f805f606084860312156132ba575f80fd5b83356001600160401b03808211156132d0575f80fd5b6132dc87838801613045565b94506020915081860135818111156132f2575f80fd5b86019050601f81018713613304575f80fd5b803561331261306482613023565b81815260059190911b82018301908381019089831115613330575f80fd5b928401925b828410156133675783356bffffffffffffffffffffffff81168114613358575f80fd5b82529284019290840190613335565b80965050505050506131f1604085016130b8565b5f805f805f805f805f60c08a8c031215613393575f80fd5b61339c8a612f5e565b98506133aa60208b01612f5e565b975060408a0135965060608a01356001600160401b03808211156133cc575f80fd5b6133d88d838e01612e6d565b909850965060808c01359150808211156133f0575f80fd5b6133fc8d838e01612e6d565b909650945060a08c0135915080821115613414575f80fd5b506134218c828d01612e6d565b915080935050809150509295985092959850929598565b5f805f806060858703121561344b575f80fd5b843593506020850135925060408501356001600160401b03811115613277575f80fd5b5f805f805f60808688031215613482575f80fd5b8535945061349260208701612f5e565b93506040860135925060608601356001600160401b038111156134b3575f80fd5b6134bf88828901612e6d565b969995985093965092949392505050565b602080825282518282018190525f9190848201906040850190845b818110156135105783516001600160a01b0316835292840192918401916001016134eb565b50909695505050505050565b602080825282518282018190525f9190848201906040850190845b8181101561351057835183529284019291840191600101613537565b5f805f805f805f8060c0898b03121561356a575f80fd5b8835975061357a60208a01612f5e565b965061358860408a01612f5e565b95506060890135945060808901356001600160401b03808211156135aa575f80fd5b6135b68c838d01612e6d565b909650945060a08b01359150808211156135ce575f80fd5b506135db8b828c01612e6d565b999c989b5096995094979396929594505050565b5f8060408385031215613600575f80fd5b61360983612f5e565b9150612fbd602084016130b8565b5f8060408385031215613628575f80fd5b613609836130b8565b5f82601f830112613640575f80fd5b81356001600160401b0381111561365957613659612fdf565b61366c601f8201601f1916602001612ff3565b818152846020838601011115613680575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f805f80610100898b0312156136b4575f80fd5b88356001600160401b03808211156136ca575f80fd5b6136d68c838d01613631565b995060208b01359150808211156136eb575f80fd5b6136f78c838d01613631565b985060408b0135975060608b0135915080821115613713575f80fd5b506137208b828c01613045565b9550506080890135935061373660a08a016130b8565b925061374460c08a016130b8565b915061375260e08a016130b8565b90509295985092959890939650565b5f805f805f8060a08789031215613776575f80fd5b61377f87612f5e565b955060208701356001600160401b03811115613799575f80fd5b6137a589828a01612e6d565b90965094506137b89050604088016130b8565b92506137c6606088016130b8565b91506137d4608088016130b8565b90509295509295509295565b606081525f6137f26060830186612f21565b60208301949094525060400152919050565b5f8060408385031215613815575f80fd5b61381e83612f5e565b9150612fbd60208401612f5e565b5f806040838503121561383d575f80fd5b82356001600160401b0380821115613853575f80fd5b61385f86838701613631565b93506020850135915080821115613874575f80fd5b5061388185828601613631565b9150509250929050565b5f805f6040848603121561389d575f80fd5b8335925060208401356001600160401b038111156138b9575f80fd5b6131b486828701612e6d565b5f80602083850312156138d6575f80fd5b82356001600160401b038111156138eb575f80fd5b6138f78582860161313a565b90969095509350505050565b5f805f805f60808688031215613917575f80fd5b61392086612f5e565b945061349260208701612f5e565b5f6020828403121561393e575f80fd5b81356001600160401b03811115613953575f80fd5b61395f84828501613631565b949350505050565b6020808252601b908201527f63616c6c6572206973206e6f742061646d696e4f70657261746f720000000000604082015260600190565b600181811c908216806139b257607f821691505b6020821081036139d057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b602080825260029082015261035360f41b604082015260600190565b602080825260029082015261353760f01b604082015260600190565b6020808252600290820152611a9960f11b604082015260600190565b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b601f821115610b6f57805f5260205f20601f840160051c81016020851015613a915750805b601f840160051c820191505b818110156107e8575f8155600101613a9d565b81516001600160401b03811115613ac957613ac9612fdf565b613add81613ad7845461399e565b84613a6c565b602080601f831160018114613b10575f8415613af95750858301515b5f19600386901b1c1916600185901b178555611882565b5f85815260208120601f198616915b82811015613b3e57888601518255948401946001909101908401613b1f565b5085821015613b5b57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f8251613b7c818460208701612eff565b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610d9657610d96613b86565b80820180821115610d9657610d96613b86565b5f82613bda57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610d9657610d96613b86565b634e487b7160e01b5f52603160045260245ffdfea2646970667358221220dfe570b91b64107017a4d4da21cd68c0b049d2f429af464da022c5de1a44f43464736f6c63430008180033