ETH Price: $2,779.81 (+5.90%)

Token

BMASK (BMASK)
 

Overview

Max Total Supply

100,000,000 BMASK

Holders

16

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.796328432 BMASK

Value
$0.00
0xaa8878459a4b0fab6a2a476017c6edcf0cfcd9bf
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:
Token

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

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

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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 waiveOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0xdead));
        _owner = address(0xdead);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

}

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

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

abstract contract ERC20 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    address payable public MarketingWallet;
    address payable public teamWallet;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    

    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isMarketPair;

    uint256 public _buyLiquidityFee;
    uint256 public _buyMarketingFee;
    uint256 public _buyTeamFee;
    
    uint256 public _sellLiquidityFee;
    uint256 public _sellMarketingFee;
    uint256 public _sellTeamFee;

    uint256 public _liquidityShare;
    uint256 public _marketingShare;
    uint256 public _teamShare;

    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;
    uint256 public _totalDistributionShares;

    uint256 private _totalSupply;
    uint256 public _txLimitAmount; 
    uint256 public _walletLimitAmount;
    uint256 private minimumTokensBeforeSwap; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyBySmallOnly = false;
    bool public walletLimitEnable = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor (string memory _NAME, 
    string memory _SYMBOL,
    uint256 _SUPPLY,
    uint256[3] memory _BUYFEE,
    uint256[3] memory _SELLFEE,
    uint256[3] memory _SHARE,
    uint256[2] memory _LMT,
    address[2] memory _walletList) 
    {
    
        _name   = _NAME;
        _symbol = _SYMBOL;
        _decimals = 9;
        _totalSupply = _SUPPLY * 10**_decimals;

        _buyLiquidityFee = _BUYFEE[0];
        _buyMarketingFee = _BUYFEE[1];
        _buyTeamFee = _BUYFEE[2];

        _sellLiquidityFee = _SELLFEE[0];
        _sellMarketingFee = _SELLFEE[1];
        _sellTeamFee = _SELLFEE[2];

        _liquidityShare = _SHARE[0];
        _marketingShare = _SHARE[1];
        _teamShare = _SHARE[2];

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);

        _txLimitAmount = _LMT[0] * 10**_decimals;
        _walletLimitAmount = _LMT[1] * 10**_decimals;

        minimumTokensBeforeSwap = _totalSupply.mul(1).div(10000);
        MarketingWallet = payable(_walletList[0]);
        teamWallet = payable(_walletList[1]);

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

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;

        isWalletLimitExempt[owner()] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[address(0xdead)] = true;
        
        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[address(this)] = true;

        isMarketPair[address(uniswapPair)] = true;

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return minimumTokensBeforeSwap;
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setMarketPairStatus(address account, bool newValue) public onlyOwner {
        isMarketPair[account] = newValue;
    }

    function setisTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
    }
    
    function setisExcludedFromFee(address account, bool newValue) public onlyOwner {
        isExcludedFromFee[account] = newValue;
    }

    function manageExcludeFromFee(address[] calldata addresses, bool status) public onlyOwner {
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            isExcludedFromFee[addresses[i]] = status;
        }
    }
    
    function setTxLimitAmount(uint256 newValue) external onlyOwner() {
        _txLimitAmount = newValue * 10 ** decimals();
    }

    function enableWalletLimitEnable(bool newValue) external onlyOwner {
       walletLimitEnable = newValue;
    }

    function setisWalletLimitExempt(address holder, bool exempt) external onlyOwner {
        isWalletLimitExempt[holder] = exempt;
    }

    function setWalletLimitAmount(uint256 newValue) external onlyOwner {
        _walletLimitAmount  = newValue * 10 ** decimals();
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

    function setSwapAndLiquifyBySmallOnly(bool newValue) public onlyOwner {
        swapAndLiquifyBySmallOnly = newValue;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

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

     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {
            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) {
                require(smallOrEqual(amount, _txLimitAmount));
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyBySmallOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);    
            }

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
            uint256 finalAmount;
            if (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
                finalAmount = amount;
            } else {
                finalAmount = takeFee(sender, recipient, amount);
            }

            if(walletLimitEnable && !isWalletLimitExempt[recipient])
                require(smallOrEqual(balanceOf(recipient).add(finalAmount), _walletLimitAmount));

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;
            
        }
    }

    function smallOrEqual(uint256 a, uint256 b) public pure returns(bool) { return a<=b; }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalETHFee = _totalDistributionShares.sub(_liquidityShare.div(2));
        
        uint256 amountETHLiquidity = amountReceived.mul(_liquidityShare).div(totalETHFee).div(2);
        uint256 amountETHTeam = amountReceived.mul(_teamShare).div(totalETHFee);
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(amountETHTeam);

        if(amountETHMarketing > 0)
            transferToAddressETH(MarketingWallet, amountETHMarketing);

        if(amountETHTeam > 0)
            transferToAddressETH(teamWallet, amountETHTeam);
    }


    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        ) {} catch {}
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        
        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }
        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
}

