Loading
[ { "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": [], "name": "addLP", "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": [], "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": [ { "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": "changeTaxBreakdown", "outputs": [], "stateMutability": "nonpayable", "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": "bool", "name": "enabled", "type": "bool" } ], "name": "emptyCa", "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": [ { "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" } ]
60806040526040518060400160405280600d81526020017f54686520536d6172742047757900000000000000000000000000000000000000815250600690816200004a919062000f27565b506040518060400160405280600581526020017f5452554d500000000000000000000000000000000000000000000000000000008152506007908162000091919062000f27565b506001600f5f6101000a81548160ff0219169083151502179055505f600f60016101000a81548160ff021916908315150217905550348015620000d2575f80fd5b5060068054620000e29062000d27565b80601f0160208091040260200160405190810160405280929190818152602001828054620001109062000d27565b80156200015f5780601f1062000135576101008083540402835291602001916200015f565b820191905f5260205f20905b8154815290600101906020018083116200014157829003601f168201915b505050505060078054620001739062000d27565b80601f0160208091040260200160405190810160405280929190818152602001828054620001a19062000d27565b8015620001f05780601f10620001c657610100808354040283529160200191620001f0565b820191905f5260205f20905b815481529060010190602001808311620001d257829003601f168201915b5050505050816003908162000206919062000f27565b50806004908162000218919062000f27565b5050505f6200022c620007b060201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f601e90505f80601e90505f806a084595161401484a00000090506103e8601482620002f6919062001038565b620003029190620010af565b600c819055506103e86014826200031a919062001038565b620003269190620010af565b600e819055506103e86001826200033e919062001038565b6200034a9190620010af565b600d819055508460118190555083601281905550601254601154620003709190620010e6565b6010819055508260148190555081601581905550601554601454620003969190620010e6565b60138190555033600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f737a250d5630b4cf539739df2c5dacb4c659f2488d905062000407816001620007b760201b60201c565b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000491573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004b7919062001185565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200051d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000543919062001185565b6040518363ffffffff1660e01b815260040162000562929190620011c6565b6020604051808303815f875af11580156200057f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005a5919062001185565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200061860095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620007b760201b60201c565b6200064c60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620008b060201b60201c565b6200066e620006606200094e60201b60201c565b60016200097660201b60201c565b620006813060016200097660201b60201c565b6200069661dead60016200097660201b60201c565b620006ca600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200097660201b60201c565b620006ec620006de6200094e60201b60201c565b6001620007b760201b60201c565b620006ff306001620007b760201b60201c565b6200071461dead6001620007b760201b60201c565b62000748600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620007b760201b60201c565b62000776306064605e856200075e919062001038565b6200076a9190620010af565b62000abf60201b60201c565b620007a43360646006856200078c919062001038565b620007989190620010af565b62000abf60201b60201c565b505050505050620013ae565b5f33905090565b620007c7620007b060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000858576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200084f906200124f565b60405180910390fd5b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000986620007b060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000a17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a0e906200124f565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000ab391906200128b565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000b30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b2790620012f4565b60405180910390fd5b62000b435f838362000c5c60201b60201c565b62000b5a8160025462000c6160201b90919060201c565b60028190555062000bb1815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205462000c6160201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000c50919062001325565b60405180910390a35050565b505050565b5f80828462000c719190620010e6565b90508381101562000cb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cb0906200138e565b60405180910390fd5b8091505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000d3f57607f821691505b60208210810362000d555762000d5462000cfa565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000db97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000d7c565b62000dc5868362000d7c565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000e0f62000e0962000e038462000ddd565b62000de6565b62000ddd565b9050919050565b5f819050919050565b62000e2a8362000def565b62000e4262000e398262000e16565b84845462000d88565b825550505050565b5f90565b62000e5862000e4a565b62000e6581848462000e1f565b505050565b5b8181101562000e8c5762000e805f8262000e4e565b60018101905062000e6b565b5050565b601f82111562000edb5762000ea58162000d5b565b62000eb08462000d6d565b8101602085101562000ec0578190505b62000ed862000ecf8562000d6d565b83018262000e6a565b50505b505050565b5f82821c905092915050565b5f62000efd5f198460080262000ee0565b1980831691505092915050565b5f62000f17838362000eec565b9150826002028217905092915050565b62000f328262000cc3565b67ffffffffffffffff81111562000f4e5762000f4d62000ccd565b5b62000f5a825462000d27565b62000f6782828562000e90565b5f60209050601f83116001811462000f9d575f841562000f88578287015190505b62000f94858262000f0a565b86555062001003565b601f19841662000fad8662000d5b565b5f5b8281101562000fd65784890151825560018201915060208501945060208101905062000faf565b8683101562000ff6578489015162000ff2601f89168262000eec565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620010448262000ddd565b9150620010518362000ddd565b9250828202620010618162000ddd565b915082820484148315176200107b576200107a6200100b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620010bb8262000ddd565b9150620010c88362000ddd565b925082620010db57620010da62001082565b5b828204905092915050565b5f620010f28262000ddd565b9150620010ff8362000ddd565b92508282019050808211156200111a57620011196200100b565b5b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200114f8262001124565b9050919050565b620011618162001143565b81146200116c575f80fd5b50565b5f815190506200117f8162001156565b92915050565b5f602082840312156200119d576200119c62001120565b5b5f620011ac848285016200116f565b91505092915050565b620011c08162001143565b82525050565b5f604082019050620011db5f830185620011b5565b620011ea6020830184620011b5565b9392505050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62001237602083620011f1565b9150620012448262001201565b602082019050919050565b5f6020820190508181035f830152620012688162001229565b9050919050565b5f8115159050919050565b62001285816200126f565b82525050565b5f602082019050620012a05f8301846200127a565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f620012dc601f83620011f1565b9150620012e982620012a6565b602082019050919050565b5f6020820190508181035f8301526200130d81620012ce565b9050919050565b6200131f8162000ddd565b82525050565b5f6020820190506200133a5f83018462001314565b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f62001376601b83620011f1565b9150620013838262001340565b602082019050919050565b5f6020820190508181035f830152620013a78162001368565b9050919050565b6144f380620013bc5f395ff3fe60806040526004361061025f575f3560e01c806370a0823111610143578063a457c2d7116100b5578063be85750411610079578063be857504146108b0578063c0246668146108da578063c3f70b5214610902578063dd62ed3e1461092c578063df6f93be14610968578063f2fde38b1461099257610266565b8063a457c2d7146107bc578063a9059cbb146107f8578063b62496f514610834578063b69ef8a814610870578063bc37e1a31461089a57610266565b8063945674fe11610107578063945674fe146106d857806395d89b41146107025780639a7a23d61461072c5780639ee2e924146107545780639fccce321461076a578063a04916941461079457610266565b806370a082311461061e578063715018a61461065a578063751039fc146106705780637571336a146106865780638da5cb5b146106ae57610266565b806322eb6631116101dc57806348d79155116101a057806348d791551461051257806349bd5a5e1461053c5780634fbee193146105665780635de0f2a0146105a25780636b307a02146105cc5780636c7e15c9146105f457610266565b806322eb66311461041c57806323b872dd14610446578063313ce5671461048257806339509351146104ac57806346469afb146104e857610266565b80631694505e116102235780631694505e1461034c57806318160ddd146103765780631816467f146103a05780631a8145bb146103c85780631bff7898146103f257610266565b806306fdde031461026a578063095ea7b3146102945780630e947809146102d05780630f299cf1146102fa57806310d5de531461031057610266565b3661026657005b5f80fd5b348015610275575f80fd5b5061027e6109ba565b60405161028b9190613444565b60405180910390f35b34801561029f575f80fd5b506102ba60048036038101906102b591906134f5565b610a4a565b6040516102c7919061354d565b60405180910390f35b3480156102db575f80fd5b506102e4610a67565b6040516102f1919061354d565b60405180910390f35b348015610305575f80fd5b5061030e610a79565b005b34801561031b575f80fd5b5061033660048036038101906103319190613566565b610c22565b604051610343919061354d565b60405180910390f35b348015610357575f80fd5b50610360610c3f565b60405161036d91906135ec565b60405180910390f35b348015610381575f80fd5b5061038a610c64565b6040516103979190613614565b60405180910390f35b3480156103ab575f80fd5b506103c660048036038101906103c19190613566565b610c6d565b005b3480156103d3575f80fd5b506103dc610dc1565b6040516103e99190613614565b60405180910390f35b3480156103fd575f80fd5b50610406610dc7565b6040516104139190613614565b60405180910390f35b348015610427575f80fd5b50610430610dcd565b60405161043d9190613614565b60405180910390f35b348015610451575f80fd5b5061046c6004803603810190610467919061362d565b610dd3565b604051610479919061354d565b60405180910390f35b34801561048d575f80fd5b50610496610ea7565b6040516104a39190613698565b60405180910390f35b3480156104b7575f80fd5b506104d260048036038101906104cd91906134f5565b610eaf565b6040516104df919061354d565b60405180910390f35b3480156104f3575f80fd5b506104fc610f5d565b6040516105099190613614565b60405180910390f35b34801561051d575f80fd5b50610526610f63565b6040516105339190613614565b60405180910390f35b348015610547575f80fd5b50610550610f69565b60405161055d91906136c0565b60405180910390f35b348015610571575f80fd5b5061058c60048036038101906105879190613566565b610f8e565b604051610599919061354d565b60405180910390f35b3480156105ad575f80fd5b506105b6610fe0565b6040516105c39190613614565b60405180910390f35b3480156105d7575f80fd5b506105f260048036038101906105ed91906136d9565b610fe6565b005b3480156105ff575f80fd5b50610608611156565b6040516106159190613614565b60405180910390f35b348015610629575f80fd5b50610644600480360381019061063f9190613566565b61115c565b6040516106519190613614565b60405180910390f35b348015610665575f80fd5b5061066e6111a1565b005b34801561067b575f80fd5b506106846112f4565b005b348015610691575f80fd5b506106ac60048036038101906106a79190613767565b6113a5565b005b3480156106b9575f80fd5b506106c2611493565b6040516106cf91906136c0565b60405180910390f35b3480156106e3575f80fd5b506106ec6114bb565b6040516106f9919061354d565b60405180910390f35b34801561070d575f80fd5b506107166114ce565b6040516107239190613444565b60405180910390f35b348015610737575f80fd5b50610752600480360381019061074d9190613767565b61155e565b005b34801561075f575f80fd5b50610768611691565b005b348015610775575f80fd5b5061077e6117a4565b60405161078b9190613614565b60405180910390f35b34801561079f575f80fd5b506107ba60048036038101906107b591906137a5565b6117aa565b005b3480156107c7575f80fd5b506107e260048036038101906107dd91906134f5565b61185d565b6040516107ef919061354d565b60405180910390f35b348015610803575f80fd5b5061081e600480360381019061081991906134f5565b611925565b60405161082b919061354d565b60405180910390f35b34801561083f575f80fd5b5061085a60048036038101906108559190613566565b611942565b604051610867919061354d565b60405180910390f35b34801561087b575f80fd5b5061088461195f565b6040516108919190613614565b60405180910390f35b3480156108a5575f80fd5b506108ae611965565b005b3480156108bb575f80fd5b506108c4611b1d565b6040516108d19190613614565b60405180910390f35b3480156108e5575f80fd5b5061090060048036038101906108fb9190613767565b611b23565b005b34801561090d575f80fd5b50610916611c5f565b6040516109239190613614565b60405180910390f35b348015610937575f80fd5b50610952600480360381019061094d91906137d0565b611c65565b60405161095f9190613614565b60405180910390f35b348015610973575f80fd5b5061097c611ce7565b6040516109899190613614565b60405180910390f35b34801561099d575f80fd5b506109b860048036038101906109b39190613566565b611ced565b005b6060600380546109c99061383b565b80601f01602080910402602001604051908101604052809291908181526020018280546109f59061383b565b8015610a405780601f10610a1757610100808354040283529160200191610a40565b820191905f5260205f20905b815481529060010190602001808311610a2357829003601f168201915b5050505050905090565b5f610a5d610a56611e41565b8484611e48565b6001905092915050565b600f5f9054906101000a900460ff1681565b610a81611e41565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b06906138b5565b60405180910390fd5b5f4790505f8111610b55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4c90613943565b60405180910390fd5b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051610b9b9061398e565b5f6040518083038185875af1925050503d805f8114610bd5576040519150601f19603f3d011682016040523d82523d5f602084013e610bda565b606091505b5050905080610c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c15906139ec565b60405180910390fd5b5050565b601a602052805f5260405f205f915054906101000a900460ff1681565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600254905090565b610c75611e41565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfa906138b5565b60405180910390fd5b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60165481565b60135481565b60145481565b5f610ddf84848461200b565b610e9c84610deb611e41565b610e97856040518060600160405280602881526020016144716028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610e4e611e41565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129309092919063ffffffff16565b611e48565b600190509392505050565b5f6012905090565b5f610f53610ebb611e41565b84610f4e8560015f610ecb611e41565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461299290919063ffffffff16565b611e48565b6001905092915050565b60105481565b600e5481565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600d5481565b610fee611e41565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461107c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611073906138b5565b60405180910390fd5b836011819055508160128190555060125460115461109a9190613a37565b60108190555082601481905550806015819055506015546014546110be9190613a37565b601381905550601e601054111561110a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110190613ab4565b60405180910390fd5b601e6013541115611150576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114790613ab4565b60405180910390fd5b50505050565b60115481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6111a9611e41565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611237576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122e906138b5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6112fc611e41565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461138a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611381906138b5565b60405180910390fd5b5f600f5f6101000a81548160ff021916908315150217905550565b6113ad611e41565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461143b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611432906138b5565b60405180910390fd5b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f60019054906101000a900460ff1681565b6060600480546114dd9061383b565b80601f01602080910402602001604051908101604052809291908181526020018280546115099061383b565b80156115545780601f1061152b57610100808354040283529160200191611554565b820191905f5260205f20905b81548152906001019060200180831161153757829003601f168201915b5050505050905090565b611566611e41565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115eb906138b5565b60405180910390fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167a90613b42565b60405180910390fd5b61168d82826129ef565b5050565b611699611e41565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171e906138b5565b60405180910390fd5b5f6117313061115c565b90505f8111611775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176c90613bd0565b60405180910390fd5b6117a130600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361200b565b50565b60175481565b6117b2611e41565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611840576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611837906138b5565b60405180910390fd5b80600f60016101000a81548160ff02191690831515021790555050565b5f61191b611869611e41565b84611916856040518060600160405280602581526020016144996025913960015f611892611e41565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129309092919063ffffffff16565b611e48565b6001905092915050565b5f611938611931611e41565b848461200b565b6001905092915050565b601b602052805f5260405f205f915054906101000a900460ff1681565b600a5481565b61196d611e41565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f2906138b5565b60405180910390fd5b5f4790505f60646058611a0d3061115c565b611a179190613bee565b611a219190613c5c565b9050611a4f3060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611e48565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330845f80600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401611ad596959493929190613cc5565b60606040518083038185885af1158015611af1573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b169190613d38565b5050505050565b60155481565b611b2b611e41565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb0906138b5565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611c53919061354d565b60405180910390a25050565b600c5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60125481565b611cf5611e41565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7a906138b5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ead90613df8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1b90613e86565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ffe9190613614565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207090613f14565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120de90613fa2565b60405180910390fd5b5f81036120fe576120f983835f612a8d565b61292b565b600f5f9054906101000a900460ff16156124f35761211a611493565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156121885750612158611493565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121c057505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121fa575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156122135750600960149054906101000a900460ff16155b156124f257601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156122b55750601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561235c57600c548111156122ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f690614030565b60405180910390fd5b600e5461230b8361115c565b826123169190613a37565b1115612357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234e90614098565b60405180910390fd5b6124f1565b601b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156123f95750601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561244857600c54811115612443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243a90614126565b60405180910390fd5b6124f0565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166124ef57600e546124a28361115c565b826124ad9190613a37565b11156124ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e590614098565b60405180910390fd5b5b5b5b5b5b5f6124fd3061115c565b90505f600d5482101590508080156125225750600960149054906101000a900460ff16155b80156125755750601b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156125c8575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561261b575060195f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561265e576001600960146101000a81548160ff021916908315150217905550612643612d16565b5f600960146101000a81548160ff0219169083151502179055505b5f600960149054906101000a900460ff1615905060195f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061270d575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612716575f90505b5f811561291b57601b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561277457505f601354115b1561280c576127a1606461279360135488612f3c90919063ffffffff16565b612fb390919063ffffffff16565b9050601354601554826127b49190613bee565b6127be9190613c5c565b60165f8282546127ce9190613a37565b92505081905550601354601454826127e69190613bee565b6127f09190613c5c565b60175f8282546128009190613a37565b925050819055506128f8565b601b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561286357505f601054115b156128f757612890606461288260105488612f3c90919063ffffffff16565b612fb390919063ffffffff16565b9050601054601254826128a39190613bee565b6128ad9190613c5c565b60165f8282546128bd9190613a37565b92505081905550601054601154826128d59190613bee565b6128df9190613c5c565b60175f8282546128ef9190613a37565b925050819055505b5b5f81111561290c5761290b873083612a8d565b5b80856129189190614144565b94505b612926878787612a8d565b505050505b505050565b5f838311158290612977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296e9190613444565b60405180910390fd5b505f83856129859190614144565b9050809150509392505050565b5f8082846129a09190613a37565b9050838110156129e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129dc906141c1565b60405180910390fd5b8091505092915050565b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af290613f14565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b6090613fa2565b60405180910390fd5b612b74838383612ffc565b612bdd8160405180606001604052806026815260200161444b602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129309092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612c6c815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461299290919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d099190613614565b60405180910390a3505050565b5f612d203061115c565b90505f601754601654612d339190613a37565b90505f80831480612d4357505f82145b15612d5057505050612f3a565b5f1515600f60019054906101000a900460ff16151503612d97576014600d54612d799190613bee565b831115612d92576014600d54612d8f9190613bee565b92505b612da3565b612da03061115c565b92505b5f60028360165486612db59190613bee565b612dbf9190613c5c565b612dc99190613c5c565b90505f612ddf828661300190919063ffffffff16565b90505f479050612dee8261304a565b5f612e02824761300190919063ffffffff16565b90505f612e2c87612e1e60175485612f3c90919063ffffffff16565b612fb390919063ffffffff16565b90505f8183612e3b9190614144565b90505f6016819055505f6017819055505f86118015612e5957505f81115b15612ea657612e688682613280565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618582601654604051612e9d939291906141df565b60405180910390a15b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612eeb9061398e565b5f6040518083038185875af1925050503d805f8114612f25576040519150601f19603f3d011682016040523d82523d5f602084013e612f2a565b606091505b5050809750505050505050505050505b565b5f808303612f4c575f9050612fad565b5f8284612f599190613bee565b9050828482612f689190613c5c565b14612fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f9f90614284565b60405180910390fd5b809150505b92915050565b5f612ff483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613359565b905092915050565b505050565b5f61304283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612930565b905092915050565b5f600267ffffffffffffffff811115613066576130656142a2565b5b6040519080825280602002602001820160405280156130945781602001602082028036833780820191505090505b50905030815f815181106130ab576130aa6142cf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561314f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131739190614310565b81600181518110613187576131866142cf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506131ed3060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611e48565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161324f9594939291906143f2565b5f604051808303815f87803b158015613266575f80fd5b505af1158015613278573d5f803e3d5ffd5b505050505050565b6132ac3060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611e48565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8030426040518863ffffffff1660e01b815260040161331196959493929190613cc5565b60606040518083038185885af115801561332d573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906133529190613d38565b5050505050565b5f808311829061339f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133969190613444565b60405180910390fd5b505f83856133ad9190613c5c565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156133f15780820151818401526020810190506133d6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613416826133ba565b61342081856133c4565b93506134308185602086016133d4565b613439816133fc565b840191505092915050565b5f6020820190508181035f83015261345c818461340c565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61349182613468565b9050919050565b6134a181613487565b81146134ab575f80fd5b50565b5f813590506134bc81613498565b92915050565b5f819050919050565b6134d4816134c2565b81146134de575f80fd5b50565b5f813590506134ef816134cb565b92915050565b5f806040838503121561350b5761350a613464565b5b5f613518858286016134ae565b9250506020613529858286016134e1565b9150509250929050565b5f8115159050919050565b61354781613533565b82525050565b5f6020820190506135605f83018461353e565b92915050565b5f6020828403121561357b5761357a613464565b5b5f613588848285016134ae565b91505092915050565b5f819050919050565b5f6135b46135af6135aa84613468565b613591565b613468565b9050919050565b5f6135c58261359a565b9050919050565b5f6135d6826135bb565b9050919050565b6135e6816135cc565b82525050565b5f6020820190506135ff5f8301846135dd565b92915050565b61360e816134c2565b82525050565b5f6020820190506136275f830184613605565b92915050565b5f805f6060848603121561364457613643613464565b5b5f613651868287016134ae565b9350506020613662868287016134ae565b9250506040613673868287016134e1565b9150509250925092565b5f60ff82169050919050565b6136928161367d565b82525050565b5f6020820190506136ab5f830184613689565b92915050565b6136ba81613487565b82525050565b5f6020820190506136d35f8301846136b1565b92915050565b5f805f80608085870312156136f1576136f0613464565b5b5f6136fe878288016134e1565b945050602061370f878288016134e1565b9350506040613720878288016134e1565b9250506060613731878288016134e1565b91505092959194509250565b61374681613533565b8114613750575f80fd5b50565b5f813590506137618161373d565b92915050565b5f806040838503121561377d5761377c613464565b5b5f61378a858286016134ae565b925050602061379b85828601613753565b9150509250929050565b5f602082840312156137ba576137b9613464565b5b5f6137c784828501613753565b91505092915050565b5f80604083850312156137e6576137e5613464565b5b5f6137f3858286016134ae565b9250506020613804858286016134ae565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061385257607f821691505b6020821081036138655761386461380e565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61389f6020836133c4565b91506138aa8261386b565b602082019050919050565b5f6020820190508181035f8301526138cc81613893565b9050919050565b7f4554482062616c616e6365206d7573742062652067726561746572207468616e5f8201527f2030000000000000000000000000000000000000000000000000000000000000602082015250565b5f61392d6022836133c4565b9150613938826138d3565b604082019050919050565b5f6020820190508181035f83015261395a81613921565b9050919050565b5f81905092915050565b50565b5f6139795f83613961565b91506139848261396b565b5f82019050919050565b5f6139988261396e565b9150819050919050565b7f4661696c656420746f20636c656172204554482062616c616e636500000000005f82015250565b5f6139d6601b836133c4565b91506139e1826139a2565b602082019050919050565b5f6020820190508181035f830152613a03816139ca565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613a41826134c2565b9150613a4c836134c2565b9250828201905080821115613a6457613a63613a0a565b5b92915050565b7f4d4158203330252074617820616c6c6f776564000000000000000000000000005f82015250565b5f613a9e6013836133c4565b9150613aa982613a6a565b602082019050919050565b5f6020820190508181035f830152613acb81613a92565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613b2c6039836133c4565b9150613b3782613ad2565b604082019050919050565b5f6020820190508181035f830152613b5981613b20565b9050919050565b7f546f6b656e2062616c616e6365206d75737420626520677265617465722074685f8201527f616e203000000000000000000000000000000000000000000000000000000000602082015250565b5f613bba6024836133c4565b9150613bc582613b60565b604082019050919050565b5f6020820190508181035f830152613be781613bae565b9050919050565b5f613bf8826134c2565b9150613c03836134c2565b9250828202613c11816134c2565b91508282048414831517613c2857613c27613a0a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613c66826134c2565b9150613c71836134c2565b925082613c8157613c80613c2f565b5b828204905092915050565b5f819050919050565b5f613caf613caa613ca584613c8c565b613591565b6134c2565b9050919050565b613cbf81613c95565b82525050565b5f60c082019050613cd85f8301896136b1565b613ce56020830188613605565b613cf26040830187613cb6565b613cff6060830186613cb6565b613d0c60808301856136b1565b613d1960a0830184613605565b979650505050505050565b5f81519050613d32816134cb565b92915050565b5f805f60608486031215613d4f57613d4e613464565b5b5f613d5c86828701613d24565b9350506020613d6d86828701613d24565b9250506040613d7e86828701613d24565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613de26024836133c4565b9150613ded82613d88565b604082019050919050565b5f6020820190508181035f830152613e0f81613dd6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613e706022836133c4565b9150613e7b82613e16565b604082019050919050565b5f6020820190508181035f830152613e9d81613e64565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613efe6025836133c4565b9150613f0982613ea4565b604082019050919050565b5f6020820190508181035f830152613f2b81613ef2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613f8c6023836133c4565b9150613f9782613f32565b604082019050919050565b5f6020820190508181035f830152613fb981613f80565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f61401a6035836133c4565b915061402582613fc0565b604082019050919050565b5f6020820190508181035f8301526140478161400e565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6140826013836133c4565b915061408d8261404e565b602082019050919050565b5f6020820190508181035f8301526140af81614076565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f6141106036836133c4565b915061411b826140b6565b604082019050919050565b5f6020820190508181035f83015261413d81614104565b9050919050565b5f61414e826134c2565b9150614159836134c2565b925082820390508181111561417157614170613a0a565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6141ab601b836133c4565b91506141b682614177565b602082019050919050565b5f6020820190508181035f8301526141d88161419f565b9050919050565b5f6060820190506141f25f830186613605565b6141ff6020830185613605565b61420c6040830184613605565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61426e6021836133c4565b915061427982614214565b604082019050919050565b5f6020820190508181035f83015261429b81614262565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061430a81613498565b92915050565b5f6020828403121561432557614324613464565b5b5f614332848285016142fc565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61436d81613487565b82525050565b5f61437e8383614364565b60208301905092915050565b5f602082019050919050565b5f6143a08261433b565b6143aa8185614345565b93506143b583614355565b805f5b838110156143e55781516143cc8882614373565b97506143d78361438a565b9250506001810190506143b8565b5085935050505092915050565b5f60a0820190506144055f830188613605565b6144126020830187613cb6565b81810360408301526144248186614396565b905061443360608301856136b1565b6144406080830184613605565b969550505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b2c4cddffd39aac01e06d2dcd9c343df14133447eade55ef879255e40aee0dff64736f6c63430008150033