59 txs
74 calls
constructor
constructor(string _uri, address _gateway, address trustedForwarder)
functions
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
contractURI
viewfunction contractURI() view returns (string)
DEFAULT_OPERATOR_WHITELIST_ID
viewfunction DEFAULT_OPERATOR_WHITELIST_ID() view returns (uint120)
DEFAULT_TRANSFER_SECURITY_LEVEL
viewfunction DEFAULT_TRANSFER_SECURITY_LEVEL() view returns (uint8)
DEFAULT_TRANSFER_VALIDATOR
viewfunction DEFAULT_TRANSFER_VALIDATOR() view returns (address)
gateway
viewfunction gateway() view returns (address)
getPermittedContractReceivers
viewfunction getPermittedContractReceivers() view returns (address[])
getSecurityPolicy
viewfunction getSecurityPolicy() view returns (tuple)
getTransferValidator
viewfunction getTransferValidator() view returns (address)
getWhitelistedOperators
viewfunction getWhitelistedOperators() view returns (address[])
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
isContractReceiverPermitted
viewfunction isContractReceiverPermitted(address receiver) view returns (bool)
isOperatorWhitelisted
viewfunction isOperatorWhitelisted(address operator) view returns (bool)
isTransferAllowed
viewfunction isTransferAllowed(address caller, address from, address to) view returns (bool)
isTrustedForwarder
viewfunction isTrustedForwarder(address forwarder) view returns (bool)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
uri
viewfunction uri(uint256) view returns (string)
VERSION_BasicERC1155C
viewfunction VERSION_BasicERC1155C() view returns (uint256)
burn
nonpayablefunction burn(address account, uint256 id, uint256 value)
burnBatch
nonpayablefunction burnBatch(address account, uint256[] ids, uint256[] values)
mint
nonpayablefunction mint(address account, uint256 id, uint256 amount, bytes data)
mintAirdrop
nonpayablefunction mintAirdrop(address[] accounts, uint256 id, uint256 amount, bytes data)
mintBatch
nonpayablefunction mintBatch(address to, uint256[] ids, uint256[] amounts, bytes data)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
resetOwner
nonpayablefunction resetOwner(address _newOwner)
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setGateway
nonpayablefunction setGateway(address _gateway)
setToCustomSecurityPolicy
nonpayablefunction setToCustomSecurityPolicy(uint8 level, uint120 operatorWhitelistId, uint120 permittedContractReceiversAllowlistId)
setToCustomValidatorAndSecurityPolicy
nonpayablefunction setToCustomValidatorAndSecurityPolicy(address validator, uint8 level, uint120 operatorWhitelistId, uint120 permittedContractReceiversAllowlistId)
setToDefaultSecurityPolicy
nonpayablefunction setToDefaultSecurityPolicy()
setTransferValidator
nonpayablefunction setTransferValidator(address transferValidator_)
setURI
nonpayablefunction setURI(string newuri)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
TransferSingle
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
TransferValidatorUpdated
event TransferValidatorUpdated(address oldValidator, address newValidator)
Unpaused
event Unpaused(address account)
URI
event URI(string value, uint256 indexed id)
errors
CreatorTokenBase__InvalidTransferValidatorContract
error CreatorTokenBase__InvalidTransferValidatorContract()
CreatorTokenBase__SetTransferValidatorFirst
error CreatorTokenBase__SetTransferValidatorFirst()
ShouldNotMintToBurnAddress
error ShouldNotMintToBurnAddress()
creation bytecode
0x60a06040523480156200001157600080fd5b5060405162003f1538038062003f15833981016040819052620000349162000172565b600080546001600160a01b0319166001600160a01b038481169190911790915581166080528280620000668162000093565b506200007d905062000077620000a5565b620000b6565b50506005805460ff60a01b1916905550620003c7565b6003620000a18282620002fb565b5050565b6000620000b162000108565b905090565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6080516000906001600160a01b03163314801562000127575060143610155b156200013a575060131936013560601c90565b503390565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200016d57600080fd5b919050565b6000806000606084860312156200018857600080fd5b83516001600160401b0380821115620001a057600080fd5b818601915086601f830112620001b557600080fd5b815181811115620001ca57620001ca6200013f565b604051601f8201601f19908116603f01168101908382118183101715620001f557620001f56200013f565b816040528281526020935089848487010111156200021257600080fd5b600091505b8282101562000236578482018401518183018501529083019062000217565b60008484830101528097505050506200025181870162000155565b93505050620002636040850162000155565b90509250925092565b600181811c908216806200028157607f821691505b602082108103620002a257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002f657600081815260208120601f850160051c81016020861015620002d15750805b601f850160051c820191505b81811015620002f257828155600101620002dd565b5050505b505050565b81516001600160401b038111156200031757620003176200013f565b6200032f816200032884546200026c565b84620002a8565b602080601f8311600181146200036757600084156200034e5750858301515b600019600386901b1c1916600185901b178555620002f2565b600085815260208120601f198616915b82811015620003985788860151825594840194600190910190840162000377565b5085821015620003b75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b608051613b2b620003ea600039600081816103cd01526125f50152613b2b6000f3fe608060405234801561001057600080fd5b50600436106102475760003560e01c80636c3b86991161013b578063be537f43116100b8578063ee69ccd71161007c578063ee69ccd714610564578063f242432a1461056f578063f2fde38b14610582578063f5298aca14610595578063fd762d92146105a857600080fd5b8063be537f43146104f0578063d007af5c14610505578063e6383cf71461050d578063e8a3d48514610520578063e985e9c51461052857600080fd5b80638da5cb5b116100ff5780638da5cb5b1461049357806390646b4a146104a45780639d645a44146104b7578063a22cb465146104ca578063a9fc664e146104dd57600080fd5b80636c3b869914610455578063715018a61461045d578063731133e91461046557806373cc802a146104785780638456cb591461048b57600080fd5b80632e8da829116101c9578063572b6c051161018d578063572b6c05146103bd5780635c975abb146103fd5780635d4c1d461461040f578063613471621461042f5780636b20c4541461044257600080fd5b80632e8da8291461035a5780632eb2c2d61461036d5780633f4ba83a14610380578063495c8bf9146103885780634e1273f41461039d57600080fd5b80630e89341c116102105780630e89341c146102ec578063116191b61461030c5780631b25b0771461031f5780631c33b328146103325780631f7fdffa1461034757600080fd5b8062fdd58e1461024c578063014635461461027257806301ffc9a7146102a357806302fe5305146102c6578063098144d4146102db575b600080fd5b61025f61025a3660046129c4565b6105bb565b6040519081526020015b60405180910390f35b61028b71721c310194ccfc01e523fc93c9cccfa2a0ac81565b6040516001600160a01b039091168152602001610269565b6102b66102b1366004612a06565b610656565b6040519015158152602001610269565b6102d96102d4366004612a6b565b61067b565b005b6004546001600160a01b031661028b565b6102ff6102fa366004612aac565b6106c6565b6040516102699190612b15565b60005461028b906001600160a01b031681565b6102b661032d366004612b28565b610704565b61033a600181565b6040516102699190612b95565b6102d9610355366004612be7565b61079f565b6102b6610368366004612c93565b610852565b6102d961037b366004612df9565b61095f565b6102d96109bd565b6103906109cf565b6040516102699190612ea6565b6103b06103ab366004612ef3565b610ae1565b6040516102699190612ffa565b6102b66103cb366004612c93565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b600554600160a01b900460ff166102b6565b610417600181565b6040516001600160781b039091168152602001610269565b6102d961043d36600461302f565b610c0a565b6102d961045036600461306f565b610d75565b6102d9610dcf565b6102d9610ec8565b6102d96104733660046130e4565b610eda565b6102d9610486366004612c93565b610f24565b6102d9610f38565b6005546001600160a01b031661028b565b6102d96104b2366004612c93565b610f48565b6102b66104c5366004612c93565b610f72565b6102d96104d836600461315b565b61103b565b6102d96104eb366004612c93565b61104d565b6104f861116e565b6040516102699190613194565b61039061122a565b6102d961051b3660046131d0565b6112e4565b6102ff611371565b6102b6610536366004613252565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205460ff1690565b61025f630134b37281565b6102d961057d366004613280565b6113ad565b6102d9610590366004612c93565b611404565b6102d96105a33660046132e8565b611471565b6102d96105b636600461331d565b6114c6565b60006001600160a01b03831661062b5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526001602090815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b031982166388a883e160e01b14806106505750610650826115c5565b6106836115ea565b6106c282828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116b292505050565b5050565b60606106d260006116be565b6106dd306014611752565b6040516020016106ee929190613379565b6040516020818303038152906040529050919050565b6004546000906001600160a01b031615610794576004805460405163050bf71960e31b81526001600160a01b03878116938201939093528583166024820152848316604482015291169063285fb8c89060640160006040518083038186803b15801561076f57600080fd5b505afa925050508015610780575060015b61078c57506000610798565b506001610798565b5060015b9392505050565b6107a76115ea565b6108498787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808b0282810182019093528a82529093508a92508991829185019084908082843760009201919091525050604080516020601f8a0181900481028201810190925288815292508891508790819084018382808284376000920191909152506118ed92505050565b50505050505050565b6004546000906001600160a01b0316156109575760048054604051635caaa2a960e11b815230928101929092526001600160a01b03169063d72dde5e90829063b955455290602401606060405180830381865afa1580156108b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108db91906133c7565b602001516040516001600160e01b031960e084901b1681526001600160781b0390911660048201526001600160a01b03851660248201526044015b602060405180830381865afa158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106509190613438565b506000919050565b610967611a62565b6001600160a01b0316856001600160a01b0316148061098d575061098d85610536611a62565b6109a95760405162461bcd60e51b815260040161062290613455565b6109b68585858585611a6c565b5050505050565b6109c56115ea565b6109cd611c32565b565b6004546060906001600160a01b031615610ace5760048054604051635caaa2a960e11b815230928101929092526001600160a01b031690633fe5df9990829063b955455290602401606060405180830381865afa158015610a34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5891906133c7565b602001516040516001600160e01b031960e084901b1681526001600160781b0390911660048201526024015b600060405180830381865afa158015610aa1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ac991908101906134a3565b905090565b5060408051600081526020810190915290565b60608151835114610b465760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610622565b600083516001600160401b03811115610b6157610b61612cb0565b604051908082528060200260200182016040528015610b8a578160200160208202803683370190505b50905060005b8451811015610c0257610bd5858281518110610bae57610bae613547565b6020026020010151858381518110610bc857610bc8613547565b60200260200101516105bb565b828281518110610be757610be7613547565b6020908102919091010152610bfb81613573565b9050610b90565b509392505050565b610c12611c8d565b6000610c266004546001600160a01b031690565b90506001600160a01b038116610c4f57604051631cffe3dd60e11b815260040160405180910390fd5b604051630368065360e61b81526001600160a01b0382169063da0194c090610c7d903090889060040161358c565b600060405180830381600087803b158015610c9757600080fd5b505af1158015610cab573d6000803e3d6000fd5b5050604051631182550160e11b81526001600160a01b0384169250632304aa029150610cdd90309087906004016135a9565b600060405180830381600087803b158015610cf757600080fd5b505af1158015610d0b573d6000803e3d6000fd5b505060405163235d10c560e21b81526001600160a01b0384169250638d7443149150610d3d90309086906004016135a9565b600060405180830381600087803b158015610d5757600080fd5b505af1158015610d6b573d6000803e3d6000fd5b5050505050505050565b610d7d611a62565b6001600160a01b0316836001600160a01b03161480610da35750610da383610536611a62565b610dbf5760405162461bcd60e51b815260040161062290613455565b610dca838383611c95565b505050565b610dd7611c8d565b610df271721c310194ccfc01e523fc93c9cccfa2a0ac61104d565b604051630368065360e61b815271721c310194ccfc01e523fc93c9cccfa2a0ac9063da0194c090610e2a90309060019060040161358c565b600060405180830381600087803b158015610e4457600080fd5b505af1158015610e58573d6000803e3d6000fd5b5050604051631182550160e11b815271721c310194ccfc01e523fc93c9cccfa2a0ac9250632304aa029150610e949030906001906004016135a9565b600060405180830381600087803b158015610eae57600080fd5b505af1158015610ec2573d6000803e3d6000fd5b50505050565b610ed0611e45565b6109cd6000611ebe565b610ee26115ea565b6109b685858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f1092505050565b610f2c61200c565b610f3581611ebe565b50565b610f406115ea565b6109cd612078565b610f5061200c565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6004546000906001600160a01b0316156109575760048054604051635caaa2a960e11b815230928101929092526001600160a01b031690639445f53090829063b955455290602401606060405180830381865afa158015610fd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffb91906133c7565b60409081015190516001600160e01b031960e084901b1681526001600160781b0390911660048201526001600160a01b0385166024820152604401610916565b6106c2611046611a62565b83836120bc565b611055611c8d565b60006001600160a01b0382163b156110d0576040516301ffc9a760e01b8152600060048201526001600160a01b038316906301ffc9a790602401602060405180830381865afa9250505080156110c8575060408051601f3d908101601f191682019092526110c591810190613438565b60015b156110d05790505b6001600160a01b038216158015906110e6575080155b15611104576040516332483afb60e01b815260040160405180910390fd5b600454604080516001600160a01b03928316815291841660208301527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac910160405180910390a150600480546001600160a01b0319166001600160a01b0392909216919091179055565b60408051606081018252600080825260208201819052918101919091526004546001600160a01b0316156112095760048054604051635caaa2a960e11b815230928101929092526001600160a01b03169063b955455290602401606060405180830381865afa1580156111e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac991906133c7565b50604080516060810182526000808252602082018190529181019190915290565b6004546060906001600160a01b031615610ace5760048054604051635caaa2a960e11b815230928101929092526001600160a01b0316906317e94a6c90829063b955455290602401606060405180830381865afa15801561128f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b391906133c7565b60409081015190516001600160e01b031960e084901b1681526001600160781b039091166004820152602401610a84565b6112ec6115ea565b60005b858110156108495761135f87878381811061130c5761130c613547565b90506020020160208101906113219190612c93565b868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f1092505050565b8061136981613573565b9150506112ef565b606061137d60006116be565b611388306014611752565b6040516020016113999291906135cb565b604051602081830303815290604052905090565b6113b5611a62565b6001600160a01b0316856001600160a01b031614806113db57506113db85610536611a62565b6113f75760405162461bcd60e51b815260040161062290613455565b6109b6858585858561219c565b61140c611e45565b6001600160a01b038116610f2c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610622565b611479611a62565b6001600160a01b0316836001600160a01b0316148061149f575061149f83610536611a62565b6114bb5760405162461bcd60e51b815260040161062290613455565b610dca8383836122f1565b6114ce611c8d565b6114d78461104d565b604051630368065360e61b81526001600160a01b0385169063da0194c090611505903090879060040161358c565b600060405180830381600087803b15801561151f57600080fd5b505af1158015611533573d6000803e3d6000fd5b5050604051631182550160e11b81526001600160a01b0387169250632304aa02915061156590309086906004016135a9565b600060405180830381600087803b15801561157f57600080fd5b505af1158015611593573d6000803e3d6000fd5b505060405163235d10c560e21b81526001600160a01b0387169250638d7443149150610d3d90309085906004016135a9565b60006001600160e01b031982166310c8aba560e31b1480610650575061065082612422565b60006115f4611a62565b6000549091506001600160a01b03808316911614806116355750806001600160a01b031661162a6005546001600160a01b031690565b6001600160a01b0316145b610f355760405162461bcd60e51b815260206004820152604260248201527f47617465776179477561726465644f776e61626c653a2063616c6c657220697360448201527f206e656974686572207468652067617465776179206e6f7220746865206f776e60648201526132b960f11b608482015260a401610622565b60036106c28282613687565b6060600380546116cd90613607565b80601f01602080910402602001604051908101604052809291908181526020018280546116f990613607565b80156117465780601f1061171b57610100808354040283529160200191611746565b820191906000526020600020905b81548152906001019060200180831161172957829003601f168201915b50505050509050919050565b60606000611761836002613746565b61176c90600261375d565b6001600160401b0381111561178357611783612cb0565b6040519080825280601f01601f1916602001820160405280156117ad576020820181803683370190505b509050600360fc1b816000815181106117c8576117c8613547565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106117f7576117f7613547565b60200101906001600160f81b031916908160001a905350600061181b846002613746565b61182690600161375d565b90505b600181111561189e576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061185a5761185a613547565b1a60f81b82828151811061187057611870613547565b60200101906001600160f81b031916908160001a90535060049490941c9361189781613770565b9050611829565b5083156107985760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610622565b6001600160a01b0384166119135760405162461bcd60e51b815260040161062290613787565b81518351146119345760405162461bcd60e51b8152600401610622906137c8565b600061193e611a62565b905061194f81600087878787612472565b60005b84518110156119eb5783818151811061196d5761196d613547565b60200260200101516001600087848151811061198b5761198b613547565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546119d3919061375d565b909155508190506119e381613573565b915050611952565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611a3c929190613810565b60405180910390a4611a5381600087878787612488565b6109b681600087878787612496565b6000610ac96125f1565b8151835114611a8d5760405162461bcd60e51b8152600401610622906137c8565b6001600160a01b038416611ab35760405162461bcd60e51b81526004016106229061383e565b6000611abd611a62565b9050611acd818787878787612472565b60005b8451811015611bb6576000858281518110611aed57611aed613547565b602002602001015190506000858381518110611b0b57611b0b613547565b60209081029190910181015160008481526001835260408082206001600160a01b038e168352909352919091205490915081811015611b5c5760405162461bcd60e51b815260040161062290613883565b60008381526001602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611b9b90849061375d565b9250508190555050505080611baf90613573565b9050611ad0565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611c06929190613810565b60405180910390a4611c1c818787878787612488565b611c2a818787878787612496565b505050505050565b611c3a612646565b6005805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611c70611a62565b6040516001600160a01b03909116815260200160405180910390a1565b6109cd611e45565b6001600160a01b038316611cbb5760405162461bcd60e51b8152600401610622906138cd565b8051825114611cdc5760405162461bcd60e51b8152600401610622906137c8565b6000611ce6611a62565b9050611d0681856000868660405180602001604052806000815250612472565b60005b8351811015611dce576000848281518110611d2657611d26613547565b602002602001015190506000848381518110611d4457611d44613547565b60209081029190910181015160008481526001835260408082206001600160a01b038c168352909352919091205490915081811015611d955760405162461bcd60e51b815260040161062290613910565b60009283526001602090815260408085206001600160a01b038b1686529091529092209103905580611dc681613573565b915050611d09565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051611e1f929190613810565b60405180910390a4610ec281856000868660405180602001604052806000815250612488565b611e4d611a62565b6001600160a01b0316611e686005546001600160a01b031690565b6001600160a01b0316146109cd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610622565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038416611f365760405162461bcd60e51b815260040161062290613787565b6000611f40611a62565b90506000611f4d85612696565b90506000611f5a85612696565b9050611f6b83600089858589612472565b60008681526001602090815260408083206001600160a01b038b16845290915281208054879290611f9d90849061375d565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611ffd83600089858589612488565b610849836000898989896126e1565b6000546001600160a01b031633146109cd5760405162461bcd60e51b815260206004820152602960248201527f47617465776179477561726465643a2063616c6c6572206973206e6f7420746860448201526865206761746577617960b81b6064820152608401610622565b61208061279c565b6005805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611c70611a62565b816001600160a01b0316836001600160a01b03160361212f5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610622565b6001600160a01b03838116600081815260026020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166121c25760405162461bcd60e51b81526004016106229061383e565b60006121cc611a62565b905060006121d985612696565b905060006121e685612696565b90506121f6838989858589612472565b60008681526001602090815260408083206001600160a01b038c168452909152902054858110156122395760405162461bcd60e51b815260040161062290613883565b60008781526001602090815260408083206001600160a01b038d8116855292528083208985039055908a1682528120805488929061227890849061375d565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46122d8848a8a86868a612488565b6122e6848a8a8a8a8a6126e1565b505050505050505050565b6001600160a01b0383166123175760405162461bcd60e51b8152600401610622906138cd565b6000612321611a62565b9050600061232e84612696565b9050600061233b84612696565b905061235b83876000858560405180602001604052806000815250612472565b60008581526001602090815260408083206001600160a01b038a1684529091529020548481101561239e5760405162461bcd60e51b815260040161062290613910565b60008681526001602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461084984886000868660405180602001604052806000815250612488565b60006001600160e01b03198216636cdb3d1360e11b148061245357506001600160e01b031982166303a24d0760e21b145b8061065057506301ffc9a760e01b6001600160e01b0319831614610650565b61247a61279c565b611c2a8686868686866127e9565b611c2a868686868686612822565b6001600160a01b0384163b15611c2a5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906124da9089908990889088908890600401613954565b6020604051808303816000875af1925050508015612515575060408051601f3d908101601f19168201909252612512918101906139b2565b60015b6125c1576125216139cf565b806308c379a00361255a57506125356139ea565b80612540575061255c565b8060405162461bcd60e51b81526004016106229190612b15565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610622565b6001600160e01b0319811663bc197c8160e01b146108495760405162461bcd60e51b815260040161062290613a73565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314801561262c575060143610155b1561263e575060131936013560601c90565b503390565b90565b600554600160a01b900460ff166109cd5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610622565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d0576126d0613547565b602090810291909101015292915050565b6001600160a01b0384163b15611c2a5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906127259089908990889088908890600401613abb565b6020604051808303816000875af1925050508015612760575060408051601f3d908101601f1916820190925261275d918101906139b2565b60015b61276c576125216139cf565b6001600160e01b0319811663f23a6e6160e01b146108495760405162461bcd60e51b815260040161062290613a73565b600554600160a01b900460ff16156109cd5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610622565b825160005b81811015610d6b5761281a878787848151811061280d5761280d613547565b602002602001015161285b565b6001016127ee565b825160005b81811015610d6b57612853878787848151811061284657612846613547565b60200260200101516128ce565b600101612827565b6001600160a01b0383811615908316158180156128755750805b1561289357604051635cbd944160e01b815260040160405180910390fd5b81156128a9576128a4610f35611a62565b6109b6565b80156128ba576128a4610f35611a62565b6109b66128c5611a62565b86868634612933565b6001600160a01b0383811615908316158180156128e85750805b1561290657604051635cbd944160e01b815260040160405180910390fd5b8115612917576128a4610f35611a62565b8015612928576128a4610f35611a62565b6109b6610f35611a62565b6004546001600160a01b0316156109b6576004805460405163050bf71960e31b81526001600160a01b03888116938201939093528683166024820152858316604482015291169063285fb8c89060640160006040518083038186803b15801561299b57600080fd5b505afa1580156122e6573d6000803e3d6000fd5b6001600160a01b0381168114610f3557600080fd5b600080604083850312156129d757600080fd5b82356129e2816129af565b946020939093013593505050565b6001600160e01b031981168114610f3557600080fd5b600060208284031215612a1857600080fd5b8135610798816129f0565b60008083601f840112612a3557600080fd5b5081356001600160401b03811115612a4c57600080fd5b602083019150836020828501011115612a6457600080fd5b9250929050565b60008060208385031215612a7e57600080fd5b82356001600160401b03811115612a9457600080fd5b612aa085828601612a23565b90969095509350505050565b600060208284031215612abe57600080fd5b5035919050565b60005b83811015612ae0578181015183820152602001612ac8565b50506000910152565b60008151808452612b01816020860160208601612ac5565b601f01601f19169290920160200192915050565b6020815260006107986020830184612ae9565b600080600060608486031215612b3d57600080fd5b8335612b48816129af565b92506020840135612b58816129af565b91506040840135612b68816129af565b809150509250925092565b60078110612b9157634e487b7160e01b600052602160045260246000fd5b9052565b602081016106508284612b73565b60008083601f840112612bb557600080fd5b5081356001600160401b03811115612bcc57600080fd5b6020830191508360208260051b8501011115612a6457600080fd5b60008060008060008060006080888a031215612c0257600080fd5b8735612c0d816129af565b965060208801356001600160401b0380821115612c2957600080fd5b612c358b838c01612ba3565b909850965060408a0135915080821115612c4e57600080fd5b612c5a8b838c01612ba3565b909650945060608a0135915080821115612c7357600080fd5b50612c808a828b01612a23565b989b979a50959850939692959293505050565b600060208284031215612ca557600080fd5b8135610798816129af565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715612ceb57612ceb612cb0565b6040525050565b60006001600160401b03821115612d0b57612d0b612cb0565b5060051b60200190565b600082601f830112612d2657600080fd5b81356020612d3382612cf2565b604051612d408282612cc6565b83815260059390931b8501820192828101915086841115612d6057600080fd5b8286015b84811015612d7b5780358352918301918301612d64565b509695505050505050565b600082601f830112612d9757600080fd5b81356001600160401b03811115612db057612db0612cb0565b604051612dc7601f8301601f191660200182612cc6565b818152846020838601011115612ddc57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215612e1157600080fd5b8535612e1c816129af565b94506020860135612e2c816129af565b935060408601356001600160401b0380821115612e4857600080fd5b612e5489838a01612d15565b94506060880135915080821115612e6a57600080fd5b612e7689838a01612d15565b93506080880135915080821115612e8c57600080fd5b50612e9988828901612d86565b9150509295509295909350565b6020808252825182820181905260009190848201906040850190845b81811015612ee75783516001600160a01b031683529284019291840191600101612ec2565b50909695505050505050565b60008060408385031215612f0657600080fd5b82356001600160401b0380821115612f1d57600080fd5b818501915085601f830112612f3157600080fd5b81356020612f3e82612cf2565b604051612f4b8282612cc6565b83815260059390931b8501820192828101915089841115612f6b57600080fd5b948201945b83861015612f92578535612f83816129af565b82529482019490820190612f70565b96505086013592505080821115612fa857600080fd5b50612fb585828601612d15565b9150509250929050565b600081518084526020808501945080840160005b83811015612fef57815187529582019590820190600101612fd3565b509495945050505050565b6020815260006107986020830184612fbf565b60078110610f3557600080fd5b6001600160781b0381168114610f3557600080fd5b60008060006060848603121561304457600080fd5b833561304f8161300d565b9250602084013561305f8161301a565b91506040840135612b688161301a565b60008060006060848603121561308457600080fd5b833561308f816129af565b925060208401356001600160401b03808211156130ab57600080fd5b6130b787838801612d15565b935060408601359150808211156130cd57600080fd5b506130da86828701612d15565b9150509250925092565b6000806000806000608086880312156130fc57600080fd5b8535613107816129af565b9450602086013593506040860135925060608601356001600160401b0381111561313057600080fd5b61313c88828901612a23565b969995985093965092949392505050565b8015158114610f3557600080fd5b6000806040838503121561316e57600080fd5b8235613179816129af565b915060208301356131898161314d565b809150509250929050565b60006060820190506131a7828451612b73565b60208301516001600160781b038082166020850152806040860151166040850152505092915050565b600080600080600080608087890312156131e957600080fd5b86356001600160401b038082111561320057600080fd5b61320c8a838b01612ba3565b90985096506020890135955060408901359450606089013591508082111561323357600080fd5b5061324089828a01612a23565b979a9699509497509295939492505050565b6000806040838503121561326557600080fd5b8235613270816129af565b91506020830135613189816129af565b600080600080600060a0868803121561329857600080fd5b85356132a3816129af565b945060208601356132b3816129af565b9350604086013592506060860135915060808601356001600160401b038111156132dc57600080fd5b612e9988828901612d86565b6000806000606084860312156132fd57600080fd5b8335613308816129af565b95602085013595506040909401359392505050565b6000806000806080858703121561333357600080fd5b843561333e816129af565b9350602085013561334e8161300d565b9250604085013561335e8161301a565b9150606085013561336e8161301a565b939692955090935050565b6000835161338b818460208801612ac5565b602f60f81b90830190815283516133a9816001840160208801612ac5565b642f7b69647d60d81b60019290910191820152600601949350505050565b6000606082840312156133d957600080fd5b604051606081018181106001600160401b03821117156133fb576133fb612cb0565b60405282516134098161300d565b815260208301516134198161301a565b6020820152604083015161342c8161301a565b60408201529392505050565b60006020828403121561344a57600080fd5b81516107988161314d565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b600060208083850312156134b657600080fd5b82516001600160401b038111156134cc57600080fd5b8301601f810185136134dd57600080fd5b80516134e881612cf2565b6040516134f58282612cc6565b82815260059290921b830184019184810191508783111561351557600080fd5b928401925b8284101561353c57835161352d816129af565b8252928401929084019061351a565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016135855761358561355d565b5060010190565b6001600160a01b0383168152604081016107986020830184612b73565b6001600160a01b039290921682526001600160781b0316602082015260400190565b600083516135dd818460208801612ac5565b602f60f81b90830190815283516135fb816001840160208801612ac5565b01600101949350505050565b600181811c9082168061361b57607f821691505b60208210810361363b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610dca57600081815260208120601f850160051c810160208610156136685750805b601f850160051c820191505b81811015611c2a57828155600101613674565b81516001600160401b038111156136a0576136a0612cb0565b6136b4816136ae8454613607565b84613641565b602080601f8311600181146136e957600084156136d15750858301515b600019600386901b1c1916600185901b178555611c2a565b600085815260208120601f198616915b82811015613718578886015182559484019460019091019084016136f9565b50858210156137365787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80820281158282048414176106505761065061355d565b808201808211156106505761065061355d565b60008161377f5761377f61355d565b506000190190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b6040815260006138236040830185612fbf565b82810360208401526138358185612fbf565b95945050505050565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6001600160a01b0386811682528516602082015260a06040820181905260009061398090830186612fbf565b82810360608401526139928186612fbf565b905082810360808401526139a68185612ae9565b98975050505050505050565b6000602082840312156139c457600080fd5b8151610798816129f0565b600060033d11156126435760046000803e5060005160e01c90565b600060443d10156139f85790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715613a2757505050505090565b8285019150815181811115613a3f5750505050505090565b843d8701016020828501011115613a595750505050505090565b613a6860208286010187612cc6565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061353c90830184612ae956fea264697066735822122094f172a13be943b70275f04a5e06d1bc945a58a45c09facef93dea6b601e05dc64736f6c6343000813003300000000000000000000000000000000000000000000000000000000000000600000000000000000000000007127f0feaef8143241a5fac62ac5b7be02ef26a9000000000000000000000000ecf63dfba014dc9cea2715d10082bbbc892d2188000000000000000000000000000000000000000000000000000000000000002668747470733a2f2f6170692e787465722e696f2f61737365742f6e66742f6d6574612f6273630000000000000000000000000000000000000000000000000000