contract Token is ERC20 {
    constructor() ERC20(
        "BMASK", 
        "BMASK",
        100000000,
        [uint256(0),uint256(3),uint256(0)],
        [uint256(0),uint256(3),uint256(0)],
        [uint256(0),uint256(3),uint256(0)],
        [uint256(100000000),uint256(100000000)],
        [address(0x206b57627047EeB197E66F4973b3d8a7E7cf8946),address(0x206b57627047EeB197E66F4973b3d8a7E7cf8946)]
    ){}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"MarketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_txLimitAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletLimitAmount","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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableWalletLimitEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manageExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyBySmallOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setTxLimitAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setWalletLimitAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setisExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"name":"smallOrEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"swapAndLiquifyBySmallOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"walletLimitEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526ddead000000000000000000000000608052601c805462ffffff60a81b19166201000160a81b1790553480156200003a57600080fd5b5060405180604001604052806005815260200164424d41534b60d81b81525060405180604001604052806005815260200164424d41534b60d81b8152506305f5e10060405180606001604052806000815260200160038152602001600081525060405180606001604052806000815260200160038152602001600081525060405180606001604052806000815260200160038152602001600081525060405180604001604052806305f5e10081526020016305f5e100815250604051806040016040528073206b57627047eeb197e66f4973b3d8a7e7cf89466001600160a01b03166001600160a01b0316815260200173206b57627047eeb197e66f4973b3d8a7e7cf89466001600160a01b03166001600160a01b03168152506000620001666200076d60201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508751620001c59060019060208b0190620008ee565b508651620001db9060029060208a0190620008ee565b506003805460ff19166009908117909155620001f990600a62000a9e565b62000205908762000b5d565b6017558451600b819055602080870151600c819055604080890151600d8190558851600e5588840151600f5588820151601055875160115587840151601255908701516013556200027b939092620002679290620010f262000771821b17901c565b6200077160201b620010f21790919060201c565b601481905550620002a660105462000267600f54600e546200077160201b620010f21790919060201c565b601581905550620002d1601354620002676012546011546200077160201b620010f21790919060201c565b601655600354620002e79060ff16600a62000a9e565b8251620002f5919062000b5d565b6018556003546200030b9060ff16600a62000a9e565b60208301516200031c919062000b5d565b6019819055506200035a612710620003466001601754620007e160201b620011511790919060201c565b6200086860201b620011d01790919060201c565b601a55805160038054610100600160a81b0319166101006001600160a01b039384160217905560208083015160048054919093166001600160a01b03199091161782556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d93849363c45a01559380830193919290829003018186803b158015620003e757600080fd5b505afa158015620003fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000422919062000994565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200046b57600080fd5b505afa15801562000480573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a6919062000994565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620004ef57600080fd5b505af115801562000504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200052a919062000994565b601c80546001600160a01b039283166001600160a01b031991821617909155601b8054928416929091168217905560175430600090815260066020908152604080832094835293905291822055600190600790620005906000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526007909252812080549092166001908117909255600890620005e96000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601c5490911681526008909252808220805484166001908117909155308352908220805484168217905561dead82527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd0933429980549093168117909255600990620006876000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260098452828120805486166001908117909155601c549092168152600a90935290822080549093161790915560175490600590620006f33390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6017546040516200075691815260200190565b60405180910390a350505050505050505062000bd2565b3390565b60008062000780838562000a17565b905083811015620007d85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b90505b92915050565b600082620007f257506000620007db565b600062000800838562000b5d565b9050826200080f858362000a32565b14620007d85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401620007cf565b6000620007d883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620008b260201b60201c565b60008183620008d65760405162461bcd60e51b8152600401620007cf9190620009bf565b506000620008e5848662000a32565b95945050505050565b828054620008fc9062000b7f565b90600052602060002090601f0160209004810192826200092057600085556200096b565b82601f106200093b57805160ff19168380011785556200096b565b828001600101855582156200096b579182015b828111156200096b5782518255916020019190600101906200094e565b50620009799291506200097d565b5090565b5b808211156200097957600081556001016200097e565b600060208284031215620009a757600080fd5b81516001600160a01b0381168114620007d857600080fd5b600060208083528351808285015260005b81811015620009ee57858101830151858201604001528201620009d0565b8181111562000a01576000604083870101525b50601f01601f1916929092016040019392505050565b6000821982111562000a2d5762000a2d62000bbc565b500190565b60008262000a5057634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111562000a9657816000190482111562000a7a5762000a7a62000bbc565b8085161562000a8857918102915b93841c939080029062000a5a565b509250929050565b6000620007d860ff84168360008262000aba57506001620007db565b8162000ac957506000620007db565b816001811462000ae2576002811462000aed5762000b0d565b6001915050620007db565b60ff84111562000b015762000b0162000bbc565b50506001821b620007db565b5060208310610133831016604e8410600b841016171562000b32575081810a620007db565b62000b3e838362000a55565b806000190482111562000b555762000b5562000bbc565b029392505050565b600081600019048311821515161562000b7a5762000b7a62000bbc565b500290565b600181811c9082168062000b9457607f821691505b6020821081141562000bb657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160601c6121f762000bf8600039600081816104750152610bfe01526121f76000f3fe60806040526004361061031e5760003560e01c806388790a68116101ab578063c469b6dd116100f7578063cdf7249311610095578063dd62ed3e1161006f578063dd62ed3e14610942578063e2f2a68614610988578063f0cd1dac146109a8578063f2fde38b146109be57600080fd5b8063cdf72493146108eb578063d9419b731461090b578063dc44b6a01461092c57600080fd5b8063c816841b116100d1578063c816841b1461086f578063c86079521461088f578063c867d60b146108a5578063cab03471146108d557600080fd5b8063c469b6dd14610823578063c49b9a8014610839578063c5d241891461085957600080fd5b80639daec0bc11610164578063a457c2d71161013e578063a457c2d7146107ad578063a83f53a7146107cd578063a9059cbb146107e3578063a911928c1461080357600080fd5b80639daec0bc1461076c578063a073d37f14610782578063a08e671f1461079757600080fd5b806388790a68146106be5780638b42507f146106d45780638da5cb5b14610704578063914eb66a1461072257806395d89b4114610737578063989200de1461074c57600080fd5b80633ecad2711161026a57806361a23c691161022357806370a02c8b116101fd57806370a02c8b1461063257806370a082311461065257806382eefb4314610688578063844d591c1461069e57600080fd5b806361a23c69146105e657806362e8e50b146105fc5780636ad53b591461061c57600080fd5b80633ecad2711461050e57806346663b821461053e5780634a74bb021461055f5780635342acb41461058057806357a5802f146105b057806359927044146105c657600080fd5b806323b872dd116102d75780632b112e49116102b15780632b112e4914610497578063313ce567146104ac57806339509351146104ce5780633e07387c146104ee57600080fd5b806323b872dd1461041e5780632598cdb21461043e57806327c8f8351461046357600080fd5b806306fdde031461032a578063095ea7b3146103555780630ecc200f146103855780631694505e146103a757806318160ddd146103df5780631afe8892146103fe57600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061033f6109de565b60405161034c9190611e95565b60405180910390f35b34801561036157600080fd5b50610375610370366004611d4b565b610a70565b604051901515815260200161034c565b34801561039157600080fd5b506103a56103a0366004611d77565b610a87565b005b3480156103b357600080fd5b50601b546103c7906001600160a01b031681565b6040516001600160a01b03909116815260200161034c565b3480156103eb57600080fd5b506017545b60405190815260200161034c565b34801561040a57600080fd5b506103a5610419366004611d16565b610b3c565b34801561042a57600080fd5b50610375610439366004611cd5565b610b91565b34801561044a57600080fd5b506003546103c79061010090046001600160a01b031681565b34801561046f57600080fd5b506103c77f000000000000000000000000000000000000000000000000000000000000000081565b3480156104a357600080fd5b506103f0610bfc565b3480156104b857600080fd5b5060035460405160ff909116815260200161034c565b3480156104da57600080fd5b506103756104e9366004611d4b565b610c46565b3480156104fa57600080fd5b506103a5610509366004611dfb565b610c7c565b34801561051a57600080fd5b50610375610529366004611c62565b600a6020526000908152604090205460ff1681565b34801561054a57600080fd5b50601c5461037590600160b81b900460ff1681565b34801561056b57600080fd5b50601c5461037590600160a81b900460ff1681565b34801561058c57600080fd5b5061037561059b366004611c62565b60076020526000908152604090205460ff1681565b3480156105bc57600080fd5b506103f060115481565b3480156105d257600080fd5b506004546103c7906001600160a01b031681565b3480156105f257600080fd5b506103f060125481565b34801561060857600080fd5b506103a5610617366004611dfb565b610cc4565b34801561062857600080fd5b506103f060185481565b34801561063e57600080fd5b506103a561064d366004611d16565b610d0c565b34801561065e57600080fd5b506103f061066d366004611c62565b6001600160a01b031660009081526005602052604090205490565b34801561069457600080fd5b506103f060155481565b3480156106aa57600080fd5b506103a56106b9366004611d16565b610d61565b3480156106ca57600080fd5b506103f0600e5481565b3480156106e057600080fd5b506103756106ef366004611c62565b60096020526000908152604090205460ff1681565b34801561071057600080fd5b506000546001600160a01b03166103c7565b34801561072e57600080fd5b506103a5610db6565b34801561074357600080fd5b5061033f610e30565b34801561075857600080fd5b506103a5610767366004611e16565b610e3f565b34801561077857600080fd5b506103f060195481565b34801561078e57600080fd5b50601a546103f0565b3480156107a357600080fd5b506103f060165481565b3480156107b957600080fd5b506103756107c8366004611d4b565b610e8a565b3480156107d957600080fd5b506103f060135481565b3480156107ef57600080fd5b506103756107fe366004611d4b565b610ed9565b34801561080f57600080fd5b5061037561081e366004611e2f565b101590565b34801561082f57600080fd5b506103f0600d5481565b34801561084557600080fd5b506103a5610854366004611dfb565b610ee6565b34801561086557600080fd5b506103f0600c5481565b34801561087b57600080fd5b50601c546103c7906001600160a01b031681565b34801561089b57600080fd5b506103f0600f5481565b3480156108b157600080fd5b506103756108c0366004611c62565b60086020526000908152604090205460ff1681565b3480156108e157600080fd5b506103f060105481565b3480156108f757600080fd5b506103a5610906366004611e16565b610f68565b34801561091757600080fd5b50601c5461037590600160b01b900460ff1681565b34801561093857600080fd5b506103f0600b5481565b34801561094e57600080fd5b506103f061095d366004611c9c565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561099457600080fd5b506103a56109a3366004611d16565b610fb3565b3480156109b457600080fd5b506103f060145481565b3480156109ca57600080fd5b506103a56109d9366004611c62565b611008565b6060600180546109ed906120da565b80601f0160208091040260200160405190810160405280929190818152602001828054610a19906120da565b8015610a665780601f10610a3b57610100808354040283529160200191610a66565b820191906000526020600020905b815481529060010190602001808311610a4957829003601f168201915b5050505050905090565b6000610a7d338484611212565b5060015b92915050565b6000546001600160a01b03163314610aba5760405162461bcd60e51b8152600401610ab190611eea565b60405180910390fd5b60c98210610ac757600080fd5b60005b82811015610b36578160076000868685818110610ae957610ae9612146565b9050602002016020810190610afe9190611c62565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610b2f81612115565b9050610aca565b50505050565b6000546001600160a01b03163314610b665760405162461bcd60e51b8152600401610ab190611eea565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610b9e848484611336565b50610bf18433610bec85604051806060016040528060288152602001612175602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906116c4565b611212565b5060015b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600090815260056020526040812054601754610c41916116fe565b905090565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610a7d918590610bec90866110f2565b6000546001600160a01b03163314610ca65760405162461bcd60e51b8152600401610ab190611eea565b601c8054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610cee5760405162461bcd60e51b8152600401610ab190611eea565b601c8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b03163314610d365760405162461bcd60e51b8152600401610ab190611eea565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d8b5760405162461bcd60e51b8152600401610ab190611eea565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610de05760405162461bcd60e51b8152600401610ab190611eea565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6060600280546109ed906120da565b6000546001600160a01b03163314610e695760405162461bcd60e51b8152600401610ab190611eea565b60035460ff16610e7a90600a611ff9565b610e8490826120a4565b60195550565b6000610a7d3384610bec8560405180606001604052806025815260200161219d602591393360009081526006602090815260408083206001600160a01b038d16845290915290205491906116c4565b6000610bf1338484611336565b6000546001600160a01b03163314610f105760405162461bcd60e51b8152600401610ab190611eea565b601c8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610f5d90831515815260200190565b60405180910390a150565b6000546001600160a01b03163314610f925760405162461bcd60e51b8152600401610ab190611eea565b60035460ff16610fa390600a611ff9565b610fad90826120a4565b60185550565b6000546001600160a01b03163314610fdd5760405162461bcd60e51b8152600401610ab190611eea565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146110325760405162461bcd60e51b8152600401610ab190611eea565b6001600160a01b0381166110975760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ab1565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806110ff8385611f7c565b905083811015610bf55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ab1565b60008261116057506000610a81565b600061116c83856120a4565b9050826111798583611f94565b14610bf55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ab1565b6000610bf583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611740565b6001600160a01b0383166112745760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ab1565b6001600160a01b0382166112d55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ab1565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b03841661139c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ab1565b6001600160a01b0383166113fe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ab1565b601c54600160a01b900460ff16156114225761141b84848461176e565b9050610bf5565b6001600160a01b03841660009081526009602052604090205460ff1615801561146457506001600160a01b03831660009081526009602052604090205460ff16155b1561147e5761147582601854101590565b61147e57600080fd5b30600090815260056020526040902054601a54811080159081906114ac5750601c54600160a01b900460ff16155b80156114d157506001600160a01b0386166000908152600a602052604090205460ff16155b80156114e65750601c54600160a81b900460ff165b1561150c57601c54600160b01b900460ff161561150357601a5491505b61150c82611854565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03891660009081526005909152919091205461155e9186906116c4565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff16806115ab57506001600160a01b03861660009081526007602052604090205460ff165b156115b75750836115c5565b6115c2878787611970565b90505b601c54600160b81b900460ff1680156115f757506001600160a01b03861660009081526008602052604090205460ff16155b156116395761163061162882611622896001600160a01b031660009081526005602052604090205490565b906110f2565b601954101590565b61163957600080fd5b6001600160a01b03861660009081526005602052604090205461165c90826110f2565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116b09085815260200190565b60405180910390a360019350505050610bf5565b600081848411156116e85760405162461bcd60e51b8152600401610ab19190611e95565b5060006116f584866120c3565b95945050505050565b6000610bf583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116c4565b600081836117615760405162461bcd60e51b8152600401610ab19190611e95565b5060006116f58486611f94565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546117bf9184906116c4565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546117ee90836110f2565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118429086815260200190565b60405180910390a35060019392505050565b601c805460ff60a01b1916600160a01b17905560165460115460009161188a916002916118849182908790611151565b906111d0565b9050600061189883836116fe565b90506118a381611a76565b60115447906000906118c3906118ba9060026111d0565b601654906116fe565b905060006118e56002611884846118846011548861115190919063ffffffff16565b90506000611902836118846013548761115190919063ffffffff16565b9050600061191a8261191487866116fe565b906116fe565b9050801561193d5760035461193d9061010090046001600160a01b031682611c12565b811561195957600454611959906001600160a01b031683611c12565b5050601c805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600a6020526040812054819060ff16156119b4576119ad60646118846014548661115190919063ffffffff16565b90506119f2565b6001600160a01b0384166000908152600a602052604090205460ff16156119f2576119ef60646118846015548661115190919063ffffffff16565b90505b8015611a6c5730600090815260056020526040902054611a1290826110f2565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a639085815260200190565b60405180910390a35b6116f583826116fe565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611aab57611aab612146565b6001600160a01b03928316602091820292909201810191909152601b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611aff57600080fd5b505afa158015611b13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b379190611c7f565b81600181518110611b4a57611b4a612146565b6001600160a01b039283166020918202929092010152601b54611b709130911684611212565b601b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611ba9908590600090869030904290600401611f40565b600060405180830381600087803b158015611bc357600080fd5b505af1925050508015611bd4575060015b507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611c06929190611f1f565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611c48573d6000803e3d6000fd5b505050565b80358015158114611c5d57600080fd5b919050565b600060208284031215611c7457600080fd5b8135610bf58161215c565b600060208284031215611c9157600080fd5b8151610bf58161215c565b60008060408385031215611caf57600080fd5b8235611cba8161215c565b91506020830135611cca8161215c565b809150509250929050565b600080600060608486031215611cea57600080fd5b8335611cf58161215c565b92506020840135611d058161215c565b929592945050506040919091013590565b60008060408385031215611d2957600080fd5b8235611d348161215c565b9150611d4260208401611c4d565b90509250929050565b60008060408385031215611d5e57600080fd5b8235611d698161215c565b946020939093013593505050565b600080600060408486031215611d8c57600080fd5b833567ffffffffffffffff80821115611da457600080fd5b818601915086601f830112611db857600080fd5b813581811115611dc757600080fd5b8760208260051b8501011115611ddc57600080fd5b602092830195509350611df29186019050611c4d565b90509250925092565b600060208284031215611e0d57600080fd5b610bf582611c4d565b600060208284031215611e2857600080fd5b5035919050565b60008060408385031215611e4257600080fd5b50508035926020909101359150565b600081518084526020808501945080840160005b83811015611e8a5781516001600160a01b031687529582019590820190600101611e65565b509495945050505050565b600060208083528351808285015260005b81811015611ec257858101830151858201604001528201611ea6565b81811115611ed4576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b828152604060208201526000611f386040830184611e51565b949350505050565b85815284602082015260a060408201526000611f5f60a0830186611e51565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115611f8f57611f8f612130565b500190565b600082611fb157634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611ff1578160001904821115611fd757611fd7612130565b80851615611fe457918102915b93841c9390800290611fbb565b509250929050565b6000610bf560ff84168360008261201257506001610a81565b8161201f57506000610a81565b8160018114612035576002811461203f5761205b565b6001915050610a81565b60ff84111561205057612050612130565b50506001821b610a81565b5060208310610133831016604e8410600b841016171561207e575081810a610a81565b6120888383611fb6565b806000190482111561209c5761209c612130565b029392505050565b60008160001904831182151516156120be576120be612130565b500290565b6000828210156120d5576120d5612130565b500390565b600181811c908216806120ee57607f821691505b6020821081141561210f57634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561212957612129612130565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461217157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220955763656f0ad0196ebc1857f7733152b20afa874b2358a9826b87807702d83464736f6c63430008070033

Deployed Bytecode

0x60806040526004361061031e5760003560e01c806388790a68116101ab578063c469b6dd116100f7578063cdf7249311610095578063dd62ed3e1161006f578063dd62ed3e14610942578063e2f2a68614610988578063f0cd1dac146109a8578063f2fde38b146109be57600080fd5b8063cdf72493146108eb578063d9419b731461090b578063dc44b6a01461092c57600080fd5b8063c816841b116100d1578063c816841b1461086f578063c86079521461088f578063c867d60b146108a5578063cab03471146108d557600080fd5b8063c469b6dd14610823578063c49b9a8014610839578063c5d241891461085957600080fd5b80639daec0bc11610164578063a457c2d71161013e578063a457c2d7146107ad578063a83f53a7146107cd578063a9059cbb146107e3578063a911928c1461080357600080fd5b80639daec0bc1461076c578063a073d37f14610782578063a08e671f1461079757600080fd5b806388790a68146106be5780638b42507f146106d45780638da5cb5b14610704578063914eb66a1461072257806395d89b4114610737578063989200de1461074c57600080fd5b80633ecad2711161026a57806361a23c691161022357806370a02c8b116101fd57806370a02c8b1461063257806370a082311461065257806382eefb4314610688578063844d591c1461069e57600080fd5b806361a23c69146105e657806362e8e50b146105fc5780636ad53b591461061c57600080fd5b80633ecad2711461050e57806346663b821461053e5780634a74bb021461055f5780635342acb41461058057806357a5802f146105b057806359927044146105c657600080fd5b806323b872dd116102d75780632b112e49116102b15780632b112e4914610497578063313ce567146104ac57806339509351146104ce5780633e07387c146104ee57600080fd5b806323b872dd1461041e5780632598cdb21461043e57806327c8f8351461046357600080fd5b806306fdde031461032a578063095ea7b3146103555780630ecc200f146103855780631694505e146103a757806318160ddd146103df5780631afe8892146103fe57600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061033f6109de565b60405161034c9190611e95565b60405180910390f35b34801561036157600080fd5b50610375610370366004611d4b565b610a70565b604051901515815260200161034c565b34801561039157600080fd5b506103a56103a0366004611d77565b610a87565b005b3480156103b357600080fd5b50601b546103c7906001600160a01b031681565b6040516001600160a01b03909116815260200161034c565b3480156103eb57600080fd5b506017545b60405190815260200161034c565b34801561040a57600080fd5b506103a5610419366004611d16565b610b3c565b34801561042a57600080fd5b50610375610439366004611cd5565b610b91565b34801561044a57600080fd5b506003546103c79061010090046001600160a01b031681565b34801561046f57600080fd5b506103c77f000000000000000000000000000000000000000000000000000000000000dead81565b3480156104a357600080fd5b506103f0610bfc565b3480156104b857600080fd5b5060035460405160ff909116815260200161034c565b3480156104da57600080fd5b506103756104e9366004611d4b565b610c46565b3480156104fa57600080fd5b506103a5610509366004611dfb565b610c7c565b34801561051a57600080fd5b50610375610529366004611c62565b600a6020526000908152604090205460ff1681565b34801561054a57600080fd5b50601c5461037590600160b81b900460ff1681565b34801561056b57600080fd5b50601c5461037590600160a81b900460ff1681565b34801561058c57600080fd5b5061037561059b366004611c62565b60076020526000908152604090205460ff1681565b3480156105bc57600080fd5b506103f060115481565b3480156105d257600080fd5b506004546103c7906001600160a01b031681565b3480156105f257600080fd5b506103f060125481565b34801561060857600080fd5b506103a5610617366004611dfb565b610cc4565b34801561062857600080fd5b506103f060185481565b34801561063e57600080fd5b506103a561064d366004611d16565b610d0c565b34801561065e57600080fd5b506103f061066d366004611c62565b6001600160a01b031660009081526005602052604090205490565b34801561069457600080fd5b506103f060155481565b3480156106aa57600080fd5b506103a56106b9366004611d16565b610d61565b3480156106ca57600080fd5b506103f0600e5481565b3480156106e057600080fd5b506103756106ef366004611c62565b60096020526000908152604090205460ff1681565b34801561071057600080fd5b506000546001600160a01b03166103c7565b34801561072e57600080fd5b506103a5610db6565b34801561074357600080fd5b5061033f610e30565b34801561075857600080fd5b506103a5610767366004611e16565b610e3f565b34801561077857600080fd5b506103f060195481565b34801561078e57600080fd5b50601a546103f0565b3480156107a357600080fd5b506103f060165481565b3480156107b957600080fd5b506103756107c8366004611d4b565b610e8a565b3480156107d957600080fd5b506103f060135481565b3480156107ef57600080fd5b506103756107fe366004611d4b565b610ed9565b34801561080f57600080fd5b5061037561081e366004611e2f565b101590565b34801561082f57600080fd5b506103f0600d5481565b34801561084557600080fd5b506103a5610854366004611dfb565b610ee6565b34801561086557600080fd5b506103f0600c5481565b34801561087b57600080fd5b50601c546103c7906001600160a01b031681565b34801561089b57600080fd5b506103f0600f5481565b3480156108b157600080fd5b506103756108c0366004611c62565b60086020526000908152604090205460ff1681565b3480156108e157600080fd5b506103f060105481565b3480156108f757600080fd5b506103a5610906366004611e16565b610f68565b34801561091757600080fd5b50601c5461037590600160b01b900460ff1681565b34801561093857600080fd5b506103f0600b5481565b34801561094e57600080fd5b506103f061095d366004611c9c565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561099457600080fd5b506103a56109a3366004611d16565b610fb3565b3480156109b457600080fd5b506103f060145481565b3480156109ca57600080fd5b506103a56109d9366004611c62565b611008565b6060600180546109ed906120da565b80601f0160208091040260200160405190810160405280929190818152602001828054610a19906120da565b8015610a665780601f10610a3b57610100808354040283529160200191610a66565b820191906000526020600020905b815481529060010190602001808311610a4957829003601f168201915b5050505050905090565b6000610a7d338484611212565b5060015b92915050565b6000546001600160a01b03163314610aba5760405162461bcd60e51b8152600401610ab190611eea565b60405180910390fd5b60c98210610ac757600080fd5b60005b82811015610b36578160076000868685818110610ae957610ae9612146565b9050602002016020810190610afe9190611c62565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610b2f81612115565b9050610aca565b50505050565b6000546001600160a01b03163314610b665760405162461bcd60e51b8152600401610ab190611eea565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610b9e848484611336565b50610bf18433610bec85604051806060016040528060288152602001612175602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906116c4565b611212565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316600090815260056020526040812054601754610c41916116fe565b905090565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610a7d918590610bec90866110f2565b6000546001600160a01b03163314610ca65760405162461bcd60e51b8152600401610ab190611eea565b601c8054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610cee5760405162461bcd60e51b8152600401610ab190611eea565b601c8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b03163314610d365760405162461bcd60e51b8152600401610ab190611eea565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d8b5760405162461bcd60e51b8152600401610ab190611eea565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610de05760405162461bcd60e51b8152600401610ab190611eea565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6060600280546109ed906120da565b6000546001600160a01b03163314610e695760405162461bcd60e51b8152600401610ab190611eea565b60035460ff16610e7a90600a611ff9565b610e8490826120a4565b60195550565b6000610a7d3384610bec8560405180606001604052806025815260200161219d602591393360009081526006602090815260408083206001600160a01b038d16845290915290205491906116c4565b6000610bf1338484611336565b6000546001600160a01b03163314610f105760405162461bcd60e51b8152600401610ab190611eea565b601c8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610f5d90831515815260200190565b60405180910390a150565b6000546001600160a01b03163314610f925760405162461bcd60e51b8152600401610ab190611eea565b60035460ff16610fa390600a611ff9565b610fad90826120a4565b60185550565b6000546001600160a01b03163314610fdd5760405162461bcd60e51b8152600401610ab190611eea565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146110325760405162461bcd60e51b8152600401610ab190611eea565b6001600160a01b0381166110975760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ab1565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806110ff8385611f7c565b905083811015610bf55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ab1565b60008261116057506000610a81565b600061116c83856120a4565b9050826111798583611f94565b14610bf55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ab1565b6000610bf583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611740565b6001600160a01b0383166112745760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ab1565b6001600160a01b0382166112d55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ab1565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b03841661139c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ab1565b6001600160a01b0383166113fe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ab1565b601c54600160a01b900460ff16156114225761141b84848461176e565b9050610bf5565b6001600160a01b03841660009081526009602052604090205460ff1615801561146457506001600160a01b03831660009081526009602052604090205460ff16155b1561147e5761147582601854101590565b61147e57600080fd5b30600090815260056020526040902054601a54811080159081906114ac5750601c54600160a01b900460ff16155b80156114d157506001600160a01b0386166000908152600a602052604090205460ff16155b80156114e65750601c54600160a81b900460ff165b1561150c57601c54600160b01b900460ff161561150357601a5491505b61150c82611854565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03891660009081526005909152919091205461155e9186906116c4565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff16806115ab57506001600160a01b03861660009081526007602052604090205460ff165b156115b75750836115c5565b6115c2878787611970565b90505b601c54600160b81b900460ff1680156115f757506001600160a01b03861660009081526008602052604090205460ff16155b156116395761163061162882611622896001600160a01b031660009081526005602052604090205490565b906110f2565b601954101590565b61163957600080fd5b6001600160a01b03861660009081526005602052604090205461165c90826110f2565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116b09085815260200190565b60405180910390a360019350505050610bf5565b600081848411156116e85760405162461bcd60e51b8152600401610ab19190611e95565b5060006116f584866120c3565b95945050505050565b6000610bf583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116c4565b600081836117615760405162461bcd60e51b8152600401610ab19190611e95565b5060006116f58486611f94565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546117bf9184906116c4565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546117ee90836110f2565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118429086815260200190565b60405180910390a35060019392505050565b601c805460ff60a01b1916600160a01b17905560165460115460009161188a916002916118849182908790611151565b906111d0565b9050600061189883836116fe565b90506118a381611a76565b60115447906000906118c3906118ba9060026111d0565b601654906116fe565b905060006118e56002611884846118846011548861115190919063ffffffff16565b90506000611902836118846013548761115190919063ffffffff16565b9050600061191a8261191487866116fe565b906116fe565b9050801561193d5760035461193d9061010090046001600160a01b031682611c12565b811561195957600454611959906001600160a01b031683611c12565b5050601c805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600a6020526040812054819060ff16156119b4576119ad60646118846014548661115190919063ffffffff16565b90506119f2565b6001600160a01b0384166000908152600a602052604090205460ff16156119f2576119ef60646118846015548661115190919063ffffffff16565b90505b8015611a6c5730600090815260056020526040902054611a1290826110f2565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a639085815260200190565b60405180910390a35b6116f583826116fe565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611aab57611aab612146565b6001600160a01b03928316602091820292909201810191909152601b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611aff57600080fd5b505afa158015611b13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b379190611c7f565b81600181518110611b4a57611b4a612146565b6001600160a01b039283166020918202929092010152601b54611b709130911684611212565b601b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611ba9908590600090869030904290600401611f40565b600060405180830381600087803b158015611bc357600080fd5b505af1925050508015611bd4575060015b507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611c06929190611f1f565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611c48573d6000803e3d6000fd5b505050565b80358015158114611c5d57600080fd5b919050565b600060208284031215611c7457600080fd5b8135610bf58161215c565b600060208284031215611c9157600080fd5b8151610bf58161215c565b60008060408385031215611caf57600080fd5b8235611cba8161215c565b91506020830135611cca8161215c565b809150509250929050565b600080600060608486031215611cea57600080fd5b8335611cf58161215c565b92506020840135611d058161215c565b929592945050506040919091013590565b60008060408385031215611d2957600080fd5b8235611d348161215c565b9150611d4260208401611c4d565b90509250929050565b60008060408385031215611d5e57600080fd5b8235611d698161215c565b946020939093013593505050565b600080600060408486031215611d8c57600080fd5b833567ffffffffffffffff80821115611da457600080fd5b818601915086601f830112611db857600080fd5b813581811115611dc757600080fd5b8760208260051b8501011115611ddc57600080fd5b602092830195509350611df29186019050611c4d565b90509250925092565b600060208284031215611e0d57600080fd5b610bf582611c4d565b600060208284031215611e2857600080fd5b5035919050565b60008060408385031215611e4257600080fd5b50508035926020909101359150565b600081518084526020808501945080840160005b83811015611e8a5781516001600160a01b031687529582019590820190600101611e65565b509495945050505050565b600060208083528351808285015260005b81811015611ec257858101830151858201604001528201611ea6565b81811115611ed4576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b828152604060208201526000611f386040830184611e51565b949350505050565b85815284602082015260a060408201526000611f5f60a0830186611e51565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115611f8f57611f8f612130565b500190565b600082611fb157634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611ff1578160001904821115611fd757611fd7612130565b80851615611fe457918102915b93841c9390800290611fbb565b509250929050565b6000610bf560ff84168360008261201257506001610a81565b8161201f57506000610a81565b8160018114612035576002811461203f5761205b565b6001915050610a81565b60ff84111561205057612050612130565b50506001821b610a81565b5060208310610133831016604e8410600b841016171561207e575081810a610a81565b6120888383611fb6565b806000190482111561209c5761209c612130565b029392505050565b60008160001904831182151516156120be576120be612130565b500290565b6000828210156120d5576120d5612130565b500390565b600181811c908216806120ee57607f821691505b6020821081141561210f57634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561212957612129612130565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461217157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220955763656f0ad0196ebc1857f7733152b20afa874b2358a9826b87807702d83464736f6c63430008070033

Deployed Bytecode Sourcemap

17299:420:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8616:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9910:161;;;;;;;;;;-1:-1:-1;9910:161:0;;;;;:::i;:::-;;:::i;:::-;;;4561:14:1;;4554:22;4536:41;;4524:2;4509:18;9910:161:0;4396:187:1;10843:260:0;;;;;;;;;;-1:-1:-1;10843:260:0;;;;;:::i;:::-;;:::i;:::-;;5605:41;;;;;;;;;;-1:-1:-1;5605:41:0;;;;-1:-1:-1;;;;;5605:41:0;;;;;;-1:-1:-1;;;;;4128:32:1;;;4110:51;;4098:2;4083:18;5605:41:0;3964:203:1;8893:100:0;;;;;;;;;;-1:-1:-1;8973:12:0;;8893:100;;;8714:25:1;;;8702:2;8687:18;8893:100:0;8568:177:1;10561:127:0;;;;;;;;;;-1:-1:-1;10561:127:0;;;;;:::i;:::-;;:::i;12513:313::-;;;;;;;;;;-1:-1:-1;12513:313:0;;;;;:::i;:::-;;:::i;4447:38::-;;;;;;;;;;-1:-1:-1;4447:38:0;;;;;;;-1:-1:-1;;;;;4447:38:0;;;4532:81;;;;;;;;;;;;;;;11974:128;;;;;;;;;;;;;:::i;8802:83::-;;;;;;;;;;-1:-1:-1;8868:9:0;;8802:83;;8868:9;;;;9816:36:1;;9804:2;9789:18;8802:83:0;9674:184:1;9279:218:0;;;;;;;;;;-1:-1:-1;9279:218:0;;;;;:::i;:::-;;:::i;11837:125::-;;;;;;;;;;-1:-1:-1;11837:125:0;;;;;:::i;:::-;;:::i;4926:45::-;;;;;;;;;;-1:-1:-1;4926:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5819:36;;;;;;;;;;-1:-1:-1;5819:36:0;;;;-1:-1:-1;;;5819:36:0;;;;;;5720:40;;;;;;;;;;-1:-1:-1;5720:40:0;;;;-1:-1:-1;;;5720:40:0;;;;;;4755:50;;;;;;;;;;-1:-1:-1;4755:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5209:30;;;;;;;;;;;;;;;;4492:33;;;;;;;;;;-1:-1:-1;4492:33:0;;;;-1:-1:-1;;;;;4492:33:0;;;5246:30;;;;;;;;;;;;;;;;11251:113;;;;;;;;;;-1:-1:-1;11251:113:0;;;;;:::i;:::-;;:::i;5479:29::-;;;;;;;;;;;;;;;;11372:135;;;;;;;;;;-1:-1:-1;11372:135:0;;;;;:::i;:::-;;:::i;9001:119::-;;;;;;;;;;-1:-1:-1;9001:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9094:18:0;9067:7;9094:18;;;:9;:18;;;;;;;9001:119;5356:33;;;;;;;;;;;;;;;;10424:129;;;;;;;;;;-1:-1:-1;10424:129:0;;;;;:::i;:::-;;:::i;5095:32::-;;;;;;;;;;;;;;;;4871:48;;;;;;;;;;-1:-1:-1;4871:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2799:79;;;;;;;;;;-1:-1:-1;2837:7:0;2864:6;-1:-1:-1;;;;;2864:6:0;2799:79;;3024:155;;;;;;;;;;;;;:::i;8707:87::-;;;;;;;;;;;;;:::i;11515:135::-;;;;;;;;;;-1:-1:-1;11515:135:0;;;;;:::i;:::-;;:::i;5516:33::-;;;;;;;;;;;;;;;;9782:120;;;;;;;;;;-1:-1:-1;9871:23:0;;9782:120;;5396:39;;;;;;;;;;;;;;;;9505:269;;;;;;;;;;-1:-1:-1;9505:269:0;;;;;:::i;:::-;;:::i;5283:25::-;;;;;;;;;;;;;;;;12338:167;;;;;;;;;;-1:-1:-1;12338:167:0;;;;;:::i;:::-;;:::i;14622:86::-;;;;;;;;;;-1:-1:-1;14622:86:0;;;;;:::i;:::-;-1:-1:-1;14701:4:0;;14622:86;5056:26;;;;;;;;;;;;;;;;11658:171;;;;;;;;;;-1:-1:-1;11658:171:0;;;;;:::i;:::-;;:::i;5018:31::-;;;;;;;;;;;;;;;;5653:26;;;;;;;;;;-1:-1:-1;5653:26:0;;;;-1:-1:-1;;;;;5653:26:0;;;5134:32;;;;;;;;;;;;;;;;4812:52;;;;;;;;;;-1:-1:-1;4812:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5173:27;;;;;;;;;;;;;;;;11115:128;;;;;;;;;;-1:-1:-1;11115:128:0;;;;;:::i;:::-;;:::i;5767:45::-;;;;;;;;;;-1:-1:-1;5767:45:0;;;;-1:-1:-1;;;5767:45:0;;;;;;4980:31;;;;;;;;;;;;;;;;9128:143;;;;;;;;;;-1:-1:-1;9128:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9236:18:0;;;9209:7;9236:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9128:143;10700:135;;;;;;;;;;-1:-1:-1;10700:135:0;;;;;:::i;:::-;;:::i;5317:32::-;;;;;;;;;;;;;;;;3187:244;;;;;;;;;;-1:-1:-1;3187:244:0;;;;;:::i;:::-;;:::i;8616:83::-;8653:13;8686:5;8679:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8616:83;:::o;9910:161::-;9985:4;10002:39;189:10;10025:7;10034:6;10002:8;:39::i;:::-;-1:-1:-1;10059:4:0;9910:161;;;;;:::o;10843:260::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;;;;;;;;;10971:3:::1;10952:22:::0;::::1;10944:31;;;::::0;::::1;;10991:9;10986:110;11002:20:::0;;::::1;10986:110;;;11078:6;11044:17;:31;11062:9;;11072:1;11062:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11044:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11044:31:0;:40;;-1:-1:-1;;11044:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11024:3:::1;::::0;::::1;:::i;:::-;;;10986:110;;;;10843:260:::0;;;:::o;10561:127::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10648:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;10648:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10561:127::o;12513:313::-;12611:4;12628:36;12638:6;12646:9;12657:6;12628:9;:36::i;:::-;-1:-1:-1;12675:121:0;12684:6;189:10;12706:89;12744:6;12706:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12706:19:0;;;;;;:11;:19;;;;;;;;189:10;12706:33;;;;;;;;;;:37;:89::i;:::-;12675:8;:121::i;:::-;-1:-1:-1;12814:4:0;12513:313;;;;;;:::o;11974:128::-;12081:11;-1:-1:-1;;;;;9094:18:0;12027:7;9094:18;;;:9;:18;;;;;;12054:12;;:40;;:16;:40::i;:::-;12047:47;;11974:128;:::o;9279:218::-;189:10;9367:4;9416:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9416:34:0;;;;;;;;;;9367:4;;9384:83;;9407:7;;9416:50;;9455:10;9416:38;:50::i;11837:125::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;11918:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;11918:36:0::1;-1:-1:-1::0;;;;11918:36:0;;::::1;::::0;;;::::1;::::0;;11837:125::o;11251:113::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;11328:17:::1;:28:::0;;;::::1;;-1:-1:-1::0;;;11328:28:0::1;-1:-1:-1::0;;;;11328:28:0;;::::1;::::0;;;::::1;::::0;;11251:113::o;11372:135::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11463:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;11463:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11372:135::o;10424:129::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10513:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;10513:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10424:129::o;3024:155::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;3112:6:::1;::::0;;3091:45:::1;::::0;3128:6:::1;::::0;-1:-1:-1;;;;;3112:6:0;;::::1;::::0;3091:45:::1;::::0;::::1;3147:6;:24:::0;;-1:-1:-1;;;;;;3147:24:0::1;3164:6;3147:24;::::0;;3024:155::o;8707:87::-;8746:13;8779:7;8772:14;;;;;:::i;11515:135::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;8868:9;;;;11626:16:::1;::::0;:2:::1;:16;:::i;:::-;11615:27;::::0;:8;:27:::1;:::i;:::-;11593:18;:49:::0;-1:-1:-1;11515:135:0:o;9505:269::-;9598:4;9615:129;189:10;9638:7;9647:96;9686:15;9647:96;;;;;;;;;;;;;;;;;189:10;9647:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9647:34:0;;;;;;;;;;;;:38;:96::i;12338:167::-;12416:4;12433:42;189:10;12457:9;12468:6;12433:9;:42::i;11658:171::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;11735:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;11735:32:0::1;-1:-1:-1::0;;;;11735:32:0;;::::1;;::::0;;11783:38:::1;::::0;::::1;::::0;::::1;::::0;11759:8;4561:14:1;4554:22;4536:41;;4524:2;4509:18;;4396:187;11783:38:0::1;;;;;;;;11658:171:::0;:::o;11115:128::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;8868:9;;;;11219:16:::1;::::0;:2:::1;:16;:::i;:::-;11208:27;::::0;:8;:27:::1;:::i;:::-;11191:14;:44:::0;-1:-1:-1;11115:128:0:o;10700:135::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10790:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;10790:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10700:135::o;3187:244::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3276:22:0;::::1;3268:73;;;::::0;-1:-1:-1;;;3268:73:0;;6030:2:1;3268:73:0::1;::::0;::::1;6012:21:1::0;6069:2;6049:18;;;6042:30;6108:34;6088:18;;;6081:62;-1:-1:-1;;;6159:18:1;;;6152:36;6205:19;;3268:73:0::1;5828:402:1::0;3268:73:0::1;3378:6;::::0;;3357:38:::1;::::0;-1:-1:-1;;;;;3357:38:0;;::::1;::::0;3378:6;::::1;::::0;3357:38:::1;::::0;::::1;3406:6;:17:::0;;-1:-1:-1;;;;;;3406:17:0::1;-1:-1:-1::0;;;;;3406:17:0;;;::::1;::::0;;;::::1;::::0;;3187:244::o;1042:181::-;1100:7;;1132:5;1136:1;1132;:5;:::i;:::-;1120:17;;1161:1;1156;:6;;1148:46;;;;-1:-1:-1;;;1148:46:0;;6840:2:1;1148:46:0;;;6822:21:1;6879:2;6859:18;;;6852:30;6918:29;6898:18;;;6891:57;6965:18;;1148:46:0;6638:351:1;1575:250:0;1633:7;1657:6;1653:47;;-1:-1:-1;1687:1:0;1680:8;;1653:47;1712:9;1724:5;1728:1;1724;:5;:::i;:::-;1712:17;-1:-1:-1;1757:1:0;1748:5;1752:1;1712:17;1748:5;:::i;:::-;:10;1740:56;;;;-1:-1:-1;;;1740:56:0;;7196:2:1;1740:56:0;;;7178:21:1;7235:2;7215:18;;;7208:30;7274:34;7254:18;;;7247:62;-1:-1:-1;;;7325:18:1;;;7318:31;7366:19;;1740:56:0;6994:397:1;1833:132:0;1891:7;1918:39;1922:1;1925;1918:39;;;;;;;;;;;;;;;;;:3;:39::i;10079:337::-;-1:-1:-1;;;;;10172:19:0;;10164:68;;;;-1:-1:-1;;;10164:68:0;;8365:2:1;10164:68:0;;;8347:21:1;8404:2;8384:18;;;8377:30;8443:34;8423:18;;;8416:62;-1:-1:-1;;;8494:18:1;;;8487:34;8538:19;;10164:68:0;8163:400:1;10164:68:0;-1:-1:-1;;;;;10251:21:0;;10243:68;;;;-1:-1:-1;;;10243:68:0;;6437:2:1;10243:68:0;;;6419:21:1;6476:2;6456:18;;;6449:30;6515:34;6495:18;;;6488:62;-1:-1:-1;;;6566:18:1;;;6559:32;6608:19;;10243:68:0;6235:398:1;10243:68:0;-1:-1:-1;;;;;10324:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10376:32;;8714:25:1;;;10376:32:0;;8687:18:1;10376:32:0;;;;;;;10079:337;;;:::o;12834:1780::-;12921:4;-1:-1:-1;;;;;12948:20:0;;12940:70;;;;-1:-1:-1;;;12940:70:0;;7959:2:1;12940:70:0;;;7941:21:1;7998:2;7978:18;;;7971:30;8037:34;8017:18;;;8010:62;-1:-1:-1;;;8088:18:1;;;8081:35;8133:19;;12940:70:0;7757:401:1;12940:70:0;-1:-1:-1;;;;;13029:23:0;;13021:71;;;;-1:-1:-1;;;13021:71:0;;5626:2:1;13021:71:0;;;5608:21:1;5665:2;5645:18;;;5638:30;5704:34;5684:18;;;5677:62;-1:-1:-1;;;5755:18:1;;;5748:33;5798:19;;13021:71:0;5424:399:1;13021:71:0;13108:16;;-1:-1:-1;;;13108:16:0;;;;13105:1502;;;13158:41;13173:6;13181:9;13192:6;13158:14;:41::i;:::-;13151:48;;;;13105:1502;-1:-1:-1;;;;;13255:23:0;;;;;;:15;:23;;;;;;;;13254:24;:55;;;;-1:-1:-1;;;;;;13283:26:0;;;;;;:15;:26;;;;;;;;13282:27;13254:55;13251:140;;;13338:36;13351:6;13359:14;;-1:-1:-1;14701:4:0;;14622:86;13338:36;13330:45;;;;;;13468:4;13419:28;9094:18;;;:9;:18;;;;;;13544:23;;13520:47;;;;;;;13600:44;;-1:-1:-1;13628:16:0;;-1:-1:-1;;;13628:16:0;;;;13627:17;13600:44;:69;;;;-1:-1:-1;;;;;;13649:20:0;;;;;;:12;:20;;;;;;;;13648:21;13600:69;:94;;;;-1:-1:-1;13673:21:0;;-1:-1:-1;;;13673:21:0;;;;13600:94;13596:305;;;13732:25;;-1:-1:-1;;;13732:25:0;;;;13729:97;;;13803:23;;13780:46;;13729:97;13845:36;13860:20;13845:14;:36::i;:::-;13937:53;;;;;;;;;;;-1:-1:-1;;;13937:53:0;;;;;;;;-1:-1:-1;;;;;13937:17:0;;-1:-1:-1;13937:17:0;;;:9;:17;;;;;;;;:53;;13959:6;;13937:21;:53::i;:::-;-1:-1:-1;;;;;13917:17:0;;;;;;:9;:17;;;;;;;;:73;;;;14043:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;14072:28:0;;;;;;:17;:28;;;;;;;;14043:57;14039:207;;;-1:-1:-1;14135:6:0;14039:207;;;14196:34;14204:6;14212:9;14223:6;14196:7;:34::i;:::-;14182:48;;14039:207;14265:17;;-1:-1:-1;;;14265:17:0;;;;:52;;;;-1:-1:-1;;;;;;14287:30:0;;;;;;:19;:30;;;;;;;;14286:31;14265:52;14262:154;;;14344:71;14357:37;14382:11;14357:20;14367:9;-1:-1:-1;;;;;9094:18:0;9067:7;9094:18;;;:9;:18;;;;;;;9001:119;14357:20;:24;;:37::i;:::-;14396:18;;-1:-1:-1;14701:4:0;;14622:86;14344:71;14336:80;;;;;;-1:-1:-1;;;;;14456:20:0;;;;;;:9;:20;;;;;;:37;;14481:11;14456:24;:37::i;:::-;-1:-1:-1;;;;;14433:20:0;;;;;;;:9;:20;;;;;;;:60;;;;14515:40;;;;;;;;;;14543:11;8714:25:1;;8702:2;8687:18;;8568:177;14515:40:0;;;;;;;;14577:4;14570:11;;;;;;;1375:192;1461:7;1497:12;1489:6;;;;1481:29;;;;-1:-1:-1;;;1481:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1521:9:0;1533:5;1537:1;1533;:5;:::i;:::-;1521:17;1375:192;-1:-1:-1;;;;;1375:192:0:o;1231:136::-;1289:7;1316:43;1320:1;1323;1316:43;;;;;;;;;;;;;;;;;:3;:43::i;1973:189::-;2059:7;2094:12;2087:5;2079:28;;;;-1:-1:-1;;;2079:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2118:9:0;2130:5;2134:1;2130;:5;:::i;14716:330::-;14846:53;;;;;;;;;;;-1:-1:-1;;;14846:53:0;;;;;;;;-1:-1:-1;;;;;14846:17:0;;14809:4;14846:17;;;:9;:17;;;;;;;:53;;14868:6;;14846:21;:53::i;:::-;-1:-1:-1;;;;;14826:17:0;;;;;;;:9;:17;;;;;;:73;;;;14933:20;;;;;;;:32;;14958:6;14933:24;:32::i;:::-;-1:-1:-1;;;;;14910:20:0;;;;;;;:9;:20;;;;;;;:55;;;;14981:35;;;;;;;;;;15009:6;8714:25:1;;8702:2;8687:18;;8568:177;14981:35:0;;;;;;;;-1:-1:-1;15034:4:0;14716:330;;;;;:::o;15054:917::-;6278:16;:23;;-1:-1:-1;;;;6278:23:0;-1:-1:-1;;;6278:23:0;;;15191:24:::1;::::0;15170:15:::1;::::0;6278:23;;15158:65:::1;::::0;15221:1:::1;::::0;15158:58:::1;::::0;;;:7;;:11:::1;:28::i;:::-;:32:::0;::::1;:58::i;:65::-;15136:87:::0;-1:-1:-1;15234:21:0::1;15258:24;:7:::0;15136:87;15258:11:::1;:24::i;:::-;15234:48;;15295:31;15312:13;15295:16;:31::i;:::-;15447:15;::::0;15362:21:::1;::::0;15337:22:::1;::::0;15418:52:::1;::::0;15447:22:::1;::::0;15467:1:::1;15447:19;:22::i;:::-;15418:24;::::0;;:28:::1;:52::i;:::-;15396:74;;15491:26;15520:59;15577:1;15520:52;15560:11;15520:35;15539:15;;15520:14;:18;;:35;;;;:::i;:59::-;15491:88;;15590:21;15614:47;15649:11;15614:30;15633:10;;15614:14;:18;;:30;;;;:::i;:47::-;15590:71:::0;-1:-1:-1;15672:26:0::1;15701:57;15590:71:::0;15701:38:::1;:14:::0;15720:18;15701::::1;:38::i;:::-;:42:::0;::::1;:57::i;:::-;15672:86:::0;-1:-1:-1;15774:22:0;;15771:97:::1;;15832:15;::::0;15811:57:::1;::::0;15832:15:::1;::::0;::::1;-1:-1:-1::0;;;;;15832:15:0::1;15849:18:::0;15811:20:::1;:57::i;:::-;15884:17:::0;;15881:82:::1;;15937:10;::::0;15916:47:::1;::::0;-1:-1:-1;;;;;15937:10:0::1;15949:13:::0;15916:20:::1;:47::i;:::-;-1:-1:-1::0;;6324:16:0;:24;;-1:-1:-1;;;;6324:24:0;;;-1:-1:-1;;;;;;15054:917:0:o;16670:622::-;-1:-1:-1;;;;;16831:20:0;;16756:7;16831:20;;;:12;:20;;;;;;16756:7;;16831:20;;16828:223;;;16880:38;16914:3;16880:29;16891:17;;16880:6;:10;;:29;;;;:::i;:38::-;16868:50;;16828:223;;;-1:-1:-1;;;;;16948:23:0;;;;;;:12;:23;;;;;;;;16945:106;;;17000:39;17035:3;17000:30;17011:18;;17000:6;:10;;:30;;;;:::i;:39::-;16988:51;;16945:106;17074:13;;17071:173;;17149:4;17131:24;;;;:9;:24;;;;;;:39;;17160:9;17131:28;:39::i;:::-;17122:4;17104:24;;;;:9;:24;;;;;;;:66;;;;17190:42;;-1:-1:-1;;;;;17190:42:0;;;;;;;17222:9;8714:25:1;;8702:2;8687:18;;8568:177;17190:42:0;;;;;;;;17071:173;17263:21;:6;17274:9;17263:10;:21::i;15981:681::-;16131:16;;;16145:1;16131:16;;;;;;;;16107:21;;16131:16;;;;;;;;;;-1:-1:-1;16131:16:0;16107:40;;16176:4;16158;16163:1;16158:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16158:23:0;;;:7;;;;;;;;;;:23;;;;16202:15;;:22;;;-1:-1:-1;;;16202:22:0;;;;:15;;;;;:20;;:22;;;;;16158:7;;16202:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16192:4;16197:1;16192:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16192:32:0;;;:7;;;;;;;;;:32;16269:15;;16237:62;;16254:4;;16269:15;16287:11;16237:8;:62::i;:::-;16342:15;;:240;;-1:-1:-1;;;16342:240:0;;-1:-1:-1;;;;;16342:15:0;;;;:66;;:240;;16423:11;;16342:15;;16493:4;;16520;;16556:15;;16342:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16338:256;16619:35;16636:11;16649:4;16619:35;;;;;;;:::i;:::-;;;;;;;;16036:626;15981:681;:::o;12110:126::-;12202:26;;-1:-1:-1;;;;;12202:18:0;;;:26;;;;;12221:6;;12202:26;;;;12221:6;12202:18;:26;;;;;;;;;;;;;;;;;;;;;12110:126;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:52;;;570:1;567;560:12;522:52;602:9;596:16;621:31;646:5;621:31;:::i;687:388::-;755:6;763;816:2;804:9;795:7;791:23;787:32;784:52;;;832:1;829;822:12;784:52;871:9;858:23;890:31;915:5;890:31;:::i;:::-;940:5;-1:-1:-1;997:2:1;982:18;;969:32;1010:33;969:32;1010:33;:::i;:::-;1062:7;1052:17;;;687:388;;;;;:::o;1080:456::-;1157:6;1165;1173;1226:2;1214:9;1205:7;1201:23;1197:32;1194:52;;;1242:1;1239;1232:12;1194:52;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;:::-;1350:5;-1:-1:-1;1407:2:1;1392:18;;1379:32;1420:33;1379:32;1420:33;:::i;:::-;1080:456;;1472:7;;-1:-1:-1;;;1526:2:1;1511:18;;;;1498:32;;1080:456::o;1541:315::-;1606:6;1614;1667:2;1655:9;1646:7;1642:23;1638:32;1635:52;;;1683:1;1680;1673:12;1635:52;1722:9;1709:23;1741:31;1766:5;1741:31;:::i;:::-;1791:5;-1:-1:-1;1815:35:1;1846:2;1831:18;;1815:35;:::i;:::-;1805:45;;1541:315;;;;;:::o;1861:::-;1929:6;1937;1990:2;1978:9;1969:7;1965:23;1961:32;1958:52;;;2006:1;2003;1996:12;1958:52;2045:9;2032:23;2064:31;2089:5;2064:31;:::i;:::-;2114:5;2166:2;2151:18;;;;2138:32;;-1:-1:-1;;;1861:315:1:o;2181:689::-;2273:6;2281;2289;2342:2;2330:9;2321:7;2317:23;2313:32;2310:52;;;2358:1;2355;2348:12;2310:52;2398:9;2385:23;2427:18;2468:2;2460:6;2457:14;2454:34;;;2484:1;2481;2474:12;2454:34;2522:6;2511:9;2507:22;2497:32;;2567:7;2560:4;2556:2;2552:13;2548:27;2538:55;;2589:1;2586;2579:12;2538:55;2629:2;2616:16;2655:2;2647:6;2644:14;2641:34;;;2671:1;2668;2661:12;2641:34;2726:7;2719:4;2709:6;2706:1;2702:14;2698:2;2694:23;2690:34;2687:47;2684:67;;;2747:1;2744;2737:12;2684:67;2778:4;2770:13;;;;-1:-1:-1;2802:6:1;-1:-1:-1;2827:37:1;;2843:20;;;-1:-1:-1;2827:37:1;:::i;:::-;2817:47;;2181:689;;;;;:::o;2875:180::-;2931:6;2984:2;2972:9;2963:7;2959:23;2955:32;2952:52;;;3000:1;2997;2990:12;2952:52;3023:26;3039:9;3023:26;:::i;3060:180::-;3119:6;3172:2;3160:9;3151:7;3147:23;3143:32;3140:52;;;3188:1;3185;3178:12;3140:52;-1:-1:-1;3211:23:1;;3060:180;-1:-1:-1;3060:180:1:o;3245:248::-;3313:6;3321;3374:2;3362:9;3353:7;3349:23;3345:32;3342:52;;;3390:1;3387;3380:12;3342:52;-1:-1:-1;;3413:23:1;;;3483:2;3468:18;;;3455:32;;-1:-1:-1;3245:248:1:o;3498:461::-;3551:3;3589:5;3583:12;3616:6;3611:3;3604:19;3642:4;3671:2;3666:3;3662:12;3655:19;;3708:2;3701:5;3697:14;3729:1;3739:195;3753:6;3750:1;3747:13;3739:195;;;3818:13;;-1:-1:-1;;;;;3814:39:1;3802:52;;3874:12;;;;3909:15;;;;3850:1;3768:9;3739:195;;;-1:-1:-1;3950:3:1;;3498:461;-1:-1:-1;;;;;3498:461:1:o;4822:597::-;4934:4;4963:2;4992;4981:9;4974:21;5024:6;5018:13;5067:6;5062:2;5051:9;5047:18;5040:34;5092:1;5102:140;5116:6;5113:1;5110:13;5102:140;;;5211:14;;;5207:23;;5201:30;5177:17;;;5196:2;5173:26;5166:66;5131:10;;5102:140;;;5260:6;5257:1;5254:13;5251:91;;;5330:1;5325:2;5316:6;5305:9;5301:22;5297:31;5290:42;5251:91;-1:-1:-1;5403:2:1;5382:15;-1:-1:-1;;5378:29:1;5363:45;;;;5410:2;5359:54;;4822:597;-1:-1:-1;;;4822:597:1:o;7396:356::-;7598:2;7580:21;;;7617:18;;;7610:30;7676:34;7671:2;7656:18;;7649:62;7743:2;7728:18;;7396:356::o;8750:332::-;8957:6;8946:9;8939:25;9000:2;8995;8984:9;8980:18;8973:30;8920:4;9020:56;9072:2;9061:9;9057:18;9049:6;9020:56;:::i;:::-;9012:64;8750:332;-1:-1:-1;;;;8750:332:1:o;9087:582::-;9386:6;9375:9;9368:25;9429:6;9424:2;9413:9;9409:18;9402:34;9472:3;9467:2;9456:9;9452:18;9445:31;9349:4;9493:57;9545:3;9534:9;9530:19;9522:6;9493:57;:::i;:::-;-1:-1:-1;;;;;9586:32:1;;;;9581:2;9566:18;;9559:60;-1:-1:-1;9650:3:1;9635:19;9628:35;9485:65;9087:582;-1:-1:-1;;;9087:582:1:o;9863:128::-;9903:3;9934:1;9930:6;9927:1;9924:13;9921:39;;;9940:18;;:::i;:::-;-1:-1:-1;9976:9:1;;9863:128::o;9996:217::-;10036:1;10062;10052:132;;10106:10;10101:3;10097:20;10094:1;10087:31;10141:4;10138:1;10131:15;10169:4;10166:1;10159:15;10052:132;-1:-1:-1;10198:9:1;;9996:217::o;10218:422::-;10307:1;10350:5;10307:1;10364:270;10385:7;10375:8;10372:21;10364:270;;;10444:4;10440:1;10436:6;10432:17;10426:4;10423:27;10420:53;;;10453:18;;:::i;:::-;10503:7;10493:8;10489:22;10486:55;;;10523:16;;;;10486:55;10602:22;;;;10562:15;;;;10364:270;;;10368:3;10218:422;;;;;:::o;10645:140::-;10703:5;10732:47;10773:4;10763:8;10759:19;10753:4;10839:5;10869:8;10859:80;;-1:-1:-1;10910:1:1;10924:5;;10859:80;10958:4;10948:76;;-1:-1:-1;10995:1:1;11009:5;;10948:76;11040:4;11058:1;11053:59;;;;11126:1;11121:130;;;;11033:218;;11053:59;11083:1;11074:10;;11097:5;;;11121:130;11158:3;11148:8;11145:17;11142:43;;;11165:18;;:::i;:::-;-1:-1:-1;;11221:1:1;11207:16;;11236:5;;11033:218;;11335:2;11325:8;11322:16;11316:3;11310:4;11307:13;11303:36;11297:2;11287:8;11284:16;11279:2;11273:4;11270:12;11266:35;11263:77;11260:159;;;-1:-1:-1;11372:19:1;;;11404:5;;11260:159;11451:34;11476:8;11470:4;11451:34;:::i;:::-;11521:6;11517:1;11513:6;11509:19;11500:7;11497:32;11494:58;;;11532:18;;:::i;:::-;11570:20;;10790:806;-1:-1:-1;;;10790:806:1:o;11601:168::-;11641:7;11707:1;11703;11699:6;11695:14;11692:1;11689:21;11684:1;11677:9;11670:17;11666:45;11663:71;;;11714:18;;:::i;:::-;-1:-1:-1;11754:9:1;;11601:168::o;11774:125::-;11814:4;11842:1;11839;11836:8;11833:34;;;11847:18;;:::i;:::-;-1:-1:-1;11884:9:1;;11774:125::o;11904:380::-;11983:1;11979:12;;;;12026;;;12047:61;;12101:4;12093:6;12089:17;12079:27;;12047:61;12154:2;12146:6;12143:14;12123:18;12120:38;12117:161;;;12200:10;12195:3;12191:20;12188:1;12181:31;12235:4;12232:1;12225:15;12263:4;12260:1;12253:15;12117:161;;11904:380;;;:::o;12289:135::-;12328:3;-1:-1:-1;;12349:17:1;;12346:43;;;12369:18;;:::i;:::-;-1:-1:-1;12416:1:1;12405:13;;12289:135::o;12429:127::-;12490:10;12485:3;12481:20;12478:1;12471:31;12521:4;12518:1;12511:15;12545:4;12542:1;12535:15;12561:127;12622:10;12617:3;12613:20;12610:1;12603:31;12653:4;12650:1;12643:15;12677:4;12674:1;12667:15;12825:131;-1:-1:-1;;;;;12900:31:1;;12890:42;;12880:70;;12946:1;12943;12936:12;12880:70;12825:131;:::o

Swarm Source

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