[ { "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": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "recipient", "type": "address" } ], "name": "LimitedOwnerTransferred", "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": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint8", "name": "decim", "type": "uint8" }, { "internalType": "uint256", "name": "supply", "type": "uint256" }, { "internalType": "address", "name": "limitedOwner", "type": "address" } ], "name": "__BaseToken_init", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "antibot", "outputs": [ { "internalType": "contract IKARMAAntiBot", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approveAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "approveAndCall", "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": "buyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "deployer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disableAntiBot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "disableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enableAntiBot", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "excludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "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": [ { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "uint256", "name": "supply", "type": "uint256" }, { "internalType": "uint256", "name": "maxTx", "type": "uint256" }, { "internalType": "uint256", "name": "maxWallet", "type": "uint256" }, { "internalType": "address", "name": "routerAddress", "type": "address" }, { "internalType": "address", "name": "karmaDeployer", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "marketing", "type": "uint256" }, { "internalType": "uint256", "name": "reflection", "type": "uint256" } ], "internalType": "struct IToken.Taxes", "name": "buyTax", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "marketing", "type": "uint256" }, { "internalType": "uint256", "name": "reflection", "type": "uint256" } ], "internalType": "struct IToken.Taxes", "name": "sellTax", "type": "tuple" }, { "internalType": "address", "name": "marketingWallet", "type": "address" }, { "internalType": "address", "name": "rewardToken", "type": "address" }, { "internalType": "address", "name": "antiBot", "type": "address" }, { "internalType": "address", "name": "limitedOwner", "type": "address" }, { "internalType": "address", "name": "karmaCampaignFactory", "type": "address" } ], "internalType": "struct IToken.TokenData", "name": "tokenData", "type": "tuple" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "karmaCampaignFactory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "karmaDeployer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitedOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "manualSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "recoverERC20", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "recoverETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enable", "type": "bool" } ], "name": "setEnableAntiBot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "state", "type": "bool" } ], "name": "setSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "new_amount", "type": "uint256" } ], "name": "setSwapThreshold", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_buy", "type": "uint256" }, { "internalType": "uint256", "name": "_sell", "type": "uint256" } ], "name": "setTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "transferAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "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" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "transferFromAndCall", "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": "transferFromAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "transferLimitedOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" }, { "internalType": "bool", "name": "state", "type": "bool" } ], "name": "updateExcludedFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "updateMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "updateMaxTxAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "updateMaxWalletAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052600061010a55600061010b5534801561001c57600080fd5b5060cb80546001600160a01b031916331790556138628061003e6000396000f3fe60806040526004361061037a5760003560e01c80638a8c523c116101d1578063cae9ca5111610102578063dd62ed3e116100a0578063f2fde38b1161006f578063f2fde38b14610a10578063f887ea4014610a30578063fc58b9fe14610a50578063fd5bf32d14610a7057600080fd5b8063dd62ed3e14610990578063e01af92c146109b0578063e01c458a146109d0578063e545fd6d146109f057600080fd5b8063d5f39488116100dc578063d5f3948814610900578063d75b8fb514610920578063d8fbe99414610940578063dbe66ca01461096057600080fd5b8063cae9ca51146108a9578063cc1776d3146108c9578063d3335553146108e057600080fd5b8063a9059cbb1161016f578063b70143c911610149578063b70143c914610829578063c18bc19514610849578063c1d34b8914610869578063c647b20e1461088957600080fd5b8063a9059cbb146107d3578063aa4bde28146107f3578063aacebbe31461080957600080fd5b806395d89b41116101ab57806395d89b411461075e5780639d0014b114610773578063a457c2d714610793578063a8aa1b31146107b357600080fd5b80638a8c523c146107155780638c0b5e221461072a5780638da5cb5b1461074057600080fd5b8063313ce567116102ab5780636ddd17131161024957806375f0a8741161022357806375f0a8741461069f57806379679a21146106c0578063893d20e8146106e05780638980f11f146106f557600080fd5b80636ddd17131461063457806370a0823114610654578063715018a61461068a57600080fd5b80634000aea0116102855780634000aea0146105bc5780634ada218b146105dc5780634f7041a5146105fd5780636256d1811461061457600080fd5b8063313ce567146105505780633177029f1461057c578063395093511461059c57600080fd5b806312e3ef14116103185780631f46b1c6116102f25780631f46b1c6146104cf57806323b872dd146104ef578063241ec3be1461050f578063305c4c801461053057600080fd5b806312e3ef141461048757806317700f01146104a557806318160ddd146104ba57600080fd5b806306fdde031161035457806306fdde031461040e57806307ce9de414610430578063095ea7b3146104475780631296ee621461046757600080fd5b806301ffc9a71461038657806303fd2a45146103bb5780630445b667146103e957600080fd5b3661038157005b600080fd5b34801561039257600080fd5b506103a66103a1366004612fdd565b610a90565b60405190151581526020015b60405180910390f35b3480156103c757600080fd5b506103d161dead81565b6040516001600160a01b0390911681526020016103b2565b3480156103f557600080fd5b506104006101085481565b6040519081526020016103b2565b34801561041a57600080fd5b50610423610aa1565b6040516103b2919061304a565b34801561043c57600080fd5b50610445610b33565b005b34801561045357600080fd5b506103a6610462366004613072565b610bd9565b34801561047357600080fd5b506103a6610482366004613072565b610bf1565b34801561049357600080fd5b506065546001600160a01b03166103d1565b3480156104b157600080fd5b50610445610c14565b3480156104c657600080fd5b50609b54610400565b3480156104db57600080fd5b506104456104ea3660046130ac565b610cb5565b3480156104fb57600080fd5b506103a661050a3660046130c9565b610cdb565b34801561051b57600080fd5b5060d2546103a690600160a01b900460ff1681565b34801561053c57600080fd5b5060d2546103d1906001600160a01b031681565b34801561055c57600080fd5b5060d354600160a01b900460ff1660405160ff90911681526020016103b2565b34801561058857600080fd5b506103a6610597366004613072565b610cff565b3480156105a857600080fd5b506103a66105b7366004613072565b610d1b565b3480156105c857600080fd5b506103a66105d73660046131ad565b610d3d565b3480156105e857600080fd5b5060cf546103a690600160a01b900460ff1681565b34801561060957600080fd5b5061040061010b5481565b34801561062057600080fd5b5061044561062f366004613206565b610d72565b34801561064057600080fd5b50610107546103a690610100900460ff1681565b34801561066057600080fd5b5061040061066f36600461321f565b6001600160a01b031660009081526099602052604090205490565b34801561069657600080fd5b50610445610eb3565b3480156106ab57600080fd5b50610109546103d1906001600160a01b031681565b3480156106cc57600080fd5b506066546103d1906001600160a01b031681565b3480156106ec57600080fd5b506103d1610ec7565b34801561070157600080fd5b50610445610710366004613072565b610ee0565b34801561072157600080fd5b50610445610f12565b34801561073657600080fd5b5061040060d05481565b34801561074c57600080fd5b506033546001600160a01b03166103d1565b34801561076a57600080fd5b50610423611036565b34801561077f57600080fd5b5061044561078e366004613206565b611045565b34801561079f57600080fd5b506103a66107ae366004613072565b611053565b3480156107bf57600080fd5b5060cf546103d1906001600160a01b031681565b3480156107df57600080fd5b506103a66107ee366004613072565b6110ce565b3480156107ff57600080fd5b5061040060d15481565b34801561081557600080fd5b5061044561082436600461321f565b6110dc565b34801561083557600080fd5b50610445610844366004613206565b611107565b34801561085557600080fd5b50610445610864366004613206565b611132565b34801561087557600080fd5b506103a661088436600461323c565b611277565b34801561089557600080fd5b506104456108a43660046132a8565b6112b5565b3480156108b557600080fd5b506103a66108c43660046131ad565b6114fd565b3480156108d557600080fd5b5061040061010a5481565b3480156108ec57600080fd5b506104456108fb366004613206565b61156f565b34801561090c57600080fd5b5060cb546103d1906001600160a01b031681565b34801561092c57600080fd5b5061044561093b36600461321f565b61163b565b34801561094c57600080fd5b506103a661095b3660046130c9565b6116e3565b34801561096c57600080fd5b506103a661097b36600461321f565b60cd6020526000908152604090205460ff1681565b34801561099c57600080fd5b506104006109ab3660046132ca565b611700565b3480156109bc57600080fd5b506104456109cb3660046130ac565b61172b565b3480156109dc57600080fd5b506104456109eb366004613319565b61174e565b3480156109fc57600080fd5b50610445610a0b3660046133ac565b61185d565b348015610a1c57600080fd5b50610445610a2b36600461321f565b6118c9565b348015610a3c57600080fd5b5060ce546103d1906001600160a01b031681565b348015610a5c57600080fd5b5060d3546103d1906001600160a01b031681565b348015610a7c57600080fd5b50610445610a8b3660046133da565b61193f565b6000610a9b8261200d565b92915050565b6060609c8054610ab090613416565b80601f0160208091040260200160405190810160405280929190818152602001828054610adc90613416565b8015610b295780601f10610afe57610100808354040283529160200191610b29565b820191906000526020600020905b815481529060010190602001808311610b0c57829003601f168201915b5050505050905090565b6065546001600160a01b0316331480610b5657506066546001600160a01b031633145b80610b6b57506033546001600160a01b031633145b610b7457600080fd5b60d254600160a01b900460ff161515600114610bca5760405162461bcd60e51b815260206004820152601060248201526f1053149150511657d11254d05093115160821b60448201526064015b60405180910390fd5b60d2805460ff60a01b19169055565b600033610be7818585612042565b5060019392505050565b6000610c0d838360405180602001604052806000815250610d3d565b9392505050565b610c1c612166565b60d3546001600160a01b031633148015610c5a575060d3546001600160a01b0316610c4f6033546001600160a01b031690565b6001600160a01b0316145b610ca65760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c79206b61726d61206465706c6f7965722063616e2064697361626c65006044820152606401610bc1565b60cf805460ff60a01b19169055565b610cbd612166565b60d28054911515600160a01b0260ff60a01b19909216919091179055565b600033610ce98582856121c0565b610cf4858585612234565b506001949350505050565b6000610c0d8383604051806020016040528060008152506114fd565b600033610be7818585610d2e8383611700565b610d389190613466565b612042565b6000610d4984846110ce565b50610d56338585856125d5565b610be75760405162461bcd60e51b8152600401610bc190613479565b6065546001600160a01b0316331480610d9557506066546001600160a01b031633145b80610daa57506033546001600160a01b031633145b610db357600080fd5b612710610dbf609b5490565b610dc991906134bf565b8111610e0d5760405162461bcd60e51b81526020600482015260136024820152726d61785478416d6f756e74203c20302e30312560681b6044820152606401610bc1565b60d05481118015610e2857506065546001600160a01b031633145b80610e6c575060d3546001600160a01b031633148015610e6c575060d3546001600160a01b0316610e616033546001600160a01b031690565b6001600160a01b0316145b610eae5760405162461bcd60e51b815260206004820152601360248201527227b7363c9025b0b936b0903232b83637bcb2b960691b6044820152606401610bc1565b60d055565b610ebb612166565b610ec56000612684565b565b6000610edb6033546001600160a01b031690565b905090565b610ee8612166565b610f0e610efd6033546001600160a01b031690565b6001600160a01b03841690836126d6565b5050565b6065546001600160a01b0316331480610f3557506066546001600160a01b031633145b80610f4a57506033546001600160a01b031633145b610f5357600080fd5b60cf54600160a01b900460ff1615610fa65760405162461bcd60e51b815260206004820152601660248201527554726164696e6720616c72656164792061637469766560501b6044820152606401610bc1565b60cf805460ff60a01b1916600160a01b90811790915560d2540460ff1615610ec55760d25460cf5460ce54604051637576483f60e01b81526001600160a01b0392831660048201529082166024820152911690637576483f90604401600060405180830381600087803b15801561101c57600080fd5b505af1158015611030573d6000803e3d6000fd5b50505050565b6060609d8054610ab090613416565b61104d612166565b61010855565b600033816110618286611700565b9050838110156110c15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610bc1565b610cf48286868403612042565b600033610be7818585612234565b6110e4612166565b61010980546001600160a01b0319166001600160a01b0392909216919091179055565b61110f612166565b6111188161272d565b6101095461112f906001600160a01b031647612887565b50565b6065546001600160a01b031633148061115557506066546001600160a01b031633145b8061116a57506033546001600160a01b031633145b61117357600080fd5b61271061117f609b5490565b61118991906134bf565b81116111d15760405162461bcd60e51b81526020600482015260176024820152766d617857616c6c6574416d6f756e74203c20302e30312560481b6044820152606401610bc1565b60d154811180156111ec57506065546001600160a01b031633145b80611230575060d3546001600160a01b031633148015611230575060d3546001600160a01b03166112256033546001600160a01b031690565b6001600160a01b0316145b6112725760405162461bcd60e51b815260206004820152601360248201527227b7363c9025b0b936b0903232b83637bcb2b960691b6044820152606401610bc1565b60d155565b6000611284858585610cdb565b50611291858585856125d5565b610cf45760405162461bcd60e51b8152600401610bc190613479565b949350505050565b6065546001600160a01b03163314806112d857506066546001600160a01b031633145b806112ed57506033546001600160a01b031633145b6112f657600080fd5b60968211156113335760405162461bcd60e51b8152602060048201526009602482015268427579203e2031352560b81b6044820152606401610bc1565b60968111156113715760405162461bcd60e51b815260206004820152600a60248201526953656c6c203e2031352560b01b6044820152606401610bc1565b61010b548210801561138d57506065546001600160a01b031633145b806113d1575060d3546001600160a01b0316331480156113d1575060d3546001600160a01b03166113c66033546001600160a01b031690565b6001600160a01b0316145b6114305760405162461bcd60e51b815260206004820152602a60248201527f4f6e6c79204b61726d61206465706c6f7965722063616e20696e6372656173656044820152692062757920746178657360b01b6064820152608401610bc1565b61010a548110801561144c57506065546001600160a01b031633145b80611490575060d3546001600160a01b031633148015611490575060d3546001600160a01b03166114856033546001600160a01b031690565b6001600160a01b0316145b6114f05760405162461bcd60e51b815260206004820152602b60248201527f4f6e6c79204b61726d61206465706c6f7965722063616e20696e63726561736560448201526a2073656c6c20746178657360a81b6064820152608401610bc1565b61010b9190915561010a55565b60006115098484610bd9565b506115158484846129a0565b610be75760405162461bcd60e51b815260206004820152602560248201527f455243313336333a205f636865636b416e6443616c6c417070726f7665207265604482015264766572747360d81b6064820152608401610bc1565b611577612166565b600061158b6033546001600160a01b031690565b6001600160a01b03168260405160006040518083038185875af1925050503d80600081146115d5576040519150601f19603f3d011682016040523d82523d6000602084013e6115da565b606091505b5050905080610f0e5760405162461bcd60e51b815260206004820152602760248201527f4552433230546f6b656e5265636f7665723a2053454e44494e475f455448455260448201526617d1905253115160ca1b6064820152608401610bc1565b6065546001600160a01b031633148061165e57506066546001600160a01b031633145b8061167357506033546001600160a01b031633145b61167c57600080fd5b6001600160a01b03811661168f57600080fd5b606580546001600160a01b0319166001600160a01b0383169081179091556040519081527f403b3661b61e0593ef016205b22ab41d84c005a223948fb61dc49846bebdf89f9060200160405180910390a150565b60006112ad84848460405180602001604052806000815250611277565b6001600160a01b039182166000908152609a6020908152604080832093909416825291909152205490565b611733612166565b61010780549115156101000261ff0019909216919091179055565b60cb546001600160a01b03161580611779575060cb546001600160a01b0316336001600160a01b0316145b6117b45760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610bc1565b60038360ff161180156117ca575060138360ff16105b6117fe5760405162461bcd60e51b8152602060048201526005602482015264444543494d60d81b6044820152606401610bc1565b60cb80546001600160a01b0319163317905561181a8585612a4c565b611822612a7d565b60d3805460ff60a01b1916600160a01b60ff8616021790556118443383612aad565b61184d8161163b565b611856326118c9565b5050505050565b6065546001600160a01b031633148061188057506066546001600160a01b031633145b8061189557506033546001600160a01b031633145b61189e57600080fd5b6001600160a01b0391909116600090815260cd60205260409020805460ff1916911515919091179055565b6118d1612166565b6001600160a01b0381166119365760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bc1565b61112f81612684565b600054610100900460ff161580801561195f5750600054600160ff909116105b806119795750303b158015611979575060005460ff166001145b6119dc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610bc1565b6000805460ff1916600117905580156119ff576000805461ff0019166101001790555b611aaa611a0c83806134e1565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a4e9250505060208501856134e1565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9392505050606086016040870161352f565b60608601356109eb61020088016101e0890161321f565b612710611ab6609b5490565b611ac091906134bf565b826080013511611b085760405162461bcd60e51b81526020600482015260136024820152726d61785478416d6f756e74203c20302e30312560681b6044820152606401610bc1565b612710611b14609b5490565b611b1e91906134bf565b8260a0013511611b6a5760405162461bcd60e51b81526020600482015260176024820152766d617857616c6c6574416d6f756e74203c20302e30312560481b6044820152606401610bc1565b611b7b610100830160e0840161321f565b60d380546001600160a01b0319166001600160a01b0392909216919091179055611bad6102208301610200840161321f565b606680546001600160a01b0319166001600160a01b0392831617905533600090815260cd60208190526040808320805460ff19908116600190811790925560d3549095168452908320805485168217905561dead83527f48bd6b5f5ae978c950e755c6ff7325e2ee9cd2ba0432e79c6c428d38aeb0a2b08054909416811790935590611c3f60e0860160c0870161321f565b6001600160a01b0316815260208101919091526040016000908120805460ff19169215159290921790915560019060cd90611c81610100860160e0870161321f565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611cb960e0830160c0840161321f565b60ce80546001600160a01b0319166001600160a01b039290921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015611d13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d37919061354a565b6001600160a01b031663c9c653963060ce60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dbd919061354a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611e0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2e919061354a565b60cf80546001600160a01b0319166001600160a01b0392909216919091179055611e5d606460608401356134bf565b61010855608082013560d05560a082013560d15561010082013561010b5561014082013561010a55611e976101a08301610180840161321f565b61010980546001600160a01b0319166001600160a01b0392831617815530600090815260cd6020526040808220805460ff19908116600190811790925593549094168252812080549092169092179055611ef96101e084016101c0850161321f565b6001600160a01b031614158015611f2c575061dead611f206101e084016101c0850161321f565b6001600160a01b031614155b15611fc457611f436101e083016101c0840161321f565b60d280546001600160a01b0319166001600160a01b039290921691821790556040516318e02bd960e01b81523360048201526318e02bd990602401600060405180830381600087803b158015611f9857600080fd5b505af1158015611fac573d6000803e3d6000fd5b505060d2805460ff60a01b1916600160a01b17905550505b8015610f0e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60006001600160e01b0319821663b0202a1160e01b1480610a9b57506301ffc9a760e01b6001600160e01b0319831614610a9b565b6001600160a01b0383166120a45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bc1565b6001600160a01b0382166121055760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bc1565b6001600160a01b038381166000818152609a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6033546001600160a01b03163314610ec55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bc1565b60006121cc8484611700565b9050600019811461103057818110156122275760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610bc1565b6110308484848403612042565b600081116122965760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610bc1565b6001600160a01b038316600090815260cd602052604090205460ff161580156122d857506001600160a01b038216600090815260cd602052604090205460ff16155b80156122e857506101075460ff16155b1561242b5760cf54600160a01b900460ff1661233f5760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81b9bdd081858dd1a5d99481e595d60521b6044820152606401610bc1565b60d0548111156123915760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61785478416d6f756e740000006044820152606401610bc1565b60cf546001600160a01b0383811691161461242b5760d154816123c9846001600160a01b031660009081526099602052604090205490565b6123d39190613466565b111561242b5760405162461bcd60e51b815260206004820152602160248201527f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e6044820152601d60fa1b6064820152608401610bc1565b60d254600160a01b900460ff16156124ac5760d25460405163090ec10b60e31b81526001600160a01b03858116600483015284811660248301526044820184905290911690634876085890606401600060405180830381600087803b15801561249357600080fd5b505af11580156124a7573d6000803e3d6000fd5b505050505b6101075460009060ff16806124d957506001600160a01b038416600090815260cd602052604090205460ff165b806124fc57506001600160a01b038316600090815260cd602052604090205460ff165b1561250957506000612561565b60cf546001600160a01b0390811690841603612542576103e861010a54836125319190613567565b61253b91906134bf565b9050612561565b6103e861010b54836125549190613567565b61255e91906134bf565b90505b61010754610100900460ff16801561257d57506101075460ff16155b8015612597575060cf546001600160a01b03858116911614155b80156125a35750600081115b156125b0576125b0612ab7565b6125c484846125bf848661357e565b612b23565b801561103057611030843083612b23565b60006001600160a01b0384163b6125ee575060006112ad565b604051632229f29760e21b81526000906001600160a01b038616906388a7ca5c906126239033908a9089908990600401613591565b6020604051808303816000875af1158015612642573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266691906135ce565b6001600160e01b031916632229f29760e21b14915050949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612728908490612cce565b505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612762576127626135eb565b6001600160a01b0392831660209182029290920181019190915260ce54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156127bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127df919061354a565b816001815181106127f2576127f26135eb565b6001600160a01b03928316602091820292909201015260ce546128189130911684612042565b60ce5460405163791ac94760e01b81526001600160a01b039091169063791ac94790612851908590600090869030904290600401613601565b600060405180830381600087803b15801561286b57600080fd5b505af115801561287f573d6000803e3d6000fd5b505050505050565b804710156128d75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610bc1565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612924576040519150601f19603f3d011682016040523d82523d6000602084013e612929565b606091505b50509050806127285760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610bc1565b60006001600160a01b0384163b6129b957506000610c0d565b6040516307b04a2d60e41b81526000906001600160a01b03861690637b04a2d0906129ec90339088908890600401613672565b6020604051808303816000875af1158015612a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2f91906135ce565b6001600160e01b0319166307b04a2d60e41b149150509392505050565b600054610100900460ff16612a735760405162461bcd60e51b8152600401610bc1906136a2565b610f0e8282612da3565b600054610100900460ff16612aa45760405162461bcd60e51b8152600401610bc1906136a2565b610ec533612684565b610f0e8282612de3565b6101075460ff16610ec557610107805460ff19166001179055306000908152609960205260408120549050610108548110612b1557612af58161272d565b478015612b135761010954612b13906001600160a01b031682612887565b505b50610107805460ff19169055565b6001600160a01b038316612b875760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bc1565b6001600160a01b038216612be95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bc1565b6001600160a01b03831660009081526099602052604090205481811015612c615760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610bc1565b6001600160a01b0380851660008181526099602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612cc19086815260200190565b60405180910390a3611030565b6000612d23826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612ea49092919063ffffffff16565b9050805160001480612d44575080806020019051810190612d4491906136ed565b6127285760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610bc1565b600054610100900460ff16612dca5760405162461bcd60e51b8152600401610bc1906136a2565b609c612dd68382613750565b50609d6127288282613750565b6001600160a01b038216612e395760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610bc1565b80609b6000828254612e4b9190613466565b90915550506001600160a01b0382166000818152609960209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60606112ad848460008585600080866001600160a01b03168587604051612ecb9190613810565b60006040518083038185875af1925050503d8060008114612f08576040519150601f19603f3d011682016040523d82523d6000602084013e612f0d565b606091505b5091509150612f1e87838387612f29565b979650505050505050565b60608315612f98578251600003612f91576001600160a01b0385163b612f915760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610bc1565b50816112ad565b6112ad8383815115612fad5781518083602001fd5b8060405162461bcd60e51b8152600401610bc1919061304a565b6001600160e01b03198116811461112f57600080fd5b600060208284031215612fef57600080fd5b8135610c0d81612fc7565b60005b83811015613015578181015183820152602001612ffd565b50506000910152565b60008151808452613036816020860160208601612ffa565b601f01601f19169290920160200192915050565b602081526000610c0d602083018461301e565b6001600160a01b038116811461112f57600080fd5b6000806040838503121561308557600080fd5b82356130908161305d565b946020939093013593505050565b801515811461112f57600080fd5b6000602082840312156130be57600080fd5b8135610c0d8161309e565b6000806000606084860312156130de57600080fd5b83356130e98161305d565b925060208401356130f98161305d565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261313157600080fd5b813567ffffffffffffffff8082111561314c5761314c61310a565b604051601f8301601f19908116603f011681019082821181831017156131745761317461310a565b8160405283815286602085880101111561318d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156131c257600080fd5b83356131cd8161305d565b925060208401359150604084013567ffffffffffffffff8111156131f057600080fd5b6131fc86828701613120565b9150509250925092565b60006020828403121561321857600080fd5b5035919050565b60006020828403121561323157600080fd5b8135610c0d8161305d565b6000806000806080858703121561325257600080fd5b843561325d8161305d565b9350602085013561326d8161305d565b925060408501359150606085013567ffffffffffffffff81111561329057600080fd5b61329c87828801613120565b91505092959194509250565b600080604083850312156132bb57600080fd5b50508035926020909101359150565b600080604083850312156132dd57600080fd5b82356132e88161305d565b915060208301356132f88161305d565b809150509250929050565b803560ff8116811461331457600080fd5b919050565b600080600080600060a0868803121561333157600080fd5b853567ffffffffffffffff8082111561334957600080fd5b61335589838a01613120565b9650602088013591508082111561336b57600080fd5b5061337888828901613120565b94505061338760408701613303565b925060608601359150608086013561339e8161305d565b809150509295509295909350565b600080604083850312156133bf57600080fd5b82356133ca8161305d565b915060208301356132f88161309e565b6000602082840312156133ec57600080fd5b813567ffffffffffffffff81111561340357600080fd5b82016102208185031215610c0d57600080fd5b600181811c9082168061342a57607f821691505b60208210810361344a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a9b57610a9b613450565b60208082526026908201527f455243313336333a205f636865636b416e6443616c6c5472616e73666572207260408201526565766572747360d01b606082015260800190565b6000826134dc57634e487b7160e01b600052601260045260246000fd5b500490565b6000808335601e198436030181126134f857600080fd5b83018035915067ffffffffffffffff82111561351357600080fd5b60200191503681900382131561352857600080fd5b9250929050565b60006020828403121561354157600080fd5b610c0d82613303565b60006020828403121561355c57600080fd5b8151610c0d8161305d565b8082028115828204841417610a9b57610a9b613450565b81810381811115610a9b57610a9b613450565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906135c49083018461301e565b9695505050505050565b6000602082840312156135e057600080fd5b8151610c0d81612fc7565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156136515784516001600160a01b03168352938301939183019160010161362c565b50506001600160a01b03969096166060850152505050608001529392505050565b60018060a01b0384168152826020820152606060408201526000613699606083018461301e565b95945050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000602082840312156136ff57600080fd5b8151610c0d8161309e565b601f82111561272857600081815260208120601f850160051c810160208610156137315750805b601f850160051c820191505b8181101561287f5782815560010161373d565b815167ffffffffffffffff81111561376a5761376a61310a565b61377e816137788454613416565b8461370a565b602080601f8311600181146137b3576000841561379b5750858301515b600019600386901b1c1916600185901b17855561287f565b600085815260208120601f198616915b828110156137e2578886015182559484019460019091019084016137c3565b50858210156138005787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251613822818460208701612ffa565b919091019291505056fea2646970667358221220e59ca4c90df539a073812740d04ad4934b6d2b2684f211e11d714ff68ced02e964736f6c63430008110033