[ { "inputs": [ { "internalType": "uint256", "name": "_initialSupply", "type": "uint256" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "address", "name": "_admin", "type": "address" }, { "internalType": "address", "name": "_recoveryAdmin", "type": "address" }, { "internalType": "uint256", "name": "_timelockPeriod", "type": "uint256" }, { "internalType": "address", "name": "_lossless", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "VapeToken__GenesisMintDone", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "fromDelegate", "type": "address" }, { "indexed": true, "internalType": "address", "name": "toDelegate", "type": "address" } ], "name": "DelegateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegate", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "previousBalance", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "DelegateVotesChanged", "type": "event" }, { "anonymous": false, "inputs": [], "name": "LosslessOff", "type": "event" }, { "anonymous": false, "inputs": [], "name": "LosslessOn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_turnOffDate", "type": "uint256" } ], "name": "LosslessTurnOffProposal", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_newAdmin", "type": "address" } ], "name": "NewAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_newAdmin", "type": "address" } ], "name": "NewRecoveryAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_candidate", "type": "address" } ], "name": "NewRecoveryAdminProposal", "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": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_SUPPLY", "outputs": [ { "internalType": "uint224", "name": "", "type": "uint224" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "key", "type": "bytes" } ], "name": "acceptRecoveryAdminOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint32", "name": "pos", "type": "uint32" } ], "name": "checkpoints", "outputs": [ { "components": [ { "internalType": "uint32", "name": "fromBlock", "type": "uint32" }, { "internalType": "uint224", "name": "votes", "type": "uint224" } ], "internalType": "struct ERC20Votes.Checkpoint", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "delegateBySig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "delegates", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "executeLosslessTurnOff", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "executeLosslessTurnOn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" } ], "name": "genesisMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getPastTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getPastVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "isLosslessOn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lossless", "outputs": [ { "internalType": "contract ILssController", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "losslessTurnOffTimestamp", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "numCheckpoints", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "proposeLosslessTurnOff", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "recoveryAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "setLosslessAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "timelockPeriod", "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": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "from", "type": "address[]" } ], "name": "transferOutBlacklistedFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "candidate", "type": "address" }, { "internalType": "bytes32", "name": "keyHash", "type": "bytes32" } ], "name": "transferRecoveryAdminOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6101406040526001601560006101000a81548160ff0219169083151502179055503480156200002d57600080fd5b50604051620072e7380380620072e7833981810160405281019062000053919062000f1d565b8686868686868685806040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525088888160039081620000a591906200124f565b508060049081620000b791906200124f565b50505060008280519060200120905060008280519060200120905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90508260e081815250508161010081815250504660a08181525050620001238184846200030260201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508061012081815250505050505050506200018e620001816200033e60201b60201c565b886200034660201b60201c565b85600d90816200019f91906200124f565b5084600e9081620001b191906200124f565b5083601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060118190555081601381905550600060148190555080601560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050620002f5620002e96200033e60201b60201c565b6200040460201b60201c565b5050505050505062001739565b600083838346306040516020016200031f95949392919062001373565b6040516020818303038152906040528051906020012090509392505050565b600033905090565b6200035d8282620004ca60201b620025cf1760201c565b6200036d6200064260201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166200039b6200065560201b60201c565b1115620003df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003d69062001457565b60405180910390fd5b620003fe60096200065f60201b6200272e17836200067760201b60201c565b50505050565b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200053c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200053390620014c9565b60405180910390fd5b62000550600083836200092860201b60201c565b80600260008282546200056491906200151a565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620005bb91906200151a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000622919062001555565b60405180910390a36200063e600083836200092d60201b60201c565b5050565b60006a115eec47f6cf7e35000000905090565b6000600254905090565b600081836200066f91906200151a565b905092915050565b60008060008580549050905060008114620006ec57856001826200069c919062001572565b81548110620006b057620006af620015ad565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620006ef565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692506200071b83858760201c565b915060008111801562000774575043866001836200073a919062001572565b815481106200074e576200074d620015ad565b5b9060005260206000200160000160009054906101000a900463ffffffff1663ffffffff16145b15620008155762000790826200097d60201b620027441760201c565b86600183620007a0919062001572565b81548110620007b457620007b3620015ad565b5b9060005260206000200160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506200091f565b8560405180604001604052806200083743620009eb60201b620027af1760201c565b63ffffffff16815260200162000858856200097d60201b620027441760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b50935093915050565b505050565b6200094583838362000a4160201b620028021760201c565b620009786200095a8462000a4660201b60201c565b6200096b8462000a4660201b60201c565b8362000aaf60201b60201c565b505050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115620009e3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009da9062001652565b60405180910390fd5b819050919050565b600063ffffffff801682111562000a39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a3090620016ea565b60405180910390fd5b819050919050565b505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000aec5750600081115b1562000ccd57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000bdf5760008062000b86600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000cd260201b6200280717856200067760201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000bd49291906200170c565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000ccc5760008062000c73600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206200065f60201b6200272e17856200067760201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000cc19291906200170c565b60405180910390a250505b5b505050565b6000818362000ce2919062001572565b905092915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b62000d138162000cfe565b811462000d1f57600080fd5b50565b60008151905062000d338162000d08565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000d8e8262000d43565b810181811067ffffffffffffffff8211171562000db05762000daf62000d54565b5b80604052505050565b600062000dc562000cea565b905062000dd3828262000d83565b919050565b600067ffffffffffffffff82111562000df65762000df562000d54565b5b62000e018262000d43565b9050602081019050919050565b60005b8381101562000e2e57808201518184015260208101905062000e11565b60008484015250505050565b600062000e5162000e4b8462000dd8565b62000db9565b90508281526020810184848401111562000e705762000e6f62000d3e565b5b62000e7d84828562000e0e565b509392505050565b600082601f83011262000e9d5762000e9c62000d39565b5b815162000eaf84826020860162000e3a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ee58262000eb8565b9050919050565b62000ef78162000ed8565b811462000f0357600080fd5b50565b60008151905062000f178162000eec565b92915050565b600080600080600080600060e0888a03121562000f3f5762000f3e62000cf4565b5b600062000f4f8a828b0162000d22565b975050602088015167ffffffffffffffff81111562000f735762000f7262000cf9565b5b62000f818a828b0162000e85565b965050604088015167ffffffffffffffff81111562000fa55762000fa462000cf9565b5b62000fb38a828b0162000e85565b955050606062000fc68a828b0162000f06565b945050608062000fd98a828b0162000f06565b93505060a062000fec8a828b0162000d22565b92505060c062000fff8a828b0162000f06565b91505092959891949750929550565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200106157607f821691505b60208210810362001077576200107662001019565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620010e17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620010a2565b620010ed8683620010a2565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620011306200112a620011248462000cfe565b62001105565b62000cfe565b9050919050565b6000819050919050565b6200114c836200110f565b620011646200115b8262001137565b848454620010af565b825550505050565b600090565b6200117b6200116c565b6200118881848462001141565b505050565b5b81811015620011b057620011a460008262001171565b6001810190506200118e565b5050565b601f821115620011ff57620011c9816200107d565b620011d48462001092565b81016020851015620011e4578190505b620011fc620011f38562001092565b8301826200118d565b50505b505050565b600082821c905092915050565b6000620012246000198460080262001204565b1980831691505092915050565b60006200123f838362001211565b9150826002028217905092915050565b6200125a826200100e565b67ffffffffffffffff81111562001276576200127562000d54565b5b62001282825462001048565b6200128f828285620011b4565b600060209050601f831160018114620012c75760008415620012b2578287015190505b620012be858262001231565b8655506200132e565b601f198416620012d7866200107d565b60005b828110156200130157848901518255600182019150602085019450602081019050620012da565b868310156200132157848901516200131d601f89168262001211565b8355505b6001600288020188555050505b505050505050565b6000819050919050565b6200134b8162001336565b82525050565b6200135c8162000cfe565b82525050565b6200136d8162000ed8565b82525050565b600060a0820190506200138a600083018862001340565b62001399602083018762001340565b620013a8604083018662001340565b620013b7606083018562001351565b620013c6608083018462001362565b9695505050505050565b600082825260208201905092915050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b60006200143f603083620013d0565b91506200144c82620013e1565b604082019050919050565b60006020820190508181036000830152620014728162001430565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620014b1601f83620013d0565b9150620014be8262001479565b602082019050919050565b60006020820190508181036000830152620014e481620014a2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620015278262000cfe565b9150620015348362000cfe565b92508282019050808211156200154f576200154e620014eb565b5b92915050565b60006020820190506200156c600083018462001351565b92915050565b60006200157f8262000cfe565b91506200158c8362000cfe565b9250828203905081811115620015a757620015a6620014eb565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b60006200163a602783620013d0565b91506200164782620015dc565b604082019050919050565b600060208201905081810360008301526200166d816200162b565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000620016d2602683620013d0565b9150620016df8262001674565b604082019050919050565b600060208201905081810360008301526200170581620016c3565b9050919050565b600060408201905062001723600083018562001351565b62001732602083018462001351565b9392505050565b60805160a05160c05160e0516101005161012051615b5e620017896000396000612d1b01526000612d5d01526000612d3c01526000612c7101526000612cc701526000612cf00152615b5e6000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c806370a0823111610151578063b38fe957116100c3578063d505accf11610087578063d505accf1461074e578063d6e242b81461076a578063dd62ed3e14610774578063f1127ed8146107a4578063f2fde38b146107d4578063f851a440146107f057610269565b8063b38fe957146106d2578063b5c22877146106dc578063c3cda520146106f8578063c761b51114610714578063ccfa214f1461073057610269565b806393310ffe1161011557806393310ffe146105ec578063936af9111461060857806395d89b41146106245780639ab24eb014610642578063a457c2d714610672578063a9059cbb146106a257610269565b806370a0823114610534578063715018a6146105645780637ecebe001461056e5780638da5cb5b1461059e5780638e539e8c146105bc57610269565b806339509351116101ea5780635b8a194a116101ae5780635b8a194a146104845780635c19a95c1461048e5780635f6529a3146104aa57806361086b00146104c85780636e9960c3146104e65780636fcfff451461050457610269565b806339509351146103bc5780633a46b1a8146103ec57806340c10f191461041c57806342966c6814610438578063587cde1e1461045457610269565b80632ecaf675116102315780632ecaf67514610326578063313ce5671461034457806332cb6b0c1461036257806334f6ebf5146103805780633644e5151461039e57610269565b806306fdde031461026e578063095ea7b31461028c57806318160ddd146102bc57806323b872dd146102da5780632baa3c9e1461030a575b600080fd5b61027661080e565b6040516102839190613d26565b60405180910390f35b6102a660048036038101906102a19190613df0565b6108a0565b6040516102b39190613e4b565b60405180910390f35b6102c4610970565b6040516102d19190613e75565b60405180910390f35b6102f460048036038101906102ef9190613e90565b61097a565b6040516103019190613e4b565b60405180910390f35b610324600480360381019061031f9190613ee3565b610b31565b005b61032e610cdf565b60405161033b9190613e75565b60405180910390f35b61034c610ce5565b6040516103599190613f2c565b60405180910390f35b61036a610cee565b6040516103779190613f7e565b60405180910390f35b610388610cfd565b6040516103959190613ff8565b60405180910390f35b6103a6610d23565b6040516103b3919061402c565b60405180910390f35b6103d660048036038101906103d19190613df0565b610d32565b6040516103e39190613e4b565b60405180910390f35b61040660048036038101906104019190613df0565b610e90565b6040516104139190613e75565b60405180910390f35b61043660048036038101906104319190613df0565b610f24565b005b610452600480360381019061044d9190614047565b610fe3565b005b61046e60048036038101906104699190613ee3565b6110a7565b60405161047b9190614083565b60405180910390f35b61048c611110565b005b6104a860048036038101906104a39190613ee3565b611248565b005b6104b261125c565b6040516104bf9190614083565b60405180910390f35b6104d0611282565b6040516104dd9190613e75565b60405180910390f35b6104ee611288565b6040516104fb9190614083565b60405180910390f35b61051e60048036038101906105199190613ee3565b6112b2565b60405161052b91906140bd565b60405180910390f35b61054e60048036038101906105499190613ee3565b611306565b60405161055b9190613e75565b60405180910390f35b61056c61134e565b005b61058860048036038101906105839190613ee3565b611362565b6040516105959190613e75565b60405180910390f35b6105a66113b2565b6040516105b39190614083565b60405180910390f35b6105d660048036038101906105d19190614047565b6113dc565b6040516105e39190613e75565b60405180910390f35b61060660048036038101906106019190614104565b611432565b005b610622600480360381019061061d91906141a9565b611558565b005b61062c6117e1565b6040516106399190613d26565b60405180910390f35b61065c60048036038101906106579190613ee3565b611873565b6040516106699190613e75565b60405180910390f35b61068c60048036038101906106879190613df0565b611984565b6040516106999190613e4b565b60405180910390f35b6106bc60048036038101906106b79190613df0565b611b2b565b6040516106c99190613e4b565b60405180910390f35b6106da611bfb565b005b6106f660048036038101906106f19190614326565b611d6d565b005b610712600480360381019061070d919061439b565b611f5c565b005b61072e60048036038101906107299190613ee3565b612060565b005b6107386120c0565b6040516107459190613e4b565b60405180910390f35b61076860048036038101906107639190614428565b6120d3565b005b610772612215565b005b61078e600480360381019061078991906144ca565b61238f565b60405161079b9190613e75565b60405180910390f35b6107be60048036038101906107b99190614536565b612416565b6040516107cb91906145c3565b60405180910390f35b6107ee60048036038101906107e99190613ee3565b612526565b005b6107f86125a9565b6040516108059190614083565b60405180910390f35b60606003805461081d9061460d565b80601f01602080910402602001604051908101604052809291908181526020018280546108499061460d565b80156108965780601f1061086b57610100808354040283529160200191610896565b820191906000526020600020905b81548152906001019060200180831161087957829003601f168201915b5050505050905090565b60008282601560009054906101000a900460ff161561095257601560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166347abf3be6108ff61281d565b84846040518463ffffffff1660e01b815260040161091f9392919061463e565b600060405180830381600087803b15801561093957600080fd5b505af115801561094d573d6000803e3d6000fd5b505050505b61096461095d61281d565b8686612825565b60019250505092915050565b6000600254905090565b6000838383601560009054906101000a900460ff1615610a2f57601560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663379f5c696109da61281d565b8585856040518563ffffffff1660e01b81526004016109fc9493929190614675565b600060405180830381600087803b158015610a1657600080fd5b505af1158015610a2a573d6000803e3d6000fd5b505050505b6000600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a7a61281d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905085811015610afa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af19061472c565b60405180910390fd5b610b058888886129ee565b610b2288610b1161281d565b8884610b1d919061477b565b612825565b60019450505050509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b7261281d565b73ffffffffffffffffffffffffffffffffffffffff1614610bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbf906147fb565b60405180910390fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4f90614867565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff167f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c60405160405180910390a280601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60135481565b60006012905090565b6a115eec47f6cf7e3500000081565b601560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610d2d612c6d565b905090565b60008282601560009054906101000a900460ff1615610de457601560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf5961bb610d9161281d565b84846040518463ffffffff1660e01b8152600401610db19392919061463e565b600060405180830381600087803b158015610dcb57600080fd5b505af1158015610ddf573d6000803e3d6000fd5b505050505b610e84610def61281d565b8686600b6000610dfd61281d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7f9190614887565b612825565b60019250505092915050565b6000438210610ed4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecb90614907565b60405180910390fd5b610f1c600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083612d87565b905092915050565b610f2c612e93565b8181601560009054906101000a900460ff1615610fd357601560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630628a2c083836040518363ffffffff1660e01b8152600401610fa0929190614927565b600060405180830381600087803b158015610fba57600080fd5b505af1158015610fce573d6000803e3d6000fd5b505050505b610fdd8484612f11565b50505050565b610feb61281d565b81601560009054906101000a900460ff161561109157601560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634a1fefbd83836040518363ffffffff1660e01b815260040161105e929190614927565b600060405180830381600087803b15801561107857600080fd5b505af115801561108c573d6000803e3d6000fd5b505050505b6110a261109c61281d565b84612f9e565b505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661115161281d565b73ffffffffffffffffffffffffffffffffffffffff16146111a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e906147fb565b60405180910390fd5b601560009054906101000a900460ff16156111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee9061499c565b60405180910390fd5b60006014819055506001601560006101000a81548160ff0219169083151502179055507f1ba3b66404043da8297d0b876fa6464f2cb127edfc6626308046d4503028322b60405160405180910390a1565b61125961125361281d565b82612fbc565b50565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60145481565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006112ff600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506127af565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611356612e93565b61136060006130d6565b565b60006113ab600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061319c565b9050919050565b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000438210611420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141790614907565b60405180910390fd5b61142b600983612d87565b9050919050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661147361281d565b73ffffffffffffffffffffffffffffffffffffffff16146114c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c0906147fb565b60405180910390fd5b81601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806011819055508173ffffffffffffffffffffffffffffffffffffffff167f6c591da8da2f6e69746d7d9ae61c27ee29fbe303798141b4942ae2aef54274b160405160405180910390a25050565b601560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661159961281d565b73ffffffffffffffffffffffffffffffffffffffff16146115ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e690614a08565b60405180910390fd5b60008282905090506000805b8281101561176257600085858381811061161857611617614a28565b5b905060200201602081019061162d9190613ee3565b90506000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080846116c49190614887565b9350601560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117459190613e75565b60405180910390a35050808061175a90614a57565b9150506115fb565b5080600a6000601560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117d49190614887565b9250508190555050505050565b6060600480546117f09061460d565b80601f016020809104026020016040519081016040528092919081815260200182805461181c9061460d565b80156118695780601f1061183e57610100808354040283529160200191611869565b820191906000526020600020905b81548152906001019060200180831161184c57829003601f168201915b5050505050905090565b600080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090506000811461195b57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060018261190f919061477b565b815481106119205761191f614a28565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661195e565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b60008282601560009054906101000a900460ff1615611a3657601560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663568c75a96119e361281d565b84846040518463ffffffff1660e01b8152600401611a039392919061463e565b600060405180830381600087803b158015611a1d57600080fd5b505af1158015611a31573d6000803e3d6000fd5b505050505b6000600b6000611a4461281d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905084811015611b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af890614b11565b60405180910390fd5b611b1e611b0c61281d565b878784611b19919061477b565b612825565b6001935050505092915050565b60008282601560009054906101000a900460ff1615611bdd57601560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631ffb811f611b8a61281d565b84846040518463ffffffff1660e01b8152600401611baa9392919061463e565b600060405180830381600087803b158015611bc457600080fd5b505af1158015611bd8573d6000803e3d6000fd5b505050505b611bef611be861281d565b86866129ee565b60019250505092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611c3c61281d565b73ffffffffffffffffffffffffffffffffffffffff1614611c92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c89906147fb565b60405180910390fd5b600060145403611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce90614b7d565b60405180910390fd5b426014541115611d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1390614be9565b60405180910390fd5b6000601560006101000a81548160ff02191690831515021790555060006014819055507f3eb72350c9c7928d31e9ab450bfff2c159434aa4b82658a7d8eae7f109cb4e7b60405160405180910390a1565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611dae61281d565b73ffffffffffffffffffffffffffffffffffffffff1614611e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfb90614c55565b60405180910390fd5b601154818051906020012014611e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4690614cc1565b60405180910390fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fb94bba6936ec7f75ee931dadf6e1a4d66b43d09b6fa0178fb13df9b77fb5841f60405160405180910390a2601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b83421115611f9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9690614d2d565b60405180910390fd5b6000612001611ff97fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001611fde9493929190614d4d565b604051602081830303815290604052805190602001206131aa565b8585856131c4565b905061200c816131ef565b861461204d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204490614dde565b60405180910390fd5b6120578188612fbc565b50505050505050565b612068612e93565b6000612072610970565b146120a9576040517fda5b9bcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120bd816958f03ee118a13e800000612f11565b50565b601560009054906101000a900460ff1681565b83421115612116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210d90614e4a565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886121458c6131ef565b8960405160200161215b96959493929190614e6a565b604051602081830303815290604052805190602001209050600061217e826131aa565b9050600061218e828787876131c4565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146121fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f590614f17565b60405180910390fd5b6122098a8a8a612825565b50505050505050505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661225661281d565b73ffffffffffffffffffffffffffffffffffffffff16146122ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a3906147fb565b60405180910390fd5b6000601454146122f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e890614f83565b60405180910390fd5b601560009054906101000a900460ff16612340576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233790614fef565b60405180910390fd5b6013544261234e9190614887565b6014819055507f6ca688e6e3ddd707280140b2bf0106afe883689b6c74e68cbd517576dd9c245a6014546040516123859190613e75565b60405180910390a1565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61241e613c58565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061247557612474614a28565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61252e612e93565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361259d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259490615081565b60405180910390fd5b6125a6816130d6565b50565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361263e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612635906150ed565b60405180910390fd5b61264a6000838361324d565b806002600082825461265c9190614887565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126b19190614887565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127169190613e75565b60405180910390a361272a60008383613252565b5050565b6000818361273c9190614887565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156127a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279e9061517f565b60405180910390fd5b819050919050565b600063ffffffff80168211156127fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f190615211565b60405180910390fd5b819050919050565b505050565b60008183612815919061477b565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161288b906152a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128fa90615335565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516129e19190613e75565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a54906153c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac390615459565b60405180910390fd5b612ad783838361324d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b54906154eb565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612bf09190614887565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c549190613e75565b60405180910390a3612c67848484613252565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015612ce957507f000000000000000000000000000000000000000000000000000000000000000046145b15612d16577f00000000000000000000000000000000000000000000000000000000000000009050612d84565b612d817f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061327d565b90505b90565b6000808380549050905060005b81811015612e06576000612da882846132b7565b905084868281548110612dbe57612dbd614a28565b5b9060005260206000200160000160009054906101000a900463ffffffff1663ffffffff161115612df057809250612e00565b600181612dfd9190614887565b91505b50612d94565b60008214612e685784600183612e1c919061477b565b81548110612e2d57612e2c614a28565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16612e6b565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169250505092915050565b612e9b61281d565b73ffffffffffffffffffffffffffffffffffffffff16612eb96113b2565b73ffffffffffffffffffffffffffffffffffffffff1614612f0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f0690615557565b60405180910390fd5b565b612f1b82826125cf565b612f236132dd565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16612f49610970565b1115612f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f81906155e9565b60405180910390fd5b612f98600961272e836132f0565b50505050565b612fa88282613568565b612fb66009612807836132f0565b50505050565b6000612fc7836110a7565b90506000612fd484611306565b905082600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46130d082848361373e565b50505050565b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b60006131bd6131b7612c6d565b83613937565b9050919050565b60008060006131d58787878761396a565b915091506131e281613a76565b8192505050949350505050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061323c8161319c565b915061324781613c42565b50919050565b505050565b61325d838383612802565b613278613269846110a7565b613272846110a7565b8361373e565b505050565b60008383834630604051602001613298959493929190615609565b6040516020818303038152906040528051906020012090509392505050565b600060028284186132c8919061568b565b8284166132d59190614887565b905092915050565b60006a115eec47f6cf7e35000000905090565b6000806000858054905090506000811461335e5785600182613312919061477b565b8154811061332357613322614a28565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16613361565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16925061338f83858763ffffffff16565b91506000811180156133e2575043866001836133ab919061477b565b815481106133bc576133bb614a28565b5b9060005260206000200160000160009054906101000a900463ffffffff1663ffffffff16145b1561346f576133f082612744565b866001836133fe919061477b565b8154811061340f5761340e614a28565b5b9060005260206000200160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555061355f565b856040518060400160405280613484436127af565b63ffffffff16815260200161349885612744565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b50935093915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036135d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135ce9061572e565b60405180910390fd5b6135e38260008361324d565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613669576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613660906157c0565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546136c0919061477b565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516137259190613e75565b60405180910390a361373983600084613252565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561377a5750600081115b1561393257600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461385857600080613801600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612807856132f0565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161384d9291906157e0565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614613931576000806138da600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061272e856132f0565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516139269291906157e0565b60405180910390a250505b5b505050565b6000828260405160200161394c929190615881565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156139a5576000600391509150613a6d565b601b8560ff16141580156139bd5750601c8560ff1614155b156139cf576000600491509150613a6d565b6000600187878787604051600081526020016040526040516139f494939291906158b8565b6020604051602081039080840390855afa158015613a16573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613a6457600060019250925050613a6d565b80600092509250505b94509492505050565b60006004811115613a8a57613a896158fd565b5b816004811115613a9d57613a9c6158fd565b5b0315613c3f5760016004811115613ab757613ab66158fd565b5b816004811115613aca57613ac96158fd565b5b03613b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b0190615978565b60405180910390fd5b60026004811115613b1e57613b1d6158fd565b5b816004811115613b3157613b306158fd565b5b03613b71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b68906159e4565b60405180910390fd5b60036004811115613b8557613b846158fd565b5b816004811115613b9857613b976158fd565b5b03613bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bcf90615a76565b60405180910390fd5b600480811115613beb57613bea6158fd565b5b816004811115613bfe57613bfd6158fd565b5b03613c3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613c3590615b08565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015613cd0578082015181840152602081019050613cb5565b60008484015250505050565b6000601f19601f8301169050919050565b6000613cf882613c96565b613d028185613ca1565b9350613d12818560208601613cb2565b613d1b81613cdc565b840191505092915050565b60006020820190508181036000830152613d408184613ced565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613d8782613d5c565b9050919050565b613d9781613d7c565b8114613da257600080fd5b50565b600081359050613db481613d8e565b92915050565b6000819050919050565b613dcd81613dba565b8114613dd857600080fd5b50565b600081359050613dea81613dc4565b92915050565b60008060408385031215613e0757613e06613d52565b5b6000613e1585828601613da5565b9250506020613e2685828601613ddb565b9150509250929050565b60008115159050919050565b613e4581613e30565b82525050565b6000602082019050613e606000830184613e3c565b92915050565b613e6f81613dba565b82525050565b6000602082019050613e8a6000830184613e66565b92915050565b600080600060608486031215613ea957613ea8613d52565b5b6000613eb786828701613da5565b9350506020613ec886828701613da5565b9250506040613ed986828701613ddb565b9150509250925092565b600060208284031215613ef957613ef8613d52565b5b6000613f0784828501613da5565b91505092915050565b600060ff82169050919050565b613f2681613f10565b82525050565b6000602082019050613f416000830184613f1d565b92915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613f7881613f47565b82525050565b6000602082019050613f936000830184613f6f565b92915050565b6000819050919050565b6000613fbe613fb9613fb484613d5c565b613f99565b613d5c565b9050919050565b6000613fd082613fa3565b9050919050565b6000613fe282613fc5565b9050919050565b613ff281613fd7565b82525050565b600060208201905061400d6000830184613fe9565b92915050565b6000819050919050565b61402681614013565b82525050565b6000602082019050614041600083018461401d565b92915050565b60006020828403121561405d5761405c613d52565b5b600061406b84828501613ddb565b91505092915050565b61407d81613d7c565b82525050565b60006020820190506140986000830184614074565b92915050565b600063ffffffff82169050919050565b6140b78161409e565b82525050565b60006020820190506140d260008301846140ae565b92915050565b6140e181614013565b81146140ec57600080fd5b50565b6000813590506140fe816140d8565b92915050565b6000806040838503121561411b5761411a613d52565b5b600061412985828601613da5565b925050602061413a858286016140ef565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f84011261416957614168614144565b5b8235905067ffffffffffffffff81111561418657614185614149565b5b6020830191508360208202830111156141a2576141a161414e565b5b9250929050565b600080602083850312156141c0576141bf613d52565b5b600083013567ffffffffffffffff8111156141de576141dd613d57565b5b6141ea85828601614153565b92509250509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61423382613cdc565b810181811067ffffffffffffffff82111715614252576142516141fb565b5b80604052505050565b6000614265613d48565b9050614271828261422a565b919050565b600067ffffffffffffffff821115614291576142906141fb565b5b61429a82613cdc565b9050602081019050919050565b82818337600083830152505050565b60006142c96142c484614276565b61425b565b9050828152602081018484840111156142e5576142e46141f6565b5b6142f08482856142a7565b509392505050565b600082601f83011261430d5761430c614144565b5b813561431d8482602086016142b6565b91505092915050565b60006020828403121561433c5761433b613d52565b5b600082013567ffffffffffffffff81111561435a57614359613d57565b5b614366848285016142f8565b91505092915050565b61437881613f10565b811461438357600080fd5b50565b6000813590506143958161436f565b92915050565b60008060008060008060c087890312156143b8576143b7613d52565b5b60006143c689828a01613da5565b96505060206143d789828a01613ddb565b95505060406143e889828a01613ddb565b94505060606143f989828a01614386565b935050608061440a89828a016140ef565b92505060a061441b89828a016140ef565b9150509295509295509295565b600080600080600080600060e0888a03121561444757614446613d52565b5b60006144558a828b01613da5565b97505060206144668a828b01613da5565b96505060406144778a828b01613ddb565b95505060606144888a828b01613ddb565b94505060806144998a828b01614386565b93505060a06144aa8a828b016140ef565b92505060c06144bb8a828b016140ef565b91505092959891949750929550565b600080604083850312156144e1576144e0613d52565b5b60006144ef85828601613da5565b925050602061450085828601613da5565b9150509250929050565b6145138161409e565b811461451e57600080fd5b50565b6000813590506145308161450a565b92915050565b6000806040838503121561454d5761454c613d52565b5b600061455b85828601613da5565b925050602061456c85828601614521565b9150509250929050565b61457f8161409e565b82525050565b61458e81613f47565b82525050565b6040820160008201516145aa6000850182614576565b5060208201516145bd6020850182614585565b50505050565b60006040820190506145d86000830184614594565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061462557607f821691505b602082108103614638576146376145de565b5b50919050565b60006060820190506146536000830186614074565b6146606020830185614074565b61466d6040830184613e66565b949350505050565b600060808201905061468a6000830187614074565b6146976020830186614074565b6146a46040830185614074565b6146b16060830184613e66565b95945050505050565b7f4c45524332303a207472616e7366657220616d6f756e7420657863656564732060008201527f616c6c6f77616e63650000000000000000000000000000000000000000000000602082015250565b6000614716602983613ca1565b9150614721826146ba565b604082019050919050565b6000602082019050818103600083015261474581614709565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061478682613dba565b915061479183613dba565b92508282039050818111156147a9576147a861474c565b5b92915050565b7f4c45524332303a204d757374206265207265636f766572792061646d696e0000600082015250565b60006147e5601e83613ca1565b91506147f0826147af565b602082019050919050565b60006020820190508181036000830152614814816147d8565b9050919050565b7f4c45524332303a2043616e6e6f74207365742073616d65206164647265737300600082015250565b6000614851601f83613ca1565b915061485c8261481b565b602082019050919050565b6000602082019050818103600083015261488081614844565b9050919050565b600061489282613dba565b915061489d83613dba565b92508282019050808211156148b5576148b461474c565b5b92915050565b7f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e656400600082015250565b60006148f1601f83613ca1565b91506148fc826148bb565b602082019050919050565b60006020820190508181036000830152614920816148e4565b9050919050565b600060408201905061493c6000830185614074565b6149496020830184613e66565b9392505050565b7f4c45524332303a204c6f73736c65737320616c7265616479206f6e0000000000600082015250565b6000614986601b83613ca1565b915061499182614950565b602082019050919050565b600060208201905081810360008301526149b581614979565b9050919050565b7f4c45524332303a204f6e6c79206c6f73736c65737320636f6e74726163740000600082015250565b60006149f2601e83613ca1565b91506149fd826149bc565b602082019050919050565b60006020820190508181036000830152614a21816149e5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000614a6282613dba565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614a9457614a9361474c565b5b600182019050919050565b7f4c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f60008201527f77207a65726f0000000000000000000000000000000000000000000000000000602082015250565b6000614afb602683613ca1565b9150614b0682614a9f565b604082019050919050565b60006020820190508181036000830152614b2a81614aee565b9050919050565b7f4c45524332303a205475726e4f6666206e6f742070726f706f73656400000000600082015250565b6000614b67601c83613ca1565b9150614b7282614b31565b602082019050919050565b60006020820190508181036000830152614b9681614b5a565b9050919050565b7f4c45524332303a2054696d65206c6f636b20696e2070726f6772657373000000600082015250565b6000614bd3601d83613ca1565b9150614bde82614b9d565b602082019050919050565b60006020820190508181036000830152614c0281614bc6565b9050919050565b7f4c45524332303a204d7573742062652063616e64697461746500000000000000600082015250565b6000614c3f601983613ca1565b9150614c4a82614c09565b602082019050919050565b60006020820190508181036000830152614c6e81614c32565b9050919050565b7f4c45524332303a20496e76616c6964206b657900000000000000000000000000600082015250565b6000614cab601383613ca1565b9150614cb682614c75565b602082019050919050565b60006020820190508181036000830152614cda81614c9e565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000614d17601d83613ca1565b9150614d2282614ce1565b602082019050919050565b60006020820190508181036000830152614d4681614d0a565b9050919050565b6000608082019050614d62600083018761401d565b614d6f6020830186614074565b614d7c6040830185613e66565b614d896060830184613e66565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000614dc8601983613ca1565b9150614dd382614d92565b602082019050919050565b60006020820190508181036000830152614df781614dbb565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000614e34601d83613ca1565b9150614e3f82614dfe565b602082019050919050565b60006020820190508181036000830152614e6381614e27565b9050919050565b600060c082019050614e7f600083018961401d565b614e8c6020830188614074565b614e996040830187614074565b614ea66060830186613e66565b614eb36080830185613e66565b614ec060a0830184613e66565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000614f01601e83613ca1565b9150614f0c82614ecb565b602082019050919050565b60006020820190508181036000830152614f3081614ef4565b9050919050565b7f4c45524332303a205475726e4f666620616c72656164792070726f706f736564600082015250565b6000614f6d602083613ca1565b9150614f7882614f37565b602082019050919050565b60006020820190508181036000830152614f9c81614f60565b9050919050565b7f4c45524332303a204c6f73736c65737320616c7265616479206f666600000000600082015250565b6000614fd9601c83613ca1565b9150614fe482614fa3565b602082019050919050565b6000602082019050818103600083015261500881614fcc565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061506b602683613ca1565b91506150768261500f565b604082019050919050565b6000602082019050818103600083015261509a8161505e565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006150d7601f83613ca1565b91506150e2826150a1565b602082019050919050565b60006020820190508181036000830152615106816150ca565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000615169602783613ca1565b91506151748261510d565b604082019050919050565b600060208201905081810360008301526151988161515c565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b60006151fb602683613ca1565b91506152068261519f565b604082019050919050565b6000602082019050818103600083015261522a816151ee565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061528d602483613ca1565b915061529882615231565b604082019050919050565b600060208201905081810360008301526152bc81615280565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061531f602283613ca1565b915061532a826152c3565b604082019050919050565b6000602082019050818103600083015261534e81615312565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006153b1602583613ca1565b91506153bc82615355565b604082019050919050565b600060208201905081810360008301526153e0816153a4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000615443602383613ca1565b915061544e826153e7565b604082019050919050565b6000602082019050818103600083015261547281615436565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006154d5602683613ca1565b91506154e082615479565b604082019050919050565b60006020820190508181036000830152615504816154c8565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000615541602083613ca1565b915061554c8261550b565b602082019050919050565b6000602082019050818103600083015261557081615534565b9050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b60006155d3603083613ca1565b91506155de82615577565b604082019050919050565b60006020820190508181036000830152615602816155c6565b9050919050565b600060a08201905061561e600083018861401d565b61562b602083018761401d565b615638604083018661401d565b6156456060830185613e66565b6156526080830184614074565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061569682613dba565b91506156a183613dba565b9250826156b1576156b061565c565b5b828204905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000615718602183613ca1565b9150615723826156bc565b604082019050919050565b600060208201905081810360008301526157478161570b565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006157aa602283613ca1565b91506157b58261574e565b604082019050919050565b600060208201905081810360008301526157d98161579d565b9050919050565b60006040820190506157f56000830185613e66565b6158026020830184613e66565b9392505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b600061584a600283615809565b915061585582615814565b600282019050919050565b6000819050919050565b61587b61587682614013565b615860565b82525050565b600061588c8261583d565b9150615898828561586a565b6020820191506158a8828461586a565b6020820191508190509392505050565b60006080820190506158cd600083018761401d565b6158da6020830186613f1d565b6158e7604083018561401d565b6158f4606083018461401d565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000615962601883613ca1565b915061596d8261592c565b602082019050919050565b6000602082019050818103600083015261599181615955565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006159ce601f83613ca1565b91506159d982615998565b602082019050919050565b600060208201905081810360008301526159fd816159c1565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000615a60602283613ca1565b9150615a6b82615a04565b604082019050919050565b60006020820190508181036000830152615a8f81615a53565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000615af2602283613ca1565b9150615afd82615a96565b604082019050919050565b60006020820190508181036000830152615b2181615ae5565b905091905056fea2646970667358221220ff04b4f34a5e08c13b943a17d4ea7d368970075a39b135320a23e62bdcca6c1a64736f6c63430008110033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000006769db4e3e94a63089f258b9500e0695586315ba0000000000000000000000006769db4e3e94a63089f258b9500e0695586315ba0000000000000000000000000000000000000000000000000000000000015180000000000000000000000000e5b5753cfead850f7069b05b3a76645af63a9102000000000000000000000000000000000000000000000000000000000000000956617065546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045641504500000000000000000000000000000000000000000000000000000000