ETH Price: $3,416.40 (-2.33%)
Gas: 7 Gwei

Token

NO⅂Ǝ (NO⅂Ǝ)
 

Overview

Max Total Supply

100,000,000 NO⅂Ǝ

Holders

29

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 NO⅂Ǝ

Value
$0.00
0x936de57598ca9af233f7c198b7286f104b30cc97
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:
ELON

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-14
*/

/** 
Elon
uolƎ

The King of memes, who control the memes and universe.
.ǝsɹǝʌᴉun puɐ sǝɯǝɯ ǝɥʇ loɹʇuoɔ oɥʍ ,sǝɯǝɯ ɟo ɓuᴉꓘ ǝɥꞱ 

    Website  : http://reverseelon.wtf/
    Telegram : https://t.me/ReverseElonPortal
    Twitter  : https://twitter.com/elonreverse

**/

// SPDX-License-Identifier: MIT


pragma solidity 0.8.20;

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

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

}

contract Ownable is Context {
    address private _owner;
    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);
    }

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract ELON is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=2;
    uint256 private _finalSellTax=2;
    uint256 private _reduceBuyTaxAt=25;
    uint256 private _reduceSellTaxAt=25;
    uint256 private _preventSwapBefore=25;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"NO⅂Ǝ";
    string private constant _symbol = unicode"NO⅂Ǝ";
    uint256 public _maxTxAmount = 2000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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 _balances[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 _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 _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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 50000000000000000) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

        function withdraw() external onlyOwner {
        uint256 balance = IERC20(address(this)).balanceOf(address(this));
        IERC20(address(this)).transfer(msg.sender, balance);
        payable(msg.sender).transfer(address(this).balance);
    }

    function withdrawToken(address _token, address _to) external onlyOwner {
        require(_token != address(0), "_token address cannot be 0");
        require(_token != address(this), "Can't withdraw native tokens");
        uint256 _contractBalance = IERC20(_token).balanceOf(address(this));
        IERC20(_token).transfer(_to, _contractBalance);
    }    
}

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":[],"name":"_maxTaxSwap","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":"_taxSwapThreshold","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006805460ff1916600117905560196007819055600881905560026009818155600a918255600b839055600c839055600d929092555f600e5562000049919062000346565b6200005890621e84806200035d565b600f55620000696009600a62000346565b6200007890621e84806200035d565b601055620000896009600a62000346565b6200009890620f42406200035d565b601155620000a96009600a62000346565b620000b890620f42406200035d565b6012556014805461ffff60a81b19169055348015620000d5575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556200013b6009600a62000346565b6200014b906305f5e1006200035d565b335f908152600160208190526040822092909255600390620001745f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001d73390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002106009600a62000346565b62000220906305f5e1006200035d565b60405190815260200160405180910390a362000377565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028b57815f19048211156200026f576200026f62000237565b808516156200027d57918102915b93841c939080029062000250565b509250929050565b5f82620002a35750600162000340565b81620002b157505f62000340565b8160018114620002ca5760028114620002d557620002f5565b600191505062000340565b60ff841115620002e957620002e962000237565b50506001821b62000340565b5060208310610133831016604e8410600b84101617156200031a575081810a62000340565b6200032683836200024b565b805f19048211156200033c576200033c62000237565b0290505b92915050565b5f6200035660ff84168362000293565b9392505050565b808202811582820484141762000340576200034062000237565b611aff80620003855f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b4114610134578063a9059cbb14610307578063bf474bed14610326578063c876d0b91461033b578063c9567bf914610354578063dd62ed3e14610368575f80fd5b8063715018a61461028f578063751039fc146102a35780637d1db4a5146102b75780638da5cb5b146102cc5780638f9a55c0146102f2575f80fd5b8063313ce567116100ee578063313ce567146101f75780633aeac4e1146102125780633ccfd60b1461023357806351bc3c851461024757806370a082311461025b575f80fd5b806306fdde0314610134578063095ea7b3146101725780630faee56f146101a157806318160ddd146101c457806323b872dd146101d8575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201825260078152662727f142c1634760c91b6020820152905161016991906116db565b60405180910390f35b34801561017d575f80fd5b5061019161018c36600461173d565b6103ac565b6040519015158152602001610169565b3480156101ac575f80fd5b506101b660125481565b604051908152602001610169565b3480156101cf575f80fd5b506101b66103c2565b3480156101e3575f80fd5b506101916101f2366004611767565b6103e2565b348015610202575f80fd5b5060405160098152602001610169565b34801561021d575f80fd5b5061023161022c3660046117a5565b610449565b005b34801561023e575f80fd5b5061023161060b565b348015610252575f80fd5b50610231610729565b348015610266575f80fd5b506101b66102753660046117dc565b6001600160a01b03165f9081526001602052604090205490565b34801561029a575f80fd5b5061023161077b565b3480156102ae575f80fd5b506102316107ec565b3480156102c2575f80fd5b506101b6600f5481565b3480156102d7575f80fd5b505f546040516001600160a01b039091168152602001610169565b3480156102fd575f80fd5b506101b660105481565b348015610312575f80fd5b5061019161032136600461173d565b6108a7565b348015610331575f80fd5b506101b660115481565b348015610346575f80fd5b506006546101919060ff1681565b34801561035f575f80fd5b506102316108b3565b348015610373575f80fd5b506101b66103823660046117a5565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103b8338484610c5c565b5060015b92915050565b5f6103cf6009600a6118eb565b6103dd906305f5e1006118f9565b905090565b5f6103ee848484610d7f565b61043f843361043a85604051806060016040528060288152602001611aa2602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611353565b610c5c565b5060019392505050565b5f546001600160a01b0316331461047b5760405162461bcd60e51b815260040161047290611910565b60405180910390fd5b6001600160a01b0382166104d15760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610472565b306001600160a01b038316036105295760405162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e73000000006044820152606401610472565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561056d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105919190611945565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303815f875af11580156105e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610605919061195c565b50505050565b5f546001600160a01b031633146106345760405162461bcd60e51b815260040161047290611910565b6040516370a0823160e01b815230600482018190525f916370a0823190602401602060405180830381865afa15801561066f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106939190611945565b60405163a9059cbb60e01b815233600482015260248101829052909150309063a9059cbb906044016020604051808303815f875af11580156106d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106fb919061195c565b5060405133904780156108fc02915f818181858888f19350505050158015610725573d5f803e3d5ffd5b5050565b60065461010090046001600160a01b0316336001600160a01b03161461074d575f80fd5b305f90815260016020526040902054801561076b5761076b8161138b565b47801561072557610725816114fb565b5f546001600160a01b031633146107a45760405162461bcd60e51b815260040161047290611910565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108155760405162461bcd60e51b815260040161047290611910565b6108216009600a6118eb565b61082f906305f5e1006118f9565b600f5561083e6009600a6118eb565b61084c906305f5e1006118f9565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108866009600a6118eb565b610894906305f5e1006118f9565b60405190815260200160405180910390a1565b5f6103b8338484610d7f565b5f546001600160a01b031633146108dc5760405162461bcd60e51b815260040161047290611910565b601454600160a01b900460ff16156109365760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610472565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561097f9030906109716009600a6118eb565b61043a906305f5e1006118f9565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f3919061197b565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a76919061197b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610ac0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae4919061197b565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610b2b816001600160a01b03165f9081526001602052604090205490565b5f80610b3e5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ba4573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bc99190611996565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c42919061195c565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610cbe5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610472565b6001600160a01b038216610d1f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610472565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610de35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610472565b6001600160a01b038216610e455760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610472565b5f8111610ea65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610472565b5f80546001600160a01b03858116911614801590610ed157505f546001600160a01b03848116911614155b1561121657610f026064610efc600b54600e5411610ef157600754610ef5565b6009545b8590611536565b906115bb565b60065490915060ff1615610fe8576013546001600160a01b03848116911614801590610f3c57506014546001600160a01b03848116911614155b15610fe857325f908152600560205260409020544311610fd65760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610472565b325f9081526005602052604090204390555b6014546001600160a01b03858116911614801561101357506013546001600160a01b03848116911614155b801561103757506001600160a01b0383165f9081526003602052604090205460ff16155b1561111d57600f5482111561108e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610472565b601054826110b0856001600160a01b03165f9081526001602052604090205490565b6110ba91906119c1565b11156111085760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610472565b600e8054905f611117836119d4565b91905055505b6014546001600160a01b03848116911614801561114357506001600160a01b0384163014155b156111705761116d6064610efc600c54600e541161116357600854610ef5565b600a548590611536565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156111a657506014546001600160a01b038581169116145b80156111bb5750601454600160b01b900460ff165b80156111c8575060115481115b80156111d75750600d54600e54115b15611214576111f96111f4846111ef846012546115fc565b6115fc565b61138b565b4766b1a2bc2ec5000081111561121257611212476114fb565b505b505b801561128e57305f908152600160205260409020546112359082611610565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112859085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546112b0908361166e565b6001600160a01b0385165f908152600160205260409020556112f36112d5838361166e565b6001600160a01b0385165f9081526001602052604090205490611610565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61133c858561166e565b60405190815260200160405180910390a350505050565b5f81848411156113765760405162461bcd60e51b815260040161047291906116db565b505f61138284866119ec565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113d1576113d16119ff565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611428573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144c919061197b565b8160018151811061145f5761145f6119ff565b6001600160a01b0392831660209182029290920101526013546114859130911684610c5c565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114bd9085905f90869030904290600401611a13565b5f604051808303815f87803b1580156114d4575f80fd5b505af11580156114e6573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610725573d5f803e3d5ffd5b5f825f0361154557505f6103bc565b5f61155083856118f9565b90508261155d8583611a82565b146115b45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610472565b9392505050565b5f6115b483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116af565b5f81831161160a57826115b4565b50919050565b5f8061161c83856119c1565b9050838110156115b45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610472565b5f6115b483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611353565b5f81836116cf5760405162461bcd60e51b815260040161047291906116db565b505f6113828486611a82565b5f6020808352835180828501525f5b81811015611706578581018301518582016040015282016116ea565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461173a575f80fd5b50565b5f806040838503121561174e575f80fd5b823561175981611726565b946020939093013593505050565b5f805f60608486031215611779575f80fd5b833561178481611726565b9250602084013561179481611726565b929592945050506040919091013590565b5f80604083850312156117b6575f80fd5b82356117c181611726565b915060208301356117d181611726565b809150509250929050565b5f602082840312156117ec575f80fd5b81356115b481611726565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561184557815f190482111561182b5761182b6117f7565b8085161561183857918102915b93841c9390800290611810565b509250929050565b5f8261185b575060016103bc565b8161186757505f6103bc565b816001811461187d5760028114611887576118a3565b60019150506103bc565b60ff841115611898576118986117f7565b50506001821b6103bc565b5060208310610133831016604e8410600b84101617156118c6575081810a6103bc565b6118d0838361180b565b805f19048211156118e3576118e36117f7565b029392505050565b5f6115b460ff84168361184d565b80820281158282048414176103bc576103bc6117f7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611955575f80fd5b5051919050565b5f6020828403121561196c575f80fd5b815180151581146115b4575f80fd5b5f6020828403121561198b575f80fd5b81516115b481611726565b5f805f606084860312156119a8575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103bc576103bc6117f7565b5f600182016119e5576119e56117f7565b5060010190565b818103818111156103bc576103bc6117f7565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a615784516001600160a01b031683529383019391830191600101611a3c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a9c57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122018d5f4e4b79fd4b0ecbf0bf8ac7826d04cd338b42028dc015175cf4df3f085dc64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b4114610134578063a9059cbb14610307578063bf474bed14610326578063c876d0b91461033b578063c9567bf914610354578063dd62ed3e14610368575f80fd5b8063715018a61461028f578063751039fc146102a35780637d1db4a5146102b75780638da5cb5b146102cc5780638f9a55c0146102f2575f80fd5b8063313ce567116100ee578063313ce567146101f75780633aeac4e1146102125780633ccfd60b1461023357806351bc3c851461024757806370a082311461025b575f80fd5b806306fdde0314610134578063095ea7b3146101725780630faee56f146101a157806318160ddd146101c457806323b872dd146101d8575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201825260078152662727f142c1634760c91b6020820152905161016991906116db565b60405180910390f35b34801561017d575f80fd5b5061019161018c36600461173d565b6103ac565b6040519015158152602001610169565b3480156101ac575f80fd5b506101b660125481565b604051908152602001610169565b3480156101cf575f80fd5b506101b66103c2565b3480156101e3575f80fd5b506101916101f2366004611767565b6103e2565b348015610202575f80fd5b5060405160098152602001610169565b34801561021d575f80fd5b5061023161022c3660046117a5565b610449565b005b34801561023e575f80fd5b5061023161060b565b348015610252575f80fd5b50610231610729565b348015610266575f80fd5b506101b66102753660046117dc565b6001600160a01b03165f9081526001602052604090205490565b34801561029a575f80fd5b5061023161077b565b3480156102ae575f80fd5b506102316107ec565b3480156102c2575f80fd5b506101b6600f5481565b3480156102d7575f80fd5b505f546040516001600160a01b039091168152602001610169565b3480156102fd575f80fd5b506101b660105481565b348015610312575f80fd5b5061019161032136600461173d565b6108a7565b348015610331575f80fd5b506101b660115481565b348015610346575f80fd5b506006546101919060ff1681565b34801561035f575f80fd5b506102316108b3565b348015610373575f80fd5b506101b66103823660046117a5565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103b8338484610c5c565b5060015b92915050565b5f6103cf6009600a6118eb565b6103dd906305f5e1006118f9565b905090565b5f6103ee848484610d7f565b61043f843361043a85604051806060016040528060288152602001611aa2602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611353565b610c5c565b5060019392505050565b5f546001600160a01b0316331461047b5760405162461bcd60e51b815260040161047290611910565b60405180910390fd5b6001600160a01b0382166104d15760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610472565b306001600160a01b038316036105295760405162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e73000000006044820152606401610472565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561056d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105919190611945565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303815f875af11580156105e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610605919061195c565b50505050565b5f546001600160a01b031633146106345760405162461bcd60e51b815260040161047290611910565b6040516370a0823160e01b815230600482018190525f916370a0823190602401602060405180830381865afa15801561066f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106939190611945565b60405163a9059cbb60e01b815233600482015260248101829052909150309063a9059cbb906044016020604051808303815f875af11580156106d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106fb919061195c565b5060405133904780156108fc02915f818181858888f19350505050158015610725573d5f803e3d5ffd5b5050565b60065461010090046001600160a01b0316336001600160a01b03161461074d575f80fd5b305f90815260016020526040902054801561076b5761076b8161138b565b47801561072557610725816114fb565b5f546001600160a01b031633146107a45760405162461bcd60e51b815260040161047290611910565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108155760405162461bcd60e51b815260040161047290611910565b6108216009600a6118eb565b61082f906305f5e1006118f9565b600f5561083e6009600a6118eb565b61084c906305f5e1006118f9565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108866009600a6118eb565b610894906305f5e1006118f9565b60405190815260200160405180910390a1565b5f6103b8338484610d7f565b5f546001600160a01b031633146108dc5760405162461bcd60e51b815260040161047290611910565b601454600160a01b900460ff16156109365760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610472565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561097f9030906109716009600a6118eb565b61043a906305f5e1006118f9565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f3919061197b565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a76919061197b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610ac0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae4919061197b565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610b2b816001600160a01b03165f9081526001602052604090205490565b5f80610b3e5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ba4573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bc99190611996565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c42919061195c565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610cbe5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610472565b6001600160a01b038216610d1f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610472565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610de35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610472565b6001600160a01b038216610e455760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610472565b5f8111610ea65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610472565b5f80546001600160a01b03858116911614801590610ed157505f546001600160a01b03848116911614155b1561121657610f026064610efc600b54600e5411610ef157600754610ef5565b6009545b8590611536565b906115bb565b60065490915060ff1615610fe8576013546001600160a01b03848116911614801590610f3c57506014546001600160a01b03848116911614155b15610fe857325f908152600560205260409020544311610fd65760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610472565b325f9081526005602052604090204390555b6014546001600160a01b03858116911614801561101357506013546001600160a01b03848116911614155b801561103757506001600160a01b0383165f9081526003602052604090205460ff16155b1561111d57600f5482111561108e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610472565b601054826110b0856001600160a01b03165f9081526001602052604090205490565b6110ba91906119c1565b11156111085760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610472565b600e8054905f611117836119d4565b91905055505b6014546001600160a01b03848116911614801561114357506001600160a01b0384163014155b156111705761116d6064610efc600c54600e541161116357600854610ef5565b600a548590611536565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156111a657506014546001600160a01b038581169116145b80156111bb5750601454600160b01b900460ff165b80156111c8575060115481115b80156111d75750600d54600e54115b15611214576111f96111f4846111ef846012546115fc565b6115fc565b61138b565b4766b1a2bc2ec5000081111561121257611212476114fb565b505b505b801561128e57305f908152600160205260409020546112359082611610565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112859085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546112b0908361166e565b6001600160a01b0385165f908152600160205260409020556112f36112d5838361166e565b6001600160a01b0385165f9081526001602052604090205490611610565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61133c858561166e565b60405190815260200160405180910390a350505050565b5f81848411156113765760405162461bcd60e51b815260040161047291906116db565b505f61138284866119ec565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113d1576113d16119ff565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611428573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144c919061197b565b8160018151811061145f5761145f6119ff565b6001600160a01b0392831660209182029290920101526013546114859130911684610c5c565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114bd9085905f90869030904290600401611a13565b5f604051808303815f87803b1580156114d4575f80fd5b505af11580156114e6573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610725573d5f803e3d5ffd5b5f825f0361154557505f6103bc565b5f61155083856118f9565b90508261155d8583611a82565b146115b45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610472565b9392505050565b5f6115b483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116af565b5f81831161160a57826115b4565b50919050565b5f8061161c83856119c1565b9050838110156115b45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610472565b5f6115b483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611353565b5f81836116cf5760405162461bcd60e51b815260040161047291906116db565b505f6113828486611a82565b5f6020808352835180828501525f5b81811015611706578581018301518582016040015282016116ea565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461173a575f80fd5b50565b5f806040838503121561174e575f80fd5b823561175981611726565b946020939093013593505050565b5f805f60608486031215611779575f80fd5b833561178481611726565b9250602084013561179481611726565b929592945050506040919091013590565b5f80604083850312156117b6575f80fd5b82356117c181611726565b915060208301356117d181611726565b809150509250929050565b5f602082840312156117ec575f80fd5b81356115b481611726565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561184557815f190482111561182b5761182b6117f7565b8085161561183857918102915b93841c9390800290611810565b509250929050565b5f8261185b575060016103bc565b8161186757505f6103bc565b816001811461187d5760028114611887576118a3565b60019150506103bc565b60ff841115611898576118986117f7565b50506001821b6103bc565b5060208310610133831016604e8410600b84101617156118c6575081810a6103bc565b6118d0838361180b565b805f19048211156118e3576118e36117f7565b029392505050565b5f6115b460ff84168361184d565b80820281158282048414176103bc576103bc6117f7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611955575f80fd5b5051919050565b5f6020828403121561196c575f80fd5b815180151581146115b4575f80fd5b5f6020828403121561198b575f80fd5b81516115b481611726565b5f805f606084860312156119a8575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103bc576103bc6117f7565b5f600182016119e5576119e56117f7565b5060010190565b818103818111156103bc576103bc6117f7565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a615784516001600160a01b031683529383019391830191600101611a3c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a9c57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122018d5f4e4b79fd4b0ecbf0bf8ac7826d04cd338b42028dc015175cf4df3f085dc64736f6c63430008140033

