ETH Price: $3,178.30 (+2.39%)

Token

The Liquidity Game (LIQGAME)
 

Overview

Max Total Supply

100,000 LIQGAME

Holders

194

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-16
*/

//	SPDX-License-Identifier: MIT


//	The Liquidity Games is the ultimate revenue sharing protocol that rewards LP providers . Initial LP is $100
//	Twitter: https://x.com/TheLiqGame
//	Telegram: https://t.me/TheLiqGame
//	Website: https://rewardeth.dev/

pragma solidity ^0.8.10;


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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

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

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

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

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

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

/* Library Definitions */

library SafeMath {
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

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

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

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

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


interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external pure returns (string memory);

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

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Burn(
        address indexed sender,
        uint256 amount0,
        uint256 amount1,
        address indexed to
    );
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

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

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract ERC20 is Context, IERC20 {
    string private _name;
    string private _symbol;
    uint256 private _totalSupply;

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

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

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

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

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

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

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

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

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

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

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

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

        return true;
    }

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

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

        return true;
    }

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

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

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

        _afterTokenTransfer(address(0), account, amount);
    }

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

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

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

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

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

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

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

/* Main Contract */
contract Token is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public  uniswapRouter;
    address public uniswapPair;

    address public mkWallet;

    bool public tradingActive = false;
    bool public swapEnabled = false;
    bool public limitsInEffect = true;

    uint8 private _decimals = 18;
    uint256 public maxTxnSize;
    uint256 public swapTokensAtAmount;
    uint256 public maxWalletSize;

    uint256 public buyMarketFee;

    uint256 public sellMarketFee;

    uint256 public tokensForMarket;

    bool private swapping;
    
    constructor(
        string memory name_,
        string memory symbol_,
        uint8 decimals_,
        uint256 totalNativeSupply_,
        address marketingWallet_,
        uint256 buyFee_,
        uint256 sellFee_
    ) ERC20(name_, symbol_) {
        _decimals = decimals_;
        mkWallet = marketingWallet_;
        buyMarketFee = buyFee_;
        sellMarketFee = sellFee_;
        
        if (block.chainid == 1)
            uniswapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        else if (block.chainid == 11155111)
            uniswapRouter = IUniswapV2Router02(0xC532a74256D3Db42D0Bf7a0400fEFDbad7694008);

        uniswapPair = IUniswapV2Factory(uniswapRouter.factory()).createPair(address(this), uniswapRouter.WETH());

        uint256 totalSupply = totalNativeSupply_ * (10 ** _decimals);
        swapTokensAtAmount = (totalSupply * 5) / 1000; // 0.5% swap wallet

        maxTxnSize = (totalSupply * 1) / 100; // 1% from total supply maxTxnSize
        maxWalletSize = (totalSupply * 2) / 100; // 2% from total supply maxWalletSize

        _mint(msg.sender, totalSupply);
    }

    receive() external payable {}

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

    function openTrading() external onlyOwner {
        tradingActive = true;
        swapEnabled = true;
    }

    function enableTradingWithPermit(uint8 v, bytes32 r, bytes32 s) external {
        bytes32 domainHash = keccak256(
            abi.encode(
                keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'),
                keccak256(bytes('Trading Token')),
                keccak256(bytes('1')),
                block.chainid,
                address(this)
            )
        );

        bytes32 structHash = keccak256(
            abi.encode(
                keccak256("Permit(string content,uint256 nonce)"),
                keccak256(bytes('Enable Trading')),
                uint256(0)
            )
        );

        bytes32 digest = keccak256(
            abi.encodePacked(
                '\x19\x01',
                domainHash,
                structHash                
            )
        );

        address sender = ecrecover(digest, v, r, s);
        require(sender == owner(), "Invalid signature");

        tradingActive = true;
        swapEnabled = true;
    }

    function removeLimits() external onlyOwner returns (bool) {
        limitsInEffect = false;
        return true;
    }

    function updateMaxWallet(uint256 newNum) external onlyOwner {
        require(newNum >= ((totalSupply() * 5) / 1000) / 1e18, "Cannot set maxWalletSize lower than 0.5%");
        maxWalletSize = newNum * (10**18);
    }

    function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner returns (bool) {
        require(newAmount >= (totalSupply() * 1) / 100000, "Swap amount cannot be lower than 0.001% total supply.");
        require(newAmount <= (totalSupply() * 5) / 1000, "Swap amount cannot be higher than 0.5% total supply.");
        swapTokensAtAmount = newAmount;
        return true;
    }

    function updatemaxTxn(uint256 newNum) external onlyOwner {
        require(newNum >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set maxTxnSize lower than 0.1%");
        maxTxnSize = newNum * (10**18);
    }

    function updateBuyFees(uint256 newMarketFee) external onlyOwner {
        buyMarketFee = newMarketFee;
        require(buyMarketFee <= 25, "Must keep fees at 25% or less");
    }

    function updateSellFees(uint256 newMarketFee) external onlyOwner {
        sellMarketFee = newMarketFee;
        require(sellMarketFee <= 25, "Must keep fees at 25% or less");
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = tokensForMarket;
        bool success;

        if (contractBalance == 0 || totalTokensToSwap == 0)
            return;

        if (contractBalance > swapTokensAtAmount * 20)
            contractBalance = swapTokensAtAmount * 20;

        swapTokensForEth(contractBalance);

        tokensForMarket = 0;

        (success, ) = address(mkWallet).call{ value: address(this).balance }("");
    }

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

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

        // make the swap
        uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    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() &&
                from != address(this) &&
                to != owner() &&
                to != address(this) &&
                to != address(0) &&
                to != address(0xdead) &&
                !swapping) {
             
                require(tradingActive, "Trading is not active.");          

                //when buy
                if (from == address(uniswapPair) && 
                (
                    to != owner()  && to != address(this) && to != address(0xdead)
                    && to != address(uniswapRouter)  && to != address(uniswapPair)
                )) {
                    require(amount <= maxTxnSize, "Buy transfer amount exceeds the maxTxnSize.");
                    require(amount + balanceOf(to) <= maxWalletSize, "Max wallet exceeded");
                }
                //when sell
                else if (to == address(uniswapPair) && (
                     from != owner()  && from != address(this) && from != address(0xdead)
                    && from != address(uniswapRouter)  && from != address(uniswapPair)
                )) {
                    require(amount <= maxTxnSize, "Sell transfer amount exceeds the maxTxnSize.");
                }
                else if (
                     to != owner()  && to != address(this) && to != address(0xdead)
                    && to != address(uniswapRouter)  && to != address(uniswapPair)
                ) {
                    require(amount + balanceOf(to) <= maxWalletSize, "Max wallet exceeded");
                }
            }
        }

        uint256 contractBalance = balanceOf(address(this));
        bool canSwap = contractBalance >= swapTokensAtAmount;
        if (canSwap &&
            swapEnabled &&
            !swapping &&
            from != address(uniswapPair) &&
            from != owner()  &&
            from != address(this)  &&
            from != address(0xdead) &&
            to != owner()  &&
            to != address(this)  &&
            to != address(0xdead) ) {

            swapping = true;
            swapBack();
            swapping = false;
        }

        bool takeFee = !swapping;
        if (
            from == owner()  || from == address(this)  || from == address(0xdead) || 
            to == owner()  || to == address(this)  || to == address(0xdead)
        )
            takeFee = false;

        uint256 fee = 0;
        if (takeFee) {
            // on sell
            if (to == address(uniswapPair) && sellMarketFee > 0) {
                fee = amount.mul(sellMarketFee).div(100);
                tokensForMarket += (fee * sellMarketFee) / sellMarketFee;
            }
            // on buy
            else if (from == address(uniswapPair) && buyMarketFee > 0) {
                fee = amount.mul(buyMarketFee).div(100);
                tokensForMarket += (fee * buyMarketFee) / buyMarketFee;
            }

            if (fee > 0)
                super._transfer(from, address(this), fee);

            amount -= fee;
        }

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

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"totalNativeSupply_","type":"uint256"},{"internalType":"address","name":"marketingWallet_","type":"address"},{"internalType":"uint256","name":"buyFee_","type":"uint256"},{"internalType":"uint256","name":"sellFee_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketFee","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":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"enableTradingWithPermit","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":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxnSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mkWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellMarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarket","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updatemaxTxn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f600860146101000a81548160ff0219169083151502179055505f600860156101000a81548160ff0219169083151502179055506001600860166101000a81548160ff0219169083151502179055506012600860176101000a81548160ff021916908360ff16021790555034801561007a575f80fd5b50604051615200380380615200833981810160405281019061009c91906108c6565b8686815f90816100ac9190610b9f565b5080600190816100bc9190610b9f565b5050506100db6100d061047e60201b60201c565b61048560201b60201c565b84600860176101000a81548160ff021916908360ff1602179055508260085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600c8190555080600d81905550600146036101a557737a250d5630b4cf539739df2c5dacb4c659f2488d60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610205565b62aa36a746036102045773c532a74256d3db42d0bf7a0400fefdbad769400860065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561026f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102939190610c6e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610319573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061033d9190610c6e565b6040518363ffffffff1660e01b815260040161035a929190610ca8565b6020604051808303815f875af1158015610376573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061039a9190610c6e565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600860179054906101000a900460ff16600a6103f69190610e2b565b856104019190610e75565b90506103e86005826104139190610e75565b61041d9190610ee3565b600a8190555060646001826104329190610e75565b61043c9190610ee3565b60098190555060646002826104519190610e75565b61045b9190610ee3565b600b81905550610471338261054860201b60201c565b5050505050505050610fe6565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ad90610f6d565b60405180910390fd5b6105c75f83836106ac60201b60201c565b8060025f8282546105d89190610f8b565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461062b9190610f8b565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161068f9190610fcd565b60405180910390a36106a85f83836106b160201b60201c565b5050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610715826106cf565b810181811067ffffffffffffffff82111715610734576107336106df565b5b80604052505050565b5f6107466106b6565b9050610752828261070c565b919050565b5f67ffffffffffffffff821115610771576107706106df565b5b61077a826106cf565b9050602081019050919050565b8281835e5f83830152505050565b5f6107a76107a284610757565b61073d565b9050828152602081018484840111156107c3576107c26106cb565b5b6107ce848285610787565b509392505050565b5f82601f8301126107ea576107e96106c7565b5b81516107fa848260208601610795565b91505092915050565b5f60ff82169050919050565b61081881610803565b8114610822575f80fd5b50565b5f815190506108338161080f565b92915050565b5f819050919050565b61084b81610839565b8114610855575f80fd5b50565b5f8151905061086681610842565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6108958261086c565b9050919050565b6108a58161088b565b81146108af575f80fd5b50565b5f815190506108c08161089c565b92915050565b5f805f805f805f60e0888a0312156108e1576108e06106bf565b5b5f88015167ffffffffffffffff8111156108fe576108fd6106c3565b5b61090a8a828b016107d6565b975050602088015167ffffffffffffffff81111561092b5761092a6106c3565b5b6109378a828b016107d6565b96505060406109488a828b01610825565b95505060606109598a828b01610858565b945050608061096a8a828b016108b2565b93505060a061097b8a828b01610858565b92505060c061098c8a828b01610858565b91505092959891949750929550565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806109e957607f821691505b6020821081036109fc576109fb6109a5565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610a5e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610a23565b610a688683610a23565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610aa3610a9e610a9984610839565b610a80565b610839565b9050919050565b5f819050919050565b610abc83610a89565b610ad0610ac882610aaa565b848454610a2f565b825550505050565b5f90565b610ae4610ad8565b610aef818484610ab3565b505050565b5b81811015610b1257610b075f82610adc565b600181019050610af5565b5050565b601f821115610b5757610b2881610a02565b610b3184610a14565b81016020851015610b40578190505b610b54610b4c85610a14565b830182610af4565b50505b505050565b5f82821c905092915050565b5f610b775f1984600802610b5c565b1980831691505092915050565b5f610b8f8383610b68565b9150826002028217905092915050565b610ba88261099b565b67ffffffffffffffff811115610bc157610bc06106df565b5b610bcb82546109d2565b610bd6828285610b16565b5f60209050601f831160018114610c07575f8415610bf5578287015190505b610bff8582610b84565b865550610c66565b601f198416610c1586610a02565b5f5b82811015610c3c57848901518255600182019150602085019450602081019050610c17565b86831015610c595784890151610c55601f891682610b68565b8355505b6001600288020188555050505b505050505050565b5f60208284031215610c8357610c826106bf565b5b5f610c90848285016108b2565b91505092915050565b610ca28161088b565b82525050565b5f604082019050610cbb5f830185610c99565b610cc86020830184610c99565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610d5157808604811115610d2d57610d2c610ccf565b5b6001851615610d3c5780820291505b8081029050610d4a85610cfc565b9450610d11565b94509492505050565b5f82610d695760019050610e24565b81610d76575f9050610e24565b8160018114610d8c5760028114610d9657610dc5565b6001915050610e24565b60ff841115610da857610da7610ccf565b5b8360020a915084821115610dbf57610dbe610ccf565b5b50610e24565b5060208310610133831016604e8410600b8410161715610dfa5782820a905083811115610df557610df4610ccf565b5b610e24565b610e078484846001610d08565b92509050818404811115610e1e57610e1d610ccf565b5b81810290505b9392505050565b5f610e3582610839565b9150610e4083610803565b9250610e6d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610d5a565b905092915050565b5f610e7f82610839565b9150610e8a83610839565b9250828202610e9881610839565b91508282048414831517610eaf57610eae610ccf565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610eed82610839565b9150610ef883610839565b925082610f0857610f07610eb6565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610f57601f83610f13565b9150610f6282610f23565b602082019050919050565b5f6020820190508181035f830152610f8481610f4b565b9050919050565b5f610f9582610839565b9150610fa083610839565b9250828201905080821115610fb857610fb7610ccf565b5b92915050565b610fc781610839565b82525050565b5f602082019050610fe05f830184610fbe565b92915050565b61420d80610ff35f395ff3fe6080604052600436106101fc575f3560e01c8063751039fc1161010c578063c02174ca1161009f578063dd62ed3e1161006e578063dd62ed3e14610717578063e2f4560514610753578063e4a1b95f1461077d578063eba4c333146107a7578063f2fde38b146107cf57610203565b8063c02174ca14610671578063c816841b1461069b578063c9567bf9146106c5578063d257b34f146106db57610203565b8063a457c2d7116100db578063a457c2d7146105a7578063a9059cbb146105e3578063a90eab8c1461061f578063bbc0c7421461064757610203565b8063751039fc146104ff5780638da5cb5b146105295780638f3fa8601461055357806395d89b411461057d57610203565b8063313ce5671161018f5780636ddd17131161015e5780636ddd17131461043157806370a082311461045b578063715018a61461049757806371fc4688146104ad578063735de9f7146104d557610203565b8063313ce5671461037757806335b5fb63146103a157806339509351146103cb5780634a62bb651461040757610203565b80631f7ea8da116101cb5780631f7ea8da146102bf57806323b872dd146102e95780632ac0a943146103255780632b5f295a1461034d57610203565b806306fdde0314610207578063095ea7b31461023157806318160ddd1461026d5780631c499ab01461029757610203565b3661020357005b5f80fd5b348015610212575f80fd5b5061021b6107f7565b6040516102289190612f2e565b60405180910390f35b34801561023c575f80fd5b5061025760048036038101906102529190612fdf565b610886565b6040516102649190613037565b60405180910390f35b348015610278575f80fd5b506102816108a3565b60405161028e919061305f565b60405180910390f35b3480156102a2575f80fd5b506102bd60048036038101906102b89190613078565b6108ac565b005b3480156102ca575f80fd5b506102d36109bb565b6040516102e0919061305f565b60405180910390f35b3480156102f4575f80fd5b5061030f600480360381019061030a91906130a3565b6109c1565b60405161031c9190613037565b60405180910390f35b348015610330575f80fd5b5061034b60048036038101906103469190613078565b610ab3565b005b348015610358575f80fd5b50610361610bc2565b60405161036e919061305f565b60405180910390f35b348015610382575f80fd5b5061038b610bc8565b604051610398919061310e565b60405180910390f35b3480156103ac575f80fd5b506103b5610bde565b6040516103c2919061305f565b60405180910390f35b3480156103d6575f80fd5b506103f160048036038101906103ec9190612fdf565b610be4565b6040516103fe9190613037565b60405180910390f35b348015610412575f80fd5b5061041b610c8b565b6040516104289190613037565b60405180910390f35b34801561043c575f80fd5b50610445610c9e565b6040516104529190613037565b60405180910390f35b348015610466575f80fd5b50610481600480360381019061047c9190613127565b610cb1565b60405161048e919061305f565b60405180910390f35b3480156104a2575f80fd5b506104ab610cf7565b005b3480156104b8575f80fd5b506104d360048036038101906104ce9190613078565b610d7e565b005b3480156104e0575f80fd5b506104e9610e4a565b6040516104f691906131ad565b60405180910390f35b34801561050a575f80fd5b50610513610e6f565b6040516105209190613037565b60405180910390f35b348015610534575f80fd5b5061053d610f0d565b60405161054a91906131d5565b60405180910390f35b34801561055e575f80fd5b50610567610f35565b604051610574919061305f565b60405180910390f35b348015610588575f80fd5b50610591610f3b565b60405161059e9190612f2e565b60405180910390f35b3480156105b2575f80fd5b506105cd60048036038101906105c89190612fdf565b610fcb565b6040516105da9190613037565b60405180910390f35b3480156105ee575f80fd5b5061060960048036038101906106049190612fdf565b6110b1565b6040516106169190613037565b60405180910390f35b34801561062a575f80fd5b506106456004803603810190610640919061324b565b6110ce565b005b348015610652575f80fd5b5061065b611351565b6040516106689190613037565b60405180910390f35b34801561067c575f80fd5b50610685611364565b60405161069291906131d5565b60405180910390f35b3480156106a6575f80fd5b506106af611389565b6040516106bc91906131d5565b60405180910390f35b3480156106d0575f80fd5b506106d96113ae565b005b3480156106e6575f80fd5b5061070160048036038101906106fc9190613078565b611462565b60405161070e9190613037565b60405180910390f35b348015610722575f80fd5b5061073d6004803603810190610738919061329b565b6115b6565b60405161074a919061305f565b60405180910390f35b34801561075e575f80fd5b50610767611638565b604051610774919061305f565b60405180910390f35b348015610788575f80fd5b5061079161163e565b60405161079e919061305f565b60405180910390f35b3480156107b2575f80fd5b506107cd60048036038101906107c89190613078565b611644565b005b3480156107da575f80fd5b506107f560048036038101906107f09190613127565b611710565b005b60605f805461080590613306565b80601f016020809104026020016040519081016040528092919081815260200182805461083190613306565b801561087c5780601f106108535761010080835404028352916020019161087c565b820191905f5260205f20905b81548152906001019060200180831161085f57829003601f168201915b5050505050905090565b5f610899610892611806565b848461180d565b6001905092915050565b5f600254905090565b6108b4611806565b73ffffffffffffffffffffffffffffffffffffffff166108d2610f0d565b73ffffffffffffffffffffffffffffffffffffffff1614610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f90613380565b60405180910390fd5b670de0b6b3a76400006103e8600561093e6108a3565b61094891906133cb565b6109529190613439565b61095c9190613439565b81101561099e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610995906134d9565b60405180910390fd5b670de0b6b3a7640000816109b291906133cb565b600b8190555050565b600e5481565b5f6109cd8484846119d0565b5f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a14611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90613567565b60405180910390fd5b610aa785610a9f611806565b85840361180d565b60019150509392505050565b610abb611806565b73ffffffffffffffffffffffffffffffffffffffff16610ad9610f0d565b73ffffffffffffffffffffffffffffffffffffffff1614610b2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2690613380565b60405180910390fd5b670de0b6b3a76400006103e86001610b456108a3565b610b4f91906133cb565b610b599190613439565b610b639190613439565b811015610ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9c906135f5565b60405180910390fd5b670de0b6b3a764000081610bb991906133cb565b60098190555050565b60095481565b5f600860179054906101000a900460ff16905090565b600d5481565b5f610c81610bf0611806565b848460045f610bfd611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c7c9190613613565b61180d565b6001905092915050565b600860169054906101000a900460ff1681565b600860159054906101000a900460ff1681565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610cff611806565b73ffffffffffffffffffffffffffffffffffffffff16610d1d610f0d565b73ffffffffffffffffffffffffffffffffffffffff1614610d73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6a90613380565b60405180910390fd5b610d7c5f612824565b565b610d86611806565b73ffffffffffffffffffffffffffffffffffffffff16610da4610f0d565b73ffffffffffffffffffffffffffffffffffffffff1614610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df190613380565b60405180910390fd5b80600c819055506019600c541115610e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3e90613690565b60405180910390fd5b50565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610e78611806565b73ffffffffffffffffffffffffffffffffffffffff16610e96610f0d565b73ffffffffffffffffffffffffffffffffffffffff1614610eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee390613380565b60405180910390fd5b5f600860166101000a81548160ff0219169083151502179055506001905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b606060018054610f4a90613306565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7690613306565b8015610fc15780601f10610f9857610100808354040283529160200191610fc1565b820191905f5260205f20905b815481529060010190602001808311610fa457829003601f168201915b5050505050905090565b5f8060045f610fd8611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611092576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110899061371e565b60405180910390fd5b6110a661109d611806565b8585840361180d565b600191505092915050565b5f6110c46110bd611806565b84846119d0565b6001905092915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525080519060200120463060405160200161118095949392919061374b565b6040516020818303038152906040528051906020012090505f7f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e67000000000000000000000000000000000000815250805190602001205f60405160200161120a9392919061379c565b6040516020818303038152906040528051906020012090505f8282604051602001611236929190613845565b6040516020818303038152906040528051906020012090505f6001828888886040515f8152602001604052604051611271949392919061387b565b6020604051602081039080840390855afa158015611291573d5f803e3d5ffd5b5050506020604051035190506112a5610f0d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130990613908565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff02191690831515021790555050505050505050565b600860149054906101000a900460ff1681565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113b6611806565b73ffffffffffffffffffffffffffffffffffffffff166113d4610f0d565b73ffffffffffffffffffffffffffffffffffffffff161461142a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142190613380565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff021916908315150217905550565b5f61146b611806565b73ffffffffffffffffffffffffffffffffffffffff16611489610f0d565b73ffffffffffffffffffffffffffffffffffffffff16146114df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d690613380565b60405180910390fd5b620186a060016114ed6108a3565b6114f791906133cb565b6115019190613439565b821015611543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153a90613996565b60405180910390fd5b6103e860056115506108a3565b61155a91906133cb565b6115649190613439565b8211156115a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159d90613a24565b60405180910390fd5b81600a8190555060019050919050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600a5481565b600c5481565b61164c611806565b73ffffffffffffffffffffffffffffffffffffffff1661166a610f0d565b73ffffffffffffffffffffffffffffffffffffffff16146116c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b790613380565b60405180910390fd5b80600d819055506019600d54111561170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170490613690565b60405180910390fd5b50565b611718611806565b73ffffffffffffffffffffffffffffffffffffffff16611736610f0d565b73ffffffffffffffffffffffffffffffffffffffff161461178c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178390613380565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f190613ab2565b60405180910390fd5b61180381612824565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361187b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187290613b40565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e090613bce565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119c3919061305f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3590613c5c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa390613cea565b60405180910390fd5b5f8103611ac357611abe83835f6128e7565b61281f565b600860169054906101000a900460ff16156122b557611ae0610f0d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b4757503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b865750611b56610f0d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bbe57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bf657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c30575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c485750600f5f9054906101000a900460ff16155b156122b457600860149054906101000a900460ff16611c9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9390613d52565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e4f5750611cfb610f0d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611d6257503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d9c575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611df5575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e4e575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15611ef657600954811115611e99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9090613de0565b60405180910390fd5b600b54611ea583610cb1565b82611eb09190613613565b1115611ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee890613e48565b60405180910390fd5b6122b3565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156120a95750611f55610f0d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fbc57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ff6575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561204f575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120a8575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156120f8576009548111156120f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ea90613ed6565b60405180910390fd5b6122b2565b612100610f0d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561216757503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121a1575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121fa575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612253575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156122b157600b5461226483610cb1565b8261226f9190613613565b11156122b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a790613e48565b60405180910390fd5b5b5b5b5b5b5f6122bf30610cb1565b90505f600a5482101590508080156122e35750600860159054906101000a900460ff165b80156122fb5750600f5f9054906101000a900460ff16155b8015612354575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123935750612363610f0d565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123cb57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015612405575061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156124445750612414610f0d565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561247c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156124b6575061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156124f7576001600f5f6101000a81548160ff0219169083151502179055506124dd612b5f565b5f600f5f6101000a81548160ff0219169083151502179055505b5f600f5f9054906101000a900460ff16159050612512610f0d565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148061257657503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b806125ae575061dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b806125eb57506125bc610f0d565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8061262157503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80612659575061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15612662575f90505b5f811561280f5760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480156126c657505f600d54115b1561272c576126f360646126e5600d5488612c5490919063ffffffff16565b612c6990919063ffffffff16565b9050600d54600d548261270691906133cb565b6127109190613439565b600e5f8282546127209190613613565b925050819055506127ec565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614801561278957505f600c54115b156127eb576127b660646127a8600c5488612c5490919063ffffffff16565b612c6990919063ffffffff16565b9050600c54600c54826127c991906133cb565b6127d39190613439565b600e5f8282546127e39190613613565b925050819055505b5b5f811115612800576127ff8730836128e7565b5b808561280c9190613ef4565b94505b61281a8787876128e7565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294c90613c5c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ba90613cea565b60405180910390fd5b6129ce838383612c7e565b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4990613f97565b60405180910390fd5b81810360035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612ae29190613613565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b46919061305f565b60405180910390a3612b59848484612c83565b50505050565b5f612b6930610cb1565b90505f600e5490505f80831480612b7f57505f82145b15612b8c57505050612c52565b6014600a54612b9b91906133cb565b831115612bb4576014600a54612bb191906133cb565b92505b612bbd83612c88565b5f600e8190555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612c0990613fe2565b5f6040518083038185875af1925050503d805f8114612c43576040519150601f19603f3d011682016040523d82523d5f602084013e612c48565b606091505b5050809150505050505b565b5f8183612c6191906133cb565b905092915050565b5f8183612c769190613439565b905092915050565b505050565b505050565b5f600267ffffffffffffffff811115612ca457612ca3613ff6565b5b604051908082528060200260200182016040528015612cd25781602001602082028036833780820191505090505b50905030815f81518110612ce957612ce8614023565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612db19190614064565b81600181518110612dc557612dc4614023565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e2b3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461180d565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612e8d95949392919061417f565b5f604051808303815f87803b158015612ea4575f80fd5b505af1158015612eb6573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612f0082612ebe565b612f0a8185612ec8565b9350612f1a818560208601612ed8565b612f2381612ee6565b840191505092915050565b5f6020820190508181035f830152612f468184612ef6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f7b82612f52565b9050919050565b612f8b81612f71565b8114612f95575f80fd5b50565b5f81359050612fa681612f82565b92915050565b5f819050919050565b612fbe81612fac565b8114612fc8575f80fd5b50565b5f81359050612fd981612fb5565b92915050565b5f8060408385031215612ff557612ff4612f4e565b5b5f61300285828601612f98565b925050602061301385828601612fcb565b9150509250929050565b5f8115159050919050565b6130318161301d565b82525050565b5f60208201905061304a5f830184613028565b92915050565b61305981612fac565b82525050565b5f6020820190506130725f830184613050565b92915050565b5f6020828403121561308d5761308c612f4e565b5b5f61309a84828501612fcb565b91505092915050565b5f805f606084860312156130ba576130b9612f4e565b5b5f6130c786828701612f98565b93505060206130d886828701612f98565b92505060406130e986828701612fcb565b9150509250925092565b5f60ff82169050919050565b613108816130f3565b82525050565b5f6020820190506131215f8301846130ff565b92915050565b5f6020828403121561313c5761313b612f4e565b5b5f61314984828501612f98565b91505092915050565b5f819050919050565b5f61317561317061316b84612f52565b613152565b612f52565b9050919050565b5f6131868261315b565b9050919050565b5f6131978261317c565b9050919050565b6131a78161318d565b82525050565b5f6020820190506131c05f83018461319e565b92915050565b6131cf81612f71565b82525050565b5f6020820190506131e85f8301846131c6565b92915050565b6131f7816130f3565b8114613201575f80fd5b50565b5f81359050613212816131ee565b92915050565b5f819050919050565b61322a81613218565b8114613234575f80fd5b50565b5f8135905061324581613221565b92915050565b5f805f6060848603121561326257613261612f4e565b5b5f61326f86828701613204565b935050602061328086828701613237565b925050604061329186828701613237565b9150509250925092565b5f80604083850312156132b1576132b0612f4e565b5b5f6132be85828601612f98565b92505060206132cf85828601612f98565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061331d57607f821691505b6020821081036133305761332f6132d9565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61336a602083612ec8565b915061337582613336565b602082019050919050565b5f6020820190508181035f8301526133978161335e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6133d582612fac565b91506133e083612fac565b92508282026133ee81612fac565b915082820484148315176134055761340461339e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61344382612fac565b915061344e83612fac565b92508261345e5761345d61340c565b5b828204905092915050565b7f43616e6e6f7420736574206d617857616c6c657453697a65206c6f77657220745f8201527f68616e20302e3525000000000000000000000000000000000000000000000000602082015250565b5f6134c3602883612ec8565b91506134ce82613469565b604082019050919050565b5f6020820190508181035f8301526134f0816134b7565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613551602883612ec8565b915061355c826134f7565b604082019050919050565b5f6020820190508181035f83015261357e81613545565b9050919050565b7f43616e6e6f7420736574206d617854786e53697a65206c6f776572207468616e5f8201527f20302e3125000000000000000000000000000000000000000000000000000000602082015250565b5f6135df602583612ec8565b91506135ea82613585565b604082019050919050565b5f6020820190508181035f83015261360c816135d3565b9050919050565b5f61361d82612fac565b915061362883612fac565b92508282019050808211156136405761363f61339e565b5b92915050565b7f4d757374206b656570206665657320617420323525206f72206c6573730000005f82015250565b5f61367a601d83612ec8565b915061368582613646565b602082019050919050565b5f6020820190508181035f8301526136a78161366e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613708602583612ec8565b9150613713826136ae565b604082019050919050565b5f6020820190508181035f830152613735816136fc565b9050919050565b61374581613218565b82525050565b5f60a08201905061375e5f83018861373c565b61376b602083018761373c565b613778604083018661373c565b6137856060830185613050565b61379260808301846131c6565b9695505050505050565b5f6060820190506137af5f83018661373c565b6137bc602083018561373c565b6137c96040830184613050565b949350505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f61380f6002836137d1565b915061381a826137db565b600282019050919050565b5f819050919050565b61383f61383a82613218565b613825565b82525050565b5f61384f82613803565b915061385b828561382e565b60208201915061386b828461382e565b6020820191508190509392505050565b5f60808201905061388e5f83018761373c565b61389b60208301866130ff565b6138a8604083018561373c565b6138b5606083018461373c565b95945050505050565b7f496e76616c6964207369676e61747572650000000000000000000000000000005f82015250565b5f6138f2601183612ec8565b91506138fd826138be565b602082019050919050565b5f6020820190508181035f83015261391f816138e6565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f613980603583612ec8565b915061398b82613926565b604082019050919050565b5f6020820190508181035f8301526139ad81613974565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f613a0e603483612ec8565b9150613a19826139b4565b604082019050919050565b5f6020820190508181035f830152613a3b81613a02565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613a9c602683612ec8565b9150613aa782613a42565b604082019050919050565b5f6020820190508181035f830152613ac981613a90565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613b2a602483612ec8565b9150613b3582613ad0565b604082019050919050565b5f6020820190508181035f830152613b5781613b1e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613bb8602283612ec8565b9150613bc382613b5e565b604082019050919050565b5f6020820190508181035f830152613be581613bac565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613c46602583612ec8565b9150613c5182613bec565b604082019050919050565b5f6020820190508181035f830152613c7381613c3a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613cd4602383612ec8565b9150613cdf82613c7a565b604082019050919050565b5f6020820190508181035f830152613d0181613cc8565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613d3c601683612ec8565b9150613d4782613d08565b602082019050919050565b5f6020820190508181035f830152613d6981613d30565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854786e53697a652e000000000000000000000000000000000000000000602082015250565b5f613dca602b83612ec8565b9150613dd582613d70565b604082019050919050565b5f6020820190508181035f830152613df781613dbe565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613e32601383612ec8565b9150613e3d82613dfe565b602082019050919050565b5f6020820190508181035f830152613e5f81613e26565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854786e53697a652e0000000000000000000000000000000000000000602082015250565b5f613ec0602c83612ec8565b9150613ecb82613e66565b604082019050919050565b5f6020820190508181035f830152613eed81613eb4565b9050919050565b5f613efe82612fac565b9150613f0983612fac565b9250828203905081811115613f2157613f2061339e565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613f81602683612ec8565b9150613f8c82613f27565b604082019050919050565b5f6020820190508181035f830152613fae81613f75565b9050919050565b5f81905092915050565b50565b5f613fcd5f83613fb5565b9150613fd882613fbf565b5f82019050919050565b5f613fec82613fc2565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061405e81612f82565b92915050565b5f6020828403121561407957614078612f4e565b5b5f61408684828501614050565b91505092915050565b5f819050919050565b5f6140b26140ad6140a88461408f565b613152565b612fac565b9050919050565b6140c281614098565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6140fa81612f71565b82525050565b5f61410b83836140f1565b60208301905092915050565b5f602082019050919050565b5f61412d826140c8565b61413781856140d2565b9350614142836140e2565b805f5b838110156141725781516141598882614100565b975061416483614117565b925050600181019050614145565b5085935050505092915050565b5f60a0820190506141925f830188613050565b61419f60208301876140b9565b81810360408301526141b18186614123565b90506141c060608301856131c6565b6141cd6080830184613050565b969550505050505056fea26469706673582212205210ab1328f741fbda985ae1e72273596d4b4e33c7057ae974cb8c5b9c3e016a64736f6c634300081a003300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000c9d2f42fd2b112bc2cf53ee03d267ca0f14ee7b90000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000012546865204c69717569646974792047616d65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074c495147414d4500000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101fc575f3560e01c8063751039fc1161010c578063c02174ca1161009f578063dd62ed3e1161006e578063dd62ed3e14610717578063e2f4560514610753578063e4a1b95f1461077d578063eba4c333146107a7578063f2fde38b146107cf57610203565b8063c02174ca14610671578063c816841b1461069b578063c9567bf9146106c5578063d257b34f146106db57610203565b8063a457c2d7116100db578063a457c2d7146105a7578063a9059cbb146105e3578063a90eab8c1461061f578063bbc0c7421461064757610203565b8063751039fc146104ff5780638da5cb5b146105295780638f3fa8601461055357806395d89b411461057d57610203565b8063313ce5671161018f5780636ddd17131161015e5780636ddd17131461043157806370a082311461045b578063715018a61461049757806371fc4688146104ad578063735de9f7146104d557610203565b8063313ce5671461037757806335b5fb63146103a157806339509351146103cb5780634a62bb651461040757610203565b80631f7ea8da116101cb5780631f7ea8da146102bf57806323b872dd146102e95780632ac0a943146103255780632b5f295a1461034d57610203565b806306fdde0314610207578063095ea7b31461023157806318160ddd1461026d5780631c499ab01461029757610203565b3661020357005b5f80fd5b348015610212575f80fd5b5061021b6107f7565b6040516102289190612f2e565b60405180910390f35b34801561023c575f80fd5b5061025760048036038101906102529190612fdf565b610886565b6040516102649190613037565b60405180910390f35b348015610278575f80fd5b506102816108a3565b60405161028e919061305f565b60405180910390f35b3480156102a2575f80fd5b506102bd60048036038101906102b89190613078565b6108ac565b005b3480156102ca575f80fd5b506102d36109bb565b6040516102e0919061305f565b60405180910390f35b3480156102f4575f80fd5b5061030f600480360381019061030a91906130a3565b6109c1565b60405161031c9190613037565b60405180910390f35b348015610330575f80fd5b5061034b60048036038101906103469190613078565b610ab3565b005b348015610358575f80fd5b50610361610bc2565b60405161036e919061305f565b60405180910390f35b348015610382575f80fd5b5061038b610bc8565b604051610398919061310e565b60405180910390f35b3480156103ac575f80fd5b506103b5610bde565b6040516103c2919061305f565b60405180910390f35b3480156103d6575f80fd5b506103f160048036038101906103ec9190612fdf565b610be4565b6040516103fe9190613037565b60405180910390f35b348015610412575f80fd5b5061041b610c8b565b6040516104289190613037565b60405180910390f35b34801561043c575f80fd5b50610445610c9e565b6040516104529190613037565b60405180910390f35b348015610466575f80fd5b50610481600480360381019061047c9190613127565b610cb1565b60405161048e919061305f565b60405180910390f35b3480156104a2575f80fd5b506104ab610cf7565b005b3480156104b8575f80fd5b506104d360048036038101906104ce9190613078565b610d7e565b005b3480156104e0575f80fd5b506104e9610e4a565b6040516104f691906131ad565b60405180910390f35b34801561050a575f80fd5b50610513610e6f565b6040516105209190613037565b60405180910390f35b348015610534575f80fd5b5061053d610f0d565b60405161054a91906131d5565b60405180910390f35b34801561055e575f80fd5b50610567610f35565b604051610574919061305f565b60405180910390f35b348015610588575f80fd5b50610591610f3b565b60405161059e9190612f2e565b60405180910390f35b3480156105b2575f80fd5b506105cd60048036038101906105c89190612fdf565b610fcb565b6040516105da9190613037565b60405180910390f35b3480156105ee575f80fd5b5061060960048036038101906106049190612fdf565b6110b1565b6040516106169190613037565b60405180910390f35b34801561062a575f80fd5b506106456004803603810190610640919061324b565b6110ce565b005b348015610652575f80fd5b5061065b611351565b6040516106689190613037565b60405180910390f35b34801561067c575f80fd5b50610685611364565b60405161069291906131d5565b60405180910390f35b3480156106a6575f80fd5b506106af611389565b6040516106bc91906131d5565b60405180910390f35b3480156106d0575f80fd5b506106d96113ae565b005b3480156106e6575f80fd5b5061070160048036038101906106fc9190613078565b611462565b60405161070e9190613037565b60405180910390f35b348015610722575f80fd5b5061073d6004803603810190610738919061329b565b6115b6565b60405161074a919061305f565b60405180910390f35b34801561075e575f80fd5b50610767611638565b604051610774919061305f565b60405180910390f35b348015610788575f80fd5b5061079161163e565b60405161079e919061305f565b60405180910390f35b3480156107b2575f80fd5b506107cd60048036038101906107c89190613078565b611644565b005b3480156107da575f80fd5b506107f560048036038101906107f09190613127565b611710565b005b60605f805461080590613306565b80601f016020809104026020016040519081016040528092919081815260200182805461083190613306565b801561087c5780601f106108535761010080835404028352916020019161087c565b820191905f5260205f20905b81548152906001019060200180831161085f57829003601f168201915b5050505050905090565b5f610899610892611806565b848461180d565b6001905092915050565b5f600254905090565b6108b4611806565b73ffffffffffffffffffffffffffffffffffffffff166108d2610f0d565b73ffffffffffffffffffffffffffffffffffffffff1614610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f90613380565b60405180910390fd5b670de0b6b3a76400006103e8600561093e6108a3565b61094891906133cb565b6109529190613439565b61095c9190613439565b81101561099e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610995906134d9565b60405180910390fd5b670de0b6b3a7640000816109b291906133cb565b600b8190555050565b600e5481565b5f6109cd8484846119d0565b5f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a14611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90613567565b60405180910390fd5b610aa785610a9f611806565b85840361180d565b60019150509392505050565b610abb611806565b73ffffffffffffffffffffffffffffffffffffffff16610ad9610f0d565b73ffffffffffffffffffffffffffffffffffffffff1614610b2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2690613380565b60405180910390fd5b670de0b6b3a76400006103e86001610b456108a3565b610b4f91906133cb565b610b599190613439565b610b639190613439565b811015610ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9c906135f5565b60405180910390fd5b670de0b6b3a764000081610bb991906133cb565b60098190555050565b60095481565b5f600860179054906101000a900460ff16905090565b600d5481565b5f610c81610bf0611806565b848460045f610bfd611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c7c9190613613565b61180d565b6001905092915050565b600860169054906101000a900460ff1681565b600860159054906101000a900460ff1681565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610cff611806565b73ffffffffffffffffffffffffffffffffffffffff16610d1d610f0d565b73ffffffffffffffffffffffffffffffffffffffff1614610d73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6a90613380565b60405180910390fd5b610d7c5f612824565b565b610d86611806565b73ffffffffffffffffffffffffffffffffffffffff16610da4610f0d565b73ffffffffffffffffffffffffffffffffffffffff1614610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df190613380565b60405180910390fd5b80600c819055506019600c541115610e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3e90613690565b60405180910390fd5b50565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610e78611806565b73ffffffffffffffffffffffffffffffffffffffff16610e96610f0d565b73ffffffffffffffffffffffffffffffffffffffff1614610eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee390613380565b60405180910390fd5b5f600860166101000a81548160ff0219169083151502179055506001905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b606060018054610f4a90613306565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7690613306565b8015610fc15780601f10610f9857610100808354040283529160200191610fc1565b820191905f5260205f20905b815481529060010190602001808311610fa457829003601f168201915b5050505050905090565b5f8060045f610fd8611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611092576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110899061371e565b60405180910390fd5b6110a661109d611806565b8585840361180d565b600191505092915050565b5f6110c46110bd611806565b84846119d0565b6001905092915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525080519060200120463060405160200161118095949392919061374b565b6040516020818303038152906040528051906020012090505f7f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e67000000000000000000000000000000000000815250805190602001205f60405160200161120a9392919061379c565b6040516020818303038152906040528051906020012090505f8282604051602001611236929190613845565b6040516020818303038152906040528051906020012090505f6001828888886040515f8152602001604052604051611271949392919061387b565b6020604051602081039080840390855afa158015611291573d5f803e3d5ffd5b5050506020604051035190506112a5610f0d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130990613908565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff02191690831515021790555050505050505050565b600860149054906101000a900460ff1681565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113b6611806565b73ffffffffffffffffffffffffffffffffffffffff166113d4610f0d565b73ffffffffffffffffffffffffffffffffffffffff161461142a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142190613380565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff021916908315150217905550565b5f61146b611806565b73ffffffffffffffffffffffffffffffffffffffff16611489610f0d565b73ffffffffffffffffffffffffffffffffffffffff16146114df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d690613380565b60405180910390fd5b620186a060016114ed6108a3565b6114f791906133cb565b6115019190613439565b821015611543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153a90613996565b60405180910390fd5b6103e860056115506108a3565b61155a91906133cb565b6115649190613439565b8211156115a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159d90613a24565b60405180910390fd5b81600a8190555060019050919050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600a5481565b600c5481565b61164c611806565b73ffffffffffffffffffffffffffffffffffffffff1661166a610f0d565b73ffffffffffffffffffffffffffffffffffffffff16146116c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b790613380565b60405180910390fd5b80600d819055506019600d54111561170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170490613690565b60405180910390fd5b50565b611718611806565b73ffffffffffffffffffffffffffffffffffffffff16611736610f0d565b73ffffffffffffffffffffffffffffffffffffffff161461178c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178390613380565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f190613ab2565b60405180910390fd5b61180381612824565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361187b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187290613b40565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e090613bce565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119c3919061305f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3590613c5c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa390613cea565b60405180910390fd5b5f8103611ac357611abe83835f6128e7565b61281f565b600860169054906101000a900460ff16156122b557611ae0610f0d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b4757503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b865750611b56610f0d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bbe57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bf657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c30575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c485750600f5f9054906101000a900460ff16155b156122b457600860149054906101000a900460ff16611c9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9390613d52565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e4f5750611cfb610f0d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611d6257503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d9c575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611df5575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e4e575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15611ef657600954811115611e99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9090613de0565b60405180910390fd5b600b54611ea583610cb1565b82611eb09190613613565b1115611ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee890613e48565b60405180910390fd5b6122b3565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156120a95750611f55610f0d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fbc57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ff6575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561204f575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120a8575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156120f8576009548111156120f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ea90613ed6565b60405180910390fd5b6122b2565b612100610f0d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561216757503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121a1575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121fa575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612253575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156122b157600b5461226483610cb1565b8261226f9190613613565b11156122b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a790613e48565b60405180910390fd5b5b5b5b5b5b5f6122bf30610cb1565b90505f600a5482101590508080156122e35750600860159054906101000a900460ff165b80156122fb5750600f5f9054906101000a900460ff16155b8015612354575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123935750612363610f0d565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123cb57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015612405575061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156124445750612414610f0d565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561247c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156124b6575061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156124f7576001600f5f6101000a81548160ff0219169083151502179055506124dd612b5f565b5f600f5f6101000a81548160ff0219169083151502179055505b5f600f5f9054906101000a900460ff16159050612512610f0d565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148061257657503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b806125ae575061dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b806125eb57506125bc610f0d565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8061262157503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80612659575061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15612662575f90505b5f811561280f5760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480156126c657505f600d54115b1561272c576126f360646126e5600d5488612c5490919063ffffffff16565b612c6990919063ffffffff16565b9050600d54600d548261270691906133cb565b6127109190613439565b600e5f8282546127209190613613565b925050819055506127ec565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614801561278957505f600c54115b156127eb576127b660646127a8600c5488612c5490919063ffffffff16565b612c6990919063ffffffff16565b9050600c54600c54826127c991906133cb565b6127d39190613439565b600e5f8282546127e39190613613565b925050819055505b5b5f811115612800576127ff8730836128e7565b5b808561280c9190613ef4565b94505b61281a8787876128e7565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294c90613c5c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ba90613cea565b60405180910390fd5b6129ce838383612c7e565b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4990613f97565b60405180910390fd5b81810360035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612ae29190613613565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b46919061305f565b60405180910390a3612b59848484612c83565b50505050565b5f612b6930610cb1565b90505f600e5490505f80831480612b7f57505f82145b15612b8c57505050612c52565b6014600a54612b9b91906133cb565b831115612bb4576014600a54612bb191906133cb565b92505b612bbd83612c88565b5f600e8190555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612c0990613fe2565b5f6040518083038185875af1925050503d805f8114612c43576040519150601f19603f3d011682016040523d82523d5f602084013e612c48565b606091505b5050809150505050505b565b5f8183612c6191906133cb565b905092915050565b5f8183612c769190613439565b905092915050565b505050565b505050565b5f600267ffffffffffffffff811115612ca457612ca3613ff6565b5b604051908082528060200260200182016040528015612cd25781602001602082028036833780820191505090505b50905030815f81518110612ce957612ce8614023565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612db19190614064565b81600181518110612dc557612dc4614023565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e2b3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461180d565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612e8d95949392919061417f565b5f604051808303815f87803b158015612ea4575f80fd5b505af1158015612eb6573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612f0082612ebe565b612f0a8185612ec8565b9350612f1a818560208601612ed8565b612f2381612ee6565b840191505092915050565b5f6020820190508181035f830152612f468184612ef6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f7b82612f52565b9050919050565b612f8b81612f71565b8114612f95575f80fd5b50565b5f81359050612fa681612f82565b92915050565b5f819050919050565b612fbe81612fac565b8114612fc8575f80fd5b50565b5f81359050612fd981612fb5565b92915050565b5f8060408385031215612ff557612ff4612f4e565b5b5f61300285828601612f98565b925050602061301385828601612fcb565b9150509250929050565b5f8115159050919050565b6130318161301d565b82525050565b5f60208201905061304a5f830184613028565b92915050565b61305981612fac565b82525050565b5f6020820190506130725f830184613050565b92915050565b5f6020828403121561308d5761308c612f4e565b5b5f61309a84828501612fcb565b91505092915050565b5f805f606084860312156130ba576130b9612f4e565b5b5f6130c786828701612f98565b93505060206130d886828701612f98565b92505060406130e986828701612fcb565b9150509250925092565b5f60ff82169050919050565b613108816130f3565b82525050565b5f6020820190506131215f8301846130ff565b92915050565b5f6020828403121561313c5761313b612f4e565b5b5f61314984828501612f98565b91505092915050565b5f819050919050565b5f61317561317061316b84612f52565b613152565b612f52565b9050919050565b5f6131868261315b565b9050919050565b5f6131978261317c565b9050919050565b6131a78161318d565b82525050565b5f6020820190506131c05f83018461319e565b92915050565b6131cf81612f71565b82525050565b5f6020820190506131e85f8301846131c6565b92915050565b6131f7816130f3565b8114613201575f80fd5b50565b5f81359050613212816131ee565b92915050565b5f819050919050565b61322a81613218565b8114613234575f80fd5b50565b5f8135905061324581613221565b92915050565b5f805f6060848603121561326257613261612f4e565b5b5f61326f86828701613204565b935050602061328086828701613237565b925050604061329186828701613237565b9150509250925092565b5f80604083850312156132b1576132b0612f4e565b5b5f6132be85828601612f98565b92505060206132cf85828601612f98565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061331d57607f821691505b6020821081036133305761332f6132d9565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61336a602083612ec8565b915061337582613336565b602082019050919050565b5f6020820190508181035f8301526133978161335e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6133d582612fac565b91506133e083612fac565b92508282026133ee81612fac565b915082820484148315176134055761340461339e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61344382612fac565b915061344e83612fac565b92508261345e5761345d61340c565b5b828204905092915050565b7f43616e6e6f7420736574206d617857616c6c657453697a65206c6f77657220745f8201527f68616e20302e3525000000000000000000000000000000000000000000000000602082015250565b5f6134c3602883612ec8565b91506134ce82613469565b604082019050919050565b5f6020820190508181035f8301526134f0816134b7565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613551602883612ec8565b915061355c826134f7565b604082019050919050565b5f6020820190508181035f83015261357e81613545565b9050919050565b7f43616e6e6f7420736574206d617854786e53697a65206c6f776572207468616e5f8201527f20302e3125000000000000000000000000000000000000000000000000000000602082015250565b5f6135df602583612ec8565b91506135ea82613585565b604082019050919050565b5f6020820190508181035f83015261360c816135d3565b9050919050565b5f61361d82612fac565b915061362883612fac565b92508282019050808211156136405761363f61339e565b5b92915050565b7f4d757374206b656570206665657320617420323525206f72206c6573730000005f82015250565b5f61367a601d83612ec8565b915061368582613646565b602082019050919050565b5f6020820190508181035f8301526136a78161366e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613708602583612ec8565b9150613713826136ae565b604082019050919050565b5f6020820190508181035f830152613735816136fc565b9050919050565b61374581613218565b82525050565b5f60a08201905061375e5f83018861373c565b61376b602083018761373c565b613778604083018661373c565b6137856060830185613050565b61379260808301846131c6565b9695505050505050565b5f6060820190506137af5f83018661373c565b6137bc602083018561373c565b6137c96040830184613050565b949350505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f61380f6002836137d1565b915061381a826137db565b600282019050919050565b5f819050919050565b61383f61383a82613218565b613825565b82525050565b5f61384f82613803565b915061385b828561382e565b60208201915061386b828461382e565b6020820191508190509392505050565b5f60808201905061388e5f83018761373c565b61389b60208301866130ff565b6138a8604083018561373c565b6138b5606083018461373c565b95945050505050565b7f496e76616c6964207369676e61747572650000000000000000000000000000005f82015250565b5f6138f2601183612ec8565b91506138fd826138be565b602082019050919050565b5f6020820190508181035f83015261391f816138e6565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f613980603583612ec8565b915061398b82613926565b604082019050919050565b5f6020820190508181035f8301526139ad81613974565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f613a0e603483612ec8565b9150613a19826139b4565b604082019050919050565b5f6020820190508181035f830152613a3b81613a02565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613a9c602683612ec8565b9150613aa782613a42565b604082019050919050565b5f6020820190508181035f830152613ac981613a90565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613b2a602483612ec8565b9150613b3582613ad0565b604082019050919050565b5f6020820190508181035f830152613b5781613b1e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613bb8602283612ec8565b9150613bc382613b5e565b604082019050919050565b5f6020820190508181035f830152613be581613bac565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613c46602583612ec8565b9150613c5182613bec565b604082019050919050565b5f6020820190508181035f830152613c7381613c3a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613cd4602383612ec8565b9150613cdf82613c7a565b604082019050919050565b5f6020820190508181035f830152613d0181613cc8565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613d3c601683612ec8565b9150613d4782613d08565b602082019050919050565b5f6020820190508181035f830152613d6981613d30565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854786e53697a652e000000000000000000000000000000000000000000602082015250565b5f613dca602b83612ec8565b9150613dd582613d70565b604082019050919050565b5f6020820190508181035f830152613df781613dbe565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613e32601383612ec8565b9150613e3d82613dfe565b602082019050919050565b5f6020820190508181035f830152613e5f81613e26565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854786e53697a652e0000000000000000000000000000000000000000602082015250565b5f613ec0602c83612ec8565b9150613ecb82613e66565b604082019050919050565b5f6020820190508181035f830152613eed81613eb4565b9050919050565b5f613efe82612fac565b9150613f0983612fac565b9250828203905081811115613f2157613f2061339e565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613f81602683612ec8565b9150613f8c82613f27565b604082019050919050565b5f6020820190508181035f830152613fae81613f75565b9050919050565b5f81905092915050565b50565b5f613fcd5f83613fb5565b9150613fd882613fbf565b5f82019050919050565b5f613fec82613fc2565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061405e81612f82565b92915050565b5f6020828403121561407957614078612f4e565b5b5f61408684828501614050565b91505092915050565b5f819050919050565b5f6140b26140ad6140a88461408f565b613152565b612fac565b9050919050565b6140c281614098565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6140fa81612f71565b82525050565b5f61410b83836140f1565b60208301905092915050565b5f602082019050919050565b5f61412d826140c8565b61413781856140d2565b9350614142836140e2565b805f5b838110156141725781516141598882614100565b975061416483614117565b925050600181019050614145565b5085935050505092915050565b5f60a0820190506141925f830188613050565b61419f60208301876140b9565b81810360408301526141b18186614123565b90506141c060608301856131c6565b6141cd6080830184613050565b969550505050505056fea26469706673582212205210ab1328f741fbda985ae1e72273596d4b4e33c7057ae974cb8c5b9c3e016a64736f6c634300081a0033

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

00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000c9d2f42fd2b112bc2cf53ee03d267ca0f14ee7b90000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000012546865204c69717569646974792047616d65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074c495147414d4500000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): The Liquidity Game
Arg [1] : symbol_ (string): LIQGAME
Arg [2] : decimals_ (uint8): 18
Arg [3] : totalNativeSupply_ (uint256): 100000
Arg [4] : marketingWallet_ (address): 0xC9D2f42fd2B112bC2cf53EE03d267cA0F14eE7b9
Arg [5] : buyFee_ (uint256): 5
Arg [6] : sellFee_ (uint256): 30

