ETH Price: $3,460.55 (+1.15%)
Gas: 10 Gwei

Token

88KITTEN ($KITTY)
 

Overview

Max Total Supply

88,000,000,000 $KITTY

Holders

173

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
86,599,410.503520576679267143 $KITTY

Value
$0.00
0x10f80Fc940237f71b9528A9c2246AD4F3D290967
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:
KITTEN

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-01
*/

// SPDX-License-Identifier: Unlicensed

/**                                                                                                                                                                                                                                                                                                             
                                                                                                                                                                                    
                             ..::---============---::.             :====-                                                                                           
                      .:-====-::........::::.......::--====-:.    :*..: =-                                                                                          
                  .-=+=-:..::-==++++++++==++=++++++++==--:...:-==-:+- =+ :*                                                                                          
              :=+-:.:-==+===+++==--++----++---=+=--=+++===++=-:..-= :+=- +=.............  ..............  ..............  ..........                                
           .=+-..-=+==---=++=----=+=-----++----=+=----==+=----==+-::=--=- :-------------=---------------=---------------=-----------====:                           
         .==..-+==----=++**++++++*+---=++**++++++++=+++++++=--=++**++++++*+==========================================================-:.-+=                         
        -+:.-++++++++***+=======+******+========+***+==+**+++***==+*+==+*+=============+*+=============+**==============**==========+***- :*:                       
       -+.:+=------***:           -**=.          .+*:  .**+=+**-   *:   *.              *:              +:              +-            :+*+..*.                      
      .*..+=------=**-   -------   -*   :------.  .*:  .******-   :*:   *=-----   :----=*+-----   .-----*:   -----------*-   -------.  .**+ =+                      
      == -+--------**=   .......   +*.  .......   :*:            -**:   ***+***   =**+++=+++***   -**++**:   ........+***-   ***++**+   +** -*                      
      == ==--------**-   :::::::   =*.  .::::::.  .*:   .....    :**:   **= ***   =** .---: +**   -**.:**:   ::::::::+***-   **=  **+   +** -*                      
      :* :+-------=**-   :::::::   =*   .::::::.  .*:  .******=.  :*:   **= ***   =** :*.+= +**   -**.:**:   ::::::::::-*-   **=  **+   +** -*                      
       =+ -+=------+**-.         .-**+:          :+*:  .**+-+**=   *-   **= ***   =** :* == +**   -**.:**-              +-   **=  **+   +** -*                      
        =+..=+=+++++*****+++++++********++++++++*****++***+++***+++**++***: -**+++**= =+ -+ -**+++**= .+**++++++++++++++**+++**:  =**+++**- ==                      
         :+-.:=+=------=**++++++++=---==++*+++++=++==++===+=---=+++*+---:.:=..-----..=+   -+:.-----:.=-.:---------------------.:+=..-----..=+                       
           :+=:.:=+==----=+=-----=+=-----++-----++-----=+=-----=+=-..-====-:-========:     .-=-:-=:==::===---:::-::=:::=---==-=-.:==-:=-===.                        
             .-+=:..:-======++==--=+=----++---=+=---=++=====+=-:.:-+=:                        ::. :.  :. .:. :-. :: .-. ..  ..  :.  .. . .                          
                 :=+=-:..:--==+++++=+++==++==+++++++++=--:...:===-.                                .          .      ..          .  .                               
                      .:-====-:::...:::::::::::::....::--====-:.                                                                                                     
                            .::--=================--::.             

Twitter: https://twitter.com/88KittenETH
Telegram: https://t.me/KittyClub88
Website: https://88kitten.com/                                                                                 
**/                                                                                                                                                                

pragma solidity ^0.8.16;

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) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
}

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

