[ { "inputs": [ { "internalType": "uint256", "name": "_publicPrice", "type": "uint256" }, { "internalType": "uint256", "name": "_presalePrice", "type": "uint256" }, { "internalType": "uint256", "name": "_maxPerWalletPresale", "type": "uint256" }, { "internalType": "uint256", "name": "_maxPerWalletPublic", "type": "uint256" }, { "internalType": "uint256", "name": "_internalSupply", "type": "uint256" }, { "internalType": "uint256", "name": "_presaleSupply", "type": "uint256" }, { "internalType": "uint256", "name": "_maxSupply", "type": "uint256" }, { "internalType": "address", "name": "_signerAddress", "type": "address" }, { "internalType": "string", "name": "_metadataBaseURI", "type": "string" }, { "internalType": "string", "name": "_claimedBaseURI", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "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": "TransferCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "TransferFromIncorrectOwner", "type": "error" }, { "inputs": [], "name": "TransferToNonERC721ReceiverImplementer", "type": "error" }, { "inputs": [], "name": "TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "URIQueryForNonexistentToken", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "toTokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "ConsecutiveTransfer", "type": "event" }, { "anonymous": false, "inputs": [ { "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": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_newAdmin", "type": "address" } ], "name": "addAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "addToRegistry", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "admins", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "payable", "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": "", "type": "uint256" } ], "name": "claimed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "fiatMint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxPerWalletPresale", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxPerWalletPublic", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "operatorFilterIsActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "presale", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bytes", "name": "_signature", "type": "bytes" } ], "name": "presaleMint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "presaleMinted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "presalePrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "presaleSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "publicPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_adminToRemove", "type": "address" } ], "name": "removeAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "removeFromRegistry", "outputs": [], "stateMutability": "nonpayable", "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": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "setClaimed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" } ], "name": "setClaimedBulk", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "active", "type": "bool" } ], "name": "toggleOperatorFilterActive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_presale", "type": "bool" } ], "name": "togglePresale", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "string", "name": "_newBaseURI", "type": "string" } ], "name": "updateBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newClaimedURI", "type": "string" } ], "name": "updateClaimedURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_presalePrice", "type": "uint256" }, { "internalType": "uint256", "name": "_publicPrice", "type": "uint256" } ], "name": "updatePrices", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526000600a60146101000a81548160ff0219169083151502179055506001600c60006101000a81548160ff0219169083151502179055503480156200004757600080fd5b50604051620055de380380620055de83398181016040528101906200006d919062000a9a565b6040518060400160405280601481526020017f42554c4c53206279204c415252594449444954540000000000000000000000008152506040518060400160405280600581526020017f42554c4c530000000000000000000000000000000000000000000000000000008152508160029081620000ea919062000e0f565b508060039081620000fc919062000e0f565b506200010d6200024760201b60201c565b600081905550505062000135620001296200025f60201b60201c565b6200026760201b60201c565b89600e8190555088600d8190555087600f81905550866010819055508460118190555060006012819055508360138190555082601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160169081620001b9919062000e0f565b508060179081620001cb919062000e0f565b50620001ec620001e06200025f60201b60201c565b6200032d60201b60201c565b620001fd836200032d60201b60201c565b62000211306102586200039860201b60201c565b62000237733c3a52fce8e9634dcf34bee8f4146a175eb76d05876200053b60201b60201c565b50505050505050505050620010ed565b6000600161101c6200025a919062000f25565b905090565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200033d6200072260201b60201c565b6001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b620003a8620007b360201b60201c565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff16111562000409576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004009062000fe7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200047b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004729062001059565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600860008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b600080549050600082036200057c576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620005916000848385620007bd60201b60201c565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506200062083620006026000866000620007c360201b60201c565b6200061385620007f360201b60201c565b176200080360201b60201c565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b818114620006c357808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a460018101905062000686565b5060008203620006ff576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506200071d60008483856200082e60201b60201c565b505050565b620007326200025f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620007586200083460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620007b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007a890620010cb565b60405180910390fd5b565b6000612710905090565b50505050565b60008060e883901c905060e8620007e28686846200085e60201b60201c565b62ffffff16901b9150509392505050565b60006001821460e11b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60009392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b62000890816200087b565b81146200089c57600080fd5b50565b600081519050620008b08162000885565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008e382620008b6565b9050919050565b620008f581620008d6565b81146200090157600080fd5b50565b6000815190506200091581620008ea565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620009708262000925565b810181811067ffffffffffffffff8211171562000992576200099162000936565b5b80604052505050565b6000620009a762000867565b9050620009b5828262000965565b919050565b600067ffffffffffffffff821115620009d857620009d762000936565b5b620009e38262000925565b9050602081019050919050565b60005b8381101562000a10578082015181840152602081019050620009f3565b60008484015250505050565b600062000a3362000a2d84620009ba565b6200099b565b90508281526020810184848401111562000a525762000a5162000920565b5b62000a5f848285620009f0565b509392505050565b600082601f83011262000a7f5762000a7e6200091b565b5b815162000a9184826020860162000a1c565b91505092915050565b6000806000806000806000806000806101408b8d03121562000ac15762000ac062000871565b5b600062000ad18d828e016200089f565b9a5050602062000ae48d828e016200089f565b995050604062000af78d828e016200089f565b985050606062000b0a8d828e016200089f565b975050608062000b1d8d828e016200089f565b96505060a062000b308d828e016200089f565b95505060c062000b438d828e016200089f565b94505060e062000b568d828e0162000904565b9350506101008b015167ffffffffffffffff81111562000b7b5762000b7a62000876565b5b62000b898d828e0162000a67565b9250506101208b015167ffffffffffffffff81111562000bae5762000bad62000876565b5b62000bbc8d828e0162000a67565b9150509295989b9194979a5092959850565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c2157607f821691505b60208210810362000c375762000c3662000bd9565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000ca17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c62565b62000cad868362000c62565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000cf062000cea62000ce4846200087b565b62000cc5565b6200087b565b9050919050565b6000819050919050565b62000d0c8362000ccf565b62000d2462000d1b8262000cf7565b84845462000c6f565b825550505050565b600090565b62000d3b62000d2c565b62000d4881848462000d01565b505050565b5b8181101562000d705762000d6460008262000d31565b60018101905062000d4e565b5050565b601f82111562000dbf5762000d898162000c3d565b62000d948462000c52565b8101602085101562000da4578190505b62000dbc62000db38562000c52565b83018262000d4d565b50505b505050565b600082821c905092915050565b600062000de46000198460080262000dc4565b1980831691505092915050565b600062000dff838362000dd1565b9150826002028217905092915050565b62000e1a8262000bce565b67ffffffffffffffff81111562000e365762000e3562000936565b5b62000e42825462000c08565b62000e4f82828562000d74565b600060209050601f83116001811462000e87576000841562000e72578287015190505b62000e7e858262000df1565b86555062000eee565b601f19841662000e978662000c3d565b60005b8281101562000ec15784890151825560018201915060208501945060208101905062000e9a565b8683101562000ee1578489015162000edd601f89168262000dd1565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000f32826200087b565b915062000f3f836200087b565b925082820190508082111562000f5a5762000f5962000ef6565b5b92915050565b600082825260208201905092915050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b600062000fcf602a8362000f60565b915062000fdc8262000f71565b604082019050919050565b60006020820190508181036000830152620010028162000fc0565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b60006200104160198362000f60565b91506200104e8262001009565b602082019050919050565b60006020820190508181036000830152620010748162001032565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620010b360208362000f60565b9150620010c0826200107b565b602082019050919050565b60006020820190508181036000830152620010e681620010a4565b9050919050565b6144e180620010fd6000396000f3fe6080604052600436106102665760003560e01c806373aee92911610144578063c87b56dd116100b6578063e7aa0bd71161007a578063e7aa0bd7146108da578063e985e9c514610903578063ef88d7f014610940578063f2fde38b14610969578063fd24a85414610992578063fdea8e0b146109ae57610266565b8063c87b56dd146107e3578063ca3bee6c14610820578063d5abeb0114610849578063db0b0da814610874578063dbe7e3bd1461089d57610266565b8063a22cb46511610108578063a22cb465146106f4578063a40c99341461071d578063a945bf8014610746578063b029a51414610771578063b3a196e91461079c578063b88d4fde146107c757610266565b806373aee9291461062e5780638da5cb5b14610659578063931688cb1461068457806395d89b41146106ad578063a0712d68146106d857610266565b80632a55205a116101dd578063429b62e5116101a1578063429b62e51461050e5780636352211e1461054b5780636b2ce7f11461058857806370480275146105b157806370a08231146105da578063715018a61461061757610266565b80632a55205a146104395780632e1a7d4d146104775780632fae7387146104a05780633d3f9243146104c957806342842e0e146104f257610266565b8063106de43d1161022f578063106de43d1461035757806317243121146103825780631785f53c1461039e57806318160ddd146103c7578063230a9b8d146103f257806323b872dd1461041d57610266565b80620e7fa81461026b57806301ffc9a71461029657806306fdde03146102d3578063081812fc146102fe578063095ea7b31461033b575b600080fd5b34801561027757600080fd5b506102806109d9565b60405161028d9190612e32565b60405180910390f35b3480156102a257600080fd5b506102bd60048036038101906102b89190612eb9565b6109df565b6040516102ca9190612f01565b60405180910390f35b3480156102df57600080fd5b506102e86109f1565b6040516102f59190612fac565b60405180910390f35b34801561030a57600080fd5b5061032560048036038101906103209190612ffa565b610a83565b6040516103329190613068565b60405180910390f35b610355600480360381019061035091906130af565b610b02565b005b34801561036357600080fd5b5061036c610c46565b6040516103799190612f01565b60405180910390f35b61039c600480360381019061039791906130ef565b610c59565b005b3480156103aa57600080fd5b506103c560048036038101906103c0919061312f565b610dcb565b005b3480156103d357600080fd5b506103dc610e2e565b6040516103e99190612e32565b60405180910390f35b3480156103fe57600080fd5b50610407610e45565b6040516104149190612e32565b60405180910390f35b6104376004803603810190610432919061315c565b610e4b565b005b34801561044557600080fd5b50610460600480360381019061045b91906131af565b610ebe565b60405161046e9291906131ef565b60405180910390f35b34801561048357600080fd5b5061049e60048036038101906104999190612ffa565b6110a8565b005b3480156104ac57600080fd5b506104c760048036038101906104c2919061312f565b611101565b005b3480156104d557600080fd5b506104f060048036038101906104eb919061327d565b611164565b005b61050c6004803603810190610507919061315c565b61123f565b005b34801561051a57600080fd5b506105356004803603810190610530919061312f565b6112b2565b6040516105429190612f01565b60405180910390f35b34801561055757600080fd5b50610572600480360381019061056d9190612ffa565b6112d2565b60405161057f9190613068565b60405180910390f35b34801561059457600080fd5b506105af60048036038101906105aa91906132f6565b6112e4565b005b3480156105bd57600080fd5b506105d860048036038101906105d3919061312f565b611309565b005b3480156105e657600080fd5b5061060160048036038101906105fc919061312f565b61136c565b60405161060e9190612e32565b60405180910390f35b34801561062357600080fd5b5061062c611424565b005b34801561063a57600080fd5b50610643611438565b6040516106509190612e32565b60405180910390f35b34801561066557600080fd5b5061066e61143e565b60405161067b9190613068565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a69190613453565b611468565b005b3480156106b957600080fd5b506106c2611483565b6040516106cf9190612fac565b60405180910390f35b6106f260048036038101906106ed9190612ffa565b611515565b005b34801561070057600080fd5b5061071b6004803603810190610716919061349c565b611686565b005b34801561072957600080fd5b50610744600480360381019061073f91906132f6565b611791565b005b34801561075257600080fd5b5061075b6117b6565b6040516107689190612e32565b60405180910390f35b34801561077d57600080fd5b506107866117bc565b6040516107939190612e32565b60405180910390f35b3480156107a857600080fd5b506107b16117c2565b6040516107be9190612e32565b60405180910390f35b6107e160048036038101906107dc919061357d565b6117c8565b005b3480156107ef57600080fd5b5061080a60048036038101906108059190612ffa565b61183d565b6040516108179190612fac565b60405180910390f35b34801561082c57600080fd5b5061084760048036038101906108429190613453565b611961565b005b34801561085557600080fd5b5061085e61197c565b60405161086b9190612e32565b60405180910390f35b34801561088057600080fd5b5061089b6004803603810190610896919061312f565b611982565b005b3480156108a957600080fd5b506108c460048036038101906108bf9190612ffa565b6119e5565b6040516108d19190612f01565b60405180910390f35b3480156108e657600080fd5b5061090160048036038101906108fc9190612ffa565b611a05565b005b34801561090f57600080fd5b5061092a60048036038101906109259190613600565b611ac7565b6040516109379190612f01565b60405180910390f35b34801561094c57600080fd5b50610967600480360381019061096291906131af565b611b5b565b005b34801561097557600080fd5b50610990600480360381019061098b919061312f565b611b75565b005b6109ac60048036038101906109a79190613696565b611bf8565b005b3480156109ba57600080fd5b506109c3611e6c565b6040516109d09190612f01565b60405180910390f35b600d5481565b60006109ea82611e7f565b9050919050565b606060028054610a0090613725565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2c90613725565b8015610a795780601f10610a4e57610100808354040283529160200191610a79565b820191906000526020600020905b815481529060010190602001808311610a5c57829003601f168201915b5050505050905090565b6000610a8e82611ef9565b610ac4576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610b0d826112d2565b90508073ffffffffffffffffffffffffffffffffffffffff16610b2e611f58565b73ffffffffffffffffffffffffffffffffffffffff1614610b9157610b5a81610b55611f58565b611ac7565b610b90576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600a60149054906101000a900460ff1681565b600c60009054906101000a900460ff1615610ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca0906137ee565b60405180910390fd5b81600e54610cb7919061383d565b3414610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef906138cb565b60405180910390fd5b600060105414610d5b5760105482610d0f8361136c565b610d1991906138eb565b1115610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d519061396b565b60405180910390fd5b5b600060135414610dbd5760135482610d71610e2e565b610d7b91906138eb565b1115610dbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db3906139d7565b60405180910390fd5b5b610dc78183611f60565b5050565b610dd361211b565b6000601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610e38612199565b6001546000540303905090565b600f5481565b82600a60149054906101000a900460ff1615610ead57610e696121af565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610eac57610eab610ea66121af565b6121b7565b5b5b610eb8848484612246565b50505050565b6000806000600960008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16036110535760086040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b600061105d612568565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686611089919061383d565b6110939190613a26565b90508160000151819350935050509250929050565b6110b061211b565b6110b861143e565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156110fd573d6000803e3d6000fd5b5050565b61110961211b565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601560006111706121af565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee90613aa3565b60405180910390fd5b60005b8282905081101561123a5761122783838381811061121b5761121a613ac3565b5b90506020020135611a05565b808061123290613af2565b9150506111fa565b505050565b82600a60149054906101000a900460ff16156112a15761125d6121af565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146112a05761129f61129a6121af565b6121b7565b5b5b6112ac848484612572565b50505050565b60156020528060005260406000206000915054906101000a900460ff1681565b60006112dd82612592565b9050919050565b6112ec61211b565b80600c60006101000a81548160ff02191690831515021790555050565b61131161211b565b6001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113d3576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b61142c61211b565b611436600061265e565b565b60125481565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61147061211b565b806016908161147f9190613ce6565b5050565b60606003805461149290613725565b80601f01602080910402602001604051908101604052809291908181526020018280546114be90613725565b801561150b5780601f106114e05761010080835404028352916020019161150b565b820191906000526020600020905b8154815290600101906020018083116114ee57829003601f168201915b5050505050905090565b600c60009054906101000a900460ff1615611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c90613e04565b60405180910390fd5b80600e54611573919061383d565b34146115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ab906138cb565b60405180910390fd5b60006010541461161757601054816115cb3361136c565b6115d591906138eb565b1115611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d9061396b565b60405180910390fd5b5b600060135414611679576013548161162d610e2e565b61163791906138eb565b1115611678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166f906139d7565b60405180910390fd5b5b6116833382611f60565b50565b8060076000611693611f58565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611740611f58565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516117859190612f01565b60405180910390a35050565b61179961211b565b80600a60146101000a81548160ff02191690831515021790555050565b600e5481565b60105481565b60115481565b83600a60149054906101000a900460ff161561182a576117e66121af565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611829576118286118236121af565b6121b7565b5b5b61183685858585612724565b5050505050565b606061184882611ef9565b61187e576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6014600083815260200190815260200160002060009054906101000a900460ff1615611902576000601780546118b390613725565b9050036118cf57604051806020016040528060008152506118fb565b60176118da83612797565b6040516020016118eb929190613ee3565b6040516020818303038152906040525b905061195c565b60006016805461191190613725565b90500361192d5760405180602001604052806000815250611959565b601661193883612797565b604051602001611949929190613ee3565b6040516020818303038152906040525b90505b919050565b61196961211b565b80601790816119789190613ce6565b5050565b60135481565b61198a61211b565b6001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60146020528060005260406000206000915054906101000a900460ff1681565b60156000611a116121af565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f90613aa3565b60405180910390fd5b60016014600083815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611b6361211b565b81600d8190555080600e819055505050565b611b7d61211b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be390613f79565b60405180910390fd5b611bf58161265e565b50565b600c60009054906101000a900460ff16611c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3e90613fe5565b60405180910390fd5b611c9482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506127e7565b611cd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cca90614051565b60405180910390fd5b82600d54611ce1919061383d565b3414611d22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d19906138cb565b60405180910390fd5b6000600f5414611d8557600f5483611d393361136c565b611d4391906138eb565b1115611d84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b9061396b565b60405180910390fd5b5b600060115414611de25760115483601254611da091906138eb565b1115611de1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd8906140bd565b60405180910390fd5b5b600060135414611e445760135483611df8610e2e565b611e0291906138eb565b1115611e43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3a906139d7565b60405180910390fd5b5b611e4e3384611f60565b8260126000828254611e6091906138eb565b92505081905550505050565b600c60009054906101000a900460ff1681565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611ef25750611ef182612886565b5b9050919050565b600081611f04612199565b11158015611f13575060005482105b8015611f51575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600033905090565b60008054905060008203611fa0576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611fad60008483856128f0565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506120248361201560008660006128f6565b61201e8561291e565b1761292e565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b8181146120c557808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a460018101905061208a565b5060008203612100576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506121166000848385612959565b505050565b6121236121af565b73ffffffffffffffffffffffffffffffffffffffff1661214161143e565b73ffffffffffffffffffffffffffffffffffffffff1614612197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218e90614129565b60405180910390fd5b565b6000600161101c6121aa91906138eb565b905090565b600033905090565b600b60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223a90614195565b60405180910390fd5b50565b600061225182612592565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146122b8576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806122c48461295f565b915091506122da81876122d5611f58565b612986565b612326576122ef866122ea611f58565b611ac7565b612325576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361238c576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61239986868660016128f0565b80156123a457600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154600101919050819055506124728561244e8888876128f6565b7c02000000000000000000000000000000000000000000000000000000001761292e565b600460008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416036124f857600060018501905060006004600083815260200190815260200160002054036124f65760005481146124f5578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46125608686866001612959565b505050505050565b6000612710905090565b61258d838383604051806020016040528060008152506117c8565b505050565b600080829050806125a1612199565b11612627576000548110156126265760006004600083815260200190815260200160002054905060007c0100000000000000000000000000000000000000000000000000000000821603612624575b6000810361261a5760046000836001900393508381526020019081526020016000205490506125f0565b8092505050612659565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61272f848484610e4b565b60008373ffffffffffffffffffffffffffffffffffffffff163b146127915761275a848484846129ca565b612790576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b606060a060405101806040526020810391506000825281835b6001156127d257600184039350600a81066030018453600a81049050806127b0575b50828103602084039350808452505050919050565b600080336040516020016127fb9190613068565b604051602081830303815290604052805190602001209050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128678461285984612b1a565b612b5090919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1614915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b60008060e883901c905060e861290d868684612b77565b62ffffff16901b9150509392505050565b60006001821460e11b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a026129f0611f58565b8786866040518563ffffffff1660e01b8152600401612a12949392919061420a565b6020604051808303816000875af1925050508015612a4e57506040513d601f19601f82011682018060405250810190612a4b919061426b565b60015b612ac7573d8060008114612a7e576040519150601f19603f3d011682016040523d82523d6000602084013e612a83565b606091505b506000815103612abf576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b60007f19457468657265756d205369676e6564204d6573736167653a0a33320000000060005281601c52603c6000209050919050565b6000806000612b5f8585612b80565b91509150612b6c81612bd1565b819250505092915050565b60009392505050565b6000806041835103612bc15760008060006020860151925060408601519150606086015160001a9050612bb587828585612d37565b94509450505050612bca565b60006002915091505b9250929050565b60006004811115612be557612be4614298565b5b816004811115612bf857612bf7614298565b5b0315612d345760016004811115612c1257612c11614298565b5b816004811115612c2557612c24614298565b5b03612c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c5c90614313565b60405180910390fd5b60026004811115612c7957612c78614298565b5b816004811115612c8c57612c8b614298565b5b03612ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cc39061437f565b60405180910390fd5b60036004811115612ce057612cdf614298565b5b816004811115612cf357612cf2614298565b5b03612d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2a90614411565b60405180910390fd5b5b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612d72576000600391509150612e10565b600060018787878760405160008152602001604052604051612d979493929190614466565b6020604051602081039080840390855afa158015612db9573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612e0757600060019250925050612e10565b80600092509250505b94509492505050565b6000819050919050565b612e2c81612e19565b82525050565b6000602082019050612e476000830184612e23565b92915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612e9681612e61565b8114612ea157600080fd5b50565b600081359050612eb381612e8d565b92915050565b600060208284031215612ecf57612ece612e57565b5b6000612edd84828501612ea4565b91505092915050565b60008115159050919050565b612efb81612ee6565b82525050565b6000602082019050612f166000830184612ef2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f56578082015181840152602081019050612f3b565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f7e82612f1c565b612f888185612f27565b9350612f98818560208601612f38565b612fa181612f62565b840191505092915050565b60006020820190508181036000830152612fc68184612f73565b905092915050565b612fd781612e19565b8114612fe257600080fd5b50565b600081359050612ff481612fce565b92915050565b6000602082840312156130105761300f612e57565b5b600061301e84828501612fe5565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061305282613027565b9050919050565b61306281613047565b82525050565b600060208201905061307d6000830184613059565b92915050565b61308c81613047565b811461309757600080fd5b50565b6000813590506130a981613083565b92915050565b600080604083850312156130c6576130c5612e57565b5b60006130d48582860161309a565b92505060206130e585828601612fe5565b9150509250929050565b6000806040838503121561310657613105612e57565b5b600061311485828601612fe5565b92505060206131258582860161309a565b9150509250929050565b60006020828403121561314557613144612e57565b5b60006131538482850161309a565b91505092915050565b60008060006060848603121561317557613174612e57565b5b60006131838682870161309a565b93505060206131948682870161309a565b92505060406131a586828701612fe5565b9150509250925092565b600080604083850312156131c6576131c5612e57565b5b60006131d485828601612fe5565b92505060206131e585828601612fe5565b9150509250929050565b60006040820190506132046000830185613059565b6132116020830184612e23565b9392505050565b600080fd5b600080fd5b600080fd5b60008083601f84011261323d5761323c613218565b5b8235905067ffffffffffffffff81111561325a5761325961321d565b5b60208301915083602082028301111561327657613275613222565b5b9250929050565b6000806020838503121561329457613293612e57565b5b600083013567ffffffffffffffff8111156132b2576132b1612e5c565b5b6132be85828601613227565b92509250509250929050565b6132d381612ee6565b81146132de57600080fd5b50565b6000813590506132f0816132ca565b92915050565b60006020828403121561330c5761330b612e57565b5b600061331a848285016132e1565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61336082612f62565b810181811067ffffffffffffffff8211171561337f5761337e613328565b5b80604052505050565b6000613392612e4d565b905061339e8282613357565b919050565b600067ffffffffffffffff8211156133be576133bd613328565b5b6133c782612f62565b9050602081019050919050565b82818337600083830152505050565b60006133f66133f1846133a3565b613388565b90508281526020810184848401111561341257613411613323565b5b61341d8482856133d4565b509392505050565b600082601f83011261343a57613439613218565b5b813561344a8482602086016133e3565b91505092915050565b60006020828403121561346957613468612e57565b5b600082013567ffffffffffffffff81111561348757613486612e5c565b5b61349384828501613425565b91505092915050565b600080604083850312156134b3576134b2612e57565b5b60006134c18582860161309a565b92505060206134d2858286016132e1565b9150509250929050565b600067ffffffffffffffff8211156134f7576134f6613328565b5b61350082612f62565b9050602081019050919050565b600061352061351b846134dc565b613388565b90508281526020810184848401111561353c5761353b613323565b5b6135478482856133d4565b509392505050565b600082601f83011261356457613563613218565b5b813561357484826020860161350d565b91505092915050565b6000806000806080858703121561359757613596612e57565b5b60006135a58782880161309a565b94505060206135b68782880161309a565b93505060406135c787828801612fe5565b925050606085013567ffffffffffffffff8111156135e8576135e7612e5c565b5b6135f48782880161354f565b91505092959194509250565b6000806040838503121561361757613616612e57565b5b60006136258582860161309a565b92505060206136368582860161309a565b9150509250929050565b60008083601f84011261365657613655613218565b5b8235905067ffffffffffffffff8111156136735761367261321d565b5b60208301915083600182028301111561368f5761368e613222565b5b9250929050565b6000806000604084860312156136af576136ae612e57565b5b60006136bd86828701612fe5565b935050602084013567ffffffffffffffff8111156136de576136dd612e5c565b5b6136ea86828701613640565b92509250509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061373d57607f821691505b6020821081036137505761374f6136f6565b5b50919050565b7f50726573616c65206973207374696c6c206163746976652e202043726561746560008201527f20612077616c6c657420746f206d696e7420647572696e67207468652070726560208201527f73616c6500000000000000000000000000000000000000000000000000000000604082015250565b60006137d8604483612f27565b91506137e382613756565b606082019050919050565b60006020820190508181036000830152613807816137cb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061384882612e19565b915061385383612e19565b925082820261386181612e19565b915082820484148315176138785761387761380e565b5b5092915050565b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b60006138b5601283612f27565b91506138c08261387f565b602082019050919050565b600060208201905081810360008301526138e4816138a8565b9050919050565b60006138f682612e19565b915061390183612e19565b92508282019050808211156139195761391861380e565b5b92915050565b7f4d6178207065722077616c6c6574206578636565646564000000000000000000600082015250565b6000613955601783612f27565b91506139608261391f565b602082019050919050565b6000602082019050818103600083015261398481613948565b9050919050565b7f4d617820737570706c7920657863656564656400000000000000000000000000600082015250565b60006139c1601383612f27565b91506139cc8261398b565b602082019050919050565b600060208201905081810360008301526139f0816139b4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613a3182612e19565b9150613a3c83612e19565b925082613a4c57613a4b6139f7565b5b828204905092915050565b7f73656e646572206973206e6f7420616e2061646d696e00000000000000000000600082015250565b6000613a8d601683612f27565b9150613a9882613a57565b602082019050919050565b60006020820190508181036000830152613abc81613a80565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613afd82612e19565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613b2f57613b2e61380e565b5b600182019050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613b9c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613b5f565b613ba68683613b5f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000613be3613bde613bd984612e19565b613bbe565b612e19565b9050919050565b6000819050919050565b613bfd83613bc8565b613c11613c0982613bea565b848454613b6c565b825550505050565b600090565b613c26613c19565b613c31818484613bf4565b505050565b5b81811015613c5557613c4a600082613c1e565b600181019050613c37565b5050565b601f821115613c9a57613c6b81613b3a565b613c7484613b4f565b81016020851015613c83578190505b613c97613c8f85613b4f565b830182613c36565b50505b505050565b600082821c905092915050565b6000613cbd60001984600802613c9f565b1980831691505092915050565b6000613cd68383613cac565b9150826002028217905092915050565b613cef82612f1c565b67ffffffffffffffff811115613d0857613d07613328565b5b613d128254613725565b613d1d828285613c59565b600060209050601f831160018114613d505760008415613d3e578287015190505b613d488582613cca565b865550613db0565b601f198416613d5e86613b3a565b60005b82811015613d8657848901518255600182019150602085019450602081019050613d61565b86831015613da35784890151613d9f601f891682613cac565b8355505b6001600288020188555050505b505050505050565b7f50726573616c65206973207374696c6c20616374697665000000000000000000600082015250565b6000613dee601783612f27565b9150613df982613db8565b602082019050919050565b60006020820190508181036000830152613e1d81613de1565b9050919050565b600081905092915050565b60008154613e3c81613725565b613e468186613e24565b94506001821660008114613e615760018114613e7657613ea9565b60ff1983168652811515820286019350613ea9565b613e7f85613b3a565b60005b83811015613ea157815481890152600182019150602081019050613e82565b838801955050505b50505092915050565b6000613ebd82612f1c565b613ec78185613e24565b9350613ed7818560208601612f38565b80840191505092915050565b6000613eef8285613e2f565b9150613efb8284613eb2565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f63602683612f27565b9150613f6e82613f07565b604082019050919050565b60006020820190508181036000830152613f9281613f56565b9050919050565b7f50726573616c65206973206e6f74206163746976650000000000000000000000600082015250565b6000613fcf601583612f27565b9150613fda82613f99565b602082019050919050565b60006020820190508181036000830152613ffe81613fc2565b9050919050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b600061403b601183612f27565b915061404682614005565b602082019050919050565b6000602082019050818103600083015261406a8161402e565b9050919050565b7f50726573616c6520737570706c79206578636565646564000000000000000000600082015250565b60006140a7601783612f27565b91506140b282614071565b602082019050919050565b600060208201905081810360008301526140d68161409a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614113602083612f27565b915061411e826140dd565b602082019050919050565b6000602082019050818103600083015261414281614106565b9050919050565b7f4f70657261746f72206973206e6f7420696e2072656769737472790000000000600082015250565b600061417f601b83612f27565b915061418a82614149565b602082019050919050565b600060208201905081810360008301526141ae81614172565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006141dc826141b5565b6141e681856141c0565b93506141f6818560208601612f38565b6141ff81612f62565b840191505092915050565b600060808201905061421f6000830187613059565b61422c6020830186613059565b6142396040830185612e23565b818103606083015261424b81846141d1565b905095945050505050565b60008151905061426581612e8d565b92915050565b60006020828403121561428157614280612e57565b5b600061428f84828501614256565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006142fd601883612f27565b9150614308826142c7565b602082019050919050565b6000602082019050818103600083015261432c816142f0565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000614369601f83612f27565b915061437482614333565b602082019050919050565b600060208201905081810360008301526143988161435c565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006143fb602283612f27565b91506144068261439f565b604082019050919050565b6000602082019050818103600083015261442a816143ee565b9050919050565b6000819050919050565b61444481614431565b82525050565b600060ff82169050919050565b6144608161444a565b82525050565b600060808201905061447b600083018761443b565b6144886020830186614457565b614495604083018561443b565b6144a2606083018461443b565b9594505050505056fea2646970667358221220705be3c7c6d4e7fe787fab2b9a6edf36a8728312f31462a0e54561170591b2ae64736f6c6343000812003300000000000000000000000000000000000000000000000000d529ae9e860000000000000000000000000000000000000000000000000000006a94d74f43000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000640000000000000000000000001f21df33eee7779ee8b9d760c45e8bf651ffd038000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d556b534c314c5a7633784e393448726d31386959644871613837534b45516234376d634a366f786e4e3644682f000000000000000000000000000000000000000000000000000000000000000000000000000000000008697066733a2f2f2f000000000000000000000000000000000000000000000000
0xa2646970667358221220705be3c7c6d4e7fe787fab2b9a6edf36a8728312f31462a0e54561170591b2ae64736f6c6343000812003300000000000000000000000000000000000000000000000000d529ae9e860000000000000000000000000000000000000000000000000000006a94d74f43000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000640000000000000000000000001f21df33eee7779ee8b9d760c45e8bf651ffd038000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d556b534c314c5a7633784e393448726d31386959644871613837534b45516234376d634a366f786e4e3644682f000000000000000000000000000000000000000000000000000000000000000000000000000000000008697066733a2f2f2f000000000000000000000000000000000000000000000000