[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": [], "name": "AutoNukeLP", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [], "name": "ManualNukeLP", "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": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "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" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "devWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "treasuryWalletUpdated", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "activateTrading", "outputs": [], "stateMutability": "nonpayable", "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": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "isBlacklisted", "type": "bool" } ], "name": "blacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "buyDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTreasuryFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [], "name": "disableTransferDelay", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "enableEmptyContract", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransaction", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitsActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTx", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_devBuyFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityBuyFee", "type": "uint256" }, { "internalType": "uint256", "name": "_treasuryBuyFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devSellFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquiditySellFee", "type": "uint256" }, { "internalType": "uint256", "name": "_treasurySellFee", "type": "uint256" } ], "name": "reduceFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTreasuryFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "setSwapTreshold", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "shouldContractSellAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForDev", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForTreasury", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingLive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "transferDelayEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "updateContractSellEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newTreasuryWallet", "type": "address" }, { "internalType": "address", "name": "newDevWallet", "type": "address" } ], "name": "updateFeeRecivers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxTx", "type": "uint256" }, { "internalType": "uint256", "name": "_maxWallet", "type": "uint256" } ], "name": "updateTransactionLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040526040518060400160405280600881526020017f5a4f475a2e66756e000000000000000000000000000000000000000000000000815250600690816200004a919062000fa3565b506040518060400160405280600481526020017f5a4f475a000000000000000000000000000000000000000000000000000000008152506007908162000091919062000fa3565b506001600d5f6101000a81548160ff0219169083151502179055505f600d60016101000a81548160ff0219169083151502179055506001600d60026101000a81548160ff0219169083151502179055505f600d60036101000a81548160ff021916908315150217905550600160115f6101000a81548160ff02191690831515021790555034801562000121575f80fd5b5060068054620001319062000da3565b80601f01602080910402602001604051908101604052809291908181526020018280546200015f9062000da3565b8015620001ae5780601f106200018457610100808354040283529160200191620001ae565b820191905f5260205f20905b8154815290600101906020018083116200019057829003601f168201915b505050505060078054620001c29062000da3565b80601f0160208091040260200160405190810160405280929190818152602001828054620001f09062000da3565b80156200023f5780601f1062000215576101008083540402835291602001916200023f565b820191905f5260205f20905b8154815290600101906020018083116200022157829003601f168201915b5050505050816003908162000255919062000fa3565b50806004908162000267919062000fa3565b5050505f6200027b6200082c60201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d9050620003438160016200083360201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003c1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003e79190620010ec565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200044d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004739190620010ec565b6040518363ffffffff1660e01b8152600401620004929291906200112d565b6020604051808303815f875af1158015620004af573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004d59190620010ec565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200051d60a05160016200083360201b60201c565b6200053260a05160016200092c60201b60201c565b5f601990505f805f602890505f805f6806046f37e5945c000090506103e86014826200055f919062001185565b6200056b9190620011fc565b600a819055506103e860148262000583919062001185565b6200058f9190620011fc565b600c819055506103e8600182620005a7919062001185565b620005b39190620011fc565b600b81905550866013819055508560148190555084601581905550601554601454601354620005e3919062001233565b620005ef919062001233565b6012819055508360178190555082601881905550816019819055506019546018546017546200061f919062001233565b6200062b919062001233565b6016819055507324c2666b6c594a37b16e5a6a5b118fc7ad4351fd600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507324c2666b6c594a37b16e5a6a5b118fc7ad4351fd60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620006fc620006ee620009ca60201b60201c565b6001620009f260201b60201c565b6200070f306001620009f260201b60201c565b6200072461dead6001620009f260201b60201c565b62000759600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620009f260201b60201c565b6200077b6200076d620009ca60201b60201c565b60016200083360201b60201c565b6200078e3060016200083360201b60201c565b620007a361dead60016200083360201b60201c565b620007d760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200083360201b60201c565b6200080c600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200083360201b60201c565b6200081e338262000b3b60201b60201c565b50505050505050506200142a565b5f33905090565b620008436200082c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620008d4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008cb90620012cb565b60405180910390fd5b80601f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b8060205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000a026200082c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000a93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a8a90620012cb565b60405180910390fd5b80601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000b2f919062001307565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000bac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ba39062001370565b60405180910390fd5b62000bbf5f838362000cd860201b60201c565b62000bd68160025462000cdd60201b90919060201c565b60028190555062000c2d815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205462000cdd60201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000ccc9190620013a1565b60405180910390a35050565b505050565b5f80828462000ced919062001233565b90508381101562000d35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d2c906200140a565b60405180910390fd5b8091505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000dbb57607f821691505b60208210810362000dd15762000dd062000d76565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000e357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000df8565b62000e41868362000df8565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000e8b62000e8562000e7f8462000e59565b62000e62565b62000e59565b9050919050565b5f819050919050565b62000ea68362000e6b565b62000ebe62000eb58262000e92565b84845462000e04565b825550505050565b5f90565b62000ed462000ec6565b62000ee181848462000e9b565b505050565b5b8181101562000f085762000efc5f8262000eca565b60018101905062000ee7565b5050565b601f82111562000f575762000f218162000dd7565b62000f2c8462000de9565b8101602085101562000f3c578190505b62000f5462000f4b8562000de9565b83018262000ee6565b50505b505050565b5f82821c905092915050565b5f62000f795f198460080262000f5c565b1980831691505092915050565b5f62000f93838362000f68565b9150826002028217905092915050565b62000fae8262000d3f565b67ffffffffffffffff81111562000fca5762000fc962000d49565b5b62000fd6825462000da3565b62000fe382828562000f0c565b5f60209050601f83116001811462001019575f841562001004578287015190505b62001010858262000f86565b8655506200107f565b601f198416620010298662000dd7565b5f5b8281101562001052578489015182556001820191506020850194506020810190506200102b565b868310156200107257848901516200106e601f89168262000f68565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620010b6826200108b565b9050919050565b620010c881620010aa565b8114620010d3575f80fd5b50565b5f81519050620010e681620010bd565b92915050565b5f6020828403121562001104576200110362001087565b5b5f6200111384828501620010d6565b91505092915050565b6200112781620010aa565b82525050565b5f604082019050620011425f8301856200111c565b6200115160208301846200111c565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620011918262000e59565b91506200119e8362000e59565b9250828202620011ae8162000e59565b91508282048414831517620011c857620011c762001158565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620012088262000e59565b9150620012158362000e59565b925082620012285762001227620011cf565b5b828204905092915050565b5f6200123f8262000e59565b91506200124c8362000e59565b925082820190508082111562001267576200126662001158565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f620012b36020836200126d565b9150620012c0826200127d565b602082019050919050565b5f6020820190508181035f830152620012e481620012a5565b9050919050565b5f8115159050919050565b6200130181620012eb565b82525050565b5f6020820190506200131c5f830184620012f6565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62001358601f836200126d565b9150620013658262001322565b602082019050919050565b5f6020820190508181035f83015262001389816200134a565b9050919050565b6200139b8162000e59565b82525050565b5f602082019050620013b65f83018462001390565b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f620013f2601b836200126d565b9150620013ff82620013bc565b602082019050919050565b5f6020820190508181035f8301526200142381620013e4565b9050919050565b60805160a051615460620014845f395f818161132301528181611caa0152612b1e01525f8181610d8e01528181612ac601528181613c5101528181613d3001528181613d5701528181613ded0152613e1401526154605ff3fe6080604052600436106102e7575f3560e01c8063715018a61161018f578063b62496f5116100db578063dd62ed3e11610094578063f11a24d31161006e578063f11a24d314610b34578063f2fde38b14610b5e578063f637434214610b86578063f8b45b0514610bb0576102ee565b8063dd62ed3e14610aa4578063e52fb9ec14610ae0578063e884f26014610b0a576102ee565b8063b62496f514610986578063c0246668146109c2578063c876d0b9146109ea578063cc2ffe7c14610a14578063cfd1940e14610a3e578063d85ba06314610a7a576102ee565b806395d89b41116101485780639fccce32116101225780639fccce32146108ba578063a0d82dc5146108e4578063a457c2d71461090e578063a9059cbb1461094a576102ee565b806395d89b411461083e5780639a7a23d6146108685780639c3b4fdc14610890576102ee565b8063715018a61461075a5780637437681e14610770578063751039fc1461079a5780637571336a146107c45780637ebb640a146107ec5780638da5cb5b14610814576102ee565b806323b872dd1161024e57806358c84e70116102075780636a486a8e116101e15780636a486a8e146106a05780636b2fb124146106ca5780636ddd1713146106f457806370a082311461071e576102ee565b806358c84e70146106265780635c068a8c1461064e5780635f5828f614610678576102ee565b806323b872dd146104f6578063313ce56714610532578063395093511461055c578063404e51291461059857806349bd5a5e146105c05780634fbee193146105ea576102ee565b806318160ddd116102a057806318160ddd146103fe578063184f5c6a146104285780631864217b146104505780631a8145bb1461047a5780631cce34ee146104a457806322b55037146104ce576102ee565b806306fdde03146102f2578063095ea7b31461031c5780630bd05b691461035857806310d5de531461036e57806311704f52146103aa5780631694505e146103d4576102ee565b366102ee57005b5f80fd5b3480156102fd575f80fd5b50610306610bda565b6040516103139190613fa9565b60405180910390f35b348015610327575f80fd5b50610342600480360381019061033d919061405a565b610c6a565b60405161034f91906140b2565b60405180910390f35b348015610363575f80fd5b5061036c610c87565b005b348015610379575f80fd5b50610394600480360381019061038f91906140cb565b610d5c565b6040516103a191906140b2565b60405180910390f35b3480156103b5575f80fd5b506103be610d79565b6040516103cb91906140b2565b60405180910390f35b3480156103df575f80fd5b506103e8610d8c565b6040516103f59190614151565b60405180910390f35b348015610409575f80fd5b50610412610db0565b60405161041f9190614179565b60405180910390f35b348015610433575f80fd5b5061044e600480360381019061044991906141bc565b610db9565b005b34801561045b575f80fd5b50610464610e6c565b60405161047191906140b2565b60405180910390f35b348015610485575f80fd5b5061048e610e7f565b60405161049b9190614179565b60405180910390f35b3480156104af575f80fd5b506104b8610e85565b6040516104c591906140b2565b60405180910390f35b3480156104d9575f80fd5b506104f460048036038101906104ef91906141e7565b610e97565b005b348015610501575f80fd5b5061051c60048036038101906105179190614225565b6110a9565b60405161052991906140b2565b60405180910390f35b34801561053d575f80fd5b5061054661117d565b6040516105539190614290565b60405180910390f35b348015610567575f80fd5b50610582600480360381019061057d919061405a565b611185565b60405161058f91906140b2565b60405180910390f35b3480156105a3575f80fd5b506105be60048036038101906105b991906142a9565b611233565b005b3480156105cb575f80fd5b506105d4611321565b6040516105e191906142f6565b60405180910390f35b3480156105f5575f80fd5b50610610600480360381019061060b91906140cb565b611345565b60405161061d91906140b2565b60405180910390f35b348015610631575f80fd5b5061064c6004803603810190610647919061430f565b611397565b005b348015610659575f80fd5b50610662611585565b60405161066f9190614179565b60405180910390f35b348015610683575f80fd5b5061069e600480360381019061069991906141bc565b61158b565b005b3480156106ab575f80fd5b506106b461163e565b6040516106c19190614179565b60405180910390f35b3480156106d5575f80fd5b506106de611644565b6040516106eb9190614179565b60405180910390f35b3480156106ff575f80fd5b5061070861164a565b60405161071591906140b2565b60405180910390f35b348015610729575f80fd5b50610744600480360381019061073f91906140cb565b61165d565b6040516107519190614179565b60405180910390f35b348015610765575f80fd5b5061076e6116a2565b005b34801561077b575f80fd5b506107846117f5565b6040516107919190614179565b60405180910390f35b3480156107a5575f80fd5b506107ae6117fb565b6040516107bb91906140b2565b60405180910390f35b3480156107cf575f80fd5b506107ea60048036038101906107e591906142a9565b6118b2565b005b3480156107f7575f80fd5b50610812600480360381019061080d9190614398565b6119a0565b005b34801561081f575f80fd5b50610828611b5a565b60405161083591906142f6565b60405180910390f35b348015610849575f80fd5b50610852611b82565b60405161085f9190613fa9565b60405180910390f35b348015610873575f80fd5b5061088e600480360381019061088991906142a9565b611c12565b005b34801561089b575f80fd5b506108a4611d44565b6040516108b19190614179565b60405180910390f35b3480156108c5575f80fd5b506108ce611d4a565b6040516108db9190614179565b60405180910390f35b3480156108ef575f80fd5b506108f8611d50565b6040516109059190614179565b60405180910390f35b348015610919575f80fd5b50610934600480360381019061092f919061405a565b611d56565b60405161094191906140b2565b60405180910390f35b348015610955575f80fd5b50610970600480360381019061096b919061405a565b611e1e565b60405161097d91906140b2565b60405180910390f35b348015610991575f80fd5b506109ac60048036038101906109a791906140cb565b611e3b565b6040516109b991906140b2565b60405180910390f35b3480156109cd575f80fd5b506109e860048036038101906109e391906142a9565b611e57565b005b3480156109f5575f80fd5b506109fe611f93565b604051610a0b91906140b2565b60405180910390f35b348015610a1f575f80fd5b50610a28611fa5565b604051610a359190614179565b60405180910390f35b348015610a49575f80fd5b50610a646004803603810190610a5f91906143d6565b611fab565b604051610a7191906140b2565b60405180910390f35b348015610a85575f80fd5b50610a8e612119565b604051610a9b9190614179565b60405180910390f35b348015610aaf575f80fd5b50610aca6004803603810190610ac591906141e7565b61211f565b604051610ad79190614179565b60405180910390f35b348015610aeb575f80fd5b50610af46121a1565b604051610b019190614179565b60405180910390f35b348015610b15575f80fd5b50610b1e6121a7565b604051610b2b91906140b2565b60405180910390f35b348015610b3f575f80fd5b50610b4861225e565b604051610b559190614179565b60405180910390f35b348015610b69575f80fd5b50610b846004803603810190610b7f91906140cb565b612264565b005b348015610b91575f80fd5b50610b9a612426565b604051610ba79190614179565b60405180910390f35b348015610bbb575f80fd5b50610bc461242c565b604051610bd19190614179565b60405180910390f35b606060038054610be99061442e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c159061442e565b8015610c605780601f10610c3757610100808354040283529160200191610c60565b820191905f5260205f20905b815481529060010190602001808311610c4357829003601f168201915b5050505050905090565b5f610c7d610c76612432565b8484612439565b6001905092915050565b610c8f612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d14906144a8565b60405180910390fd5b6001600d60016101000a81548160ff0219169083151502179055506001600d60026101000a81548160ff02191690831515021790555043601d81905550565b601f602052805f5260405f205f915054906101000a900460ff1681565b600d60019054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b610dc1612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e46906144a8565b60405180910390fd5b80600d60036101000a81548160ff02191690831515021790555050565b600d60039054906101000a900460ff1681565b601b5481565b600d5f9054906101000a900460ff1681565b610e9f612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f24906144a8565b60405180910390fd5b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f02f8a1483978974a6412ba3a67040b4daa4fc0dfe9439a7295f9a9538394f63560405160405180910390a381600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a38060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b5f6110b58484846125fc565b611172846110c1612432565b61116d856040518060600160405280602881526020016153de6028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f611124612432565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546133c59092919063ffffffff16565b612439565b600190509392505050565b5f6012905090565b5f611229611191612432565b846112248560015f6111a1612432565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461342790919063ffffffff16565b612439565b6001905092915050565b61123b612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c0906144a8565b60405180910390fd5b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b61139f612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461142d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611424906144a8565b60405180910390fd5b601554861115801561144157506014548511155b801561144f57506013548411155b801561145d57506019548311155b801561146b57506018548211155b801561147957506017548111155b6114b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114af90614536565b60405180910390fd5b8560158190555084601481905550836013819055506013546014546015546114e09190614581565b6114ea9190614581565b6012819055508260198190555081601881905550806017819055506017546018546019546115189190614581565b6115229190614581565b601681905550601e6012541115801561153e5750601e60165411155b61157d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611574906145fe565b60405180910390fd5b505050505050565b60135481565b611593612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611621576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611618906144a8565b60405180910390fd5b80600d60026101000a81548160ff02191690831515021790555050565b60165481565b60175481565b600d60029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6116aa612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172f906144a8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600a5481565b5f611804612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611892576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611889906144a8565b60405180910390fd5b5f600d5f6101000a81548160ff0219169083151502179055506001905090565b6118ba612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193f906144a8565b60405180910390fd5b80601f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6119a8612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2d906144a8565b60405180910390fd5b670de0b6b3a76400006103e86001611a4c610db0565b611a56919061461c565b611a60919061468a565b611a6a919061468a565b821015611aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa39061472a565b60405180910390fd5b670de0b6b3a76400006103e86005611ac2610db0565b611acc919061461c565b611ad6919061468a565b611ae0919061468a565b811015611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b19906147b8565b60405180910390fd5b670de0b6b3a764000082611b36919061461c565b600a81905550670de0b6b3a764000081611b50919061461c565b600c819055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054611b919061442e565b80601f0160208091040260200160405190810160405280929190818152602001828054611bbd9061442e565b8015611c085780601f10611bdf57610100808354040283529160200191611c08565b820191905f5260205f20905b815481529060010190602001808311611beb57829003601f168201915b5050505050905090565b611c1a612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ca8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9f906144a8565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2d90614846565b60405180910390fd5b611d408282613484565b5050565b60155481565b601c5481565b60195481565b5f611e14611d62612432565b84611e0f856040518060600160405280602581526020016154066025913960015f611d8b612432565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546133c59092919063ffffffff16565b612439565b6001905092915050565b5f611e31611e2a612432565b84846125fc565b6001905092915050565b60208052805f5260405f205f915054906101000a900460ff1681565b611e5f612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee4906144a8565b60405180910390fd5b80601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611f8791906140b2565b60405180910390a25050565b60115f9054906101000a900460ff1681565b601a5481565b5f611fb4612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612042576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612039906144a8565b60405180910390fd5b620186a06001612050610db0565b61205a919061461c565b612064919061468a565b8210156120a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209d906148d4565b60405180910390fd5b6103e860056120b3610db0565b6120bd919061461c565b6120c7919061468a565b821115612109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210090614962565b60405180910390fd5b81600b8190555060019050919050565b60125481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600b5481565b5f6121b0612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461223e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612235906144a8565b60405180910390fd5b5f60115f6101000a81548160ff0219169083151502179055506001905090565b60145481565b61226c612432565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f1906144a8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612368576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235f906149f0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60185481565b600c5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249e90614a7e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250c90614b0c565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125ef9190614179565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361266a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266190614b9a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cf90614c28565b60405180910390fd5b60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015612776575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6127b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ac90614cb6565b60405180910390fd5b60205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156128525750601f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b505f810361286a5761286583835f613522565b6133c0565b600d5f9054906101000a900460ff1615612f1057612886611b5a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128f457506128c4611b5a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561292c57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612966575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561297e575060085f9054906101000a900460ff16155b15612f0f57600d60019054906101000a900460ff16612a7257601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612a325750601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6890614d1e565b60405180910390fd5b5b60115f9054906101000a900460ff1615612c3557612a8e611b5a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612b1557507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612b6d57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612c345743600e5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612be890614dd2565b60405180910390fd5b43600e5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612cd25750601f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612d7957600a54811115612d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1390614e60565b60405180910390fd5b600c54612d288361165d565b82612d339190614581565b1115612d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6b90614ec8565b60405180910390fd5b612f0e565b60205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612e165750601f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612e6557600a54811115612e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5790614f56565b60405180910390fd5b612f0d565b601f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612f0c57600c54612ebf8361165d565b82612eca9190614581565b1115612f0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f0290614ec8565b60405180910390fd5b5b5b5b5b5b5f612f1a3061165d565b90505f600b548210159050808015612f3e5750600d60029054906101000a900460ff165b8015612f56575060085f9054906101000a900460ff16155b8015612fa9575060205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612ffc5750601e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561304f5750601e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561309057600160085f6101000a81548160ff0219169083151502179055506130766137ab565b5f60085f6101000a81548160ff0219169083151502179055505b5f60085f9054906101000a900460ff16159050601e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061313e5750601e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15613147575f90505b5f81156133b05760205f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156131a557505f601654115b1561326f576131d260646131c460165488613aa690919063ffffffff16565b613b1d90919063ffffffff16565b9050601654601854826131e5919061461c565b6131ef919061468a565b601b5f8282546131ff9190614581565b9250508190555060165460195482613217919061461c565b613221919061468a565b601c5f8282546132319190614581565b9250508190555060165460175482613249919061461c565b613253919061468a565b601a5f8282546132639190614581565b9250508190555061338d565b60205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156132c657505f601254115b1561338c576132f360646132e560125488613aa690919063ffffffff16565b613b1d90919063ffffffff16565b905060125460145482613306919061461c565b613310919061468a565b601b5f8282546133209190614581565b9250508190555060125460155482613338919061461c565b613342919061468a565b601c5f8282546133529190614581565b925050819055506012546013548261336a919061461c565b613374919061468a565b601a5f8282546133849190614581565b925050819055505b5b5f8111156133a1576133a0873083613522565b5b80856133ad9190614f74565b94505b6133bb878787613522565b505050505b505050565b5f83831115829061340c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134039190613fa9565b60405180910390fd5b505f838561341a9190614f74565b9050809150509392505050565b5f8082846134359190614581565b90508381101561347a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161347190614ff1565b60405180910390fd5b8091505092915050565b8060205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161358790614b9a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036135fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135f590614c28565b60405180910390fd5b613609838383613b66565b613672816040518060600160405280602681526020016153b8602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546133c59092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550613701815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461342790919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161379e9190614179565b60405180910390a3505050565b5f6137b53061165d565b90505f601c54601a54601b546137cb9190614581565b6137d59190614581565b90505f808314806137e557505f82145b156137f257505050613aa4565b5f1515600d60039054906101000a900460ff16151503613839576014600b5461381b919061461c565b831115613834576014600b54613831919061461c565b92505b613845565b6138423061165d565b92505b5f600283601b5486613857919061461c565b613861919061468a565b61386b919061468a565b90505f6138818286613b6b90919063ffffffff16565b90505f47905061389082613bb4565b5f6138a48247613b6b90919063ffffffff16565b90505f6138ce876138c0601a5485613aa690919063ffffffff16565b613b1d90919063ffffffff16565b90505f6138f8886138ea601c5486613aa690919063ffffffff16565b613b1d90919063ffffffff16565b90505f8183856139089190614f74565b6139129190614f74565b90505f601b819055505f601a819055505f601c8190555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161396e9061503c565b5f6040518083038185875af1925050503d805f81146139a8576040519150601f19603f3d011682016040523d82523d5f602084013e6139ad565b606091505b5050809850505f871180156139c157505f81115b15613a0e576139d08782613de7565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618682601b54604051613a0593929190615050565b60405180910390a15b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613a549061503c565b5f6040518083038185875af1925050503d805f8114613a8e576040519150601f19603f3d011682016040523d82523d5f602084013e613a93565b606091505b505080985050505050505050505050505b565b5f808303613ab6575f9050613b17565b5f8284613ac3919061461c565b9050828482613ad2919061468a565b14613b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b09906150f5565b60405180910390fd5b809150505b92915050565b5f613b5e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613ebe565b905092915050565b505050565b5f613bac83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506133c5565b905092915050565b5f600267ffffffffffffffff811115613bd057613bcf615113565b5b604051908082528060200260200182016040528015613bfe5781602001602082028036833780820191505090505b50905030815f81518110613c1557613c14615140565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613cb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613cdc9190615181565b81600181518110613cf057613cef615140565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613d55307f000000000000000000000000000000000000000000000000000000000000000084612439565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401613db695949392919061529c565b5f604051808303815f87803b158015613dcd575f80fd5b505af1158015613ddf573d5f803e3d5ffd5b505050505050565b613e12307f000000000000000000000000000000000000000000000000000000000000000084612439565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8030426040518863ffffffff1660e01b8152600401613e76969594939291906152f4565b60606040518083038185885af1158015613e92573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190613eb79190615367565b5050505050565b5f8083118290613f04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613efb9190613fa9565b60405180910390fd5b505f8385613f12919061468a565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613f56578082015181840152602081019050613f3b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613f7b82613f1f565b613f858185613f29565b9350613f95818560208601613f39565b613f9e81613f61565b840191505092915050565b5f6020820190508181035f830152613fc18184613f71565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613ff682613fcd565b9050919050565b61400681613fec565b8114614010575f80fd5b50565b5f8135905061402181613ffd565b92915050565b5f819050919050565b61403981614027565b8114614043575f80fd5b50565b5f8135905061405481614030565b92915050565b5f80604083850312156140705761406f613fc9565b5b5f61407d85828601614013565b925050602061408e85828601614046565b9150509250929050565b5f8115159050919050565b6140ac81614098565b82525050565b5f6020820190506140c55f8301846140a3565b92915050565b5f602082840312156140e0576140df613fc9565b5b5f6140ed84828501614013565b91505092915050565b5f819050919050565b5f61411961411461410f84613fcd565b6140f6565b613fcd565b9050919050565b5f61412a826140ff565b9050919050565b5f61413b82614120565b9050919050565b61414b81614131565b82525050565b5f6020820190506141645f830184614142565b92915050565b61417381614027565b82525050565b5f60208201905061418c5f83018461416a565b92915050565b61419b81614098565b81146141a5575f80fd5b50565b5f813590506141b681614192565b92915050565b5f602082840312156141d1576141d0613fc9565b5b5f6141de848285016141a8565b91505092915050565b5f80604083850312156141fd576141fc613fc9565b5b5f61420a85828601614013565b925050602061421b85828601614013565b9150509250929050565b5f805f6060848603121561423c5761423b613fc9565b5b5f61424986828701614013565b935050602061425a86828701614013565b925050604061426b86828701614046565b9150509250925092565b5f60ff82169050919050565b61428a81614275565b82525050565b5f6020820190506142a35f830184614281565b92915050565b5f80604083850312156142bf576142be613fc9565b5b5f6142cc85828601614013565b92505060206142dd858286016141a8565b9150509250929050565b6142f081613fec565b82525050565b5f6020820190506143095f8301846142e7565b92915050565b5f805f805f8060c0878903121561432957614328613fc9565b5b5f61433689828a01614046565b965050602061434789828a01614046565b955050604061435889828a01614046565b945050606061436989828a01614046565b935050608061437a89828a01614046565b92505060a061438b89828a01614046565b9150509295509295509295565b5f80604083850312156143ae576143ad613fc9565b5b5f6143bb85828601614046565b92505060206143cc85828601614046565b9150509250929050565b5f602082840312156143eb576143ea613fc9565b5b5f6143f884828501614046565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061444557607f821691505b60208210810361445857614457614401565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f614492602083613f29565b915061449d8261445e565b602082019050919050565b5f6020820190508181035f8301526144bf81614486565b9050919050565b7f46656573206d757374206265206c6f776572207468656e2074686520637572725f8201527f656e740000000000000000000000000000000000000000000000000000000000602082015250565b5f614520602383613f29565b915061452b826144c6565b604082019050919050565b5f6020820190508181035f83015261454d81614514565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61458b82614027565b915061459683614027565b92508282019050808211156145ae576145ad614554565b5b92915050565b7f466565732063616e6e6f7420626520686967686572207468656e2033302500005f82015250565b5f6145e8601e83613f29565b91506145f3826145b4565b602082019050919050565b5f6020820190508181035f830152614615816145dc565b9050919050565b5f61462682614027565b915061463183614027565b925082820261463f81614027565b9150828204841483151761465657614655614554565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61469482614027565b915061469f83614027565b9250826146af576146ae61465d565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e74205f8201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b5f614714602f83613f29565b915061471f826146ba565b604082019050919050565b5f6020820190508181035f83015261474181614708565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e205f8201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b5f6147a2602483613f29565b91506147ad82614748565b604082019050919050565b5f6020820190508181035f8301526147cf81614796565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f614830603983613f29565b915061483b826147d6565b604082019050919050565b5f6020820190508181035f83015261485d81614824565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f6148be603583613f29565b91506148c982614864565b604082019050919050565b5f6020820190508181035f8301526148eb816148b2565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f61494c603483613f29565b9150614957826148f2565b604082019050919050565b5f6020820190508181035f83015261497981614940565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6149da602683613f29565b91506149e582614980565b604082019050919050565b5f6020820190508181035f830152614a07816149ce565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614a68602483613f29565b9150614a7382614a0e565b604082019050919050565b5f6020820190508181035f830152614a9581614a5c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f614af6602283613f29565b9150614b0182614a9c565b604082019050919050565b5f6020820190508181035f830152614b2381614aea565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f614b84602583613f29565b9150614b8f82614b2a565b604082019050919050565b5f6020820190508181035f830152614bb181614b78565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614c12602383613f29565b9150614c1d82614bb8565b604082019050919050565b5f6020820190508181035f830152614c3f81614c06565b9050919050565b7f596f752068617665206265656e20626c61636b6c69737465642066726f6d20745f8201527f72616e73666572696e6720746f6b656e73000000000000000000000000000000602082015250565b5f614ca0603183613f29565b9150614cab82614c46565b604082019050919050565b5f6020820190508181035f830152614ccd81614c94565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f614d08601683613f29565b9150614d1382614cd4565b602082019050919050565b5f6020820190508181035f830152614d3581614cfc565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f614dbc604983613f29565b9150614dc782614d3c565b606082019050919050565b5f6020820190508181035f830152614de981614db0565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f614e4a603583613f29565b9150614e5582614df0565b604082019050919050565b5f6020820190508181035f830152614e7781614e3e565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f614eb2601383613f29565b9150614ebd82614e7e565b602082019050919050565b5f6020820190508181035f830152614edf81614ea6565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f614f40603683613f29565b9150614f4b82614ee6565b604082019050919050565b5f6020820190508181035f830152614f6d81614f34565b9050919050565b5f614f7e82614027565b9150614f8983614027565b9250828203905081811115614fa157614fa0614554565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614fdb601b83613f29565b9150614fe682614fa7565b602082019050919050565b5f6020820190508181035f83015261500881614fcf565b9050919050565b5f81905092915050565b50565b5f6150275f8361500f565b915061503282615019565b5f82019050919050565b5f6150468261501c565b9150819050919050565b5f6060820190506150635f83018661416a565b615070602083018561416a565b61507d604083018461416a565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6150df602183613f29565b91506150ea82615085565b604082019050919050565b5f6020820190508181035f83015261510c816150d3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061517b81613ffd565b92915050565b5f6020828403121561519657615195613fc9565b5b5f6151a38482850161516d565b91505092915050565b5f819050919050565b5f6151cf6151ca6151c5846151ac565b6140f6565b614027565b9050919050565b6151df816151b5565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61521781613fec565b82525050565b5f615228838361520e565b60208301905092915050565b5f602082019050919050565b5f61524a826151e5565b61525481856151ef565b935061525f836151ff565b805f5b8381101561528f578151615276888261521d565b975061528183615234565b925050600181019050615262565b5085935050505092915050565b5f60a0820190506152af5f83018861416a565b6152bc60208301876151d6565b81810360408301526152ce8186615240565b90506152dd60608301856142e7565b6152ea608083018461416a565b9695505050505050565b5f60c0820190506153075f8301896142e7565b615314602083018861416a565b61532160408301876151d6565b61532e60608301866151d6565b61533b60808301856142e7565b61534860a083018461416a565b979650505050505050565b5f8151905061536181614030565b92915050565b5f805f6060848603121561537e5761537d613fc9565b5b5f61538b86828701615353565b935050602061539c86828701615353565b92505060406153ad86828701615353565b915050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122043726f0908d8c3103708bdc415d135aab1839cc9e5d47d6288da58cdac3eac4364736f6c63430008140033