ETH Price: $2,415.94 (-0.07%)
Gas: 2.77 Gwei

Token

Sock Puppets (Flork)
 

Overview

Max Total Supply

100,000,000 Flork

Holders

63

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: Flork 41
Balance
1,000,000,035,146,021.057856951 Flork

Value
$0.00
0xe4e7f709dff78871e1a2341efad5dd9989076d3a
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Flork

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-18
*/

// SPDX-License-Identifier: MIT

/** 

    Website:  https://www.sockpuppets.vip
    Twitter:  https://x.com/flork_sock    
    Telegram: https://t.me/flork_sockpuppets
*/


pragma solidity 0.8.19;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    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
    );
}

contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    function isOwner() private view returns (bool) {
        return msg.sender == _owner;
    }

    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
 
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
 
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
 
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
 
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
 
    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
 
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
 
    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
 
    function initialize(address, address) external;
}


interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
 
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
 
    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}
 
interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);
 
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract Flork is Context, IERC20, Ownable {
    using SafeMath for uint256;

    address constant DEAD = address(0x000000000000000000000000000000000000dEaD);
    
    string private constant _name = "Sock Puppets";
    string private constant _symbol = "Flork";
    uint8 private constant _decimals = 9;

    uint256 private constant _totalSupply = 100_000_000 * 10**_decimals;
    uint256 public maxWalletlimit = (_totalSupply * 2) / 100;
    uint256 public minSwap = (_totalSupply * 5) / 10000;

    IUniswapV2Router02 public uniswapV2Router;
    address public  uniswapV2Pair;
    address public WETH;
 
    address payable public marketingWallet;
    address payable public DevWallet;

    uint256 public BuyTax;
    uint256 public SellTax;
    uint256 public burnTax;
    uint8 private inSwapAndLiquify;
    
    uint256 public taxChangeInterval = 1 minutes;
    uint256 public lastTaxChangeTimestamp;
    uint8 public currentTaxPeriod = 0;

    uint256 public feeDenominator = 100;
   
    bool public TradingEnabled = false;

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedFromWalletLimit;

    constructor() {        

        //initial tax values
        BuyTax = 2;
        SellTax = 2;
        burnTax = 2;

        marketingWallet = payable(0xDD466811DaFA5EbBb9bA61e14311697dDD9FEea8);  //Marketing Wallet Address
        DevWallet = payable(msg.sender);        // Dev Wallet Address
 
        _balance[msg.sender] = _totalSupply;

        _isExcludedFromFees[msg.sender] = true;
        _isExcludedFromFees[marketingWallet] = true;
        _isExcludedFromFees[address(this)] = true;
        
        _isExcludedFromWalletLimit[msg.sender] = true;
        _isExcludedFromWalletLimit[marketingWallet] = true;
        _isExcludedFromWalletLimit[address(this)] = true;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function addLiquidityEth() public payable onlyOwner 
    {
        uniswapV2Router = IUniswapV2Router02( 
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        _isExcludedFromFees[address(uniswapV2Router)] = true;
        _isExcludedFromWalletLimit[address(uniswapV2Router)] = true;

        _isExcludedFromWalletLimit[address(uniswapV2Pair)] = true;

        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;

        uniswapV2Router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp);
    }

    function enableTrade() external onlyOwner {
        TradingEnabled = true;

        lastTaxChangeTimestamp = block.timestamp;
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[account];
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), 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(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function ExcludeFromFees(address holder, bool exempt) external onlyOwner {
        _isExcludedFromFees[holder] = exempt;
    }
    
    function ChangeMinSwap(uint256 NewMinSwapAmount) external onlyOwner {
        minSwap = NewMinSwapAmount * 10**18;
    }

    function ChangeMarketingWalletAddress(address newAddress) external onlyOwner() {
        marketingWallet = payable(newAddress);
    }
    
    function ChangeDevWalletAddress(address newAddress) external onlyOwner() {
        DevWallet = payable(newAddress);
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

    function removeMaxLimit() external onlyOwner {
        maxWalletlimit = _totalSupply;
    }
    
    function ExcludeFromWalletLimit(address holder, bool exempt) external onlyOwner {
        _isExcludedFromWalletLimit[holder] = exempt;
    }

    function burnedTokens() public view returns (bool) {
        return balanceOf(DEAD) > 0;
    }

    function shouldExcludeFee(address sender) internal view returns (bool) {
        return _isExcludedFromFees[sender] && sender != owner() && sender != address(this);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");
        require(TradingEnabled || _isExcludedFromFees[from] || _isExcludedFromFees[to], "Not Enabled");        
        
        uint256 elapsedTime = block.timestamp - lastTaxChangeTimestamp;
        
        if (elapsedTime >= taxChangeInterval && currentTaxPeriod < 2) {
            currentTaxPeriod++;
            if (currentTaxPeriod == 1) {
                //Initial Tax values
                BuyTax = 2;
                SellTax = 2;
            } else if (currentTaxPeriod == 2) {
                // After 15 minutes, set buyTax to 1% and sellTax to 1%
                BuyTax = 1;
                SellTax = 1;
            }
            // Update the last tax change timestamp    
            lastTaxChangeTimestamp = block.timestamp;
        }

        uint256 _tax;        
        uint256 taxTokens = shouldExcludeFee(from)? amount : 0;
        uint256 transferAmount;

        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            _tax = 0;           
        } else {

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                    _tax = BuyTax;
                if (!_isExcludedFromWalletLimit[from] || !_isExcludedFromWalletLimit[to]) {
                require(balanceOf(to).add(amount) <= maxWalletlimit);
                }
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];

                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            address(this),
                            block.timestamp
                        );
                    inSwapAndLiquify = 0;
                }

                if(burnedTokens()) {
                    _tax = SellTax - burnTax;
                } else {
                    _tax = SellTax;
                }

            } else {
                _tax = 0;
            }
        }
        

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            taxTokens = (amount * _tax) / feeDenominator;
            transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
            
        } else {            
            _balance[from] -= amount - taxTokens;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }

        uint256 amountReceived = address(this).balance;

        uint256 amountETHMarketing = amountReceived.mul(80).div(feeDenominator);    // 80% to marketing wallet
        uint256 amountETHDev = amountReceived.mul(20).div(feeDenominator);          // 20% to dev wallet
        
        
        if (amountETHMarketing > 0){
            transferToAddressETH(marketingWallet, amountETHMarketing);
        }
        
        if (amountETHDev > 0) {
            transferToAddressETH(DevWallet, amountETHDev);
        }

    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"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":"BuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"ChangeDevWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"ChangeMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"NewMinSwapAmount","type":"uint256"}],"name":"ChangeMinSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"DevWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"ExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"ExcludeFromWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"SellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidityEth","outputs":[],"stateMutability":"payable","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":[{"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":"burnTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnedTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentTaxPeriod","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastTaxChangeTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletlimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeMaxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxChangeInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064620000146009600a62000351565b62000024906305f5e10062000369565b6200003190600262000369565b6200003d919062000383565b600155612710620000516009600a62000351565b62000061906305f5e10062000369565b6200006e90600562000369565b6200007a919062000383565b600255603c600c55600e805460ff199081169091556064600f55601080549091169055348015620000aa57600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600260088190556009818155600a918255600680546001600160a01b031990811673dd466811dafa5ebbb9ba61e14311697ddd9feea81790915560078054909116331790556200013a9162000351565b6200014a906305f5e10062000369565b33600081815260116020908152604080832094909455601381528382208054600160ff199182168117909255600680546001600160a01b03908116865287862080548416851790553080875288872080548516861790559686526014909452868520805483168417905554909216835284832080548316821790559282529290208054909216179055620001db3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002156009600a62000351565b62000225906305f5e10062000369565b60405190815260200160405180910390a3620003a6565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002935781600019048211156200027757620002776200023c565b808516156200028557918102915b93841c939080029062000257565b509250929050565b600082620002ac575060016200034b565b81620002bb575060006200034b565b8160018114620002d45760028114620002df57620002ff565b60019150506200034b565b60ff841115620002f357620002f36200023c565b50506001821b6200034b565b5060208310610133831016604e8410600b841016171562000324575081810a6200034b565b62000330838362000252565b80600019048211156200034757620003476200023c565b0290505b92915050565b60006200036260ff8416836200029b565b9392505050565b80820281158282048414176200034b576200034b6200023c565b600082620003a157634e487b7160e01b600052601260045260246000fd5b500490565b611b1480620003b66000396000f3fe6080604052600436106102125760003560e01c8063715018a611610118578063a9059cbb116100a0578063dd62ed3e1161006f578063dd62ed3e14610613578063df31dd3914610659578063f2fde38b14610673578063fa0096df14610693578063fed3c826146106a857600080fd5b8063a9059cbb1461059d578063ad5c4648146105bd578063b115e4df146105dd578063b1848c26146105fd57600080fd5b806383fd0367116100e757806383fd03671461050557806389e40cf91461051b5780638da5cb5b1461053157806395d89b411461054f5780639d8f77061461057d57600080fd5b8063715018a61461049657806374233c06146104ab57806375f0a874146104cb57806379966345146104eb57600080fd5b806323b872dd1161019b57806347b5dd541161016a57806347b5dd54146103d357806349bd5a5e146104145780634cd5dc6a1461043457806359cd90311461044a57806370a082311461046057600080fd5b806323b872dd1461036957806324e3444314610389578063313ce5671461039157806343c98828146103b357600080fd5b80630a910d1f116101e25780630a910d1f146102cc5780631694505e146102f0578063180b0d7e1461032857806318160ddd1461033e5780631d4eaead1461035357600080fd5b806299d3861461021e57806305d2743f1461023557806306fdde0314610255578063095ea7b31461029c57600080fd5b3661021957005b600080fd5b34801561022a57600080fd5b506102336106c8565b005b34801561024157600080fd5b50610233610250366004611708565b6106f2565b34801561026157600080fd5b5060408051808201909152600c81526b536f636b205075707065747360a01b60208201525b6040516102939190611725565b60405180910390f35b3480156102a857600080fd5b506102bc6102b7366004611773565b61072b565b6040519015158152602001610293565b3480156102d857600080fd5b506102e260085481565b604051908152602001610293565b3480156102fc57600080fd5b50600354610310906001600160a01b031681565b6040516001600160a01b039091168152602001610293565b34801561033457600080fd5b506102e2600f5481565b34801561034a57600080fd5b506102e2610742565b34801561035f57600080fd5b506102e2600a5481565b34801561037557600080fd5b506102bc61038436600461179f565b610763565b6102336107b5565b34801561039d57600080fd5b5060095b60405160ff9091168152602001610293565b3480156103bf57600080fd5b506102336103ce3660046117e0565b610a7a565b3480156103df57600080fd5b5061dead60005260116020527f97847ee99463795296047093514439c3127772df3715e628aa85601cf85417165415156102bc565b34801561042057600080fd5b50600454610310906001600160a01b031681565b34801561044057600080fd5b506102e2600c5481565b34801561045657600080fd5b506102e260025481565b34801561046c57600080fd5b506102e261047b366004611708565b6001600160a01b031660009081526011602052604090205490565b3480156104a257600080fd5b50610233610abc565b3480156104b757600080fd5b506102336104c636600461181e565b610b1d565b3480156104d757600080fd5b50600654610310906001600160a01b031681565b3480156104f757600080fd5b506010546102bc9060ff1681565b34801561051157600080fd5b506102e260095481565b34801561052757600080fd5b506102e260015481565b34801561053d57600080fd5b506000546001600160a01b0316610310565b34801561055b57600080fd5b50604080518082019091526005815264466c6f726b60d81b6020820152610286565b34801561058957600080fd5b506102336105983660046117e0565b610b4c565b3480156105a957600080fd5b506102bc6105b8366004611773565b610b8e565b3480156105c957600080fd5b50600554610310906001600160a01b031681565b3480156105e957600080fd5b50600754610310906001600160a01b031681565b34801561060957600080fd5b506102e2600d5481565b34801561061f57600080fd5b506102e261062e366004611837565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b34801561066557600080fd5b50600e546103a19060ff1681565b34801561067f57600080fd5b5061023361068e366004611708565b610b9b565b34801561069f57600080fd5b50610233610bbe565b3480156106b457600080fd5b506102336106c3366004611708565b610bf4565b6000546001600160a01b031633146106df57600080fd5b6010805460ff1916600117905542600d55565b6000546001600160a01b0316331461070957600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000610738338484610c2d565b5060015b92915050565b60006107506009600a61195f565b61075e906305f5e10061196e565b905090565b6000610770848484610d56565b6001600160a01b0384166000908152601260209081526040808320338085529252909120546107ab9186916107a6908690611985565b610c2d565b5060019392505050565b6000546001600160a01b031633146107cc57600080fd5b600380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015610830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108549190611998565b600580546001600160a01b0319166001600160a01b039283161790556003546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156108b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d69190611998565b6005546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015610927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094b9190611998565b600480546001600160a01b0319166001600160a01b039283161781556003805483166000908152601360209081526040808320805460ff1990811660019081179092558554881685526014845282852080548216831790559554871684528184208054909616179094553080835260128252848320845487168452825284832060001990559254838352601190915292902054919092169163f305d719913491906040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af1158015610a50573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a7591906119b5565b505050565b6000546001600160a01b03163314610a9157600080fd5b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610ad357600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b3457600080fd5b610b4681670de0b6b3a764000061196e565b60025550565b6000546001600160a01b03163314610b6357600080fd5b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b6000610738338484610d56565b6000546001600160a01b03163314610bb257600080fd5b610bbb8161149e565b50565b6000546001600160a01b03163314610bd557600080fd5b610be16009600a61195f565b610bef906305f5e10061196e565b600155565b6000546001600160a01b03163314610c0b57600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c945760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216610cf55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c8b565b6001600160a01b0383811660008181526012602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dba5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c8b565b633b9aca008111610e005760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b6044820152606401610c8b565b60105460ff1680610e2957506001600160a01b03831660009081526013602052604090205460ff165b80610e4c57506001600160a01b03821660009081526013602052604090205460ff165b610e865760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610c8b565b6000600d5442610e969190611985565b9050600c548110158015610eb15750600e54600260ff909116105b15610f1c57600e805460ff16906000610ec9836119e3565b82546101009290920a60ff818102199093169183160217909155600e54166001039050610eff5760026008819055600955610f17565b600e5460ff16600203610f1757600160088190556009555b42600d555b600080610f288661150c565b610f33576000610f35565b835b6001600160a01b0387166000908152601360205260408120549192509060ff1680610f7857506001600160a01b03861660009081526013602052604090205460ff165b15610f865760009250611261565b600b5460ff16600103611033576001600160a01b03871660009081526011602052604081208054879290610fbb908490611985565b90915550506001600160a01b03861660009081526011602052604081208054879290610fe8908490611a02565b92505081905550856001600160a01b0316876001600160a01b0316600080516020611abf8339815191528760405161102291815260200190565b60405180910390a350505050505050565b6004546001600160a01b03908116908816036110d1576008546001600160a01b03881660009081526014602052604090205490935060ff16158061109057506001600160a01b03861660009081526014602052604090205460ff16155b156110cc576001546110c1866110bb896001600160a01b031660009081526011602052604090205490565b9061155c565b11156110cc57600080fd5b611261565b6004546001600160a01b039081169087160361125c57306000908152601160205260409020546002548111801561110b5750600b5460ff16155b1561120757600b805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061115257611152611a15565b6001600160a01b03928316602091820292909201015260055482519116908290600190811061118357611183611a15565b6001600160a01b03928316602091820292909201015260035460405163791ac94760e01b815291169063791ac947906111c9908590600090869030904290600401611a2b565b600060405180830381600087803b1580156111e357600080fd5b505af11580156111f7573d6000803e3d6000fd5b5050600b805460ff191690555050505b61dead60005260116020527f97847ee99463795296047093514439c3127772df3715e628aa85601cf8541716541561125057600a546009546112499190611985565b9350611256565b60095493505b50611261565b600092505b821561137b57600f54611274848761196e565b61127e9190611a9c565b915061128a8286611985565b6001600160a01b0388166000908152601160205260408120805492935087929091906112b7908490611985565b90915550506001600160a01b038616600090815260116020526040812080548392906112e4908490611a02565b90915550503060009081526011602052604081208054849290611308908490611a02565b909155505060405182815230906001600160a01b03891690600080516020611abf8339815191529060200160405180910390a3856001600160a01b0316876001600160a01b0316600080516020611abf8339815191528360405161136e91815260200190565b60405180910390a361141d565b6113858286611985565b6001600160a01b038816600090815260116020526040812080549091906113ad908490611985565b90915550506001600160a01b038616600090815260116020526040812080548792906113da908490611a02565b92505081905550856001600160a01b0316876001600160a01b0316600080516020611abf8339815191528760405161141491815260200190565b60405180910390a35b600f54479060009061143a906114348460506115c2565b90611644565b90506000611458600f546114346014866115c290919063ffffffff16565b9050811561147657600654611476906001600160a01b031683611686565b801561149257600754611492906001600160a01b031682611686565b50505050505050505050565b6001600160a01b0381166114b157600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811660009081526013602052604081205460ff16801561154257506000546001600160a01b03838116911614155b801561073c57506001600160a01b03821630141592915050565b6000806115698385611a02565b9050838110156115bb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c8b565b9392505050565b6000826000036115d45750600061073c565b60006115e0838561196e565b9050826115ed8583611a9c565b146115bb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c8b565b60006115bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116bc565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610a75573d6000803e3d6000fd5b600081836116dd5760405162461bcd60e51b8152600401610c8b9190611725565b5060006116ea8486611a9c565b95945050505050565b6001600160a01b0381168114610bbb57600080fd5b60006020828403121561171a57600080fd5b81356115bb816116f3565b600060208083528351808285015260005b8181101561175257858101830151858201604001528201611736565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561178657600080fd5b8235611791816116f3565b946020939093013593505050565b6000806000606084860312156117b457600080fd5b83356117bf816116f3565b925060208401356117cf816116f3565b929592945050506040919091013590565b600080604083850312156117f357600080fd5b82356117fe816116f3565b91506020830135801515811461181357600080fd5b809150509250929050565b60006020828403121561183057600080fd5b5035919050565b6000806040838503121561184a57600080fd5b8235611855816116f3565b91506020830135611813816116f3565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118b657816000190482111561189c5761189c611865565b808516156118a957918102915b93841c9390800290611880565b509250929050565b6000826118cd5750600161073c565b816118da5750600061073c565b81600181146118f057600281146118fa57611916565b600191505061073c565b60ff84111561190b5761190b611865565b50506001821b61073c565b5060208310610133831016604e8410600b8410161715611939575081810a61073c565b611943838361187b565b806000190482111561195757611957611865565b029392505050565b60006115bb60ff8416836118be565b808202811582820484141761073c5761073c611865565b8181038181111561073c5761073c611865565b6000602082840312156119aa57600080fd5b81516115bb816116f3565b6000806000606084860312156119ca57600080fd5b8351925060208401519150604084015190509250925092565b600060ff821660ff81036119f9576119f9611865565b60010192915050565b8082018082111561073c5761073c611865565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a7b5784516001600160a01b031683529383019391830191600101611a56565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ab957634e487b7160e01b600052601260045260246000fd5b50049056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c6a51c162ec2e21ac83f48275f15f44e2063d16cccfcf6eea2fc681e8229a56c64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102125760003560e01c8063715018a611610118578063a9059cbb116100a0578063dd62ed3e1161006f578063dd62ed3e14610613578063df31dd3914610659578063f2fde38b14610673578063fa0096df14610693578063fed3c826146106a857600080fd5b8063a9059cbb1461059d578063ad5c4648146105bd578063b115e4df146105dd578063b1848c26146105fd57600080fd5b806383fd0367116100e757806383fd03671461050557806389e40cf91461051b5780638da5cb5b1461053157806395d89b411461054f5780639d8f77061461057d57600080fd5b8063715018a61461049657806374233c06146104ab57806375f0a874146104cb57806379966345146104eb57600080fd5b806323b872dd1161019b57806347b5dd541161016a57806347b5dd54146103d357806349bd5a5e146104145780634cd5dc6a1461043457806359cd90311461044a57806370a082311461046057600080fd5b806323b872dd1461036957806324e3444314610389578063313ce5671461039157806343c98828146103b357600080fd5b80630a910d1f116101e25780630a910d1f146102cc5780631694505e146102f0578063180b0d7e1461032857806318160ddd1461033e5780631d4eaead1461035357600080fd5b806299d3861461021e57806305d2743f1461023557806306fdde0314610255578063095ea7b31461029c57600080fd5b3661021957005b600080fd5b34801561022a57600080fd5b506102336106c8565b005b34801561024157600080fd5b50610233610250366004611708565b6106f2565b34801561026157600080fd5b5060408051808201909152600c81526b536f636b205075707065747360a01b60208201525b6040516102939190611725565b60405180910390f35b3480156102a857600080fd5b506102bc6102b7366004611773565b61072b565b6040519015158152602001610293565b3480156102d857600080fd5b506102e260085481565b604051908152602001610293565b3480156102fc57600080fd5b50600354610310906001600160a01b031681565b6040516001600160a01b039091168152602001610293565b34801561033457600080fd5b506102e2600f5481565b34801561034a57600080fd5b506102e2610742565b34801561035f57600080fd5b506102e2600a5481565b34801561037557600080fd5b506102bc61038436600461179f565b610763565b6102336107b5565b34801561039d57600080fd5b5060095b60405160ff9091168152602001610293565b3480156103bf57600080fd5b506102336103ce3660046117e0565b610a7a565b3480156103df57600080fd5b5061dead60005260116020527f97847ee99463795296047093514439c3127772df3715e628aa85601cf85417165415156102bc565b34801561042057600080fd5b50600454610310906001600160a01b031681565b34801561044057600080fd5b506102e2600c5481565b34801561045657600080fd5b506102e260025481565b34801561046c57600080fd5b506102e261047b366004611708565b6001600160a01b031660009081526011602052604090205490565b3480156104a257600080fd5b50610233610abc565b3480156104b757600080fd5b506102336104c636600461181e565b610b1d565b3480156104d757600080fd5b50600654610310906001600160a01b031681565b3480156104f757600080fd5b506010546102bc9060ff1681565b34801561051157600080fd5b506102e260095481565b34801561052757600080fd5b506102e260015481565b34801561053d57600080fd5b506000546001600160a01b0316610310565b34801561055b57600080fd5b50604080518082019091526005815264466c6f726b60d81b6020820152610286565b34801561058957600080fd5b506102336105983660046117e0565b610b4c565b3480156105a957600080fd5b506102bc6105b8366004611773565b610b8e565b3480156105c957600080fd5b50600554610310906001600160a01b031681565b3480156105e957600080fd5b50600754610310906001600160a01b031681565b34801561060957600080fd5b506102e2600d5481565b34801561061f57600080fd5b506102e261062e366004611837565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b34801561066557600080fd5b50600e546103a19060ff1681565b34801561067f57600080fd5b5061023361068e366004611708565b610b9b565b34801561069f57600080fd5b50610233610bbe565b3480156106b457600080fd5b506102336106c3366004611708565b610bf4565b6000546001600160a01b031633146106df57600080fd5b6010805460ff1916600117905542600d55565b6000546001600160a01b0316331461070957600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000610738338484610c2d565b5060015b92915050565b60006107506009600a61195f565b61075e906305f5e10061196e565b905090565b6000610770848484610d56565b6001600160a01b0384166000908152601260209081526040808320338085529252909120546107ab9186916107a6908690611985565b610c2d565b5060019392505050565b6000546001600160a01b031633146107cc57600080fd5b600380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015610830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108549190611998565b600580546001600160a01b0319166001600160a01b039283161790556003546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156108b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d69190611998565b6005546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015610927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094b9190611998565b600480546001600160a01b0319166001600160a01b039283161781556003805483166000908152601360209081526040808320805460ff1990811660019081179092558554881685526014845282852080548216831790559554871684528184208054909616179094553080835260128252848320845487168452825284832060001990559254838352601190915292902054919092169163f305d719913491906040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af1158015610a50573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a7591906119b5565b505050565b6000546001600160a01b03163314610a9157600080fd5b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610ad357600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b3457600080fd5b610b4681670de0b6b3a764000061196e565b60025550565b6000546001600160a01b03163314610b6357600080fd5b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b6000610738338484610d56565b6000546001600160a01b03163314610bb257600080fd5b610bbb8161149e565b50565b6000546001600160a01b03163314610bd557600080fd5b610be16009600a61195f565b610bef906305f5e10061196e565b600155565b6000546001600160a01b03163314610c0b57600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c945760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216610cf55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c8b565b6001600160a01b0383811660008181526012602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dba5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c8b565b633b9aca008111610e005760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b6044820152606401610c8b565b60105460ff1680610e2957506001600160a01b03831660009081526013602052604090205460ff165b80610e4c57506001600160a01b03821660009081526013602052604090205460ff165b610e865760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610c8b565b6000600d5442610e969190611985565b9050600c548110158015610eb15750600e54600260ff909116105b15610f1c57600e805460ff16906000610ec9836119e3565b82546101009290920a60ff818102199093169183160217909155600e54166001039050610eff5760026008819055600955610f17565b600e5460ff16600203610f1757600160088190556009555b42600d555b600080610f288661150c565b610f33576000610f35565b835b6001600160a01b0387166000908152601360205260408120549192509060ff1680610f7857506001600160a01b03861660009081526013602052604090205460ff165b15610f865760009250611261565b600b5460ff16600103611033576001600160a01b03871660009081526011602052604081208054879290610fbb908490611985565b90915550506001600160a01b03861660009081526011602052604081208054879290610fe8908490611a02565b92505081905550856001600160a01b0316876001600160a01b0316600080516020611abf8339815191528760405161102291815260200190565b60405180910390a350505050505050565b6004546001600160a01b03908116908816036110d1576008546001600160a01b03881660009081526014602052604090205490935060ff16158061109057506001600160a01b03861660009081526014602052604090205460ff16155b156110cc576001546110c1866110bb896001600160a01b031660009081526011602052604090205490565b9061155c565b11156110cc57600080fd5b611261565b6004546001600160a01b039081169087160361125c57306000908152601160205260409020546002548111801561110b5750600b5460ff16155b1561120757600b805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061115257611152611a15565b6001600160a01b03928316602091820292909201015260055482519116908290600190811061118357611183611a15565b6001600160a01b03928316602091820292909201015260035460405163791ac94760e01b815291169063791ac947906111c9908590600090869030904290600401611a2b565b600060405180830381600087803b1580156111e357600080fd5b505af11580156111f7573d6000803e3d6000fd5b5050600b805460ff191690555050505b61dead60005260116020527f97847ee99463795296047093514439c3127772df3715e628aa85601cf8541716541561125057600a546009546112499190611985565b9350611256565b60095493505b50611261565b600092505b821561137b57600f54611274848761196e565b61127e9190611a9c565b915061128a8286611985565b6001600160a01b0388166000908152601160205260408120805492935087929091906112b7908490611985565b90915550506001600160a01b038616600090815260116020526040812080548392906112e4908490611a02565b90915550503060009081526011602052604081208054849290611308908490611a02565b909155505060405182815230906001600160a01b03891690600080516020611abf8339815191529060200160405180910390a3856001600160a01b0316876001600160a01b0316600080516020611abf8339815191528360405161136e91815260200190565b60405180910390a361141d565b6113858286611985565b6001600160a01b038816600090815260116020526040812080549091906113ad908490611985565b90915550506001600160a01b038616600090815260116020526040812080548792906113da908490611a02565b92505081905550856001600160a01b0316876001600160a01b0316600080516020611abf8339815191528760405161141491815260200190565b60405180910390a35b600f54479060009061143a906114348460506115c2565b90611644565b90506000611458600f546114346014866115c290919063ffffffff16565b9050811561147657600654611476906001600160a01b031683611686565b801561149257600754611492906001600160a01b031682611686565b50505050505050505050565b6001600160a01b0381166114b157600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811660009081526013602052604081205460ff16801561154257506000546001600160a01b03838116911614155b801561073c57506001600160a01b03821630141592915050565b6000806115698385611a02565b9050838110156115bb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c8b565b9392505050565b6000826000036115d45750600061073c565b60006115e0838561196e565b9050826115ed8583611a9c565b146115bb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c8b565b60006115bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116bc565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610a75573d6000803e3d6000fd5b600081836116dd5760405162461bcd60e51b8152600401610c8b9190611725565b5060006116ea8486611a9c565b95945050505050565b6001600160a01b0381168114610bbb57600080fd5b60006020828403121561171a57600080fd5b81356115bb816116f3565b600060208083528351808285015260005b8181101561175257858101830151858201604001528201611736565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561178657600080fd5b8235611791816116f3565b946020939093013593505050565b6000806000606084860312156117b457600080fd5b83356117bf816116f3565b925060208401356117cf816116f3565b929592945050506040919091013590565b600080604083850312156117f357600080fd5b82356117fe816116f3565b91506020830135801515811461181357600080fd5b809150509250929050565b60006020828403121561183057600080fd5b5035919050565b6000806040838503121561184a57600080fd5b8235611855816116f3565b91506020830135611813816116f3565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118b657816000190482111561189c5761189c611865565b808516156118a957918102915b93841c9390800290611880565b509250929050565b6000826118cd5750600161073c565b816118da5750600061073c565b81600181146118f057600281146118fa57611916565b600191505061073c565b60ff84111561190b5761190b611865565b50506001821b61073c565b5060208310610133831016604e8410600b8410161715611939575081810a61073c565b611943838361187b565b806000190482111561195757611957611865565b029392505050565b60006115bb60ff8416836118be565b808202811582820484141761073c5761073c611865565b8181038181111561073c5761073c611865565b6000602082840312156119aa57600080fd5b81516115bb816116f3565b6000806000606084860312156119ca57600080fd5b8351925060208401519150604084015190509250925092565b600060ff821660ff81036119f9576119f9611865565b60010192915050565b8082018082111561073c5761073c611865565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a7b5784516001600160a01b031683529383019391830191600101611a56565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ab957634e487b7160e01b600052601260045260246000fd5b50049056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c6a51c162ec2e21ac83f48275f15f44e2063d16cccfcf6eea2fc681e8229a56c64736f6c63430008130033

