[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "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": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxWalletToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "amountETHBuyback", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "aP", "type": "uint256" } ], "name": "approval", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyBack", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buybackAddAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromReflection", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeInReflection", "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": "isExcludedFromReflection", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isFeeExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastBuyer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualBuyback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "manualFundETHBuyback", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" } ], "name": "mytotalReflections", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tAmount", "type": "uint256" }, { "internalType": "bool", "name": "deductTransferRfi", "type": "bool" } ], "name": "reflectionFromToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_ethAdd", "type": "uint256" }, { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "setBuyback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_buy", "type": "uint256" }, { "internalType": "uint256", "name": "_sell", "type": "uint256" }, { "internalType": "uint256", "name": "_trans", "type": "uint256" }, { "internalType": "uint256", "name": "_reflections", "type": "uint256" }, { "internalType": "uint256", "name": "_marketing", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "_buyback", "type": "uint256" }, { "internalType": "uint256", "name": "_staking", "type": "uint256" } ], "name": "setFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketing", "type": "address" }, { "internalType": "address", "name": "_liquidity", "type": "address" }, { "internalType": "address", "name": "_buyback", "type": "address" }, { "internalType": "address", "name": "_default", "type": "address" }, { "internalType": "address", "name": "_staking", "type": "address" } ], "name": "setInternalAddresses", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_buy", "type": "uint256" }, { "internalType": "uint256", "name": "_wallet", "type": "uint256" } ], "name": "setMaxTransaction", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_swapAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_swapThreshold", "type": "uint256" }, { "internalType": "uint256", "name": "minTokenAmount", "type": "uint256" } ], "name": "setSwapbackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "address", "name": "_address", "type": "address" } ], "name": "setisExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setminVolumeToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapBuybackTimes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "uint256", "name": "_percentage", "type": "uint256" } ], "name": "takeOutEth", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "buyback", "type": "bool" } ], "name": "toggleBuyback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "rAmount", "type": "uint256" } ], "name": "tokenFromReflection", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalETHBuyback", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalReflections", "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": "totalTokenBuyback", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "adr", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052620000126009600a620005d0565b62000022906305f5e100620005e7565b600181905562000034905f1962000615565b62000041905f196200062b565b60025561271060015460fa620000589190620005e7565b62000064919062000641565b60035561271060015460fa6200007b9190620005e7565b62000087919062000641565b6004556040805160a08101825260648082526108fc602083018190529282018190525f606083018190526080909201829052600581905560069290925560079190915560088190556009556109c4600a819055600b819055600c55612710600d55600e8054610100600160a81b03191674660866cd4c5ea343671a50f2754c09b814e1333700179055600f805473660866cd4c5ea343671a50f2754c09b814e133376001600160a01b031991821681179092556010805482169092179091556011805461dead9216919091179055601280546001600160a81b0319167401660866cd4c5ea343671a50f2754c09b814e133371790556658d15e17628000601355600154620186a0906200019d906103e8620005e7565b620001a9919062000641565b601455620186a0600154600a620001c19190620005e7565b620001cd919062000641565b601555620186a0600154600a620001e59190620005e7565b620001f1919062000641565b6016556017805461ffff191661010017905560016019819055601b55601f80546001600160a01b03191661dead1790553480156200022d575f80fd5b505f80546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa15801562000292573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002b8919062000657565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000304573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200032a919062000657565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000375573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200039b919062000657565b602680546001600160a01b038581166001600160a01b0319928316179092556027805484841692169190911790556002545f80548316815260208080526040808320939093553080835260238252838320805460ff1990811660019081179092553385526024845285852080548216831790559184528484208054831682179055600e546101009004861684528484208054831682179055600f54861684528484208054831682179055601054861684528484208054831682179055601154861684528484208054831682179055601254861684528484208054909216811790915582549054935193845294955093909216927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506200067f565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200051557815f1904821115620004f957620004f9620004c1565b808516156200050757918102915b93841c9390800290620004da565b509250929050565b5f826200052d57506001620005ca565b816200053b57505f620005ca565b81600181146200055457600281146200055f576200057f565b6001915050620005ca565b60ff841115620005735762000573620004c1565b50506001821b620005ca565b5060208310610133831016604e8410600b8410161715620005a4575081810a620005ca565b620005b08383620004d5565b805f1904821115620005c657620005c6620004c1565b0290505b92915050565b5f620005e060ff8416836200051d565b9392505050565b8082028115828204841417620005ca57620005ca620004c1565b634e487b7160e01b5f52601260045260245ffd5b5f8262000626576200062662000601565b500690565b81810381811115620005ca57620005ca620004c1565b5f8262000652576200065262000601565b500490565b5f6020828403121562000668575f80fd5b81516001600160a01b0381168114620005e0575f80fd5b61320b806200068d5f395ff3fe608060405260043610610283575f3560e01c80637520ecc911610155578063a457c2d7116100be578063c705a33e11610078578063c705a33e146107ac578063dd62ed3e146107cb578063e94dd17c1461080f578063f2fde38b1461082e578063f887ea401461084d578063fc7385491461086c575f80fd5b8063a457c2d7146106fd578063a8aa1b311461071c578063a9059cbb1461073b578063aa91f0591461075a578063acdf4f1814610779578063ba1a13ff14610797575f80fd5b80638cf2e94a1161010f5780638cf2e94a146106205780638da79929146106535780638ebfc7961461067257806395d89b41146106915780639fb05d37146106bf578063a2e4b5b0146106de575f80fd5b80637520ecc91461056c57806378109e5414610581578063783b5a0a1461059657806378c7dcd6146105b55780637d1db4a5146105d45780637d459db3146105e9575f80fd5b8063293230b8116101f757806339509351116101b157806339509351146104ad5780633f4218e0146104cc5780634549b039146104fa5780635927c434146105195780636bc05f291461052e57806370a082311461054d575f80fd5b8063293230b8146103ff5780632b112e49146104135780632d838119146104275780632f54bf6e146104465780633052ea0814610473578063313ce56714610492575f80fd5b806318160ddd1161024857806318160ddd1461037b5780631deff6551461038f57806320d730ee146103a457806323b872dd146103b957806325a06a02146103d857806327334a08146103e0575f80fd5b8063018763ed1461028e57806305f82a45146102b157806306fdde03146102d2578063095ea7b31461030e57806313ecfbfa1461033d575f80fd5b3661028a57005b5f80fd5b348015610299575f80fd5b506028545b6040519081526020015b60405180910390f35b3480156102bc575f80fd5b506102d06102cb366004612ccd565b610880565b005b3480156102dd575f80fd5b5060408051808201909152600b81526a151bddd95b1a594810d85d60aa1b60208201525b6040516102a89190612ce8565b348015610319575f80fd5b5061032d610328366004612d34565b610a2d565b60405190151581526020016102a8565b348015610348575f80fd5b5060175461036390630100000090046001600160a01b031681565b6040516001600160a01b0390911681526020016102a8565b348015610386575f80fd5b5060015461029e565b34801561039a575f80fd5b5061029e601c5481565b3480156103af575f80fd5b5061029e601e5481565b3480156103c4575f80fd5b5061032d6103d3366004612d5e565b610a43565b6102d0610aaa565b3480156103eb575f80fd5b506102d06103fa366004612ccd565b610abc565b34801561040a575f80fd5b506102d0610c07565b34801561041e575f80fd5b5061029e610c3f565b348015610432575f80fd5b5061029e610441366004612d9c565b610c79565b348015610451575f80fd5b5061032d610460366004612ccd565b5f546001600160a01b0391821691161490565b34801561047e575f80fd5b506102d061048d366004612d9c565b610cfb565b34801561049d575f80fd5b50604051600981526020016102a8565b3480156104b8575f80fd5b5061032d6104c7366004612d34565b610d74565b3480156104d7575f80fd5b5061032d6104e6366004612ccd565b60246020525f908152604090205460ff1681565b348015610505575f80fd5b5061029e610514366004612dc0565b610daa565b348015610524575f80fd5b5061029e60135481565b348015610539575f80fd5b506102d0610548366004612dee565b610e35565b348015610558575f80fd5b5061029e610567366004612ccd565b610e78565b348015610577575f80fd5b5061029e601a5481565b34801561058c575f80fd5b5061029e60045481565b3480156105a1575f80fd5b506102d06105b0366004612e09565b610ed3565b3480156105c0575f80fd5b506102d06105cf366004612d9c565b610f23565b3480156105df575f80fd5b5061029e60035481565b3480156105f4575f80fd5b5061032d610603366004612ccd565b6001600160a01b03165f9081526023602052604090205460ff1690565b34801561062b575f80fd5b5061029e61063a366004612ccd565b6001600160a01b03165f90815260208052604090205490565b34801561065e575f80fd5b506102d061066d366004612e35565b610f51565b34801561067d575f80fd5b506102d061068c366004612e85565b610fa0565b34801561069c575f80fd5b506040805180820190915260068152651513d5d0d05560d21b6020820152610301565b3480156106ca575f80fd5b506102d06106d9366004612eb1565b610ff3565b3480156106e9575f80fd5b506102d06106f8366004612f1e565b6110de565b348015610708575f80fd5b5061032d610717366004612d34565b61112c565b348015610727575f80fd5b50602754610363906001600160a01b031681565b348015610746575f80fd5b5061032d610755366004612d34565b611179565b348015610765575f80fd5b506102d0610774366004612f41565b611185565b348015610784575f80fd5b5060175461032d90610100900460ff1681565b3480156107a2575f80fd5b5061029e601d5481565b3480156107b7575f80fd5b506102d06107c6366004612d5e565b611291565b3480156107d6575f80fd5b5061029e6107e5366004612f61565b6001600160a01b039182165f90815260226020908152604080832093909416825291909152205490565b34801561081a575f80fd5b506102d0610829366004612f7d565b6113b6565b348015610839575f80fd5b506102d0610848366004612ccd565b61141b565b348015610858575f80fd5b50602654610363906001600160a01b031681565b348015610877575f80fd5b506102d0611497565b5f546001600160a01b031633146108b25760405162461bcd60e51b81526004016108a990612fa6565b60405180910390fd5b6001600160a01b0381165f9081526023602052604090205460ff166109195760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c7564656400000000000000000060448201526064016108a9565b5f5b602554811015610a2957816001600160a01b03166025828154811061094257610942612fc6565b5f918252602090912001546001600160a01b031603610a21576025805461096b90600190612fee565b8154811061097b5761097b612fc6565b5f91825260209091200154602580546001600160a01b0390921691839081106109a6576109a6612fc6565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152602182526040808220829055602390925220805460ff1916905560258054806109fd576109fd613001565b5f8281526020902081015f1990810180546001600160a01b03191690550190555050565b60010161091b565b5050565b5f610a393384846114ca565b5060015b92915050565b5f610a4f8484846115ed565b610aa08433610a9b85604051806060016040528060288152602001613189602891396001600160a01b038a165f90815260226020908152604080832033845290915290205491906116c8565b6114ca565b5060019392505050565b601c54610ab790346116f3565b601c55565b5f546001600160a01b03163314610ae55760405162461bcd60e51b81526004016108a990612fa6565b6001600160a01b0381165f9081526023602052604090205460ff1615610b4d5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016108a9565b6001600160a01b0381165f90815260208052604090205415610ba2576001600160a01b0381165f908152602080526040902054610b8990610c79565b6001600160a01b0382165f908152602160205260409020555b6001600160a01b03165f818152602360205260408120805460ff191660019081179091556025805491820181559091527f401968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c0180546001600160a01b0319169091179055565b5f546001600160a01b03163314610c305760405162461bcd60e51b81526004016108a990612fa6565b6017805460ff19166001179055565b5f610c74610c4c5f610e78565b601f54610c6e90610c65906001600160a01b0316610e78565b600154906116fe565b906116fe565b905090565b5f600254821115610cdf5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016108a9565b5f610ce8611709565b9050610cf48184613015565b9392505050565b5f546001600160a01b03163314610d245760405162461bcd60e51b81526004016108a990612fa6565b60105447906001600160a01b03166108fc610d4a6064610d44858761172a565b90611735565b6040518115909202915f818181858888f19350505050158015610d6f573d5f803e3d5ffd5b505050565b335f8181526022602090815260408083206001600160a01b03871684529091528120549091610a39918590610a9b908690613034565b5f600154831115610dfd5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016108a9565b81610e1a575f610e108460015f80611740565b519150610a3d9050565b5f610e288460015f80611740565b602001519150610a3d9050565b5f546001600160a01b03163314610e5e5760405162461bcd60e51b81526004016108a990612fa6565b601780549115156101000261ff0019909216919091179055565b6001600160a01b0381165f9081526023602052604081205460ff1615610eb357506001600160a01b03165f9081526021602052604090205490565b6001600160a01b0382165f908152602080526040902054610a3d90610c79565b5f546001600160a01b03163314610efc5760405162461bcd60e51b81526004016108a990612fa6565b6001600160a01b03165f908152602460205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610f4c5760405162461bcd60e51b81526004016108a990612fa6565b601655565b5f546001600160a01b03163314610f7a5760405162461bcd60e51b81526004016108a990612fa6565b600a97909755600b95909555600c93909355600591909155600655600755600855600955565b5f546001600160a01b03163314610fc95760405162461bcd60e51b81526004016108a990612fa6565b6001600160a01b03919091165f908152602460205260409020805460ff1916911515919091179055565b5f546001600160a01b0316331461101c5760405162461bcd60e51b81526004016108a990612fa6565b600f80546001600160a01b03199081166001600160a01b03978816908117909255600e8054610100600160a81b0319166101009789169788021790556011805482169588169586179055601080548216948816948517905560128054909116929096169182179095555f94855260246020526040808620805460ff199081166001908117909255958752818720805487168217905593865280862080548616851790559185528185208054851684179055845290922080549091169091179055565b5f546001600160a01b031633146111075760405162461bcd60e51b81526004016108a990612fa6565b601180546001600160a01b0319166001600160a01b0392909216919091179055601355565b5f610a393384610a9b856040518060600160405280602581526020016131b160259139335f9081526022602090815260408083206001600160a01b038d16845290915290205491906116c8565b5f610a393384846115ed565b5f546001600160a01b031633146111ae5760405162461bcd60e51b81526004016108a990612fa6565b5f6111ca600d54610d448560015461172a90919063ffffffff16565b90505f6111e8600d54610d448560015461172a90919063ffffffff16565b90505f611207620186a0610d446001805461172a90919063ffffffff16565b90508083101580156112195750808210155b6112835760405162461bcd60e51b815260206004820152603560248201527f45524332303a206d61782054587320616e64206d61782057616c6c65742063616044820152746e6e6f74206265206c657373207468616e202e352560581b60648201526084016108a9565b506003919091556004555050565b5f546001600160a01b031633146112ba5760405162461bcd60e51b81526004016108a990612fa6565b6040516370a0823160e01b81523060048201525f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156112fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113229190613047565b90506001600160a01b03841663a9059cbb846113436064610d44868861172a565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561138b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113af919061305e565b5050505050565b5f546001600160a01b031633146113df5760405162461bcd60e51b81526004016108a990612fa6565b60198390556001546113fa90620186a090610d44908561172a565b60145560015461141390620186a090610d44908461172a565b601555505050565b5f546001600160a01b031633146114445760405162461bcd60e51b81526004016108a990612fa6565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b5f546001600160a01b031633146114c05760405162461bcd60e51b81526004016108a990612fa6565b6114c8611788565b565b6001600160a01b03831661152c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108a9565b6001600160a01b03821661158d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108a9565b6001600160a01b038381165f8181526022602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6115f8838383611812565b611602838361194a565b61160d8383836119e1565b611618828483611af3565b6116228383611b7d565b61162d838383611bf0565b611638838383611d66565b6116428383611d8a565b6001600160a01b0383165f90815260246020526040902054610d6f9084908490849060ff168061168957506001600160a01b0386165f9081526024602052604090205460ff165b8061169c575060175462010000900460ff165b806116a95750600e5460ff165b6027549015906001600160a01b039081168882168114918a1614611e25565b5f81848411156116eb5760405162461bcd60e51b81526004016108a99190612ce8565b505050900390565b5f610cf48284613034565b5f610cf48284612fee565b5f805f6117146120a8565b90925090506117238183613015565b9250505090565b5f610cf48284613079565b5f610cf48284613015565b611748612c73565b61175485858585612218565b9050611769818686611764611709565b612492565b608086015260608501526040840152602083015281525b949350505050565b601354601c54611797916116fe565b601c556017805462ff00001916620100001790555f6117b530610e78565b90506117ce601354601d546116f390919063ffffffff16565b601d556013546117dd9061251d565b5f6117eb82610c6e30610e78565b601e549091506117fb90826116f3565b601e5550506017805462ff0000191690555f601a55565b6001600160a01b0383166118765760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108a9565b6001600160a01b0382166118d85760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108a9565b6118e183610e78565b811115610d6f5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016108a9565b6001600160a01b0382165f9081526024602052604090205460ff1615801561198a57506001600160a01b0381165f9081526024602052604090205460ff16155b15610a295760175460ff16610a295760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054726164696e67206973206e6f7420616c6c6f77656400000060448201526064016108a9565b6001600160a01b0382165f9081526024602052604090205460ff16158015611a2157506001600160a01b0383165f9081526024602052604090205460ff16155b8015611a3657506001600160a01b0382163014155b8015611a505750601f546001600160a01b03838116911614155b8015611a6a57506027546001600160a01b03838116911614155b8015611a895750600e546001600160a01b038381166101009092041614155b15610d6f5760045481611a9b84610e78565b611aa59190613034565b1115610d6f5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016108a9565b60035481111580611b1b57506001600160a01b0382165f9081526024602052604090205460ff165b80611b3d57506001600160a01b0383165f9081526024602052604090205460ff165b610d6f5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108a9565b6027546001600160a01b038281169116148015611bb257506001600160a01b0382165f9081526024602052604090205460ff16155b8015611bc15750600e5460ff16155b8015611bd6575060175462010000900460ff16155b15610a2957601854611be99060016116f3565b6018555050565b60175460ff168015611c1a57506001600160a01b0383165f9081526024602052604090205460ff16155b8015611c3357506027546001600160a01b038381169116145b8015611c4157506016548110155b8015611c505750600e5460ff16155b8015611c65575060175462010000900460ff16155b15611c82576001601a5f828254611c7c9190613034565b90915550505b601354601c5410158015611c9857506013544710155b8015611ca85750601b54601a5410155b8015611cbb5750601754610100900460ff165b8015611cdf57506001600160a01b0383165f9081526024602052604090205460ff16155b8015611cf857506027546001600160a01b038381169116145b8015611d06575060175460ff165b8015611d155750600e5460ff16155b8015611d2a575060175462010000900460ff16155b8015611d4b57506017546001600160a01b0384811663010000009092041614155b8015611d5957506016548110155b15610d6f57610d6f611788565b611d71838383612662565b15610d6f57611d81601454612726565b5f601855505050565b601780546301000000600160b81b03191690556027546001600160a01b038381169116148015611dd257506001600160a01b0381165f9081526024602052604090205460ff16155b8015611de7575060175462010000900460ff16155b8015611df65750600e5460ff16155b15610a2957601780546001600160a01b0383166301000000026301000000600160b81b03199091161790555050565b5f611e3285858585611740565b6001600160a01b0388165f9081526023602052604090205490915060ff1615611e91576001600160a01b0387165f90815260216020526040902054611e78908690612fee565b6001600160a01b0388165f908152602160205260409020555b6001600160a01b0386165f9081526023602052604090205460ff1615611ef15760a08101516001600160a01b0387165f90815260216020526040902054611ed89190613034565b6001600160a01b0387165f908152602160205260409020555b80516001600160a01b0388165f908152602080526040902054611f149190612fee565b6001600160a01b038089165f908152602080805260408083209490945584015191891681529190912054611f489190613034565b6001600160a01b0387165f908152602080526040908190209190915581015160c0820151611f7691906128f9565b611f8881606001518260e0015161292c565b611f9b816080015182610100015161299d565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360a00151604051611fe491815260200190565b60405180910390a360e08101511561204857306001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360e0015160405161203f91815260200190565b60405180910390a35b6101008101511561209f576012546101008201516040519081526001600160a01b03918216918916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b50505050505050565b6002546001545f918291825b6025548110156121e7578260205f602584815481106120d5576120d5612fc6565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054118061213d57508160215f6025848154811061211757612117612fc6565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054115b1561215357600254600154945094505050509091565b60205f6025838154811061216957612169612fc6565b5f9182526020808320909101546001600160a01b031683528201929092526040019020546121979084612fee565b925060215f602583815481106121af576121af612fc6565b5f9182526020808320909101546001600160a01b031683528201929092526040019020546121dd9083612fee565b91506001016120b4565b506001546002546121f89190613015565b82101561220f576002546001549350935050509091565b90939092509050565b612220612c73565b83158061223257506122328383612a2f565b156122435760a08101859052611780565b8215801561224f575081155b1561230d575f612270600d54610d44600c548961172a90919063ffffffff16565b9050600c5460055f01541161229f57600d5460055461228f9088613079565b6122999190613015565b60c08301525b600554600c546122ae916116fe565b600954116122d757600d546009546122c69088613079565b6122d09190613015565b6101008301525b6122f7826101000151610c6e8460c00151846116fe90919063ffffffff16565b60e08301526123068187612fee565b60a0830152505b82156123cc575f61232f600d54610d44600b548961172a90919063ffffffff16565b9050600b5460055f01541161235e57600d5460055461234e9088613079565b6123589190613015565b60c08301525b600554600b5461236d916116fe565b6009541161239657600d546009546123859088613079565b61238f9190613015565b6101008301525b6123b6826101000151610c6e8460c00151846116fe90919063ffffffff16565b60e08301526123c58187612fee565b60a0830152505b8115611780575f6123ee600d54610d44600a548961172a90919063ffffffff16565b9050600a5460055f01541161241d57600d5460055461240d9088613079565b6124179190613015565b60c08301525b600554600a5461242c916116fe565b6009541161245557600d546009546124449088613079565b61244e9190613015565b6101008301525b612475826101000151610c6e8460c00151846116fe90919063ffffffff16565b60e08301526124848187612fee565b60a083015250949350505050565b5f808080806124a18689613079565b9450866124b857508392505f915081905080612512565b858960c001516124c89190613079565b9250858960e001516124da9190613079565b9150858961010001516124ed9190613079565b905080826124fb8588612fee565b6125059190612fee565b61250f9190612fee565b93505b945094509450945094565b6040805160028082526060820183525f926020830190803683375050602654604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015612584573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125a89190613090565b815f815181106125ba576125ba612fc6565b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106125ee576125ee612fc6565b6001600160a01b03928316602091820292909201015260265460115460405163b6f9de9560e01b81529183169263b6f9de95928692612639925f9288929091169042906004016130ee565b5f604051808303818588803b158015612650575f80fd5b505af115801561209f573d5f803e3d5ffd5b5f8060155483101590505f60145461267930610e78565b600e54911115915060ff1615801561269a5750601254600160a01b900460ff165b80156126a35750815b80156126c757506001600160a01b0386165f9081526024602052604090205460ff16155b80156126d5575060175460ff165b80156126ee57506027546001600160a01b038681169116145b80156126fe575060195460185410155b80156127075750805b801561271c575060175462010000900460ff16155b9695505050505050565b600e805460ff19166001908117909155600a545f916127529160029161274c91906116f3565b9061172a565b9050600a545f0361278a576008546006546007546127879260029261274c9260019261278192909183916116f3565b906116f3565b90505b6007545f90829061279b9085613079565b6127a59190613015565b90505f6127b28285612fee565b9050476127be82612a74565b5f6127c98247612fee565b6007549091505f906127db9087612fee565b6127e59083613015565b6007549091505f906127f79083613079565b90508015612809576128098682612bc4565b6006545f9061281d9061274c85600261172a565b9050801561285e57600f546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561285c573d5f803e3d5ffd5b505b6008545f906128729061274c86600261172a565b9050801561288b57601c5461288790826116f3565b601c555b5f6128a1601c54476116fe90919063ffffffff16565b905080156128e2576010546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156128e0573d5f803e3d5ffd5b505b5050600e805460ff19169055505050505050505050565b8160025f82825461290a9190612fee565b9091555050602880548291905f90612923908490613034565b90915550505050565b8060286001015f8282546129409190613034565b9091555050305f9081526023602052604090205460ff161561298057305f908152602160205260408120805483929061297a908490613034565b90915550505b305f90815260208052604081208054849290612923908490613034565b8060286002015f8282546129b19190613034565b90915550506012546001600160a01b03165f9081526023602052604090205460ff1615612a07576012546001600160a01b03165f9081526021602052604081208054839290612a01908490613034565b90915550505b6012546001600160a01b03165f90815260208052604081208054849290612923908490613034565b5f828015612a3d5750600b54155b80612a505750818015612a505750600a54155b80610cf4575082158015612a62575081155b8015610cf4575050600c541592915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110612aa757612aa7612fc6565b6001600160a01b03928316602091820292909201810191909152602654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612afe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b229190613090565b81600181518110612b3557612b35612fc6565b6001600160a01b039283166020918202929092010152602654612b5b91309116846114ca565b60265460405163791ac94760e01b81526001600160a01b039091169063791ac94790612b939085905f90869030904290600401613122565b5f604051808303815f87803b158015612baa575f80fd5b505af1158015612bbc573d5f803e3d5ffd5b505050505050565b602654612bdc9030906001600160a01b0316846114ca565b602654600e5460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b03610100909204821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015612c4e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113af919061315d565b6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6001600160a01b0381168114612cca575f80fd5b50565b5f60208284031215612cdd575f80fd5b8135610cf481612cb6565b5f602080835283518060208501525f5b81811015612d1457858101830151858201604001528201612cf8565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215612d45575f80fd5b8235612d5081612cb6565b946020939093013593505050565b5f805f60608486031215612d70575f80fd5b8335612d7b81612cb6565b92506020840135612d8b81612cb6565b929592945050506040919091013590565b5f60208284031215612dac575f80fd5b5035919050565b8015158114612cca575f80fd5b5f8060408385031215612dd1575f80fd5b823591506020830135612de381612db3565b809150509250929050565b5f60208284031215612dfe575f80fd5b8135610cf481612db3565b5f8060408385031215612e1a575f80fd5b8235612e2581612db3565b91506020830135612de381612cb6565b5f805f805f805f80610100898b031215612e4d575f80fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b5f8060408385031215612e96575f80fd5b8235612ea181612cb6565b91506020830135612de381612db3565b5f805f805f60a08688031215612ec5575f80fd5b8535612ed081612cb6565b94506020860135612ee081612cb6565b93506040860135612ef081612cb6565b92506060860135612f0081612cb6565b91506080860135612f1081612cb6565b809150509295509295909350565b5f8060408385031215612f2f575f80fd5b823591506020830135612de381612cb6565b5f8060408385031215612f52575f80fd5b50508035926020909101359150565b5f8060408385031215612f72575f80fd5b8235612e2581612cb6565b5f805f60608486031215612f8f575f80fd5b505081359360208301359350604090920135919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b81810381811115610a3d57610a3d612fda565b634e487b7160e01b5f52603160045260245ffd5b5f8261302f57634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610a3d57610a3d612fda565b5f60208284031215613057575f80fd5b5051919050565b5f6020828403121561306e575f80fd5b8151610cf481612db3565b8082028115828204841417610a3d57610a3d612fda565b5f602082840312156130a0575f80fd5b8151610cf481612cb6565b5f815180845260208085019450602084015f5b838110156130e35781516001600160a01b0316875295820195908201906001016130be565b509495945050505050565b848152608060208201525f61310660808301866130ab565b6001600160a01b03949094166040830152506060015292915050565b85815284602082015260a060408201525f61314060a08301866130ab565b6001600160a01b0394909416606083015250608001529392505050565b5f805f6060848603121561316f575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e224b4238fe98691ee714c1935091eebf872380fe3d53d7eea3ef0078b5c69e864736f6c63430008160033