abstract contract Ownable is Context {
    address internal _owner;
    address private _previousOwner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

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

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

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

    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 IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

contract ERC20 is Context, Ownable, IERC20, IERC20Metadata {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

    function transfer(
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    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 _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(
            amount,
            "ERC20: transfer amount exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        _balances[account] = _balances[account].sub(
            amount,
            "ERC20: burn amount exceeds balance"
        );
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

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

interface IUniswapV2Pair {
    function factory() external view returns (address);
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

}

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

contract KITTEN is ERC20 {
    using SafeMath for uint256;

    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _isExcludedFromMaxWallet;
    mapping(address => bool) private _isExcludedFromMaxTnxLimit;
    mapping (address => bool) private _isBlacklisted;

    address public milkSupplies;
    address constant _burnAddress = 0x000000000000000000000000000000000000dEaD;

    uint256 public buyFee = 30;
    uint256 public sellFee = 60;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool inSwapAndSendFees;
    bool public swapAndSendFeesEnabled = true;
    bool public tradingEnabled = false;
    uint256 public numTokensSellToSendFees;
    uint256 public maxWalletBalance;
    uint256 public maxTnxAmount;

    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event swapAndSendFeesEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    modifier lockTheSwap() {
        inSwapAndSendFees = true;
        _;
        inSwapAndSendFees = false;
    }

    constructor() ERC20("88KITTEN", "$KITTY") {
        numTokensSellToSendFees = 500000000 * 10 ** decimals();
        milkSupplies = 0x4FC4cf20647D5b35B5820A6Ede2333E45959C40E;

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

        uniswapV2Router = _uniswapV2Router;

        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[milkSupplies] = true;

        _isExcludedFromMaxWallet[owner()] = true;
        _isExcludedFromMaxWallet[address(this)] = true;
        _isExcludedFromMaxWallet[_burnAddress] = true;
        _isExcludedFromMaxWallet[milkSupplies] = true;

        _isExcludedFromMaxTnxLimit[owner()] = true;
        _isExcludedFromMaxTnxLimit[address(this)] = true;
        _isExcludedFromMaxTnxLimit[milkSupplies] = true;

        _mint(owner(), 88000000000 * 10 ** decimals());
        maxWalletBalance = (totalSupply() * 2) / 100;
        maxTnxAmount = (totalSupply() * 2) / 100;
    }

    function includeAndExcludeFromFee(
        address account,
        bool value
    ) public onlyOwner {
        _isExcludedFromFee[account] = value;
    }

    function includeAndExcludedFromMaxWallet(address account, bool value) public onlyOwner {
        _isExcludedFromMaxWallet[account] = value;
    }

    function includeAndExcludedFromMaxTnxLimit(address account, bool value) public onlyOwner {
        _isExcludedFromMaxTnxLimit[account] = value;
    }

    function isExcludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }

    function isExcludedFromMaxWallet(address account) public view returns(bool){
        return _isExcludedFromMaxWallet[account];
    }

    function isExcludedFromMaxTnxLimit(address account) public view returns(bool) {
        return _isExcludedFromMaxTnxLimit[account];
    }

    function removeFromBlackList(address account) external onlyOwner {
        _isBlacklisted[account] = false;
    }

    function isBlackList(address account) external view returns (bool) {
         return _isBlacklisted[account];
    }

    function addToBlackList(address account) external onlyOwner {
         require(account != owner(),"Owner address can not blacklisted");
        _isBlacklisted[account] = true;
    }
    
    function enableTrading() external onlyOwner {
        tradingEnabled = true;
    }

    function setBuyAndSellFee(
        uint256 bFee,
        uint256 sFee
    ) external onlyOwner {
        buyFee = bFee;
        sellFee = sFee;
    }

    function setMilkSupplies(address _addr) external onlyOwner {
        milkSupplies = _addr;
    }

    function setMaxBalance(uint256 maxBalancePercent) external onlyOwner {
        maxWalletBalance = maxBalancePercent * 10 ** decimals();
    }

    function setMaxTxAmount(uint256 maxTxAmount) external onlyOwner {
        maxTnxAmount = maxTxAmount * 10 ** decimals();
    }

    function setNumTokensSellToSendFees(uint256 amount) external onlyOwner {
        numTokensSellToSendFees = amount * 10 ** decimals();
    }

    function setswapAndSendFeesEnabled(bool _enabled) external onlyOwner {
        swapAndSendFeesEnabled = _enabled;
        emit swapAndSendFeesEnabledUpdated(_enabled);
    }

    receive() external payable {}

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(!_isBlacklisted[from] && !_isBlacklisted[to], "ERC20: This address is blacklisted");
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && !tradingEnabled) {
            require(tradingEnabled, "Trading is not enabled yet");
        }

        if (from != owner() && to != owner())
            require(
                _isExcludedFromMaxTnxLimit[from] ||
                    _isExcludedFromMaxTnxLimit[to] ||
                    amount <= maxTnxAmount,
                "ERC20: Transfer amount exceeds the MaxTnxAmount."
            );

        if (
            from != owner() &&
            to != address(this) &&
            to != _burnAddress &&
            to != uniswapV2Pair
        ) {
            uint256 currentBalance = balanceOf(to);
            require(
                _isExcludedFromMaxWallet[to] ||
                    (currentBalance + amount <= maxWalletBalance),
                "ERC20: Reached Max wallet holding"
            );
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool overMinTokenBalance = contractTokenBalance >=
            numTokensSellToSendFees;
        if (
            overMinTokenBalance &&
            !inSwapAndSendFees &&
            from != uniswapV2Pair &&
            swapAndSendFeesEnabled
        ) {
            contractTokenBalance = numTokensSellToSendFees;
            swapBack(contractTokenBalance);
        }

        bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            super._transfer(from, to, amount);
            takeFee = false;
        } else {
            if (from == uniswapV2Pair) {
                uint256 marketingTokens = amount.mul(buyFee).div(100);
                amount = amount.sub(marketingTokens);
                super._transfer(from, address(this), marketingTokens);
                super._transfer(from, to, amount);
            } else if (to == uniswapV2Pair) {
                uint256 marketingTokens = amount.mul(sellFee).div(
                    100
                );
                amount = amount.sub(marketingTokens);
                super._transfer(from, address(this), marketingTokens);
                super._transfer(from, to, amount);
            } else {
                super._transfer(from, to, amount);
            }
        }
    }

    function swapBack(uint256 contractBalance) private lockTheSwap {
        uint256 marketingTokens = contractBalance.mul(sellFee).div(
            100
        );
        uint256 totalTokensToSwap = marketingTokens;
        if (contractBalance == 0 || totalTokensToSwap == 0) {
            return;
        }
        bool success;
        swapTokensForEth(contractBalance);
        uint256 ethBalance = address(this).balance;
        uint256 ethForMarketing = (ethBalance * marketingTokens) /
            (totalTokensToSwap);
        (success, ) = address(milkSupplies).call{
            value: ethForMarketing
        }("");
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","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":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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"swapAndSendFeesEnabledUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addToBlackList","outputs":[],"stateMutability":"nonpayable","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":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeAndExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeAndExcludedFromMaxTnxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeAndExcludedFromMaxWallet","outputs":[],"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"isBlackList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromMaxTnxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTnxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"milkSupplies","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numTokensSellToSendFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeFromBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"bFee","type":"uint256"},{"internalType":"uint256","name":"sFee","type":"uint256"}],"name":"setBuyAndSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBalancePercent","type":"uint256"}],"name":"setMaxBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setMilkSupplies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setNumTokensSellToSendFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setswapAndSendFeesEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndSendFeesEnabled","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":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601e600c55603c600d55600f805461ffff60a81b1916600160a81b1790553480156200002f57600080fd5b50604051806040016040528060088152602001671c1c25a4aa2a22a760c11b81525060405180604001604052806006815260200165244b4954545960d01b81525062000080620004c960201b60201c565b600080546001600160a01b0319166001600160a01b039290921691821781556040517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36005620000d5838262000697565b506006620000e4828262000697565b50620000f1915050601290565b620000fe90600a62000876565b6200010e90631dcd650062000887565b601055600b80546001600160a01b031916734fc4cf20647d5b35b5820a6ede2333e45959c40e1790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a0155916004808201926020929091908290030181865afa1580156200018b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b19190620008a9565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002259190620008a9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000273573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002999190620008a9565b600f80546001600160a01b03199081166001600160a01b0393841617909155600e8054909116918316919091179055600160076000620002d63390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526007909352818320805485166001908117909155600b54909116835290822080549093168117909255600890620003466000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260089093528183208054851660019081179091557f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd093342998054861682179055600b54909116835290822080549093168117909255600990620003df6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526009909352818320805485166001908117909155600b54909116835291208054909216179055620004726200044d6000546001600160a01b031690565b6200045b6012600a62000876565b6200046c9064147d35700062000887565b620004cd565b60646200047e60045490565b6200048b90600262000887565b620004979190620008db565b6011556064620004a660045490565b620004b390600262000887565b620004bf9190620008db565b6012555062000914565b3390565b6001600160a01b038216620005285760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b6200054481600454620005dc60201b62000f081790919060201c565b6004556001600160a01b0382166000908152600260209081526040909120546200057991839062000f08620005dc821b17901c565b6001600160a01b0383166000818152600260205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620005cb9085815260200190565b60405180910390a35050565b505050565b6000620005ea8284620008fe565b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200061e57607f821691505b6020821081036200063f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005d757600081815260208120601f850160051c810160208610156200066e5750805b601f850160051c820191505b818110156200068f578281556001016200067a565b505050505050565b81516001600160401b03811115620006b357620006b3620005f3565b620006cb81620006c4845462000609565b8462000645565b602080601f831160018114620007035760008415620006ea5750858301515b600019600386901b1c1916600185901b1785556200068f565b600085815260208120601f198616915b82811015620007345788860151825594840194600190910190840162000713565b5085821015620007535787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620007ba5781600019048211156200079e576200079e62000763565b80851615620007ac57918102915b93841c93908002906200077e565b509250929050565b600082620007d357506001620005ed565b81620007e257506000620005ed565b8160018114620007fb5760028114620008065762000826565b6001915050620005ed565b60ff8411156200081a576200081a62000763565b50506001821b620005ed565b5060208310610133831016604e8410600b84101617156200084b575081810a620005ed565b62000857838362000779565b80600019048211156200086e576200086e62000763565b029392505050565b6000620005ea60ff841683620007c2565b6000816000190483118215151615620008a457620008a462000763565b500290565b600060208284031215620008bc57600080fd5b81516001600160a01b0381168114620008d457600080fd5b9392505050565b600082620008f957634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620005ed57620005ed62000763565b611e5280620009246000396000f3fe60806040526004361061023f5760003560e01c806355874a791161012e578063a346304f116100ab578063c72fd11f1161006f578063c72fd11f14610706578063da7e2c7f14610726578063dd62ed3e14610746578063ec28438a1461078c578063f2fde38b146107ac57600080fd5b8063a346304f14610657578063a457c2d714610677578063a9059cbb14610697578063b36d6919146106b7578063bbde77c1146106f057600080fd5b80638a8c523c116100f25780638a8c523c146105cf5780638da5cb5b146105e457806395d89b41146106025780639904a1c3146106175780639d51d9b71461063757600080fd5b806355874a79146104f25780636dd3d39f1461052b57806370a0823114610564578063715018a61461059a57806384e2b88d146105af57600080fd5b806339509351116101bc5780634a49ac4c116101805780634a49ac4c146104425780634ada218b146104625780635342acb414610483578063534e84c3146104bc57806353cae9cf146104dc57600080fd5b806339509351146103ac578063417c73a7146103cc57806347062402146103ec57806348eb61b61461040257806349bd5a5e1461042257600080fd5b80631694505e116102035780631694505e1461030d57806318160ddd1461034557806323b872dd1461035a5780632b14ca561461037a578063313ce5671461039057600080fd5b806302a8b0411461024b57806306fdde031461026d578063095ea7b314610298578063130d6ce0146102c8578063148d2161146102ec57600080fd5b3661024657005b600080fd5b34801561025757600080fd5b5061026b6102663660046118ea565b6107cc565b005b34801561027957600080fd5b50610282610857565b60405161028f9190611905565b60405180910390f35b3480156102a457600080fd5b506102b86102b336600461196b565b6108e9565b604051901515815260200161028f565b3480156102d457600080fd5b506102de60125481565b60405190815260200161028f565b3480156102f857600080fd5b50600f546102b890600160a81b900460ff1681565b34801561031957600080fd5b50600e5461032d906001600160a01b031681565b6040516001600160a01b03909116815260200161028f565b34801561035157600080fd5b506004546102de565b34801561036657600080fd5b506102b8610375366004611997565b610900565b34801561038657600080fd5b506102de600d5481565b34801561039c57600080fd5b506040516012815260200161028f565b3480156103b857600080fd5b506102b86103c736600461196b565b610969565b3480156103d857600080fd5b5061026b6103e73660046119d8565b61099f565b3480156103f857600080fd5b506102de600c5481565b34801561040e57600080fd5b5061026b61041d3660046119f5565b610a63565b34801561042e57600080fd5b50600f5461032d906001600160a01b031681565b34801561044e57600080fd5b5061026b61045d3660046119d8565b610ab8565b34801561046e57600080fd5b50600f546102b890600160b01b900460ff1681565b34801561048f57600080fd5b506102b861049e3660046119d8565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156104c857600080fd5b5061026b6104d73660046119d8565b610b03565b3480156104e857600080fd5b506102de60105481565b3480156104fe57600080fd5b506102b861050d3660046119d8565b6001600160a01b031660009081526009602052604090205460ff1690565b34801561053757600080fd5b506102b86105463660046119d8565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561057057600080fd5b506102de61057f3660046119d8565b6001600160a01b031660009081526002602052604090205490565b3480156105a657600080fd5b5061026b610b4f565b3480156105bb57600080fd5b5061026b6105ca366004611a2a565b610bc3565b3480156105db57600080fd5b5061026b610c09565b3480156105f057600080fd5b506000546001600160a01b031661032d565b34801561060e57600080fd5b50610282610c48565b34801561062357600080fd5b5061026b6106323660046119f5565b610c57565b34801561064357600080fd5b5061026b610652366004611a2a565b610cac565b34801561066357600080fd5b5061026b610672366004611a43565b610cf2565b34801561068357600080fd5b506102b861069236600461196b565b610d27565b3480156106a357600080fd5b506102b86106b236600461196b565b610d76565b3480156106c357600080fd5b506102b86106d23660046119d8565b6001600160a01b03166000908152600a602052604090205460ff1690565b3480156106fc57600080fd5b506102de60115481565b34801561071257600080fd5b50600b5461032d906001600160a01b031681565b34801561073257600080fd5b5061026b6107413660046119f5565b610d83565b34801561075257600080fd5b506102de610761366004611a65565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561079857600080fd5b5061026b6107a7366004611a2a565b610dd8565b3480156107b857600080fd5b5061026b6107c73660046119d8565b610e1e565b6000546001600160a01b031633146107ff5760405162461bcd60e51b81526004016107f690611a9e565b60405180910390fd5b600f8054821515600160a81b0260ff60a81b199091161790556040517f95104a55e36dd507aac6f3a5211027febb09c940366b18700bc6e6cedf67426b9061084c90831515815260200190565b60405180910390a150565b60606005805461086690611ad3565b80601f016020809104026020016040519081016040528092919081815260200182805461089290611ad3565b80156108df5780601f106108b4576101008083540402835291602001916108df565b820191906000526020600020905b8154815290600101906020018083116108c257829003601f168201915b5050505050905090565b60006108f6338484610f1b565b5060015b92915050565b600061090d848484611040565b61095f843361095a85604051806060016040528060288152602001611dd0602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611553565b610f1b565b5060019392505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916108f691859061095a9086610f08565b6000546001600160a01b031633146109c95760405162461bcd60e51b81526004016107f690611a9e565b6000546001600160a01b03166001600160a01b0316816001600160a01b031603610a3f5760405162461bcd60e51b815260206004820152602160248201527f4f776e657220616464726573732063616e206e6f7420626c61636b6c697374656044820152601960fa1b60648201526084016107f6565b6001600160a01b03166000908152600a60205260409020805460ff19166001179055565b6000546001600160a01b03163314610a8d5760405162461bcd60e51b81526004016107f690611a9e565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610ae25760405162461bcd60e51b81526004016107f690611a9e565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b03163314610b2d5760405162461bcd60e51b81526004016107f690611a9e565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b795760405162461bcd60e51b81526004016107f690611a9e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610bed5760405162461bcd60e51b81526004016107f690611a9e565b610bf96012600a611c07565b610c039082611c16565b60105550565b6000546001600160a01b03163314610c335760405162461bcd60e51b81526004016107f690611a9e565b600f805460ff60b01b1916600160b01b179055565b60606006805461086690611ad3565b6000546001600160a01b03163314610c815760405162461bcd60e51b81526004016107f690611a9e565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610cd65760405162461bcd60e51b81526004016107f690611a9e565b610ce26012600a611c07565b610cec9082611c16565b60115550565b6000546001600160a01b03163314610d1c5760405162461bcd60e51b81526004016107f690611a9e565b600c91909155600d55565b60006108f6338461095a85604051806060016040528060258152602001611df8602591393360009081526003602090815260408083206001600160a01b038d1684529091529020549190611553565b60006108f6338484611040565b6000546001600160a01b03163314610dad5760405162461bcd60e51b81526004016107f690611a9e565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e025760405162461bcd60e51b81526004016107f690611a9e565b610e0e6012600a611c07565b610e189082611c16565b60125550565b6000546001600160a01b03163314610e485760405162461bcd60e51b81526004016107f690611a9e565b6001600160a01b038116610ead5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f6565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610f148284611c35565b9392505050565b6001600160a01b038316610f7d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107f6565b6001600160a01b038216610fde5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107f6565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166000908152600a602052604090205460ff1615801561108257506001600160a01b0382166000908152600a602052604090205460ff16155b6110d95760405162461bcd60e51b815260206004820152602260248201527f45524332303a2054686973206164647265737320697320626c61636b6c697374604482015261195960f21b60648201526084016107f6565b6001600160a01b0383166110ff5760405162461bcd60e51b81526004016107f690611c48565b6001600160a01b0382166111255760405162461bcd60e51b81526004016107f690611c8d565b600081116111875760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107f6565b6000546001600160a01b038481169116148015906111af5750600f54600160b01b900460ff16155b1561120d57600f54600160b01b900460ff1661120d5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c65642079657400000000000060448201526064016107f6565b6000546001600160a01b0384811691161480159061123957506000546001600160a01b03838116911614155b156112ef576001600160a01b03831660009081526009602052604090205460ff168061127d57506001600160a01b03821660009081526009602052604090205460ff165b8061128a57506012548111155b6112ef5760405162461bcd60e51b815260206004820152603060248201527f45524332303a205472616e7366657220616d6f756e742065786365656473207460448201526f34329026b0bc2a373c20b6b7bab73a1760811b60648201526084016107f6565b6000546001600160a01b0384811691161480159061131657506001600160a01b0382163014155b801561132d57506001600160a01b03821661dead14155b80156113475750600f546001600160a01b03838116911614155b156113e2576001600160a01b03821660009081526002602090815260408083205460089092529091205460ff168061138a57506011546113878383611c35565b11155b6113e05760405162461bcd60e51b815260206004820152602160248201527f45524332303a2052656163686564204d61782077616c6c657420686f6c64696e6044820152606760f81b60648201526084016107f6565b505b30600090815260026020526040902054601054811080159081906114105750600f54600160a01b900460ff16155b801561142a5750600f546001600160a01b03868116911614155b801561143f5750600f54600160a81b900460ff165b156114525760105491506114528261157f565b6001600160a01b03851660009081526007602052604090205460019060ff168061149457506001600160a01b03851660009081526007602052604090205460ff165b156114ac576114a4868686611653565b50600061154b565b600f546001600160a01b039081169087160361150e5760006114e460646114de600c548861175f90919063ffffffff16565b9061176b565b90506114f08582611777565b94506114fd873083611653565b611508878787611653565b5061154b565b600f546001600160a01b03908116908616036115405760006114e460646114de600d548861175f90919063ffffffff16565b61154b868686611653565b505050505050565b600081848411156115775760405162461bcd60e51b81526004016107f69190611905565b505050900390565b600f805460ff60a01b1916600160a01b179055600d546000906115aa906064906114de90859061175f565b9050808215806115b8575080155b156115c4575050611643565b60006115cf84611783565b476000836115dd8684611c16565b6115e79190611cd0565b600b546040519192506001600160a01b0316908290600081818185875af1925050503d8060008114611635576040519150601f19603f3d011682016040523d82523d6000602084013e61163a565b606091505b50505050505050505b50600f805460ff60a01b19169055565b6001600160a01b0383166116795760405162461bcd60e51b81526004016107f690611c48565b6001600160a01b03821661169f5760405162461bcd60e51b81526004016107f690611c8d565b6116dc81604051806060016040528060268152602001611daa602691396001600160a01b0386166000908152600260205260409020549190611553565b6001600160a01b03808516600090815260026020526040808220939093559084168152205461170b9082610f08565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110339085815260200190565b6000610f148284611c16565b6000610f148284611cd0565b6000610f148284611cf2565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106117b8576117b8611d05565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118359190611d1b565b8160018151811061184857611848611d05565b6001600160a01b039283166020918202929092010152600e5461186e9130911684610f1b565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906118a7908590600090869030904290600401611d38565b600060405180830381600087803b1580156118c157600080fd5b505af115801561154b573d6000803e3d6000fd5b803580151581146118e557600080fd5b919050565b6000602082840312156118fc57600080fd5b610f14826118d5565b600060208083528351808285015260005b8181101561193257858101830151858201604001528201611916565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461196857600080fd5b50565b6000806040838503121561197e57600080fd5b823561198981611953565b946020939093013593505050565b6000806000606084860312156119ac57600080fd5b83356119b781611953565b925060208401356119c781611953565b929592945050506040919091013590565b6000602082840312156119ea57600080fd5b8135610f1481611953565b60008060408385031215611a0857600080fd5b8235611a1381611953565b9150611a21602084016118d5565b90509250929050565b600060208284031215611a3c57600080fd5b5035919050565b60008060408385031215611a5657600080fd5b50508035926020909101359150565b60008060408385031215611a7857600080fd5b8235611a8381611953565b91506020830135611a9381611953565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611ae757607f821691505b602082108103611b0757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611b5e578160001904821115611b4457611b44611b0d565b80851615611b5157918102915b93841c9390800290611b28565b509250929050565b600082611b75575060016108fa565b81611b82575060006108fa565b8160018114611b985760028114611ba257611bbe565b60019150506108fa565b60ff841115611bb357611bb3611b0d565b50506001821b6108fa565b5060208310610133831016604e8410600b8410161715611be1575081810a6108fa565b611beb8383611b23565b8060001904821115611bff57611bff611b0d565b029392505050565b6000610f1460ff841683611b66565b6000816000190483118215151615611c3057611c30611b0d565b500290565b808201808211156108fa576108fa611b0d565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600082611ced57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108fa576108fa611b0d565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611d2d57600080fd5b8151610f1481611953565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d885784516001600160a01b031683529383019391830191600101611d63565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220227ff8db5a2e97abb9126a5bd8ae220273f7c75283b1f0d824306101a91e672064736f6c63430008100033

Deployed Bytecode

0x60806040526004361061023f5760003560e01c806355874a791161012e578063a346304f116100ab578063c72fd11f1161006f578063c72fd11f14610706578063da7e2c7f14610726578063dd62ed3e14610746578063ec28438a1461078c578063f2fde38b146107ac57600080fd5b8063a346304f14610657578063a457c2d714610677578063a9059cbb14610697578063b36d6919146106b7578063bbde77c1146106f057600080fd5b80638a8c523c116100f25780638a8c523c146105cf5780638da5cb5b146105e457806395d89b41146106025780639904a1c3146106175780639d51d9b71461063757600080fd5b806355874a79146104f25780636dd3d39f1461052b57806370a0823114610564578063715018a61461059a57806384e2b88d146105af57600080fd5b806339509351116101bc5780634a49ac4c116101805780634a49ac4c146104425780634ada218b146104625780635342acb414610483578063534e84c3146104bc57806353cae9cf146104dc57600080fd5b806339509351146103ac578063417c73a7146103cc57806347062402146103ec57806348eb61b61461040257806349bd5a5e1461042257600080fd5b80631694505e116102035780631694505e1461030d57806318160ddd1461034557806323b872dd1461035a5780632b14ca561461037a578063313ce5671461039057600080fd5b806302a8b0411461024b57806306fdde031461026d578063095ea7b314610298578063130d6ce0146102c8578063148d2161146102ec57600080fd5b3661024657005b600080fd5b34801561025757600080fd5b5061026b6102663660046118ea565b6107cc565b005b34801561027957600080fd5b50610282610857565b60405161028f9190611905565b60405180910390f35b3480156102a457600080fd5b506102b86102b336600461196b565b6108e9565b604051901515815260200161028f565b3480156102d457600080fd5b506102de60125481565b60405190815260200161028f565b3480156102f857600080fd5b50600f546102b890600160a81b900460ff1681565b34801561031957600080fd5b50600e5461032d906001600160a01b031681565b6040516001600160a01b03909116815260200161028f565b34801561035157600080fd5b506004546102de565b34801561036657600080fd5b506102b8610375366004611997565b610900565b34801561038657600080fd5b506102de600d5481565b34801561039c57600080fd5b506040516012815260200161028f565b3480156103b857600080fd5b506102b86103c736600461196b565b610969565b3480156103d857600080fd5b5061026b6103e73660046119d8565b61099f565b3480156103f857600080fd5b506102de600c5481565b34801561040e57600080fd5b5061026b61041d3660046119f5565b610a63565b34801561042e57600080fd5b50600f5461032d906001600160a01b031681565b34801561044e57600080fd5b5061026b61045d3660046119d8565b610ab8565b34801561046e57600080fd5b50600f546102b890600160b01b900460ff1681565b34801561048f57600080fd5b506102b861049e3660046119d8565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156104c857600080fd5b5061026b6104d73660046119d8565b610b03565b3480156104e857600080fd5b506102de60105481565b3480156104fe57600080fd5b506102b861050d3660046119d8565b6001600160a01b031660009081526009602052604090205460ff1690565b34801561053757600080fd5b506102b86105463660046119d8565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561057057600080fd5b506102de61057f3660046119d8565b6001600160a01b031660009081526002602052604090205490565b3480156105a657600080fd5b5061026b610b4f565b3480156105bb57600080fd5b5061026b6105ca366004611a2a565b610bc3565b3480156105db57600080fd5b5061026b610c09565b3480156105f057600080fd5b506000546001600160a01b031661032d565b34801561060e57600080fd5b50610282610c48565b34801561062357600080fd5b5061026b6106323660046119f5565b610c57565b34801561064357600080fd5b5061026b610652366004611a2a565b610cac565b34801561066357600080fd5b5061026b610672366004611a43565b610cf2565b34801561068357600080fd5b506102b861069236600461196b565b610d27565b3480156106a357600080fd5b506102b86106b236600461196b565b610d76565b3480156106c357600080fd5b506102b86106d23660046119d8565b6001600160a01b03166000908152600a602052604090205460ff1690565b3480156106fc57600080fd5b506102de60115481565b34801561071257600080fd5b50600b5461032d906001600160a01b031681565b34801561073257600080fd5b5061026b6107413660046119f5565b610d83565b34801561075257600080fd5b506102de610761366004611a65565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561079857600080fd5b5061026b6107a7366004611a2a565b610dd8565b3480156107b857600080fd5b5061026b6107c73660046119d8565b610e1e565b6000546001600160a01b031633146107ff5760405162461bcd60e51b81526004016107f690611a9e565b60405180910390fd5b600f8054821515600160a81b0260ff60a81b199091161790556040517f95104a55e36dd507aac6f3a5211027febb09c940366b18700bc6e6cedf67426b9061084c90831515815260200190565b60405180910390a150565b60606005805461086690611ad3565b80601f016020809104026020016040519081016040528092919081815260200182805461089290611ad3565b80156108df5780601f106108b4576101008083540402835291602001916108df565b820191906000526020600020905b8154815290600101906020018083116108c257829003601f168201915b5050505050905090565b60006108f6338484610f1b565b5060015b92915050565b600061090d848484611040565b61095f843361095a85604051806060016040528060288152602001611dd0602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611553565b610f1b565b5060019392505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916108f691859061095a9086610f08565b6000546001600160a01b031633146109c95760405162461bcd60e51b81526004016107f690611a9e565b6000546001600160a01b03166001600160a01b0316816001600160a01b031603610a3f5760405162461bcd60e51b815260206004820152602160248201527f4f776e657220616464726573732063616e206e6f7420626c61636b6c697374656044820152601960fa1b60648201526084016107f6565b6001600160a01b03166000908152600a60205260409020805460ff19166001179055565b6000546001600160a01b03163314610a8d5760405162461bcd60e51b81526004016107f690611a9e565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610ae25760405162461bcd60e51b81526004016107f690611a9e565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b03163314610b2d5760405162461bcd60e51b81526004016107f690611a9e565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b795760405162461bcd60e51b81526004016107f690611a9e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610bed5760405162461bcd60e51b81526004016107f690611a9e565b610bf96012600a611c07565b610c039082611c16565b60105550565b6000546001600160a01b03163314610c335760405162461bcd60e51b81526004016107f690611a9e565b600f805460ff60b01b1916600160b01b179055565b60606006805461086690611ad3565b6000546001600160a01b03163314610c815760405162461bcd60e51b81526004016107f690611a9e565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610cd65760405162461bcd60e51b81526004016107f690611a9e565b610ce26012600a611c07565b610cec9082611c16565b60115550565b6000546001600160a01b03163314610d1c5760405162461bcd60e51b81526004016107f690611a9e565b600c91909155600d55565b60006108f6338461095a85604051806060016040528060258152602001611df8602591393360009081526003602090815260408083206001600160a01b038d1684529091529020549190611553565b60006108f6338484611040565b6000546001600160a01b03163314610dad5760405162461bcd60e51b81526004016107f690611a9e565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e025760405162461bcd60e51b81526004016107f690611a9e565b610e0e6012600a611c07565b610e189082611c16565b60125550565b6000546001600160a01b03163314610e485760405162461bcd60e51b81526004016107f690611a9e565b6001600160a01b038116610ead5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f6565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610f148284611c35565b9392505050565b6001600160a01b038316610f7d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107f6565b6001600160a01b038216610fde5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107f6565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166000908152600a602052604090205460ff1615801561108257506001600160a01b0382166000908152600a602052604090205460ff16155b6110d95760405162461bcd60e51b815260206004820152602260248201527f45524332303a2054686973206164647265737320697320626c61636b6c697374604482015261195960f21b60648201526084016107f6565b6001600160a01b0383166110ff5760405162461bcd60e51b81526004016107f690611c48565b6001600160a01b0382166111255760405162461bcd60e51b81526004016107f690611c8d565b600081116111875760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107f6565b6000546001600160a01b038481169116148015906111af5750600f54600160b01b900460ff16155b1561120d57600f54600160b01b900460ff1661120d5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c65642079657400000000000060448201526064016107f6565b6000546001600160a01b0384811691161480159061123957506000546001600160a01b03838116911614155b156112ef576001600160a01b03831660009081526009602052604090205460ff168061127d57506001600160a01b03821660009081526009602052604090205460ff165b8061128a57506012548111155b6112ef5760405162461bcd60e51b815260206004820152603060248201527f45524332303a205472616e7366657220616d6f756e742065786365656473207460448201526f34329026b0bc2a373c20b6b7bab73a1760811b60648201526084016107f6565b6000546001600160a01b0384811691161480159061131657506001600160a01b0382163014155b801561132d57506001600160a01b03821661dead14155b80156113475750600f546001600160a01b03838116911614155b156113e2576001600160a01b03821660009081526002602090815260408083205460089092529091205460ff168061138a57506011546113878383611c35565b11155b6113e05760405162461bcd60e51b815260206004820152602160248201527f45524332303a2052656163686564204d61782077616c6c657420686f6c64696e6044820152606760f81b60648201526084016107f6565b505b30600090815260026020526040902054601054811080159081906114105750600f54600160a01b900460ff16155b801561142a5750600f546001600160a01b03868116911614155b801561143f5750600f54600160a81b900460ff165b156114525760105491506114528261157f565b6001600160a01b03851660009081526007602052604090205460019060ff168061149457506001600160a01b03851660009081526007602052604090205460ff165b156114ac576114a4868686611653565b50600061154b565b600f546001600160a01b039081169087160361150e5760006114e460646114de600c548861175f90919063ffffffff16565b9061176b565b90506114f08582611777565b94506114fd873083611653565b611508878787611653565b5061154b565b600f546001600160a01b03908116908616036115405760006114e460646114de600d548861175f90919063ffffffff16565b61154b868686611653565b505050505050565b600081848411156115775760405162461bcd60e51b81526004016107f69190611905565b505050900390565b600f805460ff60a01b1916600160a01b179055600d546000906115aa906064906114de90859061175f565b9050808215806115b8575080155b156115c4575050611643565b60006115cf84611783565b476000836115dd8684611c16565b6115e79190611cd0565b600b546040519192506001600160a01b0316908290600081818185875af1925050503d8060008114611635576040519150601f19603f3d011682016040523d82523d6000602084013e61163a565b606091505b50505050505050505b50600f805460ff60a01b19169055565b6001600160a01b0383166116795760405162461bcd60e51b81526004016107f690611c48565b6001600160a01b03821661169f5760405162461bcd60e51b81526004016107f690611c8d565b6116dc81604051806060016040528060268152602001611daa602691396001600160a01b0386166000908152600260205260409020549190611553565b6001600160a01b03808516600090815260026020526040808220939093559084168152205461170b9082610f08565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110339085815260200190565b6000610f148284611c16565b6000610f148284611cd0565b6000610f148284611cf2565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106117b8576117b8611d05565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118359190611d1b565b8160018151811061184857611848611d05565b6001600160a01b039283166020918202929092010152600e5461186e9130911684610f1b565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906118a7908590600090869030904290600401611d38565b600060405180830381600087803b1580156118c157600080fd5b505af115801561154b573d6000803e3d6000fd5b803580151581146118e557600080fd5b919050565b6000602082840312156118fc57600080fd5b610f14826118d5565b600060208083528351808285015260005b8181101561193257858101830151858201604001528201611916565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461196857600080fd5b50565b6000806040838503121561197e57600080fd5b823561198981611953565b946020939093013593505050565b6000806000606084860312156119ac57600080fd5b83356119b781611953565b925060208401356119c781611953565b929592945050506040919091013590565b6000602082840312156119ea57600080fd5b8135610f1481611953565b60008060408385031215611a0857600080fd5b8235611a1381611953565b9150611a21602084016118d5565b90509250929050565b600060208284031215611a3c57600080fd5b5035919050565b60008060408385031215611a5657600080fd5b50508035926020909101359150565b60008060408385031215611a7857600080fd5b8235611a8381611953565b91506020830135611a9381611953565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611ae757607f821691505b602082108103611b0757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611b5e578160001904821115611b4457611b44611b0d565b80851615611b5157918102915b93841c9390800290611b28565b509250929050565b600082611b75575060016108fa565b81611b82575060006108fa565b8160018114611b985760028114611ba257611bbe565b60019150506108fa565b60ff841115611bb357611bb3611b0d565b50506001821b6108fa565b5060208310610133831016604e8410600b8410161715611be1575081810a6108fa565b611beb8383611b23565b8060001904821115611bff57611bff611b0d565b029392505050565b6000610f1460ff841683611b66565b6000816000190483118215151615611c3057611c30611b0d565b500290565b808201808211156108fa576108fa611b0d565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600082611ced57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108fa576108fa611b0d565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611d2d57600080fd5b8151610f1481611953565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d885784516001600160a01b031683529383019391830191600101611d63565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220227ff8db5a2e97abb9126a5bd8ae220273f7c75283b1f0d824306101a91e672064736f6c63430008100033

Deployed Bytecode Sourcemap

12717:8659:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17283:176;;;;;;;;;;-1:-1:-1;17283:176:0;;;;;:::i;:::-;;:::i;:::-;;7721:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8701:194;;;;;;;;;;-1:-1:-1;8701:194:0;;;;;:::i;:::-;;:::i;:::-;;;1538:14:1;;1531:22;1513:41;;1501:2;1486:18;8701:194:0;1373:187:1;13499:27:0;;;;;;;;;;;;;;;;;;;1711:25:1;;;1699:2;1684:18;13499:27:0;1565:177:1;13327:41:0;;;;;;;;;;-1:-1:-1;13327:41:0;;;;-1:-1:-1;;;13327:41:0;;;;;;13215;;;;;;;;;;-1:-1:-1;13215:41:0;;;;-1:-1:-1;;;;;13215:41:0;;;;;;-1:-1:-1;;;;;1937:32:1;;;1919:51;;1907:2;1892:18;13215:41:0;1747:229:1;8042:108:0;;;;;;;;;;-1:-1:-1;8130:12:0;;8042:108;;8903:454;;;;;;;;;;-1:-1:-1;8903:454:0;;;;;:::i;:::-;;:::i;13179:27::-;;;;;;;;;;;;;;;;7941:93;;;;;;;;;;-1:-1:-1;7941:93:0;;8024:2;2584:36:1;;2572:2;2557:18;7941:93:0;2442:184:1;9365:293:0;;;;;;;;;;-1:-1:-1;9365:293:0;;;;;:::i;:::-;;:::i;16290:184::-;;;;;;;;;;-1:-1:-1;16290:184:0;;;;;:::i;:::-;;:::i;13146:26::-;;;;;;;;;;;;;;;;15307:147;;;;;;;;;;-1:-1:-1;15307:147:0;;;;;:::i;:::-;;:::i;13263:28::-;;;;;;;;;;-1:-1:-1;13263:28:0;;;;-1:-1:-1;;;;;13263:28:0;;;16042:115;;;;;;;;;;-1:-1:-1;16042:115:0;;;;;:::i;:::-;;:::i;13375:34::-;;;;;;;;;;-1:-1:-1;13375:34:0;;;;-1:-1:-1;;;13375:34:0;;;;;;15621:124;;;;;;;;;;-1:-1:-1;15621:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;15710:27:0;15686:4;15710:27;;;:18;:27;;;;;;;;;15621:124;16741:98;;;;;;;;;;-1:-1:-1;16741:98:0;;;;;:::i;:::-;;:::i;13416:38::-;;;;;;;;;;;;;;;;15895:139;;;;;;;;;;-1:-1:-1;15895:139:0;;;;;:::i;:::-;-1:-1:-1;;;;;15991:35:0;15967:4;15991:35;;;:26;:35;;;;;;;;;15895:139;15753:134;;;;;;;;;;-1:-1:-1;15753:134:0;;;;;:::i;:::-;-1:-1:-1;;;;;15846:33:0;15823:4;15846:33;;;:24;:33;;;;;;;;;15753:134;8158:143;;;;;;;;;;-1:-1:-1;8158:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8275:18:0;8248:7;8275:18;;;:9;:18;;;;;;;8158:143;6602:148;;;;;;;;;;;;;:::i;17134:141::-;;;;;;;;;;-1:-1:-1;17134:141:0;;;;;:::i;:::-;;:::i;16486:84::-;;;;;;;;;;;;;:::i;6379:87::-;;;;;;;;;;-1:-1:-1;6425:7:0;6452:6;-1:-1:-1;;;;;6452:6:0;6379:87;;7829:104;;;;;;;;;;;;;:::i;15462:151::-;;;;;;;;;;-1:-1:-1;15462:151:0;;;;;:::i;:::-;;:::i;16847:143::-;;;;;;;;;;-1:-1:-1;16847:143:0;;;;;:::i;:::-;;:::i;16578:155::-;;;;;;;;;;-1:-1:-1;16578:155:0;;;;;:::i;:::-;;:::i;9666:393::-;;;;;;;;;;-1:-1:-1;9666:393:0;;;;;:::i;:::-;;:::i;8309:200::-;;;;;;;;;;-1:-1:-1;8309:200:0;;;;;:::i;:::-;;:::i;16165:117::-;;;;;;;;;;-1:-1:-1;16165:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;16251:23:0;16226:4;16251:23;;;:14;:23;;;;;;;;;16165:117;13461:31;;;;;;;;;;;;;;;;13029:27;;;;;;;;;;-1:-1:-1;13029:27:0;;;;-1:-1:-1;;;;;13029:27:0;;;15140:159;;;;;;;;;;-1:-1:-1;15140:159:0;;;;;:::i;:::-;;:::i;8517:176::-;;;;;;;;;;-1:-1:-1;8517:176:0;;;;;:::i;:::-;-1:-1:-1;;;;;8658:18:0;;;8631:7;8658:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8517:176;16998:128;;;;;;;;;;-1:-1:-1;16998:128:0;;;;;:::i;:::-;;:::i;6758:281::-;;;;;;;;;;-1:-1:-1;6758:281:0;;;;;:::i;:::-;;:::i;17283:176::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;;;;;;;;;17363:22:::1;:33:::0;;;::::1;;-1:-1:-1::0;;;17363:33:0::1;-1:-1:-1::0;;;;17363:33:0;;::::1;;::::0;;17412:39:::1;::::0;::::1;::::0;::::1;::::0;17388:8;1538:14:1;1531:22;1513:41;;1501:2;1486:18;;1373:187;17412:39:0::1;;;;;;;;17283:176:::0;:::o;7721:100::-;7775:13;7808:5;7801:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7721:100;:::o;8701:194::-;8809:4;8826:39;6006:10;8849:7;8858:6;8826:8;:39::i;:::-;-1:-1:-1;8883:4:0;8701:194;;;;;:::o;8903:454::-;9043:4;9060:36;9070:6;9078:9;9089:6;9060:9;:36::i;:::-;9107:220;9130:6;6006:10;9178:138;9234:6;9178:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9178:19:0;;;;;;:11;:19;;;;;;;;6006:10;9178:33;;;;;;;;;;:37;:138::i;:::-;9107:8;:220::i;:::-;-1:-1:-1;9345:4:0;8903:454;;;;;:::o;9365:293::-;6006:10;9478:4;9567:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9567:34:0;;;;;;;;;;9478:4;;9495:133;;9545:7;;9567:50;;9606:10;9567:38;:50::i;16290:184::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;-1:-1:-1;;;;;16370:18:0::1;:7;-1:-1:-1::0;;;;;16370:18:0::1;::::0;16362:63:::1;;;::::0;-1:-1:-1;;;16362:63:0;;5190:2:1;16362:63:0::1;::::0;::::1;5172:21:1::0;5229:2;5209:18;;;5202:30;5268:34;5248:18;;;5241:62;-1:-1:-1;;;5319:18:1;;;5312:31;5360:19;;16362:63:0::1;4988:397:1::0;16362:63:0::1;-1:-1:-1::0;;;;;16436:23:0::1;;::::0;;;:14:::1;:23;::::0;;;;:30;;-1:-1:-1;;16436:30:0::1;16462:4;16436:30;::::0;;16290:184::o;15307:147::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15405:33:0;;;::::1;;::::0;;;:24:::1;:33;::::0;;;;:41;;-1:-1:-1;;15405:41:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15307:147::o;16042:115::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16118:23:0::1;16144:5;16118:23:::0;;;:14:::1;:23;::::0;;;;:31;;-1:-1:-1;;16118:31:0::1;::::0;;16042:115::o;16741:98::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;16811:12:::1;:20:::0;;-1:-1:-1;;;;;;16811:20:0::1;-1:-1:-1::0;;;;;16811:20:0;;;::::1;::::0;;;::::1;::::0;;16741:98::o;6602:148::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;6709:1:::1;6693:6:::0;;6672:40:::1;::::0;-1:-1:-1;;;;;6693:6:0;;::::1;::::0;6672:40:::1;::::0;6709:1;;6672:40:::1;6740:1;6723:19:::0;;-1:-1:-1;;;;;;6723:19:0::1;::::0;;6602:148::o;17134:141::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;17251:16:::1;8024:2:::0;17251::::1;:16;:::i;:::-;17242:25;::::0;:6;:25:::1;:::i;:::-;17216:23;:51:::0;-1:-1:-1;17134:141:0:o;16486:84::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;16541:14:::1;:21:::0;;-1:-1:-1;;;;16541:21:0::1;-1:-1:-1::0;;;16541:21:0::1;::::0;;16486:84::o;7829:104::-;7885:13;7918:7;7911:14;;;;;:::i;15462:151::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15562:35:0;;;::::1;;::::0;;;:26:::1;:35;::::0;;;;:43;;-1:-1:-1;;15562:43:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15462:151::o;16847:143::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;16966:16:::1;8024:2:::0;16966::::1;:16;:::i;:::-;16946:36;::::0;:17;:36:::1;:::i;:::-;16927:16;:55:::0;-1:-1:-1;16847:143:0:o;16578:155::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;16687:6:::1;:13:::0;;;;16711:7:::1;:14:::0;16578:155::o;9666:393::-;9784:4;9801:228;6006:10;9851:7;9873:145;9930:15;9873:145;;;;;;;;;;;;;;;;;6006:10;9873:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9873:34:0;;;;;;;;;;;;:38;:145::i;8309:200::-;8420:4;8437:42;6006:10;8461:9;8472:6;8437:9;:42::i;15140:159::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15256:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;15256:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15140:159::o;16998:128::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;17102:16:::1;8024:2:::0;17102::::1;:16;:::i;:::-;17088:30;::::0;:11;:30:::1;:::i;:::-;17073:12;:45:::0;-1:-1:-1;16998:128:0:o;6758:281::-;6425:7;6452:6;-1:-1:-1;;;;;6452:6:0;6006:10;6514:23;6506:68;;;;-1:-1:-1;;;6506:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6861:22:0;::::1;6839:110;;;::::0;-1:-1:-1;;;6839:110:0;;7280:2:1;6839:110:0::1;::::0;::::1;7262:21:1::0;7319:2;7299:18;;;7292:30;7358:34;7338:18;;;7331:62;-1:-1:-1;;;7409:18:1;;;7402:36;7455:19;;6839:110:0::1;7078:402:1::0;6839:110:0::1;6986:6;::::0;;6965:38:::1;::::0;-1:-1:-1;;;;;6965:38:0;;::::1;::::0;6986:6;::::1;::::0;6965:38:::1;::::0;::::1;7014:6;:17:::0;;-1:-1:-1;;;;;;7014:17:0::1;-1:-1:-1::0;;;;;7014:17:0;;;::::1;::::0;;;::::1;::::0;;6758:281::o;4975:98::-;5033:7;5060:5;5064:1;5060;:5;:::i;:::-;5053:12;4975:98;-1:-1:-1;;;4975:98:0:o;11534:380::-;-1:-1:-1;;;;;11670:19:0;;11662:68;;;;-1:-1:-1;;;11662:68:0;;7817:2:1;11662:68:0;;;7799:21:1;7856:2;7836:18;;;7829:30;7895:34;7875:18;;;7868:62;-1:-1:-1;;;7946:18:1;;;7939:34;7990:19;;11662:68:0;7615:400:1;11662:68:0;-1:-1:-1;;;;;11749:21:0;;11741:68;;;;-1:-1:-1;;;11741:68:0;;8222:2:1;11741:68:0;;;8204:21:1;8261:2;8241:18;;;8234:30;8300:34;8280:18;;;8273:62;-1:-1:-1;;;8351:18:1;;;8344:32;8393:19;;11741:68:0;8020:398:1;11741:68:0;-1:-1:-1;;;;;11822:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11874:32;;1711:25:1;;;11874:32:0;;1684:18:1;11874:32:0;;;;;;;;11534:380;;;:::o;17504:2711::-;-1:-1:-1;;;;;17637:20:0;;;;;;:14;:20;;;;;;;;17636:21;:44;;;;-1:-1:-1;;;;;;17662:18:0;;;;;;:14;:18;;;;;;;;17661:19;17636:44;17628:91;;;;-1:-1:-1;;;17628:91:0;;8625:2:1;17628:91:0;;;8607:21:1;8664:2;8644:18;;;8637:30;8703:34;8683:18;;;8676:62;-1:-1:-1;;;8754:18:1;;;8747:32;8796:19;;17628:91:0;8423:398:1;17628:91:0;-1:-1:-1;;;;;17738:18:0;;17730:68;;;;-1:-1:-1;;;17730:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17817:16:0;;17809:64;;;;-1:-1:-1;;;17809:64:0;;;;;;;:::i;:::-;17901:1;17892:6;:10;17884:64;;;;-1:-1:-1;;;17884:64:0;;9838:2:1;17884:64:0;;;9820:21:1;9877:2;9857:18;;;9850:30;9916:34;9896:18;;;9889:62;-1:-1:-1;;;9967:18:1;;;9960:39;10016:19;;17884:64:0;9636:405:1;17884:64:0;6425:7;6452:6;-1:-1:-1;;;;;17965:15:0;;;6452:6;;17965:15;;;;:34;;-1:-1:-1;17985:14:0;;-1:-1:-1;;;17985:14:0;;;;17984:15;17965:34;17961:120;;;18024:14;;-1:-1:-1;;;18024:14:0;;;;18016:53;;;;-1:-1:-1;;;18016:53:0;;10248:2:1;18016:53:0;;;10230:21:1;10287:2;10267:18;;;10260:30;10326:28;10306:18;;;10299:56;10372:18;;18016:53:0;10046:350:1;18016:53:0;6425:7;6452:6;-1:-1:-1;;;;;18097:15:0;;;6452:6;;18097:15;;;;:32;;-1:-1:-1;6425:7:0;6452:6;-1:-1:-1;;;;;18116:13:0;;;6452:6;;18116:13;;18097:32;18093:295;;;-1:-1:-1;;;;;18170:32:0;;;;;;:26;:32;;;;;;;;;:87;;-1:-1:-1;;;;;;18227:30:0;;;;;;:26;:30;;;;;;;;18170:87;:134;;;;18292:12;;18282:6;:22;;18170:134;18144:244;;;;-1:-1:-1;;;18144:244:0;;10603:2:1;18144:244:0;;;10585:21:1;10642:2;10622:18;;;10615:30;10681:34;10661:18;;;10654:62;-1:-1:-1;;;10732:18:1;;;10725:46;10788:19;;18144:244:0;10401:412:1;18144:244:0;6425:7;6452:6;-1:-1:-1;;;;;18419:15:0;;;6452:6;;18419:15;;;;:51;;-1:-1:-1;;;;;;18451:19:0;;18465:4;18451:19;;18419:51;:86;;;;-1:-1:-1;;;;;;18487:18:0;;13095:42;18487:18;;18419:86;:122;;;;-1:-1:-1;18528:13:0;;-1:-1:-1;;;;;18522:19:0;;;18528:13;;18522:19;;18419:122;18401:425;;;-1:-1:-1;;;;;8275:18:0;;18568:22;8275:18;;;:9;:18;;;;;;;;;18647:24;:28;;;;;;;;;;:98;;-1:-1:-1;18728:16:0;;18701:23;18718:6;18701:14;:23;:::i;:::-;:43;;18647:98;18621:193;;;;-1:-1:-1;;;18621:193:0;;11020:2:1;18621:193:0;;;11002:21:1;11059:2;11039:18;;;11032:30;11098:34;11078:18;;;11071:62;-1:-1:-1;;;11149:18:1;;;11142:31;11190:19;;18621:193:0;10818:397:1;18621:193:0;18553:273;18401:425;18887:4;18838:28;8275:18;;;:9;:18;;;;;;18968:23;;18931:60;;;;;;;19020:54;;-1:-1:-1;19057:17:0;;-1:-1:-1;;;19057:17:0;;;;19056:18;19020:54;:92;;;;-1:-1:-1;19099:13:0;;-1:-1:-1;;;;;19091:21:0;;;19099:13;;19091:21;;19020:92;:131;;;;-1:-1:-1;19129:22:0;;-1:-1:-1;;;19129:22:0;;;;19020:131;19002:279;;;19201:23;;19178:46;;19239:30;19248:20;19239:8;:30::i;:::-;-1:-1:-1;;;;;19327:24:0;;19293:12;19327:24;;;:18;:24;;;;;;19308:4;;19327:24;;;:50;;-1:-1:-1;;;;;;19355:22:0;;;;;;:18;:22;;;;;;;;19327:50;19323:885;;;19394:33;19410:4;19416:2;19420:6;19394:15;:33::i;:::-;-1:-1:-1;19452:5:0;19323:885;;;19502:13;;-1:-1:-1;;;;;19502:13:0;;;19494:21;;;;19490:707;;19536:23;19562:27;19585:3;19562:18;19573:6;;19562;:10;;:18;;;;:::i;:::-;:22;;:27::i;:::-;19536:53;-1:-1:-1;19617:27:0;:6;19536:53;19617:10;:27::i;:::-;19608:36;;19663:53;19679:4;19693;19700:15;19663;:53::i;:::-;19735:33;19751:4;19757:2;19761:6;19735:15;:33::i;:::-;19517:267;19490:707;;;19800:13;;-1:-1:-1;;;;;19800:13:0;;;19794:19;;;;19790:407;;19834:23;19860:68;19906:3;19860:19;19871:7;;19860:6;:10;;:19;;;;:::i;19790:407::-;20148:33;20164:4;20170:2;20174:6;20148:15;:33::i;:::-;17617:2598;;;17504:2711;;;:::o;5399:240::-;5519:7;5580:12;5572:6;;;;5564:29;;;;-1:-1:-1;;;5564:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;5615:5:0;;;5399:240::o;20223:643::-;13828:17;:24;;-1:-1:-1;;;;13828:24:0;-1:-1:-1;;;13828:24:0;;;20343:7:::1;::::0;13828:24;;20323:61:::1;::::0;20370:3:::1;::::0;20323:28:::1;::::0;:15;;:19:::1;:28::i;:61::-;20297:87:::0;-1:-1:-1;20297:87:0;20453:20;;;:46:::1;;-1:-1:-1::0;20477:22:0;;20453:46:::1;20449:85;;;20516:7;;;;20449:85;20544:12;20567:33;20584:15;20567:16;:33::i;:::-;20632:21;20611:18;20737:17:::0;20691:28:::1;20704:15:::0;20632:21;20691:28:::1;:::i;:::-;20690:65;;;;:::i;:::-;20788:12;::::0;20780:78:::1;::::0;20664:91;;-1:-1:-1;;;;;;20788:12:0::1;::::0;20664:91;;20780:78:::1;::::0;;;20664:91;20788:12;20780:78:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;;13863:1:0::1;-1:-1:-1::0;13875:17:0;:25;;-1:-1:-1;;;;13875:25:0;;;20223:643::o;10067:610::-;-1:-1:-1;;;;;10207:20:0;;10199:70;;;;-1:-1:-1;;;10199:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10288:23:0;;10280:71;;;;-1:-1:-1;;;10280:71:0;;;;;;;:::i;:::-;10444:108;10480:6;10444:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10444:17:0;;;;;;:9;:17;;;;;;;:108;:21;:108::i;:::-;-1:-1:-1;;;;;10424:17:0;;;;;;;:9;:17;;;;;;:128;;;;10586:20;;;;;;;:32;;10611:6;10586:24;:32::i;:::-;-1:-1:-1;;;;;10563:20:0;;;;;;;:9;:20;;;;;;;:55;;;;10634:35;;;;;;;;;;10662:6;1711:25:1;;1699:2;1684:18;;1565:177;5187:98:0;5245:7;5272:5;5276:1;5272;:5;:::i;5293:98::-;5351:7;5378:5;5382:1;5378;:5;:::i;5081:98::-;5139:7;5166:5;5170:1;5166;:5;:::i;20874:499::-;20964:16;;;20978:1;20964:16;;;;;;;;20940:21;;20964:16;;;;;;;;;;-1:-1:-1;20964:16:0;20940:40;;21009:4;20991;20996:1;20991:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20991:23:0;;;:7;;;;;;;;;;:23;;;;21035:15;;:22;;;-1:-1:-1;;;21035:22:0;;;;:15;;;;;:20;;:22;;;;;20991:7;;21035:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21025:4;21030:1;21025:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21025:32:0;;;:7;;;;;;;;;:32;21100:15;;21068:62;;21085:4;;21100:15;21118:11;21068:8;:62::i;:::-;21141:15;;:224;;-1:-1:-1;;;21141:224:0;;-1:-1:-1;;;;;21141:15:0;;;;:66;;:224;;21222:11;;21141:15;;21292:4;;21319;;21339:15;;21141:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:160:1;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:180::-;235:6;288:2;276:9;267:7;263:23;259:32;256:52;;;304:1;301;294:12;256:52;327:26;343:9;327:26;:::i;364:548::-;476:4;505:2;534;523:9;516:21;566:6;560:13;609:6;604:2;593:9;589:18;582:34;634:1;644:140;658:6;655:1;652:13;644:140;;;753:14;;;749:23;;743:30;719:17;;;738:2;715:26;708:66;673:10;;644:140;;;648:3;833:1;828:2;819:6;808:9;804:22;800:31;793:42;903:2;896;892:7;887:2;879:6;875:15;871:29;860:9;856:45;852:54;844:62;;;;364:548;;;;:::o;917:131::-;-1:-1:-1;;;;;992:31:1;;982:42;;972:70;;1038:1;1035;1028:12;972:70;917:131;:::o;1053:315::-;1121:6;1129;1182:2;1170:9;1161:7;1157:23;1153:32;1150:52;;;1198:1;1195;1188:12;1150:52;1237:9;1224:23;1256:31;1281:5;1256:31;:::i;:::-;1306:5;1358:2;1343:18;;;;1330:32;;-1:-1:-1;;;1053:315:1:o;1981:456::-;2058:6;2066;2074;2127:2;2115:9;2106:7;2102:23;2098:32;2095:52;;;2143:1;2140;2133:12;2095:52;2182:9;2169:23;2201:31;2226:5;2201:31;:::i;:::-;2251:5;-1:-1:-1;2308:2:1;2293:18;;2280:32;2321:33;2280:32;2321:33;:::i;:::-;1981:456;;2373:7;;-1:-1:-1;;;2427:2:1;2412:18;;;;2399:32;;1981:456::o;2631:247::-;2690:6;2743:2;2731:9;2722:7;2718:23;2714:32;2711:52;;;2759:1;2756;2749:12;2711:52;2798:9;2785:23;2817:31;2842:5;2817:31;:::i;2883:315::-;2948:6;2956;3009:2;2997:9;2988:7;2984:23;2980:32;2977:52;;;3025:1;3022;3015:12;2977:52;3064:9;3051:23;3083:31;3108:5;3083:31;:::i;:::-;3133:5;-1:-1:-1;3157:35:1;3188:2;3173:18;;3157:35;:::i;:::-;3147:45;;2883:315;;;;;:::o;3411:180::-;3470:6;3523:2;3511:9;3502:7;3498:23;3494:32;3491:52;;;3539:1;3536;3529:12;3491:52;-1:-1:-1;3562:23:1;;3411:180;-1:-1:-1;3411:180:1:o;3596:248::-;3664:6;3672;3725:2;3713:9;3704:7;3700:23;3696:32;3693:52;;;3741:1;3738;3731:12;3693:52;-1:-1:-1;;3764:23:1;;;3834:2;3819:18;;;3806:32;;-1:-1:-1;3596:248:1:o;3849:388::-;3917:6;3925;3978:2;3966:9;3957:7;3953:23;3949:32;3946:52;;;3994:1;3991;3984:12;3946:52;4033:9;4020:23;4052:31;4077:5;4052:31;:::i;:::-;4102:5;-1:-1:-1;4159:2:1;4144:18;;4131:32;4172:33;4131:32;4172:33;:::i;:::-;4224:7;4214:17;;;3849:388;;;;;:::o;4242:356::-;4444:2;4426:21;;;4463:18;;;4456:30;4522:34;4517:2;4502:18;;4495:62;4589:2;4574:18;;4242:356::o;4603:380::-;4682:1;4678:12;;;;4725;;;4746:61;;4800:4;4792:6;4788:17;4778:27;;4746:61;4853:2;4845:6;4842:14;4822:18;4819:38;4816:161;;4899:10;4894:3;4890:20;4887:1;4880:31;4934:4;4931:1;4924:15;4962:4;4959:1;4952:15;4816:161;;4603:380;;;:::o;5390:127::-;5451:10;5446:3;5442:20;5439:1;5432:31;5482:4;5479:1;5472:15;5506:4;5503:1;5496:15;5522:422;5611:1;5654:5;5611:1;5668:270;5689:7;5679:8;5676:21;5668:270;;;5748:4;5744:1;5740:6;5736:17;5730:4;5727:27;5724:53;;;5757:18;;:::i;:::-;5807:7;5797:8;5793:22;5790:55;;;5827:16;;;;5790:55;5906:22;;;;5866:15;;;;5668:270;;;5672:3;5522:422;;;;;:::o;5949:806::-;5998:5;6028:8;6018:80;;-1:-1:-1;6069:1:1;6083:5;;6018:80;6117:4;6107:76;;-1:-1:-1;6154:1:1;6168:5;;6107:76;6199:4;6217:1;6212:59;;;;6285:1;6280:130;;;;6192:218;;6212:59;6242:1;6233:10;;6256:5;;;6280:130;6317:3;6307:8;6304:17;6301:43;;;6324:18;;:::i;:::-;-1:-1:-1;;6380:1:1;6366:16;;6395:5;;6192:218;;6494:2;6484:8;6481:16;6475:3;6469:4;6466:13;6462:36;6456:2;6446:8;6443:16;6438:2;6432:4;6429:12;6425:35;6422:77;6419:159;;;-1:-1:-1;6531:19:1;;;6563:5;;6419:159;6610:34;6635:8;6629:4;6610:34;:::i;:::-;6680:6;6676:1;6672:6;6668:19;6659:7;6656:32;6653:58;;;6691:18;;:::i;:::-;6729:20;;5949:806;-1:-1:-1;;;5949:806:1:o;6760:140::-;6818:5;6847:47;6888:4;6878:8;6874:19;6868:4;6847:47;:::i;6905:168::-;6945:7;7011:1;7007;7003:6;6999:14;6996:1;6993:21;6988:1;6981:9;6974:17;6970:45;6967:71;;;7018:18;;:::i;:::-;-1:-1:-1;7058:9:1;;6905:168::o;7485:125::-;7550:9;;;7571:10;;;7568:36;;;7584:18;;:::i;8826:401::-;9028:2;9010:21;;;9067:2;9047:18;;;9040:30;9106:34;9101:2;9086:18;;9079:62;-1:-1:-1;;;9172:2:1;9157:18;;9150:35;9217:3;9202:19;;8826:401::o;9232:399::-;9434:2;9416:21;;;9473:2;9453:18;;;9446:30;9512:34;9507:2;9492:18;;9485:62;-1:-1:-1;;;9578:2:1;9563:18;;9556:33;9621:3;9606:19;;9232:399::o;11220:217::-;11260:1;11286;11276:132;;11330:10;11325:3;11321:20;11318:1;11311:31;11365:4;11362:1;11355:15;11393:4;11390:1;11383:15;11276:132;-1:-1:-1;11422:9:1;;11220:217::o;11652:128::-;11719:9;;;11740:11;;;11737:37;;;11754:18;;:::i;11917:127::-;11978:10;11973:3;11969:20;11966:1;11959:31;12009:4;12006:1;11999:15;12033:4;12030:1;12023:15;12049:251;12119:6;12172:2;12160:9;12151:7;12147:23;12143:32;12140:52;;;12188:1;12185;12178:12;12140:52;12220:9;12214:16;12239:31;12264:5;12239:31;:::i;12305:980::-;12567:4;12615:3;12604:9;12600:19;12646:6;12635:9;12628:25;12672:2;12710:6;12705:2;12694:9;12690:18;12683:34;12753:3;12748:2;12737:9;12733:18;12726:31;12777:6;12812;12806:13;12843:6;12835;12828:22;12881:3;12870:9;12866:19;12859:26;;12920:2;12912:6;12908:15;12894:29;;12941:1;12951:195;12965:6;12962:1;12959:13;12951:195;;;13030:13;;-1:-1:-1;;;;;13026:39:1;13014:52;;13121:15;;;;13086:12;;;;13062:1;12980:9;12951:195;;;-1:-1:-1;;;;;;;13202:32:1;;;;13197:2;13182:18;;13175:60;-1:-1:-1;;;13266:3:1;13251:19;13244:35;13163:3;12305:980;-1:-1:-1;;;12305:980:1:o

Swarm Source

ipfs://227ff8db5a2e97abb9126a5bd8ae220273f7c75283b1f0d824306101a91e6720
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.