[ { "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": [ { "indexed": false, "internalType": "uint256", "name": "amountAVAX", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "AutoLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "ContractSwapEnabledUpdated", "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": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "sniperAddress", "type": "address" } ], "name": "SniperCaught", "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": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "DEAD", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_ratios", "outputs": [ { "internalType": "uint16", "name": "rewards", "type": "uint16" }, { "internalType": "uint16", "name": "liquidity", "type": "uint16" }, { "internalType": "uint16", "name": "team", "type": "uint16" }, { "internalType": "uint16", "name": "treasury", "type": "uint16" }, { "internalType": "uint16", "name": "total", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellRatios", "outputs": [ { "internalType": "uint16", "name": "sell1", "type": "uint16" }, { "internalType": "uint16", "name": "sell2", "type": "uint16" }, { "internalType": "uint16", "name": "sell3", "type": "uint16" }, { "internalType": "uint16", "name": "sell4", "type": "uint16" }, { "internalType": "uint16", "name": "sell5", "type": "uint16" }, { "internalType": "uint16", "name": "transferFee", "type": "uint16" }, { "internalType": "uint16", "name": "divisor", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "hasLiqBeenAdded", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isFeeExcluded", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isSniper", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manager", "outputs": [ { "internalType": "contract NodeManager", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "multiSendTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pause", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "removeSniper", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewardsPool", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setContractSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setExcludedFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setLiquidityHolder", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_nodeManager", "type": "address" } ], "name": "setManager", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "antiSnipe", "type": "bool" }, { "internalType": "bool", "name": "antiBlock", "type": "bool" } ], "name": "setProtectionSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_rewards", "type": "uint16" }, { "internalType": "uint16", "name": "_liquidity", "type": "uint16" }, { "internalType": "uint16", "name": "_team", "type": "uint16" }, { "internalType": "uint16", "name": "_treasury", "type": "uint16" } ], "name": "setRatios", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_router", "type": "address" } ], "name": "setRouter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_sell1", "type": "uint16" }, { "internalType": "uint16", "name": "_sell2", "type": "uint16" }, { "internalType": "uint16", "name": "_sell3", "type": "uint16" }, { "internalType": "uint16", "name": "_sell4", "type": "uint16" }, { "internalType": "uint16", "name": "_sell5", "type": "uint16" }, { "internalType": "uint16", "name": "_transferFee", "type": "uint16" }, { "internalType": "uint16", "name": "_divisor", "type": "uint16" } ], "name": "setSellRatios", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "_block", "type": "uint8" } ], "name": "setStartingProtections", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "thresholdPercent", "type": "uint256" }, { "internalType": "uint256", "name": "thresholdDivisor", "type": "uint256" }, { "internalType": "uint256", "name": "amountPercent", "type": "uint256" }, { "internalType": "uint256", "name": "amountDivisor", "type": "uint256" } ], "name": "setSwapSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "team", "type": "address" }, { "internalType": "address payable", "name": "treasury", "type": "address" }, { "internalType": "address payable", "name": "rewards", "type": "address" } ], "name": "setWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "snipersCaught", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "teamWallet", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "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": "treasuryWallet", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526012600060156101000a81548160ff021916908360ff16021790555061dead600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f0c8f27fb20bbbd1b0a4b199f9f8c7abd684a1e8600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734a0f00a7d6ca0f8a78051df9ef648978d0c359ee600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060a00160405280600061ffff168152602001601461ffff168152602001602861ffff168152602001602861ffff168152602001606461ffff16815250600b60008201518160000160006101000a81548161ffff021916908361ffff16021790555060208201518160000160026101000a81548161ffff021916908361ffff16021790555060408201518160000160046101000a81548161ffff021916908361ffff16021790555060608201518160000160066101000a81548161ffff021916908361ffff16021790555060808201518160000160086101000a81548161ffff021916908361ffff16021790555050506040518060e0016040528061019061ffff168152602001609661ffff16815260200160af61ffff16815260200160c861ffff16815260200161012c61ffff1681526020016101f461ffff1681526020016103e861ffff16815250600c60008201518160000160006101000a81548161ffff021916908361ffff16021790555060208201518160000160026101000a81548161ffff021916908361ffff16021790555060408201518160000160046101000a81548161ffff021916908361ffff16021790555060608201518160000160066101000a81548161ffff021916908361ffff16021790555060808201518160000160086101000a81548161ffff021916908361ffff16021790555060a082015181600001600a6101000a81548161ffff021916908361ffff16021790555060c082015181600001600c6101000a81548161ffff021916908361ffff1602179055505050600060159054906101000a900460ff16600a6200041691906200097c565b621e8480620004269190620009cd565b600e5560006013556000601460006101000a81548160ff0219169083151502179055506000601460016101000a81548160ff021916908315150217905550600060155560006016556001601760006101000a81548160ff0219169083151502179055506001601760016101000a81548160ff021916908315150217905550600060185568056bc75e2d63100000601a55683635c9adc5dea00000601b556000601c60006101000a81548160ff02191690831515021790555068056bc75e2d63100000601d556103e86005600e54620004ff9190620009cd565b6200050b919062000a5d565b601e553480156200051b57600080fd5b5060008060006101000a81548160ff021916908315150217905550620005566200054a620006ec60201b60201c565b620006f460201b60201c565b600e54600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a6000620005b2620007b960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e54604051620006de919062000aa6565b60405180910390a362000ac3565b600033905090565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200087057808604811115620008485762000847620007e2565b5b6001851615620008585780820291505b8081029050620008688562000811565b945062000828565b94509492505050565b6000826200088b57600190506200095e565b816200089b57600090506200095e565b8160018114620008b45760028114620008bf57620008f5565b60019150506200095e565b60ff841115620008d457620008d3620007e2565b5b8360020a915084821115620008ee57620008ed620007e2565b5b506200095e565b5060208310610133831016604e8410600b84101617156200092f5782820a905083811115620009295762000928620007e2565b5b6200095e565b6200093e84848460016200081e565b92509050818404811115620009585762000957620007e2565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620009898262000965565b915062000996836200096f565b9250620009c57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000879565b905092915050565b6000620009da8262000965565b9150620009e78362000965565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a235762000a22620007e2565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a6a8262000965565b915062000a778362000965565b92508262000a8a5762000a8962000a2e565b5b828204905092915050565b62000aa08162000965565b82525050565b600060208201905062000abd600083018462000a95565b92915050565b615f608062000ad36000396000f3fe60806040526004361061026b5760003560e01c80636ddd171311610144578063a9059cbb116100b6578063d93657451161007a578063d93657451461090b578063dd62ed3e1461093c578063dee8190414610979578063e79d4160146109a2578063f2fde38b146109cd578063fb78680d146109f657610272565b8063a9059cbb14610810578063bca238aa1461084d578063c0d786551461088a578063cf847706146108b3578063d0ebdbe7146108e257610272565b80638456cb59116101085780638456cb5914610724578063893d20e81461074f5780638a8c523c1461077a5780638da5cb5b1461079157806395d89b41146107bc578063a776bc5a146107e757610272565b80636ddd17131461065357806370a082311461067e578063715018a6146106bb578063719f75c5146106d257806375cb1bd1146106fb57610272565b80632b112e49116101dd5780634626402b116101a15780634626402b14610553578063481c6a751461057e5780634ada218b146105a9578063590ffdce146105d457806359927044146105fd5780635c975abb1461062857610272565b80632b112e4914610480578063313ce567146104ab57806333251a0b146104d65780633f4ba83a146104ff5780634129ecee1461052a57610272565b80630712d1651161022f5780630712d1651461034c578063095ea7b3146103755780630f3a325f146103b257806318160ddd146103ef57806323b872dd1461041a5780632610eaca1461045757610272565b8063020372e2146102775780630359fea9146102a257806303fd2a45146102cd578063044df726146102f857806306fdde031461032157610272565b3661027257005b600080fd5b34801561028357600080fd5b5061028c610a1f565b60405161029991906145f1565b60405180910390f35b3480156102ae57600080fd5b506102b7610a32565b6040516102c4919061464d565b60405180910390f35b3480156102d957600080fd5b506102e2610a58565b6040516102ef9190614689565b60405180910390f35b34801561030457600080fd5b5061031f600480360381019061031a91906146e4565b610a7e565b005b34801561032d57600080fd5b50610336610b32565b60405161034391906147bd565b60405180910390f35b34801561035857600080fd5b50610373600480360381019061036e9190614819565b610b6f565b005b34801561038157600080fd5b5061039c600480360381019061039791906148e2565b610cb2565b6040516103a991906145f1565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d49190614922565b610da4565b6040516103e691906145f1565b60405180910390f35b3480156103fb57600080fd5b50610404610dfa565b604051610411919061495e565b60405180910390f35b34801561042657600080fd5b50610441600480360381019061043c9190614979565b610e04565b60405161044e91906145f1565b60405180910390f35b34801561046357600080fd5b5061047e60048036038101906104799190614bd7565b610f51565b005b34801561048c57600080fd5b50610495611091565b6040516104a2919061495e565b60405180910390f35b3480156104b757600080fd5b506104c06110e4565b6040516104cd9190614c6b565b60405180910390f35b3480156104e257600080fd5b506104fd60048036038101906104f89190614922565b6110fa565b005b34801561050b57600080fd5b5061051461125d565b60405161052191906145f1565b60405180910390f35b34801561053657600080fd5b50610551600480360381019061054c9190614cb2565b6112ea565b005b34801561055f57600080fd5b506105686113ab565b604051610575919061464d565b60405180910390f35b34801561058a57600080fd5b506105936113d1565b6040516105a09190614d3e565b60405180910390f35b3480156105b557600080fd5b506105be6113f7565b6040516105cb91906145f1565b60405180910390f35b3480156105e057600080fd5b506105fb60048036038101906105f69190614d59565b61140a565b005b34801561060957600080fd5b506106126114e1565b60405161061f919061464d565b60405180910390f35b34801561063457600080fd5b5061063d611507565b60405161064a91906145f1565b60405180910390f35b34801561065f57600080fd5b5061066861151d565b60405161067591906145f1565b60405180910390f35b34801561068a57600080fd5b506106a560048036038101906106a09190614922565b611530565b6040516106b2919061495e565b60405180910390f35b3480156106c757600080fd5b506106d0611579565b005b3480156106de57600080fd5b506106f960048036038101906106f49190614d59565b611601565b005b34801561070757600080fd5b50610722600480360381019061071d9190614dc5565b6116d8565b005b34801561073057600080fd5b5061073961181c565b60405161074691906145f1565b60405180910390f35b34801561075b57600080fd5b506107646118a9565b6040516107719190614689565b60405180910390f35b34801561078657600080fd5b5061078f6118b8565b005b34801561079d57600080fd5b506107a66119f7565b6040516107b39190614689565b60405180910390f35b3480156107c857600080fd5b506107d1611a20565b6040516107de91906147bd565b60405180910390f35b3480156107f357600080fd5b5061080e60048036038101906108099190614e18565b611a5d565b005b34801561081c57600080fd5b50610837600480360381019061083291906148e2565b611bc2565b60405161084491906145f1565b60405180910390f35b34801561085957600080fd5b50610874600480360381019061086f9190614922565b611bd7565b60405161088191906145f1565b60405180910390f35b34801561089657600080fd5b506108b160048036038101906108ac9190614922565b611c2d565b005b3480156108bf57600080fd5b506108c8612346565b6040516108d9959493929190614ec9565b60405180910390f35b3480156108ee57600080fd5b5061090960048036038101906109049190614922565b6123b0565b005b34801561091757600080fd5b506109206124df565b6040516109339796959493929190614f1c565b60405180910390f35b34801561094857600080fd5b50610963600480360381019061095e9190614f8b565b612571565b604051610970919061495e565b60405180910390f35b34801561098557600080fd5b506109a0600480360381019061099b9190614fcb565b6125f8565b005b3480156109ae57600080fd5b506109b7612691565b6040516109c4919061495e565b60405180910390f35b3480156109d957600080fd5b506109f460048036038101906109ef9190614922565b612697565b005b348015610a0257600080fd5b50610a1d6004803603810190610a189190614ff8565b61278e565b005b601460019054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a8661284e565b73ffffffffffffffffffffffffffffffffffffffff16610aa46119f7565b73ffffffffffffffffffffffffffffffffffffffff1614610afa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af1906150ab565b60405180910390fd5b81601760016101000a81548160ff02191690831515021790555080601760006101000a81548160ff0219169083151502179055505050565b60606040518060400160405280601481526020017f476f6c64656e20536f636965747920546f6b656e000000000000000000000000815250905090565b610b7761284e565b73ffffffffffffffffffffffffffffffffffffffff16610b956119f7565b73ffffffffffffffffffffffffffffffffffffffff1614610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be2906150ab565b60405180910390fd5b83600b60000160006101000a81548161ffff021916908361ffff16021790555082600b60000160026101000a81548161ffff021916908361ffff16021790555081600b60000160046101000a81548161ffff021916908361ffff16021790555080600b60000160066101000a81548161ffff021916908361ffff16021790555080828486610c7991906150fa565b610c8391906150fa565b610c8d91906150fa565b600b60000160086101000a81548161ffff021916908361ffff16021790555050505050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610d92919061495e565b60405180910390a36001905092915050565b6000601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600e54905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610f3d5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f359190615132565b925050819055505b610f48848484612856565b90509392505050565b8051825114610f95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8c9061518c565b60405180910390fd5b60005b82518160ff16101561108c57818160ff1681518110610fba57610fb96151ac565b5b6020026020010151600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561100d57600080fd5b61107833848360ff1681518110611027576110266151ac565b5b6020026020010151600060159054906101000a900460ff16600a61104b919061530e565b858560ff1681518110611061576110606151ac565b5b60200260200101516110739190615359565b612856565b508080611084906153b3565b915050610f98565b505050565b600061109d6000611530565b6110c8600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611530565b6110d291906153dc565b600e546110df9190615132565b905090565b60008060159054906101000a900460ff16905090565b61110261284e565b73ffffffffffffffffffffffffffffffffffffffff166111206119f7565b73ffffffffffffffffffffffffffffffffffffffff1614611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d906150ab565b60405180910390fd5b601960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f99061547e565b60405180910390fd5b6000601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061126761284e565b73ffffffffffffffffffffffffffffffffffffffff166112856119f7565b73ffffffffffffffffffffffffffffffffffffffff16146112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906150ab565b60405180910390fd5b6112e3612cd9565b6001905090565b6112f261284e565b73ffffffffffffffffffffffffffffffffffffffff166113106119f7565b73ffffffffffffffffffffffffffffffffffffffff1614611366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135d906150ab565b60405180910390fd5b600060155414801561137c5750600a8160ff1611155b80156113955750601460019054906101000a900460ff16155b61139e57600080fd5b8060ff1660158190555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460009054906101000a900460ff1681565b61141261284e565b73ffffffffffffffffffffffffffffffffffffffff166114306119f7565b73ffffffffffffffffffffffffffffffffffffffff1614611486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147d906150ab565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900460ff16905090565b601c60009054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61158161284e565b73ffffffffffffffffffffffffffffffffffffffff1661159f6119f7565b73ffffffffffffffffffffffffffffffffffffffff16146115f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ec906150ab565b60405180910390fd5b6115ff6000612d7a565b565b61160961284e565b73ffffffffffffffffffffffffffffffffffffffff166116276119f7565b73ffffffffffffffffffffffffffffffffffffffff161461167d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611674906150ab565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6116e061284e565b73ffffffffffffffffffffffffffffffffffffffff166116fe6119f7565b73ffffffffffffffffffffffffffffffffffffffff1614611754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174b906150ab565b60405180910390fd5b82600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b600061182661284e565b73ffffffffffffffffffffffffffffffffffffffff166118446119f7565b73ffffffffffffffffffffffffffffffffffffffff161461189a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611891906150ab565b60405180910390fd5b6118a2612e3f565b6001905090565b60006118b36119f7565b905090565b6118c061284e565b73ffffffffffffffffffffffffffffffffffffffff166118de6119f7565b73ffffffffffffffffffffffffffffffffffffffff1614611934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192b906150ab565b60405180910390fd5b601460009054906101000a900460ff1615611984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197b906154ea565b60405180910390fd5b601460019054906101000a900460ff166119d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ca90615556565b60405180910390fd5b436018819055506001601460006101000a81548160ff021916908315150217905550565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4744535900000000000000000000000000000000000000000000000000000000815250905090565b611a6561284e565b73ffffffffffffffffffffffffffffffffffffffff16611a836119f7565b73ffffffffffffffffffffffffffffffffffffffff1614611ad9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad0906150ab565b60405180910390fd5b86600c60000160006101000a81548161ffff021916908361ffff16021790555085600c60000160026101000a81548161ffff021916908361ffff16021790555084600c60000160046101000a81548161ffff021916908361ffff16021790555083600c60000160066101000a81548161ffff021916908361ffff16021790555082600c60000160086101000a81548161ffff021916908361ffff16021790555081600c600001600a6101000a81548161ffff021916908361ffff16021790555080600c600001600c6101000a81548161ffff021916908361ffff16021790555050505050505050565b6000611bcf338484612856565b905092915050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611c3561284e565b73ffffffffffffffffffffffffffffffffffffffff16611c536119f7565b73ffffffffffffffffffffffffffffffffffffffff1614611ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca0906150ab565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7d919061558b565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2a919061558b565b6040518363ffffffff1660e01b8152600401611e479291906155b8565b602060405180830381865afa158015611e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e88919061558b565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361211b57601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4f919061558b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffc919061558b565b6040518363ffffffff1660e01b81526004016120199291906155b8565b6020604051808303816000875af1158015612038573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205c919061558b565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160126000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506121d7565b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160126000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612244573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612268919061558b565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506122f530601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612ee1565b61234230601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612ee1565b5050565b600b8060000160009054906101000a900461ffff16908060000160029054906101000a900461ffff16908060000160049054906101000a900461ffff16908060000160069054906101000a900461ffff16908060000160089054906101000a900461ffff16905085565b6123b861284e565b73ffffffffffffffffffffffffffffffffffffffff166123d66119f7565b73ffffffffffffffffffffffffffffffffffffffff161461242c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612423906150ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361249b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124929061562d565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c8060000160009054906101000a900461ffff16908060000160029054906101000a900461ffff16908060000160049054906101000a900461ffff16908060000160069054906101000a900461ffff16908060000160089054906101000a900461ffff169080600001600a9054906101000a900461ffff169080600001600c9054906101000a900461ffff16905087565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61260061284e565b73ffffffffffffffffffffffffffffffffffffffff1661261e6119f7565b73ffffffffffffffffffffffffffffffffffffffff1614612674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266b906150ab565b60405180910390fd5b80601c60006101000a81548160ff02191690831515021790555050565b60165481565b61269f61284e565b73ffffffffffffffffffffffffffffffffffffffff166126bd6119f7565b73ffffffffffffffffffffffffffffffffffffffff1614612713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270a906150ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612782576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612779906156bf565b60405180910390fd5b61278b81612d7a565b50565b61279661284e565b73ffffffffffffffffffffffffffffffffffffffff166127b46119f7565b73ffffffffffffffffffffffffffffffffffffffff161461280a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612801906150ab565b60405180910390fd5b8284600e546128199190615359565b612823919061570e565b601d819055508082600e546128389190615359565b612842919061570e565b601e8190555050505050565b600033905090565b6000612860611507565b156128a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128979061578b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361290f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612906906157f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361297e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297590615863565b60405180910390fd5b600082116129c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b8906158cf565b60405180910390fd5b6129cb84846130aa565b15612c1257601460009054906101000a900460ff16612a1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a16906154ea565b60405180910390fd5b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612ac05750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612b0b57601a54821115612b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b019061593b565b60405180910390fd5b5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612bb35750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c1157601b5482612bc585611530565b612bcf91906153dc565b1115612c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c07906159a7565b60405180910390fd5b5b5b600060019050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612cb95750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612cc357600090505b612ccf8585858461338c565b9150509392505050565b612ce1611507565b612d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1790615a13565b60405180910390fd5b60008060006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612d6361284e565b604051612d709190614689565b60405180910390a1565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612e47611507565b15612e87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e7e9061578b565b60405180910390fd5b60016000806101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612eca61284e565b604051612ed79190614689565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4790615a7f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612fbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fb690615aeb565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161309d919061495e565b60405180910390a3505050565b60006130b46119f7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561312257506130f26119f7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561316157506131316119f7565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b80156131b75750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561320d5750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156132635750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156132b95750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156133135750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561334c5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561338457503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b905092915050565b6000601760019054906101000a900460ff16156135b6576133ac85610da4565b806133bc57506133bb84610da4565b5b156133fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133f390615b57565b60405180910390fd5b601460019054906101000a900460ff166134825761341a8585613805565b601460019054906101000a900460ff1615801561343d575061343c85856130aa565b5b1561347d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161347490615bc3565b60405180910390fd5b6135b5565b60006018541180156134dd5750601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156134ef57506134ee85856130aa565b5b156135b457601554601854436135059190615132565b10156135b3576001601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506016600081548092919061357690615be3565b91905055507f18e6e5ce5c121466e41a954e72765d1ea02b8e6919043b61f0dab08b4c6572e5846040516135aa9190614689565b60405180910390a15b5b5b5b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546136059190615132565b92505081905550601f60009054906101000a900460ff16156136335761362c858585613990565b90506137fd565b6000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050601e54811061368657601e5490505b601c60009054906101000a900460ff1680156136a45750601d548110155b80156136bd5750601f60009054906101000a900460ff16155b80156137135750601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156137225761372181613a58565b5b6000849050831561373b576137388787876141bb565b90505b80600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461378a91906153dc565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516137ee919061495e565b60405180910390a36001925050505b949350505050565b601460019054906101000a900460ff1615613855576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161384c90615c77565b60405180910390fd5b61385f82826130aa565b1580156138b95750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b1561398c57436018819055506001600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601460016101000a81548160ff0219169083151502179055506001601c60006101000a81548160ff0219169083151502179055507f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257600160405161398391906145f1565b60405180910390a15b5050565b600081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546139e191906153dc565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613a45919061495e565b60405180910390a3600190509392505050565b6001601f60006101000a81548160ff0219169083151502179055506000600b60000160089054906101000a900461ffff1661ffff16031561419d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414613c1c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60006002600b60000160089054906101000a900461ffff1661ffff16600b60000160029054906101000a900461ffff1661ffff1684613c5b9190615359565b613c65919061570e565b613c6f919061570e565b90506000600b60000160089054906101000a900461ffff1661ffff16600b60000160009054906101000a900461ffff1661ffff1684613cae9190615359565b613cb8919061570e565b90506000811115613d4b57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613d42919061495e565b60405180910390a35b6000600267ffffffffffffffff811115613d6857613d676149d1565b5b604051908082528060200260200182016040528015613d965781602001602082028036833780820191505090505b5090503081600081518110613dae57613dad6151ac565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110613e1f57613e1e6151ac565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663762b1562838587613ea49190615132565b613eae9190615132565b60008430426040518663ffffffff1660e01b8152600401613ed3959493929190615d90565b600060405180830381600087803b158015613eed57600080fd5b505af1158015613f01573d6000803e3d6000fd5b50505050600047905060006002600b60000160089054906101000a900461ffff1661ffff16600b60000160029054906101000a900461ffff1661ffff1684613f499190615359565b613f53919061570e565b613f5d919061570e565b9050600085111561405657601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f91b3f72823088600080613fb46119f7565b426040518863ffffffff1660e01b8152600401613fd696959493929190615e0b565b60606040518083038185885af1158015613ff4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906140199190615e81565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506818660405161404d929190615ed4565b60405180910390a15b600047111561419757479150600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600b60000160049054906101000a900461ffff16600b60000160069054906101000a900461ffff166140d091906150fa565b61ffff16600b60000160069054906101000a900461ffff1661ffff16856140f79190615359565b614101919061570e565b9081150290604051600060405180830381858888f1935050505015801561412c573d6000803e3d6000fd5b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015614195573d6000803e3d6000fd5b505b50505050505b6000601f60006101000a81548160ff02191690831515021790555050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361421c576000905061429d565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036142815761427a856143b3565b905061429c565b600c600001600a9054906101000a900461ffff1661ffff1690505b5b600081036142ae57829150506143ac565b6000600c600001600c9054906101000a900461ffff1661ffff1682856142d49190615359565b6142de919061570e565b905080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461432f91906153dc565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051614393919061495e565b60405180910390a380846143a79190615132565b925050505b9392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603614423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161441a9061562d565b60405180910390fd5b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634561a1f0846040518263ffffffff1660e01b81526004016144809190614689565b602060405180830381865afa15801561449d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144c19190615efd565b9050600081036144eb57600c60000160009054906101000a900461ffff1661ffff169150506145d1565b600a811161451357600c60000160029054906101000a900461ffff1661ffff169150506145d1565b600a81118015614524575060148111155b1561454957600c60000160049054906101000a900461ffff1661ffff169150506145d1565b60148111801561455a575060328111155b1561457f57600c60000160069054906101000a900461ffff1661ffff169150506145d1565b603281118015614590575060648111155b156145b557600c60000160089054906101000a900461ffff1661ffff169150506145d1565b600c600001600c9054906101000a900461ffff1661ffff169150505b919050565b60008115159050919050565b6145eb816145d6565b82525050565b600060208201905061460660008301846145e2565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006146378261460c565b9050919050565b6146478161462c565b82525050565b6000602082019050614662600083018461463e565b92915050565b60006146738261460c565b9050919050565b61468381614668565b82525050565b600060208201905061469e600083018461467a565b92915050565b6000604051905090565b600080fd5b600080fd5b6146c1816145d6565b81146146cc57600080fd5b50565b6000813590506146de816146b8565b92915050565b600080604083850312156146fb576146fa6146ae565b5b6000614709858286016146cf565b925050602061471a858286016146cf565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561475e578082015181840152602081019050614743565b8381111561476d576000848401525b50505050565b6000601f19601f8301169050919050565b600061478f82614724565b614799818561472f565b93506147a9818560208601614740565b6147b281614773565b840191505092915050565b600060208201905081810360008301526147d78184614784565b905092915050565b600061ffff82169050919050565b6147f6816147df565b811461480157600080fd5b50565b600081359050614813816147ed565b92915050565b60008060008060808587031215614833576148326146ae565b5b600061484187828801614804565b945050602061485287828801614804565b935050604061486387828801614804565b925050606061487487828801614804565b91505092959194509250565b61488981614668565b811461489457600080fd5b50565b6000813590506148a681614880565b92915050565b6000819050919050565b6148bf816148ac565b81146148ca57600080fd5b50565b6000813590506148dc816148b6565b92915050565b600080604083850312156148f9576148f86146ae565b5b600061490785828601614897565b9250506020614918858286016148cd565b9150509250929050565b600060208284031215614938576149376146ae565b5b600061494684828501614897565b91505092915050565b614958816148ac565b82525050565b6000602082019050614973600083018461494f565b92915050565b600080600060608486031215614992576149916146ae565b5b60006149a086828701614897565b93505060206149b186828701614897565b92505060406149c2868287016148cd565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614a0982614773565b810181811067ffffffffffffffff82111715614a2857614a276149d1565b5b80604052505050565b6000614a3b6146a4565b9050614a478282614a00565b919050565b600067ffffffffffffffff821115614a6757614a666149d1565b5b602082029050602081019050919050565b600080fd5b6000614a90614a8b84614a4c565b614a31565b90508083825260208201905060208402830185811115614ab357614ab2614a78565b5b835b81811015614adc5780614ac88882614897565b845260208401935050602081019050614ab5565b5050509392505050565b600082601f830112614afb57614afa6149cc565b5b8135614b0b848260208601614a7d565b91505092915050565b600067ffffffffffffffff821115614b2f57614b2e6149d1565b5b602082029050602081019050919050565b6000614b53614b4e84614b14565b614a31565b90508083825260208201905060208402830185811115614b7657614b75614a78565b5b835b81811015614b9f5780614b8b88826148cd565b845260208401935050602081019050614b78565b5050509392505050565b600082601f830112614bbe57614bbd6149cc565b5b8135614bce848260208601614b40565b91505092915050565b60008060408385031215614bee57614bed6146ae565b5b600083013567ffffffffffffffff811115614c0c57614c0b6146b3565b5b614c1885828601614ae6565b925050602083013567ffffffffffffffff811115614c3957614c386146b3565b5b614c4585828601614ba9565b9150509250929050565b600060ff82169050919050565b614c6581614c4f565b82525050565b6000602082019050614c806000830184614c5c565b92915050565b614c8f81614c4f565b8114614c9a57600080fd5b50565b600081359050614cac81614c86565b92915050565b600060208284031215614cc857614cc76146ae565b5b6000614cd684828501614c9d565b91505092915050565b6000819050919050565b6000614d04614cff614cfa8461460c565b614cdf565b61460c565b9050919050565b6000614d1682614ce9565b9050919050565b6000614d2882614d0b565b9050919050565b614d3881614d1d565b82525050565b6000602082019050614d536000830184614d2f565b92915050565b60008060408385031215614d7057614d6f6146ae565b5b6000614d7e85828601614897565b9250506020614d8f858286016146cf565b9150509250929050565b614da28161462c565b8114614dad57600080fd5b50565b600081359050614dbf81614d99565b92915050565b600080600060608486031215614dde57614ddd6146ae565b5b6000614dec86828701614db0565b9350506020614dfd86828701614db0565b9250506040614e0e86828701614db0565b9150509250925092565b600080600080600080600060e0888a031215614e3757614e366146ae565b5b6000614e458a828b01614804565b9750506020614e568a828b01614804565b9650506040614e678a828b01614804565b9550506060614e788a828b01614804565b9450506080614e898a828b01614804565b93505060a0614e9a8a828b01614804565b92505060c0614eab8a828b01614804565b91505092959891949750929550565b614ec3816147df565b82525050565b600060a082019050614ede6000830188614eba565b614eeb6020830187614eba565b614ef86040830186614eba565b614f056060830185614eba565b614f126080830184614eba565b9695505050505050565b600060e082019050614f31600083018a614eba565b614f3e6020830189614eba565b614f4b6040830188614eba565b614f586060830187614eba565b614f656080830186614eba565b614f7260a0830185614eba565b614f7f60c0830184614eba565b98975050505050505050565b60008060408385031215614fa257614fa16146ae565b5b6000614fb085828601614897565b9250506020614fc185828601614897565b9150509250929050565b600060208284031215614fe157614fe06146ae565b5b6000614fef848285016146cf565b91505092915050565b60008060008060808587031215615012576150116146ae565b5b6000615020878288016148cd565b9450506020615031878288016148cd565b9350506040615042878288016148cd565b9250506060615053878288016148cd565b91505092959194509250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061509560208361472f565b91506150a08261505f565b602082019050919050565b600060208201905081810360008301526150c481615088565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000615105826147df565b9150615110836147df565b92508261ffff03821115615127576151266150cb565b5b828201905092915050565b600061513d826148ac565b9150615148836148ac565b92508282101561515b5761515a6150cb565b5b828203905092915050565b50565b600061517660008361472f565b915061518182615166565b600082019050919050565b600060208201905081810360008301526151a581615169565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156152325780860481111561520e5761520d6150cb565b5b600185161561521d5780820291505b808102905061522b856151db565b94506151f2565b94509492505050565b60008261524b5760019050615307565b816152595760009050615307565b816001811461526f5760028114615279576152a8565b6001915050615307565b60ff84111561528b5761528a6150cb565b5b8360020a9150848211156152a2576152a16150cb565b5b50615307565b5060208310610133831016604e8410600b84101617156152dd5782820a9050838111156152d8576152d76150cb565b5b615307565b6152ea84848460016151e8565b92509050818404811115615301576153006150cb565b5b81810290505b9392505050565b6000615319826148ac565b915061532483614c4f565b92506153517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461523b565b905092915050565b6000615364826148ac565b915061536f836148ac565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156153a8576153a76150cb565b5b828202905092915050565b60006153be82614c4f565b915060ff82036153d1576153d06150cb565b5b600182019050919050565b60006153e7826148ac565b91506153f2836148ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115615427576154266150cb565b5b828201905092915050565b7f6e6f20736e6970652e0000000000000000000000000000000000000000000000600082015250565b600061546860098361472f565b915061547382615432565b602082019050919050565b600060208201905081810360008301526154978161545b565b9050919050565b7f74726164696e67206f6666000000000000000000000000000000000000000000600082015250565b60006154d4600b8361472f565b91506154df8261549e565b602082019050919050565b60006020820190508181036000830152615503816154c7565b9050919050565b7f6e6f206c69710000000000000000000000000000000000000000000000000000600082015250565b600061554060068361472f565b915061554b8261550a565b602082019050919050565b6000602082019050818103600083015261556f81615533565b9050919050565b60008151905061558581614880565b92915050565b6000602082840312156155a1576155a06146ae565b5b60006155af84828501615576565b91505092915050565b60006040820190506155cd600083018561467a565b6155da602083018461467a565b9392505050565b7f3000000000000000000000000000000000000000000000000000000000000000600082015250565b600061561760018361472f565b9150615622826155e1565b602082019050919050565b600060208201905081810360008301526156468161560a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006156a960268361472f565b91506156b48261564d565b604082019050919050565b600060208201905081810360008301526156d88161569c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000615719826148ac565b9150615724836148ac565b925082615734576157336156df565b5b828204905092915050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061577560108361472f565b91506157808261573f565b602082019050919050565b600060208201905081810360008301526157a481615768565b9050919050565b7f663a203000000000000000000000000000000000000000000000000000000000600082015250565b60006157e160048361472f565b91506157ec826157ab565b602082019050919050565b60006020820190508181036000830152615810816157d4565b9050919050565b7f743a203000000000000000000000000000000000000000000000000000000000600082015250565b600061584d60048361472f565b915061585882615817565b602082019050919050565b6000602082019050818103600083015261587c81615840565b9050919050565b7f7466203d3d203000000000000000000000000000000000000000000000000000600082015250565b60006158b960078361472f565b91506158c482615883565b602082019050919050565b600060208201905081810360008301526158e8816158ac565b9050919050565b7f6d61782074782065786365656465640000000000000000000000000000000000600082015250565b6000615925600f8361472f565b9150615930826158ef565b602082019050919050565b6000602082019050818103600083015261595481615918565b9050919050565b7f6d6178576c742065786365656465640000000000000000000000000000000000600082015250565b6000615991600f8361472f565b915061599c8261595b565b602082019050919050565b600060208201905081810360008301526159c081615984565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006159fd60148361472f565b9150615a08826159c7565b602082019050919050565b60006020820190508181036000830152615a2c816159f0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865203000000000000000600082015250565b6000615a6960198361472f565b9150615a7482615a33565b602082019050919050565b60006020820190508181036000830152615a9881615a5c565b9050919050565b7f45524332303a20617070726f766520746f207468652030000000000000000000600082015250565b6000615ad560178361472f565b9150615ae082615a9f565b602082019050919050565b60006020820190508181036000830152615b0481615ac8565b9050919050565b7f736e707200000000000000000000000000000000000000000000000000000000600082015250565b6000615b4160048361472f565b9150615b4c82615b0b565b602082019050919050565b60006020820190508181036000830152615b7081615b34565b9050919050565b7f6f6e6c79206f776e657200000000000000000000000000000000000000000000600082015250565b6000615bad600a8361472f565b9150615bb882615b77565b602082019050919050565b60006020820190508181036000830152615bdc81615ba0565b9050919050565b6000615bee826148ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615c2057615c1f6150cb565b5b600182019050919050565b7f6c69712061646465640000000000000000000000000000000000000000000000600082015250565b6000615c6160098361472f565b9150615c6c82615c2b565b602082019050919050565b60006020820190508181036000830152615c9081615c54565b9050919050565b6000819050919050565b6000615cbc615cb7615cb284615c97565b614cdf565b6148ac565b9050919050565b615ccc81615ca1565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b615d0781614668565b82525050565b6000615d198383615cfe565b60208301905092915050565b6000602082019050919050565b6000615d3d82615cd2565b615d478185615cdd565b9350615d5283615cee565b8060005b83811015615d83578151615d6a8882615d0d565b9750615d7583615d25565b925050600181019050615d56565b5085935050505092915050565b600060a082019050615da5600083018861494f565b615db26020830187615cc3565b8181036040830152615dc48186615d32565b9050615dd3606083018561467a565b615de0608083018461494f565b9695505050505050565b6000615df582614d0b565b9050919050565b615e0581615dea565b82525050565b600060c082019050615e20600083018961467a565b615e2d602083018861494f565b615e3a6040830187615cc3565b615e476060830186615cc3565b615e546080830185615dfc565b615e6160a083018461494f565b979650505050505050565b600081519050615e7b816148b6565b92915050565b600080600060608486031215615e9a57615e996146ae565b5b6000615ea886828701615e6c565b9350506020615eb986828701615e6c565b9250506040615eca86828701615e6c565b9150509250925092565b6000604082019050615ee9600083018561494f565b615ef6602083018461494f565b9392505050565b600060208284031215615f1357615f126146ae565b5b6000615f2184828501615e6c565b9150509291505056fea2646970667358221220d431030e937745d8271c6336c07b4da21cd7e442a5252b1fb3a3654cceb3ac4364736f6c634300080d0033