[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint256", "name": "maxSupply_", "type": "uint256" }, { "internalType": "string", "name": "prefix_", "type": "string" }, { "internalType": "string", "name": "suffix_", "type": "string" }, { "internalType": "address", "name": "royaltyReceiver_", "type": "address" }, { "internalType": "uint96", "name": "royaltyFeeNumerator_", "type": "uint96" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "CreatorTokenBase__FunctionDeprecatedUseTransferValidatorInstead", "type": "error" }, { "inputs": [], "name": "CreatorTokenBase__InvalidTransferValidatorContract", "type": "error" }, { "inputs": [], "name": "CreatorTokenBase__SetTransferValidatorFirst", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [], "name": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "type": "error" }, { "inputs": [], "name": "ShouldNotMintToBurnAddress", "type": "error" }, { "inputs": [], "name": "TransferCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "TransferFromIncorrectOwner", "type": "error" }, { "inputs": [], "name": "TransferToNonERC721ReceiverImplementer", "type": "error" }, { "inputs": [], "name": "TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "URIQueryForNonexistentToken", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "autoApproved", "type": "bool" } ], "name": "AutomaticApprovalOfTransferValidatorSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "toTokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "ConsecutiveTransfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "receiver", "type": "address" }, { "indexed": false, "internalType": "uint96", "name": "feeNumerator", "type": "uint96" } ], "name": "DefaultRoyaltySet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "receiver", "type": "address" }, { "indexed": false, "internalType": "uint96", "name": "feeNumerator", "type": "uint96" } ], "name": "TokenRoyaltySet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldValidator", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newValidator", "type": "address" } ], "name": "TransferValidatorUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "DEFAULT_LIST_ID", "outputs": [ { "internalType": "uint120", "name": "", "type": "uint120" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEFAULT_TRANSFER_SECURITY_LEVEL", "outputs": [ { "internalType": "enum TransferSecurityLevels", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEFAULT_TRANSFER_VALIDATOR", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "autoApproveTransfersFromValidator", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPermittedContractReceivers", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getSecurityPolicy", "outputs": [ { "components": [ { "internalType": "enum TransferSecurityLevels", "name": "transferSecurityLevel", "type": "uint8" }, { "internalType": "uint120", "name": "operatorWhitelistId", "type": "uint120" }, { "internalType": "uint120", "name": "permittedContractReceiversId", "type": "uint120" } ], "internalType": "struct CollectionSecurityPolicy", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTransferValidator", "outputs": [ { "internalType": "contract ICreatorTokenTransferValidator", "name": "transferValidator", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getWhitelistedOperators", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "isApproved", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "isContractReceiverPermitted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isOperatorWhitelisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" } ], "name": "isTransferAllowed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" }, { "components": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "mintLimit", "type": "uint256" } ], "internalType": "struct Token.MintRequest", "name": "request_", "type": "tuple" }, { "internalType": "bytes", "name": "signature_", "type": "bytes" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "mintLimits", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ], "name": "ownerMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "prefix", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "autoApprove", "type": "bool" } ], "name": "setAutomaticApprovalOfTransfersFromValidator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "receiver_", "type": "address" }, { "internalType": "uint96", "name": "feeNumerator_", "type": "uint96" } ], "name": "setDefaultRoyalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxSupply_", "type": "uint256" } ], "name": "setMaxSupply", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "prefix_", "type": "string" } ], "name": "setPrefix", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "signer_", "type": "address" } ], "name": "setSigner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "suffix_", "type": "string" } ], "name": "setSuffix", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "enum TransferSecurityLevels", "name": "level", "type": "uint8" }, { "internalType": "uint120", "name": "listId", "type": "uint120" } ], "name": "setToCustomSecurityPolicy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "enum TransferSecurityLevels", "name": "level", "type": "uint8" }, { "internalType": "uint120", "name": "operatorWhitelistId", "type": "uint120" }, { "internalType": "uint120", "name": "permittedContractReceiversAllowlistId", "type": "uint120" } ], "name": "setToCustomSecurityPolicy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "validator", "type": "address" }, { "internalType": "enum TransferSecurityLevels", "name": "level", "type": "uint8" }, { "internalType": "uint120", "name": "listId", "type": "uint120" } ], "name": "setToCustomValidatorAndSecurityPolicy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "validator", "type": "address" }, { "internalType": "enum TransferSecurityLevels", "name": "level", "type": "uint8" }, { "internalType": "uint120", "name": "operatorWhitelistId", "type": "uint120" }, { "internalType": "uint120", "name": "permittedContractReceiversAllowlistId", "type": "uint120" } ], "name": "setToCustomValidatorAndSecurityPolicy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setToDefaultSecurityPolicy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId_", "type": "uint256" }, { "internalType": "address", "name": "receiver_", "type": "address" }, { "internalType": "uint96", "name": "feeNumerator_", "type": "uint96" } ], "name": "setTokenRoyalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "transferValidator_", "type": "address" } ], "name": "setTransferValidator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "signer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "suffix", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6101406040523480156200001257600080fd5b5060405162003d3f38038062003d3f8339810160408190526200003591620004eb565b8383866040518060400160405280600c81526020016b105390d25153950b54d1515160a21b815250604051806040016040528060058152602001640302e312e360dc1b81525086868d8d8181816002908162000092919062000664565b506003620000a1828262000664565b5050600160005550620000b43362000199565b50620000c390508282620001eb565b5050600d805460ff19169055815160209283012081519183019190912060e08290526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818801819052818301969096526060810194909452608080850193909352308483018190528151808603909301835260c09485019091528151919095012090529190915261012052600e55600f6200016f838262000664565b5060106200017e828262000664565b506200018c91505062000242565b5050505050505062000730565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620001f782826200029f565b6040516001600160601b03821681526001600160a01b038316907f8a8bae378cb731c5c40b632330c6836c2f916f48edb967699c86736f9a6a76ef9060200160405180910390a25050565b6200024c620003a4565b600d805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258620002823390565b6040516001600160a01b03909116815260200160405180910390a1565b6127106001600160601b0382161115620003135760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b60648201526084015b60405180910390fd5b6001600160a01b0382166200036b5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c69642072656365697665720000000000000060448201526064016200030a565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600b55565b600d5460ff1615620003ec5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016200030a565b565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200041657600080fd5b81516001600160401b0380821115620004335762000433620003ee565b604051601f8301601f19908116603f011681019082821181831017156200045e576200045e620003ee565b81604052838152602092508660208588010111156200047c57600080fd5b600091505b83821015620004a0578582018301518183018401529082019062000481565b6000602085830101528094505050505092915050565b80516001600160a01b0381168114620004ce57600080fd5b919050565b80516001600160601b0381168114620004ce57600080fd5b600080600080600080600060e0888a0312156200050757600080fd5b87516001600160401b03808211156200051f57600080fd5b6200052d8b838c0162000404565b985060208a01519150808211156200054457600080fd5b620005528b838c0162000404565b975060408a0151965060608a01519150808211156200057057600080fd5b6200057e8b838c0162000404565b955060808a01519150808211156200059557600080fd5b50620005a48a828b0162000404565b935050620005b560a08901620004b6565b9150620005c560c08901620004d3565b905092959891949750929550565b600181811c90821680620005e857607f821691505b6020821081036200060957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200065f576000816000526020600020601f850160051c810160208610156200063a5750805b601f850160051c820191505b818110156200065b5782815560010162000646565b5050505b505050565b81516001600160401b03811115620006805762000680620003ee565b6200069881620006918454620005d3565b846200060f565b602080601f831160018114620006d05760008415620006b75750858301515b600019600386901b1c1916600185901b1785556200065b565b600085815260208120601f198616915b828110156200070157888601518255948401946001909101908401620006e0565b5085821015620007205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e05161010051610120516135bf6200078060003960006122e801526000612337015260006123120152600061226b01526000612295015260006122bf01526135bf6000f3fe6080604052600436106102ff5760003560e01c806369f7d2f2116101905780639d645a44116100dc578063c87b56dd11610095578063e985e9c51161006f578063e985e9c5146108a7578063f2fde38b146108c7578063f7073c3a146108e7578063fd762d92146108fc57600080fd5b8063c87b56dd14610872578063d007af5c14610568578063d5abeb011461089257600080fd5b80639d645a44146105005780639e05d240146107dd578063a22cb465146107fd578063a9fc664e1461081d578063b88d4fde1461083d578063be537f431461085057600080fd5b806375d5ae9f116101495780638456cb59116101235780638456cb591461077557806385cb593b1461078a5780638da5cb5b146107aa57806395d89b41146107c857600080fd5b806375d5ae9f1461072057806375dadb3214610740578063800a06d11461075557600080fd5b806369f7d2f2146106765780636c19e783146106965780636c3b8699146106b65780636f8b44b0146106cb57806370a08231146106eb578063715018a61461070b57600080fd5b80632a55205a1161024f5780635944c7531161020857806361347162116101e257806361347162146105ef5780636221d13c1461060f5780636352211e14610629578063641c7f221461064957600080fd5b80635944c7531461058a5780635c975abb146105aa5780635d415576146105c257600080fd5b80632a55205a146104c15780632e8da8291461050057806331395b90146105205780633f4ba83a1461054057806342842e0e14610555578063495c8bf91461056857600080fd5b8063098144d4116102bc5780631b25b077116102965780631b25b0771461044c5780631c33b3281461046c578063238ac9331461048e57806323b872dd146104ae57600080fd5b8063098144d4146103f0578063147224fb1461040557806318160ddd1461042557600080fd5b8063014635461461030457806301ffc9a71461034957806304634d8d1461037957806306fdde031461039b578063081812fc146103bd578063095ea7b3146103dd575b600080fd5b34801561031057600080fd5b5061032c73721c00182a990771244d7a71b9fa2ea789a3b43381565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561035557600080fd5b50610369610364366004612b30565b61091c565b6040519015158152602001610340565b34801561038557600080fd5b50610399610394366004612b7b565b61093c565b005b3480156103a757600080fd5b506103b0610952565b6040516103409190612bfe565b3480156103c957600080fd5b5061032c6103d8366004612c11565b6109e4565b6103996103eb366004612c2a565b610a28565b3480156103fc57600080fd5b5061032c610ac8565b34801561041157600080fd5b50610399610420366004612c96565b610b04565b34801561043157600080fd5b5060015460005403600019015b604051908152602001610340565b34801561045857600080fd5b50610369610467366004612cfc565b610cb6565b34801561047857600080fd5b50610481600081565b6040516103409190612d77565b34801561049a57600080fd5b5060115461032c906001600160a01b031681565b6103996104bc366004612d85565b610d59565b3480156104cd57600080fd5b506104e16104dc366004612dc1565b610f0b565b604080516001600160a01b039093168352602083019190915201610340565b34801561050c57600080fd5b5061036961051b366004612de3565b610fb9565b34801561052c57600080fd5b5061039961053b366004612e24565b610fc8565b34801561054c57600080fd5b506103996110c8565b610399610563366004612d85565b6110da565b34801561057457600080fd5b5061057d6110fa565b6040516103409190612e4e565b34801561059657600080fd5b506103996105a5366004612e9b565b611104565b3480156105b657600080fd5b50600d5460ff16610369565b3480156105ce57600080fd5b506105d7600081565b6040516001600160781b039091168152602001610340565b3480156105fb57600080fd5b5061039961060a366004612ece565b611117565b34801561061b57600080fd5b50600a546103699060ff1681565b34801561063557600080fd5b5061032c610644366004612c11565b611278565b34801561065557600080fd5b5061043e610664366004612de3565b60126020526000908152604090205481565b34801561068257600080fd5b50610399610691366004612f4d565b611283565b3480156106a257600080fd5b506103996106b1366004612de3565b611336565b3480156106c257600080fd5b50610399611360565b3480156106d757600080fd5b506103996106e6366004612c11565b61145f565b3480156106f757600080fd5b5061043e610706366004612de3565b61146c565b34801561071757600080fd5b506103996114bb565b34801561072c57600080fd5b5061039961073b366004612fad565b6114cd565b34801561074c57600080fd5b506103b06114e2565b34801561076157600080fd5b50610399610770366004612fef565b6114f1565b34801561078157600080fd5b5061039961159f565b34801561079657600080fd5b506103996107a5366004612fad565b6115af565b3480156107b657600080fd5b506008546001600160a01b031661032c565b3480156107d457600080fd5b506103b06115c4565b3480156107e957600080fd5b506103996107f8366004613029565b6115d3565b34801561080957600080fd5b50610399610818366004613046565b611622565b34801561082957600080fd5b50610399610838366004612de3565b61169b565b61039961084b366004613093565b611875565b34801561085c57600080fd5b506108656118b9565b604051610340919061316f565b34801561087e57600080fd5b506103b061088d366004612c11565b6118de565b34801561089e57600080fd5b50600e5461043e565b3480156108b357600080fd5b506103696108c23660046131ab565b61190f565b3480156108d357600080fd5b506103996108e2366004612de3565b61196c565b3480156108f357600080fd5b506103b06119e5565b34801561090857600080fd5b506103996109173660046131d5565b6119f4565b600061092782611b02565b80610936575061093682611b27565b92915050565b610944611b5c565b61094e8282611b64565b5050565b60606002805461096190613229565b80601f016020809104026020016040519081016040528092919081815260200182805461098d90613229565b80156109da5780601f106109af576101008083540402835291602001916109da565b820191906000526020600020905b8154815290600101906020018083116109bd57829003601f168201915b5050505050905090565b60006109ef82611bb9565b610a0c576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b6000610a3382611278565b9050336001600160a01b03821614610a6c57610a4f813361190f565b610a6c576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b600954630100000090046001600160a01b031680610b015760095460ff16610b01575073721c00182a990771244d7a71b9fa2ea789a3b4335b90565b8282826000610b1284611bf3565b90506000610b1f82611c68565b90506000610b638286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611cb692505050565b6011549091506001600160a01b03808316911614610bbc5760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5e9959081b5a5b9d607a1b60448201526064015b60405180910390fd5b610bc4611cda565b33610bd260208b018b612de3565b6001600160a01b031614610c1a5760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b6044820152606401610bb3565b33600090815260126020908152604090912054908a013590610c3d908c90613279565b1115610c7b5760405162461bcd60e51b815260206004820152600d60248201526c115e18d959591cc81b1a5b5a5d609a1b6044820152606401610bb3565b33600090815260126020526040812080548c9290610c9a908490613279565b90915550610caa9050338b611d20565b50505050505050505050565b600080610cc1610ac8565b90506001600160a01b03811615610d4c5760405163050bf71960e31b81526001600160a01b0386811660048301528581166024830152848116604483015282169063285fb8c89060640160006040518083038186803b158015610d2357600080fd5b505afa925050508015610d34575060015b610d42576000915050610d52565b6001915050610d52565b60019150505b9392505050565b6000610d6482611db9565b9050836001600160a01b0316816001600160a01b031614610d975760405162a1148160e81b815260040160405180910390fd5b60008281526006602052604090208054338082146001600160a01b03881690911417610de457610dc7863361190f565b610de457604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038516610e0b57604051633a954ecd60e21b815260040160405180910390fd5b610e188686866001611e28565b8015610e2357600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b84169003610eb557600184016000818152600460205260408120549003610eb3576000548114610eb35760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610f038686866001611e56565b505050505050565b6000828152600c602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610f80575060408051808201909152600b546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610f9f906001600160601b03168761328c565b610fa991906132a3565b91519350909150505b9250929050565b6000610fc3611e7d565b919050565b610fd0611b5c565b6000610fda610ac8565b90506001600160a01b03811661100357604051631cffe3dd60e11b815260040160405180910390fd5b604051630368065360e61b81526001600160a01b0382169063da0194c09061103190309087906004016132c5565b600060405180830381600087803b15801561104b57600080fd5b505af115801561105f573d6000803e3d6000fd5b5050604051631182550160e11b81526001600160a01b0384169250632304aa02915061109190309086906004016132e2565b600060405180830381600087803b1580156110ab57600080fd5b505af11580156110bf573d6000803e3d6000fd5b50505050505050565b6110d0611b5c565b6110d8611e96565b565b6110f583838360405180602001604052806000815250611875565b505050565b6060610b01611e7d565b61110c611b5c565b6110f5838383611ee8565b61111f611b5c565b6000611129610ac8565b90506001600160a01b03811661115257604051631cffe3dd60e11b815260040160405180910390fd5b604051630368065360e61b81526001600160a01b0382169063da0194c09061118090309088906004016132c5565b600060405180830381600087803b15801561119a57600080fd5b505af11580156111ae573d6000803e3d6000fd5b5050604051631182550160e11b81526001600160a01b0384169250632304aa0291506111e090309087906004016132e2565b600060405180830381600087803b1580156111fa57600080fd5b505af115801561120e573d6000803e3d6000fd5b505060405163235d10c560e21b81526001600160a01b0384169250638d744314915061124090309086906004016132e2565b600060405180830381600087803b15801561125a57600080fd5b505af115801561126e573d6000803e3d6000fd5b5050505050505050565b600061093682611db9565b61128b611b5c565b828181146112db5760405162461bcd60e51b815260206004820152601760248201527f4f776e6572206d696e743a2062616420726571756573740000000000000000006044820152606401610bb3565b60005b81811015610f035761132e8686838181106112fb576112fb613304565b90506020020160208101906113109190612de3565b85858481811061132257611322613304565b90506020020135611f41565b6001016112de565b61133e611b5c565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b611368611b5c565b61138573721c00182a990771244d7a71b9fa2ea789a3b43361169b565b604051630368065360e61b815273721c00182a990771244d7a71b9fa2ea789a3b4339063da0194c0906113bf9030906000906004016132c5565b600060405180830381600087803b1580156113d957600080fd5b505af11580156113ed573d6000803e3d6000fd5b5050604051635fbdfebf60e11b815273721c00182a990771244d7a71b9fa2ea789a3b433925063bf7bfd7e915061142b9030906000906004016132e2565b600060405180830381600087803b15801561144557600080fd5b505af1158015611459573d6000803e3d6000fd5b50505050565b611467611b5c565b600e55565b60006001600160a01b038216611495576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b6114c3611f4b565b6110d86000611fa5565b6114d5611b5c565b60106110f5828483613362565b6060600f805461096190613229565b6114f9611b5c565b6115028361169b565b6001600160a01b038316156110f557604051630368065360e61b81526001600160a01b0384169063da0194c09061153f90309086906004016132c5565b600060405180830381600087803b15801561155957600080fd5b505af115801561156d573d6000803e3d6000fd5b5050604051631182550160e11b81526001600160a01b0386169250632304aa02915061109190309085906004016132e2565b6115a7611b5c565b6110d8611ff7565b6115b7611b5c565b600f6110f5828483613362565b60606003805461096190613229565b6115db611b5c565b600a805460ff19168215159081179091556040519081527f6787c7f9a80aa0f5ceddab2c54f1f5169c0b88e75dd5e19d5e858a64144c7dbc9060200160405180910390a150565b3360008181526007602090815260408083206001600160a01b0387168085529252909120805460ff1916841515179055906001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161168f911515815260200190565b60405180910390a35050565b6116a3611b5c565b6000806001600160a01b0383163b15611795576040516301ffc9a760e01b8152600060048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015611717575060408051601f3d908101601f1916820190925261171491810190613422565b60015b15611723579150600290505b81611795576040516301ffc9a760e01b8152600060048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015611789575060408051601f3d908101601f1916820190925261178691810190613422565b60015b15611795579150600190505b6001600160a01b038316158015906117ab575081155b156117c9576040516332483afb60e01b815260040160405180910390fd5b7fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac6117f2610ac8565b604080516001600160a01b03928316815291861660208301520160405180910390a160408051606081018252600180825261ffff93909316602082018190526001600160a01b039590951691018190526009805462ffffff1916610100909502949094179091176301000000600160b81b03191663010000009091021790915550565b611880848484610d59565b6001600160a01b0383163b156114595761189c84848484612034565b611459576040516368d2bf6b60e11b815260040160405180910390fd5b6040805160608101825260008082526020820181905291810191909152610b01611e7d565b60606118e982611bb9565b61190657604051630a14c4b560e41b815260040160405180910390fd5b6109368261211f565b6001600160a01b0382811660009081526007602090815260408083209385168352929052205460ff168061093657600a5460ff161561093657611950610ac8565b6001600160a01b0316826001600160a01b031614905092915050565b611974611f4b565b6001600160a01b0381166119d95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bb3565b6119e281611fa5565b50565b60606010805461096190613229565b6119fc611b5c565b611a058461169b565b6001600160a01b0384161561145957604051630368065360e61b81526001600160a01b0385169063da0194c090611a4290309087906004016132c5565b600060405180830381600087803b158015611a5c57600080fd5b505af1158015611a70573d6000803e3d6000fd5b5050604051631182550160e11b81526001600160a01b0387169250632304aa029150611aa290309086906004016132e2565b600060405180830381600087803b158015611abc57600080fd5b505af1158015611ad0573d6000803e3d6000fd5b505060405163235d10c560e21b81526001600160a01b0387169250638d744314915061124090309085906004016132e2565b60006001600160e01b031982166310c8aba560e31b1480610936575061093682612156565b60006001600160e01b0319821663152a902d60e11b148061093657506301ffc9a760e01b6001600160e01b0319831614610936565b6110d8611f4b565b611b6e82826121a4565b6040516001600160601b03821681526001600160a01b038316907f8a8bae378cb731c5c40b632330c6836c2f916f48edb967699c86736f9a6a76ef9060200160405180910390a25050565b600081600111158015611bcd575060005482105b8015610936575050600090815260046020526040902054600160e01b161590565b905090565b60007f9744b1836edc406fca867e8e894c13baf57e07e68e7c22dd1acacb86acd0e775611c236020840184612de3565b604080516020818101949094526001600160a01b0390921690820152908301356060820152608001604051602081830303815290604052805190602001209050919050565b6000610936611c7561225e565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000611cc58585612385565b91509150611cd2816123c7565b509392505050565b600d5460ff16156110d85760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610bb3565b80600e5481611d2d612511565b611d379190613279565b1115611d765760405162461bcd60e51b815260206004820152600e60248201526d4578636565647320737570706c7960901b6044820152606401610bb3565b323314611daf5760405162461bcd60e51b81526020600482015260076024820152664e6f20626f747360c81b6044820152606401610bb3565b6110f58383612526565b60008180600111611e0f57600054811015611e0f5760008181526004602052604081205490600160e01b82169003611e0d575b80600003610d52575060001901600081815260046020526040902054611dec565b505b604051636f96cda160e11b815260040160405180910390fd5b60005b81811015611e4f57611e478585611e428487613279565b612540565b600101611e2b565b5050505050565b60005b81811015611e4f57611e758585611e708487613279565b612596565b600101611e59565b604051631454a55960e01b815260040160405180910390fd5b611e9e6125dd565b600d805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b611ef3838383612626565b6040516001600160601b03821681526001600160a01b0383169084907f7f5b076c952c0ec86e5425963c1326dd0f03a3595c19f81d765e8ff559a6e33c9060200160405180910390a3505050565b61094e8282611d20565b6008546001600160a01b031633146110d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bb3565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611fff611cda565b600d805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611ecb3390565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a029061206990339089908890889060040161343f565b6020604051808303816000875af19250505080156120a4575060408051601f3d908101601f191682019092526120a19181019061347c565b60015b612102573d8080156120d2576040519150601f19603f3d011682016040523d82523d6000602084013e6120d7565b606091505b5080516000036120fa576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6060600f61212c836126f1565b60106040516020016121409392919061350c565b6040516020818303038152906040529050919050565b60006301ffc9a760e01b6001600160e01b03198316148061218757506380ac58cd60e01b6001600160e01b03198316145b806109365750506001600160e01b031916635b5e139f60e01b1490565b6127106001600160601b03821611156121cf5760405162461bcd60e51b8152600401610bb39061353f565b6001600160a01b0382166122255760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610bb3565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600b55565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156122b757507f000000000000000000000000000000000000000000000000000000000000000046145b156122e157507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b60008082516041036123bb5760208301516040840151606085015160001a6123af87828585612784565b94509450505050610fb2565b50600090506002610fb2565b60008160048111156123db576123db612d3f565b036123e35750565b60018160048111156123f7576123f7612d3f565b036124445760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610bb3565b600281600481111561245857612458612d3f565b036124a55760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610bb3565b60038160048111156124b9576124b9612d3f565b036119e25760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610bb3565b6000611bee6001546000546000199190030190565b61094e828260405180602001604052806000815250612848565b6001600160a01b03838116159083161581801561255a5750805b1561257857604051635cbd944160e01b815260040160405180910390fd5b8115612584575b611e4f565b8061257f57611e4f33868686346128ae565b6001600160a01b0383811615908316158180156125b05750805b156125ce57604051635cbd944160e01b815260040160405180910390fd5b8161257f578061257f57611e4f565b600d5460ff166110d85760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610bb3565b6127106001600160601b03821611156126515760405162461bcd60e51b8152600401610bb39061353f565b6001600160a01b0382166126a75760405162461bcd60e51b815260206004820152601b60248201527f455243323938313a20496e76616c696420706172616d657465727300000000006044820152606401610bb3565b6040805180820182526001600160a01b0393841681526001600160601b0392831660208083019182526000968752600c90529190942093519051909116600160a01b029116179055565b606060006126fe8361292e565b600101905060008167ffffffffffffffff81111561271e5761271e61307d565b6040519080825280601f01601f191660200182016040528015612748576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461275257509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156127bb575060009050600361283f565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561280f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166128385760006001925092505061283f565b9150600090505b94509492505050565b6128528383612a06565b6001600160a01b0383163b156110f5576000548281035b61287c6000868380600101945086612034565b612899576040516368d2bf6b60e11b815260040160405180910390fd5b818110612869578160005414611e4f57600080fd5b60006128b8610ac8565b90506001600160a01b03811615610f035760405163050bf71960e31b81526001600160a01b0387811660048301528681166024830152858116604483015282169063285fb8c89060640160006040518083038186803b15801561291a57600080fd5b505afa158015610caa573d6000803e3d6000fd5b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061296d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612999576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106129b757662386f26fc10000830492506010015b6305f5e10083106129cf576305f5e100830492506008015b61271083106129e357612710830492506004015b606483106129f5576064830492506002015b600a83106109365760010192915050565b6000805490829003612a2b5760405163b562e8dd60e01b815260040160405180910390fd5b612a386000848385611e28565b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114612ae757808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101612aaf565b5081600003612b0857604051622e076360e81b815260040160405180910390fd5b60009081556110f59150848385611e56565b6001600160e01b0319811681146119e257600080fd5b600060208284031215612b4257600080fd5b8135610d5281612b1a565b80356001600160a01b0381168114610fc357600080fd5b80356001600160601b0381168114610fc357600080fd5b60008060408385031215612b8e57600080fd5b612b9783612b4d565b9150612ba560208401612b64565b90509250929050565b60005b83811015612bc9578181015183820152602001612bb1565b50506000910152565b60008151808452612bea816020860160208601612bae565b601f01601f19169290920160200192915050565b602081526000610d526020830184612bd2565b600060208284031215612c2357600080fd5b5035919050565b60008060408385031215612c3d57600080fd5b612c4683612b4d565b946020939093013593505050565b60008083601f840112612c6657600080fd5b50813567ffffffffffffffff811115612c7e57600080fd5b602083019150836020828501011115610fb257600080fd5b6000806000808486036080811215612cad57600080fd5b853594506040601f1982011215612cc357600080fd5b50602085019250606085013567ffffffffffffffff811115612ce457600080fd5b612cf087828801612c54565b95989497509550505050565b600080600060608486031215612d1157600080fd5b612d1a84612b4d565b9250612d2860208501612b4d565b9150612d3660408501612b4d565b90509250925092565b634e487b7160e01b600052602160045260246000fd5b60098110612d7357634e487b7160e01b600052602160045260246000fd5b9052565b602081016109368284612d55565b600080600060608486031215612d9a57600080fd5b612da384612b4d565b9250612db160208501612b4d565b9150604084013590509250925092565b60008060408385031215612dd457600080fd5b50508035926020909101359150565b600060208284031215612df557600080fd5b610d5282612b4d565b803560098110610fc357600080fd5b80356001600160781b0381168114610fc357600080fd5b60008060408385031215612e3757600080fd5b612e4083612dfe565b9150612ba560208401612e0d565b6020808252825182820181905260009190848201906040850190845b81811015612e8f5783516001600160a01b031683529284019291840191600101612e6a565b50909695505050505050565b600080600060608486031215612eb057600080fd5b83359250612ec060208501612b4d565b9150612d3660408501612b64565b600080600060608486031215612ee357600080fd5b612eec84612dfe565b9250612efa60208501612e0d565b9150612d3660408501612e0d565b60008083601f840112612f1a57600080fd5b50813567ffffffffffffffff811115612f3257600080fd5b6020830191508360208260051b8501011115610fb257600080fd5b60008060008060408587031215612f6357600080fd5b843567ffffffffffffffff80821115612f7b57600080fd5b612f8788838901612f08565b90965094506020870135915080821115612fa057600080fd5b50612cf087828801612f08565b60008060208385031215612fc057600080fd5b823567ffffffffffffffff811115612fd757600080fd5b612fe385828601612c54565b90969095509350505050565b60008060006060848603121561300457600080fd5b61300d84612b4d565b9250612efa60208501612dfe565b80151581146119e257600080fd5b60006020828403121561303b57600080fd5b8135610d528161301b565b6000806040838503121561305957600080fd5b61306283612b4d565b915060208301356130728161301b565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156130a957600080fd5b6130b285612b4d565b93506130c060208601612b4d565b925060408501359150606085013567ffffffffffffffff808211156130e457600080fd5b818701915087601f8301126130f857600080fd5b81358181111561310a5761310a61307d565b604051601f8201601f19908116603f011681019083821181831017156131325761313261307d565b816040528281528a602084870101111561314b57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000606082019050613182828451612d55565b60208301516001600160781b038082166020850152806040860151166040850152505092915050565b600080604083850312156131be57600080fd5b6131c783612b4d565b9150612ba560208401612b4d565b600080600080608085870312156131eb57600080fd5b6131f485612b4d565b935061320260208601612dfe565b925061321060408601612e0d565b915061321e60608601612e0d565b905092959194509250565b600181811c9082168061323d57607f821691505b60208210810361325d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561093657610936613263565b808202811582820484141761093657610936613263565b6000826132c057634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b038316815260408101610d526020830184612d55565b6001600160a01b039290921682526001600160781b0316602082015260400190565b634e487b7160e01b600052603260045260246000fd5b601f8211156110f5576000816000526020600020601f850160051c810160208610156133435750805b601f850160051c820191505b81811015610f035782815560010161334f565b67ffffffffffffffff83111561337a5761337a61307d565b61338e836133888354613229565b8361331a565b6000601f8411600181146133c257600085156133aa5750838201355b600019600387901b1c1916600186901b178355611e4f565b600083815260209020601f19861690835b828110156133f357868501358255602094850194600190920191016133d3565b50868210156134105760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60006020828403121561343457600080fd5b8151610d528161301b565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061347290830184612bd2565b9695505050505050565b60006020828403121561348e57600080fd5b8151610d5281612b1a565b600081546134a681613229565b600182811680156134be57600181146134d357613502565b60ff1984168752821515830287019450613502565b8560005260208060002060005b858110156134f95781548a8201529084019082016134e0565b50505082870194505b5050505092915050565b60006135188286613499565b8451613528818360208901612bae565b61353481830186613499565b979650505050505050565b6020808252602a908201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646040820152692073616c65507269636560b01b60608201526080019056fea2646970667358221220a8e7d7639d33b60b209b6c30fe3e0a45f5758ca8dc9b47dd0c9ed51fa34ebc3c64736f6c6343000818003300000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000002eb000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000c2106a1d810918cafd592ff24ec255ced0a4c2ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014544f444159202d20416e6369656e7420536565640000000000000000000000000000000000000000000000000000000000000000000000000000000000000007414e4349454e5400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004468747470733a2f2f697066732e696f2f697066732f516d5153356b4433474637784e446b46686278686458754a52595a6e694339784e70786351796666684879666b672f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052e6a736f6e000000000000000000000000000000000000000000000000000000
0xa2646970667358221220a8e7d7639d33b60b209b6c30fe3e0a45f5758ca8dc9b47dd0c9ed51fa34ebc3c64736f6c6343000818003300000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000002eb000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000c2106a1d810918cafd592ff24ec255ced0a4c2ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014544f444159202d20416e6369656e7420536565640000000000000000000000000000000000000000000000000000000000000000000000000000000000000007414e4349454e5400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004468747470733a2f2f697066732e696f2f697066732f516d5153356b4433474637784e446b46686278686458754a52595a6e694339784e70786351796666684879666b672f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052e6a736f6e000000000000000000000000000000000000000000000000000000