ETH Price: $3,377.08 (-8.18%)

Token

Kingdom (KNDM)
 

Overview

Max Total Supply

400,000,000,000 KNDM

Holders

927

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
26,060,369.042447310946957154 KNDM

Value
$0.00
0x49ad3a2d26c441e1b93a99f349dd5e4f34c696af
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:
KingdomToken

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

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

/*

Kingdom (KNDM)

Twitter: https://twitter.com/kingdomerc

Tg: https://t.me/KingdomEntry

Website: https://kingdometh.com

Whitepaper: https://kingdometh.com/whitepaper

*/

abstract contract Ownable {
    address private _owner;
    address private _dev;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event DevTransferred(address indexed previousDev, address indexed newDev);

    constructor(address owner_, address dev_) {
        _transferOwnership(owner_);
        _transferDev(dev_);
    }

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

    function dev() public view virtual returns (address) {
        return _dev;
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    function _transferDev(address newDev) internal virtual {
        address oldDev = _dev;
        _dev = newDev;
        emit DevTransferred(oldDev, newDev);
    }

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

    function transferDev(address newDev) public virtual onlyDev {
        require(newDev != address(0), "Ownable: new dev is the zero address");
        _transferDev(newDev);
    }

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

    modifier onlyDev() {
        require(dev() == msg.sender, "Ownable: caller is not the dev");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function renounceDev() public virtual onlyDev {
        _transferDev(address(0));
    }

}

interface IERC20 {

    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);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function totalSupply() external view returns (uint256);
    event Transfer(address indexed from, address indexed to, uint256 value);

}

interface IERC20Metadata is IERC20 {

    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function decimals() external view returns (uint8);

}

contract ERC20 is IERC20, IERC20Metadata {

    string private _symbol;
    string private _name;


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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount, "ERC20: transfer amount greater than allowance");
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }

        return true;
    }

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

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

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

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

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

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from zero address");
        require(recipient != address(0), "ERC20: transfer to zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount greater than balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

    }

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

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

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

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

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

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

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[msg.sender][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(msg.sender, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

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

}

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

interface IUniswapV2Router02 {
    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 KingdomToken is ERC20, Ownable {

    address public LPTokenReceiver;
    address public marketingReceiver;
    address public devReceiver;
    uint256 public minimumDevFee = 5;

    uint256 public buyTotalFees;
    uint256 public sellTotalFees;

    uint256 public buyMarketingFee;
    uint256 public buyDevFee;
    uint256 public buyLiquidityFee;

    uint256 public sellMarketingFee;
    uint256 public sellDevFee;
    uint256 public sellLiquidityFee;

    uint256 public tokensForMarketing;
    uint256 public tokensForDev;
    uint256 public tokensForLiquidity;

    IUniswapV2Router02 public router;
    address public liquidityPair;

    mapping(address => bool) public isAMM;

    uint256 public maxTransactionAmount;
    uint256 public maxWallet;

    mapping(address => bool) private isExcludedFromFee;
    mapping(address => bool) public isExcludedFromWalletLimits;

    uint256 public feeDenominator = 1000;
    
    bool private swapping;
    bool public limitsInEffect = true;

    // This feature can only be enabled and not disabled.
    // Enabling these will cap the buy or sell fee to some value
    // a value of 50 => 5% max. A value of 150 => 15% max
    bool maxSellFeeSet = false;
    bool maxBuyFeeSet = false;
    uint256 maxSellFee;
    uint256 maxBuyFee;

    bool public airdropComplete = false;
    bool public vestingFinished = false;

    mapping(address => uint256) public airdropAmount;
    uint256 public launchTime;
    uint256 public vestingPeriods = 20;
    uint256 public vestingPercent = 5;

    constructor(
        address router_,
        address LPTokenReceiver_,
        address marketingReceiver_,
        address devReceiver_
    ) ERC20("Kingdom", "KNDM") Ownable(msg.sender, msg.sender) {

        LPTokenReceiver = LPTokenReceiver_;
        devReceiver = devReceiver_;
        marketingReceiver = marketingReceiver_;

        router = IUniswapV2Router02(router_);

        liquidityPair = IUniswapV2Factory(
            router.factory()
        ).createPair(
            address(this),
            router.WETH()
        );

        isAMM[liquidityPair] = true;

        isExcludedFromWalletLimits[address(liquidityPair)] = true;
        isExcludedFromWalletLimits[address(router)] = true;        
        isExcludedFromWalletLimits[address(this)] = true;
        isExcludedFromWalletLimits[address(0xdead)] = true;
        isExcludedFromWalletLimits[msg.sender] = true;
        isExcludedFromWalletLimits[LPTokenReceiver] = true;

        uint256 totalSupply = 400_000_000_000 * 1e18;
        
        buyMarketingFee = 55;
        buyDevFee = 5;
        buyLiquidityFee = 20;

        sellMarketingFee = 55;
        sellDevFee = 5;
        sellLiquidityFee = 20;

        buyTotalFees = buyMarketingFee + buyDevFee + buyLiquidityFee;
        sellTotalFees = sellMarketingFee + sellDevFee + sellLiquidityFee;

        isExcludedFromFee[address(0xdead)] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[msg.sender] = true;
        isExcludedFromFee[LPTokenReceiver] = true;

        maxTransactionAmount = totalSupply * 5 / 1000;
        maxWallet = totalSupply * 10 / 1000;

        /*
            _mint is an internal function in ERC20.sol that is only called here,
            and CANNOT be called ever again
        */
        _mint(msg.sender, totalSupply);
    }

    receive() external payable {}

    function airdropTokens(address[] calldata holders, uint256[] calldata amounts) external onlyOwner {
        require(!airdropComplete);

        for (uint i=0; i<holders.length; i++) {
            super._transfer(address(this), holders[i], amounts[i]);
            airdropAmount[holders[i]] += amounts[i];
        }
    }

    function finalizeAirdrop() external onlyOwner {
        require(!airdropComplete);
        airdropComplete = true;
    }

    function addLiquidity(uint256 tokenAmount) external payable onlyOwner {
        _addLiquidity(tokenAmount, msg.value);
        launchTime = block.timestamp;
    }

    function setBuyFees(uint256 marketingFee, uint256 devFee, uint256 liquidityFee) external onlyOwner {
        require(devFee >= minimumDevFee);
        buyMarketingFee = marketingFee;
        buyDevFee = devFee;
        buyLiquidityFee = liquidityFee;

        buyTotalFees = buyMarketingFee + buyDevFee + buyLiquidityFee;

        if (maxBuyFeeSet) {
            require(buyTotalFees <= maxBuyFee);
        }

    }

    function setSellFees(uint256 marketingFee, uint256 devFee, uint256 liquidityFee) external onlyOwner {
        require(devFee >= minimumDevFee);
        sellMarketingFee = marketingFee;
        sellDevFee = devFee;
        sellLiquidityFee = liquidityFee;

        sellTotalFees = sellMarketingFee + sellDevFee + sellLiquidityFee;

        if (maxSellFeeSet) {
            require(sellTotalFees <= maxSellFee);
        }

    }

    function setLimits(uint256 maxTransactionAmount_, uint256 maxWallet_) external onlyOwner {
        maxTransactionAmount = maxTransactionAmount_;
        maxWallet = maxWallet_;
    }

    function removeLimits() external onlyOwner {
        require(limitsInEffect);
        limitsInEffect = false;
    }

    function setLPTokenReceiver(address newReceiver) external onlyOwner {
        require(LPTokenReceiver != newReceiver);
        LPTokenReceiver = newReceiver;
    }

    function setMarketingReceiver(address newReceiver) external onlyOwner {
        require(marketingReceiver != newReceiver);
        marketingReceiver = newReceiver;
    }

    function setDevReceiver(address newReceiver) external onlyDev {
        require(devReceiver != newReceiver);
        devReceiver = newReceiver;
    }

    function setMinimumDevFee(uint256 minFee) external onlyDev {
        require(minFee < minimumDevFee);     // Dev fee minimum can only be lowered, not raised
        minimumDevFee = minFee;
    }

    function setAMM(address ammAddress, bool isAMM_) external onlyOwner {
        isAMM[ammAddress] = isAMM_;
    }

    function setWalletExcludedFromLimits(address wallet, bool isExcluded) external onlyOwner {
        isExcludedFromWalletLimits[wallet] = isExcluded;
    }

    function setWalletExcludedFromFees(address wallet, bool isExcluded) external onlyOwner {
        isExcludedFromFee[wallet] = isExcluded;
    }

    function setRouter(address router_) external onlyOwner {
        router = IUniswapV2Router02(router_);
    }

    function setLiquidityPair(address pairAddress) external onlyOwner {
        liquidityPair = pairAddress;
    }

    function enableMaxSellFeeLimit(uint256 limit) external onlyOwner {
        require(limit <= feeDenominator && limit < maxSellFee);
        maxSellFee = limit;
        maxSellFeeSet = true;
    }

    function enableMaxBuyFeeLimit(uint256 limit) external onlyOwner {
        require(limit <= feeDenominator && limit < maxBuyFee);
        maxBuyFee = limit;
        maxBuyFeeSet = true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0xdead) &&
                !swapping
            ) {

                if (
                    isAMM[from] &&
                    !isExcludedFromWalletLimits[to]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "!maxTransactionAmount."
                    );
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "!maxWallet"
                    );
                }

                else if (
                    isAMM[to] &&
                    !isExcludedFromWalletLimits[from]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "!maxTransactionAmount."
                    );
                } else if (!isExcludedFromWalletLimits[to]) {
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "!maxWallet"
                    );
                }

            }
        }

        if (!vestingFinished) {            
            uint256 airdroppedTokenAmount = airdropAmount[from];

            if (airdroppedTokenAmount > 0) {
                
                uint256 elapsedPeriods = (block.timestamp - launchTime) / 86400;

                if (elapsedPeriods < vestingPeriods) {
                    uint256 minimumBalance = airdroppedTokenAmount - (
                        // a number ranging from 0 to 100
                        elapsedPeriods * vestingPercent
                        * airdroppedTokenAmount
                        / 100
                    );
                    require(balanceOf(from) - amount >= minimumBalance);
                } else {
                    vestingFinished = true;
                }
            }
        }

        bool takeFee = !swapping;

        if (isExcludedFromFee[from] || isExcludedFromFee[to]) {
            takeFee = false;
        }

        if (takeFee) {

            uint256 fees = 0;

            if (isAMM[to] && sellTotalFees > 0) {
                uint256 newTokensForDev = amount * sellDevFee / feeDenominator;
                uint256 newTokensForMarketing = amount * sellMarketingFee / feeDenominator;
                uint256 newTokensForLiquidity = amount * sellLiquidityFee / feeDenominator;

                fees = newTokensForDev + newTokensForMarketing + newTokensForLiquidity;

                tokensForDev += newTokensForDev;
                tokensForMarketing += newTokensForMarketing;
                tokensForLiquidity += newTokensForLiquidity;
            }

            else if (isAMM[from] && buyTotalFees > 0) {
                uint256 newTokensForDev = amount * buyDevFee / feeDenominator;
                uint256 newTokensForMarketing = amount * buyMarketingFee / feeDenominator;
                uint256 newTokensForLiquidity = amount * buyLiquidityFee / feeDenominator;

                fees = newTokensForDev + newTokensForMarketing + newTokensForLiquidity;

                tokensForDev += newTokensForDev;
                tokensForMarketing += newTokensForMarketing;
                tokensForLiquidity += newTokensForLiquidity;
            }

            if (fees > 0) {
                super._transfer(from, address(this), fees);
                amount -= fees;
            }
        }

        if (
            !swapping &&
            from != liquidityPair &&
            !isExcludedFromFee[from] &&
            !isExcludedFromFee[to]
        ) {
            swapping = true;

            swapBack();

            swapping = false;
        }


        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) internal {
        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 swapBack() internal {
        if (tokensForLiquidity + tokensForDev + tokensForMarketing == 0) {
            return;
        }

        uint256 liquidity = tokensForLiquidity / 2;
        uint256 amountToSwapForETH = tokensForDev + tokensForMarketing + (tokensForLiquidity - liquidity);
        swapTokensForEth(amountToSwapForETH);

        uint256 ethForLiquidity = address(this).balance * (tokensForLiquidity - liquidity) / amountToSwapForETH;

        if (liquidity > 0 && ethForLiquidity > 0) {
            _addLiquidity(liquidity, ethForLiquidity);
        }

        if (tokensForMarketing + tokensForDev > 0) {
            uint256 remainingBalance = address(this).balance;
            uint256 amountForMarketing = remainingBalance * tokensForMarketing / (tokensForMarketing + tokensForDev);
            uint256 amountForDev = remainingBalance - amountForMarketing;
            
            if (amountForMarketing > 0) {
                marketingReceiver.call{value: amountForMarketing}("");    
            }

            if (amountForDev > 0) {
                devReceiver.call{value: amountForDev}("");    
            }
        }

        tokensForLiquidity = 0;
        tokensForDev = 0;
        tokensForMarketing = 0;
    }

    function _addLiquidity(uint256 tokenAmount, uint256 ethAmount) internal {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            LPTokenReceiver,
            block.timestamp
        );
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router_","type":"address"},{"internalType":"address","name":"LPTokenReceiver_","type":"address"},{"internalType":"address","name":"marketingReceiver_","type":"address"},{"internalType":"address","name":"devReceiver_","type":"address"}],"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":"previousDev","type":"address"},{"indexed":true,"internalType":"address","name":"newDev","type":"address"}],"name":"DevTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"LPTokenReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"airdropAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdropComplete","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"holders","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdropTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dev","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"enableMaxBuyFeeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"enableMaxSellFeeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalizeAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isAMM","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromWalletLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumDevFee","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ammAddress","type":"address"},{"internalType":"bool","name":"isAMM_","type":"bool"}],"name":"setAMM","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"devFee","type":"uint256"},{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newReceiver","type":"address"}],"name":"setDevReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newReceiver","type":"address"}],"name":"setLPTokenReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTransactionAmount_","type":"uint256"},{"internalType":"uint256","name":"maxWallet_","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pairAddress","type":"address"}],"name":"setLiquidityPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newReceiver","type":"address"}],"name":"setMarketingReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minFee","type":"uint256"}],"name":"setMinimumDevFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"router_","type":"address"}],"name":"setRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"devFee","type":"uint256"},{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"setWalletExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"setWalletExcludedFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newDev","type":"address"}],"name":"transferDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vestingFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingPeriods","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526005600a8190556103e8601d55601e805463ffffff0019166101001790556021805461ffff1916905560146024556025553480156200004257600080fd5b50604051620033773803806200337783398101604081905262000065916200062e565b3333604051806040016040528060078152602001664b696e67646f6d60c81b815250604051806040016040528060048152602001634b4e444d60e01b8152508160019081620000b5919062000730565b506000620000c4828262000730565b505050620000d8826200048560201b60201c565b620000e381620004d7565b5050600780546001600160a01b038086166001600160a01b03199283161790925560098054848416908316179055600880548584169083161790556016805492871692909116821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000169573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018f9190620007fc565b6001600160a01b031663c9c6539630601660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002189190620007fc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000266573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028c9190620007fc565b601780546001600160a01b0319166001600160a01b0392831690811782556000908152601860209081526040808320805460ff199081166001908117909255945486168452601c909252808320805485168317905560165485168352808320805485168317905530835280832080548516831790557fa48bd8e7b1565515cde2859b6cc48308ba05b5325bcf90fb096b9ac0b8087dfc805485168317905533835280832080548516831790556007549094168252929020805490911690911790556037600d8190556005600e8190556014600f8190556010839055601182905560128190556c050c783eb9b5c85f2a800000009290916200038d9162000837565b62000399919062000837565b600b55601254601154601054620003b1919062000837565b620003bd919062000837565b600c55601b6020527f6790d4910a095e0e04c8daa388834616a295bac3f59038957b6d0b93a2d216848054600160ff1991821681179092553060009081526040808220805484168517905533825280822080548416851790556007546001600160a01b031682529020805490911690911790556103e86200044082600562000853565b6200044c91906200086d565b6019556103e86200045f82600a62000853565b6200046b91906200086d565b601a556200047a338262000529565b505050505062000890565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0a7a876011ed454af2a81330188fddbd93c5cb571ff0ab73fbd5f4f9c8ee477e90600090a35050565b6001600160a01b038216620005845760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806003600082825462000598919062000837565b90915550506001600160a01b03821660009081526004602052604081208054839290620005c790849062000837565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b80516001600160a01b03811681146200062957600080fd5b919050565b600080600080608085870312156200064557600080fd5b620006508562000611565b9350620006606020860162000611565b9250620006706040860162000611565b9150620006806060860162000611565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006b657607f821691505b602082108103620006d757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200072b57600081815260208120601f850160051c81016020861015620007065750805b601f850160051c820191505b81811015620007275782815560010162000712565b5050505b505050565b81516001600160401b038111156200074c576200074c6200068b565b62000764816200075d8454620006a1565b84620006dd565b602080601f8311600181146200079c5760008415620007835750858301515b600019600386901b1c1916600185901b17855562000727565b600085815260208120601f198616915b82811015620007cd57888601518255948401946001909101908401620007ac565b5085821015620007ec5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200080f57600080fd5b6200081a8262000611565b9392505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200084d576200084d62000821565b92915050565b80820281158282048414176200084d576200084d62000821565b6000826200088b57634e487b7160e01b600052601260045260246000fd5b500490565b612ad780620008a06000396000f3fe6080604052600436106103c75760003560e01c80638d67cffe116101f2578063c0d786551161010d578063e219558e116100a0578063f63743421161006f578063f637434214610b0a578063f887ea4014610b20578063f8b45b0514610b40578063fdc149ef14610b5657600080fd5b8063e219558e14610a94578063e99ab6f914610ab4578063f11a24d314610ad4578063f2fde38b14610aea57600080fd5b8063d46b6a30116100dc578063d46b6a30146109e8578063d6498bc214610a18578063d85ba06314610a38578063dd62ed3e14610a4e57600080fd5b8063c0d786551461097c578063c4590d3f1461099c578063c8c8ebe4146109bc578063ccf2cf80146109d257600080fd5b80639fccce3211610185578063a5949bcf11610154578063a5949bcf146108ef578063a9059cbb1461090f578063a9d3cd8a1461092f578063b530dc8c1461094f57600080fd5b80639fccce32146108835780639ff84a9814610899578063a0d82dc5146108b9578063a457c2d7146108cf57600080fd5b806392136913116101c1578063921369131461082257806395d89b41146108385780639c3b4fdc1461084d5780639d93598e1461086357600080fd5b80638d67cffe146107a65780638da5cb5b146107c65780638e89cf4d146107e457806391cca3db1461080457600080fd5b806339509351116102e2578063706f69371161027557806375b625321161024457806375b625321461073a578063790ca4131461075a5780637bce5a0414610770578063808a54571461078657600080fd5b8063706f6937146106ba57806370a08231146106da578063715018a614610710578063751039fc1461072557600080fd5b80636940213a116102b15780636940213a1461063a578063696635871461066a5780636a486a8e146106845780636f9a880e1461069a57600080fd5b806339509351146105d25780633aeb6c71146105f25780634a62bb651461060857806351c6590a1461062757600080fd5b80631a8145bb1161035a578063313ce56711610329578063313ce56714610562578063328873601461057e578063332ca4f214610593578063388ac95b146105b357600080fd5b80631a8145bb146104de5780631f3fed8f146104f457806323b872dd1461050a57806323c04d9d1461052a57600080fd5b80630e99dcad116103965780630e99dcad146104655780630f683e9014610485578063180b0d7e146104a557806318160ddd146104c957600080fd5b806306fdde03146103d3578063076b44d3146103fe578063095ea7b3146104155780630d075d9c1461044557600080fd5b366103ce57005b600080fd5b3480156103df57600080fd5b506103e8610b6c565b6040516103f5919061261c565b60405180910390f35b34801561040a57600080fd5b50610413610bfe565b005b34801561042157600080fd5b5061043561043036600461267f565b610c4c565b60405190151581526020016103f5565b34801561045157600080fd5b506104136104603660046126ab565b610c63565b34801561047157600080fd5b506104136104803660046126d7565b610cfa565b34801561049157600080fd5b506104136104a03660046126ab565b610d6f565b3480156104b157600080fd5b506104bb601d5481565b6040519081526020016103f5565b3480156104d557600080fd5b506003546104bb565b3480156104ea57600080fd5b506104bb60155481565b34801561050057600080fd5b506104bb60135481565b34801561051657600080fd5b506104356105253660046126fb565b610e00565b34801561053657600080fd5b5060075461054a906001600160a01b031681565b6040516001600160a01b0390911681526020016103f5565b34801561056e57600080fd5b50604051601281526020016103f5565b34801561058a57600080fd5b50610413610eaf565b34801561059f57600080fd5b506104136105ae3660046126d7565b610f07565b3480156105bf57600080fd5b5060215461043590610100900460ff1681565b3480156105de57600080fd5b506104356105ed36600461267f565b610fae565b3480156105fe57600080fd5b506104bb60255481565b34801561061457600080fd5b50601e5461043590610100900460ff1681565b61041361063536600461273c565b610fea565b34801561064657600080fd5b506104356106553660046126d7565b601c6020526000908152604090205460ff1681565b34801561067657600080fd5b506021546104359060ff1681565b34801561069057600080fd5b506104bb600c5481565b3480156106a657600080fd5b5060095461054a906001600160a01b031681565b3480156106c657600080fd5b506104136106d53660046127a1565b611034565b3480156106e657600080fd5b506104bb6106f53660046126d7565b6001600160a01b031660009081526004602052604090205490565b34801561071c57600080fd5b50610413611163565b34801561073157600080fd5b506104136111a6565b34801561074657600080fd5b506104136107553660046126d7565b611200565b34801561076657600080fd5b506104bb60235481565b34801561077c57600080fd5b506104bb600d5481565b34801561079257600080fd5b5060175461054a906001600160a01b031681565b3480156107b257600080fd5b506104136107c136600461273c565b611275565b3480156107d257600080fd5b506005546001600160a01b031661054a565b3480156107f057600080fd5b506104136107ff36600461280d565b6112e0565b34801561081057600080fd5b506006546001600160a01b031661054a565b34801561082e57600080fd5b506104bb60105481565b34801561084457600080fd5b506103e8611344565b34801561085957600080fd5b506104bb600e5481565b34801561086f57600080fd5b5061041361087e3660046126d7565b611353565b34801561088f57600080fd5b506104bb60145481565b3480156108a557600080fd5b506104136108b43660046126d7565b6113ae565b3480156108c557600080fd5b506104bb60115481565b3480156108db57600080fd5b506104356108ea36600461267f565b611423565b3480156108fb57600080fd5b5060085461054a906001600160a01b031681565b34801561091b57600080fd5b5061043561092a36600461267f565b6114bc565b34801561093b57600080fd5b5061041361094a36600461280d565b6114c9565b34801561095b57600080fd5b506104bb61096a3660046126d7565b60226020526000908152604090205481565b34801561098857600080fd5b506104136109973660046126d7565b61152d565b3480156109a857600080fd5b506104136109b736600461284b565b611588565b3480156109c857600080fd5b506104bb60195481565b3480156109de57600080fd5b506104bb600a5481565b3480156109f457600080fd5b50610435610a033660046126d7565b60186020526000908152604090205460ff1681565b348015610a2457600080fd5b50610413610a3336600461280d565b6115cc565b348015610a4457600080fd5b506104bb600b5481565b348015610a5a57600080fd5b506104bb610a6936600461286d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610aa057600080fd5b50610413610aaf36600461273c565b611630565b348015610ac057600080fd5b50610413610acf36600461273c565b61169d565b348015610ae057600080fd5b506104bb600f5481565b348015610af657600080fd5b50610413610b053660046126d7565b6116e9565b348015610b1657600080fd5b506104bb60125481565b348015610b2c57600080fd5b5060165461054a906001600160a01b031681565b348015610b4c57600080fd5b506104bb601a5481565b348015610b6257600080fd5b506104bb60245481565b606060018054610b7b9061289b565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba79061289b565b8015610bf45780601f10610bc957610100808354040283529160200191610bf4565b820191906000526020600020905b815481529060010190602001808311610bd757829003601f168201915b5050505050905090565b33610c116006546001600160a01b031690565b6001600160a01b031614610c405760405162461bcd60e51b8152600401610c37906128d5565b60405180910390fd5b610c4a6000611790565b565b6000610c593384846117e2565b5060015b92915050565b33610c766005546001600160a01b031690565b6001600160a01b031614610c9c5760405162461bcd60e51b8152600401610c379061290c565b600a54821015610cab57600080fd5b600d839055600e829055600f81905580610cc58385612957565b610ccf9190612957565b600b55601e546301000000900460ff1615610cf557602054600b541115610cf557600080fd5b505050565b33610d0d6005546001600160a01b031690565b6001600160a01b031614610d335760405162461bcd60e51b8152600401610c379061290c565b6007546001600160a01b03808316911603610d4d57600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b33610d826005546001600160a01b031690565b6001600160a01b031614610da85760405162461bcd60e51b8152600401610c379061290c565b600a54821015610db757600080fd5b60108390556011829055601281905580610dd18385612957565b610ddb9190612957565b600c55601e5462010000900460ff1615610cf557601f54600c541115610cf557600080fd5b6000610e0d848484611906565b6001600160a01b038416600090815260026020908152604080832033845290915290205482811015610e975760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201526c68616e20616c6c6f77616e636560981b6064820152608401610c37565b610ea485338584036117e2565b506001949350505050565b33610ec26005546001600160a01b031690565b6001600160a01b031614610ee85760405162461bcd60e51b8152600401610c379061290c565b60215460ff1615610ef857600080fd5b6021805460ff19166001179055565b33610f1a6006546001600160a01b031690565b6001600160a01b031614610f405760405162461bcd60e51b8152600401610c37906128d5565b6001600160a01b038116610fa25760405162461bcd60e51b8152602060048201526024808201527f4f776e61626c653a206e65772064657620697320746865207a65726f206164646044820152637265737360e01b6064820152608401610c37565b610fab81611790565b50565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610c59918590610fe5908690612957565b6117e2565b33610ffd6005546001600160a01b031690565b6001600160a01b0316146110235760405162461bcd60e51b8152600401610c379061290c565b61102d8134612027565b5042602355565b336110476005546001600160a01b031690565b6001600160a01b03161461106d5760405162461bcd60e51b8152600401610c379061290c565b60215460ff161561107d57600080fd5b60005b8381101561115c576110d13086868481811061109e5761109e61296a565b90506020020160208101906110b391906126d7565b8585858181106110c5576110c561296a565b905060200201356120d4565b8282828181106110e3576110e361296a565b90506020020135602260008787858181106111005761110061296a565b905060200201602081019061111591906126d7565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546111449190612957565b9091555081905061115481612980565b915050611080565b5050505050565b336111766005546001600160a01b031690565b6001600160a01b03161461119c5760405162461bcd60e51b8152600401610c379061290c565b610c4a6000612298565b336111b96005546001600160a01b031690565b6001600160a01b0316146111df5760405162461bcd60e51b8152600401610c379061290c565b601e54610100900460ff166111f357600080fd5b601e805461ff0019169055565b336112136005546001600160a01b031690565b6001600160a01b0316146112395760405162461bcd60e51b8152600401610c379061290c565b6008546001600160a01b0380831691160361125357600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b336112886005546001600160a01b031690565b6001600160a01b0316146112ae5760405162461bcd60e51b8152600401610c379061290c565b601d5481111580156112c15750601f5481105b6112ca57600080fd5b601f55601e805462ff0000191662010000179055565b336112f36005546001600160a01b031690565b6001600160a01b0316146113195760405162461bcd60e51b8152600401610c379061290c565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b606060008054610b7b9061289b565b336113666005546001600160a01b031690565b6001600160a01b03161461138c5760405162461bcd60e51b8152600401610c379061290c565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b336113c16006546001600160a01b031690565b6001600160a01b0316146113e75760405162461bcd60e51b8152600401610c37906128d5565b6009546001600160a01b0380831691160361140157600080fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526002602090815260408083206001600160a01b0386168452909152812054828110156114a55760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610c37565b6114b233858584036117e2565b5060019392505050565b6000610c59338484611906565b336114dc6005546001600160a01b031690565b6001600160a01b0316146115025760405162461bcd60e51b8152600401610c379061290c565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b336115406005546001600160a01b031690565b6001600160a01b0316146115665760405162461bcd60e51b8152600401610c379061290c565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b3361159b6005546001600160a01b031690565b6001600160a01b0316146115c15760405162461bcd60e51b8152600401610c379061290c565b601991909155601a55565b336115df6005546001600160a01b031690565b6001600160a01b0316146116055760405162461bcd60e51b8152600401610c379061290c565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b336116436005546001600160a01b031690565b6001600160a01b0316146116695760405162461bcd60e51b8152600401610c379061290c565b601d54811115801561167c575060205481105b61168557600080fd5b602055601e805463ff00000019166301000000179055565b336116b06006546001600160a01b031690565b6001600160a01b0316146116d65760405162461bcd60e51b8152600401610c37906128d5565b600a5481106116e457600080fd5b600a55565b336116fc6005546001600160a01b031690565b6001600160a01b0316146117225760405162461bcd60e51b8152600401610c379061290c565b6001600160a01b0381166117875760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c37565b610fab81612298565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0a7a876011ed454af2a81330188fddbd93c5cb571ff0ab73fbd5f4f9c8ee477e90600090a35050565b6001600160a01b0383166118445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c37565b6001600160a01b0382166118a55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c37565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661196a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c37565b6001600160a01b0382166119cc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c37565b806000036119e057610cf5838360006120d4565b601e54610100900460ff1615611c50576005546001600160a01b03848116911614801590611a1c57506005546001600160a01b03838116911614155b8015611a3357506001600160a01b03821661dead14155b8015611a425750601e5460ff16155b15611c50576001600160a01b03831660009081526018602052604090205460ff168015611a8857506001600160a01b0382166000908152601c602052604090205460ff16155b15611b3e57601954811115611ad85760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610c37565b601a546001600160a01b038316600090815260046020526040902054611afe9083612957565b1115611b395760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610c37565b611c50565b6001600160a01b03821660009081526018602052604090205460ff168015611b7f57506001600160a01b0383166000908152601c602052604090205460ff16155b15611bcf57601954811115611b395760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610c37565b6001600160a01b0382166000908152601c602052604090205460ff16611c5057601a546001600160a01b038316600090815260046020526040902054611c159083612957565b1115611c505760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610c37565b602154610100900460ff16611d2b576001600160a01b0383166000908152602260205260409020548015611d295760006201518060235442611c929190612999565b611c9c91906129ac565b9050602454811015611d1757600060648360255484611cbb91906129ce565b611cc591906129ce565b611ccf91906129ac565b611cd99084612999565b90508084611cfc886001600160a01b031660009081526004602052604090205490565b611d069190612999565b1015611d1157600080fd5b50611d27565b6021805461ff0019166101001790555b505b505b601e546001600160a01b0384166000908152601b602052604090205460ff91821615911680611d7257506001600160a01b0383166000908152601b602052604090205460ff165b15611d7b575060005b8015611f86576001600160a01b03831660009081526018602052604081205460ff168015611dab57506000600c54115b15611e76576000601d5460115485611dc391906129ce565b611dcd91906129ac565b90506000601d5460105486611de291906129ce565b611dec91906129ac565b90506000601d5460125487611e0191906129ce565b611e0b91906129ac565b905080611e188385612957565b611e229190612957565b93508260146000828254611e369190612957565b925050819055508160136000828254611e4f9190612957565b925050819055508060156000828254611e689190612957565b90915550611f669350505050565b6001600160a01b03851660009081526018602052604090205460ff168015611ea057506000600b54115b15611f66576000601d54600e5485611eb891906129ce565b611ec291906129ac565b90506000601d54600d5486611ed791906129ce565b611ee191906129ac565b90506000601d54600f5487611ef691906129ce565b611f0091906129ac565b905080611f0d8385612957565b611f179190612957565b93508260146000828254611f2b9190612957565b925050819055508160136000828254611f449190612957565b925050819055508060156000828254611f5d9190612957565b90915550505050505b8015611f8457611f778530836120d4565b611f818184612999565b92505b505b601e5460ff16158015611fa757506017546001600160a01b03858116911614155b8015611fcc57506001600160a01b0384166000908152601b602052604090205460ff16155b8015611ff157506001600160a01b0383166000908152601b602052604090205460ff16155b1561201657601e805460ff1916600117905561200b6122ea565b601e805460ff191690555b6120218484846120d4565b50505050565b60165461203f9030906001600160a01b0316846117e2565b60165460075460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156120af573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061115c91906129e5565b6001600160a01b0383166121345760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610c37565b6001600160a01b03821661218a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610c37565b6001600160a01b038316600090815260046020526040902054818110156122075760405162461bcd60e51b815260206004820152602b60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201526a68616e2062616c616e636560a81b6064820152608401610c37565b6001600160a01b0380851660009081526004602052604080822085850390559185168152908120805484929061223e908490612957565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161228a91815260200190565b60405180910390a350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6013546014546015546122fd9190612957565b6123079190612957565b60000361231057565b6000600260155461232191906129ac565b90506000816015546123339190612999565b6013546014546123439190612957565b61234d9190612957565b9050612358816124c2565b600081836015546123699190612999565b61237390476129ce565b61237d91906129ac565b905060008311801561238f5750600081115b1561239e5761239e8382612027565b60006014546013546123b09190612957565b11156124ae5760145460135447916000916123cb9190612957565b6013546123d890846129ce565b6123e291906129ac565b905060006123f08284612999565b9050811561244e576008546040516001600160a01b03909116908390600081818185875af1925050503d8060008114612445576040519150601f19603f3d011682016040523d82523d6000602084013e61244a565b606091505b5050505b80156124aa576009546040516001600160a01b03909116908290600081818185875af1925050503d80600081146124a1576040519150601f19603f3d011682016040523d82523d6000602084013e6124a6565b606091505b5050505b5050505b505060006015819055601481905560135550565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106124f7576124f761296a565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612550573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125749190612a13565b816001815181106125875761258761296a565b6001600160a01b0392831660209182029290920101526016546125ad91309116846117e2565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac947906125e6908590600090869030904290600401612a30565b600060405180830381600087803b15801561260057600080fd5b505af1158015612614573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b818110156126495785810183015185820160400152820161262d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610fab57600080fd5b6000806040838503121561269257600080fd5b823561269d8161266a565b946020939093013593505050565b6000806000606084860312156126c057600080fd5b505081359360208301359350604090920135919050565b6000602082840312156126e957600080fd5b81356126f48161266a565b9392505050565b60008060006060848603121561271057600080fd5b833561271b8161266a565b9250602084013561272b8161266a565b929592945050506040919091013590565b60006020828403121561274e57600080fd5b5035919050565b60008083601f84011261276757600080fd5b50813567ffffffffffffffff81111561277f57600080fd5b6020830191508360208260051b850101111561279a57600080fd5b9250929050565b600080600080604085870312156127b757600080fd5b843567ffffffffffffffff808211156127cf57600080fd5b6127db88838901612755565b909650945060208701359150808211156127f457600080fd5b5061280187828801612755565b95989497509550505050565b6000806040838503121561282057600080fd5b823561282b8161266a565b91506020830135801515811461284057600080fd5b809150509250929050565b6000806040838503121561285e57600080fd5b50508035926020909101359150565b6000806040838503121561288057600080fd5b823561288b8161266a565b915060208301356128408161266a565b600181811c908216806128af57607f821691505b6020821081036128cf57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601e908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206465760000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610c5d57610c5d612941565b634e487b7160e01b600052603260045260246000fd5b60006001820161299257612992612941565b5060010190565b81810381811115610c5d57610c5d612941565b6000826129c957634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c5d57610c5d612941565b6000806000606084860312156129fa57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215612a2557600080fd5b81516126f48161266a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612a805784516001600160a01b031683529383019391830191600101612a5b565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220faf8670e98f82e7a6281c90971adb649f92b82642d1c6902fbb1a3d908eeb75b64736f6c634300081100330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000dcb5ac17635bd8dd0ccf049602ce614a2477872d0000000000000000000000005040ab1cddb502061d94b52769b5192804f34e1500000000000000000000000099272926cb5995cc4eea9cd1bc03bc3cd952c7de

Deployed Bytecode

0x6080604052600436106103c75760003560e01c80638d67cffe116101f2578063c0d786551161010d578063e219558e116100a0578063f63743421161006f578063f637434214610b0a578063f887ea4014610b20578063f8b45b0514610b40578063fdc149ef14610b5657600080fd5b8063e219558e14610a94578063e99ab6f914610ab4578063f11a24d314610ad4578063f2fde38b14610aea57600080fd5b8063d46b6a30116100dc578063d46b6a30146109e8578063d6498bc214610a18578063d85ba06314610a38578063dd62ed3e14610a4e57600080fd5b8063c0d786551461097c578063c4590d3f1461099c578063c8c8ebe4146109bc578063ccf2cf80146109d257600080fd5b80639fccce3211610185578063a5949bcf11610154578063a5949bcf146108ef578063a9059cbb1461090f578063a9d3cd8a1461092f578063b530dc8c1461094f57600080fd5b80639fccce32146108835780639ff84a9814610899578063a0d82dc5146108b9578063a457c2d7146108cf57600080fd5b806392136913116101c1578063921369131461082257806395d89b41146108385780639c3b4fdc1461084d5780639d93598e1461086357600080fd5b80638d67cffe146107a65780638da5cb5b146107c65780638e89cf4d146107e457806391cca3db1461080457600080fd5b806339509351116102e2578063706f69371161027557806375b625321161024457806375b625321461073a578063790ca4131461075a5780637bce5a0414610770578063808a54571461078657600080fd5b8063706f6937146106ba57806370a08231146106da578063715018a614610710578063751039fc1461072557600080fd5b80636940213a116102b15780636940213a1461063a578063696635871461066a5780636a486a8e146106845780636f9a880e1461069a57600080fd5b806339509351146105d25780633aeb6c71146105f25780634a62bb651461060857806351c6590a1461062757600080fd5b80631a8145bb1161035a578063313ce56711610329578063313ce56714610562578063328873601461057e578063332ca4f214610593578063388ac95b146105b357600080fd5b80631a8145bb146104de5780631f3fed8f146104f457806323b872dd1461050a57806323c04d9d1461052a57600080fd5b80630e99dcad116103965780630e99dcad146104655780630f683e9014610485578063180b0d7e146104a557806318160ddd146104c957600080fd5b806306fdde03146103d3578063076b44d3146103fe578063095ea7b3146104155780630d075d9c1461044557600080fd5b366103ce57005b600080fd5b3480156103df57600080fd5b506103e8610b6c565b6040516103f5919061261c565b60405180910390f35b34801561040a57600080fd5b50610413610bfe565b005b34801561042157600080fd5b5061043561043036600461267f565b610c4c565b60405190151581526020016103f5565b34801561045157600080fd5b506104136104603660046126ab565b610c63565b34801561047157600080fd5b506104136104803660046126d7565b610cfa565b34801561049157600080fd5b506104136104a03660046126ab565b610d6f565b3480156104b157600080fd5b506104bb601d5481565b6040519081526020016103f5565b3480156104d557600080fd5b506003546104bb565b3480156104ea57600080fd5b506104bb60155481565b34801561050057600080fd5b506104bb60135481565b34801561051657600080fd5b506104356105253660046126fb565b610e00565b34801561053657600080fd5b5060075461054a906001600160a01b031681565b6040516001600160a01b0390911681526020016103f5565b34801561056e57600080fd5b50604051601281526020016103f5565b34801561058a57600080fd5b50610413610eaf565b34801561059f57600080fd5b506104136105ae3660046126d7565b610f07565b3480156105bf57600080fd5b5060215461043590610100900460ff1681565b3480156105de57600080fd5b506104356105ed36600461267f565b610fae565b3480156105fe57600080fd5b506104bb60255481565b34801561061457600080fd5b50601e5461043590610100900460ff1681565b61041361063536600461273c565b610fea565b34801561064657600080fd5b506104356106553660046126d7565b601c6020526000908152604090205460ff1681565b34801561067657600080fd5b506021546104359060ff1681565b34801561069057600080fd5b506104bb600c5481565b3480156106a657600080fd5b5060095461054a906001600160a01b031681565b3480156106c657600080fd5b506104136106d53660046127a1565b611034565b3480156106e657600080fd5b506104bb6106f53660046126d7565b6001600160a01b031660009081526004602052604090205490565b34801561071c57600080fd5b50610413611163565b34801561073157600080fd5b506104136111a6565b34801561074657600080fd5b506104136107553660046126d7565b611200565b34801561076657600080fd5b506104bb60235481565b34801561077c57600080fd5b506104bb600d5481565b34801561079257600080fd5b5060175461054a906001600160a01b031681565b3480156107b257600080fd5b506104136107c136600461273c565b611275565b3480156107d257600080fd5b506005546001600160a01b031661054a565b3480156107f057600080fd5b506104136107ff36600461280d565b6112e0565b34801561081057600080fd5b506006546001600160a01b031661054a565b34801561082e57600080fd5b506104bb60105481565b34801561084457600080fd5b506103e8611344565b34801561085957600080fd5b506104bb600e5481565b34801561086f57600080fd5b5061041361087e3660046126d7565b611353565b34801561088f57600080fd5b506104bb60145481565b3480156108a557600080fd5b506104136108b43660046126d7565b6113ae565b3480156108c557600080fd5b506104bb60115481565b3480156108db57600080fd5b506104356108ea36600461267f565b611423565b3480156108fb57600080fd5b5060085461054a906001600160a01b031681565b34801561091b57600080fd5b5061043561092a36600461267f565b6114bc565b34801561093b57600080fd5b5061041361094a36600461280d565b6114c9565b34801561095b57600080fd5b506104bb61096a3660046126d7565b60226020526000908152604090205481565b34801561098857600080fd5b506104136109973660046126d7565b61152d565b3480156109a857600080fd5b506104136109b736600461284b565b611588565b3480156109c857600080fd5b506104bb60195481565b3480156109de57600080fd5b506104bb600a5481565b3480156109f457600080fd5b50610435610a033660046126d7565b60186020526000908152604090205460ff1681565b348015610a2457600080fd5b50610413610a3336600461280d565b6115cc565b348015610a4457600080fd5b506104bb600b5481565b348015610a5a57600080fd5b506104bb610a6936600461286d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610aa057600080fd5b50610413610aaf36600461273c565b611630565b348015610ac057600080fd5b50610413610acf36600461273c565b61169d565b348015610ae057600080fd5b506104bb600f5481565b348015610af657600080fd5b50610413610b053660046126d7565b6116e9565b348015610b1657600080fd5b506104bb60125481565b348015610b2c57600080fd5b5060165461054a906001600160a01b031681565b348015610b4c57600080fd5b506104bb601a5481565b348015610b6257600080fd5b506104bb60245481565b606060018054610b7b9061289b565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba79061289b565b8015610bf45780601f10610bc957610100808354040283529160200191610bf4565b820191906000526020600020905b815481529060010190602001808311610bd757829003601f168201915b5050505050905090565b33610c116006546001600160a01b031690565b6001600160a01b031614610c405760405162461bcd60e51b8152600401610c37906128d5565b60405180910390fd5b610c4a6000611790565b565b6000610c593384846117e2565b5060015b92915050565b33610c766005546001600160a01b031690565b6001600160a01b031614610c9c5760405162461bcd60e51b8152600401610c379061290c565b600a54821015610cab57600080fd5b600d839055600e829055600f81905580610cc58385612957565b610ccf9190612957565b600b55601e546301000000900460ff1615610cf557602054600b541115610cf557600080fd5b505050565b33610d0d6005546001600160a01b031690565b6001600160a01b031614610d335760405162461bcd60e51b8152600401610c379061290c565b6007546001600160a01b03808316911603610d4d57600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b33610d826005546001600160a01b031690565b6001600160a01b031614610da85760405162461bcd60e51b8152600401610c379061290c565b600a54821015610db757600080fd5b60108390556011829055601281905580610dd18385612957565b610ddb9190612957565b600c55601e5462010000900460ff1615610cf557601f54600c541115610cf557600080fd5b6000610e0d848484611906565b6001600160a01b038416600090815260026020908152604080832033845290915290205482811015610e975760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201526c68616e20616c6c6f77616e636560981b6064820152608401610c37565b610ea485338584036117e2565b506001949350505050565b33610ec26005546001600160a01b031690565b6001600160a01b031614610ee85760405162461bcd60e51b8152600401610c379061290c565b60215460ff1615610ef857600080fd5b6021805460ff19166001179055565b33610f1a6006546001600160a01b031690565b6001600160a01b031614610f405760405162461bcd60e51b8152600401610c37906128d5565b6001600160a01b038116610fa25760405162461bcd60e51b8152602060048201526024808201527f4f776e61626c653a206e65772064657620697320746865207a65726f206164646044820152637265737360e01b6064820152608401610c37565b610fab81611790565b50565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610c59918590610fe5908690612957565b6117e2565b33610ffd6005546001600160a01b031690565b6001600160a01b0316146110235760405162461bcd60e51b8152600401610c379061290c565b61102d8134612027565b5042602355565b336110476005546001600160a01b031690565b6001600160a01b03161461106d5760405162461bcd60e51b8152600401610c379061290c565b60215460ff161561107d57600080fd5b60005b8381101561115c576110d13086868481811061109e5761109e61296a565b90506020020160208101906110b391906126d7565b8585858181106110c5576110c561296a565b905060200201356120d4565b8282828181106110e3576110e361296a565b90506020020135602260008787858181106111005761110061296a565b905060200201602081019061111591906126d7565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546111449190612957565b9091555081905061115481612980565b915050611080565b5050505050565b336111766005546001600160a01b031690565b6001600160a01b03161461119c5760405162461bcd60e51b8152600401610c379061290c565b610c4a6000612298565b336111b96005546001600160a01b031690565b6001600160a01b0316146111df5760405162461bcd60e51b8152600401610c379061290c565b601e54610100900460ff166111f357600080fd5b601e805461ff0019169055565b336112136005546001600160a01b031690565b6001600160a01b0316146112395760405162461bcd60e51b8152600401610c379061290c565b6008546001600160a01b0380831691160361125357600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b336112886005546001600160a01b031690565b6001600160a01b0316146112ae5760405162461bcd60e51b8152600401610c379061290c565b601d5481111580156112c15750601f5481105b6112ca57600080fd5b601f55601e805462ff0000191662010000179055565b336112f36005546001600160a01b031690565b6001600160a01b0316146113195760405162461bcd60e51b8152600401610c379061290c565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b606060008054610b7b9061289b565b336113666005546001600160a01b031690565b6001600160a01b03161461138c5760405162461bcd60e51b8152600401610c379061290c565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b336113c16006546001600160a01b031690565b6001600160a01b0316146113e75760405162461bcd60e51b8152600401610c37906128d5565b6009546001600160a01b0380831691160361140157600080fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526002602090815260408083206001600160a01b0386168452909152812054828110156114a55760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610c37565b6114b233858584036117e2565b5060019392505050565b6000610c59338484611906565b336114dc6005546001600160a01b031690565b6001600160a01b0316146115025760405162461bcd60e51b8152600401610c379061290c565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b336115406005546001600160a01b031690565b6001600160a01b0316146115665760405162461bcd60e51b8152600401610c379061290c565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b3361159b6005546001600160a01b031690565b6001600160a01b0316146115c15760405162461bcd60e51b8152600401610c379061290c565b601991909155601a55565b336115df6005546001600160a01b031690565b6001600160a01b0316146116055760405162461bcd60e51b8152600401610c379061290c565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b336116436005546001600160a01b031690565b6001600160a01b0316146116695760405162461bcd60e51b8152600401610c379061290c565b601d54811115801561167c575060205481105b61168557600080fd5b602055601e805463ff00000019166301000000179055565b336116b06006546001600160a01b031690565b6001600160a01b0316146116d65760405162461bcd60e51b8152600401610c37906128d5565b600a5481106116e457600080fd5b600a55565b336116fc6005546001600160a01b031690565b6001600160a01b0316146117225760405162461bcd60e51b8152600401610c379061290c565b6001600160a01b0381166117875760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c37565b610fab81612298565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0a7a876011ed454af2a81330188fddbd93c5cb571ff0ab73fbd5f4f9c8ee477e90600090a35050565b6001600160a01b0383166118445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c37565b6001600160a01b0382166118a55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c37565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661196a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c37565b6001600160a01b0382166119cc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c37565b806000036119e057610cf5838360006120d4565b601e54610100900460ff1615611c50576005546001600160a01b03848116911614801590611a1c57506005546001600160a01b03838116911614155b8015611a3357506001600160a01b03821661dead14155b8015611a425750601e5460ff16155b15611c50576001600160a01b03831660009081526018602052604090205460ff168015611a8857506001600160a01b0382166000908152601c602052604090205460ff16155b15611b3e57601954811115611ad85760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610c37565b601a546001600160a01b038316600090815260046020526040902054611afe9083612957565b1115611b395760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610c37565b611c50565b6001600160a01b03821660009081526018602052604090205460ff168015611b7f57506001600160a01b0383166000908152601c602052604090205460ff16155b15611bcf57601954811115611b395760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610c37565b6001600160a01b0382166000908152601c602052604090205460ff16611c5057601a546001600160a01b038316600090815260046020526040902054611c159083612957565b1115611c505760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610c37565b602154610100900460ff16611d2b576001600160a01b0383166000908152602260205260409020548015611d295760006201518060235442611c929190612999565b611c9c91906129ac565b9050602454811015611d1757600060648360255484611cbb91906129ce565b611cc591906129ce565b611ccf91906129ac565b611cd99084612999565b90508084611cfc886001600160a01b031660009081526004602052604090205490565b611d069190612999565b1015611d1157600080fd5b50611d27565b6021805461ff0019166101001790555b505b505b601e546001600160a01b0384166000908152601b602052604090205460ff91821615911680611d7257506001600160a01b0383166000908152601b602052604090205460ff165b15611d7b575060005b8015611f86576001600160a01b03831660009081526018602052604081205460ff168015611dab57506000600c54115b15611e76576000601d5460115485611dc391906129ce565b611dcd91906129ac565b90506000601d5460105486611de291906129ce565b611dec91906129ac565b90506000601d5460125487611e0191906129ce565b611e0b91906129ac565b905080611e188385612957565b611e229190612957565b93508260146000828254611e369190612957565b925050819055508160136000828254611e4f9190612957565b925050819055508060156000828254611e689190612957565b90915550611f669350505050565b6001600160a01b03851660009081526018602052604090205460ff168015611ea057506000600b54115b15611f66576000601d54600e5485611eb891906129ce565b611ec291906129ac565b90506000601d54600d5486611ed791906129ce565b611ee191906129ac565b90506000601d54600f5487611ef691906129ce565b611f0091906129ac565b905080611f0d8385612957565b611f179190612957565b93508260146000828254611f2b9190612957565b925050819055508160136000828254611f449190612957565b925050819055508060156000828254611f5d9190612957565b90915550505050505b8015611f8457611f778530836120d4565b611f818184612999565b92505b505b601e5460ff16158015611fa757506017546001600160a01b03858116911614155b8015611fcc57506001600160a01b0384166000908152601b602052604090205460ff16155b8015611ff157506001600160a01b0383166000908152601b602052604090205460ff16155b1561201657601e805460ff1916600117905561200b6122ea565b601e805460ff191690555b6120218484846120d4565b50505050565b60165461203f9030906001600160a01b0316846117e2565b60165460075460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156120af573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061115c91906129e5565b6001600160a01b0383166121345760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610c37565b6001600160a01b03821661218a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610c37565b6001600160a01b038316600090815260046020526040902054818110156122075760405162461bcd60e51b815260206004820152602b60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201526a68616e2062616c616e636560a81b6064820152608401610c37565b6001600160a01b0380851660009081526004602052604080822085850390559185168152908120805484929061223e908490612957565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161228a91815260200190565b60405180910390a350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6013546014546015546122fd9190612957565b6123079190612957565b60000361231057565b6000600260155461232191906129ac565b90506000816015546123339190612999565b6013546014546123439190612957565b61234d9190612957565b9050612358816124c2565b600081836015546123699190612999565b61237390476129ce565b61237d91906129ac565b905060008311801561238f5750600081115b1561239e5761239e8382612027565b60006014546013546123b09190612957565b11156124ae5760145460135447916000916123cb9190612957565b6013546123d890846129ce565b6123e291906129ac565b905060006123f08284612999565b9050811561244e576008546040516001600160a01b03909116908390600081818185875af1925050503d8060008114612445576040519150601f19603f3d011682016040523d82523d6000602084013e61244a565b606091505b5050505b80156124aa576009546040516001600160a01b03909116908290600081818185875af1925050503d80600081146124a1576040519150601f19603f3d011682016040523d82523d6000602084013e6124a6565b606091505b5050505b5050505b505060006015819055601481905560135550565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106124f7576124f761296a565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612550573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125749190612a13565b816001815181106125875761258761296a565b6001600160a01b0392831660209182029290920101526016546125ad91309116846117e2565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac947906125e6908590600090869030904290600401612a30565b600060405180830381600087803b15801561260057600080fd5b505af1158015612614573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b818110156126495785810183015185820160400152820161262d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610fab57600080fd5b6000806040838503121561269257600080fd5b823561269d8161266a565b946020939093013593505050565b6000806000606084860312156126c057600080fd5b505081359360208301359350604090920135919050565b6000602082840312156126e957600080fd5b81356126f48161266a565b9392505050565b60008060006060848603121561271057600080fd5b833561271b8161266a565b9250602084013561272b8161266a565b929592945050506040919091013590565b60006020828403121561274e57600080fd5b5035919050565b60008083601f84011261276757600080fd5b50813567ffffffffffffffff81111561277f57600080fd5b6020830191508360208260051b850101111561279a57600080fd5b9250929050565b600080600080604085870312156127b757600080fd5b843567ffffffffffffffff808211156127cf57600080fd5b6127db88838901612755565b909650945060208701359150808211156127f457600080fd5b5061280187828801612755565b95989497509550505050565b6000806040838503121561282057600080fd5b823561282b8161266a565b91506020830135801515811461284057600080fd5b809150509250929050565b6000806040838503121561285e57600080fd5b50508035926020909101359150565b6000806040838503121561288057600080fd5b823561288b8161266a565b915060208301356128408161266a565b600181811c908216806128af57607f821691505b6020821081036128cf57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601e908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206465760000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610c5d57610c5d612941565b634e487b7160e01b600052603260045260246000fd5b60006001820161299257612992612941565b5060010190565b81810381811115610c5d57610c5d612941565b6000826129c957634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c5d57610c5d612941565b6000806000606084860312156129fa57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215612a2557600080fd5b81516126f48161266a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612a805784516001600160a01b031683529383019391830191600101612a5b565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220faf8670e98f82e7a6281c90971adb649f92b82642d1c6902fbb1a3d908eeb75b64736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000dcb5ac17635bd8dd0ccf049602ce614a2477872d0000000000000000000000005040ab1cddb502061d94b52769b5192804f34e1500000000000000000000000099272926cb5995cc4eea9cd1bc03bc3cd952c7de

-----Decoded View---------------
Arg [0] : router_ (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : LPTokenReceiver_ (address): 0xDcB5aC17635Bd8DD0CcF049602cE614a2477872d
Arg [2] : marketingReceiver_ (address): 0x5040Ab1cDDB502061d94B52769b5192804f34E15
Arg [3] : devReceiver_ (address): 0x99272926CB5995CC4eeA9Cd1Bc03BC3cD952C7De

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000dcb5ac17635bd8dd0ccf049602ce614a2477872d
Arg [2] : 0000000000000000000000005040ab1cddb502061d94b52769b5192804f34e15
Arg [3] : 00000000000000000000000099272926cb5995cc4eea9cd1bc03bc3cd952c7de


Deployed Bytecode Sourcemap

7696:13560:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4307:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1949:89;;;;;;;;;;;;;:::i;:::-;;6140:167;;;;;;;;;;-1:-1:-1;6140:167:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6140:167:0;1023:187:1;11849:427:0;;;;;;;;;;-1:-1:-1;11849:427:0;;;;;:::i;:::-;;:::i;13049:166::-;;;;;;;;;;-1:-1:-1;13049:166:0;;;;;:::i;:::-;;:::i;12284:438::-;;;;;;;;;;-1:-1:-1;12284:438:0;;;;;:::i;:::-;;:::i;8620:36::-;;;;;;;;;;;;;;;;;;;1934:25:1;;;1922:2;1907:18;8620:36:0;1788:177:1;4191:108:0;;;;;;;;;;-1:-1:-1;4279:12:0;;4191:108;;8257:33;;;;;;;;;;;;;;;;8183;;;;;;;;;;;;;;;;3350:493;;;;;;;;;;-1:-1:-1;3350:493:0;;;;;:::i;:::-;;:::i;7745:30::-;;;;;;;;;;-1:-1:-1;7745:30:0;;;;-1:-1:-1;;;;;7745:30:0;;;;;;-1:-1:-1;;;;;2595:32:1;;;2577:51;;2565:2;2550:18;7745:30:0;2431:203:1;4415:93:0;;;;;;;;;;-1:-1:-1;4415:93:0;;4498:2;2781:36:1;;2769:2;2754:18;4415:93:0;2639:184:1;11545:123:0;;;;;;;;;;;;;:::i;1405:179::-;;;;;;;;;;-1:-1:-1;1405:179:0;;;;;:::i;:::-;;:::i;9081:35::-;;;;;;;;;;-1:-1:-1;9081:35:0;;;;;;;;;;;5525:211;;;;;;;;;;-1:-1:-1;5525:211:0;;;;;:::i;:::-;;:::i;9253:33::-;;;;;;;;;;;;;;;;8697;;;;;;;;;;-1:-1:-1;8697:33:0;;;;;;;;;;;11676:165;;;;;;:::i;:::-;;:::i;8553:58::-;;;;;;;;;;-1:-1:-1;8553:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9039:35;;;;;;;;;;-1:-1:-1;9039:35:0;;;;;;;;7929:28;;;;;;;;;;;;;;;;7821:26;;;;;;;;;;-1:-1:-1;7821:26:0;;;;-1:-1:-1;;;;;7821:26:0;;;11210:327;;;;;;;;;;-1:-1:-1;11210:327:0;;;;;:::i;:::-;;:::i;6732:127::-;;;;;;;;;;-1:-1:-1;6732:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;6833:18:0;6806:7;6833:18;;;:9;:18;;;;;;;6732:127;1838:103;;;;;;;;;;;;;:::i;12923:118::-;;;;;;;;;;;;;:::i;13223:172::-;;;;;;;;;;-1:-1:-1;13223:172:0;;;;;:::i;:::-;;:::i;9180:25::-;;;;;;;;;;;;;;;;7966:30;;;;;;;;;;;;;;;;8338:28;;;;;;;;;;-1:-1:-1;8338:28:0;;;;-1:-1:-1;;;;;8338:28:0;;;14442:198;;;;;;;;;;-1:-1:-1;14442:198:0;;;;;:::i;:::-;;:::i;638:87::-;;;;;;;;;;-1:-1:-1;711:6:0;;-1:-1:-1;;;;;711:6:0;638:87;;14052:144;;;;;;;;;;-1:-1:-1;14052:144:0;;;;;:::i;:::-;;:::i;733:83::-;;;;;;;;;;-1:-1:-1;804:4:0;;-1:-1:-1;;;;;804:4:0;733:83;;8073:31;;;;;;;;;;;;;;;;6028:104;;;;;;;;;;;;;:::i;8003:24::-;;;;;;;;;;;;;;;;14322:112;;;;;;;;;;-1:-1:-1;14322:112:0;;;;;:::i;:::-;;:::i;8223:27::-;;;;;;;;;;;;;;;;13403:152;;;;;;;;;;-1:-1:-1;13403:152:0;;;;;:::i;:::-;;:::i;8111:25::-;;;;;;;;;;;;;;;;6315:409;;;;;;;;;;-1:-1:-1;6315:409:0;;;;;:::i;:::-;;:::i;7782:32::-;;;;;;;;;;-1:-1:-1;7782:32:0;;;;-1:-1:-1;;;;;7782:32:0;;;3851:173;;;;;;;;;;-1:-1:-1;3851:173:0;;;;;:::i;:::-;;:::i;13768:113::-;;;;;;;;;;-1:-1:-1;13768:113:0;;;;;:::i;:::-;;:::i;9125:48::-;;;;;;;;;;-1:-1:-1;9125:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;14204:110;;;;;;;;;;-1:-1:-1;14204:110:0;;;;;:::i;:::-;;:::i;12730:185::-;;;;;;;;;;-1:-1:-1;12730:185:0;;;;;:::i;:::-;;:::i;8421:35::-;;;;;;;;;;;;;;;;7854:32;;;;;;;;;;;;;;;;8375:37;;;;;;;;;;-1:-1:-1;8375:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13889:155;;;;;;;;;;-1:-1:-1;13889:155:0;;;;;:::i;:::-;;:::i;7895:27::-;;;;;;;;;;;;;;;;4032:151;;;;;;;;;;-1:-1:-1;4032:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;4148:18:0;;;4121:7;4148:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4032:151;14648:194;;;;;;;;;;-1:-1:-1;14648:194:0;;;;;:::i;:::-;;:::i;13563:197::-;;;;;;;;;;-1:-1:-1;13563:197:0;;;;;:::i;:::-;;:::i;8034:30::-;;;;;;;;;;;;;;;;1196:201;;;;;;;;;;-1:-1:-1;1196:201:0;;;;;:::i;:::-;;:::i;8143:31::-;;;;;;;;;;;;;;;;8299:32;;;;;;;;;;-1:-1:-1;8299:32:0;;;;-1:-1:-1;;;;;8299:32:0;;;8463:24;;;;;;;;;;;;;;;;9212:34;;;;;;;;;;;;;;;;4307:100;4361:13;4394:5;4387:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4307:100;:::o;1949:89::-;1765:10;1756:5;804:4;;-1:-1:-1;;;;;804:4:0;;733:83;1756:5;-1:-1:-1;;;;;1756:19:0;;1748:62;;;;-1:-1:-1;;;1748:62:0;;;;;;;:::i;:::-;;;;;;;;;2006:24:::1;2027:1;2006:12;:24::i;:::-;1949:89::o:0;6140:167::-;6223:4;6240:37;6249:10;6261:7;6270:6;6240:8;:37::i;:::-;-1:-1:-1;6295:4:0;6140:167;;;;;:::o;11849:427::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;11977:13:::1;;11967:6;:23;;11959:32;;;::::0;::::1;;12002:15;:30:::0;;;12043:9:::1;:18:::0;;;12072:15:::1;:30:::0;;;12090:12;12130:27:::1;12055:6:::0;12020:12;12130:27:::1;:::i;:::-;:45;;;;:::i;:::-;12115:12;:60:::0;12192:12:::1;::::0;;;::::1;;;12188:79;;;12245:9;;12229:12;;:25;;12221:34;;;::::0;::::1;;11849:427:::0;;;:::o;13049:166::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;13136:15:::1;::::0;-1:-1:-1;;;;;13136:30:0;;::::1;:15:::0;::::1;:30:::0;13128:39:::1;;;::::0;::::1;;13178:15;:29:::0;;-1:-1:-1;;;;;;13178:29:0::1;-1:-1:-1::0;;;;;13178:29:0;;;::::1;::::0;;;::::1;::::0;;13049:166::o;12284:438::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;12413:13:::1;;12403:6;:23;;12395:32;;;::::0;::::1;;12438:16;:31:::0;;;12480:10:::1;:19:::0;;;12510:16:::1;:31:::0;;;12529:12;12570:29:::1;12493:6:::0;12457:12;12570:29:::1;:::i;:::-;:48;;;;:::i;:::-;12554:13;:64:::0;12635:13:::1;::::0;;;::::1;;;12631:82;;;12690:10;;12673:13;;:27;;12665:36;;;::::0;::::1;3350:493:::0;3490:4;3507:36;3517:6;3525:9;3536:6;3507:9;:36::i;:::-;-1:-1:-1;;;;;3583:19:0;;3556:24;3583:19;;;:11;:19;;;;;;;;3603:10;3583:31;;;;;;;;3633:26;;;;3625:84;;;;-1:-1:-1;;;3625:84:0;;7033:2:1;3625:84:0;;;7015:21:1;7072:2;7052:18;;;7045:30;7111:34;7091:18;;;7084:62;-1:-1:-1;;;7162:18:1;;;7155:43;7215:19;;3625:84:0;6831:409:1;3625:84:0;3745:55;3754:6;3762:10;3793:6;3774:16;:25;3745:8;:55::i;:::-;-1:-1:-1;3831:4:0;;3350:493;-1:-1:-1;;;;3350:493:0:o;11545:123::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;11611:15:::1;::::0;::::1;;11610:16;11602:25;;;::::0;::::1;;11638:15;:22:::0;;-1:-1:-1;;11638:22:0::1;11656:4;11638:22;::::0;;11545:123::o;1405:179::-;1765:10;1756:5;804:4;;-1:-1:-1;;;;;804:4:0;;733:83;1756:5;-1:-1:-1;;;;;1756:19:0;;1748:62;;;;-1:-1:-1;;;1748:62:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1484:20:0;::::1;1476:69;;;::::0;-1:-1:-1;;;1476:69:0;;7447:2:1;1476:69:0::1;::::0;::::1;7429:21:1::0;7486:2;7466:18;;;7459:30;7525:34;7505:18;;;7498:62;-1:-1:-1;;;7576:18:1;;;7569:34;7620:19;;1476:69:0::1;7245:400:1::0;1476:69:0::1;1556:20;1569:6;1556:12;:20::i;:::-;1405:179:::0;:::o;5525:211::-;5639:10;5613:4;5660:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5660:32:0;;;;;;;;;;5613:4;;5630:76;;5651:7;;5660:45;;5695:10;;5660:45;:::i;:::-;5630:8;:76::i;11676:165::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;11757:37:::1;11771:11;11784:9;11757:13;:37::i;:::-;-1:-1:-1::0;11818:15:0::1;11805:10;:28:::0;11676:165::o;11210:327::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;11328:15:::1;::::0;::::1;;11327:16;11319:25;;;::::0;::::1;;11362:6;11357:173;11372:16:::0;;::::1;11357:173;;;11410:54;11434:4;11441:7;;11449:1;11441:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11453:7;;11461:1;11453:10;;;;;;;:::i;:::-;;;;;;;11410:15;:54::i;:::-;11508:7;;11516:1;11508:10;;;;;;;:::i;:::-;;;;;;;11479:13;:25;11493:7;;11501:1;11493:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11479:25:0::1;-1:-1:-1::0;;;;;11479:25:0::1;;;;;;;;;;;;;:39;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;11390:3:0;;-1:-1:-1;11390:3:0::1;::::0;::::1;:::i;:::-;;;;11357:173;;;;11210:327:::0;;;;:::o;1838:103::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;1903:30:::1;1930:1;1903:18;:30::i;12923:118::-:0;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;12985:14:::1;::::0;::::1;::::0;::::1;;;12977:23;;;::::0;::::1;;13011:14;:22:::0;;-1:-1:-1;;13011:22:0::1;::::0;;12923:118::o;13223:172::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;13312:17:::1;::::0;-1:-1:-1;;;;;13312:32:0;;::::1;:17:::0;::::1;:32:::0;13304:41:::1;;;::::0;::::1;;13356:17;:31:::0;;-1:-1:-1;;;;;;13356:31:0::1;-1:-1:-1::0;;;;;13356:31:0;;;::::1;::::0;;;::::1;::::0;;13223:172::o;14442:198::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;14535:14:::1;;14526:5;:23;;:45;;;;;14561:10;;14553:5;:18;14526:45;14518:54;;;::::0;::::1;;14583:10;:18:::0;14612:13:::1;:20:::0;;-1:-1:-1;;14612:20:0::1;::::0;::::1;::::0;;14442:198::o;14052:144::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14150:25:0;;;::::1;;::::0;;;:17:::1;:25;::::0;;;;:38;;-1:-1:-1;;14150:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14052:144::o;6028:104::-;6084:13;6117:7;6110:14;;;;;:::i;14322:112::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;14399:13:::1;:27:::0;;-1:-1:-1;;;;;;14399:27:0::1;-1:-1:-1::0;;;;;14399:27:0;;;::::1;::::0;;;::::1;::::0;;14322:112::o;13403:152::-;1765:10;1756:5;804:4;;-1:-1:-1;;;;;804:4:0;;733:83;1756:5;-1:-1:-1;;;;;1756:19:0;;1748:62;;;;-1:-1:-1;;;1748:62:0;;;;;;;:::i;:::-;13484:11:::1;::::0;-1:-1:-1;;;;;13484:26:0;;::::1;:11:::0;::::1;:26:::0;13476:35:::1;;;::::0;::::1;;13522:11;:25:::0;;-1:-1:-1;;;;;;13522:25:0::1;-1:-1:-1::0;;;;;13522:25:0;;;::::1;::::0;;;::::1;::::0;;13403:152::o;6315:409::-;6464:10;6408:4;6452:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6452:32:0;;;;;;;;;;6503:35;;;;6495:85;;;;-1:-1:-1;;;6495:85:0;;8124:2:1;6495:85:0;;;8106:21:1;8163:2;8143:18;;;8136:30;8202:34;8182:18;;;8175:62;-1:-1:-1;;;8253:18:1;;;8246:35;8298:19;;6495:85:0;7922:401:1;6495:85:0;6616:65;6625:10;6637:7;6665:15;6646:16;:34;6616:8;:65::i;:::-;-1:-1:-1;6712:4:0;;6315:409;-1:-1:-1;;;6315:409:0:o;3851:173::-;3937:4;3954:40;3964:10;3976:9;3987:6;3954:9;:40::i;13768:113::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13847:17:0;;;::::1;;::::0;;;:5:::1;:17;::::0;;;;:26;;-1:-1:-1;;13847:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13768:113::o;14204:110::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;14270:6:::1;:36:::0;;-1:-1:-1;;;;;;14270:36:0::1;-1:-1:-1::0;;;;;14270:36:0;;;::::1;::::0;;;::::1;::::0;;14204:110::o;12730:185::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;12830:20:::1;:44:::0;;;;12885:9:::1;:22:::0;12730:185::o;13889:155::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13989:34:0;;;::::1;;::::0;;;:26:::1;:34;::::0;;;;:47;;-1:-1:-1;;13989:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13889:155::o;14648:194::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;14740:14:::1;;14731:5;:23;;:44;;;;;14766:9;;14758:5;:17;14731:44;14723:53;;;::::0;::::1;;14787:9;:17:::0;14815:12:::1;:19:::0;;-1:-1:-1;;14815:19:0::1;::::0;::::1;::::0;;14648:194::o;13563:197::-;1765:10;1756:5;804:4;;-1:-1:-1;;;;;804:4:0;;733:83;1756:5;-1:-1:-1;;;;;1756:19:0;;1748:62;;;;-1:-1:-1;;;1748:62:0;;;;;;;:::i;:::-;13650:13:::1;;13641:6;:22;13633:31;;;::::0;::::1;;13730:13;:22:::0;13563:197::o;1196:201::-;1643:10;1632:7;711:6;;-1:-1:-1;;;;;711:6:0;;638:87;1632:7;-1:-1:-1;;;;;1632:21:0;;1624:66;;;;-1:-1:-1;;;1624:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1285:22:0;::::1;1277:73;;;::::0;-1:-1:-1;;;1277:73:0;;8530:2:1;1277:73:0::1;::::0;::::1;8512:21:1::0;8569:2;8549:18;;;8542:30;8608:34;8588:18;;;8581:62;-1:-1:-1;;;8659:18:1;;;8652:36;8705:19;;1277:73:0::1;8328:402:1::0;1277:73:0::1;1361:28;1380:8;1361:18;:28::i;1023:165::-:0;1106:4;;;-1:-1:-1;;;;;1121:13:0;;;-1:-1:-1;;;;;;1121:13:0;;;;;;;1150:30;;1106:4;;;1121:13;1106:4;;1150:30;;1089:14;;1150:30;1078:110;1023:165;:::o;5137:380::-;-1:-1:-1;;;;;5273:19:0;;5265:68;;;;-1:-1:-1;;;5265:68:0;;8937:2:1;5265:68:0;;;8919:21:1;8976:2;8956:18;;;8949:30;9015:34;8995:18;;;8988:62;-1:-1:-1;;;9066:18:1;;;9059:34;9110:19;;5265:68:0;8735:400:1;5265:68:0;-1:-1:-1;;;;;5352:21:0;;5344:68;;;;-1:-1:-1;;;5344:68:0;;9342:2:1;5344:68:0;;;9324:21:1;9381:2;9361:18;;;9354:30;9420:34;9400:18;;;9393:62;-1:-1:-1;;;9471:18:1;;;9464:32;9513:19;;5344:68:0;9140:398:1;5344:68:0;-1:-1:-1;;;;;5425:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5477:32;;1934:25:1;;;5477:32:0;;1907:18:1;5477:32:0;;;;;;;5137:380;;;:::o;14850:4301::-;-1:-1:-1;;;;;14982:18:0;;14974:68;;;;-1:-1:-1;;;14974:68:0;;9745:2:1;14974:68:0;;;9727:21:1;9784:2;9764:18;;;9757:30;9823:34;9803:18;;;9796:62;-1:-1:-1;;;9874:18:1;;;9867:35;9919:19;;14974:68:0;9543:401:1;14974:68:0;-1:-1:-1;;;;;15061:16:0;;15053:64;;;;-1:-1:-1;;;15053:64:0;;10151:2:1;15053:64:0;;;10133:21:1;10190:2;10170:18;;;10163:30;10229:34;10209:18;;;10202:62;-1:-1:-1;;;10280:18:1;;;10273:33;10323:19;;15053:64:0;9949:399:1;15053:64:0;15134:6;15144:1;15134:11;15130:93;;15162:28;15178:4;15184:2;15188:1;15162:15;:28::i;15130:93::-;15239:14;;;;;;;15235:1227;;;711:6;;-1:-1:-1;;;;;15292:15:0;;;711:6;;15292:15;;;;:49;;-1:-1:-1;711:6:0;;-1:-1:-1;;;;;15328:13:0;;;711:6;;15328:13;;15292:49;:91;;;;-1:-1:-1;;;;;;15362:21:0;;15376:6;15362:21;;15292:91;:121;;;;-1:-1:-1;15405:8:0;;;;15404:9;15292:121;15270:1181;;;-1:-1:-1;;;;;15476:11:0;;;;;;:5;:11;;;;;;;;:67;;;;-1:-1:-1;;;;;;15513:30:0;;;;;;:26;:30;;;;;;;;15512:31;15476:67;15450:984;;;15630:20;;15620:6;:30;;15586:138;;;;-1:-1:-1;;;15586:138:0;;10555:2:1;15586:138:0;;;10537:21:1;10594:2;10574:18;;;10567:30;-1:-1:-1;;;10613:18:1;;;10606:52;10675:18;;15586:138:0;10353:346:1;15586:138:0;15807:9;;-1:-1:-1;;;;;6833:18:0;;6806:7;6833:18;;;:9;:18;;;;;;15781:22;;:6;:22;:::i;:::-;:35;;15747:131;;;;-1:-1:-1;;;15747:131:0;;10906:2:1;15747:131:0;;;10888:21:1;10945:2;10925:18;;;10918:30;-1:-1:-1;;;10964:18:1;;;10957:40;11014:18;;15747:131:0;10704:334:1;15747:131:0;15450:984;;;-1:-1:-1;;;;;15949:9:0;;;;;;:5;:9;;;;;;;;:67;;;;-1:-1:-1;;;;;;15984:32:0;;;;;;:26;:32;;;;;;;;15983:33;15949:67;15923:511;;;16103:20;;16093:6;:30;;16059:138;;;;-1:-1:-1;;;16059:138:0;;10555:2:1;16059:138:0;;;10537:21:1;10594:2;10574:18;;;10567:30;-1:-1:-1;;;10613:18:1;;;10606:52;10675:18;;16059:138:0;10353:346:1;15923:511:0;-1:-1:-1;;;;;16228:30:0;;;;;;:26;:30;;;;;;;;16223:211;;16343:9;;-1:-1:-1;;;;;6833:18:0;;6806:7;6833:18;;;:9;:18;;;;;;16317:22;;:6;:22;:::i;:::-;:35;;16283:131;;;;-1:-1:-1;;;16283:131:0;;10906:2:1;16283:131:0;;;10888:21:1;10945:2;10925:18;;;10918:30;-1:-1:-1;;;10964:18:1;;;10957:40;11014:18;;16283:131:0;10704:334:1;16283:131:0;16479:15;;;;;;;16474:789;;-1:-1:-1;;;;;16555:19:0;;16523:29;16555:19;;;:13;:19;;;;;;16595:25;;16591:661;;16659:22;16717:5;16703:10;;16685:15;:28;;;;:::i;:::-;16684:38;;;;:::i;:::-;16659:63;;16764:14;;16747;:31;16743:494;;;16803:22;17046:3;16997:21;16955:14;;16938;:31;;;;:::i;:::-;:80;;;;:::i;:::-;:111;;;;:::i;:::-;16828:244;;:21;:244;:::i;:::-;16803:269;;17131:14;17121:6;17103:15;17113:4;-1:-1:-1;;;;;6833:18:0;6806:7;6833:18;;;:9;:18;;;;;;;6732:127;17103:15;:24;;;;:::i;:::-;:42;;17095:51;;;;;;16780:386;16743:494;;;17195:15;:22;;-1:-1:-1;;17195:22:0;;;;;16743:494;16622:630;16591:661;16496:767;16474:789;17291:8;;-1:-1:-1;;;;;17316:23:0;;17275:12;17316:23;;;:17;:23;;;;;;17291:8;;;;17290:9;;17316:23;;:48;;-1:-1:-1;;;;;;17343:21:0;;;;;;:17;:21;;;;;;;;17316:48;17312:96;;;-1:-1:-1;17391:5:0;17312:96;17424:7;17420:1405;;;-1:-1:-1;;;;;17487:9:0;;17450:12;17487:9;;;:5;:9;;;;;;;;:30;;;;;17516:1;17500:13;;:17;17487:30;17483:1191;;;17538:23;17586:14;;17573:10;;17564:6;:19;;;;:::i;:::-;:36;;;;:::i;:::-;17538:62;;17619:29;17679:14;;17660:16;;17651:6;:25;;;;:::i;:::-;:42;;;;:::i;:::-;17619:74;;17712:29;17772:14;;17753:16;;17744:6;:25;;;;:::i;:::-;:42;;;;:::i;:::-;17712:74;-1:-1:-1;17712:74:0;17814:39;17832:21;17814:15;:39;:::i;:::-;:63;;;;:::i;:::-;17807:70;;17914:15;17898:12;;:31;;;;;;;:::i;:::-;;;;;;;;17970:21;17948:18;;:43;;;;;;;:::i;:::-;;;;;;;;18032:21;18010:18;;:43;;;;;;;:::i;:::-;;;;-1:-1:-1;17483:1191:0;;-1:-1:-1;;;;17483:1191:0;;-1:-1:-1;;;;;18094:11:0;;;;;;:5;:11;;;;;;;;:31;;;;;18124:1;18109:12;;:16;18094:31;18090:584;;;18146:23;18193:14;;18181:9;;18172:6;:18;;;;:::i;:::-;:35;;;;:::i;:::-;18146:61;;18226:29;18285:14;;18267:15;;18258:6;:24;;;;:::i;:::-;:41;;;;:::i;:::-;18226:73;;18318:29;18377:14;;18359:15;;18350:6;:24;;;;:::i;:::-;:41;;;;:::i;:::-;18318:73;-1:-1:-1;18318:73:0;18419:39;18437:21;18419:15;:39;:::i;:::-;:63;;;;:::i;:::-;18412:70;;18519:15;18503:12;;:31;;;;;;;:::i;:::-;;;;;;;;18575:21;18553:18;;:43;;;;;;;:::i;:::-;;;;;;;;18637:21;18615:18;;:43;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;18090:584:0;18694:8;;18690:124;;18723:42;18739:4;18753;18760;18723:15;:42::i;:::-;18784:14;18794:4;18784:14;;:::i;:::-;;;18690:124;17433:1392;17420:1405;18856:8;;;;18855:9;:47;;;;-1:-1:-1;18889:13:0;;-1:-1:-1;;;;;18881:21:0;;;18889:13;;18881:21;;18855:47;:88;;;;-1:-1:-1;;;;;;18920:23:0;;;;;;:17;:23;;;;;;;;18919:24;18855:88;:127;;;;-1:-1:-1;;;;;;18961:21:0;;;;;;:17;:21;;;;;;;;18960:22;18855:127;18837:259;;;19009:8;:15;;-1:-1:-1;;19009:15:0;19020:4;19009:15;;;19041:10;:8;:10::i;:::-;19068:8;:16;;-1:-1:-1;;19068:16:0;;;18837:259;19110:33;19126:4;19132:2;19136:6;19110:15;:33::i;:::-;14963:4188;14850:4301;;;:::o;20898:353::-;21013:6;;20981:53;;20998:4;;-1:-1:-1;;;;;21013:6:0;21022:11;20981:8;:53::i;:::-;21045:6;;21187:15;;21045:198;;-1:-1:-1;;;21045:198:0;;21109:4;21045:198;;;11912:34:1;11962:18;;;11955:34;;;21045:6:0;12005:18:1;;;11998:34;;;12048:18;;;12041:34;-1:-1:-1;;;;;21187:15:0;;;12091:19:1;;;12084:44;21217:15:0;12144:19:1;;;12137:35;21045:6:0;;;:22;;21075:9;;11846:19:1;;21045:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4516:613::-;-1:-1:-1;;;;;4656:20:0;;4648:66;;;;-1:-1:-1;;;4648:66:0;;12696:2:1;4648:66:0;;;12678:21:1;12735:2;12715:18;;;12708:30;12774:34;12754:18;;;12747:62;-1:-1:-1;;;12825:18:1;;;12818:31;12866:19;;4648:66:0;12494:397:1;4648:66:0;-1:-1:-1;;;;;4733:23:0;;4725:67;;;;-1:-1:-1;;;4725:67:0;;13098:2:1;4725:67:0;;;13080:21:1;13137:2;13117:18;;;13110:30;13176:33;13156:18;;;13149:61;13227:18;;4725:67:0;12896:355:1;4725:67:0;-1:-1:-1;;;;;4829:17:0;;4805:21;4829:17;;;:9;:17;;;;;;4865:23;;;;4857:79;;;;-1:-1:-1;;;4857:79:0;;13458:2:1;4857:79:0;;;13440:21:1;13497:2;13477:18;;;13470:30;13536:34;13516:18;;;13509:62;-1:-1:-1;;;13587:18:1;;;13580:41;13638:19;;4857:79:0;13256:407:1;4857:79:0;-1:-1:-1;;;;;4972:17:0;;;;;;;:9;:17;;;;;;4992:22;;;4972:42;;5036:20;;;;;;;;:30;;5008:6;;4972:17;5036:30;;5008:6;;5036:30;:::i;:::-;;;;;;;;5101:9;-1:-1:-1;;;;;5084:35:0;5093:6;-1:-1:-1;;;;;5084:35:0;;5112:6;5084:35;;;;1934:25:1;;1922:2;1907:18;;1788:177;5084:35:0;;;;;;;;4637:492;4516:613;;;:::o;824:191::-;917:6;;;-1:-1:-1;;;;;934:17:0;;;-1:-1:-1;;;;;;934:17:0;;;;;;;967:40;;917:6;;;934:17;917:6;;967:40;;898:16;;967:40;887:128;824:191;:::o;19612:1278::-;19692:18;;19677:12;;19656:18;;:33;;;;:::i;:::-;:54;;;;:::i;:::-;19714:1;19656:59;19652:98;;19612:1278::o;19652:98::-;19762:17;19803:1;19782:18;;:22;;;;:::i;:::-;19762:42;;19815:26;19902:9;19881:18;;:30;;;;:::i;:::-;19859:18;;19844:12;;:33;;;;:::i;:::-;:68;;;;:::i;:::-;19815:97;;19923:36;19940:18;19923:16;:36::i;:::-;19972:23;20057:18;20044:9;20023:18;;:30;;;;:::i;:::-;19998:56;;:21;:56;:::i;:::-;:77;;;;:::i;:::-;19972:103;;20104:1;20092:9;:13;:36;;;;;20127:1;20109:15;:19;20092:36;20088:110;;;20145:41;20159:9;20170:15;20145:13;:41::i;:::-;20250:1;20235:12;;20214:18;;:33;;;;:::i;:::-;:37;20210:578;;;20422:12;;20401:18;;20295:21;;20268:24;;20401:33;;20422:12;20401:33;:::i;:::-;20379:18;;20360:37;;:16;:37;:::i;:::-;:75;;;;:::i;:::-;20331:104;-1:-1:-1;20450:20:0;20473:37;20331:104;20473:16;:37;:::i;:::-;20450:60;-1:-1:-1;20543:22:0;;20539:120;;20586:17;;:53;;-1:-1:-1;;;;;20586:17:0;;;;20616:18;;20586:53;;;;20616:18;20586:17;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20539:120;20679:16;;20675:102;;20716:11;;:41;;-1:-1:-1;;;;;20716:11:0;;;;20740:12;;20716:41;;;;20740:12;20716:11;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20675:102;20253:535;;;20210:578;-1:-1:-1;;20821:1:0;20800:18;:22;;;20833:12;:16;;;20860:18;:22;-1:-1:-1;19612:1278:0:o;19159:445::-;19250:16;;;19264:1;19250:16;;;;;;;;19226:21;;19250:16;;;;;;;;;;-1:-1:-1;19250:16:0;19226:40;;19295:4;19277;19282:1;19277:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19277:23:0;;;:7;;;;;;;;;;:23;;;;19321:6;;:13;;;-1:-1:-1;;;19321:13:0;;;;:6;;;;;:11;;:13;;;;;19277:7;;19321:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19311:4;19316:1;19311:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19311:23:0;;;:7;;;;;;;;;:23;19377:6;;19345:53;;19362:4;;19377:6;19386:11;19345:8;:53::i;:::-;19409:6;;:187;;-1:-1:-1;;;19409:187:0;;-1:-1:-1;;;;;19409:6:0;;;;:57;;:187;;19481:11;;19409:6;;19523:4;;19550;;19570:15;;19409:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19215:389;19159:445;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:316::-;1292:6;1300;1308;1361:2;1349:9;1340:7;1336:23;1332:32;1329:52;;;1377:1;1374;1367:12;1329:52;-1:-1:-1;;1400:23:1;;;1470:2;1455:18;;1442:32;;-1:-1:-1;1521:2:1;1506:18;;;1493:32;;1215:316;-1:-1:-1;1215:316:1:o;1536:247::-;1595:6;1648:2;1636:9;1627:7;1623:23;1619:32;1616:52;;;1664:1;1661;1654:12;1616:52;1703:9;1690:23;1722:31;1747:5;1722:31;:::i;:::-;1772:5;1536:247;-1:-1:-1;;;1536:247:1:o;1970:456::-;2047:6;2055;2063;2116:2;2104:9;2095:7;2091:23;2087:32;2084:52;;;2132:1;2129;2122:12;2084:52;2171:9;2158:23;2190:31;2215:5;2190:31;:::i;:::-;2240:5;-1:-1:-1;2297:2:1;2282:18;;2269:32;2310:33;2269:32;2310:33;:::i;:::-;1970:456;;2362:7;;-1:-1:-1;;;2416:2:1;2401:18;;;;2388:32;;1970:456::o;2828:180::-;2887:6;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;-1:-1:-1;2979:23:1;;2828:180;-1:-1:-1;2828:180:1:o;3013:367::-;3076:8;3086:6;3140:3;3133:4;3125:6;3121:17;3117:27;3107:55;;3158:1;3155;3148:12;3107:55;-1:-1:-1;3181:20:1;;3224:18;3213:30;;3210:50;;;3256:1;3253;3246:12;3210:50;3293:4;3285:6;3281:17;3269:29;;3353:3;3346:4;3336:6;3333:1;3329:14;3321:6;3317:27;3313:38;3310:47;3307:67;;;3370:1;3367;3360:12;3307:67;3013:367;;;;;:::o;3385:773::-;3507:6;3515;3523;3531;3584:2;3572:9;3563:7;3559:23;3555:32;3552:52;;;3600:1;3597;3590:12;3552:52;3640:9;3627:23;3669:18;3710:2;3702:6;3699:14;3696:34;;;3726:1;3723;3716:12;3696:34;3765:70;3827:7;3818:6;3807:9;3803:22;3765:70;:::i;:::-;3854:8;;-1:-1:-1;3739:96:1;-1:-1:-1;3942:2:1;3927:18;;3914:32;;-1:-1:-1;3958:16:1;;;3955:36;;;3987:1;3984;3977:12;3955:36;;4026:72;4090:7;4079:8;4068:9;4064:24;4026:72;:::i;:::-;3385:773;;;;-1:-1:-1;4117:8:1;-1:-1:-1;;;;3385:773:1:o;4163:416::-;4228:6;4236;4289:2;4277:9;4268:7;4264:23;4260:32;4257:52;;;4305:1;4302;4295:12;4257:52;4344:9;4331:23;4363:31;4388:5;4363:31;:::i;:::-;4413:5;-1:-1:-1;4470:2:1;4455:18;;4442:32;4512:15;;4505:23;4493:36;;4483:64;;4543:1;4540;4533:12;4483:64;4566:7;4556:17;;;4163:416;;;;;:::o;4584:248::-;4652:6;4660;4713:2;4701:9;4692:7;4688:23;4684:32;4681:52;;;4729:1;4726;4719:12;4681:52;-1:-1:-1;;4752:23:1;;;4822:2;4807:18;;;4794:32;;-1:-1:-1;4584:248:1:o;4837:388::-;4905:6;4913;4966:2;4954:9;4945:7;4941:23;4937:32;4934:52;;;4982:1;4979;4972:12;4934:52;5021:9;5008:23;5040:31;5065:5;5040:31;:::i;:::-;5090:5;-1:-1:-1;5147:2:1;5132:18;;5119:32;5160:33;5119:32;5160:33;:::i;5464:380::-;5543:1;5539:12;;;;5586;;;5607:61;;5661:4;5653:6;5649:17;5639:27;;5607:61;5714:2;5706:6;5703:14;5683:18;5680:38;5677:161;;5760:10;5755:3;5751:20;5748:1;5741:31;5795:4;5792:1;5785:15;5823:4;5820:1;5813:15;5677:161;;5464:380;;;:::o;5849:354::-;6051:2;6033:21;;;6090:2;6070:18;;;6063:30;6129:32;6124:2;6109:18;;6102:60;6194:2;6179:18;;5849:354::o;6208:356::-;6410:2;6392:21;;;6429:18;;;6422:30;6488:34;6483:2;6468:18;;6461:62;6555:2;6540:18;;6208:356::o;6569:127::-;6630:10;6625:3;6621:20;6618:1;6611:31;6661:4;6658:1;6651:15;6685:4;6682:1;6675:15;6701:125;6766:9;;;6787:10;;;6784:36;;;6800:18;;:::i;7650:127::-;7711:10;7706:3;7702:20;7699:1;7692:31;7742:4;7739:1;7732:15;7766:4;7763:1;7756:15;7782:135;7821:3;7842:17;;;7839:43;;7862:18;;:::i;:::-;-1:-1:-1;7909:1:1;7898:13;;7782:135::o;11043:128::-;11110:9;;;11131:11;;;11128:37;;;11145:18;;:::i;11176:217::-;11216:1;11242;11232:132;;11286:10;11281:3;11277:20;11274:1;11267:31;11321:4;11318:1;11311:15;11349:4;11346:1;11339:15;11232:132;-1:-1:-1;11378:9:1;;11176:217::o;11398:168::-;11471:9;;;11502;;11519:15;;;11513:22;;11499:37;11489:71;;11540:18;;:::i;12183:306::-;12271:6;12279;12287;12340:2;12328:9;12319:7;12315:23;12311:32;12308:52;;;12356:1;12353;12346:12;12308:52;12385:9;12379:16;12369:26;;12435:2;12424:9;12420:18;12414:25;12404:35;;12479:2;12468:9;12464:18;12458:25;12448:35;;12183:306;;;;;:::o;14010:251::-;14080:6;14133:2;14121:9;14112:7;14108:23;14104:32;14101:52;;;14149:1;14146;14139:12;14101:52;14181:9;14175:16;14200:31;14225:5;14200:31;:::i;14266:980::-;14528:4;14576:3;14565:9;14561:19;14607:6;14596:9;14589:25;14633:2;14671:6;14666:2;14655:9;14651:18;14644:34;14714:3;14709:2;14698:9;14694:18;14687:31;14738:6;14773;14767:13;14804:6;14796;14789:22;14842:3;14831:9;14827:19;14820:26;;14881:2;14873:6;14869:15;14855:29;;14902:1;14912:195;14926:6;14923:1;14920:13;14912:195;;;14991:13;;-1:-1:-1;;;;;14987:39:1;14975:52;;15082:15;;;;15047:12;;;;15023:1;14941:9;14912:195;;;-1:-1:-1;;;;;;;15163:32:1;;;;15158:2;15143:18;;15136:60;-1:-1:-1;;;15227:3:1;15212:19;15205:35;15124:3;14266:980;-1:-1:-1;;;14266:980:1:o

Swarm Source

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