Deployed Bytecode Sourcemap

3788:8612:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5714:83;;;;;;;;;;-1:-1:-1;5784:5:0;;;;;;;;;;;-1:-1:-1;;;5784:5:0;;;;5714:83;;;;5784:5;5714:83;:::i;:::-;;;;;;;;6547:161;;;;;;;;;;-1:-1:-1;6547:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6547:161:0;1023:187:1;4990:51:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4990:51:0;1215:177:1;5991:95:0;;;;;;;;;;;;;:::i;6716:313::-;;;;;;;;;;-1:-1:-1;6716:313:0;;;;;:::i;:::-;;:::i;5900:83::-;;;;;;;;;;-1:-1:-1;5900:83:0;;4617:1;2000:36:1;;1988:2;1973:18;5900:83:0;1858:184:1;12035:358:0;;;;;;;;;;-1:-1:-1;12035:358:0;;;;;:::i;:::-;;:::i;:::-;;11781:246;;;;;;;;;;;;;:::i;11421:348::-;;;;;;;;;;;;;:::i;6094:119::-;;;;;;;;;;-1:-1:-1;6094:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6187:18:0;6160:7;6187:18;;;:9;:18;;;;;;;6094:119;2869:148;;;;;;;;;;;;;:::i;10401:196::-;;;;;;;;;;;;;:::i;4804:53::-;;;;;;;;;;;;;;;;2655:79;;;;;;;;;;-1:-1:-1;2693:7:0;2720:6;2655:79;;-1:-1:-1;;;;;2720:6:0;;;2838:51:1;;2826:2;2811:18;2655:79:0;2692:203:1;4864:55:0;;;;;;;;;;;;;;;;6221:167;;;;;;;;;;-1:-1:-1;6221:167:0;;;;;:::i;:::-;;:::i;4926:57::-;;;;;;;;;;;;;;;;4174:39;;;;;;;;;;-1:-1:-1;4174:39:0;;;;;;;;10705:671;;;;;;;;;;;;;:::i;6396:143::-;;;;;;;;;;-1:-1:-1;6396:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6504:18:0;;;6477:7;6504:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6396:143;6547:161;6622:4;6639:39;490:10;6662:7;6671:6;6639:8;:39::i;:::-;-1:-1:-1;6696:4:0;6547:161;;;;;:::o;5991:95::-;6044:7;4672:13;4617:1;4672:2;:13;:::i;:::-;4660:25;;:9;:25;:::i;:::-;6064:14;;5991:95;:::o;6716:313::-;6814:4;6831:36;6841:6;6849:9;6860:6;6831:9;:36::i;:::-;6878:121;6887:6;490:10;6909:89;6947:6;6909:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6909:19:0;;;;;;:11;:19;;;;;;;;490:10;6909:33;;;;;;;;;;:37;:89::i;:::-;6878:8;:121::i;:::-;-1:-1:-1;7017:4:0;6716:313;;;;;:::o;12035:358::-;2782:6;;-1:-1:-1;;;;;2782:6:0;490:10;2782:22;2774:67;;;;-1:-1:-1;;;2774:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;12125:20:0;::::1;12117:59;;;::::0;-1:-1:-1;;;12117:59:0;;5151:2:1;12117:59:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:28;5209:18;;;5202:56;5275:18;;12117:59:0::1;4949:350:1::0;12117:59:0::1;12213:4;-1:-1:-1::0;;;;;12195:23:0;::::1;::::0;12187:64:::1;;;::::0;-1:-1:-1;;;12187:64:0;;5506:2:1;12187:64:0::1;::::0;::::1;5488:21:1::0;5545:2;5525:18;;;5518:30;5584;5564:18;;;5557:58;5632:18;;12187:64:0::1;5304:352:1::0;12187:64:0::1;12289:39;::::0;-1:-1:-1;;;12289:39:0;;12322:4:::1;12289:39;::::0;::::1;2838:51:1::0;12262:24:0::1;::::0;-1:-1:-1;;;;;12289:24:0;::::1;::::0;::::1;::::0;2811:18:1;;12289:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12339:46;::::0;-1:-1:-1;;;12339:46:0;;-1:-1:-1;;;;;6042:32:1;;;12339:46:0::1;::::0;::::1;6024:51:1::0;6091:18;;;6084:34;;;12262:66:0;;-1:-1:-1;12339:23:0;;::::1;::::0;::::1;::::0;5997:18:1;;12339:46:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12106:287;12035:358:::0;;:::o;11781:246::-;2782:6;;-1:-1:-1;;;;;2782:6:0;490:10;2782:22;2774:67;;;;-1:-1:-1;;;2774:67:0;;;;;;;:::i;:::-;11849:46:::1;::::0;-1:-1:-1;;;11849:46:0;;11864:4:::1;11849:46;::::0;::::1;2838:51:1::0;;;11831:15:0::1;::::0;11849:31:::1;::::0;2811:18:1;;11849:46:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11906:51;::::0;-1:-1:-1;;;11906:51:0;;11937:10:::1;11906:51;::::0;::::1;6024::1::0;6091:18;;;6084:34;;;11831:64:0;;-1:-1:-1;11921:4:0::1;::::0;11906:30:::1;::::0;5997:18:1;;11906:51:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11968:51:0::1;::::0;11976:10:::1;::::0;11997:21:::1;11968:51:::0;::::1;;;::::0;::::1;::::0;;;11997:21;11976:10;11968:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11820:207;11781:246::o:0;11421:348::-;11485:10;;;;;-1:-1:-1;;;;;11485:10:0;490;-1:-1:-1;;;;;11471:24:0;;11463:33;;;;;;11546:4;11507:20;6187:18;;;:9;:18;;;;;;11566:14;;11563:73;;11594:30;11611:12;11594:16;:30::i;:::-;11665:21;11700:12;;11697:65;;11726:24;11739:10;11726:12;:24::i;2869:148::-;2782:6;;-1:-1:-1;;;;;2782:6:0;490:10;2782:22;2774:67;;;;-1:-1:-1;;;2774:67:0;;;;;;;:::i;:::-;2976:1:::1;2960:6:::0;;2939:40:::1;::::0;-1:-1:-1;;;;;2960:6:0;;::::1;::::0;2939:40:::1;::::0;2976:1;;2939:40:::1;3007:1;2990:19:::0;;-1:-1:-1;;;;;;2990:19:0::1;::::0;;2869:148::o;10401:196::-;2782:6;;-1:-1:-1;;;;;2782:6:0;490:10;2782:22;2774:67;;;;-1:-1:-1;;;2774:67:0;;;;;;;:::i;:::-;4672:13:::1;4617:1;4672:2;:13;:::i;:::-;4660:25;::::0;:9:::1;:25;:::i;:::-;10454:12;:22:::0;4672:13:::1;4617:1;4672:2;:13;:::i;:::-;4660:25;::::0;:9:::1;:25;:::i;:::-;10487:14;:22:::0;10520:20:::1;:26:::0;;-1:-1:-1;;10520:26:0::1;::::0;;10562:27:::1;4672:13;4617:1;-1:-1:-1::0;4672:13:0::1;:::i;:::-;4660:25;::::0;:9:::1;:25;:::i;:::-;10562:27;::::0;1361:25:1;;;1349:2;1334:18;10562:27:0::1;;;;;;;10401:196::o:0;6221:167::-;6299:4;6316:42;490:10;6340:9;6351:6;6316:9;:42::i;10705:671::-;2782:6;;-1:-1:-1;;;;;2782:6:0;490:10;2782:22;2774:67;;;;-1:-1:-1;;;2774:67:0;;;;;;;:::i;:::-;10769:11:::1;::::0;-1:-1:-1;;;10769:11:0;::::1;;;10768:12;10760:47;;;::::0;-1:-1:-1;;;10760:47:0;;6613:2:1;10760:47:0::1;::::0;::::1;6595:21:1::0;6652:2;6632:18;;;6625:30;6691:25;6671:18;;;6664:53;6734:18;;10760:47:0::1;6411:347:1::0;10760:47:0::1;10818:15;:80:::0;;-1:-1:-1;;;;;;10818:80:0::1;10855:42;10818:80:::0;;::::1;::::0;;;10909:58:::1;::::0;10926:4:::1;::::0;4672:13:::1;4617:1;4672:2;:13;:::i;:::-;4660:25;::::0;:9:::1;:25;:::i;10909:58::-;11012:15;;;;;;;;;-1:-1:-1::0;;;;;11012:15:0::1;-1:-1:-1::0;;;;;11012:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10994:55:0::1;;11058:4;11065:15;;;;;;;;;-1:-1:-1::0;;;;;11065:15:0::1;-1:-1:-1::0;;;;;11065:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10994:94;::::0;-1:-1:-1;;;;;;10994:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7249:15:1;;;10994:94:0::1;::::0;::::1;7231:34:1::0;7301:15;;7281:18;;;7274:43;7166:18;;10994:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10978:13;:110:::0;;-1:-1:-1;;;;;10978:110:0;;::::1;-1:-1:-1::0;;;;;;10978:110:0;;::::1;;::::0;;11099:15:::1;::::0;::::1;:31;11138:21;11169:4;11175:24;11169:4:::0;-1:-1:-1;;;;;6187:18:0;6160:7;6187:18;;;:9;:18;;;;;;;6094:119;11175:24:::1;11200:1;11202::::0;11204:7:::1;2693::::0;2720:6;-1:-1:-1;;;;;2720:6:0;;2655:79;11204:7:::1;11099:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11099:129:0;;;-1:-1:-1;;;;;7687:15:1;;;11099:129:0::1;::::0;::::1;7669:34:1::0;7719:18;;;7712:34;;;;7762:18;;;7755:34;;;;7805:18;;;7798:34;7869:15;;;7848:19;;;7841:44;11212:15:0::1;7901:19:1::0;;;7894:35;7603:19;;11099:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11246:13:0::1;::::0;11277:15:::1;::::0;11239:71:::1;::::0;-1:-1:-1;;;11239:71:0;;-1:-1:-1;;;;;11277:15:0;;::::1;11239:71;::::0;::::1;6024:51:1::0;-1:-1:-1;;6091:18:1;;;6084:34;11246:13:0;::::1;::::0;-1:-1:-1;11239:29:0::1;::::0;5997:18:1;;11239:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11321:11:0::1;:18:::0;;-1:-1:-1;;;;11350:18:0;-1:-1:-1;;;11350:18:0;;;10705:671::o;7037:335::-;-1:-1:-1;;;;;7130:19:0;;7122:68;;;;-1:-1:-1;;;7122:68:0;;8453:2:1;7122:68:0;;;8435:21:1;8492:2;8472:18;;;8465:30;8531:34;8511:18;;;8504:62;-1:-1:-1;;;8582:18:1;;;8575:34;8626:19;;7122:68:0;8251:400:1;7122:68:0;-1:-1:-1;;;;;7209:21:0;;7201:68;;;;-1:-1:-1;;;7201:68:0;;8858:2:1;7201:68:0;;;8840:21:1;8897:2;8877:18;;;8870:30;8936:34;8916:18;;;8909:62;-1:-1:-1;;;8987:18:1;;;8980:32;9029:19;;7201:68:0;8656:398:1;7201:68:0;-1:-1:-1;;;;;7280:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7332:32;;1361:25:1;;;7332:32:0;;1334:18:1;7332:32:0;;;;;;;7037:335;;;:::o;7380:2414::-;-1:-1:-1;;;;;7468:18:0;;7460:68;;;;-1:-1:-1;;;7460:68:0;;9261:2:1;7460:68:0;;;9243:21:1;9300:2;9280:18;;;9273:30;9339:34;9319:18;;;9312:62;-1:-1:-1;;;9390:18:1;;;9383:35;9435:19;;7460:68:0;9059:401:1;7460:68:0;-1:-1:-1;;;;;7547:16:0;;7539:64;;;;-1:-1:-1;;;7539:64:0;;9667:2:1;7539:64:0;;;9649:21:1;9706:2;9686:18;;;9679:30;9745:34;9725:18;;;9718:62;-1:-1:-1;;;9796:18:1;;;9789:33;9839:19;;7539:64:0;9465:399:1;7539:64:0;7631:1;7622:6;:10;7614:64;;;;-1:-1:-1;;;7614:64:0;;10071:2:1;7614:64:0;;;10053:21:1;10110:2;10090:18;;;10083:30;10149:34;10129:18;;;10122:62;-1:-1:-1;;;10200:18:1;;;10193:39;10249:19;;7614:64:0;9869:405:1;7614:64:0;7689:17;2720:6;;-1:-1:-1;;;;;7723:15:0;;;2720:6;;7723:15;;;;:32;;-1:-1:-1;2693:7:0;2720:6;-1:-1:-1;;;;;7742:13:0;;;2720:6;;7742:13;;7723:32;7719:1719;;;7784:76;7856:3;7784:67;7806:15;;7796:9;;:25;7795:55;;7836:14;;7795:55;;;7823:12;;7795:55;7784:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7881:20;;7772:88;;-1:-1:-1;7881:20:0;;7877:508;;;7942:15;;-1:-1:-1;;;;;7928:30:0;;;7942:15;;7928:30;;;;:62;;-1:-1:-1;7976:13:0;;-1:-1:-1;;;;;7962:28:0;;;7976:13;;7962:28;;7928:62;7924:444;;;8082:9;8053:39;;;;:28;:39;;;;;;8126:12;-1:-1:-1;8017:250:0;;;;-1:-1:-1;;;8017:250:0;;10481:2:1;8017:250:0;;;10463:21:1;10520:2;10500:18;;;10493:30;10559:34;10539:18;;;10532:62;10630:34;10610:18;;;10603:62;-1:-1:-1;;;10681:19:1;;;10674:40;10731:19;;8017:250:0;10279:477:1;8017:250:0;8321:9;8292:39;;;;:28;:39;;;;;8334:12;8292:54;;7924:444;8413:13;;-1:-1:-1;;;;;8405:21:0;;;8413:13;;8405:21;:55;;;;-1:-1:-1;8444:15:0;;-1:-1:-1;;;;;8430:30:0;;;8444:15;;8430:30;;8405:55;:83;;;;-1:-1:-1;;;;;;8466:22:0;;;;;;:18;:22;;;;;;;;8464:24;8405:83;8401:313;;;8528:12;;8518:6;:22;;8510:60;;;;-1:-1:-1;;;8510:60:0;;10963:2:1;8510:60:0;;;10945:21:1;11002:2;10982:18;;;10975:30;11041:27;11021:18;;;11014:55;11086:18;;8510:60:0;10761:349:1;8510:60:0;8623:14;;8613:6;8597:13;8607:2;-1:-1:-1;;;;;6187:18:0;6160:7;6187:18;;;:9;:18;;;;;;;6094:119;8597:13;:22;;;;:::i;:::-;:40;;8589:79;;;;-1:-1:-1;;;8589:79:0;;11447:2:1;8589:79:0;;;11429:21:1;11486:2;11466:18;;;11459:30;11525:28;11505:18;;;11498:56;11571:18;;8589:79:0;11245:350:1;8589:79:0;8687:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8401:313;8739:13;;-1:-1:-1;;;;;8733:19:0;;;8739:13;;8733:19;:43;;;;-1:-1:-1;;;;;;8756:20:0;;8771:4;8756:20;;8733:43;8730:174;;;8809:79;8884:3;8809:70;8831:16;;8821:9;;:26;8820:58;;8863:15;;8820:58;;;8849:13;;8809:6;;:10;:70::i;:79::-;8797:91;;8730:174;8969:4;8920:28;6187:18;;;:9;:18;;;;;;8995:6;;-1:-1:-1;;;8995:6:0;;;;8994:7;:32;;;;-1:-1:-1;9013:13:0;;-1:-1:-1;;;;;9005:21:0;;;9013:13;;9005:21;8994:32;:47;;;;-1:-1:-1;9030:11:0;;-1:-1:-1;;;9030:11:0;;;;8994:47;:89;;;;;9066:17;;9045:20;:38;8994:89;:121;;;;;9097:18;;9087:9;;:28;8994:121;8990:437;;;9136:67;9153:49;9157:6;9164:37;9168:20;9189:11;;9164:3;:37::i;:::-;9153:3;:49::i;:::-;9136:16;:67::i;:::-;9251:21;9315:17;9294:38;;9291:121;;;9357:35;9370:21;9357:12;:35::i;:::-;9117:310;8990:437;7757:1681;7719:1719;9453:11;;9450:161;;9521:4;9503:24;;;;:9;:24;;;;;;:39;;9532:9;9503:28;:39::i;:::-;9496:4;9478:24;;;;:9;:24;;;;;;;:64;;;;9560:39;;-1:-1:-1;;;;;9560:39:0;;;;;;;9589:9;1361:25:1;;1349:2;1334:18;;1215:177;9560:39:0;;;;;;;;9450:161;-1:-1:-1;;;;;9637:15:0;;;;;;:9;:15;;;;;;:27;;9657:6;9637:19;:27::i;:::-;-1:-1:-1;;;;;9621:15:0;;;;;;:9;:15;;;;;:43;9689:40;9707:21;:6;9718:9;9707:10;:21::i;:::-;-1:-1:-1;;;;;9689:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9675:13:0;;;;;;;:9;:13;;;;;:54;;;;9745:41;;;9764:21;:6;9775:9;9764:10;:21::i;:::-;9745:41;;1361:25:1;;;1349:2;1334:18;9745:41:0;;;;;;;7449:2345;7380:2414;;;:::o;1547:190::-;1633:7;1669:12;1661:6;;;;1653:29;;;;-1:-1:-1;;;1653:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1693:9:0;1705:5;1709:1;1705;:5;:::i;:::-;1693:17;1547:190;-1:-1:-1;;;;;1547:190:0:o;9910:483::-;5323:6;:13;;-1:-1:-1;;;;5323:13:0;-1:-1:-1;;;5323:13:0;;;10012:16:::1;::::0;;10026:1:::1;10012:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10012:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10012:16:0::1;9988:40;;10057:4;10039;10044:1;10039:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10039:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10083:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10083:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10039:7;;10083:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10073:4;10078:1;10073:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10073:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10148:15:::1;::::0;10116:62:::1;::::0;10133:4:::1;::::0;10148:15:::1;10166:11:::0;10116:8:::1;:62::i;:::-;10189:15;::::0;:196:::1;::::0;-1:-1:-1;;;10189:196:0;;-1:-1:-1;;;;;10189:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10270:11;;10189:15:::1;::::0;10312:4;;10339::::1;::::0;10359:15:::1;::::0;10189:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5359:6:0;:14;;-1:-1:-1;;;;5359:14:0;;;-1:-1:-1;;;;9910:483:0:o;10605:92::-;10662:10;;:27;;:10;;;;-1:-1:-1;;;;;10662:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1745:246;1803:7;1827:1;1832;1827:6;1823:47;;-1:-1:-1;1857:1:0;1850:8;;1823:47;1880:9;1892:5;1896:1;1892;:5;:::i;:::-;1880:17;-1:-1:-1;1925:1:0;1916:5;1920:1;1880:17;1916:5;:::i;:::-;:10;1908:56;;;;-1:-1:-1;;;1908:56:0;;13546:2:1;1908:56:0;;;13528:21:1;13585:2;13565:18;;;13558:30;13624:34;13604:18;;;13597:62;-1:-1:-1;;;13675:18:1;;;13668:31;13716:19;;1908:56:0;13344:397:1;1908:56:0;1982:1;1745:246;-1:-1:-1;;;1745:246:0:o;1999:132::-;2057:7;2084:39;2088:1;2091;2084:39;;;;;;;;;;;;;;;;;:3;:39::i;9804:98::-;9861:7;9888:1;9886;:3;9885:9;;9893:1;9885:9;;;-1:-1:-1;9891:1:0;9804:98;-1:-1:-1;9804:98:0:o;1216:179::-;1274:7;;1306:5;1310:1;1306;:5;:::i;:::-;1294:17;;1335:1;1330;:6;;1322:46;;;;-1:-1:-1;;;1322:46:0;;13948:2:1;1322:46:0;;;13930:21:1;13987:2;13967:18;;;13960:30;14026:29;14006:18;;;13999:57;14073:18;;1322:46:0;13746:351:1;1403:136:0;1461:7;1488:43;1492:1;1495;1488:43;;;;;;;;;;;;;;;;;:3;:43::i;2139:189::-;2225:7;2260:12;2253:5;2245:28;;;;-1:-1:-1;;;2245:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2284:9:0;2296:5;2300:1;2296;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:388::-;2115:6;2123;2176:2;2164:9;2155:7;2151:23;2147:32;2144:52;;;2192:1;2189;2182:12;2144:52;2231:9;2218:23;2250:31;2275:5;2250:31;:::i;:::-;2300:5;-1:-1:-1;2357:2:1;2342:18;;2329:32;2370:33;2329:32;2370:33;:::i;:::-;2422:7;2412:17;;;2047:388;;;;;:::o;2440:247::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2607:9;2594:23;2626:31;2651:5;2626:31;:::i;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5661:184::-;5731:6;5784:2;5772:9;5763:7;5759:23;5755:32;5752:52;;;5800:1;5797;5790:12;5752:52;-1:-1:-1;5823:16:1;;5661:184;-1:-1:-1;5661:184:1:o;6129:277::-;6196:6;6249:2;6237:9;6228:7;6224:23;6220:32;6217:52;;;6265:1;6262;6255:12;6217:52;6297:9;6291:16;6350:5;6343:13;6336:21;6329:5;6326:32;6316:60;;6372:1;6369;6362:12;6763:251;6833:6;6886:2;6874:9;6865:7;6861:23;6857:32;6854:52;;;6902:1;6899;6892:12;6854:52;6934:9;6928:16;6953:31;6978:5;6953:31;:::i;7940:306::-;8028:6;8036;8044;8097:2;8085:9;8076:7;8072:23;8068:32;8065:52;;;8113:1;8110;8103:12;8065:52;8142:9;8136:16;8126:26;;8192:2;8181:9;8177:18;8171:25;8161:35;;8236:2;8225:9;8221:18;8215:25;8205:35;;7940:306;;;;;:::o;11115:125::-;11180:9;;;11201:10;;;11198:36;;;11214:18;;:::i;11600:135::-;11639:3;11660:17;;;11657:43;;11680:18;;:::i;:::-;-1:-1:-1;11727:1:1;11716:13;;11600:135::o;11740:128::-;11807:9;;;11828:11;;;11825:37;;;11842:18;;:::i;12005:127::-;12066:10;12061:3;12057:20;12054:1;12047:31;12097:4;12094:1;12087:15;12121:4;12118:1;12111:15;12137:980;12399:4;12447:3;12436:9;12432:19;12478:6;12467:9;12460:25;12504:2;12542:6;12537:2;12526:9;12522:18;12515:34;12585:3;12580:2;12569:9;12565:18;12558:31;12609:6;12644;12638:13;12675:6;12667;12660:22;12713:3;12702:9;12698:19;12691:26;;12752:2;12744:6;12740:15;12726:29;;12773:1;12783:195;12797:6;12794:1;12791:13;12783:195;;;12862:13;;-1:-1:-1;;;;;12858:39:1;12846:52;;12953:15;;;;12918:12;;;;12894:1;12812:9;12783:195;;;-1:-1:-1;;;;;;;13034:32:1;;;;13029:2;13014:18;;13007:60;-1:-1:-1;;;13098:3:1;13083:19;13076:35;12995:3;12137:980;-1:-1:-1;;;12137:980:1:o;13122:217::-;13162:1;13188;13178:132;;13232:10;13227:3;13223:20;13220:1;13213:31;13267:4;13264:1;13257:15;13295:4;13292:1;13285:15;13178:132;-1:-1:-1;13324:9:1;;13122:217::o

Swarm Source

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