[ { "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": "amountCurrency", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountTokens", "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": 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" }, { "inputs": [], "name": "DEAD", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_hasLiqBeenAdded", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_ratios", "outputs": [ { "internalType": "uint16", "name": "reflection", "type": "uint16" }, { "internalType": "uint16", "name": "marketing", "type": "uint16" }, { "internalType": "uint16", "name": "totalSwap", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxRates", "outputs": [ { "internalType": "uint16", "name": "buyFee", "type": "uint16" }, { "internalType": "uint16", "name": "sellFee", "type": "uint16" }, { "internalType": "uint16", "name": "transferFee", "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": [], "name": "approveContractContingency", "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": "contractSwapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "dexRouter", "outputs": [ { "internalType": "contract IRouter02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "router", "type": "address" }, { "internalType": "address", "name": "presale", "type": "address" } ], "name": "excludePresaleAddresses", "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": [ { "internalType": "uint256", "name": "priceImpactInHundreds", "type": "uint256" } ], "name": "getTokenAmountAtPriceImpact", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromProtection", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromReward", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "launchStamp", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "lpPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxBuyTaxes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSellTaxes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransferTaxes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "operator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "originalDeployer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "piContractSwapsEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "piSwapPercent", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "removeSniper", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOriginalDeployer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "swapEnabled", "type": "bool" }, { "internalType": "bool", "name": "priceImpactSwapEnabled", "type": "bool" } ], "name": "setContractSwapEnabled", "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": "setExcludedFromProtection", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setExcludedFromReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "init", "type": "address" } ], "name": "setInitializer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setLpPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newRouter", "type": "address" } ], "name": "setNewRouter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOperator", "type": "address" } ], "name": "setOperator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "priceImpactSwapPercent", "type": "uint256" } ], "name": "setPriceImpactSwapAmount", "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": "reflection", "type": "uint16" }, { "internalType": "uint16", "name": "marketing", "type": "uint16" } ], "name": "setRatios", "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": "uint16", "name": "buyFee", "type": "uint16" }, { "internalType": "uint16", "name": "sellFee", "type": "uint16" }, { "internalType": "uint16", "name": "transferFee", "type": "uint16" } ], "name": "setTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "marketing", "type": "address" } ], "name": "setWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sweepContingency", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "sweepExternalTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "taxesAreLocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "rAmount", "type": "uint256" } ], "name": "tokenFromReflection", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "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": "transferOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526000600355600b805460ff19166001179055620000246012600a620003df565b6200003490633b9aca00620003f7565b620000429060001962000411565b620000509060001962000434565b600c819055604080516060808201835261012c8083526020808401919091526000928401839052600d805463012c012c65ffffffffffff19918216179091558451928301855260018352600283830181905292850192909252600e805490921664020002000117909155601180547345a4049d21711941930068f26d1da7d073d0672a600161ff0160a01b0319909116179055600a60158190556016805461ffff1916905560188054336001600160a01b031991821681179092556019805490911682179055835290829052919020919091556200013190601290620003df565b6200014190633b9aca00620003f7565b601880546001600160a01b03908116600090815260016020526040812093909355905416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001956012600a620003df565b620001a590633b9aca00620003f7565b60405190815260200160405180910390a3601880546001600160a01b0390811660009081526007602081815260408084208054600160ff19918216811790925530865282862080548216831790557fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d8054821683179055965490951684526005825283208054861685179055527f369570fab114047d6931f481fe65511f6f30128550291df97f26a8b12fbb064780548416831790557f76e04a725e11e15e15ab8a12e133522d6ebb6e4ce8401eb7fccaa3f298dfd6e5805484168317905573dba68f07d1b7ca219f78ae8582c213d975c25caf90527fa41ba8ce755a9610529fb4698883547ff2835b475c582169085f2e8c39e304f780549092161790556200044a565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000321578160001904821115620003055762000305620002ca565b808516156200031357918102915b93841c9390800290620002e5565b509250929050565b6000826200033a57506001620003d9565b816200034957506000620003d9565b81600181146200036257600281146200036d576200038d565b6001915050620003d9565b60ff841115620003815762000381620002ca565b50506001821b620003d9565b5060208310610133831016604e8410600b8410161715620003b2575081810a620003d9565b620003be8383620002e0565b8060001904821115620003d557620003d5620002ca565b0290505b92915050565b6000620003f060ff84168362000329565b9392505050565b8082028115828204841417620003d957620003d9620002ca565b6000826200042f57634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115620003d957620003d9620002ca565b614a3a806200045a6000396000f3fe6080604052600436106103a65760003560e01c8063570ca735116101e7578063a9059cbb1161010d578063cf847706116100a0578063ee5d9c2d1161006f578063ee5d9c2d14610adf578063fb78680d14610af4578063fdb78c0e14610b14578063feadde9c14610b3557600080fd5b8063cf84770614610a28578063dd62ed3e14610a59578063eafb5a3c14610a9f578063eb50e70e14610abf57600080fd5b8063b3d514fb116100dc578063b3d514fb1461061e578063b7df8b36146109ce578063bcd96a25146109e8578063bfc2fc3514610a0857600080fd5b8063a9059cbb1461096e578063ab558e4d1461098e578063b1b08f711461061e578063b3ab15fb146109ae57600080fd5b806378648edf11610185578063893d20e811610154578063893d20e8146109265780638a63bd9b146109445780638a8c523c1461095957806395d89b411461048157600080fd5b806378648edf1461089857806380c581d1146108ad57806381cf58a9146108cd57806388f82020146108ed57600080fd5b80635c24b074116101c15780635c24b0741461082357806370a0823114610843578063715018a61461086357806375f0a8741461087857600080fd5b8063570ca735146107cd578063590ffdce146107ed5780635a6f09181461080d57600080fd5b80632b112e49116102cc57806339a059021161026a5780634e718e48116102395780634e718e48146107355780634fb2e45d146107555780634fbee1931461077557806350a8e016146107ae57600080fd5b806339a05902146106c6578063452ed4f1146106db5780634ada218b146106fb5780634bbb93eb1461071557600080fd5b80632e8fa821116102a65780632e8fa82114610654578063313ce5671461066a57806332cde6641461068657806333251a0b146106a657600080fd5b80632b112e49146106095780632b28fc7a1461061e5780632d8381191461063457600080fd5b8063095ea7b31161034457806318160ddd1161031357806318160ddd1461059e57806323b872dd146105b35780632610eaca146105d357806328577751146105f357600080fd5b8063095ea7b3146105055780630dcbcf1c1461052557806313b4a7f41461055e57806313e461921461057e57600080fd5b8063069d955f11610380578063069d955f1461042b57806306fdde03146104815780630758d924146104b657806307dd79e0146104db57600080fd5b806303fd2a45146103b25780630445b667146103e5578063044df7261461040957600080fd5b366103ad57005b600080fd5b3480156103be57600080fd5b506103c861dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103f157600080fd5b506103fb60125481565b6040519081526020016103dc565b34801561041557600080fd5b506104296104243660046142dc565b610b55565b005b34801561043757600080fd5b50600d5461045c9061ffff808216916201000081048216916401000000009091041683565b6040805161ffff948516815292841660208401529216918101919091526060016103dc565b34801561048d57600080fd5b50604080518082018252600681526521a424a6a82d60d11b602082015290516103dc9190614315565b3480156104c257600080fd5b50600f546103c89061010090046001600160a01b031681565b3480156104e757600080fd5b50600f546104f59060ff1681565b60405190151581526020016103dc565b34801561051157600080fd5b506104f5610520366004614378565b610c13565b34801561053157600080fd5b506104f56105403660046143a4565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561056a57600080fd5b506104296105793660046143c1565b610c2a565b34801561058a57600080fd5b506104296105993660046143ef565b610dfa565b3480156105aa57600080fd5b506103fb61127b565b3480156105bf57600080fd5b506104f56105ce36600461440d565b61129c565b3480156105df57600080fd5b506104296105ee366004614524565b611314565b3480156105ff57600080fd5b506103fb60155481565b34801561061557600080fd5b506103fb6114bd565b34801561062a57600080fd5b506103fb6103e881565b34801561064057600080fd5b506103fb61064f3660046145e6565b611502565b34801561066057600080fd5b506103fb60135481565b34801561067657600080fd5b50604051601281526020016103dc565b34801561069257600080fd5b506104296106a1366004614616565b611586565b3480156106b257600080fd5b506104296106c13660046143a4565b6116da565b3480156106d257600080fd5b5061042961178b565b3480156106e757600080fd5b506010546103c8906001600160a01b031681565b34801561070757600080fd5b506016546104f59060ff1681565b34801561072157600080fd5b506103fb6107303660046145e6565b611812565b34801561074157600080fd5b506104296107503660046145e6565b611844565b34801561076157600080fd5b506104296107703660046143a4565b6118e2565b34801561078157600080fd5b506104f56107903660046143a4565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156107ba57600080fd5b506016546104f590610100900460ff1681565b3480156107d957600080fd5b50601a546103c8906001600160a01b031681565b3480156107f957600080fd5b506104296108083660046143ef565b611ad5565b34801561081957600080fd5b506103fb60175481565b34801561082f57600080fd5b5061042961083e3660046143a4565b611b48565b34801561084f57600080fd5b506103fb61085e3660046143a4565b611d23565b34801561086f57600080fd5b50610429611d82565b34801561088457600080fd5b506011546103c8906001600160a01b031681565b3480156108a457600080fd5b50610429611ea7565b3480156108b957600080fd5b506104296108c83660046143ef565b611efe565b3480156108d957600080fd5b506019546103c8906001600160a01b031681565b3480156108f957600080fd5b506104f56109083660046143a4565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561093257600080fd5b506018546001600160a01b03166103c8565b34801561095057600080fd5b506104f56120ea565b34801561096557600080fd5b5061042961215a565b34801561097a57600080fd5b506104f5610989366004614378565b6123ae565b34801561099a57600080fd5b506104296109a93660046143a4565b6123c5565b3480156109ba57600080fd5b506104296109c93660046143a4565b61255f565b3480156109da57600080fd5b506014546104f59060ff1681565b3480156109f457600080fd5b50610429610a03366004614659565b61264c565b348015610a1457600080fd5b50610429610a233660046142dc565b61276e565b348015610a3457600080fd5b50600e5461045c9061ffff808216916201000081048216916401000000009091041683565b348015610a6557600080fd5b506103fb610a743660046143c1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b348015610aab57600080fd5b50610429610aba3660046143a4565b612819565b348015610acb57600080fd5b50610429610ada3660046143a4565b612c17565b348015610aeb57600080fd5b50610429612cd7565b348015610b0057600080fd5b50610429610b0f36600461468c565b612db0565b348015610b2057600080fd5b506011546104f590600160a81b900460ff1681565b348015610b4157600080fd5b50610429610b503660046143ef565b61306f565b6018546001600160a01b03163314610ba25760405162461bcd60e51b815260206004820152601160248201526000805160206149e583398151915260448201526064015b60405180910390fd5b60165460405163efbdbabd60e01b815283151560048201528215156024820152620100009091046001600160a01b03169063efbdbabd906044015b600060405180830381600087803b158015610bf757600080fd5b505af1158015610c0b573d6000803e3d6000fd5b505050505050565b6000610c203384846130e2565b5060015b92915050565b6018546001600160a01b03163314610c725760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b600b5460ff16610c8157600080fd5b6001600160a01b0382163014801590610ca357506001600160a01b0381163014155b8015610cbd57506010546001600160a01b03838116911614155b8015610cd757506010546001600160a01b03828116911614155b610d115760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba103237b713ba1760a91b6044820152606401610b99565b806001600160a01b0316826001600160a01b031603610d7e576001600160a01b03811660009081526005602090815260408083208054600160ff199182168117909255600a9093529220805490911682179055610d6f908290611ad5565b610d7a816001610dfa565b5050565b6001600160a01b0382811660008181526005602090815260408083208054600160ff1991821681179092559587168085528285208054881683179055948452600a909252808320805486168317905592825291902080549092168117909155610de8908390611ad5565b610df3816001611ad5565b610d6f8260015b6018546001600160a01b03163314610e425760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b8015610f89576001600160a01b03821660009081526008602052604090205460ff1615610eb15760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c7265616479206578636c756465642e000000006044820152606401610b99565b6001600160a01b03821660009081526020819052604090205415610f0b576001600160a01b038216600090815260208190526040902054610ef190611502565b6001600160a01b0383166000908152600160205260409020555b6001600160a01b038083166000818152600860205260409020805460ff1916600117905560105490911614610d7a57600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319166001600160a01b0384161790555050565b80610d7a576001600160a01b03821660009081526008602052604090205460ff16610ff65760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c726561647920696e636c756465642e000000006044820152606401610b99565b6010546001600160a01b039081169083160361106f576110146131db565b6001600160a01b03831660009081526001602052604090205461103791906146d4565b6001600160a01b03831660009081526020818152604080832093909355600181528282208290556008905220805460ff191690555050565b60095460010361110f576110816131db565b6001600160a01b0383166000908152600160205260409020546110a491906146d4565b6001600160a01b03831660009081526020818152604080832093909355600181528282208290556008905220805460ff1916905560098054806110e9576110e96146eb565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b60005b60095481101561127657826001600160a01b03166009828154811061113957611139614701565b6000918252602090912001546001600160a01b031603611264576009805461116390600190614717565b8154811061117357611173614701565b600091825260209091200154600980546001600160a01b03909216918390811061119f5761119f614701565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506111d56131db565b6001600160a01b0384166000908152600160205260409020546111f891906146d4565b6001600160a01b03841660009081526020818152604080832093909355600181528282208290556008905220805460ff19169055600980548061123d5761123d6146eb565b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b8061126e8161472a565b915050611112565b505050565b60006112896012600a614827565b61129790633b9aca006146d4565b905090565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914611301576001600160a01b0384166000908152600460209081526040808320338452909152812080548492906112fb908490614717565b90915550505b61130c8484846133da565b949350505050565b6018546001600160a01b0316331461135c5760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b80518251146113ad5760405162461bcd60e51b815260206004820152601560248201527f4c656e6774687320646f206e6f74206d617463682e00000000000000000000006044820152606401610b99565b60005b82518161ffff161015611276576113c96012600a614827565b828261ffff16815181106113df576113df614701565b60200260200101516113f191906146d4565b6113fa33611d23565b10156114485760405162461bcd60e51b815260206004820152601260248201527f4e6f7420656e6f75676820746f6b656e732e00000000000000000000000000006044820152606401610b99565b6114aa33848361ffff168151811061146257611462614701565b60200260200101516012600a6114789190614827565b858561ffff168151811061148e5761148e614701565b60200260200101516114a091906146d4565b6000806001613767565b50806114b581614836565b9150506113b0565b60006114c96000611d23565b6114d461dead611d23565b6114de9190614857565b6114ea6012600a614827565b6114f890633b9aca006146d4565b6112979190614717565b6000600c548211156115695760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610b99565b60006115736131db565b905061157f818461486a565b9392505050565b6018546001600160a01b031633146115ce5760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b600f5460ff16156116215760405162461bcd60e51b815260206004820152601160248201527f546178657320617265206c6f636b65642e0000000000000000000000000000006044820152606401610b99565b6103e88361ffff161115801561163d57506103e88261ffff1611155b801561164f57506103e88161ffff1611155b61169b5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420657863656564206d6178696d756d732e0000000000000000006044820152606401610b99565b600d805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6018546001600160a01b031633146117225760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b6016546040516333251a0b60e01b81526001600160a01b03838116600483015262010000909204909116906333251a0b90602401600060405180830381600087803b15801561177057600080fd5b505af1158015611784573d6000803e3d6000fd5b5050505050565b6019546001600160a01b031633146117f65760405162461bcd60e51b815260206004820152602860248201527f43616e206f6e6c792062652063616c6c6564206279206f726967696e616c206460448201526732b83637bcb2b91760c11b6064820152608401610b99565b611800600061255f565b601980546001600160a01b0319169055565b601054600090612710908390611830906001600160a01b0316611d23565b61183a91906146d4565b610c24919061486a565b6018546001600160a01b0316331461188c5760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b60968111156118dd5760405162461bcd60e51b815260206004820152601660248201527f43616e6e6f74207365742061626f766520312e35252e000000000000000000006044820152606401610b99565b601555565b6018546001600160a01b0316331461192a5760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b6001600160a01b0381166119a65760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610b99565b61deac196001600160a01b03821601611a275760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610b99565b601854611a3e906001600160a01b03166000611ad5565b611a49816001611ad5565b601854600090611a61906001600160a01b0316611d23565b1115611a8357601854611a81906001600160a01b0316826114a082611d23565b505b601880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6018546001600160a01b03163314611b1d5760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6018546001600160a01b03163314611b905760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b60165460ff1615611ba057600080fd5b306001600160a01b03821603611bf85760405162461bcd60e51b815260206004820152600e60248201527f43616e27742062652073656c662e0000000000000000000000000000000000006044820152606401610b99565b6016805462010000600160b01b031916620100006001600160a01b0384811682029290921792839055604080516330fe427560e21b81528151929094049092169263c3f909d492600480830193919282900301816000875af1925050508015611c7e575060408051601f3d908101601f19168201909252611c7b9181019061488c565b60015b611c8757600080fd5b600f805474ffffffffffffffffffffffffffffffffffffffff0019166101006001600160a01b038581168202929092178355601080546001600160a01b0319168584169081179091556000908152600260205260409020805460ff191660011790556018549254611d0193831692919004166000196130e2565b600f5461127690309061010090046001600160a01b03166000196130e2565b50565b6001600160a01b03811660009081526008602052604081205460ff1615611d6057506001600160a01b031660009081526001602052604090205490565b6001600160a01b038216600090815260208190526040902054610c2490611502565b6018546001600160a01b03163314611dca5760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b60165460ff16611e425760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f742072656e6f756e636520756e74696c2074726164696e6720686160448201527f73206265656e20656e61626c65642e00000000000000000000000000000000006064820152608401610b99565b601854611e59906001600160a01b03166000611ad5565b601880546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6018546001600160a01b03163314611eef5760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b600f805460ff19166001179055565b6018546001600160a01b03163314611f465760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b80611fb9576001600160a01b03828116600081815260026020526040808220805460ff1916905560165490516380c581d160e01b815260048101939093526024830191909152620100009004909116906380c581d190604401600060405180830381600087803b158015610bf757600080fd5b60035415612020576203f48060035442611fd39190614717565b116120205760405162461bcd60e51b815260206004820152600f60248201527f332044617920636f6f6c646f776e2e00000000000000000000000000000000006044820152606401610b99565b6001600160a01b03821660009081526002602052604090205460ff16156120895760405162461bcd60e51b815260206004820152601b60248201527f5061697220616c726561647920616464656420746f206c6973742e00000000006044820152606401610b99565b6001600160a01b0382811660008181526002602052604090819020805460ff191660019081179091554260035560165491516380c581d160e01b815260048101939093526024830152620100009004909116906380c581d190604401610bdd565b6018546000906001600160a01b031633146121355760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b600f5461215490309061010090046001600160a01b03166000196130e2565b50600190565b6018546001600160a01b031633146121a25760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b60165460ff16156121f55760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610b99565b601654610100900460ff1661224c5760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610b99565b6016546201000090046001600160a01b031661227c576016805462010000600160b01b0319163062010000021790555b601654601054604051631b04570d60e21b81526001600160a01b03918216600482015263ffffffff4316602482015267ffffffffffffffff4216604482015260126064820152620100009092041690636c115c3490608401600060405180830381600087803b1580156122ee57600080fd5b505af19250505080156122ff575060015b506016546010546001600160a01b03620100009092048216916325a71cae916123289116611d23565b6040518263ffffffff1660e01b815260040161234691815260200190565b60408051808303816000875af1925050508015612380575060408051601f3d908101601f1916820190925261237d918101906148bb565b60015b1561238f576012919091556013555b6016805460ff19908116600117909155600b8054909116905542601755565b60006123bb3384846133da565b5060019392505050565b6018546001600160a01b0316331461240d5760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b601654610100900460ff161561247557306001600160a01b038216036124755760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207377656570206e617469766520746f6b656e732e00000000006044820152606401610b99565b6018546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa1580156124cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f091906148df565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561253b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127691906148f8565b6019546001600160a01b031633146125ca5760405162461bcd60e51b815260206004820152602860248201527f43616e206f6e6c792062652063616c6c6564206279206f726967696e616c206460448201526732b83637bcb2b91760c11b6064820152608401610b99565b601a546001600160a01b03168015612607576001600160a01b0381166000908152600560205260408120805460ff19169055612607908290611ad5565b601a80546001600160a01b0319166001600160a01b0384169081179091556000908152600560205260409020805460ff19166001908117909155610d7a908390611ad5565b6018546001600160a01b031633146126945760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b600e805464010000000061ffff84811691820265ffff00000000196201000093840263ffffffff1990951683891617949094179390931692909217909255600d546000926126e89290820481169116614915565b600e5461ffff9182169250829161270c918082169164010000000090910416614915565b61ffff1611156112765760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f74206578636565642073756d206f662062757920616e642073656c60448201526636103332b2b99760c91b6064820152608401610b99565b6018546001600160a01b031633146127b65760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b6011805460ff60a81b1916600160a81b841515908102919091179091556014805460ff19168315151790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257906020015b60405180910390a15050565b6018546001600160a01b031633146128615760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b601654610100900460ff16156128b95760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f74206368616e6765206166746572206c69717569646974792e00006044820152606401610b99565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129229190614937565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190614937565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156129de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a029190614937565b6010546001600160a01b039081166000908152600260205260409020805460ff191690559091508116612b9857816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a919190614937565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b029190614937565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015612b4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b739190614937565b601080546001600160a01b0319166001600160a01b0392909216919091179055612bb4565b601080546001600160a01b0319166001600160a01b0383161790555b600f805474ffffffffffffffffffffffffffffffffffffffff0019166101006001600160a01b03858116820292909217835560105482166000908152600260205260409020805460ff1916600117905591546112769230929104166000196130e2565b6018546001600160a01b03163314612c5f5760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b6001600160a01b038116612cb55760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74206265207a65726f20616464726573732e0000000000000000006044820152606401610b99565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6018546001600160a01b03163314612d1f5760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b601654610100900460ff1615612d775760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742063616c6c206166746572206c69717569646974792e000000006044820152606401610b99565b6018546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611d20573d6000803e3d6000fd5b6018546001600160a01b03163314612df85760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b8284612e066012600a614827565b612e1490633b9aca006146d4565b612e1e91906146d4565b612e28919061486a565b601290815581908390612e3c90600a614827565b612e4a90633b9aca006146d4565b612e5491906146d4565b612e5e919061486a565b60138190556012541115612ebe5760405162461bcd60e51b815260206004820152602160248201527f5468726573686f6c642063616e6e6f742062652061626f766520616d6f756e746044820152601760f91b6064820152608401610b99565b60105461271090612ed7906001600160a01b0316611d23565b612ee29060966146d4565b612eec919061486a565b6013541115612f495760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f742062652061626f766520312e3525206f662063757272656e742060448201526228249760e91b6064820152608401610b99565b620f4240612f596012600a614827565b612f6790633b9aca006146d4565b612f71919061486a565b6013541015612fd95760405162461bcd60e51b815260206004820152602e60248201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660448201526d103a37ba30b61039bab838363c9760911b6064820152608401610b99565b620f4240612fe96012600a614827565b612ff790633b9aca006146d4565b613001919061486a565b60125410156130695760405162461bcd60e51b815260206004820152602e60248201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660448201526d103a37ba30b61039bab838363c9760911b6064820152608401610b99565b50505050565b6018546001600160a01b031633146130b75760405162461bcd60e51b815260206004820152601160248201526000805160206149e58339815191526044820152606401610b99565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6001600160a01b03831661312e5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610b99565b6001600160a01b03821661317a5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610b99565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600c54600090816131ee6012600a614827565b6131fc90633b9aca006146d4565b6010546001600160a01b03166000908152600860205260409020549091508290829060ff16156132b6576010546001600160a01b039081166000908152602081815260408083205460019092529091205460165491929091620100009004163014801561326a575046606114155b1561327457600080fd5b8382118061328157508281115b1561329b57613290858761486a565b965050505050505090565b6132a58285614717565b93506132b18184614717565b925050505b600954156133ac5760005b60095460ff821610156133aa57600080600060098460ff16815481106132e9576132e9614701565b60009182526020808320909101546001600160a01b031683528201929092526040018120546009805491935060019183919060ff871690811061332e5761332e614701565b60009182526020808320909101546001600160a01b0316835282019290925260400190205490508482118061336257508381115b1561337d57613371868861486a565b97505050505050505090565b6133878286614717565b94506133938185614717565b9350505080806133a290614954565b9150506132c1565b505b6133b6838561486a565b8210156133d0576133c7838561486a565b94505050505090565b6133c7818361486a565b60006001600160a01b0384166134405760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b99565b6001600160a01b0383166134a25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b99565b600082116135045760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610b99565b6001600160a01b0384166000908152600260205260408120548190819060ff16156135325760019250613560565b6001600160a01b03861660009081526002602052604090205460ff161561355c5760019150613560565b5060015b61356a8787613a62565b1561366b5760165460ff1661366b57806135c65760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610b99565b6001600160a01b03871660009081526006602052604090205460ff1615801561360857506001600160a01b03861660009081526006602052604090205460ff16155b1561366b5760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b6064820152608401610b99565b811561374e57601154600160a01b900460ff1661374e57601154600160a81b900460ff1680156136b457506001600160a01b0386166000908152600a602052604090205460ff16155b80156136d957506001600160a01b0387166000908152600a602052604090205460ff16155b1561374e5760006136e930611d23565b9050601254811061374c5760135460145460ff161561373657601554601054612710919061371f906001600160a01b0316611d23565b61372991906146d4565b613733919061486a565b90505b808210613741578091505b61374a82613b77565b505b505b61375c878787868686613767565b979650505050505050565b6001600160a01b03861660009081526007602052604081205460019060ff16806137a957506001600160a01b03871660009081526007602052604090205460ff165b156137b2575060005b60006137c3898989858a8a8a613dfd565b60808101516001600160a01b038b166000908152602081905260408120805493945091926137f2908490614717565b909155505060608101516001600160a01b03891660009081526020819052604081208054909190613824908490614857565b90915550506001600160a01b03891660009081526008602052604090205460ff1615613888576001600160a01b03891660009081526001602052604090205461386e908890614717565b6001600160a01b038a166000908152600160205260409020555b6001600160a01b03881660009081526008602052604090205460ff16156138e85780516001600160a01b0389166000908152600160205260409020546138ce9190614857565b6001600160a01b0389166000908152600160205260409020555b60008160a0015111806138ff575060008160200151115b15613920578060a00151600c600082825461391a9190614717565b90915550505b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836000015160405161396991815260200190565b60405180910390a3601654610100900460ff16613a535761398a898961418a565b601654610100900460ff161580156139a757506139a78989613a62565b80156139cc57506001600160a01b03891660009081526006602052604090205460ff16155b80156139f157506001600160a01b03881660009081526006602052604090205460ff16155b80156139fb575083155b15613a535760405162461bcd60e51b815260206004820152602260248201527f5072652d6c6971756964697479207472616e736665722070726f74656374696f604482015261371760f11b6064820152608401610b99565b50600198975050505050505050565b6018546000906001600160a01b03848116911614801590613a9157506018546001600160a01b03838116911614155b8015613aa857506018546001600160a01b03163214155b8015613acd57506001600160a01b03821660009081526005602052604090205460ff16155b8015613af257506001600160a01b03831660009081526005602052604090205460ff16155b8015613b0957506001600160a01b03821661dead14155b8015613b1d57506001600160a01b03821615155b8015613b3257506001600160a01b0383163014155b8015613b5257506016546001600160a01b03848116620100009092041614155b801561157f5750506016546201000090046001600160a01b0390811691161415919050565b6011805460ff60a01b1916600160a01b17905560408051606081018252600e5461ffff8082168352620100008204811660208401526401000000009091041691810182905290600003613bca5750613ded565b306000908152600460209081526040808320600f5461010090046001600160a01b0316845290915290205460001914613c2d57306000908152600460209081526040808320600f5461010090046001600160a01b03168452909152902060001990555b6040805160028082526060820183526000926020830190803683370190505090503081600081518110613c6257613c62614701565b60200260200101906001600160a01b031690816001600160a01b031681525050600f60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cf99190614937565b81600181518110613d0c57613d0c614701565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b81526101009091049091169063791ac94790613d59908690600090869030904290600401614973565b600060405180830381600087803b158015613d7357600080fd5b505af1925050508015613d84575060015b613d8f575050613ded565b6011546040516000916001600160a01b03169061d6d890479084818181858888f193505050503d8060008114613de1576040519150601f19603f3d011682016040523d82523d6000602084013e613de6565b606091505b5050505050505b506011805460ff60a01b19169055565b613e3d6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b613e7d6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60408051606081018252600e5461ffff8082168352620100008204811660208401526401000000009091041691810191909152613eb86131db565b60c08301819052613ec990896146d4565b608083015280516040820151600091613ee191614915565b61ffff16905080600003613ef457600097505b613efe8b8b613a62565b15613f985760165460405163ecd07a5360e01b81526001600160a01b038d811660048301528c81166024830152604482018c9052600092620100009004169063ecd07a53906064016020604051808303816000875af1925050508015613f81575060408051601f3d908101601f19168201909252613f7e918101906148f8565b60015b613f8a57600080fd5b905080613f9657600080fd5b505b87156140695760008715613fb35750600d5461ffff16613fdd565b8615613fcc5750600d5462010000900461ffff16613fdd565b50600d54640100000000900461ffff165b6000612710613fec838d6146d4565b613ff6919061486a565b8451909150839061400b9061ffff16836146d4565b614015919061486a565b602086018190526140269082614717565b60408601819052602086015161403c9190614857565b614046908c614717565b855260c0850151602086015161405c91906146d4565b60a08601525061406d9050565b8883525b604083015115614144578260c00151836040015161408b91906146d4565b30600090815260208190526040812080549091906140aa908490614857565b90915550503060009081526008602052604090205460ff16156140f25760408084015130600090815260016020529182208054919290916140ec908490614857565b90915550505b306001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040015160405161413b91815260200190565b60405180910390a35b8260c00151836040015161415891906146d4565b8360a001516141679190614857565b83608001516141769190614717565b606084015250909998505050505050505050565b601654610100900460ff16156141ee5760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b6064820152608401610b99565b6141f88282613a62565b15801561421257506010546001600160a01b038281169116145b15610d7a576001600160a01b038083166000908152600560209081526040808320805460ff19908116600190811790925560079093529220805490911690911790556016805461ff00191661010017908190556201000090041661428a576016805462010000600160b01b0319163062010000021790555b6011805460ff60a81b1916600160a81b179055604051600181527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200161280d565b8015158114611d2057600080fd5b600080604083850312156142ef57600080fd5b82356142fa816142ce565b9150602083013561430a816142ce565b809150509250929050565b600060208083528351808285015260005b8181101561434257858101830151858201604001528201614326565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611d2057600080fd5b6000806040838503121561438b57600080fd5b823561439681614363565b946020939093013593505050565b6000602082840312156143b657600080fd5b813561157f81614363565b600080604083850312156143d457600080fd5b82356143df81614363565b9150602083013561430a81614363565b6000806040838503121561440257600080fd5b82356142fa81614363565b60008060006060848603121561442257600080fd5b833561442d81614363565b9250602084013561443d81614363565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561448d5761448d61444e565b604052919050565b600067ffffffffffffffff8211156144af576144af61444e565b5060051b60200190565b600082601f8301126144ca57600080fd5b813560206144df6144da83614495565b614464565b82815260059290921b840181019181810190868411156144fe57600080fd5b8286015b848110156145195780358352918301918301614502565b509695505050505050565b6000806040838503121561453757600080fd5b823567ffffffffffffffff8082111561454f57600080fd5b818501915085601f83011261456357600080fd5b813560206145736144da83614495565b82815260059290921b8401810191818101908984111561459257600080fd5b948201945b838610156145b95785356145aa81614363565b82529482019490820190614597565b965050860135925050808211156145cf57600080fd5b506145dc858286016144b9565b9150509250929050565b6000602082840312156145f857600080fd5b5035919050565b803561ffff8116811461461157600080fd5b919050565b60008060006060848603121561462b57600080fd5b614634846145ff565b9250614642602085016145ff565b9150614650604085016145ff565b90509250925092565b6000806040838503121561466c57600080fd5b614675836145ff565b9150614683602084016145ff565b90509250929050565b600080600080608085870312156146a257600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610c2457610c246146be565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b81810381811115610c2457610c246146be565b60006001820161473c5761473c6146be565b5060010190565b600181815b8085111561477e578160001904821115614764576147646146be565b8085161561477157918102915b93841c9390800290614748565b509250929050565b60008261479557506001610c24565b816147a257506000610c24565b81600181146147b857600281146147c2576147de565b6001915050610c24565b60ff8411156147d3576147d36146be565b50506001821b610c24565b5060208310610133831016604e8410600b8410161715614801575081810a610c24565b61480b8383614743565b806000190482111561481f5761481f6146be565b029392505050565b600061157f60ff841683614786565b600061ffff80831681810361484d5761484d6146be565b6001019392505050565b80820180821115610c2457610c246146be565b60008261488757634e487b7160e01b600052601260045260246000fd5b500490565b6000806040838503121561489f57600080fd5b82516148aa81614363565b602084015190925061430a81614363565b600080604083850312156148ce57600080fd5b505080516020909101519092909150565b6000602082840312156148f157600080fd5b5051919050565b60006020828403121561490a57600080fd5b815161157f816142ce565b61ffff818116838216019080821115614930576149306146be565b5092915050565b60006020828403121561494957600080fd5b815161157f81614363565b600060ff821660ff810361496a5761496a6146be565b60010192915050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156149c35784516001600160a01b03168352938301939183019160010161499e565b50506001600160a01b0396909616606085015250505060800152939250505056fe43616c6c6572203d2f3d206f776e65722e000000000000000000000000000000a26469706673582212205916179ec7dd2c7d364423eb3a2777a2e19ae8b9e625bcf7e43fc17dca50d6f464736f6c63430008130033