8.3k txs
111.6k calls
constructor
constructor(address _mintAddress) payable
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
distributeFees
viewfunction distributeFees() view returns (address)
footPool
viewfunction footPool() view returns (address)
getPrice
viewfunction getPrice(address token0, address token1, uint256 amount) view returns (uint256)
getSellLimit
viewfunction getSellLimit(address account) view returns (uint256)
limitedTimeEnable
viewfunction limitedTimeEnable() view returns (bool)
lockPool
viewfunction lockPool() view returns (address)
makrWallet
viewfunction makrWallet() view returns (address)
minSwapAmount
viewfunction minSwapAmount() view returns (uint256)
name
viewfunction name() view returns (string)
nftWallet
viewfunction nftWallet() view returns (address)
owner
viewfunction owner() view returns (address)
router
viewfunction router() view returns (address)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
tpPower
viewfunction tpPower() view returns (address)
tradingEnable
viewfunction tradingEnable() view returns (bool)
uniswapV2Factory
viewfunction uniswapV2Factory() view returns (address)
uniswapV2Router
viewfunction uniswapV2Router() view returns (address)
unlockTime
viewfunction unlockTime() view returns (uint256)
USDT
viewfunction USDT() view returns (address)
usdtPair
viewfunction usdtPair() view returns (address)
approve
nonpayablefunction approve(address spender, uint256 value) returns (bool)
renounceOwnership
nonpayablefunction renounceOwnership()
setExcludeFromFees
nonpayablefunction setExcludeFromFees(address account, bool excluded)
setExcludeMultipleAccountsFromFees
nonpayablefunction setExcludeMultipleAccountsFromFees(address[] accounts, bool excluded)
setFootPool
nonpayablefunction setFootPool(address _footPool)
setMinSwapAmount
nonpayablefunction setMinSwapAmount(uint256 _minSwapAmount)
setSellLimit
nonpayablefunction setSellLimit(address account, uint256 amount)
setTpPower
nonpayablefunction setTpPower(address _tpPower)
setTradingEnable
nonpayablefunction setTradingEnable(uint256 _inTime)
setWallets
nonpayablefunction setWallets(address _makrWallet, address _nftWallet)
transfer
nonpayablefunction transfer(address to, uint256 value) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 value) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
ERC20InsufficientAllowance
error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed)
ERC20InsufficientBalance
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed)
ERC20InvalidApprover
error ERC20InvalidApprover(address approver)
ERC20InvalidReceiver
error ERC20InvalidReceiver(address receiver)
ERC20InvalidSender
error ERC20InvalidSender(address sender)
ERC20InvalidSpender
error ERC20InvalidSpender(address spender)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x60a060408190527355d398326f99059ff775485246999027b3197955608052681043561a8829300000601555613ced3881900390819083398101604081905261004791611078565b336040805180820182526004808252635470617960e01b60208084018290528451808601909552918452908301529060036100828382611135565b50600461008f8282611135565b5050506001600160a01b0381166100c057604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6100c981610366565b5060016006819055600880547310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b03199182168117909255600a805490911690911790556001600160a01b0382165f9081526007602081905260408220805460ff1916841790556c01431e0fae6d7217caa000000092916101413390565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff19958616179055308152600790925290208054909116600117905561018a82826103b7565b6040516101969061105e565b604051809103905ff0801580156101af573d5f5f3e3d5ffd5b50601180546001600160a01b0319166001600160a01b039290921691909117905560405130906101de9061106b565b6001600160a01b039091168152602001604051809103905ff080158015610207573d5f5f3e3d5ffd5b50601280546001600160a01b0319166001600160a01b039283169081179091555f908152600760209081526040808320805460ff1990811660019081179092556011548616855293829020805490941617909255600854825163c45a015560e01b8152925193169263c45a01559260048082019392918290030181865afa158015610294573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b89190611078565b600980546001600160a01b0319166001600160a01b039283169081179091556080516040516364e329cb60e11b8152306004820152921660248301529063c9c65396906044016020604051808303815f875af115801561031a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061033e9190611078565b600b80546001600160a01b0319166001600160a01b0392909216919091179055506114249050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382166103e05760405163ec442f0560e01b81525f60048201526024016100b7565b6103eb5f83836103ef565b5050565b326001600160a01b038416811480156104105750336001600160a01b038516145b801561043457506001600160a01b0384165f9081526007602052604090205460ff16155b801561044857506001600160a01b03831630145b1561045d5761045784836107e2565b50505050565b81158061048157506001600160a01b0384165f9081526007602052604090205460ff165b806104a357506001600160a01b0383165f9081526007602052604090205460ff165b156104b35761045784848461091b565b600b54600160a01b900460ff166104f25760405162461bcd60e51b81526020600482015260036024820152621b9bdd60ea1b60448201526064016100b7565b5f6105063060805185610a4160201b60201c565b600b549091506001600160a01b03868116911614806105325750600b546001600160a01b038581169116145b156106f057600b546001600160a01b039081169086160361060757600b54600160b01b900460ff161561060257600c544210156105f4576810dbfdf4405a7c00008111156105ab5760405162461bcd60e51b81526004016100b79060208082526004908201526319985a5b60e21b604082015260600190565b5f6105c260646105bc86600a610b58565b90610bdf565b90506105ce8482610c26565b935080156105ee57600e546105ee9087906001600160a01b03168361091b565b506106c4565b600b805460ff60b01b191690555b6106c4565b600b546001600160a01b03908116908516036106c457600b54600160b01b900460ff161561068a57600c5442101561067c575f61064a60646105bc866014610b58565b90506106568482610c26565b9350801561067657600e546106769087906001600160a01b03168361091b565b5061068a565b600b805460ff60b01b191690555b600b54600160a81b900460ff166106c457600b805460ff60a81b1916600160a81b1790556106b6610c6d565b600b805460ff60a81b191690555b5f6106d560646105bc866002610b58565b90506106e286308361091b565b6106ec8482610c26565b9350505b6001600160a01b0385165f908152600d60205260409020548015610756578381111561073d576107208185610c26565b6001600160a01b0387165f908152600d6020526040902055610756565b6001600160a01b0386165f908152600d60205260408120555b61076186868661091b565b6013544211156107da57601254601454604051639ef2017b60e01b81526001600160a01b039182166004820152911690639ef2017b906024015f604051808303815f87803b1580156107b1575f5ffd5b505af11580156107c3573d5f5f3e3d5ffd5b50505050426276a7006107d69190611203565b6013555b505050505050565b600b54600160a01b900460ff166108215760405162461bcd60e51b81526020600482015260036024820152621b9bdd60ea1b60448201526064016100b7565b6001600160a01b0382165f908152600d60205260409020548111156108705760405162461bcd60e51b81526020600482015260056024820152641b1a5b5a5d60da1b60448201526064016100b7565b6001600160a01b0382165f908152600d60205260409020546108929082610c26565b6001600160a01b038084165f908152600d60205260409020919091556014546108be918491168361091b565b601054604051636c197ff560e01b81526001600160a01b0384811660048301526024820184905290911690636c197ff5906044015f604051808303815f87803b158015610909575f5ffd5b505af11580156107da573d5f5f3e3d5ffd5b6001600160a01b038316610945578060025f82825461093a9190611203565b909155506109b59050565b6001600160a01b0383165f90815260208190526040902054818110156109975760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016100b7565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166109d1576002805482900390556109ef565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a3491815260200190565b60405180910390a3505050565b6040805160028082526060820183525f928392919060208301908036833701905050905084815f81518110610a7857610a78611216565b60200260200101906001600160a01b031690816001600160a01b0316815250508381600181518110610aac57610aac611216565b6001600160a01b03928316602091820292909201015260085460405163d06ca61f60e01b81525f92919091169063d06ca61f90610aef908790869060040161126d565b5f60405180830381865afa158015610b09573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b30919081019061128d565b905080600181518110610b4557610b45611216565b6020026020010151925050509392505050565b5f825f03610b6757505f610bd9565b5f610b728385611354565b905082610b7f858361136b565b14610bd65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016100b7565b90505b92915050565b5f610bd683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610e2c60201b60201c565b5f610bd683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e6160201b60201c565b305f818152602081905260408120546080519092610c8b9184610a41565b90506015548111156103eb57600a54610caf9030906001600160a01b031684610e90565b6080516011546040516370a0823160e01b81526001600160a01b0391821660048201525f9291909116906370a0823190602401602060405180830381865afa158015610cfd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d21919061138a565b601154909150610d3a906001600160a01b031684610ea2565b6080516011546040516370a0823160e01b81526001600160a01b0391821660048201525f92610db69285929116906370a0823190602401602060405180830381865afa158015610d8c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db0919061138a565b90610c26565b601154600e54600f54604051630c0aeb3d60e21b81526001600160a01b039283166004820152908216602482015260448101849052929350169063302bacf4906064015f604051808303815f87803b158015610e10575f5ffd5b505af1158015610e22573d5f5f3e3d5ffd5b5050505050505050565b5f8183610e4c5760405162461bcd60e51b81526004016100b791906113a1565b505f610e58848661136b565b95945050505050565b5f8184841115610e845760405162461bcd60e51b81526004016100b791906113a1565b505f610e5884866113d6565b610e9d8383836001610f8c565b505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ed557610ed5611216565b60200260200101906001600160a01b031690816001600160a01b03168152505060805181600181518110610f0b57610f0b611216565b6001600160a01b03928316602091820292909201015260085416635c11d795835f8487610f3a4261012c611203565b6040518663ffffffff1660e01b8152600401610f5a9594939291906113e9565b5f604051808303815f87803b158015610f71575f5ffd5b505af1158015610f83573d5f5f3e3d5ffd5b50505050505050565b6001600160a01b038416610fb55760405163e602df0560e01b81525f60048201526024016100b7565b6001600160a01b038316610fde57604051634a1406b160e11b81525f60048201526024016100b7565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561045757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161105091815260200190565b60405180910390a350505050565b610502806133ac83390190565b61043f806138ae83390190565b5f60208284031215611088575f5ffd5b81516001600160a01b0381168114610bd6575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806110c657607f821691505b6020821081036110e457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610e9d57805f5260205f20601f840160051c8101602085101561110f5750805b601f840160051c820191505b8181101561112e575f815560010161111b565b5050505050565b81516001600160401b0381111561114e5761114e61109e565b6111628161115c84546110b2565b846110ea565b6020601f821160018114611194575f831561117d5750848201515b5f19600385901b1c1916600184901b17845561112e565b5f84815260208120601f198516915b828110156111c357878501518255602094850194600190920191016111a3565b50848210156111e057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610bd957610bd96111ef565b634e487b7160e01b5f52603260045260245ffd5b5f8151808452602084019350602083015f5b828110156112635781516001600160a01b031686526020958601959091019060010161123c565b5093949350505050565b828152604060208201525f611285604083018461122a565b949350505050565b5f6020828403121561129d575f5ffd5b81516001600160401b038111156112b2575f5ffd5b8201601f810184136112c2575f5ffd5b80516001600160401b038111156112db576112db61109e565b604051600582901b90603f8201601f191681016001600160401b03811182821017156113095761130961109e565b604052918252602081840181019290810187841115611326575f5ffd5b6020850194505b838510156113495784518082526020958601959093500161132d565b509695505050505050565b8082028115828204841417610bd957610bd96111ef565b5f8261138557634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561139a575f5ffd5b5051919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b81810381811115610bd957610bd96111ef565b85815284602082015260a060408201525f61140760a083018661122a565b6001600160a01b0394909416606083015250608001529392505050565b608051611f4d61145f5f395f81816105e1015281816110f10152818161176e015281816117db015281816118870152611a250152611f4d5ff3fe608060405260043610610215575f3560e01c8063715018a61161011e578063bb57ad20116100a8578063dd62ed3e1161006d578063dd62ed3e14610660578063de4ae9e8146106a4578063eb3b3b07146106c3578063f2fde38b146106e2578063f887ea4014610701575f5ffd5b8063bb57ad20146105b1578063c54e44eb146105d0578063d3f6a15714610603578063d63cad2214610622578063d72b06c914610641575f5ffd5b8063a9059cbb116100ee578063a9059cbb14610516578063a9dd14d614610535578063af9941d814610554578063b1e3700814610573578063b7352a1914610592575f5ffd5b8063715018a6146104b25780638da5cb5b146104c65780639082d334146104e357806395d89b4114610502575f5ffd5b8063286632af1161019f5780634026478e1161016f5780634026478e146103ec57806344f1c02b1461040b57806349f34aca1461043f57806359d0f7131461045f57806370a082311461047e575f5ffd5b8063286632af1461037e578063313ce5671461039d578063320d4534146103b8578063338246e2146103d7575f5ffd5b80631694505e116101e55780631694505e146102d657806318160ddd1461030d57806323a811c81461032b57806323b872dd1461034a578063251c1aa314610369575f5ffd5b806306fdde031461023e578063095ea7b3146102685780630a8d8395146102975780631693e8d4146102b6575f5ffd5b3661023a57610222610720565b3461022d338261074a565b506102386001600655565b005b5f5ffd5b348015610249575f5ffd5b506102526107ab565b60405161025f9190611abd565b60405180910390f35b348015610273575f5ffd5b50610287610282366004611b0d565b61083b565b604051901515815260200161025f565b3480156102a2575f5ffd5b506102386102b1366004611b35565b610854565b3480156102c1575f5ffd5b50600b5461028790600160a01b900460ff1681565b3480156102e1575f5ffd5b506008546102f5906001600160a01b031681565b6040516001600160a01b03909116815260200161025f565b348015610318575f5ffd5b506002545b60405190815260200161025f565b348015610336575f5ffd5b50600e546102f5906001600160a01b031681565b348015610355575f5ffd5b50610287610364366004611b4e565b6108f0565b348015610374575f5ffd5b5061031d60135481565b348015610389575f5ffd5b50610238610398366004611b35565b610913565b3480156103a8575f5ffd5b506040516012815260200161025f565b3480156103c3575f5ffd5b506102386103d2366004611b88565b6109aa565b3480156103e2575f5ffd5b5061031d60155481565b3480156103f7575f5ffd5b506012546102f5906001600160a01b031681565b348015610416575f5ffd5b5061031d610425366004611b35565b6001600160a01b03165f908152600d602052604090205490565b34801561044a575f5ffd5b50600b5461028790600160b01b900460ff1681565b34801561046a575f5ffd5b506009546102f5906001600160a01b031681565b348015610489575f5ffd5b5061031d610498366004611b35565b6001600160a01b03165f9081526020819052604090205490565b3480156104bd575f5ffd5b506102386109b7565b3480156104d1575f5ffd5b506005546001600160a01b03166102f5565b3480156104ee575f5ffd5b506102386104fd366004611b0d565b6109ca565b34801561050d575f5ffd5b50610252610a5b565b348015610521575f5ffd5b50610287610530366004611b0d565b610a6a565b348015610540575f5ffd5b5061031d61054f366004611b4e565b610a77565b34801561055f575f5ffd5b506010546102f5906001600160a01b031681565b34801561057e575f5ffd5b50600f546102f5906001600160a01b031681565b34801561059d575f5ffd5b50600b546102f5906001600160a01b031681565b3480156105bc575f5ffd5b506011546102f5906001600160a01b031681565b3480156105db575f5ffd5b506102f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561060e575f5ffd5b5061023861061d366004611b9f565b610b8e565b34801561062d575f5ffd5b5061023861063c366004611bdf565b610c59565b34801561064c575f5ffd5b5061023861065b366004611b88565b610caf565b34801561066b575f5ffd5b5061031d61067a366004611b9f565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b3480156106af575f5ffd5b506102386106be366004611c6f565b610d13565b3480156106ce575f5ffd5b506014546102f5906001600160a01b031681565b3480156106ed575f5ffd5b506102386106fc366004611b35565b610d7a565b34801561070c575f5ffd5b50600a546102f5906001600160a01b031681565b60026006540361074357604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b60145460405163acb0bc9560e01b81526001600160a01b0384811660048301529091169063acb0bc959083906024015f604051808303818588803b158015610790575f5ffd5b505af11580156107a2573d5f5f3e3d5ffd5b50505050505050565b6060600380546107ba90611d15565b80601f01602080910402602001604051908101604052809291908181526020018280546107e690611d15565b80156108315780601f1061080857610100808354040283529160200191610831565b820191905f5260205f20905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b5f33610848818585610db7565b60019150505b92915050565b61085c610dc4565b6001600160a01b0381166108b75760405162461bcd60e51b815260206004820152601b60248201527f496e76616c696420626f74746f6d20706f6c6c2061646472657373000000000060448201526064015b60405180910390fd5b601480546001600160a01b039092166001600160a01b0319909216821790555f908152600760205260409020805460ff19166001179055565b5f336108fd858285610df1565b610908858585610e6d565b506001949350505050565b61091b610dc4565b6001600160a01b0381166109715760405162461bcd60e51b815260206004820152601b60248201527f496e76616c696420626f74746f6d20706f6c6c2061646472657373000000000060448201526064016108ae565b601080546001600160a01b039092166001600160a01b0319909216821790555f908152600760205260409020805460ff19166001179055565b6109b2610dc4565b601555565b6109bf610dc4565b6109c85f610eca565b565b6014546001600160a01b0316336001600160a01b031614610a1a5760405162461bcd60e51b815260206004820152600a6024820152691bdb9b1e54995dd85c9960b21b60448201526064016108ae565b610a22610720565b6001600160a01b0382165f908152600d602052604081208054839290610a49908490611d61565b909155505060016006555050565b5050565b6060600480546107ba90611d15565b5f33610848818585610e6d565b6040805160028082526060820183525f928392919060208301908036833701905050905084815f81518110610aae57610aae611d74565b60200260200101906001600160a01b031690816001600160a01b0316815250508381600181518110610ae257610ae2611d74565b6001600160a01b03928316602091820292909201015260085460405163d06ca61f60e01b81525f92919091169063d06ca61f90610b259087908690600401611dcb565b5f60405180830381865afa158015610b3f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b669190810190611deb565b905080600181518110610b7b57610b7b611d74565b6020026020010151925050509392505050565b610b96610dc4565b6001600160a01b03821615801590610bb657506001600160a01b03811615155b610bfb5760405162461bcd60e51b8152602060048201526016602482015275496e76616c69642077616c6c6574206164647265737360501b60448201526064016108ae565b600e80546001600160a01b039384166001600160a01b03199182168117909255600f805493909416921682179092555f91825260076020526040808320805460ff199081166001908117909255928452922080549091169091179055565b610c61610dc4565b6001600160a01b0382165f9081526007602052604090205460ff16151581151514610a57576001600160a01b0382165f908152600760205260409020805482151560ff199091161790555050565b610cb7610dc4565b600c545f03610cf157600b805460ff60b01b1916600160b01b179055610cdd8142611d61565b600c55610ced426276a700611d61565b6013555b50600b805460ff60a01b198116600160a01b9182900460ff1615909102179055565b610d1b610dc4565b5f5b8251811015610d75578160075f858481518110610d3c57610d3c611d74565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610d1d565b505050565b610d82610dc4565b6001600160a01b038116610dab57604051631e4fbdf760e01b81525f60048201526024016108ae565b610db481610eca565b50565b610d758383836001610f1b565b6005546001600160a01b031633146109c85760405163118cdaa760e01b81523360048201526024016108ae565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610e675781811015610e5957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016108ae565b610e6784848484035f610f1b565b50505050565b6001600160a01b038316610e9657604051634b637e8f60e11b81525f60048201526024016108ae565b6001600160a01b038216610ebf5760405163ec442f0560e01b81525f60048201526024016108ae565b610d75838383610fed565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038416610f445760405163e602df0560e01b81525f60048201526024016108ae565b6001600160a01b038316610f6d57604051634a1406b160e11b81525f60048201526024016108ae565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610e6757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610fdf91815260200190565b60405180910390a350505050565b326001600160a01b0384168114801561100e5750336001600160a01b038516145b801561103257506001600160a01b0384165f9081526007602052604090205460ff16155b801561104657506001600160a01b03831630145b1561105557610e6784836113f2565b81158061107957506001600160a01b0384165f9081526007602052604090205460ff165b8061109b57506001600160a01b0383165f9081526007602052604090205460ff165b156110ab57610e6784848461152b565b600b54600160a01b900460ff166110ea5760405162461bcd60e51b81526020600482015260036024820152621b9bdd60ea1b60448201526064016108ae565b5f611116307f000000000000000000000000000000000000000000000000000000000000000085610a77565b600b549091506001600160a01b03868116911614806111425750600b546001600160a01b038581169116145b1561130057600b546001600160a01b039081169086160361121757600b54600160b01b900460ff161561121257600c54421015611204576810dbfdf4405a7c00008111156111bb5760405162461bcd60e51b81526004016108ae9060208082526004908201526319985a5b60e21b604082015260600190565b5f6111d260646111cc86600a611651565b906116d6565b90506111de8482611717565b935080156111fe57600e546111fe9087906001600160a01b03168361152b565b506112d4565b600b805460ff60b01b191690555b6112d4565b600b546001600160a01b03908116908516036112d457600b54600160b01b900460ff161561129a57600c5442101561128c575f61125a60646111cc866014611651565b90506112668482611717565b9350801561128657600e546112869087906001600160a01b03168361152b565b5061129a565b600b805460ff60b01b191690555b600b54600160a81b900460ff166112d457600b805460ff60a81b1916600160a81b1790556112c6611758565b600b805460ff60a81b191690555b5f6112e560646111cc866002611651565b90506112f286308361152b565b6112fc8482611717565b9350505b6001600160a01b0385165f908152600d60205260409020548015611366578381111561134d576113308185611717565b6001600160a01b0387165f908152600d6020526040902055611366565b6001600160a01b0386165f908152600d60205260408120555b61137186868661152b565b6013544211156113ea57601254601454604051639ef2017b60e01b81526001600160a01b039182166004820152911690639ef2017b906024015f604051808303815f87803b1580156113c1575f5ffd5b505af11580156113d3573d5f5f3e3d5ffd5b50505050426276a7006113e69190611d61565b6013555b505050505050565b600b54600160a01b900460ff166114315760405162461bcd60e51b81526020600482015260036024820152621b9bdd60ea1b60448201526064016108ae565b6001600160a01b0382165f908152600d60205260409020548111156114805760405162461bcd60e51b81526020600482015260056024820152641b1a5b5a5d60da1b60448201526064016108ae565b6001600160a01b0382165f908152600d60205260409020546114a29082611717565b6001600160a01b038084165f908152600d60205260409020919091556014546114ce918491168361152b565b601054604051636c197ff560e01b81526001600160a01b0384811660048301526024820184905290911690636c197ff5906044015f604051808303815f87803b158015611519575f5ffd5b505af11580156113ea573d5f5f3e3d5ffd5b6001600160a01b038316611555578060025f82825461154a9190611d61565b909155506115c59050565b6001600160a01b0383165f90815260208190526040902054818110156115a75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016108ae565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166115e1576002805482900390556115ff565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161164491815260200190565b60405180910390a3505050565b5f825f0361166057505f61084e565b5f61166b8385611e7c565b9050826116788583611e93565b146116cf5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108ae565b9392505050565b5f6116cf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061196c565b5f6116cf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119a1565b305f8181526020819052604081205491611793907f000000000000000000000000000000000000000000000000000000000000000084610a77565b9050601554811115610a5757600a546117b79030906001600160a01b031684610db7565b6011546040516370a0823160e01b81526001600160a01b0391821660048201525f917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611820573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118449190611eb2565b60115490915061185d906001600160a01b0316846119d0565b6011546040516370a0823160e01b81526001600160a01b0391821660048201525f916118f69184917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156118cc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f09190611eb2565b90611717565b601154600e54600f54604051630c0aeb3d60e21b81526001600160a01b039283166004820152908216602482015260448101849052929350169063302bacf4906064015f604051808303815f87803b158015611950575f5ffd5b505af1158015611962573d5f5f3e3d5ffd5b5050505050505050565b5f818361198c5760405162461bcd60e51b81526004016108ae9190611abd565b505f6119988486611e93565b95945050505050565b5f81848411156119c45760405162461bcd60e51b81526004016108ae9190611abd565b505f6119988486611ec9565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a0357611a03611d74565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110611a5757611a57611d74565b6001600160a01b03928316602091820292909201015260085416635c11d795835f8487611a864261012c611d61565b6040518663ffffffff1660e01b8152600401611aa6959493929190611edc565b5f604051808303815f87803b158015610790575f5ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114611b08575f5ffd5b919050565b5f5f60408385031215611b1e575f5ffd5b611b2783611af2565b946020939093013593505050565b5f60208284031215611b45575f5ffd5b6116cf82611af2565b5f5f5f60608486031215611b60575f5ffd5b611b6984611af2565b9250611b7760208501611af2565b929592945050506040919091013590565b5f60208284031215611b98575f5ffd5b5035919050565b5f5f60408385031215611bb0575f5ffd5b611bb983611af2565b9150611bc760208401611af2565b90509250929050565b80358015158114611b08575f5ffd5b5f5f60408385031215611bf0575f5ffd5b611bf983611af2565b9150611bc760208401611bd0565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611c4457611c44611c07565b604052919050565b5f67ffffffffffffffff821115611c6557611c65611c07565b5060051b60200190565b5f5f60408385031215611c80575f5ffd5b823567ffffffffffffffff811115611c96575f5ffd5b8301601f81018513611ca6575f5ffd5b8035611cb9611cb482611c4c565b611c1b565b8082825260208201915060208360051b850101925087831115611cda575f5ffd5b6020840193505b82841015611d0357611cf284611af2565b825260209384019390910190611ce1565b9450611bc79250505060208401611bd0565b600181811c90821680611d2957607f821691505b602082108103611d4757634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561084e5761084e611d4d565b634e487b7160e01b5f52603260045260245ffd5b5f8151808452602084019350602083015f5b82811015611dc15781516001600160a01b0316865260209586019590910190600101611d9a565b5093949350505050565b828152604060208201525f611de36040830184611d88565b949350505050565b5f60208284031215611dfb575f5ffd5b815167ffffffffffffffff811115611e11575f5ffd5b8201601f81018413611e21575f5ffd5b8051611e2f611cb482611c4c565b8082825260208201915060208360051b850101925086831115611e50575f5ffd5b6020840193505b82841015611e72578351825260209384019390910190611e57565b9695505050505050565b808202811582820484141761084e5761084e611d4d565b5f82611ead57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611ec2575f5ffd5b5051919050565b8181038181111561084e5761084e611d4d565b85815284602082015260a060408201525f611efa60a0830186611d88565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220de303d0314e200ae0cdd2061ee24042384c4e0b5c2309eca1c38c470b9c1654f64736f6c634300081c003360a06040527355d398326f99059ff775485246999027b3197955608052348015610027575f5ffd5b50338061004d57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100568161005c565b506100ab565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6080516104326100d05f395f818160a30152818161012101526101c201526104325ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c8063302bacf414610059578063715018a61461006e5780638da5cb5b14610076578063c54e44eb1461009e578063f2fde38b146100c5575b5f5ffd5b61006c610067366004610321565b6100d8565b005b61006c610236565b5f546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b6100827f000000000000000000000000000000000000000000000000000000000000000081565b61006c6100d336600461035a565b610249565b6100e061028b565b5f60646100ee83601961038e565b6100f891906103ab565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015610169573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061018d91906103ca565b505f61019982846103e9565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af115801561020a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022e91906103ca565b505050505050565b61023e61028b565b6102475f6102b7565b565b61025161028b565b6001600160a01b03811661027f57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610288816102b7565b50565b5f546001600160a01b031633146102475760405163118cdaa760e01b8152336004820152602401610276565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461031c575f5ffd5b919050565b5f5f5f60608486031215610333575f5ffd5b61033c84610306565b925061034a60208501610306565b9150604084013590509250925092565b5f6020828403121561036a575f5ffd5b61037382610306565b9392505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176103a5576103a561037a565b92915050565b5f826103c557634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156103da575f5ffd5b81518015158114610373575f5ffd5b818103818111156103a5576103a561037a56fea26469706673582212206f2d20ceed50e4aec9dab39981de88a669cf6e8ccc3441df05e4e4df1f9af9d464736f6c634300081c003360806040526b033b2e3c9fd0803ce800000060025534801561001f575f5ffd5b5060405161043f38038061043f83398101604081905261003e916100e1565b338061006357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61006c81610092565b50600180546001600160a01b0319166001600160a01b039290921691909117905561010e565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156100f1575f5ffd5b81516001600160a01b0381168114610107575f5ffd5b9392505050565b6103248061011b5f395ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c8063715018a61461005957806386a643bf146100635780638da5cb5b146100925780639ef2017b146100a2578063f2fde38b146100b5575b5f5ffd5b6100616100c8565b005b600154610076906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b5f546001600160a01b0316610076565b6100616100b036600461028b565b6100db565b6100616100c336600461028b565b6101d1565b6100d0610210565b6100d95f61023c565b565b6100e3610210565b6002546001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561012c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015091906102b8565b106101ce5760015460025460405163a9059cbb60e01b81526001600160a01b038481166004830152602482019290925291169063a9059cbb906044016020604051808303815f875af11580156101a8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101cc91906102cf565b505b50565b6101d9610210565b6001600160a01b03811661020757604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ce8161023c565b5f546001600160a01b031633146100d95760405163118cdaa760e01b81523360048201526024016101fe565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121561029b575f5ffd5b81356001600160a01b03811681146102b1575f5ffd5b9392505050565b5f602082840312156102c8575f5ffd5b5051919050565b5f602082840312156102df575f5ffd5b815180151581146102b1575f5ffdfea264697066735822122087e4e7ca17aa110b99319cf85771b556fbddf236b128faf04adf7227049fe82964736f6c634300081c0033000000000000000000000000c6fcc71c0eb7b731be0630d9d5deb74bec1083ae