-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 00000000000000000000000000000000000000000000000000000000000186a0
Arg [4] : 000000000000000000000000c9d2f42fd2b112bc2cf53ee03d267ca0f14ee7b9
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [8] : 546865204c69717569646974792047616d650000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [10] : 4c495147414d4500000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

15153:9231:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10498:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11229:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10819:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18369:221;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15679:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11589:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18997:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15497:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16952:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15642:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12089:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15420:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15382:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10935:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1003:103;;;;;;;;;;;;;:::i;:::-;;19217:181;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15228:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18240:121;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;780:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15569:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10606:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12312:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11406:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17170:1062;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15342:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15310:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15275:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17052:110;;;;;;;;;;;;;:::i;:::-;;18598:391;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11070:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15529:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15606:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19406:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1114:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10498:100;10552:13;10585:5;10578:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10498:100;:::o;11229:169::-;11312:4;11329:39;11338:12;:10;:12::i;:::-;11352:7;11361:6;11329:8;:39::i;:::-;11386:4;11379:11;;11229:169;;;;:::o;10819:108::-;10880:7;10907:12;;10900:19;;10819:108;:::o;18369:221::-;926:12;:10;:12::i;:::-;915:23;;:7;:5;:7::i;:::-;:23;;;907:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18489:4:::1;18481;18476:1;18460:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18459:26;;;;:::i;:::-;18458:35;;;;:::i;:::-;18448:6;:45;;18440:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;18575:6;18565;:17;;;;:::i;:::-;18549:13;:33;;;;18369:221:::0;:::o;15679:30::-;;;;:::o;11589:492::-;11729:4;11746:36;11756:6;11764:9;11775:6;11746:9;:36::i;:::-;11795:24;11822:11;:19;11834:6;11822:19;;;;;;;;;;;;;;;:33;11842:12;:10;:12::i;:::-;11822:33;;;;;;;;;;;;;;;;11795:60;;11894:6;11874:16;:26;;11866:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11981:57;11990:6;11998:12;:10;:12::i;:::-;12031:6;12012:16;:25;11981:8;:57::i;:::-;12069:4;12062:11;;;11589:492;;;;;:::o;18997:212::-;926:12;:10;:12::i;:::-;915:23;;:7;:5;:7::i;:::-;:23;;;907:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19114:4:::1;19106;19101:1;19085:13;:11;:13::i;:::-;:17;;;;:::i;:::-;19084:26;;;;:::i;:::-;19083:35;;;;:::i;:::-;19073:6;:45;;19065:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;19194:6;19184;:17;;;;:::i;:::-;19171:10;:30;;;;18997:212:::0;:::o;15497:25::-;;;;:::o;16952:92::-;17002:5;17027:9;;;;;;;;;;;17020:16;;16952:92;:::o;15642:28::-;;;;:::o;12089:215::-;12177:4;12194:80;12203:12;:10;:12::i;:::-;12217:7;12263:10;12226:11;:25;12238:12;:10;:12::i;:::-;12226:25;;;;;;;;;;;;;;;:34;12252:7;12226:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12194:8;:80::i;:::-;12292:4;12285:11;;12089:215;;;;:::o;15420:33::-;;;;;;;;;;;;;:::o;15382:31::-;;;;;;;;;;;;;:::o;10935:127::-;11009:7;11036:9;:18;11046:7;11036:18;;;;;;;;;;;;;;;;11029:25;;10935:127;;;:::o;1003:103::-;926:12;:10;:12::i;:::-;915:23;;:7;:5;:7::i;:::-;:23;;;907:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1068:30:::1;1095:1;1068:18;:30::i;:::-;1003:103::o:0;19217:181::-;926:12;:10;:12::i;:::-;915:23;;:7;:5;:7::i;:::-;:23;;;907:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19307:12:::1;19292;:27;;;;19354:2;19338:12;;:18;;19330:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;19217:181:::0;:::o;15228:40::-;;;;;;;;;;;;;:::o;18240:121::-;18292:4;926:12;:10;:12::i;:::-;915:23;;:7;:5;:7::i;:::-;:23;;;907:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18326:5:::1;18309:14;;:22;;;;;;;;;;;;;;;;;;18349:4;18342:11;;18240:121:::0;:::o;780:87::-;826:7;853:6;;;;;;;;;;;846:13;;780:87;:::o;15569:28::-;;;;:::o;10606:104::-;10662:13;10695:7;10688:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10606:104;:::o;12312:413::-;12405:4;12422:24;12449:11;:25;12461:12;:10;:12::i;:::-;12449:25;;;;;;;;;;;;;;;:34;12475:7;12449:34;;;;;;;;;;;;;;;;12422:61;;12522:15;12502:16;:35;;12494:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;12615:67;12624:12;:10;:12::i;:::-;12638:7;12666:15;12647:16;:34;12615:8;:67::i;:::-;12713:4;12706:11;;;12312:413;;;;:::o;11406:175::-;11492:4;11509:42;11519:12;:10;:12::i;:::-;11533:9;11544:6;11509:9;:42::i;:::-;11569:4;11562:11;;11406:175;;;;:::o;17170:1062::-;17254:18;17328:95;17452:22;;;;;;;;;;;;;;;;;17442:33;;;;;;17504:10;;;;;;;;;;;;;;;;;17494:21;;;;;;17534:13;17574:4;17299:295;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17275:330;;;;;;17254:351;;17618:18;17692:49;17770:23;;;;;;;;;;;;;;;;;17760:34;;;;;;17821:1;17663:175;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17639:210;;;;;;17618:231;;17862:14;17967:10;17996;17903:134;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17879:169;;;;;;17862:186;;18061:14;18078:26;18088:6;18096:1;18099;18102;18078:26;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18061:43;;18133:7;:5;:7::i;:::-;18123:17;;:6;:17;;;18115:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;18191:4;18175:13;;:20;;;;;;;;;;;;;;;;;;18220:4;18206:11;;:18;;;;;;;;;;;;;;;;;;17243:989;;;;17170:1062;;;:::o;15342:33::-;;;;;;;;;;;;;:::o;15310:23::-;;;;;;;;;;;;;:::o;15275:26::-;;;;;;;;;;;;;:::o;17052:110::-;926:12;:10;:12::i;:::-;915:23;;:7;:5;:7::i;:::-;:23;;;907:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17121:4:::1;17105:13;;:20;;;;;;;;;;;;;;;;;;17150:4;17136:11;;:18;;;;;;;;;;;;;;;;;;17052:110::o:0;18598:391::-;18679:4;926:12;:10;:12::i;:::-;915:23;;:7;:5;:7::i;:::-;:23;;;907:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18739:6:::1;18734:1;18718:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18717:28;;;;:::i;:::-;18704:9;:41;;18696:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;18857:4;18852:1;18836:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18835:26;;;;:::i;:::-;18822:9;:39;;18814:104;;;;;;;;;;;;:::i;:::-;;;;;;;;;18950:9;18929:18;:30;;;;18977:4;18970:11;;18598:391:::0;;;:::o;11070:151::-;11159:7;11186:11;:18;11198:5;11186:18;;;;;;;;;;;;;;;:27;11205:7;11186:27;;;;;;;;;;;;;;;;11179:34;;11070:151;;;;:::o;15529:33::-;;;;:::o;15606:27::-;;;;:::o;19406:184::-;926:12;:10;:12::i;:::-;915:23;;:7;:5;:7::i;:::-;:23;;;907:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19498:12:::1;19482:13;:28;;;;19546:2;19529:13;;:19;;19521:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;19406:184:::0;:::o;1114:201::-;926:12;:10;:12::i;:::-;915:23;;:7;:5;:7::i;:::-;:23;;;907:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1223:1:::1;1203:22;;:8;:22;;::::0;1195:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1279:28;1298:8;1279:18;:28::i;:::-;1114:201:::0;:::o;326:98::-;379:7;406:10;399:17;;326:98;:::o;13739:380::-;13892:1;13875:19;;:5;:19;;;13867:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13973:1;13954:21;;:7;:21;;;13946:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14057:6;14027:11;:18;14039:5;14027:18;;;;;;;;;;;;;;;:27;14046:7;14027:27;;;;;;;;;;;;;;;:36;;;;14095:7;14079:32;;14088:5;14079:32;;;14104:6;14079:32;;;;;;:::i;:::-;;;;;;;;13739:380;;;:::o;20732:3534::-;20846:1;20830:18;;:4;:18;;;20822:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20923:1;20909:16;;:2;:16;;;20901:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;20992:1;20982:6;:11;20978:93;;21010:28;21026:4;21032:2;21036:1;21010:15;:28::i;:::-;21053:7;;20978:93;21087:14;;;;;;;;;;;21083:1642;;;21130:7;:5;:7::i;:::-;21122:15;;:4;:15;;;;:57;;;;;21174:4;21158:21;;:4;:21;;;;21122:57;:91;;;;;21206:7;:5;:7::i;:::-;21200:13;;:2;:13;;;;21122:91;:131;;;;;21248:4;21234:19;;:2;:19;;;;21122:131;:168;;;;;21288:1;21274:16;;:2;:16;;;;21122:168;:210;;;;;21325:6;21311:21;;:2;:21;;;;21122:210;:240;;;;;21354:8;;;;;;;;;;;21353:9;21122:240;21118:1596;;;21406:13;;;;;;;;;;;21398:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;21525:11;;;;;;;;;;;21509:28;;:4;:28;;;:238;;;;;21588:7;:5;:7::i;:::-;21582:13;;:2;:13;;;;:37;;;;;21614:4;21600:19;;:2;:19;;;;21582:37;:62;;;;;21637:6;21623:21;;:2;:21;;;;21582:62;:115;;;;;21683:13;;;;;;;;;;;21669:28;;:2;:28;;;;21582:115;:146;;;;;21716:11;;;;;;;;;;;21702:26;;:2;:26;;;;21582:146;21509:238;21505:1194;;;21790:10;;21780:6;:20;;21772:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;21905:13;;21888;21898:2;21888:9;:13::i;:::-;21879:6;:22;;;;:::i;:::-;:39;;21871:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;21505:1194;;;22032:11;;;;;;;;;;;22018:26;;:2;:26;;;:229;;;;;22080:7;:5;:7::i;:::-;22072:15;;:4;:15;;;;:41;;;;;22108:4;22092:21;;:4;:21;;;;22072:41;:68;;;;;22133:6;22117:23;;:4;:23;;;;22072:68;:123;;;;;22181:13;;;;;;;;;;;22165:30;;:4;:30;;;;22072:123;:156;;;;;22216:11;;;;;;;;;;;22200:28;;:4;:28;;;;22072:156;22018:229;22014:685;;;22290:10;;22280:6;:20;;22272:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;22014:685;;;22425:7;:5;:7::i;:::-;22419:13;;:2;:13;;;;:37;;;;;22451:4;22437:19;;:2;:19;;;;22419:37;:62;;;;;22474:6;22460:21;;:2;:21;;;;22419:62;:115;;;;;22520:13;;;;;;;;;;;22506:28;;:2;:28;;;;22419:115;:146;;;;;22553:11;;;;;;;;;;;22539:26;;:2;:26;;;;22419:146;22392:307;;;22642:13;;22625;22635:2;22625:9;:13::i;:::-;22616:6;:22;;;;:::i;:::-;:39;;22608:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;22392:307;22014:685;21505:1194;21118:1596;21083:1642;22737:23;22763:24;22781:4;22763:9;:24::i;:::-;22737:50;;22798:12;22832:18;;22813:15;:37;;22798:52;;22865:7;:35;;;;;22889:11;;;;;;;;;;;22865:35;:61;;;;;22918:8;;;;;;;;;;;22917:9;22865:61;:106;;;;;22959:11;;;;;;;;;;;22943:28;;:4;:28;;;;22865:106;:138;;;;;22996:7;:5;:7::i;:::-;22988:15;;:4;:15;;;;22865:138;:177;;;;;23037:4;23021:21;;:4;:21;;;;22865:177;:218;;;;;23076:6;23060:23;;:4;:23;;;;22865:218;:248;;;;;23106:7;:5;:7::i;:::-;23100:13;;:2;:13;;;;22865:248;:285;;;;;23145:4;23131:19;;:2;:19;;;;22865:285;:324;;;;;23182:6;23168:21;;:2;:21;;;;22865:324;22861:431;;;23220:4;23209:8;;:15;;;;;;;;;;;;;;;;;;23239:10;:8;:10::i;:::-;23275:5;23264:8;;:16;;;;;;;;;;;;;;;;;;22861:431;23304:12;23320:8;;;;;;;;;;;23319:9;23304:24;;23365:7;:5;:7::i;:::-;23357:15;;:4;:15;;;:41;;;;23393:4;23377:21;;:4;:21;;;23357:41;:69;;;;23419:6;23403:23;;:4;:23;;;23357:69;:100;;;;23450:7;:5;:7::i;:::-;23444:13;;:2;:13;;;23357:100;:124;;;;23476:4;23462:19;;:2;:19;;;23357:124;:150;;;;23500:6;23486:21;;:2;:21;;;23357:150;23339:208;;;23542:5;23532:15;;23339:208;23560:11;23590:7;23586:627;;;23656:11;;;;;;;;;;;23642:26;;:2;:26;;;:47;;;;;23688:1;23672:13;;:17;23642:47;23638:446;;;23716:34;23746:3;23716:25;23727:13;;23716:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;23710:40;;23812:13;;23795;;23789:3;:19;;;;:::i;:::-;23788:37;;;;:::i;:::-;23769:15;;:56;;;;;;;:::i;:::-;;;;;;;;23638:446;;;23903:11;;;;;;;;;;;23887:28;;:4;:28;;;:48;;;;;23934:1;23919:12;;:16;23887:48;23883:201;;;23962:33;23991:3;23962:24;23973:12;;23962:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;23956:39;;24056:12;;24040;;24034:3;:18;;;;:::i;:::-;24033:35;;;;:::i;:::-;24014:15;;:54;;;;;;;:::i;:::-;;;;;;;;23883:201;23638:446;24110:1;24104:3;:7;24100:71;;;24130:41;24146:4;24160;24167:3;24130:15;:41::i;:::-;24100:71;24198:3;24188:13;;;;;:::i;:::-;;;23586:627;24225:33;24241:4;24247:2;24251:6;24225:15;:33::i;:::-;20811:3455;;;;20732:3534;;;;:::o;1323:191::-;1397:16;1416:6;;;;;;;;;;;1397:25;;1442:8;1433:6;;:17;;;;;;;;;;;;;;;;;;1497:8;1466:40;;1487:8;1466:40;;;;;;;;;;;;1386:128;1323:191;:::o;14127:733::-;14285:1;14267:20;;:6;:20;;;14259:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14369:1;14348:23;;:9;:23;;;14340:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14424:47;14445:6;14453:9;14464:6;14424:20;:47::i;:::-;14484:21;14508:9;:17;14518:6;14508:17;;;;;;;;;;;;;;;;14484:41;;14561:6;14544:13;:23;;14536:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14682:6;14666:13;:22;14646:9;:17;14656:6;14646:17;;;;;;;;;;;;;;;:42;;;;14734:6;14710:9;:20;14720:9;14710:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14775:9;14758:35;;14767:6;14758:35;;;14786:6;14758:35;;;;;;:::i;:::-;;;;;;;;14806:46;14826:6;14834:9;14845:6;14806:19;:46::i;:::-;14248:612;14127:733;;;:::o;19598:535::-;19637:23;19663:24;19681:4;19663:9;:24::i;:::-;19637:50;;19698:25;19726:15;;19698:43;;19752:12;19800:1;19781:15;:20;:46;;;;19826:1;19805:17;:22;19781:46;19777:72;;;19842:7;;;;;19777:72;19904:2;19883:18;;:23;;;;:::i;:::-;19865:15;:41;19861:101;;;19960:2;19939:18;;:23;;;;:::i;:::-;19921:41;;19861:101;19975:33;19992:15;19975:16;:33::i;:::-;20039:1;20021:15;:19;;;;20075:8;;;;;;;;;;;20067:22;;20098:21;20067:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20053:72;;;;;19626:507;;;19598:535;:::o;2902:98::-;2960:7;2991:1;2987;:5;;;;:::i;:::-;2980:12;;2902:98;;;;:::o;3008:::-;3066:7;3097:1;3093;:5;;;;:::i;:::-;3086:12;;3008:98;;;;:::o;14868:125::-;;;;:::o;15001:124::-;;;;:::o;20141:583::-;20267:21;20305:1;20291:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20267:40;;20336:4;20318;20323:1;20318:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20362:13;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20352:4;20357:1;20352:7;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;;;;20395:60;20412:4;20427:13;;;;;;;;;;;20443:11;20395:8;:60::i;:::-;20494:13;;;;;;;;;;;:64;;;20573:11;20599:1;20643:4;20670;20690:15;20494:222;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20196:528;20141:583;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:329::-;3750:6;3799:2;3787:9;3778:7;3774:23;3770:32;3767:119;;;3805:79;;:::i;:::-;3767:119;3925:1;3950:53;3995:7;3986:6;3975:9;3971:22;3950:53;:::i;:::-;3940:63;;3896:117;3691:329;;;;:::o;4026:619::-;4103:6;4111;4119;4168:2;4156:9;4147:7;4143:23;4139:32;4136:119;;;4174:79;;:::i;:::-;4136:119;4294:1;4319:53;4364:7;4355:6;4344:9;4340:22;4319:53;:::i;:::-;4309:63;;4265:117;4421:2;4447:53;4492:7;4483:6;4472:9;4468:22;4447:53;:::i;:::-;4437:63;;4392:118;4549:2;4575:53;4620:7;4611:6;4600:9;4596:22;4575:53;:::i;:::-;4565:63;;4520:118;4026:619;;;;;:::o;4651:86::-;4686:7;4726:4;4719:5;4715:16;4704:27;;4651:86;;;:::o;4743:112::-;4826:22;4842:5;4826:22;:::i;:::-;4821:3;4814:35;4743:112;;:::o;4861:214::-;4950:4;4988:2;4977:9;4973:18;4965:26;;5001:67;5065:1;5054:9;5050:17;5041:6;5001:67;:::i;:::-;4861:214;;;;:::o;5081:329::-;5140:6;5189:2;5177:9;5168:7;5164:23;5160:32;5157:119;;;5195:79;;:::i;:::-;5157:119;5315:1;5340:53;5385:7;5376:6;5365:9;5361:22;5340:53;:::i;:::-;5330:63;;5286:117;5081:329;;;;:::o;5416:60::-;5444:3;5465:5;5458:12;;5416:60;;;:::o;5482:142::-;5532:9;5565:53;5583:34;5592:24;5610:5;5592:24;:::i;:::-;5583:34;:::i;:::-;5565:53;:::i;:::-;5552:66;;5482:142;;;:::o;5630:126::-;5680:9;5713:37;5744:5;5713:37;:::i;:::-;5700:50;;5630:126;;;:::o;5762:152::-;5838:9;5871:37;5902:5;5871:37;:::i;:::-;5858:50;;5762:152;;;:::o;5920:183::-;6033:63;6090:5;6033:63;:::i;:::-;6028:3;6021:76;5920:183;;:::o;6109:274::-;6228:4;6266:2;6255:9;6251:18;6243:26;;6279:97;6373:1;6362:9;6358:17;6349:6;6279:97;:::i;:::-;6109:274;;;;:::o;6389:118::-;6476:24;6494:5;6476:24;:::i;:::-;6471:3;6464:37;6389:118;;:::o;6513:222::-;6606:4;6644:2;6633:9;6629:18;6621:26;;6657:71;6725:1;6714:9;6710:17;6701:6;6657:71;:::i;:::-;6513:222;;;;:::o;6741:118::-;6812:22;6828:5;6812:22;:::i;:::-;6805:5;6802:33;6792:61;;6849:1;6846;6839:12;6792:61;6741:118;:::o;6865:135::-;6909:5;6947:6;6934:20;6925:29;;6963:31;6988:5;6963:31;:::i;:::-;6865:135;;;;:::o;7006:77::-;7043:7;7072:5;7061:16;;7006:77;;;:::o;7089:122::-;7162:24;7180:5;7162:24;:::i;:::-;7155:5;7152:35;7142:63;;7201:1;7198;7191:12;7142:63;7089:122;:::o;7217:139::-;7263:5;7301:6;7288:20;7279:29;;7317:33;7344:5;7317:33;:::i;:::-;7217:139;;;;:::o;7362:615::-;7437:6;7445;7453;7502:2;7490:9;7481:7;7477:23;7473:32;7470:119;;;7508:79;;:::i;:::-;7470:119;7628:1;7653:51;7696:7;7687:6;7676:9;7672:22;7653:51;:::i;:::-;7643:61;;7599:115;7753:2;7779:53;7824:7;7815:6;7804:9;7800:22;7779:53;:::i;:::-;7769:63;;7724:118;7881:2;7907:53;7952:7;7943:6;7932:9;7928:22;7907:53;:::i;:::-;7897:63;;7852:118;7362:615;;;;;:::o;7983:474::-;8051:6;8059;8108:2;8096:9;8087:7;8083:23;8079:32;8076:119;;;8114:79;;:::i;:::-;8076:119;8234:1;8259:53;8304:7;8295:6;8284:9;8280:22;8259:53;:::i;:::-;8249:63;;8205:117;8361:2;8387:53;8432:7;8423:6;8412:9;8408:22;8387:53;:::i;:::-;8377:63;;8332:118;7983:474;;;;;:::o;8463:180::-;8511:77;8508:1;8501:88;8608:4;8605:1;8598:15;8632:4;8629:1;8622:15;8649:320;8693:6;8730:1;8724:4;8720:12;8710:22;;8777:1;8771:4;8767:12;8798:18;8788:81;;8854:4;8846:6;8842:17;8832:27;;8788:81;8916:2;8908:6;8905:14;8885:18;8882:38;8879:84;;8935:18;;:::i;:::-;8879:84;8700:269;8649:320;;;:::o;8975:182::-;9115:34;9111:1;9103:6;9099:14;9092:58;8975:182;:::o;9163:366::-;9305:3;9326:67;9390:2;9385:3;9326:67;:::i;:::-;9319:74;;9402:93;9491:3;9402:93;:::i;:::-;9520:2;9515:3;9511:12;9504:19;;9163:366;;;:::o;9535:419::-;9701:4;9739:2;9728:9;9724:18;9716:26;;9788:9;9782:4;9778:20;9774:1;9763:9;9759:17;9752:47;9816:131;9942:4;9816:131;:::i;:::-;9808:139;;9535:419;;;:::o;9960:180::-;10008:77;10005:1;9998:88;10105:4;10102:1;10095:15;10129:4;10126:1;10119:15;10146:410;10186:7;10209:20;10227:1;10209:20;:::i;:::-;10204:25;;10243:20;10261:1;10243:20;:::i;:::-;10238:25;;10298:1;10295;10291:9;10320:30;10338:11;10320:30;:::i;:::-;10309:41;;10499:1;10490:7;10486:15;10483:1;10480:22;10460:1;10453:9;10433:83;10410:139;;10529:18;;:::i;:::-;10410:139;10194:362;10146:410;;;;:::o;10562:180::-;10610:77;10607:1;10600:88;10707:4;10704:1;10697:15;10731:4;10728:1;10721:15;10748:185;10788:1;10805:20;10823:1;10805:20;:::i;:::-;10800:25;;10839:20;10857:1;10839:20;:::i;:::-;10834:25;;10878:1;10868:35;;10883:18;;:::i;:::-;10868:35;10925:1;10922;10918:9;10913:14;;10748:185;;;;:::o;10939:227::-;11079:34;11075:1;11067:6;11063:14;11056:58;11148:10;11143:2;11135:6;11131:15;11124:35;10939:227;:::o;11172:366::-;11314:3;11335:67;11399:2;11394:3;11335:67;:::i;:::-;11328:74;;11411:93;11500:3;11411:93;:::i;:::-;11529:2;11524:3;11520:12;11513:19;;11172:366;;;:::o;11544:419::-;11710:4;11748:2;11737:9;11733:18;11725:26;;11797:9;11791:4;11787:20;11783:1;11772:9;11768:17;11761:47;11825:131;11951:4;11825:131;:::i;:::-;11817:139;;11544:419;;;:::o;11969:227::-;12109:34;12105:1;12097:6;12093:14;12086:58;12178:10;12173:2;12165:6;12161:15;12154:35;11969:227;:::o;12202:366::-;12344:3;12365:67;12429:2;12424:3;12365:67;:::i;:::-;12358:74;;12441:93;12530:3;12441:93;:::i;:::-;12559:2;12554:3;12550:12;12543:19;;12202:366;;;:::o;12574:419::-;12740:4;12778:2;12767:9;12763:18;12755:26;;12827:9;12821:4;12817:20;12813:1;12802:9;12798:17;12791:47;12855:131;12981:4;12855:131;:::i;:::-;12847:139;;12574:419;;;:::o;12999:224::-;13139:34;13135:1;13127:6;13123:14;13116:58;13208:7;13203:2;13195:6;13191:15;13184:32;12999:224;:::o;13229:366::-;13371:3;13392:67;13456:2;13451:3;13392:67;:::i;:::-;13385:74;;13468:93;13557:3;13468:93;:::i;:::-;13586:2;13581:3;13577:12;13570:19;;13229:366;;;:::o;13601:419::-;13767:4;13805:2;13794:9;13790:18;13782:26;;13854:9;13848:4;13844:20;13840:1;13829:9;13825:17;13818:47;13882:131;14008:4;13882:131;:::i;:::-;13874:139;;13601:419;;;:::o;14026:191::-;14066:3;14085:20;14103:1;14085:20;:::i;:::-;14080:25;;14119:20;14137:1;14119:20;:::i;:::-;14114:25;;14162:1;14159;14155:9;14148:16;;14183:3;14180:1;14177:10;14174:36;;;14190:18;;:::i;:::-;14174:36;14026:191;;;;:::o;14223:179::-;14363:31;14359:1;14351:6;14347:14;14340:55;14223:179;:::o;14408:366::-;14550:3;14571:67;14635:2;14630:3;14571:67;:::i;:::-;14564:74;;14647:93;14736:3;14647:93;:::i;:::-;14765:2;14760:3;14756:12;14749:19;;14408:366;;;:::o;14780:419::-;14946:4;14984:2;14973:9;14969:18;14961:26;;15033:9;15027:4;15023:20;15019:1;15008:9;15004:17;14997:47;15061:131;15187:4;15061:131;:::i;:::-;15053:139;;14780:419;;;:::o;15205:224::-;15345:34;15341:1;15333:6;15329:14;15322:58;15414:7;15409:2;15401:6;15397:15;15390:32;15205:224;:::o;15435:366::-;15577:3;15598:67;15662:2;15657:3;15598:67;:::i;:::-;15591:74;;15674:93;15763:3;15674:93;:::i;:::-;15792:2;15787:3;15783:12;15776:19;;15435:366;;;:::o;15807:419::-;15973:4;16011:2;16000:9;15996:18;15988:26;;16060:9;16054:4;16050:20;16046:1;16035:9;16031:17;16024:47;16088:131;16214:4;16088:131;:::i;:::-;16080:139;;15807:419;;;:::o;16232:118::-;16319:24;16337:5;16319:24;:::i;:::-;16314:3;16307:37;16232:118;;:::o;16356:664::-;16561:4;16599:3;16588:9;16584:19;16576:27;;16613:71;16681:1;16670:9;16666:17;16657:6;16613:71;:::i;:::-;16694:72;16762:2;16751:9;16747:18;16738:6;16694:72;:::i;:::-;16776;16844:2;16833:9;16829:18;16820:6;16776:72;:::i;:::-;16858;16926:2;16915:9;16911:18;16902:6;16858:72;:::i;:::-;16940:73;17008:3;16997:9;16993:19;16984:6;16940:73;:::i;:::-;16356:664;;;;;;;;:::o;17026:442::-;17175:4;17213:2;17202:9;17198:18;17190:26;;17226:71;17294:1;17283:9;17279:17;17270:6;17226:71;:::i;:::-;17307:72;17375:2;17364:9;17360:18;17351:6;17307:72;:::i;:::-;17389;17457:2;17446:9;17442:18;17433:6;17389:72;:::i;:::-;17026:442;;;;;;:::o;17474:148::-;17576:11;17613:3;17598:18;;17474:148;;;;:::o;17628:214::-;17768:66;17764:1;17756:6;17752:14;17745:90;17628:214;:::o;17848:400::-;18008:3;18029:84;18111:1;18106:3;18029:84;:::i;:::-;18022:91;;18122:93;18211:3;18122:93;:::i;:::-;18240:1;18235:3;18231:11;18224:18;;17848:400;;;:::o;18254:79::-;18293:7;18322:5;18311:16;;18254:79;;;:::o;18339:157::-;18444:45;18464:24;18482:5;18464:24;:::i;:::-;18444:45;:::i;:::-;18439:3;18432:58;18339:157;;:::o;18502:663::-;18743:3;18765:148;18909:3;18765:148;:::i;:::-;18758:155;;18923:75;18994:3;18985:6;18923:75;:::i;:::-;19023:2;19018:3;19014:12;19007:19;;19036:75;19107:3;19098:6;19036:75;:::i;:::-;19136:2;19131:3;19127:12;19120:19;;19156:3;19149:10;;18502:663;;;;;:::o;19171:545::-;19344:4;19382:3;19371:9;19367:19;19359:27;;19396:71;19464:1;19453:9;19449:17;19440:6;19396:71;:::i;:::-;19477:68;19541:2;19530:9;19526:18;19517:6;19477:68;:::i;:::-;19555:72;19623:2;19612:9;19608:18;19599:6;19555:72;:::i;:::-;19637;19705:2;19694:9;19690:18;19681:6;19637:72;:::i;:::-;19171:545;;;;;;;:::o;19722:167::-;19862:19;19858:1;19850:6;19846:14;19839:43;19722:167;:::o;19895:366::-;20037:3;20058:67;20122:2;20117:3;20058:67;:::i;:::-;20051:74;;20134:93;20223:3;20134:93;:::i;:::-;20252:2;20247:3;20243:12;20236:19;;19895:366;;;:::o;20267:419::-;20433:4;20471:2;20460:9;20456:18;20448:26;;20520:9;20514:4;20510:20;20506:1;20495:9;20491:17;20484:47;20548:131;20674:4;20548:131;:::i;:::-;20540:139;;20267:419;;;:::o;20692:240::-;20832:34;20828:1;20820:6;20816:14;20809:58;20901:23;20896:2;20888:6;20884:15;20877:48;20692:240;:::o;20938:366::-;21080:3;21101:67;21165:2;21160:3;21101:67;:::i;:::-;21094:74;;21177:93;21266:3;21177:93;:::i;:::-;21295:2;21290:3;21286:12;21279:19;;20938:366;;;:::o;21310:419::-;21476:4;21514:2;21503:9;21499:18;21491:26;;21563:9;21557:4;21553:20;21549:1;21538:9;21534:17;21527:47;21591:131;21717:4;21591:131;:::i;:::-;21583:139;;21310:419;;;:::o;21735:239::-;21875:34;21871:1;21863:6;21859:14;21852:58;21944:22;21939:2;21931:6;21927:15;21920:47;21735:239;:::o;21980:366::-;22122:3;22143:67;22207:2;22202:3;22143:67;:::i;:::-;22136:74;;22219:93;22308:3;22219:93;:::i;:::-;22337:2;22332:3;22328:12;22321:19;;21980:366;;;:::o;22352:419::-;22518:4;22556:2;22545:9;22541:18;22533:26;;22605:9;22599:4;22595:20;22591:1;22580:9;22576:17;22569:47;22633:131;22759:4;22633:131;:::i;:::-;22625:139;;22352:419;;;:::o;22777:225::-;22917:34;22913:1;22905:6;22901:14;22894:58;22986:8;22981:2;22973:6;22969:15;22962:33;22777:225;:::o;23008:366::-;23150:3;23171:67;23235:2;23230:3;23171:67;:::i;:::-;23164:74;;23247:93;23336:3;23247:93;:::i;:::-;23365:2;23360:3;23356:12;23349:19;;23008:366;;;:::o;23380:419::-;23546:4;23584:2;23573:9;23569:18;23561:26;;23633:9;23627:4;23623:20;23619:1;23608:9;23604:17;23597:47;23661:131;23787:4;23661:131;:::i;:::-;23653:139;;23380:419;;;:::o;23805:223::-;23945:34;23941:1;23933:6;23929:14;23922:58;24014:6;24009:2;24001:6;23997:15;23990:31;23805:223;:::o;24034:366::-;24176:3;24197:67;24261:2;24256:3;24197:67;:::i;:::-;24190:74;;24273:93;24362:3;24273:93;:::i;:::-;24391:2;24386:3;24382:12;24375:19;;24034:366;;;:::o;24406:419::-;24572:4;24610:2;24599:9;24595:18;24587:26;;24659:9;24653:4;24649:20;24645:1;24634:9;24630:17;24623:47;24687:131;24813:4;24687:131;:::i;:::-;24679:139;;24406:419;;;:::o;24831:221::-;24971:34;24967:1;24959:6;24955:14;24948:58;25040:4;25035:2;25027:6;25023:15;25016:29;24831:221;:::o;25058:366::-;25200:3;25221:67;25285:2;25280:3;25221:67;:::i;:::-;25214:74;;25297:93;25386:3;25297:93;:::i;:::-;25415:2;25410:3;25406:12;25399:19;;25058:366;;;:::o;25430:419::-;25596:4;25634:2;25623:9;25619:18;25611:26;;25683:9;25677:4;25673:20;25669:1;25658:9;25654:17;25647:47;25711:131;25837:4;25711:131;:::i;:::-;25703:139;;25430:419;;;:::o;25855:224::-;25995:34;25991:1;25983:6;25979:14;25972:58;26064:7;26059:2;26051:6;26047:15;26040:32;25855:224;:::o;26085:366::-;26227:3;26248:67;26312:2;26307:3;26248:67;:::i;:::-;26241:74;;26324:93;26413:3;26324:93;:::i;:::-;26442:2;26437:3;26433:12;26426:19;;26085:366;;;:::o;26457:419::-;26623:4;26661:2;26650:9;26646:18;26638:26;;26710:9;26704:4;26700:20;26696:1;26685:9;26681:17;26674:47;26738:131;26864:4;26738:131;:::i;:::-;26730:139;;26457:419;;;:::o;26882:222::-;27022:34;27018:1;27010:6;27006:14;26999:58;27091:5;27086:2;27078:6;27074:15;27067:30;26882:222;:::o;27110:366::-;27252:3;27273:67;27337:2;27332:3;27273:67;:::i;:::-;27266:74;;27349:93;27438:3;27349:93;:::i;:::-;27467:2;27462:3;27458:12;27451:19;;27110:366;;;:::o;27482:419::-;27648:4;27686:2;27675:9;27671:18;27663:26;;27735:9;27729:4;27725:20;27721:1;27710:9;27706:17;27699:47;27763:131;27889:4;27763:131;:::i;:::-;27755:139;;27482:419;;;:::o;27907:172::-;28047:24;28043:1;28035:6;28031:14;28024:48;27907:172;:::o;28085:366::-;28227:3;28248:67;28312:2;28307:3;28248:67;:::i;:::-;28241:74;;28324:93;28413:3;28324:93;:::i;:::-;28442:2;28437:3;28433:12;28426:19;;28085:366;;;:::o;28457:419::-;28623:4;28661:2;28650:9;28646:18;28638:26;;28710:9;28704:4;28700:20;28696:1;28685:9;28681:17;28674:47;28738:131;28864:4;28738:131;:::i;:::-;28730:139;;28457:419;;;:::o;28882:230::-;29022:34;29018:1;29010:6;29006:14;28999:58;29091:13;29086:2;29078:6;29074:15;29067:38;28882:230;:::o;29118:366::-;29260:3;29281:67;29345:2;29340:3;29281:67;:::i;:::-;29274:74;;29357:93;29446:3;29357:93;:::i;:::-;29475:2;29470:3;29466:12;29459:19;;29118:366;;;:::o;29490:419::-;29656:4;29694:2;29683:9;29679:18;29671:26;;29743:9;29737:4;29733:20;29729:1;29718:9;29714:17;29707:47;29771:131;29897:4;29771:131;:::i;:::-;29763:139;;29490:419;;;:::o;29915:169::-;30055:21;30051:1;30043:6;30039:14;30032:45;29915:169;:::o;30090:366::-;30232:3;30253:67;30317:2;30312:3;30253:67;:::i;:::-;30246:74;;30329:93;30418:3;30329:93;:::i;:::-;30447:2;30442:3;30438:12;30431:19;;30090:366;;;:::o;30462:419::-;30628:4;30666:2;30655:9;30651:18;30643:26;;30715:9;30709:4;30705:20;30701:1;30690:9;30686:17;30679:47;30743:131;30869:4;30743:131;:::i;:::-;30735:139;;30462:419;;;:::o;30887:231::-;31027:34;31023:1;31015:6;31011:14;31004:58;31096:14;31091:2;31083:6;31079:15;31072:39;30887:231;:::o;31124:366::-;31266:3;31287:67;31351:2;31346:3;31287:67;:::i;:::-;31280:74;;31363:93;31452:3;31363:93;:::i;:::-;31481:2;31476:3;31472:12;31465:19;;31124:366;;;:::o;31496:419::-;31662:4;31700:2;31689:9;31685:18;31677:26;;31749:9;31743:4;31739:20;31735:1;31724:9;31720:17;31713:47;31777:131;31903:4;31777:131;:::i;:::-;31769:139;;31496:419;;;:::o;31921:194::-;31961:4;31981:20;31999:1;31981:20;:::i;:::-;31976:25;;32015:20;32033:1;32015:20;:::i;:::-;32010:25;;32059:1;32056;32052:9;32044:17;;32083:1;32077:4;32074:11;32071:37;;;32088:18;;:::i;:::-;32071:37;31921:194;;;;:::o;32121:225::-;32261:34;32257:1;32249:6;32245:14;32238:58;32330:8;32325:2;32317:6;32313:15;32306:33;32121:225;:::o;32352:366::-;32494:3;32515:67;32579:2;32574:3;32515:67;:::i;:::-;32508:74;;32591:93;32680:3;32591:93;:::i;:::-;32709:2;32704:3;32700:12;32693:19;;32352:366;;;:::o;32724:419::-;32890:4;32928:2;32917:9;32913:18;32905:26;;32977:9;32971:4;32967:20;32963:1;32952:9;32948:17;32941:47;33005:131;33131:4;33005:131;:::i;:::-;32997:139;;32724:419;;;:::o;33149:147::-;33250:11;33287:3;33272:18;;33149:147;;;;:::o;33302:114::-;;:::o;33422:398::-;33581:3;33602:83;33683:1;33678:3;33602:83;:::i;:::-;33595:90;;33694:93;33783:3;33694:93;:::i;:::-;33812:1;33807:3;33803:11;33796:18;;33422:398;;;:::o;33826:379::-;34010:3;34032:147;34175:3;34032:147;:::i;:::-;34025:154;;34196:3;34189:10;;33826:379;;;:::o;34211:180::-;34259:77;34256:1;34249:88;34356:4;34353:1;34346:15;34380:4;34377:1;34370:15;34397:180;34445:77;34442:1;34435:88;34542:4;34539:1;34532:15;34566:4;34563:1;34556:15;34583:143;34640:5;34671:6;34665:13;34656:22;;34687:33;34714:5;34687:33;:::i;:::-;34583:143;;;;:::o;34732:351::-;34802:6;34851:2;34839:9;34830:7;34826:23;34822:32;34819:119;;;34857:79;;:::i;:::-;34819:119;34977:1;35002:64;35058:7;35049:6;35038:9;35034:22;35002:64;:::i;:::-;34992:74;;34948:128;34732:351;;;;:::o;35089:85::-;35134:7;35163:5;35152:16;;35089:85;;;:::o;35180:158::-;35238:9;35271:61;35289:42;35298:32;35324:5;35298:32;:::i;:::-;35289:42;:::i;:::-;35271:61;:::i;:::-;35258:74;;35180:158;;;:::o;35344:147::-;35439:45;35478:5;35439:45;:::i;:::-;35434:3;35427:58;35344:147;;:::o;35497:114::-;35564:6;35598:5;35592:12;35582:22;;35497:114;;;:::o;35617:184::-;35716:11;35750:6;35745:3;35738:19;35790:4;35785:3;35781:14;35766:29;;35617:184;;;;:::o;35807:132::-;35874:4;35897:3;35889:11;;35927:4;35922:3;35918:14;35910:22;;35807:132;;;:::o;35945:108::-;36022:24;36040:5;36022:24;:::i;:::-;36017:3;36010:37;35945:108;;:::o;36059:179::-;36128:10;36149:46;36191:3;36183:6;36149:46;:::i;:::-;36227:4;36222:3;36218:14;36204:28;;36059:179;;;;:::o;36244:113::-;36314:4;36346;36341:3;36337:14;36329:22;;36244:113;;;:::o;36393:732::-;36512:3;36541:54;36589:5;36541:54;:::i;:::-;36611:86;36690:6;36685:3;36611:86;:::i;:::-;36604:93;;36721:56;36771:5;36721:56;:::i;:::-;36800:7;36831:1;36816:284;36841:6;36838:1;36835:13;36816:284;;;36917:6;36911:13;36944:63;37003:3;36988:13;36944:63;:::i;:::-;36937:70;;37030:60;37083:6;37030:60;:::i;:::-;37020:70;;36876:224;36863:1;36860;36856:9;36851:14;;36816:284;;;36820:14;37116:3;37109:10;;36517:608;;;36393:732;;;;:::o;37131:831::-;37394:4;37432:3;37421:9;37417:19;37409:27;;37446:71;37514:1;37503:9;37499:17;37490:6;37446:71;:::i;:::-;37527:80;37603:2;37592:9;37588:18;37579:6;37527:80;:::i;:::-;37654:9;37648:4;37644:20;37639:2;37628:9;37624:18;37617:48;37682:108;37785:4;37776:6;37682:108;:::i;:::-;37674:116;;37800:72;37868:2;37857:9;37853:18;37844:6;37800:72;:::i;:::-;37882:73;37950:3;37939:9;37935:19;37926:6;37882:73;:::i;:::-;37131:831;;;;;;;;:::o

Swarm Source

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