Deployed Bytecode Sourcemap

10853:10167:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13757:135;;;;;;;;;;;;;:::i;:::-;;16020;;;;;;;;;;-1:-1:-1;16020:135:0;;;;;:::i;:::-;;:::i;13900:83::-;;;;;;;;;;-1:-1:-1;13970:5:0;;;;;;;;;;;;-1:-1:-1;;;13970:5:0;;;;13900:83;;;;;;;:::i;:::-;;;;;;;;14810:193;;;;;;;;;;-1:-1:-1;14810:193:0;;;;;:::i;:::-;;:::i;:::-;;;1440:14:1;;1433:22;1415:41;;1403:2;1388:18;14810:193:0;1275:187:1;11568:21:0;;;;;;;;;;;;;;;;;;;1613:25:1;;;1601:2;1586:18;11568:21:0;1467:177:1;11369:41:0;;;;;;;;;;-1:-1:-1;11369:41:0;;;;-1:-1:-1;;;;;11369:41:0;;;;;;-1:-1:-1;;;;;1839:32:1;;;1821:51;;1809:2;1794:18;11369:41:0;1649:229:1;11834:35:0;;;;;;;;;;;;;;;;14177:100;;;;;;;;;;;;;:::i;11625:22::-;;;;;;;;;;;;;;;;15011:350;;;;;;;;;;-1:-1:-1;15011:350:0;;;;;:::i;:::-;;:::i;12950:799::-;;;:::i;14086:83::-;;;;;;;;;;-1:-1:-1;11162:1:0;14086:83;;;2516:4:1;2504:17;;;2486:36;;2474:2;2459:18;14086:83:0;2344:184:1;16537:142:0;;;;;;;;;;-1:-1:-1;16537:142:0;;;;;:::i;:::-;;:::i;16687:96::-;;;;;;;;;;-1:-1:-1;10970:42:0;16732:4;14378:17;:8;:17;;;;-1:-1:-1;;16687:96:0;;11417:29;;;;;;;;;;-1:-1:-1;11417:29:0;;;;-1:-1:-1;;;;;11417:29:0;;;11697:44;;;;;;;;;;;;;;;;11309:51;;;;;;;;;;;;;;;;14285:118;;;;;;;;;;-1:-1:-1;14285:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;14378:17:0;14351:7;14378:17;;;:8;:17;;;;;;;14285:118;1681:140;;;;;;;;;;;;;:::i;15890:122::-;;;;;;;;;;-1:-1:-1;15890:122:0;;;;;:::i;:::-;;:::i;11482:38::-;;;;;;;;;;-1:-1:-1;11482:38:0;;;;-1:-1:-1;;;;;11482:38:0;;;11881:34;;;;;;;;;;-1:-1:-1;11881:34:0;;;;;;;;11596:22;;;;;;;;;;;;;;;;11246:56;;;;;;;;;;;;;;;;1415:79;;;;;;;;;;-1:-1:-1;1453:7:0;1480:6;-1:-1:-1;;;;;1480:6:0;1415:79;;13991:87;;;;;;;;;;-1:-1:-1;14063:7:0;;;;;;;;;;;;-1:-1:-1;;;14063:7:0;;;;13991:87;;15750:128;;;;;;;;;;-1:-1:-1;15750:128:0;;;;;:::i;:::-;;:::i;14411:199::-;;;;;;;;;;-1:-1:-1;14411:199:0;;;;;:::i;:::-;;:::i;11453:19::-;;;;;;;;;;-1:-1:-1;11453:19:0;;;;-1:-1:-1;;;;;11453:19:0;;;11527:32;;;;;;;;;;-1:-1:-1;11527:32:0;;;;-1:-1:-1;;;;;11527:32:0;;;11748:37;;;;;;;;;;;;;;;;14618:184;;;;;;;;;;-1:-1:-1;14618:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;14767:18:0;;;14735:7;14767:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;14618:184;11792:33;;;;;;;;;;-1:-1:-1;11792:33:0;;;;;;;;1829:109;;;;;;;;;;-1:-1:-1;1829:109:0;;;;;:::i;:::-;;:::i;16432:93::-;;;;;;;;;;;;;:::i;16167:123::-;;;;;;;;;;-1:-1:-1;16167:123:0;;;;;:::i;:::-;;:::i;13757:135::-;1621:4;1659:6;-1:-1:-1;;;;;1659:6:0;1645:10;:20;1534:18;;;;;;13810:14:::1;:21:::0;;-1:-1:-1;;13810:21:0::1;13827:4;13810:21;::::0;;13869:15:::1;13844:22;:40:::0;13757:135::o;16020:::-;1621:4;1659:6;-1:-1:-1;;;;;1659:6:0;1645:10;:20;1534:18;;;;;;16110:15:::1;:37:::0;;-1:-1:-1;;;;;;16110:37:0::1;-1:-1:-1::0;;;;;16110:37:0;;;::::1;::::0;;;::::1;::::0;;16020:135::o;14810:193::-;14912:4;14934:39;324:10;14957:7;14966:6;14934:8;:39::i;:::-;-1:-1:-1;14991:4:0;14810:193;;;;;:::o;14177:100::-;14230:7;11226:13;11162:1;11226:2;:13;:::i;:::-;11212:27;;:11;:27;:::i;:::-;14250:19;;14177:100;:::o;15011:350::-;15143:4;15160:36;15170:6;15178:9;15189:6;15160:9;:36::i;:::-;-1:-1:-1;;;;;15278:19:0;;;;;;:11;:19;;;;;;;;324:10;15278:33;;;;;;;;;15207:124;;15230:6;;15278:42;;15314:6;;15278:42;:::i;:::-;15207:8;:124::i;:::-;-1:-1:-1;15349:4:0;15011:350;;;;;:::o;12950:799::-;1621:4;1659:6;-1:-1:-1;;;;;1659:6:0;1645:10;:20;1534:18;;;;;;13019:15:::1;:105:::0;;-1:-1:-1;;;;;;13019:105:0::1;13071:42;13019:105:::0;;::::1;::::0;;;13142:22:::1;::::0;;-1:-1:-1;;;13142:22:0;;;;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;13071:42;13142:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13135:4;:29:::0;;-1:-1:-1;;;;;;13135:29:0::1;-1:-1:-1::0;;;;;13135:29:0;;::::1;;::::0;;13209:15:::1;::::0;:25:::1;::::0;;-1:-1:-1;;;13209:25:0;;;;:15;;;::::1;::::0;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:15;:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13289:4;::::0;13191:113:::1;::::0;-1:-1:-1;;;13191:113:0;;13269:4:::1;13191:113;::::0;::::1;6253:34:1::0;-1:-1:-1;;;;;13289:4:0;;::::1;6303:18:1::0;;;6296:43;13191:55:0;::::1;::::0;::::1;::::0;6188:18:1;;13191:113:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13175:13;:129:::0;;-1:-1:-1;;;;;;13175:129:0::1;-1:-1:-1::0;;;;;13175:129:0;;::::1;;::::0;;13345:15:::1;::::0;;;::::1;-1:-1:-1::0;13317:45:0;;;:19:::1;:45;::::0;;;;;;;:52;;-1:-1:-1;;13317:52:0;;::::1;-1:-1:-1::0;13317:52:0;;::::1;::::0;;;13415:15;;;::::1;13380:52:::0;;:26:::1;:52:::0;;;;;:59;;;::::1;::::0;::::1;::::0;;13487:13;;;::::1;13452:50:::0;;;;;:57;;;;::::1;;::::0;;;13542:4:::1;13522:26:::0;;;:11:::1;:26:::0;;;;;13557:15;;;::::1;13522:52:::0;;;;;;;-1:-1:-1;;13522:86:0;;13621:15;;14378:17;;;:8;:17;;;;;;;13621:15;;;::::1;::::0;:31:::1;::::0;13660:9:::1;::::0;13542:4;13621:120:::1;::::0;-1:-1:-1;;;;;;13621:120:0::1;::::0;;;;;;-1:-1:-1;;;;;6709:15:1;;;13621:120:0::1;::::0;::::1;6691:34:1::0;6741:18;;;6734:34;13710:1:0::1;6784:18:1::0;;;6777:34;;;6827:18;;;6820:34;13714:10:0::1;6870:19:1::0;;;6863:44;13725:15:0::1;6923:19:1::0;;;6916:35;6625:19;;13621:120:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12950:799::o:0;16537:142::-;1621:4;1659:6;-1:-1:-1;;;;;1659:6:0;1645:10;:20;1534:18;;;;;;-1:-1:-1;;;;;16628:34:0;;;::::1;;::::0;;;:26:::1;:34;::::0;;;;:43;;-1:-1:-1;;16628:43:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16537:142::o;1681:140::-;1621:4;1659:6;-1:-1:-1;;;;;1659:6:0;1645:10;:20;1534:18;;;;;;1780:1:::1;1764:6:::0;;1743:40:::1;::::0;-1:-1:-1;;;;;1764:6:0;;::::1;::::0;1743:40:::1;::::0;1780:1;;1743:40:::1;1811:1;1794:19:::0;;-1:-1:-1;;;;;;1794:19:0::1;::::0;;1681:140::o;15890:122::-;1621:4;1659:6;-1:-1:-1;;;;;1659:6:0;1645:10;:20;1534:18;;;;;;15979:25:::1;:16:::0;15998:6:::1;15979:25;:::i;:::-;15969:7;:35:::0;-1:-1:-1;15890:122:0:o;15750:128::-;1621:4;1659:6;-1:-1:-1;;;;;1659:6:0;1645:10;:20;1534:18;;;;;;-1:-1:-1;;;;;15834:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;15834:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15750:128::o;14411:199::-;14516:4;14538:42;324:10;14562:9;14573:6;14538:9;:42::i;1829:109::-;1621:4;1659:6;-1:-1:-1;;;;;1659:6:0;1645:10;:20;1534:18;;;;;;1902:28:::1;1921:8;1902:18;:28::i;:::-;1829:109:::0;:::o;16432:93::-;1621:4;1659:6;-1:-1:-1;;;;;1659:6:0;1645:10;:20;1534:18;;;;;;11226:13:::1;11162:1;11226:2;:13;:::i;:::-;11212:27;::::0;:11:::1;:27;:::i;:::-;16488:14;:29:::0;16432:93::o;16167:123::-;1621:4;1659:6;-1:-1:-1;;;;;1659:6:0;1645:10;:20;1534:18;;;;;;16251:9:::1;:31:::0;;-1:-1:-1;;;;;;16251:31:0::1;-1:-1:-1::0;;;;;16251:31:0;;;::::1;::::0;;;::::1;::::0;;16167:123::o;15369:369::-;-1:-1:-1;;;;;15496:19:0;;15488:68;;;;-1:-1:-1;;;15488:68:0;;7475:2:1;15488:68:0;;;7457:21:1;7514:2;7494:18;;;7487:30;7553:34;7533:18;;;7526:62;-1:-1:-1;;;7604:18:1;;;7597:34;7648:19;;15488:68:0;;;;;;;;;-1:-1:-1;;;;;15575:21:0;;15567:68;;;;-1:-1:-1;;;15567:68:0;;7880:2:1;15567:68:0;;;7862:21:1;7919:2;7899:18;;;7892:30;7958:34;7938:18;;;7931:62;-1:-1:-1;;;8009:18:1;;;8002:32;8051:19;;15567:68:0;7678:398:1;15567:68:0;-1:-1:-1;;;;;15646:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15698:32;;1613:25:1;;;15698:32:0;;1586:18:1;15698:32:0;;;;;;;15369:369;;;:::o;16971:4009::-;-1:-1:-1;;;;;17095:18:0;;17087:68;;;;-1:-1:-1;;;17087:68:0;;8283:2:1;17087:68:0;;;8265:21:1;8322:2;8302:18;;;8295:30;8361:34;8341:18;;;8334:62;-1:-1:-1;;;8412:18:1;;;8405:35;8457:19;;17087:68:0;8081:401:1;17087:68:0;17183:3;17174:6;:12;17166:41;;;;-1:-1:-1;;;17166:41:0;;8689:2:1;17166:41:0;;;8671:21:1;8728:2;8708:18;;;8701:30;-1:-1:-1;;;8747:18:1;;;8740:46;8803:18;;17166:41:0;8487:340:1;17166:41:0;17226:14;;;;;:43;;-1:-1:-1;;;;;;17244:25:0;;;;;;:19;:25;;;;;;;;17226:43;:70;;;-1:-1:-1;;;;;;17273:23:0;;;;;;:19;:23;;;;;;;;17226:70;17218:94;;;;-1:-1:-1;;;17218:94:0;;9034:2:1;17218:94:0;;;9016:21:1;9073:2;9053:18;;;9046:30;-1:-1:-1;;;9092:18:1;;;9085:41;9143:18;;17218:94:0;8832:335:1;17218:94:0;17341:19;17381:22;;17363:15;:40;;;;:::i;:::-;17341:62;;17443:17;;17428:11;:32;;:56;;;;-1:-1:-1;17464:16:0;;17483:1;17464:16;;;;:20;17428:56;17424:554;;;17501:16;:18;;;;;:16;:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;17538:16;;;-1:-1:-1;17538:21:0;;-1:-1:-1;17534:321:0;;17627:1;17618:6;:10;;;17647:7;:11;17534:321;;;17684:16;;;;17704:1;17684:21;17680:175;;17808:1;17799:6;:10;;;17828:7;:11;17680:175;17951:15;17926:22;:40;17424:554;17990:12;18021:17;18041:22;18058:4;18041:16;:22::i;:::-;:34;;18074:1;18041:34;;;18065:6;18041:34;-1:-1:-1;;;;;18125:25:0;;18086:22;18125:25;;;:19;:25;;;;;;18021:54;;-1:-1:-1;18086:22:0;18125:25;;;:52;;-1:-1:-1;;;;;;18154:23:0;;;;;;:19;:23;;;;;;;;18125:52;18121:1654;;;18201:1;18194:8;;18121:1654;;;18252:16;;;;;:21;18248:239;;-1:-1:-1;;;;;18329:14:0;;;;;;:8;:14;;;;;:24;;18347:6;;18329:14;:24;;18347:6;;18329:24;:::i;:::-;;;;-1:-1:-1;;;;;;;18372:12:0;;;;;;:8;:12;;;;;:22;;18388:6;;18372:12;:22;;18388:6;;18372:22;:::i;:::-;;;;;;;;18435:2;-1:-1:-1;;;;;18420:26:0;18429:4;-1:-1:-1;;;;;18420:26:0;-1:-1:-1;;;;;;;;;;;18439:6:0;18420:26;;;;1613:25:1;;1601:2;1586:18;;1467:177;18420:26:0;;;;;;;;18465:7;;;;16971:4009;;;:::o;18248:239::-;18515:13;;-1:-1:-1;;;;;18515:13:0;;;18507:21;;;;18503:1261;;18560:6;;-1:-1:-1;;;;;18590:32:0;;;;;;:26;:32;;;;;;18560:6;;-1:-1:-1;18590:32:0;;18589:33;;:68;;-1:-1:-1;;;;;;18627:30:0;;;;;;:26;:30;;;;;;;;18626:31;18589:68;18585:165;;;18715:14;;18686:25;18704:6;18686:13;18696:2;-1:-1:-1;;;;;14378:17:0;14351:7;14378:17;;;:8;:17;;;;;;;14285:118;18686:13;:17;;:25::i;:::-;:43;;18678:52;;;;;;18503:1261;;;18781:13;;-1:-1:-1;;;;;18781:13:0;;;18775:19;;;;18771:993;;18855:4;18815:20;18838:23;;;:8;:23;;;;;;18901:7;;18886:22;;:47;;;;-1:-1:-1;18912:16:0;;;;:21;18886:47;18882:647;;;18958:16;:20;;-1:-1:-1;;18958:20:0;18977:1;18958:20;;;19025:16;;;19039:1;19025:16;;;;;;;;-1:-1:-1;;19025:16:0;;;;;;;;;;-1:-1:-1;19025:16:0;19001:40;;19082:4;19064;19069:1;19064:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19064:23:0;;;:7;;;;;;;;;:23;19120:4;;19110:7;;19120:4;;;19110;;19120;;19110:7;;;;;;:::i;:::-;-1:-1:-1;;;;;19110:14:0;;;:7;;;;;;;;;:14;19147:15;;:319;;-1:-1:-1;;;19147:319:0;;:15;;;:92;;:319;;19270:12;;19147:15;;19345:4;;19388;;19424:15;;19147:319;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19489:16:0;:20;;-1:-1:-1;;19489:20:0;;;-1:-1:-1;;;18882:647:0;10970:42;16732:4;14378:17;:8;:17;;;;-1:-1:-1;19549:149:0;;19608:7;;19598;;:17;;;;:::i;:::-;19591:24;;19549:149;;;19671:7;;19664:14;;19549:149;18796:919;18771:993;;;19747:1;19740:8;;18771:993;19846:9;;19842:595;;19930:14;;19913:13;19922:4;19913:6;:13;:::i;:::-;19912:32;;;;:::i;:::-;19900:44;-1:-1:-1;19976:18:0;19900:44;19976:6;:18;:::i;:::-;-1:-1:-1;;;;;20011:14:0;;;;;;:8;:14;;;;;:24;;19959:35;;-1:-1:-1;20029:6:0;;20011:14;;;:24;;20029:6;;20011:24;:::i;:::-;;;;-1:-1:-1;;;;;;;20050:12:0;;;;;;:8;:12;;;;;:30;;20066:14;;20050:12;:30;;20066:14;;20050:30;:::i;:::-;;;;-1:-1:-1;;20112:4:0;20095:23;;;;:8;:23;;;;;:36;;20122:9;;20095:23;:36;;20122:9;;20095:36;:::i;:::-;;;;-1:-1:-1;;20151:40:0;;1613:25:1;;;20174:4:0;;-1:-1:-1;;;;;20151:40:0;;;-1:-1:-1;;;;;;;;;;;20151:40:0;1601:2:1;1586:18;20151:40:0;;;;;;;20226:2;-1:-1:-1;;;;;20211:34:0;20220:4;-1:-1:-1;;;;;20211:34:0;-1:-1:-1;;;;;;;;;;;20230:14:0;20211:34;;;;1613:25:1;;1601:2;1586:18;;1467:177;20211:34:0;;;;;;;;19842:595;;;20322:18;20331:9;20322:6;:18;:::i;:::-;-1:-1:-1;;;;;20304:14:0;;;;;;:8;:14;;;;;:36;;:14;;;:36;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;20355:12:0;;;;;;:8;:12;;;;;:22;;20371:6;;20355:12;:22;;20371:6;;20355:22;:::i;:::-;;;;;;;;20414:2;-1:-1:-1;;;;;20399:26:0;20408:4;-1:-1:-1;;;;;20399:26:0;-1:-1:-1;;;;;;;;;;;20418:6:0;20399:26;;;;1613:25:1;;1601:2;1586:18;;1467:177;20399:26:0;;;;;;;;19842:595;20564:14;;20474:21;;20449:22;;20537:42;;:22;20474:21;20556:2;20537:18;:22::i;:::-;:26;;:42::i;:::-;20508:71;;20620:20;20643:42;20670:14;;20643:22;20662:2;20643:14;:18;;:22;;;;:::i;:42::-;20620:65;-1:-1:-1;20750:22:0;;20746:111;;20809:15;;20788:57;;-1:-1:-1;;;;;20809:15:0;20826:18;20788:20;:57::i;:::-;20881:16;;20877:94;;20935:9;;20914:45;;-1:-1:-1;;;;;20935:9:0;20946:12;20914:20;:45::i;:::-;17074:3906;;;;;;;16971:4009;;;:::o;1946:187::-;-1:-1:-1;;;;;2020:22:0;;2012:31;;;;;;2080:6;;;2059:38;;-1:-1:-1;;;;;2059:38:0;;;;2080:6;;;2059:38;;;2108:6;:17;;-1:-1:-1;;;;;;2108:17:0;-1:-1:-1;;;;;2108:17:0;;;;;;;;;;1946:187::o;16791:172::-;-1:-1:-1;;;;;16880:27:0;;16856:4;16880:27;;;:19;:27;;;;;;;;:48;;;;-1:-1:-1;1453:7:0;1480:6;-1:-1:-1;;;;;16911:17:0;;;1480:6;;16911:17;;16880:48;:75;;;;-1:-1:-1;;;;;;16932:23:0;;16950:4;16932:23;;16873:82;16791:172;-1:-1:-1;;16791:172:0:o;2168:181::-;2226:7;;2258:5;2262:1;2258;:5;:::i;:::-;2246:17;;2287:1;2282;:6;;2274:46;;;;-1:-1:-1;;;2274:46:0;;11155:2:1;2274:46:0;;;11137:21:1;11194:2;11174:18;;;11167:30;11233:29;11213:18;;;11206:57;11280:18;;2274:46:0;10953:351:1;2274:46:0;2340:1;2168:181;-1:-1:-1;;;2168:181:0:o;2701:250::-;2759:7;2783:1;2788;2783:6;2779:47;;-1:-1:-1;2813:1:0;2806:8;;2779:47;2838:9;2850:5;2854:1;2850;:5;:::i;:::-;2838:17;-1:-1:-1;2883:1:0;2874:5;2878:1;2838:17;2874:5;:::i;:::-;:10;2866:56;;;;-1:-1:-1;;;2866:56:0;;11511:2:1;2866:56:0;;;11493:21:1;11550:2;11530:18;;;11523:30;11589:34;11569:18;;;11562:62;-1:-1:-1;;;11640:18:1;;;11633:31;11681:19;;2866:56:0;11309:397:1;2959:132:0;3017:7;3044:39;3048:1;3051;3044:39;;;;;;;;;;;;;;;;;:3;:39::i;16298:126::-;16390:26;;-1:-1:-1;;;;;16390:18:0;;;:26;;;;;16409:6;;16390:26;;;;16409:6;16390:18;:26;;;;;;;;;;;;;;;;;;;3099:278;3185:7;3220:12;3213:5;3205:28;;;;-1:-1:-1;;;3205:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3244:9:0;3256:5;3260:1;3256;:5;:::i;:::-;3244:17;3099:278;-1:-1:-1;;;;;3099:278:0:o;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;150:247;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;402:548::-;514:4;543:2;572;561:9;554:21;604:6;598:13;647:6;642:2;631:9;627:18;620:34;672:1;682:140;696:6;693:1;690:13;682:140;;;791:14;;;787:23;;781:30;757:17;;;776:2;753:26;746:66;711:10;;682:140;;;686:3;871:1;866:2;857:6;846:9;842:22;838:31;831:42;941:2;934;930:7;925:2;917:6;913:15;909:29;898:9;894:45;890:54;882:62;;;;402:548;;;;:::o;955:315::-;1023:6;1031;1084:2;1072:9;1063:7;1059:23;1055:32;1052:52;;;1100:1;1097;1090:12;1052:52;1139:9;1126:23;1158:31;1183:5;1158:31;:::i;:::-;1208:5;1260:2;1245:18;;;;1232:32;;-1:-1:-1;;;955:315:1:o;1883:456::-;1960:6;1968;1976;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;:::-;2153:5;-1:-1:-1;2210:2:1;2195:18;;2182:32;2223:33;2182:32;2223:33;:::i;:::-;1883:456;;2275:7;;-1:-1:-1;;;2329:2:1;2314:18;;;;2301:32;;1883:456::o;2533:416::-;2598:6;2606;2659:2;2647:9;2638:7;2634:23;2630:32;2627:52;;;2675:1;2672;2665:12;2627:52;2714:9;2701:23;2733:31;2758:5;2733:31;:::i;:::-;2783:5;-1:-1:-1;2840:2:1;2825:18;;2812:32;2882:15;;2875:23;2863:36;;2853:64;;2913:1;2910;2903:12;2853:64;2936:7;2926:17;;;2533:416;;;;;:::o;3162:180::-;3221:6;3274:2;3262:9;3253:7;3249:23;3245:32;3242:52;;;3290:1;3287;3280:12;3242:52;-1:-1:-1;3313:23:1;;3162:180;-1:-1:-1;3162:180:1:o;3571:388::-;3639:6;3647;3700:2;3688:9;3679:7;3675:23;3671:32;3668:52;;;3716:1;3713;3706:12;3668:52;3755:9;3742:23;3774:31;3799:5;3774:31;:::i;:::-;3824:5;-1:-1:-1;3881:2:1;3866:18;;3853:32;3894:33;3853:32;3894:33;:::i;3964:127::-;4025:10;4020:3;4016:20;4013:1;4006:31;4056:4;4053:1;4046:15;4080:4;4077:1;4070:15;4096:422;4185:1;4228:5;4185:1;4242:270;4263:7;4253:8;4250:21;4242:270;;;4322:4;4318:1;4314:6;4310:17;4304:4;4301:27;4298:53;;;4331:18;;:::i;:::-;4381:7;4371:8;4367:22;4364:55;;;4401:16;;;;4364:55;4480:22;;;;4440:15;;;;4242:270;;;4246:3;4096:422;;;;;:::o;4523:806::-;4572:5;4602:8;4592:80;;-1:-1:-1;4643:1:1;4657:5;;4592:80;4691:4;4681:76;;-1:-1:-1;4728:1:1;4742:5;;4681:76;4773:4;4791:1;4786:59;;;;4859:1;4854:130;;;;4766:218;;4786:59;4816:1;4807:10;;4830:5;;;4854:130;4891:3;4881:8;4878:17;4875:43;;;4898:18;;:::i;:::-;-1:-1:-1;;4954:1:1;4940:16;;4969:5;;4766:218;;5068:2;5058:8;5055:16;5049:3;5043:4;5040:13;5036:36;5030:2;5020:8;5017:16;5012:2;5006:4;5003:12;4999:35;4996:77;4993:159;;;-1:-1:-1;5105:19:1;;;5137:5;;4993:159;5184:34;5209:8;5203:4;5184:34;:::i;:::-;5254:6;5250:1;5246:6;5242:19;5233:7;5230:32;5227:58;;;5265:18;;:::i;:::-;5303:20;;4523:806;-1:-1:-1;;;4523:806:1:o;5334:140::-;5392:5;5421:47;5462:4;5452:8;5448:19;5442:4;5421:47;:::i;5479:168::-;5552:9;;;5583;;5600:15;;;5594:22;;5580:37;5570:71;;5621:18;;:::i;5652:128::-;5719:9;;;5740:11;;;5737:37;;;5754:18;;:::i;5785:251::-;5855:6;5908:2;5896:9;5887:7;5883:23;5879:32;5876:52;;;5924:1;5921;5914:12;5876:52;5956:9;5950:16;5975:31;6000:5;5975:31;:::i;6962:306::-;7050:6;7058;7066;7119:2;7107:9;7098:7;7094:23;7090:32;7087:52;;;7135:1;7132;7125:12;7087:52;7164:9;7158:16;7148:26;;7214:2;7203:9;7199:18;7193:25;7183:35;;7258:2;7247:9;7243:18;7237:25;7227:35;;6962:306;;;;;:::o;9172:175::-;9209:3;9253:4;9246:5;9242:16;9282:4;9273:7;9270:17;9267:43;;9290:18;;:::i;:::-;9339:1;9326:15;;9172:175;-1:-1:-1;;9172:175:1:o;9352:125::-;9417:9;;;9438:10;;;9435:36;;;9451:18;;:::i;9614:127::-;9675:10;9670:3;9666:20;9663:1;9656:31;9706:4;9703:1;9696:15;9730:4;9727:1;9720:15;9746:980;10008:4;10056:3;10045:9;10041:19;10087:6;10076:9;10069:25;10113:2;10151:6;10146:2;10135:9;10131:18;10124:34;10194:3;10189:2;10178:9;10174:18;10167:31;10218:6;10253;10247:13;10284:6;10276;10269:22;10322:3;10311:9;10307:19;10300:26;;10361:2;10353:6;10349:15;10335:29;;10382:1;10392:195;10406:6;10403:1;10400:13;10392:195;;;10471:13;;-1:-1:-1;;;;;10467:39:1;10455:52;;10562:15;;;;10527:12;;;;10503:1;10421:9;10392:195;;;-1:-1:-1;;;;;;;10643:32:1;;;;10638:2;10623:18;;10616:60;-1:-1:-1;;;10707:3:1;10692:19;10685:35;10604:3;9746:980;-1:-1:-1;;;9746:980:1:o;10731:217::-;10771:1;10797;10787:132;;10841:10;10836:3;10832:20;10829:1;10822:31;10876:4;10873:1;10866:15;10904:4;10901:1;10894:15;10787:132;-1:-1:-1;10933:9:1;;10731:217::o

Swarm Source

ipfs://c6a51c162ec2e21ac83f48275f15f44e2063d16cccfcf6eea2fc681e8229a56c
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.