[ { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC1155InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC1155InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "idsLength", "type": "uint256" }, { "internalType": "uint256", "name": "valuesLength", "type": "uint256" } ], "name": "ERC1155InvalidArrayLength", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC1155InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC1155InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC1155InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC1155MissingApprovalForAll", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "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": "address", "name": "player", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "elementId", "type": "uint256" } ], "name": "ElementDiscovered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "value", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "URI", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "element1", "type": "uint256" }, { "internalType": "uint256", "name": "element2", "type": "uint256" }, { "internalType": "uint256", "name": "result", "type": "uint256" } ], "name": "addCombination", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "rarity", "type": "uint256" } ], "name": "addElement", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "rarity", "type": "uint256" } ], "name": "calculateFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "_merkleProof", "type": "bytes32[]" } ], "name": "claimAirdrop", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "combinations", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "elementDetails", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "elements", "outputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "rarity", "type": "uint256" }, { "internalType": "bool", "name": "discovered", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "fundAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "hasClaimedAirdrop", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "merkleRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "element1", "type": "uint256" }, { "internalType": "uint256", "name": "element2", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "mintStandardElements", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "values", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "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": "_baseFee", "type": "uint256" } ], "name": "setBaseFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "setFundAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_merkleRoot", "type": "bytes32" } ], "name": "setMerkleRoot", "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": "totalNFT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
608060405234801562000010575f80fd5b506040516200476938038062004769833981810160405281019062000036919062000799565b33816200004981620000f460201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000bd575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000b491906200082b565b60405180910390fd5b620000ce816200010960201b60201c565b506601c6bf52634000600581905550620000ed620001cc60201b60201c565b5062000b61565b806002908162000105919062000a7d565b5050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620001df5f60016200055f60201b60201c565b620001f26001806200055f60201b60201c565b62000206600260016200055f60201b60201c565b6200021a600360016200055f60201b60201c565b6200022e600460026200055f60201b60201c565b62000242600560026200055f60201b60201c565b62000256600660026200055f60201b60201c565b6200026a600760026200055f60201b60201c565b6200027e600860026200055f60201b60201c565b62000292600960036200055f60201b60201c565b620002a6600a60036200055f60201b60201c565b620002ba600b60036200055f60201b60201c565b620002ce600c60036200055f60201b60201c565b620002e2600d60036200055f60201b60201c565b620002f6600e60046200055f60201b60201c565b6200030a600f60046200055f60201b60201c565b6200031e601060046200055f60201b60201c565b62000332601160056200055f60201b60201c565b62000346601260056200055f60201b60201c565b6200035a601360066200055f60201b60201c565b6200036e601460076200055f60201b60201c565b62000382601560086200055f60201b60201c565b62000396601660096200055f60201b60201c565b620003aa6017600a6200055f60201b60201c565b620003bf5f60016007620005c560201b60201c565b620003d45f60026004620005c560201b60201c565b620003e95f60036008620005c560201b60201c565b620003ff600160026005620005c560201b60201c565b620004156001600a600b620005c560201b60201c565b6200042b600260036006620005c560201b60201c565b620004416002600a600c620005c560201b60201c565b620004576002600b600d620005c560201b60201c565b6200046d600360076009620005c560201b60201c565b6200048360066001600a620005c560201b60201c565b6200049960086009600e620005c560201b60201c565b620004ae600d80600f620005c560201b60201c565b620004c46005600c6010620005c560201b60201c565b620004da600560086011620005c560201b60201c565b620004f0601160036012620005c560201b60201c565b62000506600f60126013620005c560201b60201c565b6200051c601060136014620005c560201b60201c565b620005316014806015620005c560201b60201c565b62000547601460156016620005c560201b60201c565b6200055d601660136017620005c560201b60201c565b565b60405180606001604052808381526020018281526020015f151581525060085f8481526020019081526020015f205f820151815f0155602082015181600101556040820151816002015f6101000a81548160ff0219169083151502179055509050505050565b8060095f8581526020019081526020015f205f8481526020019081526020015f20819055508060095f8481526020019081526020015f205f8581526020019081526020015f2081905550505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000675826200062d565b810181811067ffffffffffffffff821117156200069757620006966200063d565b5b80604052505050565b5f620006ab62000614565b9050620006b982826200066a565b919050565b5f67ffffffffffffffff821115620006db57620006da6200063d565b5b620006e6826200062d565b9050602081019050919050565b5f5b8381101562000712578082015181840152602081019050620006f5565b5f8484015250505050565b5f620007336200072d84620006be565b620006a0565b90508281526020810184848401111562000752576200075162000629565b5b6200075f848285620006f3565b509392505050565b5f82601f8301126200077e576200077d62000625565b5b8151620007908482602086016200071d565b91505092915050565b5f60208284031215620007b157620007b06200061d565b5b5f82015167ffffffffffffffff811115620007d157620007d062000621565b5b620007df8482850162000767565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200081382620007e8565b9050919050565b620008258162000807565b82525050565b5f602082019050620008405f8301846200081a565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200089557607f821691505b602082108103620008ab57620008aa62000850565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200090f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008d2565b6200091b8683620008d2565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620009656200095f620009598462000933565b6200093c565b62000933565b9050919050565b5f819050919050565b620009808362000945565b620009986200098f826200096c565b848454620008de565b825550505050565b5f90565b620009ae620009a0565b620009bb81848462000975565b505050565b5b81811015620009e257620009d65f82620009a4565b600181019050620009c1565b5050565b601f82111562000a3157620009fb81620008b1565b62000a0684620008c3565b8101602085101562000a16578190505b62000a2e62000a2585620008c3565b830182620009c0565b50505b505050565b5f82821c905092915050565b5f62000a535f198460080262000a36565b1980831691505092915050565b5f62000a6d838362000a42565b9150826002028217905092915050565b62000a888262000846565b67ffffffffffffffff81111562000aa45762000aa36200063d565b5b62000ab082546200087d565b62000abd828285620009e6565b5f60209050601f83116001811462000af3575f841562000ade578287015190505b62000aea858262000a60565b86555062000b59565b601f19841662000b0386620008b1565b5f5b8281101562000b2c5784890151825560018201915060208501945060208101905062000b05565b8683101562000b4c578489015162000b48601f89168262000a42565b8355505b6001600288020188555050505b505050505050565b613bfa8062000b6f5f395ff3fe6080604052600436106101bf575f3560e01c80636ef25c3a116100f657806399a5d74711610094578063e985e9c511610063578063e985e9c51461061f578063f242432a1461065b578063f2fde38b14610683578063f4cdda36146106ab576101bf565b806399a5d74714610553578063a22cb4651461058f578063e0d64b37146105b7578063e82bef29146105f5576101bf565b80637cb64759116100d05780637cb64759146104b157806385dc3004146104d95780638da5cb5b14610501578063958c40651461052b576101bf565b80636ef25c3a14610449578063715018a61461047357806372d673f514610489576101bf565b806318160ddd116101635780632eb4a7ab1161013d5780632eb4a7ab1461039357806346860698146103bd5780634e1273f4146103e557806353223ab014610421576101bf565b806318160ddd146103255780631b2ef1ca1461034f5780632eb2c2d61461036b576101bf565b8063052b3d771161019f578063052b3d771461026557806307a6bcbc146102a15780630e89341c146102df5780631167f4521461031b576101bf565b8062456379146101c3578062fdd58e146101ed57806301ffc9a714610229575b5f80fd5b3480156101ce575f80fd5b506101d76106e7565b6040516101e49190612791565b60405180910390f35b3480156101f8575f80fd5b50610213600480360381019061020e919061283f565b6106ed565b6040516102209190612791565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a91906128d2565b610742565b60405161025c9190612917565b60405180910390f35b348015610270575f80fd5b5061028b60048036038101906102869190612930565b610823565b6040516102989190612791565b60405180910390f35b3480156102ac575f80fd5b506102c760048036038101906102c2919061296e565b610843565b6040516102d693929190612999565b60405180910390f35b3480156102ea575f80fd5b506103056004803603810190610300919061296e565b6108ae565b6040516103129190612a58565b60405180910390f35b6103236108e9565b005b348015610330575f80fd5b50610339610bbb565b6040516103469190612791565b60405180910390f35b61036960048036038101906103649190612930565b610bc4565b005b348015610376575f80fd5b50610391600480360381019061038c9190612c68565b610eaa565b005b34801561039e575f80fd5b506103a7610f51565b6040516103b49190612d4b565b60405180910390f35b3480156103c8575f80fd5b506103e360048036038101906103de919061296e565b610f57565b005b3480156103f0575f80fd5b5061040b60048036038101906104069190612e24565b610f69565b6040516104189190612f51565b60405180910390f35b34801561042c575f80fd5b5061044760048036038101906104429190612fca565b611076565b005b348015610454575f80fd5b5061045d611296565b60405161046a9190612791565b60405180910390f35b34801561047e575f80fd5b5061048761129c565b005b348015610494575f80fd5b506104af60048036038101906104aa9190613015565b6112af565b005b3480156104bc575f80fd5b506104d760048036038101906104d2919061308f565b6112c7565b005b3480156104e4575f80fd5b506104ff60048036038101906104fa91906130ba565b6112d9565b005b34801561050c575f80fd5b50610515611324565b60405161052291906130f4565b60405180910390f35b348015610536575f80fd5b50610551600480360381019061054c9190612930565b61134c565b005b34801561055e575f80fd5b506105796004803603810190610574919061296e565b611362565b6040516105869190612791565b60405180910390f35b34801561059a575f80fd5b506105b560048036038101906105b09190613137565b611384565b005b3480156105c2575f80fd5b506105dd60048036038101906105d8919061296e565b61139a565b6040516105ec93929190612999565b60405180910390f35b348015610600575f80fd5b506106096113cc565b60405161061691906130f4565b60405180910390f35b34801561062a575f80fd5b5061064560048036038101906106409190613175565b6113f1565b6040516106529190612917565b60405180910390f35b348015610666575f80fd5b50610681600480360381019061067c91906131b3565b61147f565b005b34801561068e575f80fd5b506106a960048036038101906106a491906130ba565b611526565b005b3480156106b6575f80fd5b506106d160048036038101906106cc91906130ba565b6115aa565b6040516106de9190612917565b60405180910390f35b60045481565b5f805f8381526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f7fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061080c57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061081c575061081b826115c7565b5b9050919050565b6009602052815f5260405f20602052805f5260405f205f91509150505481565b5f805f8060085f8681526020019081526020015f206040518060600160405290815f820154815260200160018201548152602001600282015f9054906101000a900460ff1615151515815250509050805f015181602001518260400151935093509350509193909250565b60606108b982611630565b6108c2836116c2565b6040516020016108d39291906132ca565b6040516020818303038152906040529050919050565b5f6108f4335f6106ed565b14610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092b90613342565b60405180910390fd5b5f6109403360016106ed565b14610980576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610977906133aa565b60405180910390fd5b5f61098c3360026106ed565b146109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390613412565b60405180910390fd5b5f6109d83360036106ed565b14610a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0f9061347a565b60405180910390fd5b6004600554610a2791906134c5565b341015610a69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6090613550565b60405180910390fd5b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610aaf9061359b565b5f6040518083038185875af1925050503d805f8114610ae9576040519150601f19603f3d011682016040523d82523d5f602084013e610aee565b606091505b5050905080610b32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b29906135f9565b60405180910390fd5b610b4d335f600160405180602001604052805f81525061178c565b610b683360018060405180602001604052805f81525061178c565b610b84336002600160405180602001604052805f81525061178c565b610ba0336003600160405180602001604052805f81525061178c565b6004805f828254610bb19190613617565b9250508190555050565b5f600454905090565b5f610bcf33846106ed565b11610c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0690613694565b60405180910390fd5b5f610c1a33836106ed565b11610c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c51906136fc565b60405180910390fd5b5f60095f8481526020019081526020015f205f8381526020019081526020015f205490505f8103610cc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb790613764565b60405180910390fd5b5f60085f8381526020019081526020015f2090505f610ce28260010154611362565b905080341015610d27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1e90613550565b60405180910390fd5b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610d6d9061359b565b5f6040518083038185875af1925050503d805f8114610da7576040519150601f19603f3d011682016040523d82523d5f602084013e610dac565b606091505b5050905080610df0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de7906135f9565b60405180910390fd5b610e0b3385600160405180602001604052805f81525061178c565b60045f815480929190610e1d90613782565b9190505550826002015f9054906101000a900460ff16610ea2576001836002015f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167faa6f58332fe94d1c4947db2c96d45b3a53dc04b7cde95e1e2ae9bb003f8a982585604051610e999190612791565b60405180910390a25b505050505050565b5f610eb3611821565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015610ef85750610ef686826113f1565b155b15610f3c5780866040517fe237d922000000000000000000000000000000000000000000000000000000008152600401610f339291906137c9565b60405180910390fd5b610f498686868686611828565b505050505050565b60075481565b610f5f61191c565b8060058190555050565b60608151835114610fb557815183516040517f5b059991000000000000000000000000000000000000000000000000000000008152600401610fac9291906137f0565b60405180910390fd5b5f835167ffffffffffffffff811115610fd157610fd0612a7c565b5b604051908082528060200260200182016040528015610fff5781602001602082028036833780820191505090505b5090505f5b845181101561106b5761103b61102382876119a390919063ffffffff16565b61103683876119b690919063ffffffff16565b6106ed565b82828151811061104e5761104d613817565b5b6020026020010181815250508061106490613782565b9050611004565b508091505092915050565b600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611100576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f79061388e565b60405180910390fd5b5f3360405160200161111291906138f1565b6040516020818303038152906040528051906020012090506111778383808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f82011690508083019250505050505050600754836119c9565b6111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ad90613955565b60405180910390fd5b6001600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611226335f600160405180602001604052805f81525061178c565b6112413360018060405180602001604052805f81525061178c565b61125d336002600160405180602001604052805f81525061178c565b611279336003600160405180602001604052805f81525061178c565b6004805f82825461128a9190613617565b92505081905550505050565b60055481565b6112a461191c565b6112ad5f6119df565b565b6112b761191c565b6112c2838383611aa2565b505050565b6112cf61191c565b8060078190555050565b6112e161191c565b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61135461191c565b61135e8282611af1565b5050565b5f6001826113709190613617565b60055461137d91906134c5565b9050919050565b61139661138f611821565b8383611b57565b5050565b6008602052805f5260405f205f91509050805f015490806001015490806002015f9054906101000a900460ff16905083565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f611488611821565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156114cd57506114cb86826113f1565b155b156115115780866040517fe237d9220000000000000000000000000000000000000000000000000000000081526004016115089291906137c9565b60405180910390fd5b61151e8686868686611cc0565b505050505050565b61152e61191c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361159e575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161159591906130f4565b60405180910390fd5b6115a7816119df565b50565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60606002805461163f906139a0565b80601f016020809104026020016040519081016040528092919081815260200182805461166b906139a0565b80156116b65780601f1061168d576101008083540402835291602001916116b6565b820191905f5260205f20905b81548152906001019060200180831161169957829003601f168201915b50505050509050919050565b60605f60016116d084611dc6565b0190505f8167ffffffffffffffff8111156116ee576116ed612a7c565b5b6040519080825280601f01601f1916602001820160405280156117205781602001600182028036833780820191505090505b5090505f82602001820190505b600115611781578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611776576117756139d0565b5b0494505f850361172d575b819350505050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036117fc575f6040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016117f391906130f4565b60405180910390fd5b5f806118088585611f17565b915091506118195f87848487611f47565b505050505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611898575f6040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161188f91906130f4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611908575f6040517f01a835140000000000000000000000000000000000000000000000000000000081526004016118ff91906130f4565b60405180910390fd5b6119158585858585611f47565b5050505050565b611924611821565b73ffffffffffffffffffffffffffffffffffffffff16611942611324565b73ffffffffffffffffffffffffffffffffffffffff16146119a157611965611821565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161199891906130f4565b60405180910390fd5b565b5f60208202602084010151905092915050565b5f60208202602084010151905092915050565b5f826119d58584611ff3565b1490509392505050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060095f8581526020019081526020015f205f8481526020019081526020015f20819055508060095f8481526020019081526020015f205f8581526020019081526020015f2081905550505050565b60405180606001604052808381526020018281526020015f151581525060085f8481526020019081526020015f205f820151815f0155602082015181600101556040820151816002015f6101000a81548160ff0219169083151502179055509050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bc7575f6040517fced3e100000000000000000000000000000000000000000000000000000000008152600401611bbe91906130f4565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611cb39190612917565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611d30575f6040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611d2791906130f4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611da0575f6040517f01a83514000000000000000000000000000000000000000000000000000000008152600401611d9791906130f4565b60405180910390fd5b5f80611dac8585611f17565b91509150611dbd8787848487611f47565b50505050505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611e22577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611e1857611e176139d0565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611e5f576d04ee2d6d415b85acef81000000008381611e5557611e546139d0565b5b0492506020810190505b662386f26fc100008310611e8e57662386f26fc100008381611e8457611e836139d0565b5b0492506010810190505b6305f5e1008310611eb7576305f5e1008381611ead57611eac6139d0565b5b0492506008810190505b6127108310611edc576127108381611ed257611ed16139d0565b5b0492506004810190505b60648310611eff5760648381611ef557611ef46139d0565b5b0492506002810190505b600a8310611f0e576001810190505b80915050919050565b60608060405191506001825283602083015260408201905060018152826020820152604081016040529250929050565b611f5385858585612047565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611fec575f611f8f611821565b90506001845103611fdb575f611fae5f866119b690919063ffffffff16565b90505f611fc45f866119b690919063ffffffff16565b9050611fd48389898585896123dd565b5050611fea565b611fe981878787878761258c565b5b505b5050505050565b5f808290505f5b845181101561203c576120278286838151811061201a57612019613817565b5b602002602001015161273b565b9150808061203490613782565b915050611ffa565b508091505092915050565b805182511461209157815181516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004016120889291906137f0565b60405180910390fd5b5f61209a611821565b90505f5b835181101561229c575f6120bb82866119b690919063ffffffff16565b90505f6120d183866119b690919063ffffffff16565b90505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146121f4575f805f8481526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156121a057888183856040517f03dee4c500000000000000000000000000000000000000000000000000000000815260040161219794939291906139fd565b60405180910390fd5b8181035f808581526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461228957805f808481526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546122819190613617565b925050819055505b50508061229590613782565b905061209e565b506001835103612357575f6122ba5f856119b690919063ffffffff16565b90505f6122d05f856119b690919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6285856040516123489291906137f0565b60405180910390a450506123d6565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516123cd929190613a40565b60405180910390a45b5050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff163b1115612584578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161243d959493929190613ac7565b6020604051808303815f875af192505050801561247857506040513d601f19601f820116820180604052508101906124759190613b33565b60015b6124f9573d805f81146124a6576040519150601f19603f3d011682016040523d82523d5f602084013e6124ab565b606091505b505f8151036124f157846040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016124e891906130f4565b60405180910390fd5b805181602001fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461258257846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161257991906130f4565b60405180910390fd5b505b505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff163b1115612733578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016125ec959493929190613b5e565b6020604051808303815f875af192505050801561262757506040513d601f19601f820116820180604052508101906126249190613b33565b60015b6126a8573d805f8114612655576040519150601f19603f3d011682016040523d82523d5f602084013e61265a565b606091505b505f8151036126a057846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161269791906130f4565b60405180910390fd5b805181602001fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461273157846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161272891906130f4565b60405180910390fd5b505b505050505050565b5f8183106127525761274d8284612765565b61275d565b61275c8383612765565b5b905092915050565b5f825f528160205260405f20905092915050565b5f819050919050565b61278b81612779565b82525050565b5f6020820190506127a45f830184612782565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6127e4826127bb565b9050919050565b6127f4816127da565b81146127fe575f80fd5b50565b5f8135905061280f816127eb565b92915050565b61281e81612779565b8114612828575f80fd5b50565b5f8135905061283981612815565b92915050565b5f8060408385031215612855576128546127b3565b5b5f61286285828601612801565b92505060206128738582860161282b565b9150509250929050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6128b18161287d565b81146128bb575f80fd5b50565b5f813590506128cc816128a8565b92915050565b5f602082840312156128e7576128e66127b3565b5b5f6128f4848285016128be565b91505092915050565b5f8115159050919050565b612911816128fd565b82525050565b5f60208201905061292a5f830184612908565b92915050565b5f8060408385031215612946576129456127b3565b5b5f6129538582860161282b565b92505060206129648582860161282b565b9150509250929050565b5f60208284031215612983576129826127b3565b5b5f6129908482850161282b565b91505092915050565b5f6060820190506129ac5f830186612782565b6129b96020830185612782565b6129c66040830184612908565b949350505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612a055780820151818401526020810190506129ea565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612a2a826129ce565b612a3481856129d8565b9350612a448185602086016129e8565b612a4d81612a10565b840191505092915050565b5f6020820190508181035f830152612a708184612a20565b905092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612ab282612a10565b810181811067ffffffffffffffff82111715612ad157612ad0612a7c565b5b80604052505050565b5f612ae36127aa565b9050612aef8282612aa9565b919050565b5f67ffffffffffffffff821115612b0e57612b0d612a7c565b5b602082029050602081019050919050565b5f80fd5b5f612b35612b3084612af4565b612ada565b90508083825260208201905060208402830185811115612b5857612b57612b1f565b5b835b81811015612b815780612b6d888261282b565b845260208401935050602081019050612b5a565b5050509392505050565b5f82601f830112612b9f57612b9e612a78565b5b8135612baf848260208601612b23565b91505092915050565b5f80fd5b5f67ffffffffffffffff821115612bd657612bd5612a7c565b5b612bdf82612a10565b9050602081019050919050565b828183375f83830152505050565b5f612c0c612c0784612bbc565b612ada565b905082815260208101848484011115612c2857612c27612bb8565b5b612c33848285612bec565b509392505050565b5f82601f830112612c4f57612c4e612a78565b5b8135612c5f848260208601612bfa565b91505092915050565b5f805f805f60a08688031215612c8157612c806127b3565b5b5f612c8e88828901612801565b9550506020612c9f88828901612801565b945050604086013567ffffffffffffffff811115612cc057612cbf6127b7565b5b612ccc88828901612b8b565b935050606086013567ffffffffffffffff811115612ced57612cec6127b7565b5b612cf988828901612b8b565b925050608086013567ffffffffffffffff811115612d1a57612d196127b7565b5b612d2688828901612c3b565b9150509295509295909350565b5f819050919050565b612d4581612d33565b82525050565b5f602082019050612d5e5f830184612d3c565b92915050565b5f67ffffffffffffffff821115612d7e57612d7d612a7c565b5b602082029050602081019050919050565b5f612da1612d9c84612d64565b612ada565b90508083825260208201905060208402830185811115612dc457612dc3612b1f565b5b835b81811015612ded5780612dd98882612801565b845260208401935050602081019050612dc6565b5050509392505050565b5f82601f830112612e0b57612e0a612a78565b5b8135612e1b848260208601612d8f565b91505092915050565b5f8060408385031215612e3a57612e396127b3565b5b5f83013567ffffffffffffffff811115612e5757612e566127b7565b5b612e6385828601612df7565b925050602083013567ffffffffffffffff811115612e8457612e836127b7565b5b612e9085828601612b8b565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ecc81612779565b82525050565b5f612edd8383612ec3565b60208301905092915050565b5f602082019050919050565b5f612eff82612e9a565b612f098185612ea4565b9350612f1483612eb4565b805f5b83811015612f44578151612f2b8882612ed2565b9750612f3683612ee9565b925050600181019050612f17565b5085935050505092915050565b5f6020820190508181035f830152612f698184612ef5565b905092915050565b5f80fd5b5f8083601f840112612f8a57612f89612a78565b5b8235905067ffffffffffffffff811115612fa757612fa6612f71565b5b602083019150836020820283011115612fc357612fc2612b1f565b5b9250929050565b5f8060208385031215612fe057612fdf6127b3565b5b5f83013567ffffffffffffffff811115612ffd57612ffc6127b7565b5b61300985828601612f75565b92509250509250929050565b5f805f6060848603121561302c5761302b6127b3565b5b5f6130398682870161282b565b935050602061304a8682870161282b565b925050604061305b8682870161282b565b9150509250925092565b61306e81612d33565b8114613078575f80fd5b50565b5f8135905061308981613065565b92915050565b5f602082840312156130a4576130a36127b3565b5b5f6130b18482850161307b565b91505092915050565b5f602082840312156130cf576130ce6127b3565b5b5f6130dc84828501612801565b91505092915050565b6130ee816127da565b82525050565b5f6020820190506131075f8301846130e5565b92915050565b613116816128fd565b8114613120575f80fd5b50565b5f813590506131318161310d565b92915050565b5f806040838503121561314d5761314c6127b3565b5b5f61315a85828601612801565b925050602061316b85828601613123565b9150509250929050565b5f806040838503121561318b5761318a6127b3565b5b5f61319885828601612801565b92505060206131a985828601612801565b9150509250929050565b5f805f805f60a086880312156131cc576131cb6127b3565b5b5f6131d988828901612801565b95505060206131ea88828901612801565b94505060406131fb8882890161282b565b935050606061320c8882890161282b565b925050608086013567ffffffffffffffff81111561322d5761322c6127b7565b5b61323988828901612c3b565b9150509295509295909350565b5f81905092915050565b5f61325a826129ce565b6132648185613246565b93506132748185602086016129e8565b80840191505092915050565b7f2e6a736f6e0000000000000000000000000000000000000000000000000000005f82015250565b5f6132b4600583613246565b91506132bf82613280565b600582019050919050565b5f6132d58285613250565b91506132e18284613250565b91506132ec826132a8565b91508190509392505050565b7f416c7265616479206f776e7320576174657200000000000000000000000000005f82015250565b5f61332c6012836129d8565b9150613337826132f8565b602082019050919050565b5f6020820190508181035f83015261335981613320565b9050919050565b7f416c7265616479206f776e7320416972000000000000000000000000000000005f82015250565b5f6133946010836129d8565b915061339f82613360565b602082019050919050565b5f6020820190508181035f8301526133c181613388565b9050919050565b7f416c7265616479206f776e7320466972650000000000000000000000000000005f82015250565b5f6133fc6011836129d8565b9150613407826133c8565b602082019050919050565b5f6020820190508181035f830152613429816133f0565b9050919050565b7f416c7265616479206f776e7320456172746800000000000000000000000000005f82015250565b5f6134646012836129d8565b915061346f82613430565b602082019050919050565b5f6020820190508181035f83015261349181613458565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6134cf82612779565b91506134da83612779565b92508282026134e881612779565b915082820484148315176134ff576134fe613498565b5b5092915050565b7f496e73756666696369656e74204554482073656e7400000000000000000000005f82015250565b5f61353a6015836129d8565b915061354582613506565b602082019050919050565b5f6020820190508181035f8301526135678161352e565b9050919050565b5f81905092915050565b50565b5f6135865f8361356e565b915061359182613578565b5f82019050919050565b5f6135a58261357b565b9150819050919050565b7f4661696c656420746f2073656e642045544800000000000000000000000000005f82015250565b5f6135e36012836129d8565b91506135ee826135af565b602082019050919050565b5f6020820190508181035f830152613610816135d7565b9050919050565b5f61362182612779565b915061362c83612779565b925082820190508082111561364457613643613498565b5b92915050565b7f496e73756666696369656e742062616c616e6365206f6620656c656d656e74315f82015250565b5f61367e6020836129d8565b91506136898261364a565b602082019050919050565b5f6020820190508181035f8301526136ab81613672565b9050919050565b7f496e73756666696369656e742062616c616e6365206f6620656c656d656e74325f82015250565b5f6136e66020836129d8565b91506136f1826136b2565b602082019050919050565b5f6020820190508181035f830152613713816136da565b9050919050565b7f496e76616c696420636f6d62696e6174696f6e000000000000000000000000005f82015250565b5f61374e6013836129d8565b91506137598261371a565b602082019050919050565b5f6020820190508181035f83015261377b81613742565b9050919050565b5f61378c82612779565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036137be576137bd613498565b5b600182019050919050565b5f6040820190506137dc5f8301856130e5565b6137e960208301846130e5565b9392505050565b5f6040820190506138035f830185612782565b6138106020830184612782565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f41697264726f7020616c726561647920636c61696d65640000000000000000005f82015250565b5f6138786017836129d8565b915061388382613844565b602082019050919050565b5f6020820190508181035f8301526138a58161386c565b9050919050565b5f8160601b9050919050565b5f6138c2826138ac565b9050919050565b5f6138d3826138b8565b9050919050565b6138eb6138e6826127da565b6138c9565b82525050565b5f6138fc82846138da565b60148201915081905092915050565b7f496e76616c69642070726f6f66000000000000000000000000000000000000005f82015250565b5f61393f600d836129d8565b915061394a8261390b565b602082019050919050565b5f6020820190508181035f83015261396c81613933565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806139b757607f821691505b6020821081036139ca576139c9613973565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f608082019050613a105f8301876130e5565b613a1d6020830186612782565b613a2a6040830185612782565b613a376060830184612782565b95945050505050565b5f6040820190508181035f830152613a588185612ef5565b90508181036020830152613a6c8184612ef5565b90509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f613a9982613a75565b613aa38185613a7f565b9350613ab38185602086016129e8565b613abc81612a10565b840191505092915050565b5f60a082019050613ada5f8301886130e5565b613ae760208301876130e5565b613af46040830186612782565b613b016060830185612782565b8181036080830152613b138184613a8f565b90509695505050505050565b5f81519050613b2d816128a8565b92915050565b5f60208284031215613b4857613b476127b3565b5b5f613b5584828501613b1f565b91505092915050565b5f60a082019050613b715f8301886130e5565b613b7e60208301876130e5565b8181036040830152613b908186612ef5565b90508181036060830152613ba48185612ef5565b90508181036080830152613bb88184613a8f565b9050969550505050505056fea26469706673582212205ff79c15cabc10196edebb353320df90d7de44f63a793a0e7e2076a588cf100d64736f6c634300081400330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f68747470733a2f2f6f70656e616c6368692e78797a2f6d657461646174612f00