[ { "inputs": [], "stateMutability": "payable", "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": "amount", "type": "uint256" } ], "name": "AutoNukeLP", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "DevWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ManualNukeLP", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "OwnerForcedSwapBack", "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": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "marketingWalletUpdated", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedmaxTxnAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "addBotToBlackList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "deadAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "devWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dexRouter", "outputs": [ { "internalType": "contract IDexRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disableTransferDelay", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransaction", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "forceSwapBack", "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": "isBot", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isPenaltyActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastLpMarketingTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastManualLpMarketingTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_blockPenalty", "type": "uint256" } ], "name": "launch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpMarketingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpMarketingFrequency", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualMarketingFrequency", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" } ], "name": "manualMarketingLiquidityPairTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTxnAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "percentForLPMarketing", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "removeBotFromBlackList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_frequencyInSeconds", "type": "uint256" }, { "internalType": "uint256", "name": "_percent", "type": "uint256" }, { "internalType": "bool", "name": "_Enabled", "type": "bool" } ], "name": "setAutoLPMarketingSettings", "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": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForDev", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForMarketing", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActiveBlock", "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": [], "name": "transferDelayEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_MarketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "updateBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "updateDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxTxnAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxWalletAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_MarketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "updateSellFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "updateSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapTokensAtAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newmarketingWallet", "type": "address" } ], "name": "updatemarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawStuckETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
5f600b819055600f8190556010805460ff19908116909155601191909155610e106013556015805462ffffff1916600190811790915560178054909216179055600e60809081526d5448452046494e414c205045504560901b60a052610100604052600360c08181526205446560ec1b60e052906200007f83826200060b565b5060046200008e82826200060b565b5050505f620000a26200036760201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250905f907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f5f81601482816c01431e0fae6d7217caa0000000606462000114826002620006eb565b6200012091906200070b565b600c55606462000132826002620006eb565b6200013e91906200070b565b600e5561271062000151826005620006eb565b6200015d91906200070b565b600d556019879055601a869055601b859055846200017c87896200072b565b6200018891906200072b565b601855601d849055601e839055601f82905581620001a784866200072b565b620001b391906200072b565b601c55600880546001600160a01b0319908116733d0755bec193f43a337d812a4076eada337ffd8b179091556009805490911673cddf34c42ff562b80fedbe034af44bf9a5b42a571790556200021d620002156005546001600160a01b031690565b60016200036b565b60085462000236906001600160a01b031660016200036b565b620002433060016200036b565b62000264733d0755bec193f43a337d812a4076eada337ffd8b60016200036b565b6200028573cddf34c42ff562b80fedbe034af44bf9a5b42a5760016200036b565b620002a46200029c6005546001600160a01b031690565b600162000417565b600854620002bd906001600160a01b0316600162000417565b620002ca30600162000417565b620002eb733d0755bec193f43a337d812a4076eada337ffd8b600162000417565b6200030c73cddf34c42ff562b80fedbe034af44bf9a5b42a57600162000417565b6200034673cddf34c42ff562b80fedbe034af44bf9a5b42a5760646200033484600a620006eb565b6200034091906200070b565b6200048b565b6200035a3060646200033484605a620006eb565b5050505050505062000741565b3390565b6005546001600160a01b03163314620003b95760405162461bcd60e51b815260206004820181905260248201525f805160206200435d83398151915260448201526064015b60405180910390fd5b6001600160a01b0382165f81815260236020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314620004615760405162461bcd60e51b815260206004820181905260248201525f805160206200435d8339815191526044820152606401620003b0565b6001600160a01b03919091165f908152602460205260409020805460ff1916911515919091179055565b6001600160a01b038216620004e35760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620003b0565b8060025f828254620004f691906200072b565b90915550506001600160a01b0382165f9081526020819052604081208054839290620005249084906200072b565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200059657607f821691505b602082108103620005b557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200060657805f5260205f20601f840160051c81016020851015620005e25750805b601f840160051c820191505b8181101562000603575f8155600101620005ee565b50505b505050565b81516001600160401b038111156200062757620006276200056d565b6200063f8162000638845462000581565b84620005bb565b602080601f83116001811462000675575f84156200065d5750858301515b5f19600386901b1c1916600185901b178555620006cf565b5f85815260208120601f198616915b82811015620006a55788860151825594840194600190910190840162000684565b5085821015620006c357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417620007055762000705620006d7565b92915050565b5f826200072657634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620007055762000705620006d7565b613c0e806200074f5f395ff3fe608060405260043610610403575f3560e01c80638a0de19f11610215578063c18bc1951161011e578063e513e45a116100a8578063f11a24d311610078578063f11a24d314610b8e578063f2fde38b14610ba3578063f5648a4f14610bc2578063f637434214610bd6578063f8b45b0514610beb575f80fd5b8063e513e45a14610b3b578063e884f26014610b50578063ee40166e14610b64578063ee9623b914610b79575f80fd5b8063d257b34f116100ee578063d257b34f14610a9a578063d28d885214610ab9578063d85ba06314610acd578063dd62ed3e14610ae2578063e2f4560514610b26575f80fd5b8063c18bc19514610a38578063c7ff080514610a57578063c876d0b914610a6c578063cf46f24c14610a85575f80fd5b8063a0d82dc51161019f578063b62496f51161016f578063b62496f51461098f578063bbc0c742146109bd578063bff78169146109db578063c0246668146109fa578063c17b5b8c14610a19575f80fd5b8063a0d82dc514610928578063a457c2d71461093d578063a9059cbb1461095c578063b09f12661461097b575f80fd5b8063924de9b7116101e5578063924de9b7146108ac57806395d89b41146108cb5780639a7a23d6146108df5780639c3b4fdc146108fe5780639fccce3214610913575f80fd5b80638a0de19f146108465780638da5cb5b1461085b5780638ea5220f146108785780639213691314610897575f80fd5b80634fbee19311610317578063715018a6116102a1578063764c4ce511610271578063764c4ce5146107bf5780637bce5a04146107d45780637ded4d6a146107e95780638095d5641461080857806385b12c7c14610827575f80fd5b8063715018a614610759578063751039fc1461076d5780637571336a1461078157806375f0a874146107a0575f80fd5b80635f559fba116102e75780635f559fba146106b9578063689b08ca146106e75780636a486a8e146107065780636ddd17131461071b57806370a082311461073a575f80fd5b80634fbee1931461064157806351f205e414610678578063551b4ea61461068c57806358b69bc3146106a5575f80fd5b806323b872dd11610398578063395093511161036857806339509351146105945780633bbac579146105b35780634303443d146105ea578063452ed4f1146106095780634a62bb6514610628575f80fd5b806323b872dd1461052657806327c8f83514610545578063313ce5671461055a57806331dbc93214610575575f80fd5b80631816467f116103d35780631816467f146104bc5780631a8145bb146104dd5780631f3fed8f146104f2578063203e727e14610507575f80fd5b806306fdde031461040e5780630758d92414610438578063095ea7b31461046f57806318160ddd1461049e575f80fd5b3661040a57005b5f80fd5b348015610419575f80fd5b50610422610c00565b60405161042f919061363d565b60405180910390f35b348015610443575f80fd5b50600654610457906001600160a01b031681565b6040516001600160a01b03909116815260200161042f565b34801561047a575f80fd5b5061048e6104893660046136a0565b610c90565b604051901515815260200161042f565b3480156104a9575f80fd5b506002545b60405190815260200161042f565b3480156104c7575f80fd5b506104db6104d63660046136ca565b610ca6565b005b3480156104e8575f80fd5b506104ae60215481565b3480156104fd575f80fd5b506104ae60205481565b348015610512575f80fd5b506104db6105213660046136ec565b610d35565b348015610531575f80fd5b5061048e610540366004613703565b610e0a565b348015610550575f80fd5b5061045761dead81565b348015610565575f80fd5b506040516012815260200161042f565b348015610580575f80fd5b506104db61058f3660046136ec565b610eb2565b34801561059f575f80fd5b5061048e6105ae3660046136a0565b6110e7565b3480156105be575f80fd5b5061048e6105cd3660046136ca565b6001600160a01b03165f9081526026602052604090205460ff1690565b3480156105f5575f80fd5b506104db6106043660046136ca565b611122565b348015610614575f80fd5b50600754610457906001600160a01b031681565b348015610633575f80fd5b5060155461048e9060ff1681565b34801561064c575f80fd5b5061048e61065b3660046136ca565b6001600160a01b03165f9081526023602052604090205460ff1690565b348015610683575f80fd5b506104db611291565b348015610697575f80fd5b5060105461048e9060ff1681565b3480156106b0575f80fd5b5061048e61139a565b3480156106c4575f80fd5b5061048e6106d33660046136ca565b60246020525f908152604090205460ff1681565b3480156106f2575f80fd5b506104db610701366004613750565b6113b3565b348015610711575f80fd5b506104ae601c5481565b348015610726575f80fd5b5060155461048e9062010000900460ff1681565b348015610745575f80fd5b506104ae6107543660046136ca565b6114e1565b348015610764575f80fd5b506104db6114fb565b348015610778575f80fd5b506104db61156e565b34801561078c575f80fd5b506104db61079b366004613782565b6115a4565b3480156107ab575f80fd5b50600854610457906001600160a01b031681565b3480156107ca575f80fd5b506104ae60135481565b3480156107df575f80fd5b506104ae60195481565b3480156107f4575f80fd5b506104db6108033660046136ca565b6115f8565b348015610813575f80fd5b506104db6108223660046137b5565b611794565b348015610832575f80fd5b506104db6108413660046136ec565b61183c565b348015610851575f80fd5b506104ae60125481565b348015610866575f80fd5b506005546001600160a01b0316610457565b348015610883575f80fd5b50600954610457906001600160a01b031681565b3480156108a2575f80fd5b506104ae601d5481565b3480156108b7575f80fd5b506104db6108c63660046137de565b611c6a565b3480156108d6575f80fd5b50610422611cb0565b3480156108ea575f80fd5b506104db6108f9366004613782565b611cbf565b348015610909575f80fd5b506104ae601b5481565b34801561091e575f80fd5b506104ae60225481565b348015610933575f80fd5b506104ae601f5481565b348015610948575f80fd5b5061048e6109573660046136a0565b611d77565b348015610967575f80fd5b5061048e6109763660046136a0565b611e0f565b348015610986575f80fd5b50610422611e1b565b34801561099a575f80fd5b5061048e6109a93660046136ca565b60256020525f908152604090205460ff1681565b3480156109c8575f80fd5b5060155461048e90610100900460ff1681565b3480156109e6575f80fd5b506104db6109f53660046136ca565b611ea7565b348015610a05575f80fd5b506104db610a14366004613782565b611f2d565b348015610a24575f80fd5b506104db610a333660046137b5565b611fb5565b348015610a43575f80fd5b506104db610a523660046136ec565b612058565b348015610a62575f80fd5b506104ae60115481565b348015610a77575f80fd5b5060175461048e9060ff1681565b348015610a90575f80fd5b506104ae600c5481565b348015610aa5575f80fd5b5061048e610ab43660046136ec565b612127565b348015610ac4575f80fd5b5061042261227d565b348015610ad8575f80fd5b506104ae60185481565b348015610aed575f80fd5b506104ae610afc3660046137f7565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610b31575f80fd5b506104ae600d5481565b348015610b46575f80fd5b506104ae600f5481565b348015610b5b575f80fd5b506104db61228a565b348015610b6f575f80fd5b506104ae600b5481565b348015610b84575f80fd5b506104ae60145481565b348015610b99575f80fd5b506104ae601a5481565b348015610bae575f80fd5b506104db610bbd3660046136ca565b6122c0565b348015610bcd575f80fd5b506104db6123aa565b348015610be1575f80fd5b506104ae601e5481565b348015610bf6575f80fd5b506104ae600e5481565b606060038054610c0f9061382e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3b9061382e565b8015610c865780601f10610c5d57610100808354040283529160200191610c86565b820191905f5260205f20905b815481529060010190602001808311610c6957829003601f168201915b5050505050905090565b5f610c9c33848461248a565b5060015b92915050565b6005546001600160a01b03163314610cd95760405162461bcd60e51b8152600401610cd090613866565b60405180910390fd5b6009546040516001600160a01b03918216918316907f0db17895a9d092fb3ca24d626f2150dd80c185b0706b36f1040ee239f56cb871905f90a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610d5f5760405162461bcd60e51b8152600401610cd090613866565b670de0b6b3a76400006103e8610d7460025490565b610d7f9060056138af565b610d8991906138c6565b610d9391906138c6565b811015610df25760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f7420736574206d617854786e416d6f756e74206c6f776572207468604482015266616e20302e352560c81b6064820152608401610cd0565b610e0481670de0b6b3a76400006138af565b600c5550565b5f610e168484846125ad565b6001600160a01b0384165f90815260016020908152604080832033845290915290205482811015610e9a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610cd0565b610ea7853385840361248a565b506001949350505050565b6005546001600160a01b03163314610edc5760405162461bcd60e51b8152600401610cd090613866565b601354601454610eec91906138e5565b4211610f3a5760405162461bcd60e51b815260206004820181905260248201527f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973686044820152606401610cd0565b6103e8811115610f9f5760405162461bcd60e51b815260206004820152602a60248201527f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f60448201526906b656e7320696e204c560b41b6064820152608401610cd0565b426014556007546040516370a0823160e01b81526001600160a01b0390911660048201525f9030906370a0823190602401602060405180830381865afa158015610feb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100f91906138f8565b90505f61271061101f84846138af565b61102991906138c6565b9050801561104a5760075461104a906001600160a01b031661dead83612f41565b6007546040805160016209351760e01b0319815290516001600160a01b0390921691829163fff6cae9916004808301925f92919082900301818387803b158015611092575f80fd5b505af11580156110a4573d5f803e3d5ffd5b505050507f01dfa9a7a5ffd5f2630a016e754405184a66ca529745e85abd52e47e76ec70d6826040516110d991815260200190565b60405180910390a150505050565b335f8181526001602090815260408083206001600160a01b03871684529091528120549091610c9c91859061111d9086906138e5565b61248a565b6005546001600160a01b0316331461114c5760405162461bcd60e51b8152600401610cd090613866565b6001600160a01b038116737a250d5630b4cf539739df2c5dacb4c659f2488d036111c45760405162461bcd60e51b8152602060048201526024808201527f57652063616e206e6f7420626c61636b6c69737420556e697377617020726f756044820152633a32b91760e11b6064820152608401610cd0565b6001600160a01b0381165f9081526026602052604090205460ff161561122c5760405162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420697320616c726561647920626c61636b6c697374656400006044820152606401610cd0565b6001600160a01b03165f818152602660205260408120805460ff191660019081179091556027805491820181559091527f98a476f1687bc3d60a2da2adbcba2c46958e61fa2fb4042cd7bc5816a710195b0180546001600160a01b0319169091179055565b6005546001600160a01b031633146112bb5760405162461bcd60e51b8152600401610cd090613866565b600d546112c7306114e1565b101561133d576040805162461bcd60e51b81526020600482015260248101919091527f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060448201527f6973206174206f7220686967686572207468616e207265737472696374696f6e6064820152608401610cd0565b6007805460ff60a01b1916600160a01b179055611358613094565b6007805460ff60a01b191690556040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329060200160405180910390a1565b5f600a54436113a9919061390f565b600b541015905090565b6005546001600160a01b031633146113dd5760405162461bcd60e51b8152600401610cd090613866565b61025883101561144b5760405162461bcd60e51b815260206004820152603360248201527f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e207468604482015272616e206576657279203130206d696e7574657360681b6064820152608401610cd0565b6103e8821115801561145b575060015b6114c55760405162461bcd60e51b815260206004820152603560248201527f4d75737420736574206175746f204c50204d61726b6574696e672070657263656044820152746e74206265747765656e20312520616e642031302560581b6064820152608401610cd0565b601192909255600f556010805460ff1916911515919091179055565b6001600160a01b03165f9081526020819052604090205490565b6005546001600160a01b031633146115255760405162461bcd60e51b8152600401610cd090613866565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146115985760405162461bcd60e51b8152600401610cd090613866565b6015805460ff19169055565b6005546001600160a01b031633146115ce5760405162461bcd60e51b8152600401610cd090613866565b6001600160a01b03919091165f908152602460205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146116225760405162461bcd60e51b8152600401610cd090613866565b6001600160a01b0381165f9081526026602052604090205460ff166116895760405162461bcd60e51b815260206004820152601a60248201527f4163636f756e74206973206e6f7420626c61636b6c69737465640000000000006044820152606401610cd0565b5f5b60275481101561179057816001600160a01b0316602782815481106116b2576116b2613922565b5f918252602090912001546001600160a01b03160361178857602780546116db9060019061390f565b815481106116eb576116eb613922565b5f91825260209091200154602780546001600160a01b03909216918390811061171657611716613922565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152602690915260409020805460ff19169055602780548061176457611764613936565b5f8281526020902081015f1990810180546001600160a01b03191690550190555050565b60010161168b565b5050565b6005546001600160a01b031633146117be5760405162461bcd60e51b8152600401610cd090613866565b6019839055601a829055601b819055806117d883856138e5565b6117e291906138e5565b6018819055606410156118375760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b65657020666565732061742031303025206f72206c65737300006044820152606401610cd0565b505050565b6005546001600160a01b031633146118665760405162461bcd60e51b8152600401610cd090613866565b601554610100900460ff16156118d25760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b6064820152608401610cd0565b600a81905560408051808201909152600e81526d5448452046494e414c205045504560901b602082015260039061190990826139a2565b5060408051808201909152600381526205446560ec1b602082015260049061193190826139a2565b506015805462ffff0019166201010017905543600b554260125560068054737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031990911681179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa1580156119af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119d39190613a5e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a429190613a5e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015611a8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab09190613a5e565b600780546001600160a01b0319166001600160a01b03929092169182179055611ada9060016115a4565b600754611af1906001600160a01b031660016132e7565b5f4711611b4c5760405162461bcd60e51b815260206004820152602360248201527f4d757374206861766520455448206f6e20636f6e747261637420746f206c61756044820152620dcc6d60eb1b6064820152608401610cd0565b5f611b56306114e1565b11611bb25760405162461bcd60e51b815260206004820152602660248201527f4d757374206861766520546f6b656e73206f6e20636f6e747261637420746f206044820152650d8c2eadcc6d60d31b6064820152608401610cd0565b600654611bcd9030906001600160a01b031661111d826114e1565b6006546001600160a01b031663f305d7194730611be9816114e1565b5f8073cddf34c42ff562b80fedbe034af44bf9a5b42a57426040518863ffffffff1660e01b8152600401611c2296959493929190613a79565b60606040518083038185885af1158015611c3e573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611c639190613ab4565b5050505050565b6005546001600160a01b03163314611c945760405162461bcd60e51b8152600401610cd090613866565b60158054911515620100000262ff000019909216919091179055565b606060048054610c0f9061382e565b6005546001600160a01b03163314611ce95760405162461bcd60e51b8152600401610cd090613866565b6007546001600160a01b0390811690831603611d6d5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610cd0565b61179082826132e7565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015611df85760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610cd0565b611e05338585840361248a565b5060019392505050565b5f610c9c3384846125ad565b60048054611e289061382e565b80601f0160208091040260200160405190810160405280929190818152602001828054611e549061382e565b8015611e9f5780601f10611e7657610100808354040283529160200191611e9f565b820191905f5260205f20905b815481529060010190602001808311611e8257829003601f168201915b505050505081565b6005546001600160a01b03163314611ed15760405162461bcd60e51b8152600401610cd090613866565b6008546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b05674905f90a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611f575760405162461bcd60e51b8152600401610cd090613866565b6001600160a01b0382165f81815260236020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314611fdf5760405162461bcd60e51b8152600401610cd090613866565b601d839055601e829055601f81905580611ff983856138e5565b61200391906138e5565b601c819055606410156118375760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b65657020666565732061742031303025206f72206c65737300006044820152606401610cd0565b6005546001600160a01b031633146120825760405162461bcd60e51b8152600401610cd090613866565b670de0b6b3a7640000606461209660025490565b6120a19060016138af565b6120ab91906138c6565b6120b591906138c6565b81101561210f5760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015261312560f01b6064820152608401610cd0565b61212181670de0b6b3a76400006138af565b600e5550565b6005545f906001600160a01b031633146121535760405162461bcd60e51b8152600401610cd090613866565b620186a061216060025490565b61216b9060016138af565b61217591906138c6565b8210156121e25760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610cd0565b6103e86121ee60025490565b6121f99060056138af565b61220391906138c6565b82111561226f5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610cd0565b50600d81905560015b919050565b60038054611e289061382e565b6005546001600160a01b031633146122b45760405162461bcd60e51b8152600401610cd090613866565b6017805460ff19169055565b6005546001600160a01b031633146122ea5760405162461bcd60e51b8152600401610cd090613866565b6001600160a01b03811661234f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cd0565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146123d45760405162461bcd60e51b8152600401610cd090613866565b601554610100900460ff16156124405760405162461bcd60e51b815260206004820152602b60248201527f43616e206f6e6c792077697468647261772069662074726164696e672068617360448201526a1b89dd081cdd185c9d195960aa1b6064820152608401610cd0565b6040515f90339047908381818185875af1925050503d805f811461247f576040519150601f19603f3d011682016040523d82523d5f602084013e612484565b606091505b50505050565b6001600160a01b0383166124ec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610cd0565b6001600160a01b03821661254d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610cd0565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166125d35760405162461bcd60e51b8152600401610cd090613adf565b6001600160a01b0382166125f95760405162461bcd60e51b8152600401610cd090613b24565b6001600160a01b0382165f9081526026602052604090205460ff161561265b5760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b6044820152606401610cd0565b325f9081526026602052604090205460ff16156126b45760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b6044820152606401610cd0565b805f036126c65761183783835f612f41565b601554610100900460ff16612757576001600160a01b0383165f9081526023602052604090205460ff168061271257506001600160a01b0382165f9081526023602052604090205460ff165b6127575760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610cd0565b60155460ff1615612b5e576005546001600160a01b0384811691161480159061278e57506005546001600160a01b03838116911614155b80156127a257506001600160a01b03821615155b80156127b957506001600160a01b03821661dead14155b80156127cf5750600754600160a01b900460ff16155b80156127f357506001600160a01b0382165f9081526023602052604090205460ff16155b801561281757506001600160a01b0383165f9081526023602052604090205460ff16155b15612b5e5760175460ff161561292d576006546001600160a01b0383811691161480159061285357506007546001600160a01b03838116911614155b1561292d5761286360014361390f565b325f9081526016602052604090205410801561289f575061288560014361390f565b6001600160a01b0383165f90815260166020526040902054105b6129095760405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527432b21710102a393c9030b3b0b4b7103630ba32b91760591b6064820152608401610cd0565b325f9081526016602052604080822043908190556001600160a01b03851683529120555b6001600160a01b0383165f9081526025602052604090205460ff16801561296c57506001600160a01b0382165f9081526024602052604090205460ff16155b15612a3857600c548111156129d95760405162461bcd60e51b815260206004820152602d60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526c36b0bc2a3c3720b6b7bab73a1760991b6064820152608401610cd0565b600e546129e5836114e1565b6129ef90836138e5565b1115612a335760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610cd0565b612b5e565b6001600160a01b0382165f9081526025602052604090205460ff168015612a7757506001600160a01b0383165f9081526024602052604090205460ff16155b15612ae557600c54811115612a335760405162461bcd60e51b815260206004820152602e60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526d1036b0bc2a3c3720b6b7bab73a1760911b6064820152608401610cd0565b6001600160a01b0382165f9081526024602052604090205460ff16612b5e57600e54612b10836114e1565b612b1a90836138e5565b1115612b5e5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610cd0565b5f612b68306114e1565b600d5490915081108015908190612b87575060155462010000900460ff165b8015612b9d5750600754600160a01b900460ff16155b8015612bc157506001600160a01b0385165f9081526025602052604090205460ff16155b8015612be557506001600160a01b0385165f9081526023602052604090205460ff16155b8015612c0957506001600160a01b0384165f9081526023602052604090205460ff16155b15612c37576007805460ff60a01b1916600160a01b179055612c29613094565b6007805460ff60a01b191690555b600754600160a01b900460ff16158015612c6857506001600160a01b0384165f9081526025602052604090205460ff165b8015612c76575060105460ff165b8015612c915750601154601254612c8d91906138e5565b4210155b8015612cb557506001600160a01b0385165f9081526023602052604090205460ff16155b15612cc257612cc261333a565b6007546001600160a01b0386165f9081526023602052604090205460ff600160a01b909204821615911680612d0e57506001600160a01b0385165f9081526023602052604090205460ff165b15612d1657505f5b5f8115612f2d57612d2561139a565b8015612d4857506001600160a01b0387165f9081526025602052604090205460ff165b15612dfa576064612d5a8660636138af565b612d6491906138c6565b9050601c54601e5482612d7791906138af565b612d8191906138c6565b60215f828254612d9191906138e5565b9091555050601c54601d54612da690836138af565b612db091906138c6565b60205f828254612dc091906138e5565b9091555050601c54601f54612dd590836138af565b612ddf91906138c6565b60225f828254612def91906138e5565b90915550612f0f9050565b6001600160a01b0386165f9081526025602052604090205460ff168015612e2257505f601c54115b15612e37576064601c5486612d5a91906138af565b6001600160a01b0387165f9081526025602052604090205460ff168015612e5f57505f601854115b15612f0f57606460185486612e7491906138af565b612e7e91906138c6565b9050601854601a5482612e9191906138af565b612e9b91906138c6565b60215f828254612eab91906138e5565b9091555050601854601954612ec090836138af565b612eca91906138c6565b60205f828254612eda91906138e5565b9091555050601854601b54612eef90836138af565b612ef991906138c6565b60225f828254612f0991906138e5565b90915550505b8015612f2057612f20873083612f41565b612f2a818661390f565b94505b612f38878787612f41565b50505050505050565b6001600160a01b038316612f675760405162461bcd60e51b8152600401610cd090613adf565b6001600160a01b038216612f8d5760405162461bcd60e51b8152600401610cd090613b24565b6001600160a01b0383165f90815260208190526040902054818110156130045760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610cd0565b6001600160a01b038085165f9081526020819052604080822085850390559185168152908120805484929061303a9084906138e5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161308691815260200190565b60405180910390a350505050565b5f61309e306114e1565b90505f6022546020546021546130b491906138e5565b6130be91906138e5565b90505f8215806130cc575081155b156130d657505050565b600d546130e49060146138af565b8311156130fc57600d546130f99060146138af565b92505b5f6002836021548661310e91906138af565b61311891906138c6565b61312291906138c6565b90505f61312f828661390f565b90504761313b82613485565b5f613146824761390f565b90505f600260215461315891906138c6565b613162908861390f565b60205461316f90846138af565b61317991906138c6565b90505f600260215461318b91906138c6565b613195908961390f565b6022546131a290856138af565b6131ac91906138c6565b90505f816131ba848661390f565b6131c4919061390f565b5f6021819055602081905560228190556009546040519293506001600160a01b031691849181818185875af1925050503d805f811461321e576040519150601f19603f3d011682016040523d82523d5f602084013e613223565b606091505b50506008546040519199506001600160a01b03169084905f81818185875af1925050503d805f8114613270576040519150601f19603f3d011682016040523d82523d5f602084013e613275565b606091505b5090985050861580159061328857505f81115b156132db5761329787826135d5565b602154604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b50505050505050505050565b6001600160a01b0382165f81815260256020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b426012556007546040516370a0823160e01b81526001600160a01b0390911660048201525f9030906370a0823190602401602060405180830381865afa158015613386573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133aa91906138f8565b90505f612710600f54836133be91906138af565b6133c891906138c6565b905080156133e9576007546133e9906001600160a01b031661dead83612f41565b6007546040805160016209351760e01b0319815290516001600160a01b0390921691829163fff6cae9916004808301925f92919082900301818387803b158015613431575f80fd5b505af1158015613443573d5f803e3d5ffd5b505050507f6f57447c7d0d492231a83fb5442fa4aab5203af719a9a9ebf5f93ff4dfaa16868260405161347891815260200190565b60405180910390a1505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106134b8576134b8613922565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561350f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135339190613a5e565b8160018151811061354657613546613922565b6001600160a01b03928316602091820292909201015260065461356c913091168461248a565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906135a49085905f90869030904290600401613b67565b5f604051808303815f87803b1580156135bb575f80fd5b505af11580156135cd573d5f803e3d5ffd5b505050505050565b6006546135ed9030906001600160a01b03168461248a565b60065460405163f305d71960e01b81526001600160a01b039091169063f305d719908390611c2290309087905f90819073cddf34c42ff562b80fedbe034af44bf9a5b42a57904290600401613a79565b5f602080835283518060208501525f5b818110156136695785810183015185820160400152820161364d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461369d575f80fd5b50565b5f80604083850312156136b1575f80fd5b82356136bc81613689565b946020939093013593505050565b5f602082840312156136da575f80fd5b81356136e581613689565b9392505050565b5f602082840312156136fc575f80fd5b5035919050565b5f805f60608486031215613715575f80fd5b833561372081613689565b9250602084013561373081613689565b929592945050506040919091013590565b80358015158114612278575f80fd5b5f805f60608486031215613762575f80fd5b833592506020840135915061377960408501613741565b90509250925092565b5f8060408385031215613793575f80fd5b823561379e81613689565b91506137ac60208401613741565b90509250929050565b5f805f606084860312156137c7575f80fd5b505081359360208301359350604090920135919050565b5f602082840312156137ee575f80fd5b6136e582613741565b5f8060408385031215613808575f80fd5b823561381381613689565b9150602083013561382381613689565b809150509250929050565b600181811c9082168061384257607f821691505b60208210810361386057634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610ca057610ca061389b565b5f826138e057634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610ca057610ca061389b565b5f60208284031215613908575f80fd5b5051919050565b81810381811115610ca057610ca061389b565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b601f82111561183757805f5260205f20601f840160051c810160208510156139835750805b601f840160051c820191505b81811015611c63575f815560010161398f565b815167ffffffffffffffff8111156139bc576139bc61394a565b6139d0816139ca845461382e565b8461395e565b602080601f831160018114613a03575f84156139ec5750858301515b5f19600386901b1c1916600185901b1785556135cd565b5f85815260208120601f198616915b82811015613a3157888601518255948401946001909101908401613a12565b5085821015613a4e57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f60208284031215613a6e575f80fd5b81516136e581613689565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b5f805f60608486031215613ac6575f80fd5b8351925060208401519150604084015190509250925092565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015613bb75784516001600160a01b031683529383019391830191600101613b92565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220fd376381713aff624d37403093b440da921086ec753f1af76faa3b50200fd6f564736f6c634300081700334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572