[ { "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" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "areLimitsOn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "balance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contractSellTreshold", "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": "devBuyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devSellTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_devBuy", "type": "uint256" }, { "internalType": "uint256", "name": "_devSell", "type": "uint256" }, { "internalType": "uint256", "name": "_liqBuy", "type": "uint256" }, { "internalType": "uint256", "name": "_liqSell", "type": "uint256" } ], "name": "editTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "emptyContract", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "emptyContractFull", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": [], "name": "go", "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": "liqBuyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liqSellTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransaction", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletHolding", "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": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeStuckETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeStuckTokenBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "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": "totalBuyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSellTax", "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": "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": "address", "name": "newDevWallet", "type": "address" } ], "name": "updateDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526040518061030001604052806102d281526020016155bb6102d291396006908161002e9190610b6c565b506040518060400160405280600681526020017f43525950544f0000000000000000000000000000000000000000000000000000815250600790816100739190610b6c565b506001600f5f6101000a81548160ff0219169083151502179055505f600f60016101000a81548160ff0219169083151502179055503480156100b3575f80fd5b50600680546100c190610996565b80601f01602080910402602001604051908101604052809291908181526020018280546100ed90610996565b80156101385780601f1061010f57610100808354040283529160200191610138565b820191905f5260205f20905b81548152906001019060200180831161011b57829003601f168201915b50505050506007805461014a90610996565b80601f016020809104026020016040519081016040528092919081815260200182805461017690610996565b80156101c15780601f10610198576101008083540402835291602001916101c1565b820191905f5260205f20905b8154815290600101906020018083116101a457829003601f168201915b505050505081600390816101d59190610b6c565b5080600490816101e59190610b6c565b5050505f6101f76104d960201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f601790505f80601790505f806a084595161401484a00000090506103e86014826102bf9190610c68565b6102c99190610cd6565b600c819055506103e86014826102df9190610c68565b6102e99190610cd6565b600e819055506103e86001826102ff9190610c68565b6103099190610cd6565b600d81905550846011819055508360128190555060125460115461032d9190610d06565b60108190555082601481905550816015819055506015546014546103519190610d06565b60138190555033600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103b56103a86104e060201b60201c565b600161050860201b60201c565b6103c630600161050860201b60201c565b6103d961dead600161050860201b60201c565b61040b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161050860201b60201c565b61042961041c6104e060201b60201c565b600161064a60201b60201c565b61043a30600161064a60201b60201c565b61044d61dead600161064a60201b60201c565b61047f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161064a60201b60201c565b6104a7306064605c846104929190610c68565b61049c9190610cd6565b61073e60201b60201c565b6104cf3360646008846104ba9190610c68565b6104c49190610cd6565b61073e60201b60201c565b5050505050610edc565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6105166104d960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059b90610d93565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161063e9190610dcb565b60405180910390a25050565b6106586104d960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd90610d93565b60405180910390fd5b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a390610e2e565b60405180910390fd5b6107bd5f83836108d060201b60201c565b6107d2816002546108d560201b90919060201c565b600281905550610827815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108d560201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108c49190610e5b565b60405180910390a35050565b505050565b5f8082846108e39190610d06565b905083811015610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f90610ebe565b60405180910390fd5b8091505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806109ad57607f821691505b6020821081036109c0576109bf610969565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610a227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826109e7565b610a2c86836109e7565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610a70610a6b610a6684610a44565b610a4d565b610a44565b9050919050565b5f819050919050565b610a8983610a56565b610a9d610a9582610a77565b8484546109f3565b825550505050565b5f90565b610ab1610aa5565b610abc818484610a80565b505050565b5b81811015610adf57610ad45f82610aa9565b600181019050610ac2565b5050565b601f821115610b2457610af5816109c6565b610afe846109d8565b81016020851015610b0d578190505b610b21610b19856109d8565b830182610ac1565b50505b505050565b5f82821c905092915050565b5f610b445f1984600802610b29565b1980831691505092915050565b5f610b5c8383610b35565b9150826002028217905092915050565b610b7582610932565b67ffffffffffffffff811115610b8e57610b8d61093c565b5b610b988254610996565b610ba3828285610ae3565b5f60209050601f831160018114610bd4575f8415610bc2578287015190505b610bcc8582610b51565b865550610c33565b601f198416610be2866109c6565b5f5b82811015610c0957848901518255600182019150602085019450602081019050610be4565b86831015610c265784890151610c22601f891682610b35565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610c7282610a44565b9150610c7d83610a44565b9250828202610c8b81610a44565b91508282048414831517610ca257610ca1610c3b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610ce082610a44565b9150610ceb83610a44565b925082610cfb57610cfa610ca9565b5b828204905092915050565b5f610d1082610a44565b9150610d1b83610a44565b9250828201905080821115610d3357610d32610c3b565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f610d7d602083610d39565b9150610d8882610d49565b602082019050919050565b5f6020820190508181035f830152610daa81610d71565b9050919050565b5f8115159050919050565b610dc581610db1565b82525050565b5f602082019050610dde5f830184610dbc565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610e18601f83610d39565b9150610e2382610de4565b602082019050919050565b5f6020820190508181035f830152610e4581610e0c565b9050919050565b610e5581610a44565b82525050565b5f602082019050610e6e5f830184610e4c565b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f610ea8601b83610d39565b9150610eb382610e74565b602082019050919050565b5f6020820190508181035f830152610ed581610e9c565b9050919050565b6146d280610ee95f395ff3fe60806040526004361061025f575f3560e01c806370a0823111610143578063a457c2d7116100b5578063c024666811610079578063c0246668146108b2578063c3f70b52146108da578063dd62ed3e14610904578063df6f93be14610940578063f1cd531a1461096a578063f2fde38b1461099257610266565b8063a457c2d7146107aa578063a9059cbb146107e6578063b62496f514610822578063b69ef8a81461085e578063be8575041461088857610266565b80638da5cb5b116101075780638da5cb5b146106c4578063945674fe146106ee57806395d89b41146107185780639a7a23d6146107425780639ee2e9241461076a5780639fccce321461078057610266565b806370a082311461060c578063715018a614610648578063751039fc1461065e5780637571336a146106745780637bc98e541461069c57610266565b80631bff7898116101dc57806346469afb116101a057806346469afb146104fe57806348d791551461052857806349bd5a5e146105525780634fbee1931461057c5780635de0f2a0146105b85780636c7e15c9146105e257610266565b80631bff78981461040857806322eb66311461043257806323b872dd1461045c578063313ce5671461049857806339509351146104c257610266565b806310d5de531161022357806310d5de53146103265780631694505e1461036257806318160ddd1461038c5780631816467f146103b65780631a8145bb146103de57610266565b806306fdde031461026a578063095ea7b3146102945780630e947809146102d05780630f299cf1146102fa5780630f59f83a1461031057610266565b3661026657005b5f80fd5b348015610275575f80fd5b5061027e6109ba565b60405161028b91906135fc565b60405180910390f35b34801561029f575f80fd5b506102ba60048036038101906102b591906136ad565b610a4a565b6040516102c79190613705565b60405180910390f35b3480156102db575f80fd5b506102e4610a67565b6040516102f19190613705565b60405180910390f35b348015610305575f80fd5b5061030e610a79565b005b34801561031b575f80fd5b50610324610be4565b005b348015610331575f80fd5b5061034c6004803603810190610347919061371e565b610fea565b6040516103599190613705565b60405180910390f35b34801561036d575f80fd5b50610376611007565b60405161038391906137a4565b60405180910390f35b348015610397575f80fd5b506103a061102c565b6040516103ad91906137cc565b60405180910390f35b3480156103c1575f80fd5b506103dc60048036038101906103d7919061371e565b611035565b005b3480156103e9575f80fd5b506103f2611189565b6040516103ff91906137cc565b60405180910390f35b348015610413575f80fd5b5061041c61118f565b60405161042991906137cc565b60405180910390f35b34801561043d575f80fd5b50610446611195565b60405161045391906137cc565b60405180910390f35b348015610467575f80fd5b50610482600480360381019061047d91906137e5565b61119b565b60405161048f9190613705565b60405180910390f35b3480156104a3575f80fd5b506104ac61126f565b6040516104b99190613850565b60405180910390f35b3480156104cd575f80fd5b506104e860048036038101906104e391906136ad565b611277565b6040516104f59190613705565b60405180910390f35b348015610509575f80fd5b50610512611325565b60405161051f91906137cc565b60405180910390f35b348015610533575f80fd5b5061053c61132b565b60405161054991906137cc565b60405180910390f35b34801561055d575f80fd5b50610566611331565b6040516105739190613878565b60405180910390f35b348015610587575f80fd5b506105a2600480360381019061059d919061371e565b611356565b6040516105af9190613705565b60405180910390f35b3480156105c3575f80fd5b506105cc6113a8565b6040516105d991906137cc565b60405180910390f35b3480156105ed575f80fd5b506105f66113ae565b60405161060391906137cc565b60405180910390f35b348015610617575f80fd5b50610632600480360381019061062d919061371e565b6113b4565b60405161063f91906137cc565b60405180910390f35b348015610653575f80fd5b5061065c6113f9565b005b348015610669575f80fd5b5061067261154c565b005b34801561067f575f80fd5b5061069a600480360381019061069591906138bb565b6115fd565b005b3480156106a7575f80fd5b506106c260048036038101906106bd91906138f9565b6116eb565b005b3480156106cf575f80fd5b506106d861179e565b6040516106e59190613878565b60405180910390f35b3480156106f9575f80fd5b506107026117c6565b60405161070f9190613705565b60405180910390f35b348015610723575f80fd5b5061072c6117d9565b60405161073991906135fc565b60405180910390f35b34801561074d575f80fd5b50610768600480360381019061076391906138bb565b611869565b005b348015610775575f80fd5b5061077e61199c565b005b34801561078b575f80fd5b50610794611a71565b6040516107a191906137cc565b60405180910390f35b3480156107b5575f80fd5b506107d060048036038101906107cb91906136ad565b611a77565b6040516107dd9190613705565b60405180910390f35b3480156107f1575f80fd5b5061080c600480360381019061080791906136ad565b611b3f565b6040516108199190613705565b60405180910390f35b34801561082d575f80fd5b506108486004803603810190610843919061371e565b611b5c565b6040516108559190613705565b60405180910390f35b348015610869575f80fd5b50610872611b79565b60405161087f91906137cc565b60405180910390f35b348015610893575f80fd5b5061089c611b7f565b6040516108a991906137cc565b60405180910390f35b3480156108bd575f80fd5b506108d860048036038101906108d391906138bb565b611b85565b005b3480156108e5575f80fd5b506108ee611cc1565b6040516108fb91906137cc565b60405180910390f35b34801561090f575f80fd5b5061092a60048036038101906109259190613924565b611cc7565b60405161093791906137cc565b60405180910390f35b34801561094b575f80fd5b50610954611d49565b60405161096191906137cc565b60405180910390f35b348015610975575f80fd5b50610990600480360381019061098b9190613962565b611d4f565b005b34801561099d575f80fd5b506109b860048036038101906109b3919061371e565b611ebf565b005b6060600380546109c9906139f3565b80601f01602080910402602001604051908101604052809291908181526020018280546109f5906139f3565b8015610a405780601f10610a1757610100808354040283529160200191610a40565b820191905f5260205f20905b815481529060010190602001808311610a2357829003601f168201915b5050505050905090565b5f610a5d610a56612013565b848461201a565b6001905092915050565b600f5f9054906101000a900460ff1681565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ad1575f80fd5b5f4790505f8111610b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0e90613a93565b60405180910390fd5b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051610b5d90613ade565b5f6040518083038185875af1925050503d805f8114610b97576040519150601f19603f3d011682016040523d82523d5f602084013e610b9c565b606091505b5050905080610be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd790613b3c565b60405180910390fd5b5050565b610bec612013565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7190613ba4565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d9050610c9d8160016115fd565b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4a9190613bd6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610daf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd39190613bd6565b6040518363ffffffff1660e01b8152600401610df0929190613c01565b6020604051808303815f875af1158015610e0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e309190613bd6565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e9b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016115fd565b610ec760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016121dd565b5f4790505f60646054610ed9306113b4565b610ee39190613c55565b610eed9190613cc3565b9050610f1b3060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361201a565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330845f80600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401610fa196959493929190613d2c565b60606040518083038185885af1158015610fbd573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fe29190613d9f565b505050505050565b601a602052805f5260405f205f915054906101000a900460ff1681565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600254905090565b61103d612013565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c290613ba4565b60405180910390fd5b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60165481565b60135481565b60145481565b5f6111a784848461227b565b611264846111b3612013565b61125f856040518060600160405280602881526020016146506028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f611216612013565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612ba09092919063ffffffff16565b61201a565b600190509392505050565b5f6012905090565b5f61131b611283612013565b846113168560015f611293612013565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612c0290919063ffffffff16565b61201a565b6001905092915050565b60105481565b600e5481565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600d5481565b60115481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611401612013565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461148f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148690613ba4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611554612013565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d990613ba4565b60405180910390fd5b5f600f5f6101000a81548160ff021916908315150217905550565b611605612013565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168a90613ba4565b60405180910390fd5b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6116f3612013565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611781576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177890613ba4565b60405180910390fd5b80600f60016101000a81548160ff02191690831515021790555050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f60019054906101000a900460ff1681565b6060600480546117e8906139f3565b80601f0160208091040260200160405190810160405280929190818152602001828054611814906139f3565b801561185f5780601f106118365761010080835404028352916020019161185f565b820191905f5260205f20905b81548152906001019060200180831161184257829003601f168201915b5050505050905090565b611871612013565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f690613ba4565b60405180910390fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361198e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198590613e5f565b60405180910390fd5b61199882826121dd565b5050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119f4575f80fd5b5f6119fe306113b4565b90505f8111611a42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3990613eed565b60405180910390fd5b611a6e30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361227b565b50565b60175481565b5f611b35611a83612013565b84611b30856040518060600160405280602581526020016146786025913960015f611aac612013565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612ba09092919063ffffffff16565b61201a565b6001905092915050565b5f611b52611b4b612013565b848461227b565b6001905092915050565b601b602052805f5260405f205f915054906101000a900460ff1681565b600a5481565b60155481565b611b8d612013565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1290613ba4565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611cb59190613705565b60405180910390a25050565b600c5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60125481565b611d57612013565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddc90613ba4565b60405180910390fd5b8360118190555081601281905550601254601154611e039190613f0b565b6010819055508260148190555080601581905550601554601454611e279190613f0b565b60138190555060636010541115611e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6a90613f88565b60405180910390fd5b60636013541115611eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb090613f88565b60405180910390fd5b50505050565b611ec7612013565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4c90613ba4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612088576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207f90614016565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ed906140a4565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516121d091906137cc565b60405180910390a3505050565b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e090614132565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234e906141c0565b60405180910390fd5b5f810361236e5761236983835f612c5f565b612b9b565b600f5f9054906101000a900460ff16156127635761238a61179e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156123f857506123c861179e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561243057505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561246a575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156124835750600960149054906101000a900460ff16155b1561276257601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156125255750601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156125cc57600c5481111561256f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125669061424e565b60405180910390fd5b600e5461257b836113b4565b826125869190613f0b565b11156125c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125be906142b6565b60405180910390fd5b612761565b601b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156126695750601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156126b857600c548111156126b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126aa90614344565b60405180910390fd5b612760565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661275f57600e54612712836113b4565b8261271d9190613f0b565b111561275e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612755906142b6565b60405180910390fd5b5b5b5b5b5b5f61276d306113b4565b90505f600d5482101590508080156127925750600960149054906101000a900460ff16155b80156127e55750601b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612838575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561288b575060195f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156128ce576001600960146101000a81548160ff0219169083151502179055506128b3612ee8565b5f600960146101000a81548160ff0219169083151502179055505b5f600960149054906101000a900460ff1615905060195f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061297d575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612986575f90505b5f8115612b8b57601b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156129e457505f601354115b15612a7c57612a116064612a036013548861310e90919063ffffffff16565b61318590919063ffffffff16565b905060135460155482612a249190613c55565b612a2e9190613cc3565b60165f828254612a3e9190613f0b565b9250508190555060135460145482612a569190613c55565b612a609190613cc3565b60175f828254612a709190613f0b565b92505081905550612b68565b601b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612ad357505f601054115b15612b6757612b006064612af26010548861310e90919063ffffffff16565b61318590919063ffffffff16565b905060105460125482612b139190613c55565b612b1d9190613cc3565b60165f828254612b2d9190613f0b565b9250508190555060105460115482612b459190613c55565b612b4f9190613cc3565b60175f828254612b5f9190613f0b565b925050819055505b5b5f811115612b7c57612b7b873083612c5f565b5b8085612b889190614362565b94505b612b96878787612c5f565b505050505b505050565b5f838311158290612be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bde91906135fc565b60405180910390fd5b505f8385612bf59190614362565b9050809150509392505050565b5f808284612c109190613f0b565b905083811015612c55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c4c906143df565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612ccd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cc490614132565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d32906141c0565b60405180910390fd5b612d468383836131ce565b612daf8160405180606001604052806026815260200161462a602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612ba09092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612e3e815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612c0290919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612edb91906137cc565b60405180910390a3505050565b5f612ef2306113b4565b90505f601754601654612f059190613f0b565b90505f80831480612f1557505f82145b15612f225750505061310c565b5f1515600f60019054906101000a900460ff16151503612f6957601e600d54612f4b9190613c55565b831115612f6457601e600d54612f619190613c55565b92505b612f75565b612f72306113b4565b92505b5f60028360165486612f879190613c55565b612f919190613cc3565b612f9b9190613cc3565b90505f612fb182866131d390919063ffffffff16565b90505f479050612fc08261321c565b5f612fd482476131d390919063ffffffff16565b90505f612ffe87612ff06017548561310e90919063ffffffff16565b61318590919063ffffffff16565b90505f818361300d9190614362565b90505f6016819055505f6017819055505f8611801561302b57505f81115b156130785761303a8682613452565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561858260165460405161306f939291906143fd565b60405180910390a15b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516130bd90613ade565b5f6040518083038185875af1925050503d805f81146130f7576040519150601f19603f3d011682016040523d82523d5f602084013e6130fc565b606091505b5050809750505050505050505050505b565b5f80830361311e575f905061317f565b5f828461312b9190613c55565b905082848261313a9190613cc3565b1461317a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613171906144a2565b60405180910390fd5b809150505b92915050565b5f6131c683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061352b565b905092915050565b505050565b5f61321483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612ba0565b905092915050565b5f600267ffffffffffffffff811115613238576132376144c0565b5b6040519080825280602002602001820160405280156132665781602001602082028036833780820191505090505b50905030815f8151811061327d5761327c6144ed565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613321573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133459190613bd6565b81600181518110613359576133586144ed565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506133bf3060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461201a565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016134219594939291906145d1565b5f604051808303815f87803b158015613438575f80fd5b505af115801561344a573d5f803e3d5ffd5b505050505050565b61347e3060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461201a565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8030426040518863ffffffff1660e01b81526004016134e396959493929190613d2c565b60606040518083038185885af11580156134ff573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906135249190613d9f565b5050505050565b5f8083118290613571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161356891906135fc565b60405180910390fd5b505f838561357f9190613cc3565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6135ce8261358c565b6135d88185613596565b93506135e88185602086016135a6565b6135f1816135b4565b840191505092915050565b5f6020820190508181035f83015261361481846135c4565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61364982613620565b9050919050565b6136598161363f565b8114613663575f80fd5b50565b5f8135905061367481613650565b92915050565b5f819050919050565b61368c8161367a565b8114613696575f80fd5b50565b5f813590506136a781613683565b92915050565b5f80604083850312156136c3576136c261361c565b5b5f6136d085828601613666565b92505060206136e185828601613699565b9150509250929050565b5f8115159050919050565b6136ff816136eb565b82525050565b5f6020820190506137185f8301846136f6565b92915050565b5f602082840312156137335761373261361c565b5b5f61374084828501613666565b91505092915050565b5f819050919050565b5f61376c61376761376284613620565b613749565b613620565b9050919050565b5f61377d82613752565b9050919050565b5f61378e82613773565b9050919050565b61379e81613784565b82525050565b5f6020820190506137b75f830184613795565b92915050565b6137c68161367a565b82525050565b5f6020820190506137df5f8301846137bd565b92915050565b5f805f606084860312156137fc576137fb61361c565b5b5f61380986828701613666565b935050602061381a86828701613666565b925050604061382b86828701613699565b9150509250925092565b5f60ff82169050919050565b61384a81613835565b82525050565b5f6020820190506138635f830184613841565b92915050565b6138728161363f565b82525050565b5f60208201905061388b5f830184613869565b92915050565b61389a816136eb565b81146138a4575f80fd5b50565b5f813590506138b581613891565b92915050565b5f80604083850312156138d1576138d061361c565b5b5f6138de85828601613666565b92505060206138ef858286016138a7565b9150509250929050565b5f6020828403121561390e5761390d61361c565b5b5f61391b848285016138a7565b91505092915050565b5f806040838503121561393a5761393961361c565b5b5f61394785828601613666565b925050602061395885828601613666565b9150509250929050565b5f805f806080858703121561397a5761397961361c565b5b5f61398787828801613699565b945050602061399887828801613699565b93505060406139a987828801613699565b92505060606139ba87828801613699565b91505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613a0a57607f821691505b602082108103613a1d57613a1c6139c6565b5b50919050565b7f4554482062616c616e6365206d7573742062652067726561746572207468616e5f8201527f2030000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a7d602283613596565b9150613a8882613a23565b604082019050919050565b5f6020820190508181035f830152613aaa81613a71565b9050919050565b5f81905092915050565b50565b5f613ac95f83613ab1565b9150613ad482613abb565b5f82019050919050565b5f613ae882613abe565b9150819050919050565b7f4661696c656420746f20636c656172204554482062616c616e636500000000005f82015250565b5f613b26601b83613596565b9150613b3182613af2565b602082019050919050565b5f6020820190508181035f830152613b5381613b1a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613b8e602083613596565b9150613b9982613b5a565b602082019050919050565b5f6020820190508181035f830152613bbb81613b82565b9050919050565b5f81519050613bd081613650565b92915050565b5f60208284031215613beb57613bea61361c565b5b5f613bf884828501613bc2565b91505092915050565b5f604082019050613c145f830185613869565b613c216020830184613869565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613c5f8261367a565b9150613c6a8361367a565b9250828202613c788161367a565b91508282048414831517613c8f57613c8e613c28565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613ccd8261367a565b9150613cd88361367a565b925082613ce857613ce7613c96565b5b828204905092915050565b5f819050919050565b5f613d16613d11613d0c84613cf3565b613749565b61367a565b9050919050565b613d2681613cfc565b82525050565b5f60c082019050613d3f5f830189613869565b613d4c60208301886137bd565b613d596040830187613d1d565b613d666060830186613d1d565b613d736080830185613869565b613d8060a08301846137bd565b979650505050505050565b5f81519050613d9981613683565b92915050565b5f805f60608486031215613db657613db561361c565b5b5f613dc386828701613d8b565b9350506020613dd486828701613d8b565b9250506040613de586828701613d8b565b9150509250925092565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613e49603983613596565b9150613e5482613def565b604082019050919050565b5f6020820190508181035f830152613e7681613e3d565b9050919050565b7f546f6b656e2062616c616e6365206d75737420626520677265617465722074685f8201527f616e203000000000000000000000000000000000000000000000000000000000602082015250565b5f613ed7602483613596565b9150613ee282613e7d565b604082019050919050565b5f6020820190508181035f830152613f0481613ecb565b9050919050565b5f613f158261367a565b9150613f208361367a565b9250828201905080821115613f3857613f37613c28565b5b92915050565b7f4d4158203330252074617820616c6c6f776564000000000000000000000000005f82015250565b5f613f72601383613596565b9150613f7d82613f3e565b602082019050919050565b5f6020820190508181035f830152613f9f81613f66565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614000602483613596565b915061400b82613fa6565b604082019050919050565b5f6020820190508181035f83015261402d81613ff4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61408e602283613596565b915061409982614034565b604082019050919050565b5f6020820190508181035f8301526140bb81614082565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61411c602583613596565b9150614127826140c2565b604082019050919050565b5f6020820190508181035f83015261414981614110565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6141aa602383613596565b91506141b582614150565b604082019050919050565b5f6020820190508181035f8301526141d78161419e565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f614238603583613596565b9150614243826141de565b604082019050919050565b5f6020820190508181035f8301526142658161422c565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6142a0601383613596565b91506142ab8261426c565b602082019050919050565b5f6020820190508181035f8301526142cd81614294565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f61432e603683613596565b9150614339826142d4565b604082019050919050565b5f6020820190508181035f83015261435b81614322565b9050919050565b5f61436c8261367a565b91506143778361367a565b925082820390508181111561438f5761438e613c28565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6143c9601b83613596565b91506143d482614395565b602082019050919050565b5f6020820190508181035f8301526143f6816143bd565b9050919050565b5f6060820190506144105f8301866137bd565b61441d60208301856137bd565b61442a60408301846137bd565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61448c602183613596565b915061449782614432565b604082019050919050565b5f6020820190508181035f8301526144b981614480565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61454c8161363f565b82525050565b5f61455d8383614543565b60208301905092915050565b5f602082019050919050565b5f61457f8261451a565b6145898185614524565b935061459483614534565b805f5b838110156145c45781516145ab8882614552565b97506145b683614569565b925050600181019050614597565b5085935050505092915050565b5f60a0820190506145e45f8301886137bd565b6145f16020830187613d1d565b81810360408301526146038186614575565b90506146126060830185613869565b61461f60808301846137bd565b969550505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e1e1c38f70dedcc7ecb5b70a180c585ac7692c3c40060b0f7ec0baa7ed655d4064736f6c634300081a0033426974636f696e457468657265756d546574686572426e62536f6c616e6155534443585250446f6765636f696e546f6e636f696e43617264616e6f4176616c616e6368655368696261496e7554726f6e436861696e6c696e6b506f6c6b61646f74426974636f696e43617368556e69737761704e45415250726f746f636f6c506f6c79676f6e4c697465636f696e446169554e55535345444c454f50657065496e7465726e6574436f6d7075746572457468657265756d436c61737369634b617370614170746f734d6f6e65726f52656e6465724865646572615374656c6c6172436f736d6f734d616e746c65417262697472756d4f4b4243726f6e6f7346696c65636f696e537461636b73496d6d757461626c6546697273744469676974616c5553444d616b65725375695665436861696e54686547726170684f707469736d42697474656e736f724c69646f44414f496e6a656374697665646f67776966686174417277656176654f6e646f46616e746f6d466c6f6b69426974676574546f6b656e54686574614e6574776f726b4e6f74636f696e54484f52436861696e42726574744a61736d79436f696e426f6e6b46657463682e416941617665436f726543656c6573746961507974684e6574776f726b416c676f72616e64536569466c6172654a757069746572466c6f774b75636f696e546f6b656e537461726b6e65745175616e74457468656e6150656e646c6547616c6141786965496e66696e6974794265616d454f53426974636f696e535653696e67756c61726974794e455464596459457468657265756d4e616d6553657276696365476e6f736973426974546f7272656e744f5244494e656f4c617965725a65726f4d756c7469766572735854657a6f73576f726c64636f696e526f6e696e54686553616e64626f7847617465546f6b656e55534444416b6173684e6574776f726b4368696c697a4e65786f7a6b53796e6353796e746865746978