ETH Price: $2,449.51 (+3.61%)

Token

NTRX (NOVAMATRIX)
 

Overview

Max Total Supply

1,000,000,000 NOVAMATRIX

Holders

24

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.059525165447009101 NOVAMATRIX

Value
$0.00
0x2c253a9a5710d73c72a5304fab48581081deaa83
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:
NOVAMATRIX

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-02
*/

/**
NovaMatrix opens a new chapter in the blockchain world by being a layer 1 project 
that not only provides a robust foundation but also integrates it with the Non-Fungible Tokens (NFT) revolution.
 Supported by advanced blockchain technology, NovaMatrix embraces the incredible potential of NFTs to create an innovative and powerful ecosystem. 

       Website: https://novamatrix.org
       Telegram: https://t.me/NovaMatrix_Channel
       X: https://x.com/NovaMatrix_
*/  

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.9;

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 is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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



}

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;
        return c;
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract NOVAMATRIX is Context, IERC20, Ownable {
    string private constant _name = "NTRX";
    string private constant _symbol = "NOVAMATRIX";

    using SafeMath for uint256;
    mapping(address => bool) public bots; 

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 5;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 5;

    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;


    mapping (address => uint256) public _buyMap;
    address payable private _developmentAddress = payable(0x48c2848C586045871E385522764A2F90F63Bbeb9);
    address payable private _marketingAddress = payable(0xd4C0e54172c806F0819ce0746EF07fCeaD416461);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = 10000000 * 10**18;
    uint256 public _maxWalletSize = 20000000 * 10**18;
    uint256 public _swapTokensAtAmount = 10000 * 10**18;

    uint8 private constant _decimals = 18;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
  

     modifier checkMaxWalletSize(address to, uint256 amount) {
        if (to != uniswapV2Pair && !_isExcludedFromFee[to]) {
            require(balanceOf(to) + amount <= _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
        }
        _;
    }

    modifier checkMaxTxAmount(uint256 amount) {
        require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
        _;
    }

      modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

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

    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 _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    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 getTaxFeeOnBuy() external view returns (uint256) {
    return _taxFeeOnBuy;
}

function getTaxFeeOnSell() external view returns (uint256) {
    return _taxFeeOnSell;
}


    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");


      

        if (from != owner() && to != owner()) {

              if (to != uniswapV2Pair && !_isExcludedFromFee[to]) {
        require(balanceOf(to) + amount <= _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
    }

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function setTrading() public onlyOwner {
        tradingOpen = true;
    }

    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTaxFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTaxFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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":"notbot","type":"address"}],"name":"unblockBot","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"}]

60806040526b033b2e3c9fd0803ce80000005f196200001f919062000710565b5f196200002d919062000774565b6007555f6009556005600a555f600b556005600c55600b54600d55600c54600e55600d54600f55600e546010557348c2848c586045871e385522764a2f90f63bbeb960125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d4c0e54172c806f0819ce0746ef07fcead41646160135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f601560146101000a81548160ff0219169083151502179055505f6015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff0219169083151502179055506a084595161401484a0000006016556a108b2a2c2802909400000060175569021e19e0c9bab240000060185534801562000188575f80fd5b505f6200019a620006ac60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460035f6200024c620006ac60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200032b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000351919062000813565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003b7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003dd919062000813565b6040518363ffffffff1660e01b8152600401620003fc92919062000854565b6020604051808303815f875af115801562000419573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200043f919062000813565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160065f62000493620006b360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000633620006ac60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce80000006040516200069d919062000890565b60405180910390a350620008ab565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200071c82620006da565b91506200072983620006da565b9250826200073c576200073b620006e3565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200078082620006da565b91506200078d83620006da565b9250828203905081811115620007a857620007a762000747565b5b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007dd82620007b2565b9050919050565b620007ef81620007d1565b8114620007fa575f80fd5b50565b5f815190506200080d81620007e4565b92915050565b5f602082840312156200082b576200082a620007ae565b5b5f6200083a84828501620007fd565b91505092915050565b6200084e81620007d1565b82525050565b5f604082019050620008695f83018562000843565b62000878602083018462000843565b9392505050565b6200088a81620006da565b82525050565b5f602082019050620008a55f8301846200087f565b92915050565b613b0980620008b95f395ff3fe6080604052600436106101da575f3560e01c806374010ece11610101578063a2a957bb11610094578063c3c8cd8011610063578063c3c8cd8014610677578063c492f0461461068d578063dd62ed3e146106b5578063ea1644d5146106f1576101e1565b8063a2a957bb146105ad578063a9059cbb146105d5578063bfd7928414610611578063bff28cf71461064d576101e1565b80638da5cb5b116100d05780638da5cb5b146105075780638f9a55c01461053157806395d89b411461055b57806398a5c31514610585576101e1565b806374010ece146104635780637c519ffb1461048b5780637d1db4a5146104a15780637f2feddc146104cb576101e1565b80632fd689e3116101795780636d8aa8f8116101485780636d8aa8f8146103d35780636fc3eaec146103fb57806370a0823114610411578063715018a61461044d576101e1565b80632fd689e31461032d578063313ce5671461035757806349bd5a5e146103815780636b999053146103ab576101e1565b80631694505e116101b55780631694505e1461027357806318160ddd1461029d5780631bc7522b146102c757806323b872dd146102f1576101e1565b8062b8cf2a146101e557806306fdde031461020d578063095ea7b314610237576101e1565b366101e157005b5f80fd5b3480156101f0575f80fd5b5061020b60048036038101906102069190612c32565b610719565b005b348015610218575f80fd5b50610221610838565b60405161022e9190612cf3565b60405180910390f35b348015610242575f80fd5b5061025d60048036038101906102589190612d46565b610875565b60405161026a9190612d9e565b60405180910390f35b34801561027e575f80fd5b50610287610892565b6040516102949190612e12565b60405180910390f35b3480156102a8575f80fd5b506102b16108b7565b6040516102be9190612e3a565b60405180910390f35b3480156102d2575f80fd5b506102db6108ca565b6040516102e89190612e3a565b60405180910390f35b3480156102fc575f80fd5b5061031760048036038101906103129190612e53565b6108d3565b6040516103249190612d9e565b60405180910390f35b348015610338575f80fd5b506103416109a7565b60405161034e9190612e3a565b60405180910390f35b348015610362575f80fd5b5061036b6109ad565b6040516103789190612ebe565b60405180910390f35b34801561038c575f80fd5b506103956109b5565b6040516103a29190612ee6565b60405180910390f35b3480156103b6575f80fd5b506103d160048036038101906103cc9190612eff565b6109da565b005b3480156103de575f80fd5b506103f960048036038101906103f49190612f54565b610ac5565b005b348015610406575f80fd5b5061040f610b76565b005b34801561041c575f80fd5b5061043760048036038101906104329190612eff565b610c43565b6040516104449190612e3a565b60405180910390f35b348015610458575f80fd5b50610461610c91565b005b34801561046e575f80fd5b5061048960048036038101906104849190612f7f565b610ddf565b005b348015610496575f80fd5b5061049f610e7d565b005b3480156104ac575f80fd5b506104b5610f2e565b6040516104c29190612e3a565b60405180910390f35b3480156104d6575f80fd5b506104f160048036038101906104ec9190612eff565b610f34565b6040516104fe9190612e3a565b60405180910390f35b348015610512575f80fd5b5061051b610f49565b6040516105289190612ee6565b60405180910390f35b34801561053c575f80fd5b50610545610f70565b6040516105529190612e3a565b60405180910390f35b348015610566575f80fd5b5061056f610f76565b60405161057c9190612cf3565b60405180910390f35b348015610590575f80fd5b506105ab60048036038101906105a69190612f7f565b610fb3565b005b3480156105b8575f80fd5b506105d360048036038101906105ce9190612faa565b611051565b005b3480156105e0575f80fd5b506105fb60048036038101906105f69190612d46565b611107565b6040516106089190612d9e565b60405180910390f35b34801561061c575f80fd5b5061063760048036038101906106329190612eff565b611124565b6040516106449190612d9e565b60405180910390f35b348015610658575f80fd5b50610661611141565b60405161066e9190612e3a565b60405180910390f35b348015610682575f80fd5b5061068b61114a565b005b348015610698575f80fd5b506106b360048036038101906106ae9190613067565b61121f565b005b3480156106c0575f80fd5b506106db60048036038101906106d691906130c4565b61134e565b6040516106e89190612e3a565b60405180910390f35b3480156106fc575f80fd5b5061071760048036038101906107129190612f7f565b6113d0565b005b61072161146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a49061314c565b60405180910390fd5b5f5b815181101561083457600160025f8484815181106107d0576107cf61316a565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506107af565b5050565b60606040518060400160405280600481526020017f4e54525800000000000000000000000000000000000000000000000000000000815250905090565b5f61088861088161146e565b8484611475565b6001905092915050565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6b033b2e3c9fd0803ce8000000905090565b5f600c54905090565b5f6108df848484611638565b61099c846108eb61146e565b61099785604051806060016040528060288152602001613aac6028913960055f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61094e61146e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fdf9092919063ffffffff16565b611475565b600190509392505050565b60185481565b5f6012905090565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109e261146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a659061314c565b60405180910390fd5b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610acd61146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b509061314c565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bb661146e565b73ffffffffffffffffffffffffffffffffffffffff161480610c2b575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c1361146e565b73ffffffffffffffffffffffffffffffffffffffff16145b610c33575f80fd5b5f479050610c4081612041565b50565b5f610c8a60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120a9565b9050919050565b610c9961146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1c9061314c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610de761146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6a9061314c565b60405180910390fd5b8060168190555050565b610e8561146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f089061314c565b60405180910390fd5b6001601560146101000a81548160ff021916908315150217905550565b60165481565b6011602052805f5260405f205f915090505481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60175481565b60606040518060400160405280600a81526020017f4e4f56414d415452495800000000000000000000000000000000000000000000815250905090565b610fbb61146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103e9061314c565b60405180910390fd5b8060188190555050565b61105961146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dc9061314c565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b5f61111a61111361146e565b8484611638565b6001905092915050565b6002602052805f5260405f205f915054906101000a900460ff1681565b5f600a54905090565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661118a61146e565b73ffffffffffffffffffffffffffffffffffffffff1614806111ff575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111e761146e565b73ffffffffffffffffffffffffffffffffffffffff16145b611207575f80fd5b5f61121130610c43565b905061121c81612115565b50565b61122761146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa9061314c565b60405180910390fd5b5f5b83839050811015611348578160065f8686858181106112d7576112d661316a565b5b90506020020160208101906112ec9190612eff565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506112b5565b50505050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6113d861146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b9061314c565b60405180910390fd5b8060178190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90613207565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154890613295565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161162b9190612e3a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169d90613323565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170b906133b1565b60405180910390fd5b5f8111611756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174d9061343f565b60405180910390fd5b60165481111561179b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611792906134a7565b60405180910390fd5b6117a3610f49565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561181157506117e1610f49565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611cec5760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118ba575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561191857601754816118cc84610c43565b6118d691906134f2565b1115611917576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190e90613595565b60405180910390fd5b5b601560149054906101000a900460ff166119a257611934610f49565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199890613623565b60405180910390fd5b5b6016548111156119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de906134a7565b60405180910390fd5b60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611a85575060025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611ac4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abb906136b1565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b705760175481611b2584610c43565b611b2f91906134f2565b10611b6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6690613595565b60405180910390fd5b5b5f611b7a30610c43565b90505f60185482101590506016548210611b945760165491505b808015611bac575060158054906101000a900460ff16155b8015611c05575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c1d5750601560169054906101000a900460ff165b8015611c70575060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611cc3575060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ce957611cd182612115565b5f4790505f811115611ce757611ce647612041565b5b505b50505b5f6001905060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611d8c575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611e3d575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611e3c575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611e4a575f9050611fcd565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ef3575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f0b57600954600d81905550600a54600e819055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611fb4575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611fcc57600b54600d81905550600c54600e819055505b5b611fd98484848461237e565b50505050565b5f838311158290612026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201d9190612cf3565b60405180910390fd5b505f838561203491906136cf565b9050809150509392505050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120a5573d5f803e3d5ffd5b5050565b5f6007548211156120ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e690613772565b60405180910390fd5b5f6120f86123ab565b905061210d81846123d490919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561214b5761214a612a9c565b5b6040519080825280602002602001820160405280156121795781602001602082028036833780820191505090505b50905030815f815181106121905761218f61316a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612234573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225891906137a4565b8160018151811061226c5761226b61316a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122d23060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611475565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016123349594939291906138bf565b5f604051808303815f87803b15801561234b575f80fd5b505af115801561235d573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b8061238c5761238b61241d565b5b612397848484612456565b806123a5576123a4612616565b5b50505050565b5f805f6123b661262a565b915091506123cd81836123d490919063ffffffff16565b9250505090565b5f61241583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612692565b905092915050565b5f600d5414801561242f57505f600e54145b61245457600d54600f81905550600e546010819055505f600d819055505f600e819055505b565b5f805f805f80612465876126f3565b9550955095509550955095506124c18660035f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461275390919063ffffffff16565b60035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506125528560035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461279c90919063ffffffff16565b60035f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061259c816127f9565b6125a684836128b0565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126039190612e3a565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b5f805f60075490505f6b033b2e3c9fd0803ce800000090506126636b033b2e3c9fd0803ce80000006007546123d490919063ffffffff16565b821015612685576007546b033b2e3c9fd0803ce800000093509350505061268e565b81819350935050505b9091565b5f80831182906126d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cf9190612cf3565b60405180910390fd5b505f83856126e69190613944565b9050809150509392505050565b5f805f805f805f805f61270b8a600d54600e546128ea565b9250925092505f61271a6123ab565b90505f805f61272b8e87878761297c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f61279483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fdf565b905092915050565b5f8082846127aa91906134f2565b9050838110156127ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e6906139be565b60405180910390fd5b8091505092915050565b5f6128026123ab565b90505f6128188284612a0090919063ffffffff16565b905061286a8160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461279c90919063ffffffff16565b60035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b6128c58260075461275390919063ffffffff16565b6007819055506128e08160085461279c90919063ffffffff16565b6008819055505050565b5f805f806129146064612906888a612a0090919063ffffffff16565b6123d490919063ffffffff16565b90505f61293d606461292f888b612a0090919063ffffffff16565b6123d490919063ffffffff16565b90505f61296582612957858c61275390919063ffffffff16565b61275390919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f806129938589612a0090919063ffffffff16565b90505f6129a98689612a0090919063ffffffff16565b90505f6129bf8789612a0090919063ffffffff16565b90505f6129e7826129d9858761275390919063ffffffff16565b61275390919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f808303612a10575f9050612a71565b5f8284612a1d91906139dc565b9050828482612a2c9190613944565b14612a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6390613a8d565b60405180910390fd5b809150505b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612ad282612a8c565b810181811067ffffffffffffffff82111715612af157612af0612a9c565b5b80604052505050565b5f612b03612a77565b9050612b0f8282612ac9565b919050565b5f67ffffffffffffffff821115612b2e57612b2d612a9c565b5b602082029050602081019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612b6c82612b43565b9050919050565b612b7c81612b62565b8114612b86575f80fd5b50565b5f81359050612b9781612b73565b92915050565b5f612baf612baa84612b14565b612afa565b90508083825260208201905060208402830185811115612bd257612bd1612b3f565b5b835b81811015612bfb5780612be78882612b89565b845260208401935050602081019050612bd4565b5050509392505050565b5f82601f830112612c1957612c18612a88565b5b8135612c29848260208601612b9d565b91505092915050565b5f60208284031215612c4757612c46612a80565b5b5f82013567ffffffffffffffff811115612c6457612c63612a84565b5b612c7084828501612c05565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612cb0578082015181840152602081019050612c95565b5f8484015250505050565b5f612cc582612c79565b612ccf8185612c83565b9350612cdf818560208601612c93565b612ce881612a8c565b840191505092915050565b5f6020820190508181035f830152612d0b8184612cbb565b905092915050565b5f819050919050565b612d2581612d13565b8114612d2f575f80fd5b50565b5f81359050612d4081612d1c565b92915050565b5f8060408385031215612d5c57612d5b612a80565b5b5f612d6985828601612b89565b9250506020612d7a85828601612d32565b9150509250929050565b5f8115159050919050565b612d9881612d84565b82525050565b5f602082019050612db15f830184612d8f565b92915050565b5f819050919050565b5f612dda612dd5612dd084612b43565b612db7565b612b43565b9050919050565b5f612deb82612dc0565b9050919050565b5f612dfc82612de1565b9050919050565b612e0c81612df2565b82525050565b5f602082019050612e255f830184612e03565b92915050565b612e3481612d13565b82525050565b5f602082019050612e4d5f830184612e2b565b92915050565b5f805f60608486031215612e6a57612e69612a80565b5b5f612e7786828701612b89565b9350506020612e8886828701612b89565b9250506040612e9986828701612d32565b9150509250925092565b5f60ff82169050919050565b612eb881612ea3565b82525050565b5f602082019050612ed15f830184612eaf565b92915050565b612ee081612b62565b82525050565b5f602082019050612ef95f830184612ed7565b92915050565b5f60208284031215612f1457612f13612a80565b5b5f612f2184828501612b89565b91505092915050565b612f3381612d84565b8114612f3d575f80fd5b50565b5f81359050612f4e81612f2a565b92915050565b5f60208284031215612f6957612f68612a80565b5b5f612f7684828501612f40565b91505092915050565b5f60208284031215612f9457612f93612a80565b5b5f612fa184828501612d32565b91505092915050565b5f805f8060808587031215612fc257612fc1612a80565b5b5f612fcf87828801612d32565b9450506020612fe087828801612d32565b9350506040612ff187828801612d32565b925050606061300287828801612d32565b91505092959194509250565b5f80fd5b5f8083601f84011261302757613026612a88565b5b8235905067ffffffffffffffff8111156130445761304361300e565b5b6020830191508360208202830111156130605761305f612b3f565b5b9250929050565b5f805f6040848603121561307e5761307d612a80565b5b5f84013567ffffffffffffffff81111561309b5761309a612a84565b5b6130a786828701613012565b935093505060206130ba86828701612f40565b9150509250925092565b5f80604083850312156130da576130d9612a80565b5b5f6130e785828601612b89565b92505060206130f885828601612b89565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613136602083612c83565b915061314182613102565b602082019050919050565b5f6020820190508181035f8301526131638161312a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6131f1602483612c83565b91506131fc82613197565b604082019050919050565b5f6020820190508181035f83015261321e816131e5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61327f602283612c83565b915061328a82613225565b604082019050919050565b5f6020820190508181035f8301526132ac81613273565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61330d602583612c83565b9150613318826132b3565b604082019050919050565b5f6020820190508181035f83015261333a81613301565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61339b602383612c83565b91506133a682613341565b604082019050919050565b5f6020820190508181035f8301526133c88161338f565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613429602983612c83565b9150613434826133cf565b604082019050919050565b5f6020820190508181035f8301526134568161341d565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000005f82015250565b5f613491601c83612c83565b915061349c8261345d565b602082019050919050565b5f6020820190508181035f8301526134be81613485565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6134fc82612d13565b915061350783612d13565b925082820190508082111561351f5761351e6134c5565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f61357f602383612c83565b915061358a82613525565b604082019050919050565b5f6020820190508181035f8301526135ac81613573565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f61360d603f83612c83565b9150613618826135b3565b604082019050919050565b5f6020820190508181035f83015261363a81613601565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c6973745f8201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b5f61369b602383612c83565b91506136a682613641565b604082019050919050565b5f6020820190508181035f8301526136c88161368f565b9050919050565b5f6136d982612d13565b91506136e483612d13565b92508282039050818111156136fc576136fb6134c5565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f61375c602a83612c83565b915061376782613702565b604082019050919050565b5f6020820190508181035f83015261378981613750565b9050919050565b5f8151905061379e81612b73565b92915050565b5f602082840312156137b9576137b8612a80565b5b5f6137c684828501613790565b91505092915050565b5f819050919050565b5f6137f26137ed6137e8846137cf565b612db7565b612d13565b9050919050565b613802816137d8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61383a81612b62565b82525050565b5f61384b8383613831565b60208301905092915050565b5f602082019050919050565b5f61386d82613808565b6138778185613812565b935061388283613822565b805f5b838110156138b25781516138998882613840565b97506138a483613857565b925050600181019050613885565b5085935050505092915050565b5f60a0820190506138d25f830188612e2b565b6138df60208301876137f9565b81810360408301526138f18186613863565b90506139006060830185612ed7565b61390d6080830184612e2b565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61394e82612d13565b915061395983612d13565b92508261396957613968613917565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6139a8601b83612c83565b91506139b382613974565b602082019050919050565b5f6020820190508181035f8301526139d58161399c565b9050919050565b5f6139e682612d13565b91506139f183612d13565b92508282026139ff81612d13565b91508282048414831517613a1657613a156134c5565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a77602183612c83565b9150613a8282613a1d565b604082019050919050565b5f6020820190508181035f830152613aa481613a6b565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220105287ff380b38ae85a9ac2a59a1331488a8195897b9938202ccf7ff0a6ef02a64736f6c63430008160033

Deployed Bytecode

0x6080604052600436106101da575f3560e01c806374010ece11610101578063a2a957bb11610094578063c3c8cd8011610063578063c3c8cd8014610677578063c492f0461461068d578063dd62ed3e146106b5578063ea1644d5146106f1576101e1565b8063a2a957bb146105ad578063a9059cbb146105d5578063bfd7928414610611578063bff28cf71461064d576101e1565b80638da5cb5b116100d05780638da5cb5b146105075780638f9a55c01461053157806395d89b411461055b57806398a5c31514610585576101e1565b806374010ece146104635780637c519ffb1461048b5780637d1db4a5146104a15780637f2feddc146104cb576101e1565b80632fd689e3116101795780636d8aa8f8116101485780636d8aa8f8146103d35780636fc3eaec146103fb57806370a0823114610411578063715018a61461044d576101e1565b80632fd689e31461032d578063313ce5671461035757806349bd5a5e146103815780636b999053146103ab576101e1565b80631694505e116101b55780631694505e1461027357806318160ddd1461029d5780631bc7522b146102c757806323b872dd146102f1576101e1565b8062b8cf2a146101e557806306fdde031461020d578063095ea7b314610237576101e1565b366101e157005b5f80fd5b3480156101f0575f80fd5b5061020b60048036038101906102069190612c32565b610719565b005b348015610218575f80fd5b50610221610838565b60405161022e9190612cf3565b60405180910390f35b348015610242575f80fd5b5061025d60048036038101906102589190612d46565b610875565b60405161026a9190612d9e565b60405180910390f35b34801561027e575f80fd5b50610287610892565b6040516102949190612e12565b60405180910390f35b3480156102a8575f80fd5b506102b16108b7565b6040516102be9190612e3a565b60405180910390f35b3480156102d2575f80fd5b506102db6108ca565b6040516102e89190612e3a565b60405180910390f35b3480156102fc575f80fd5b5061031760048036038101906103129190612e53565b6108d3565b6040516103249190612d9e565b60405180910390f35b348015610338575f80fd5b506103416109a7565b60405161034e9190612e3a565b60405180910390f35b348015610362575f80fd5b5061036b6109ad565b6040516103789190612ebe565b60405180910390f35b34801561038c575f80fd5b506103956109b5565b6040516103a29190612ee6565b60405180910390f35b3480156103b6575f80fd5b506103d160048036038101906103cc9190612eff565b6109da565b005b3480156103de575f80fd5b506103f960048036038101906103f49190612f54565b610ac5565b005b348015610406575f80fd5b5061040f610b76565b005b34801561041c575f80fd5b5061043760048036038101906104329190612eff565b610c43565b6040516104449190612e3a565b60405180910390f35b348015610458575f80fd5b50610461610c91565b005b34801561046e575f80fd5b5061048960048036038101906104849190612f7f565b610ddf565b005b348015610496575f80fd5b5061049f610e7d565b005b3480156104ac575f80fd5b506104b5610f2e565b6040516104c29190612e3a565b60405180910390f35b3480156104d6575f80fd5b506104f160048036038101906104ec9190612eff565b610f34565b6040516104fe9190612e3a565b60405180910390f35b348015610512575f80fd5b5061051b610f49565b6040516105289190612ee6565b60405180910390f35b34801561053c575f80fd5b50610545610f70565b6040516105529190612e3a565b60405180910390f35b348015610566575f80fd5b5061056f610f76565b60405161057c9190612cf3565b60405180910390f35b348015610590575f80fd5b506105ab60048036038101906105a69190612f7f565b610fb3565b005b3480156105b8575f80fd5b506105d360048036038101906105ce9190612faa565b611051565b005b3480156105e0575f80fd5b506105fb60048036038101906105f69190612d46565b611107565b6040516106089190612d9e565b60405180910390f35b34801561061c575f80fd5b5061063760048036038101906106329190612eff565b611124565b6040516106449190612d9e565b60405180910390f35b348015610658575f80fd5b50610661611141565b60405161066e9190612e3a565b60405180910390f35b348015610682575f80fd5b5061068b61114a565b005b348015610698575f80fd5b506106b360048036038101906106ae9190613067565b61121f565b005b3480156106c0575f80fd5b506106db60048036038101906106d691906130c4565b61134e565b6040516106e89190612e3a565b60405180910390f35b3480156106fc575f80fd5b5061071760048036038101906107129190612f7f565b6113d0565b005b61072161146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a49061314c565b60405180910390fd5b5f5b815181101561083457600160025f8484815181106107d0576107cf61316a565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506107af565b5050565b60606040518060400160405280600481526020017f4e54525800000000000000000000000000000000000000000000000000000000815250905090565b5f61088861088161146e565b8484611475565b6001905092915050565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6b033b2e3c9fd0803ce8000000905090565b5f600c54905090565b5f6108df848484611638565b61099c846108eb61146e565b61099785604051806060016040528060288152602001613aac6028913960055f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61094e61146e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fdf9092919063ffffffff16565b611475565b600190509392505050565b60185481565b5f6012905090565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109e261146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a659061314c565b60405180910390fd5b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610acd61146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b509061314c565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bb661146e565b73ffffffffffffffffffffffffffffffffffffffff161480610c2b575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c1361146e565b73ffffffffffffffffffffffffffffffffffffffff16145b610c33575f80fd5b5f479050610c4081612041565b50565b5f610c8a60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120a9565b9050919050565b610c9961146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1c9061314c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610de761146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6a9061314c565b60405180910390fd5b8060168190555050565b610e8561146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f089061314c565b60405180910390fd5b6001601560146101000a81548160ff021916908315150217905550565b60165481565b6011602052805f5260405f205f915090505481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60175481565b60606040518060400160405280600a81526020017f4e4f56414d415452495800000000000000000000000000000000000000000000815250905090565b610fbb61146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103e9061314c565b60405180910390fd5b8060188190555050565b61105961146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dc9061314c565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b5f61111a61111361146e565b8484611638565b6001905092915050565b6002602052805f5260405f205f915054906101000a900460ff1681565b5f600a54905090565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661118a61146e565b73ffffffffffffffffffffffffffffffffffffffff1614806111ff575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111e761146e565b73ffffffffffffffffffffffffffffffffffffffff16145b611207575f80fd5b5f61121130610c43565b905061121c81612115565b50565b61122761146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa9061314c565b60405180910390fd5b5f5b83839050811015611348578160065f8686858181106112d7576112d661316a565b5b90506020020160208101906112ec9190612eff565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506112b5565b50505050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6113d861146e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b9061314c565b60405180910390fd5b8060178190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90613207565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154890613295565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161162b9190612e3a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169d90613323565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170b906133b1565b60405180910390fd5b5f8111611756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174d9061343f565b60405180910390fd5b60165481111561179b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611792906134a7565b60405180910390fd5b6117a3610f49565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561181157506117e1610f49565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611cec5760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118ba575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561191857601754816118cc84610c43565b6118d691906134f2565b1115611917576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190e90613595565b60405180910390fd5b5b601560149054906101000a900460ff166119a257611934610f49565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199890613623565b60405180910390fd5b5b6016548111156119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de906134a7565b60405180910390fd5b60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611a85575060025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611ac4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abb906136b1565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b705760175481611b2584610c43565b611b2f91906134f2565b10611b6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6690613595565b60405180910390fd5b5b5f611b7a30610c43565b90505f60185482101590506016548210611b945760165491505b808015611bac575060158054906101000a900460ff16155b8015611c05575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c1d5750601560169054906101000a900460ff165b8015611c70575060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611cc3575060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ce957611cd182612115565b5f4790505f811115611ce757611ce647612041565b5b505b50505b5f6001905060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611d8c575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611e3d575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611e3c575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611e4a575f9050611fcd565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ef3575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f0b57600954600d81905550600a54600e819055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611fb4575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611fcc57600b54600d81905550600c54600e819055505b5b611fd98484848461237e565b50505050565b5f838311158290612026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201d9190612cf3565b60405180910390fd5b505f838561203491906136cf565b9050809150509392505050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120a5573d5f803e3d5ffd5b5050565b5f6007548211156120ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e690613772565b60405180910390fd5b5f6120f86123ab565b905061210d81846123d490919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561214b5761214a612a9c565b5b6040519080825280602002602001820160405280156121795781602001602082028036833780820191505090505b50905030815f815181106121905761218f61316a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612234573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225891906137a4565b8160018151811061226c5761226b61316a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122d23060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611475565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016123349594939291906138bf565b5f604051808303815f87803b15801561234b575f80fd5b505af115801561235d573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b8061238c5761238b61241d565b5b612397848484612456565b806123a5576123a4612616565b5b50505050565b5f805f6123b661262a565b915091506123cd81836123d490919063ffffffff16565b9250505090565b5f61241583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612692565b905092915050565b5f600d5414801561242f57505f600e54145b61245457600d54600f81905550600e546010819055505f600d819055505f600e819055505b565b5f805f805f80612465876126f3565b9550955095509550955095506124c18660035f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461275390919063ffffffff16565b60035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506125528560035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461279c90919063ffffffff16565b60035f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061259c816127f9565b6125a684836128b0565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126039190612e3a565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b5f805f60075490505f6b033b2e3c9fd0803ce800000090506126636b033b2e3c9fd0803ce80000006007546123d490919063ffffffff16565b821015612685576007546b033b2e3c9fd0803ce800000093509350505061268e565b81819350935050505b9091565b5f80831182906126d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cf9190612cf3565b60405180910390fd5b505f83856126e69190613944565b9050809150509392505050565b5f805f805f805f805f61270b8a600d54600e546128ea565b9250925092505f61271a6123ab565b90505f805f61272b8e87878761297c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f61279483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fdf565b905092915050565b5f8082846127aa91906134f2565b9050838110156127ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e6906139be565b60405180910390fd5b8091505092915050565b5f6128026123ab565b90505f6128188284612a0090919063ffffffff16565b905061286a8160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461279c90919063ffffffff16565b60035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b6128c58260075461275390919063ffffffff16565b6007819055506128e08160085461279c90919063ffffffff16565b6008819055505050565b5f805f806129146064612906888a612a0090919063ffffffff16565b6123d490919063ffffffff16565b90505f61293d606461292f888b612a0090919063ffffffff16565b6123d490919063ffffffff16565b90505f61296582612957858c61275390919063ffffffff16565b61275390919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f806129938589612a0090919063ffffffff16565b90505f6129a98689612a0090919063ffffffff16565b90505f6129bf8789612a0090919063ffffffff16565b90505f6129e7826129d9858761275390919063ffffffff16565b61275390919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f808303612a10575f9050612a71565b5f8284612a1d91906139dc565b9050828482612a2c9190613944565b14612a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6390613a8d565b60405180910390fd5b809150505b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612ad282612a8c565b810181811067ffffffffffffffff82111715612af157612af0612a9c565b5b80604052505050565b5f612b03612a77565b9050612b0f8282612ac9565b919050565b5f67ffffffffffffffff821115612b2e57612b2d612a9c565b5b602082029050602081019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612b6c82612b43565b9050919050565b612b7c81612b62565b8114612b86575f80fd5b50565b5f81359050612b9781612b73565b92915050565b5f612baf612baa84612b14565b612afa565b90508083825260208201905060208402830185811115612bd257612bd1612b3f565b5b835b81811015612bfb5780612be78882612b89565b845260208401935050602081019050612bd4565b5050509392505050565b5f82601f830112612c1957612c18612a88565b5b8135612c29848260208601612b9d565b91505092915050565b5f60208284031215612c4757612c46612a80565b5b5f82013567ffffffffffffffff811115612c6457612c63612a84565b5b612c7084828501612c05565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612cb0578082015181840152602081019050612c95565b5f8484015250505050565b5f612cc582612c79565b612ccf8185612c83565b9350612cdf818560208601612c93565b612ce881612a8c565b840191505092915050565b5f6020820190508181035f830152612d0b8184612cbb565b905092915050565b5f819050919050565b612d2581612d13565b8114612d2f575f80fd5b50565b5f81359050612d4081612d1c565b92915050565b5f8060408385031215612d5c57612d5b612a80565b5b5f612d6985828601612b89565b9250506020612d7a85828601612d32565b9150509250929050565b5f8115159050919050565b612d9881612d84565b82525050565b5f602082019050612db15f830184612d8f565b92915050565b5f819050919050565b5f612dda612dd5612dd084612b43565b612db7565b612b43565b9050919050565b5f612deb82612dc0565b9050919050565b5f612dfc82612de1565b9050919050565b612e0c81612df2565b82525050565b5f602082019050612e255f830184612e03565b92915050565b612e3481612d13565b82525050565b5f602082019050612e4d5f830184612e2b565b92915050565b5f805f60608486031215612e6a57612e69612a80565b5b5f612e7786828701612b89565b9350506020612e8886828701612b89565b9250506040612e9986828701612d32565b9150509250925092565b5f60ff82169050919050565b612eb881612ea3565b82525050565b5f602082019050612ed15f830184612eaf565b92915050565b612ee081612b62565b82525050565b5f602082019050612ef95f830184612ed7565b92915050565b5f60208284031215612f1457612f13612a80565b5b5f612f2184828501612b89565b91505092915050565b612f3381612d84565b8114612f3d575f80fd5b50565b5f81359050612f4e81612f2a565b92915050565b5f60208284031215612f6957612f68612a80565b5b5f612f7684828501612f40565b91505092915050565b5f60208284031215612f9457612f93612a80565b5b5f612fa184828501612d32565b91505092915050565b5f805f8060808587031215612fc257612fc1612a80565b5b5f612fcf87828801612d32565b9450506020612fe087828801612d32565b9350506040612ff187828801612d32565b925050606061300287828801612d32565b91505092959194509250565b5f80fd5b5f8083601f84011261302757613026612a88565b5b8235905067ffffffffffffffff8111156130445761304361300e565b5b6020830191508360208202830111156130605761305f612b3f565b5b9250929050565b5f805f6040848603121561307e5761307d612a80565b5b5f84013567ffffffffffffffff81111561309b5761309a612a84565b5b6130a786828701613012565b935093505060206130ba86828701612f40565b9150509250925092565b5f80604083850312156130da576130d9612a80565b5b5f6130e785828601612b89565b92505060206130f885828601612b89565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613136602083612c83565b915061314182613102565b602082019050919050565b5f6020820190508181035f8301526131638161312a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6131f1602483612c83565b91506131fc82613197565b604082019050919050565b5f6020820190508181035f83015261321e816131e5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61327f602283612c83565b915061328a82613225565b604082019050919050565b5f6020820190508181035f8301526132ac81613273565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61330d602583612c83565b9150613318826132b3565b604082019050919050565b5f6020820190508181035f83015261333a81613301565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61339b602383612c83565b91506133a682613341565b604082019050919050565b5f6020820190508181035f8301526133c88161338f565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613429602983612c83565b9150613434826133cf565b604082019050919050565b5f6020820190508181035f8301526134568161341d565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000005f82015250565b5f613491601c83612c83565b915061349c8261345d565b602082019050919050565b5f6020820190508181035f8301526134be81613485565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6134fc82612d13565b915061350783612d13565b925082820190508082111561351f5761351e6134c5565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f61357f602383612c83565b915061358a82613525565b604082019050919050565b5f6020820190508181035f8301526135ac81613573565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f61360d603f83612c83565b9150613618826135b3565b604082019050919050565b5f6020820190508181035f83015261363a81613601565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c6973745f8201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b5f61369b602383612c83565b91506136a682613641565b604082019050919050565b5f6020820190508181035f8301526136c88161368f565b9050919050565b5f6136d982612d13565b91506136e483612d13565b92508282039050818111156136fc576136fb6134c5565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f61375c602a83612c83565b915061376782613702565b604082019050919050565b5f6020820190508181035f83015261378981613750565b9050919050565b5f8151905061379e81612b73565b92915050565b5f602082840312156137b9576137b8612a80565b5b5f6137c684828501613790565b91505092915050565b5f819050919050565b5f6137f26137ed6137e8846137cf565b612db7565b612d13565b9050919050565b613802816137d8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61383a81612b62565b82525050565b5f61384b8383613831565b60208301905092915050565b5f602082019050919050565b5f61386d82613808565b6138778185613812565b935061388283613822565b805f5b838110156138b25781516138998882613840565b97506138a483613857565b925050600181019050613885565b5085935050505092915050565b5f60a0820190506138d25f830188612e2b565b6138df60208301876137f9565b81810360408301526138f18186613863565b90506139006060830185612ed7565b61390d6080830184612e2b565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61394e82612d13565b915061395983612d13565b92508261396957613968613917565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6139a8601b83612c83565b91506139b382613974565b602082019050919050565b5f6020820190508181035f8301526139d58161399c565b9050919050565b5f6139e682612d13565b91506139f183612d13565b92508282026139ff81612d13565b91508282048414831517613a1657613a156134c5565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a77602183612c83565b9150613a8282613a1d565b604082019050919050565b5f6020820190508181035f830152613aa481613a6b565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220105287ff380b38ae85a9ac2a59a1331488a8195897b9938202ccf7ff0a6ef02a64736f6c63430008160033

Deployed Bytecode Sourcemap

4309:14339:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13821:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7219:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8144:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5598:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7496:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9951:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8345:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5906:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7405:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5646:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13998:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18030:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13578:235;;;;;;;;;;;;;:::i;:::-;;7599:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2044:148;;;;;;;;;;;;;:::i;:::-;;18170:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13250:76;;;;;;;;;;;;;:::i;:::-;;5796:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5340:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1830:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5850:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7310:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17839:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17496:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7745:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4497:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9859:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13334:236;;;;;;;;;;;;;:::i;:::-;;18409:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7952:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18286:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13821:169;1967:12;:10;:12::i;:::-;1957:22;;:6;;;;;;;;;;:22;;;1949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13897:9:::1;13892:91;13916:5;:12;13912:1;:16;13892:91;;;13967:4;13950;:14;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;;13950:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13930:3;;;;;;;13892:91;;;;13821:169:::0;:::o;7219:83::-;7256:13;7289:5;;;;;;;;;;;;;;;;;7282:12;;7219:83;:::o;8144:193::-;8246:4;8268:39;8277:12;:10;:12::i;:::-;8291:7;8300:6;8268:8;:39::i;:::-;8325:4;8318:11;;8144:193;;;;:::o;5598:41::-;;;;;;;;;;;;;:::o;7496:95::-;7549:7;4859:19;7569:14;;7496:95;:::o;9951:90::-;10001:7;10024:13;;10017:20;;9951:90;:::o;8345:446::-;8477:4;8494:36;8504:6;8512:9;8523:6;8494:9;:36::i;:::-;8541:220;8564:6;8585:12;:10;:12::i;:::-;8612:138;8668:6;8612:138;;;;;;;;;;;;;;;;;:11;:19;8624:6;8612:19;;;;;;;;;;;;;;;:33;8632:12;:10;:12::i;:::-;8612:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8541:8;:220::i;:::-;8779:4;8772:11;;8345:446;;;;;:::o;5906:51::-;;;;:::o;7405:83::-;7446:5;6001:2;7464:16;;7405:83;:::o;5646:28::-;;;;;;;;;;;;;:::o;13998:92::-;1967:12;:10;:12::i;:::-;1957:22;;:6;;;;;;;;;;:22;;;1949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14077:5:::1;14062:4;:12;14067:6;14062:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13998:92:::0;:::o;18030:101::-;1967:12;:10;:12::i;:::-;1957:22;;:6;;;;;;;;;;:22;;;1949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18111:12:::1;18097:11;;:26;;;;;;;;;;;;;;;;;;18030:101:::0;:::o;13578:235::-;13644:19;;;;;;;;;;;13628:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13683:17;;;;;;;;;;;13667:33;;:12;:10;:12::i;:::-;:33;;;13628:72;13620:81;;;;;;13712:26;13741:21;13712:50;;13773:32;13786:18;13773:12;:32::i;:::-;13609:204;13578:235::o;7599:138::-;7665:7;7692:37;7712:7;:16;7720:7;7712:16;;;;;;;;;;;;;;;;7692:19;:37::i;:::-;7685:44;;7599:138;;;:::o;2044:148::-;1967:12;:10;:12::i;:::-;1957:22;;:6;;;;;;;;;;:22;;;1949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2151:1:::1;2114:40;;2135:6;::::0;::::1;;;;;;;;2114:40;;;;;;;;;;;;2182:1;2165:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2044:148::o:0;18170:108::-;1967:12;:10;:12::i;:::-;1957:22;;:6;;;;;;;;;;:22;;;1949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18259:11:::1;18244:12;:26;;;;18170:108:::0;:::o;13250:76::-;1967:12;:10;:12::i;:::-;1957:22;;:6;;;;;;;;;;:22;;;1949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13314:4:::1;13300:11;;:18;;;;;;;;;;;;;;;;;;13250:76::o:0;5796:47::-;;;;:::o;5340:43::-;;;;;;;;;;;;;;;;;:::o;1830:79::-;1868:7;1895:6;;;;;;;;;;;1888:13;;1830:79;:::o;5850:49::-;;;;:::o;7310:87::-;7349:13;7382:7;;;;;;;;;;;;;;;;;7375:14;;7310:87;:::o;17839:139::-;1967:12;:10;:12::i;:::-;1957:22;;:6;;;;;;;;;;:22;;;1949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17952:18:::1;17930:19;:40;;;;17839:139:::0;:::o;17496:291::-;1967:12;:10;:12::i;:::-;1957:22;;:6;;;;;;;;;;:22;;;1949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17647:13:::1;17630:14;:30;;;;17689:14;17671:15;:32;;;;17729:11;17714:12;:26;;;;17767:12;17751:13;:28;;;;17496:291:::0;;;;:::o;7745:199::-;7850:4;7872:42;7882:12;:10;:12::i;:::-;7896:9;7907:6;7872:9;:42::i;:::-;7932:4;7925:11;;7745:199;;;;:::o;4497:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;9859:88::-;9908:7;9931:12;;9924:19;;9859:88;:::o;13334:236::-;13400:19;;;;;;;;;;;13384:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13439:17;;;;;;;;;;;13423:33;;:12;:10;:12::i;:::-;:33;;;13384:72;13376:81;;;;;;13468:23;13494:24;13512:4;13494:9;:24::i;:::-;13468:50;;13529:33;13546:15;13529:16;:33::i;:::-;13365:205;13334:236::o;18409:234::-;1967:12;:10;:12::i;:::-;1957:22;;:6;;;;;;;;;;:22;;;1949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18526:9:::1;18522:114;18545:8;;:15;;18541:1;:19;18522:114;;;18616:8;18582:18;:31;18601:8;;18610:1;18601:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18582:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;18562:3;;;;;;;18522:114;;;;18409:234:::0;;;:::o;7952:184::-;8069:7;8101:11;:18;8113:5;8101:18;;;;;;;;;;;;;;;:27;8120:7;8101:27;;;;;;;;;;;;;;;;8094:34;;7952:184;;;;:::o;18286:115::-;1967:12;:10;:12::i;:::-;1957:22;;:6;;;;;;;;;;:22;;;1949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18380:13:::1;18363:14;:30;;;;18286:115:::0;:::o;589:98::-;642:7;669:10;662:17;;589:98;:::o;9482:369::-;9626:1;9609:19;;:5;:19;;;9601:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9707:1;9688:21;;:7;:21;;;9680:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9789:6;9759:11;:18;9771:5;9759:18;;;;;;;;;;;;;;;:27;9778:7;9759:27;;;;;;;;;;;;;;;:36;;;;9827:7;9811:32;;9820:5;9811:32;;;9836:6;9811:32;;;;;;:::i;:::-;;;;;;;;9482:369;;;:::o;10051:2593::-;10189:1;10173:18;;:4;:18;;;10165:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10266:1;10252:16;;:2;:16;;;10244:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10336:1;10327:6;:10;10319:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10412:12;;10402:6;:22;;10394:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10494:7;:5;:7::i;:::-;10486:15;;:4;:15;;;;:32;;;;;10511:7;:5;:7::i;:::-;10505:13;;:2;:13;;;;10486:32;10482:1436;;;10549:13;;;;;;;;;;;10543:19;;:2;:19;;;;:46;;;;;10567:18;:22;10586:2;10567:22;;;;;;;;;;;;;;;;;;;;;;;;;10566:23;10543:46;10539:159;;;10636:14;;10626:6;10610:13;10620:2;10610:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10602:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;10539:159;10752:11;;;;;;;;;;;10747:144;;10800:7;:5;:7::i;:::-;10792:15;;:4;:15;;;10784:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;10747:144;10925:12;;10915:6;:22;;10907:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10994:4;:10;10999:4;10994:10;;;;;;;;;;;;;;;;;;;;;;;;;10993:11;:24;;;;;11009:4;:8;11014:2;11009:8;;;;;;;;;;;;;;;;;;;;;;;;;11008:9;10993:24;10985:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;11083:13;;;;;;;;;;;11077:19;;:2;:19;;;11074:146;;11150:14;;11141:6;11125:13;11135:2;11125:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11117:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;11074:146;11236:28;11267:24;11285:4;11267:9;:24::i;:::-;11236:55;;11306:12;11345:19;;11321:20;:43;;11306:58;;11408:12;;11384:20;:36;11381:124;;11477:12;;11454:35;;11381:124;11525:7;:18;;;;;11537:6;;;;;;;;;;11536:7;11525:18;:43;;;;;11555:13;;;;;;;;;;;11547:21;;:4;:21;;;;11525:43;:58;;;;;11572:11;;;;;;;;;;;11525:58;:87;;;;;11588:18;:24;11607:4;11588:24;;;;;;;;;;;;;;;;;;;;;;;;;11587:25;11525:87;:114;;;;;11617:18;:22;11636:2;11617:22;;;;;;;;;;;;;;;;;;;;;;;;;11616:23;11525:114;11521:386;;;11660:38;11677:20;11660:16;:38::i;:::-;11717:26;11746:21;11717:50;;11811:1;11790:18;:22;11786:106;;;11837:35;11850:21;11837:12;:35::i;:::-;11786:106;11641:266;11521:386;10520:1398;;10482:1436;11930:12;11945:4;11930:19;;11994:18;:24;12013:4;11994:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12022:18;:22;12041:2;12022:22;;;;;;;;;;;;;;;;;;;;;;;;;11994:50;11993:102;;;;12058:13;;;;;;;;;;;12050:21;;:4;:21;;;;:44;;;;;12081:13;;;;;;;;;;;12075:19;;:2;:19;;;;12050:44;11993:102;11989:594;;;12122:5;12112:15;;11989:594;;;12205:13;;;;;;;;;;;12197:21;;:4;:21;;;:55;;;;;12236:15;;;;;;;;;;;12222:30;;:2;:30;;;;12197:55;12194:162;;;12285:14;;12273:9;:26;;;;12328:12;;12318:7;:22;;;;12194:162;12415:13;;;;;;;;;;;12409:19;;:2;:19;;;:55;;;;;12448:15;;;;;;;;;;;12432:32;;:4;:32;;;;12409:55;12405:165;;;12497:15;;12485:9;:27;;;;12541:13;;12531:7;:23;;;;12405:165;11989:594;12595:41;12610:4;12616:2;12620:6;12628:7;12595:14;:41::i;:::-;10154:2490;10051:2593;;;:::o;2560:224::-;2680:7;2713:1;2708;:6;;2716:12;2700:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2740:9;2756:1;2752;:5;;;;:::i;:::-;2740:17;;2775:1;2768:8;;;2560:224;;;;;:::o;13143:99::-;13200:17;;;;;;;;;;;:26;;:34;13227:6;13200:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13143:99;:::o;8799:323::-;8894:7;8952;;8941;:18;;8919:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;9040:19;9062:10;:8;:10::i;:::-;9040:32;;9090:24;9102:11;9090:7;:11;;:24;;;;:::i;:::-;9083:31;;;8799:323;;;:::o;12652:483::-;6520:4;6511:6;;:13;;;;;;;;;;;;;;;;;;12730:21:::1;12768:1;12754:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12730:40;;12799:4;12781;12786:1;12781:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12825:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12815:4;12820:1;12815:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12858:62;12875:4;12890:15;;;;;;;;;;;12908:11;12858:8;:62::i;:::-;12931:15;;;;;;;;;;;:66;;;13012:11;13038:1;13054:4;13081;13101:15;12931:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12719:416;6556:5:::0;6547:6;;:14;;;;;;;;;;;;;;;;;;12652:483;:::o;14098:282::-;14254:7;14249:28;;14263:14;:12;:14::i;:::-;14249:28;14288:44;14306:6;14314:9;14325:6;14288:17;:44::i;:::-;14348:7;14343:29;;14357:15;:13;:15::i;:::-;14343:29;14098:282;;;;:::o;17059:164::-;17101:7;17122:15;17139;17158:19;:17;:19::i;:::-;17121:56;;;;17195:20;17207:7;17195;:11;;:20;;;;:::i;:::-;17188:27;;;;17059:164;:::o;3046:132::-;3104:7;3131:39;3135:1;3138;3131:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3124:46;;3046:132;;;;:::o;9130:219::-;9190:1;9177:9;;:14;:30;;;;;9206:1;9195:7;;:12;9177:30;9209:7;9173:43;9248:9;;9228:17;:29;;;;9286:7;;9268:15;:25;;;;9318:1;9306:9;:13;;;;9340:1;9330:7;:11;;;;9130:219;:::o;14388:610::-;14535:15;14565:23;14603:12;14630:23;14668:12;14695:13;14722:19;14733:7;14722:10;:19::i;:::-;14520:221;;;;;;;;;;;;14770:28;14790:7;14770;:15;14778:6;14770:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14752:7;:15;14760:6;14752:15;;;;;;;;;;;;;;;:46;;;;14830:39;14853:15;14830:7;:18;14838:9;14830:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14809:7;:18;14817:9;14809:18;;;;;;;;;;;;;;;:60;;;;14880:16;14890:5;14880:9;:16::i;:::-;14907:23;14919:4;14925;14907:11;:23::i;:::-;14963:9;14946:44;;14955:6;14946:44;;;14974:15;14946:44;;;;;;:::i;:::-;;;;;;;;14509:489;;;;;;14388:610;;;:::o;9357:117::-;9413:17;;9401:9;:29;;;;9451:15;;9441:7;:25;;;;9357:117::o;17231:257::-;17282:7;17291;17311:15;17329:7;;17311:25;;17347:15;4859:19;17347:25;;17397:20;4859:19;17397:7;;:11;;:20;;;;:::i;:::-;17387:7;:30;17383:61;;;17427:7;;4859:19;17419:25;;;;;;;;17383:61;17463:7;17472;17455:25;;;;;;17231:257;;;:::o;3186:223::-;3306:7;3338:1;3334;:5;3341:12;3326:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3365:9;3381:1;3377;:5;;;;:::i;:::-;3365:17;;3400:1;3393:8;;;3186:223;;;;;:::o;15417:615::-;15517:7;15539;15561;15583;15605;15627;15663:23;15688:12;15702:13;15732:40;15744:7;15753:9;;15764:7;;15732:11;:40::i;:::-;15662:110;;;;;;15783:19;15805:10;:8;:10::i;:::-;15783:32;;15827:15;15844:23;15869:12;15898:46;15910:7;15919:4;15925:5;15932:11;15898;:46::i;:::-;15826:118;;;;;;15963:7;15972:15;15989:4;15995:15;16012:4;16018:5;15955:69;;;;;;;;;;;;;;;;;;;15417:615;;;;;;;:::o;2416:136::-;2474:7;2501:43;2505:1;2508;2501:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2494:50;;2416:136;;;;:::o;2229:179::-;2287:7;2307:9;2323:1;2319;:5;;;;:::i;:::-;2307:17;;2348:1;2343;:6;;2335:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2399:1;2392:8;;;2229:179;;;;:::o;15006:211::-;15059:19;15081:10;:8;:10::i;:::-;15059:32;;15102:13;15118:22;15128:11;15118:5;:9;;:22;;;;:::i;:::-;15102:38;;15176:33;15203:5;15176:7;:22;15192:4;15176:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15151:7;:22;15167:4;15151:22;;;;;;;;;;;;;;;:58;;;;15048:169;;15006:211;:::o;15225:147::-;15303:17;15315:4;15303:7;;:11;;:17;;;;:::i;:::-;15293:7;:27;;;;15344:20;15359:4;15344:10;;:14;;:20;;;;:::i;:::-;15331:10;:33;;;;15225:147;;:::o;16040:469::-;16209:7;16231;16253;16288:12;16303:30;16329:3;16303:21;16315:8;16303:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;16288:45;;16344:13;16360:28;16384:3;16360:19;16372:6;16360:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16344:44;;16399:23;16425:28;16447:5;16425:17;16437:4;16425:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16399:54;;16472:15;16489:4;16495:5;16464:37;;;;;;;;;16040:469;;;;;;;:::o;16517:534::-;16711:7;16733;16755;16790:15;16808:24;16820:11;16808:7;:11;;:24;;;;:::i;:::-;16790:42;;16843:12;16858:21;16867:11;16858:4;:8;;:21;;;;:::i;:::-;16843:36;;16890:13;16906:22;16916:11;16906:5;:9;;:22;;;;:::i;:::-;16890:38;;16939:23;16965:28;16987:5;16965:17;16977:4;16965:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16939:54;;17012:7;17021:15;17038:4;17004:39;;;;;;;;;;16517:534;;;;;;;;:::o;2792:246::-;2850:7;2879:1;2874;:6;2870:47;;2904:1;2897:8;;;;2870:47;2927:9;2943:1;2939;:5;;;;:::i;:::-;2927:17;;2972:1;2967;2963;:5;;;;:::i;:::-;:10;2955:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3029:1;3022:8;;;2792:246;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:246::-;4152:1;4162:113;4176:6;4173:1;4170:13;4162:113;;;4261:1;4256:3;4252:11;4246:18;4242:1;4237:3;4233:11;4226:39;4198:2;4195:1;4191:10;4186:15;;4162:113;;;4309:1;4300:6;4295:3;4291:16;4284:27;4133:184;4071:246;;;:::o;4323:377::-;4411:3;4439:39;4472:5;4439:39;:::i;:::-;4494:71;4558:6;4553:3;4494:71;:::i;:::-;4487:78;;4574:65;4632:6;4627:3;4620:4;4613:5;4609:16;4574:65;:::i;:::-;4664:29;4686:6;4664:29;:::i;:::-;4659:3;4655:39;4648:46;;4415:285;4323:377;;;;:::o;4706:313::-;4819:4;4857:2;4846:9;4842:18;4834:26;;4906:9;4900:4;4896:20;4892:1;4881:9;4877:17;4870:47;4934:78;5007:4;4998:6;4934:78;:::i;:::-;4926:86;;4706:313;;;;:::o;5025:77::-;5062:7;5091:5;5080:16;;5025:77;;;:::o;5108:122::-;5181:24;5199:5;5181:24;:::i;:::-;5174:5;5171:35;5161:63;;5220:1;5217;5210:12;5161:63;5108:122;:::o;5236:139::-;5282:5;5320:6;5307:20;5298:29;;5336:33;5363:5;5336:33;:::i;:::-;5236:139;;;;:::o;5381:474::-;5449:6;5457;5506:2;5494:9;5485:7;5481:23;5477:32;5474:119;;;5512:79;;:::i;:::-;5474:119;5632:1;5657:53;5702:7;5693:6;5682:9;5678:22;5657:53;:::i;:::-;5647:63;;5603:117;5759:2;5785:53;5830:7;5821:6;5810:9;5806:22;5785:53;:::i;:::-;5775:63;;5730:118;5381:474;;;;;:::o;5861:90::-;5895:7;5938:5;5931:13;5924:21;5913:32;;5861:90;;;:::o;5957:109::-;6038:21;6053:5;6038:21;:::i;:::-;6033:3;6026:34;5957:109;;:::o;6072:210::-;6159:4;6197:2;6186:9;6182:18;6174:26;;6210:65;6272:1;6261:9;6257:17;6248:6;6210:65;:::i;:::-;6072:210;;;;:::o;6288:60::-;6316:3;6337:5;6330:12;;6288:60;;;:::o;6354:142::-;6404:9;6437:53;6455:34;6464:24;6482:5;6464:24;:::i;:::-;6455:34;:::i;:::-;6437:53;:::i;:::-;6424:66;;6354:142;;;:::o;6502:126::-;6552:9;6585:37;6616:5;6585:37;:::i;:::-;6572:50;;6502:126;;;:::o;6634:152::-;6710:9;6743:37;6774:5;6743:37;:::i;:::-;6730:50;;6634:152;;;:::o;6792:183::-;6905:63;6962:5;6905:63;:::i;:::-;6900:3;6893:76;6792:183;;:::o;6981:274::-;7100:4;7138:2;7127:9;7123:18;7115:26;;7151:97;7245:1;7234:9;7230:17;7221:6;7151:97;:::i;:::-;6981:274;;;;:::o;7261:118::-;7348:24;7366:5;7348:24;:::i;:::-;7343:3;7336:37;7261:118;;:::o;7385:222::-;7478:4;7516:2;7505:9;7501:18;7493:26;;7529:71;7597:1;7586:9;7582:17;7573:6;7529:71;:::i;:::-;7385:222;;;;:::o;7613:619::-;7690:6;7698;7706;7755:2;7743:9;7734:7;7730:23;7726:32;7723:119;;;7761:79;;:::i;:::-;7723:119;7881:1;7906:53;7951:7;7942:6;7931:9;7927:22;7906:53;:::i;:::-;7896:63;;7852:117;8008:2;8034:53;8079:7;8070:6;8059:9;8055:22;8034:53;:::i;:::-;8024:63;;7979:118;8136:2;8162:53;8207:7;8198:6;8187:9;8183:22;8162:53;:::i;:::-;8152:63;;8107:118;7613:619;;;;;:::o;8238:86::-;8273:7;8313:4;8306:5;8302:16;8291:27;;8238:86;;;:::o;8330:112::-;8413:22;8429:5;8413:22;:::i;:::-;8408:3;8401:35;8330:112;;:::o;8448:214::-;8537:4;8575:2;8564:9;8560:18;8552:26;;8588:67;8652:1;8641:9;8637:17;8628:6;8588:67;:::i;:::-;8448:214;;;;:::o;8668:118::-;8755:24;8773:5;8755:24;:::i;:::-;8750:3;8743:37;8668:118;;:::o;8792:222::-;8885:4;8923:2;8912:9;8908:18;8900:26;;8936:71;9004:1;8993:9;8989:17;8980:6;8936:71;:::i;:::-;8792:222;;;;:::o;9020:329::-;9079:6;9128:2;9116:9;9107:7;9103:23;9099:32;9096:119;;;9134:79;;:::i;:::-;9096:119;9254:1;9279:53;9324:7;9315:6;9304:9;9300:22;9279:53;:::i;:::-;9269:63;;9225:117;9020:329;;;;:::o;9355:116::-;9425:21;9440:5;9425:21;:::i;:::-;9418:5;9415:32;9405:60;;9461:1;9458;9451:12;9405:60;9355:116;:::o;9477:133::-;9520:5;9558:6;9545:20;9536:29;;9574:30;9598:5;9574:30;:::i;:::-;9477:133;;;;:::o;9616:323::-;9672:6;9721:2;9709:9;9700:7;9696:23;9692:32;9689:119;;;9727:79;;:::i;:::-;9689:119;9847:1;9872:50;9914:7;9905:6;9894:9;9890:22;9872:50;:::i;:::-;9862:60;;9818:114;9616:323;;;;:::o;9945:329::-;10004:6;10053:2;10041:9;10032:7;10028:23;10024:32;10021:119;;;10059:79;;:::i;:::-;10021:119;10179:1;10204:53;10249:7;10240:6;10229:9;10225:22;10204:53;:::i;:::-;10194:63;;10150:117;9945:329;;;;:::o;10280:765::-;10366:6;10374;10382;10390;10439:3;10427:9;10418:7;10414:23;10410:33;10407:120;;;10446:79;;:::i;:::-;10407:120;10566:1;10591:53;10636:7;10627:6;10616:9;10612:22;10591:53;:::i;:::-;10581:63;;10537:117;10693:2;10719:53;10764:7;10755:6;10744:9;10740:22;10719:53;:::i;:::-;10709:63;;10664:118;10821:2;10847:53;10892:7;10883:6;10872:9;10868:22;10847:53;:::i;:::-;10837:63;;10792:118;10949:2;10975:53;11020:7;11011:6;11000:9;10996:22;10975:53;:::i;:::-;10965:63;;10920:118;10280:765;;;;;;;:::o;11051:117::-;11160:1;11157;11150:12;11191:568;11264:8;11274:6;11324:3;11317:4;11309:6;11305:17;11301:27;11291:122;;11332:79;;:::i;:::-;11291:122;11445:6;11432:20;11422:30;;11475:18;11467:6;11464:30;11461:117;;;11497:79;;:::i;:::-;11461:117;11611:4;11603:6;11599:17;11587:29;;11665:3;11657:4;11649:6;11645:17;11635:8;11631:32;11628:41;11625:128;;;11672:79;;:::i;:::-;11625:128;11191:568;;;;;:::o;11765:698::-;11857:6;11865;11873;11922:2;11910:9;11901:7;11897:23;11893:32;11890:119;;;11928:79;;:::i;:::-;11890:119;12076:1;12065:9;12061:17;12048:31;12106:18;12098:6;12095:30;12092:117;;;12128:79;;:::i;:::-;12092:117;12241:80;12313:7;12304:6;12293:9;12289:22;12241:80;:::i;:::-;12223:98;;;;12019:312;12370:2;12396:50;12438:7;12429:6;12418:9;12414:22;12396:50;:::i;:::-;12386:60;;12341:115;11765:698;;;;;:::o;12469:474::-;12537:6;12545;12594:2;12582:9;12573:7;12569:23;12565:32;12562:119;;;12600:79;;:::i;:::-;12562:119;12720:1;12745:53;12790:7;12781:6;12770:9;12766:22;12745:53;:::i;:::-;12735:63;;12691:117;12847:2;12873:53;12918:7;12909:6;12898:9;12894:22;12873:53;:::i;:::-;12863:63;;12818:118;12469:474;;;;;:::o;12949:182::-;13089:34;13085:1;13077:6;13073:14;13066:58;12949:182;:::o;13137:366::-;13279:3;13300:67;13364:2;13359:3;13300:67;:::i;:::-;13293:74;;13376:93;13465:3;13376:93;:::i;:::-;13494:2;13489:3;13485:12;13478:19;;13137:366;;;:::o;13509:419::-;13675:4;13713:2;13702:9;13698:18;13690:26;;13762:9;13756:4;13752:20;13748:1;13737:9;13733:17;13726:47;13790:131;13916:4;13790:131;:::i;:::-;13782:139;;13509:419;;;:::o;13934:180::-;13982:77;13979:1;13972:88;14079:4;14076:1;14069:15;14103:4;14100:1;14093:15;14120:223;14260:34;14256:1;14248:6;14244:14;14237:58;14329:6;14324:2;14316:6;14312:15;14305:31;14120:223;:::o;14349:366::-;14491:3;14512:67;14576:2;14571:3;14512:67;:::i;:::-;14505:74;;14588:93;14677:3;14588:93;:::i;:::-;14706:2;14701:3;14697:12;14690:19;;14349:366;;;:::o;14721:419::-;14887:4;14925:2;14914:9;14910:18;14902:26;;14974:9;14968:4;14964:20;14960:1;14949:9;14945:17;14938:47;15002:131;15128:4;15002:131;:::i;:::-;14994:139;;14721:419;;;:::o;15146:221::-;15286:34;15282:1;15274:6;15270:14;15263:58;15355:4;15350:2;15342:6;15338:15;15331:29;15146:221;:::o;15373:366::-;15515:3;15536:67;15600:2;15595:3;15536:67;:::i;:::-;15529:74;;15612:93;15701:3;15612:93;:::i;:::-;15730:2;15725:3;15721:12;15714:19;;15373:366;;;:::o;15745:419::-;15911:4;15949:2;15938:9;15934:18;15926:26;;15998:9;15992:4;15988:20;15984:1;15973:9;15969:17;15962:47;16026:131;16152:4;16026:131;:::i;:::-;16018:139;;15745:419;;;:::o;16170:224::-;16310:34;16306:1;16298:6;16294:14;16287:58;16379:7;16374:2;16366:6;16362:15;16355:32;16170:224;:::o;16400:366::-;16542:3;16563:67;16627:2;16622:3;16563:67;:::i;:::-;16556:74;;16639:93;16728:3;16639:93;:::i;:::-;16757:2;16752:3;16748:12;16741:19;;16400:366;;;:::o;16772:419::-;16938:4;16976:2;16965:9;16961:18;16953:26;;17025:9;17019:4;17015:20;17011:1;17000:9;16996:17;16989:47;17053:131;17179:4;17053:131;:::i;:::-;17045:139;;16772:419;;;:::o;17197:222::-;17337:34;17333:1;17325:6;17321:14;17314:58;17406:5;17401:2;17393:6;17389:15;17382:30;17197:222;:::o;17425:366::-;17567:3;17588:67;17652:2;17647:3;17588:67;:::i;:::-;17581:74;;17664:93;17753:3;17664:93;:::i;:::-;17782:2;17777:3;17773:12;17766:19;;17425:366;;;:::o;17797:419::-;17963:4;18001:2;17990:9;17986:18;17978:26;;18050:9;18044:4;18040:20;18036:1;18025:9;18021:17;18014:47;18078:131;18204:4;18078:131;:::i;:::-;18070:139;;17797:419;;;:::o;18222:228::-;18362:34;18358:1;18350:6;18346:14;18339:58;18431:11;18426:2;18418:6;18414:15;18407:36;18222:228;:::o;18456:366::-;18598:3;18619:67;18683:2;18678:3;18619:67;:::i;:::-;18612:74;;18695:93;18784:3;18695:93;:::i;:::-;18813:2;18808:3;18804:12;18797:19;;18456:366;;;:::o;18828:419::-;18994:4;19032:2;19021:9;19017:18;19009:26;;19081:9;19075:4;19071:20;19067:1;19056:9;19052:17;19045:47;19109:131;19235:4;19109:131;:::i;:::-;19101:139;;18828:419;;;:::o;19253:178::-;19393:30;19389:1;19381:6;19377:14;19370:54;19253:178;:::o;19437:366::-;19579:3;19600:67;19664:2;19659:3;19600:67;:::i;:::-;19593:74;;19676:93;19765:3;19676:93;:::i;:::-;19794:2;19789:3;19785:12;19778:19;;19437:366;;;:::o;19809:419::-;19975:4;20013:2;20002:9;19998:18;19990:26;;20062:9;20056:4;20052:20;20048:1;20037:9;20033:17;20026:47;20090:131;20216:4;20090:131;:::i;:::-;20082:139;;19809:419;;;:::o;20234:180::-;20282:77;20279:1;20272:88;20379:4;20376:1;20369:15;20403:4;20400:1;20393:15;20420:191;20460:3;20479:20;20497:1;20479:20;:::i;:::-;20474:25;;20513:20;20531:1;20513:20;:::i;:::-;20508:25;;20556:1;20553;20549:9;20542:16;;20577:3;20574:1;20571:10;20568:36;;;20584:18;;:::i;:::-;20568:36;20420:191;;;;:::o;20617:222::-;20757:34;20753:1;20745:6;20741:14;20734:58;20826:5;20821:2;20813:6;20809:15;20802:30;20617:222;:::o;20845:366::-;20987:3;21008:67;21072:2;21067:3;21008:67;:::i;:::-;21001:74;;21084:93;21173:3;21084:93;:::i;:::-;21202:2;21197:3;21193:12;21186:19;;20845:366;;;:::o;21217:419::-;21383:4;21421:2;21410:9;21406:18;21398:26;;21470:9;21464:4;21460:20;21456:1;21445:9;21441:17;21434:47;21498:131;21624:4;21498:131;:::i;:::-;21490:139;;21217:419;;;:::o;21642:250::-;21782:34;21778:1;21770:6;21766:14;21759:58;21851:33;21846:2;21838:6;21834:15;21827:58;21642:250;:::o;21898:366::-;22040:3;22061:67;22125:2;22120:3;22061:67;:::i;:::-;22054:74;;22137:93;22226:3;22137:93;:::i;:::-;22255:2;22250:3;22246:12;22239:19;;21898:366;;;:::o;22270:419::-;22436:4;22474:2;22463:9;22459:18;22451:26;;22523:9;22517:4;22513:20;22509:1;22498:9;22494:17;22487:47;22551:131;22677:4;22551:131;:::i;:::-;22543:139;;22270:419;;;:::o;22695:222::-;22835:34;22831:1;22823:6;22819:14;22812:58;22904:5;22899:2;22891:6;22887:15;22880:30;22695:222;:::o;22923:366::-;23065:3;23086:67;23150:2;23145:3;23086:67;:::i;:::-;23079:74;;23162:93;23251:3;23162:93;:::i;:::-;23280:2;23275:3;23271:12;23264:19;;22923:366;;;:::o;23295:419::-;23461:4;23499:2;23488:9;23484:18;23476:26;;23548:9;23542:4;23538:20;23534:1;23523:9;23519:17;23512:47;23576:131;23702:4;23576:131;:::i;:::-;23568:139;;23295:419;;;:::o;23720:194::-;23760:4;23780:20;23798:1;23780:20;:::i;:::-;23775:25;;23814:20;23832:1;23814:20;:::i;:::-;23809:25;;23858:1;23855;23851:9;23843:17;;23882:1;23876:4;23873:11;23870:37;;;23887:18;;:::i;:::-;23870:37;23720:194;;;;:::o;23920:229::-;24060:34;24056:1;24048:6;24044:14;24037:58;24129:12;24124:2;24116:6;24112:15;24105:37;23920:229;:::o;24155:366::-;24297:3;24318:67;24382:2;24377:3;24318:67;:::i;:::-;24311:74;;24394:93;24483:3;24394:93;:::i;:::-;24512:2;24507:3;24503:12;24496:19;;24155:366;;;:::o;24527:419::-;24693:4;24731:2;24720:9;24716:18;24708:26;;24780:9;24774:4;24770:20;24766:1;24755:9;24751:17;24744:47;24808:131;24934:4;24808:131;:::i;:::-;24800:139;;24527:419;;;:::o;24952:143::-;25009:5;25040:6;25034:13;25025:22;;25056:33;25083:5;25056:33;:::i;:::-;24952:143;;;;:::o;25101:351::-;25171:6;25220:2;25208:9;25199:7;25195:23;25191:32;25188:119;;;25226:79;;:::i;:::-;25188:119;25346:1;25371:64;25427:7;25418:6;25407:9;25403:22;25371:64;:::i;:::-;25361:74;;25317:128;25101:351;;;;:::o;25458:85::-;25503:7;25532:5;25521:16;;25458:85;;;:::o;25549:158::-;25607:9;25640:61;25658:42;25667:32;25693:5;25667:32;:::i;:::-;25658:42;:::i;:::-;25640:61;:::i;:::-;25627:74;;25549:158;;;:::o;25713:147::-;25808:45;25847:5;25808:45;:::i;:::-;25803:3;25796:58;25713:147;;:::o;25866:114::-;25933:6;25967:5;25961:12;25951:22;;25866:114;;;:::o;25986:184::-;26085:11;26119:6;26114:3;26107:19;26159:4;26154:3;26150:14;26135:29;;25986:184;;;;:::o;26176:132::-;26243:4;26266:3;26258:11;;26296:4;26291:3;26287:14;26279:22;;26176:132;;;:::o;26314:108::-;26391:24;26409:5;26391:24;:::i;:::-;26386:3;26379:37;26314:108;;:::o;26428:179::-;26497:10;26518:46;26560:3;26552:6;26518:46;:::i;:::-;26596:4;26591:3;26587:14;26573:28;;26428:179;;;;:::o;26613:113::-;26683:4;26715;26710:3;26706:14;26698:22;;26613:113;;;:::o;26762:732::-;26881:3;26910:54;26958:5;26910:54;:::i;:::-;26980:86;27059:6;27054:3;26980:86;:::i;:::-;26973:93;;27090:56;27140:5;27090:56;:::i;:::-;27169:7;27200:1;27185:284;27210:6;27207:1;27204:13;27185:284;;;27286:6;27280:13;27313:63;27372:3;27357:13;27313:63;:::i;:::-;27306:70;;27399:60;27452:6;27399:60;:::i;:::-;27389:70;;27245:224;27232:1;27229;27225:9;27220:14;;27185:284;;;27189:14;27485:3;27478:10;;26886:608;;;26762:732;;;;:::o;27500:831::-;27763:4;27801:3;27790:9;27786:19;27778:27;;27815:71;27883:1;27872:9;27868:17;27859:6;27815:71;:::i;:::-;27896:80;27972:2;27961:9;27957:18;27948:6;27896:80;:::i;:::-;28023:9;28017:4;28013:20;28008:2;27997:9;27993:18;27986:48;28051:108;28154:4;28145:6;28051:108;:::i;:::-;28043:116;;28169:72;28237:2;28226:9;28222:18;28213:6;28169:72;:::i;:::-;28251:73;28319:3;28308:9;28304:19;28295:6;28251:73;:::i;:::-;27500:831;;;;;;;;:::o;28337:180::-;28385:77;28382:1;28375:88;28482:4;28479:1;28472:15;28506:4;28503:1;28496:15;28523:185;28563:1;28580:20;28598:1;28580:20;:::i;:::-;28575:25;;28614:20;28632:1;28614:20;:::i;:::-;28609:25;;28653:1;28643:35;;28658:18;;:::i;:::-;28643:35;28700:1;28697;28693:9;28688:14;;28523:185;;;;:::o;28714:177::-;28854:29;28850:1;28842:6;28838:14;28831:53;28714:177;:::o;28897:366::-;29039:3;29060:67;29124:2;29119:3;29060:67;:::i;:::-;29053:74;;29136:93;29225:3;29136:93;:::i;:::-;29254:2;29249:3;29245:12;29238:19;;28897:366;;;:::o;29269:419::-;29435:4;29473:2;29462:9;29458:18;29450:26;;29522:9;29516:4;29512:20;29508:1;29497:9;29493:17;29486:47;29550:131;29676:4;29550:131;:::i;:::-;29542:139;;29269:419;;;:::o;29694:410::-;29734:7;29757:20;29775:1;29757:20;:::i;:::-;29752:25;;29791:20;29809:1;29791:20;:::i;:::-;29786:25;;29846:1;29843;29839:9;29868:30;29886:11;29868:30;:::i;:::-;29857:41;;30047:1;30038:7;30034:15;30031:1;30028:22;30008:1;30001:9;29981:83;29958:139;;30077:18;;:::i;:::-;29958:139;29742:362;29694:410;;;;:::o;30110:220::-;30250:34;30246:1;30238:6;30234:14;30227:58;30319:3;30314:2;30306:6;30302:15;30295:28;30110:220;:::o;30336:366::-;30478:3;30499:67;30563:2;30558:3;30499:67;:::i;:::-;30492:74;;30575:93;30664:3;30575:93;:::i;:::-;30693:2;30688:3;30684:12;30677:19;;30336:366;;;:::o;30708:419::-;30874:4;30912:2;30901:9;30897:18;30889:26;;30961:9;30955:4;30951:20;30947:1;30936:9;30932:17;30925:47;30989:131;31115:4;30989:131;:::i;:::-;30981:139;;30708:419;;;:::o

Swarm Source

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