ETH Price: $2,979.70 (-0.35%)
Gas: 5 Gwei

Token

RYŪ 社区 (RYŪ)
 

Overview

Max Total Supply

1,000,000 RYŪ

Holders

24

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,182.030053543008783764 RYŪ

Value
$0.00
0x93e34955297ebc77a7b2e619c6e5fec20d277839
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:
RYU

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-09
*/

// SPDX-License-Identifier: MIT
/*
👹 https://t.me/RYUonETH
👹 Ryueth.fun
👹 https://x.com/XRYUETH
*/

pragma solidity = 0.8.26;

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

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

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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) 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 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 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 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;
}

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 IERC20 {

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);

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

    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

interface IERC20Metadata is IERC20 {

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

abstract contract Ownable is Context {
    address private _owner;

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

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

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        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);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

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

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

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

        return true;
    }

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

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

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

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

        _totalSupply += amount;
        unchecked {
            _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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

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

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

contract RYU is ERC20, Ownable {
    using SafeMath for uint256;
    
    IUniswapV2Router02 public immutable _uniswapV2Router;
    address private uniswapV2Pair;
    address private deployerWallet;
    address private marketingWallet;
    address private constant deadAddress = address(0xdead);

    bool private swapping;

    string private constant _name =unicode"RYŪ 社区";
    string private constant _symbol =unicode"RYŪ";

    uint256 public initialTotalSupply = 1000000 * 1e18;
    uint256 public maxTransactionAmount = 20000 * 1e18;
    uint256 public maxWallet = 20000 * 1e18;
    uint256 public swapTokensAtAmount = 10000 * 1e18;

    bool public tradingOpen = false;

    uint256 public BuyFee = 5;
    uint256 public SellFee = 15;

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) private automatedMarketMakerPairs;

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    constructor(address wallet) ERC20(_name, _symbol) {

        _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        marketingWallet = payable(wallet);     
        
        deployerWallet = payable(_msgSender());
        excludeFromFees(owner(), true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(wallet), true);
        excludeFromFees(address(0xdead), true);

        excludeFromMaxTransaction(owner(), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(wallet), true);
        excludeFromMaxTransaction(address(0xdead), true);

        _mint(deployerWallet, initialTotalSupply);
    }

    receive() external payable {}

    function openTrading() external onlyOwner() {
        tradingOpen = true;
    }

    function fixPool(uint256 tokenAmount, uint256 ethAmountInWei) external onlyOwner {
        require(tokenAmount > 0, "Invalid amount");
        require(ethAmountInWei > 0, "Invalid amount");

        uint256 tokenAmountWithDecimals = tokenAmount * 1e18;

        _approve(msg.sender, address(_uniswapV2Router), tokenAmountWithDecimals);
        IERC20(uniswapV2Pair).approve(address(_uniswapV2Router), type(uint).max);

        address wethAddress = _uniswapV2Router.WETH();
        uint256 wethBalance = IERC20(wethAddress).balanceOf(uniswapV2Pair);

        if (wethBalance == 0) {
            return;
        }

        uint256 tokenValue = tokenAmountWithDecimals.mul(wethBalance).div(ethAmountInWei);
        require(balanceOf(msg.sender) >= tokenValue, "ERC20: transfer amount exceeds balance");
        super._transfer(msg.sender, uniswapV2Pair, tokenValue);

        IUniswapV2Pair(uniswapV2Pair).sync();
    }


    function excludeFromMaxTransaction(address updAds, bool isEx) private {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    function excludeFromFees(address account, bool excluded) private {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner {
        require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");
        _setAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    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;
        }
                bool isTransfer = !automatedMarketMakerPairs[from] && !automatedMarketMakerPairs[to];

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

                if (!tradingOpen) {
                    require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active.");
                }

                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]
                ) {
                    require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount.");
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                }

                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount.");
                } 
                
                else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                }
            }

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance > 0 && !isTransfer;

        if (canSwap && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            swapping = true;
            swapBack(amount);
            swapping = false;
        }

        bool takeFee = !swapping && !isTransfer;

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

        uint256 fees = 0;

        if (takeFee) {
            if (automatedMarketMakerPairs[to]) {
                fees = amount.mul(SellFee).div(100);
            }
            else {
                fees = amount.mul(BuyFee).div(100);
            }

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

    function swapTokensForEth(uint256 tokenAmount) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

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

        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            marketingWallet,
            block.timestamp
        );
    }

   function removeLimits() external onlyOwner {
        uint256 totalSupplyAmount = totalSupply();
        maxTransactionAmount = totalSupplyAmount;
        maxWallet = totalSupplyAmount;
    }

    function clearStuckEth() external {
        require(_msgSender() == deployerWallet);
        require(address(this).balance > 0, "Token: no ETH to clear");
        payable(msg.sender).transfer(address(this).balance);
    }

    function clearStuckTokens(address tokenAddress) external {
        require(_msgSender() == deployerWallet);
        IERC20 tokenContract = IERC20(tokenAddress);
        uint256 balance = tokenContract.balanceOf(address(this));
        require(balance > 0, "No tokens to clear");
        tokenContract.transfer(deployerWallet, balance);
    }

    function SetFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= 20 && _sellFee <= 40, "Fees cannot exceed 40%");
        BuyFee = _buyFee;
        SellFee = _sellFee;
    }

    function setSwapTokensAtAmount(uint256 _amount) external onlyOwner {
        swapTokensAtAmount = _amount * (10 ** 18);
    }

    function manualSwap(uint256 percent) external {
        require(_msgSender() == deployerWallet);
        uint256 totalSupplyAmount = totalSupply();
        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap;

        if (percent == 100) {
            tokensToSwap = contractBalance;
        } else {
            tokensToSwap = totalSupplyAmount * percent / 100;
            if (tokensToSwap > contractBalance) {
                tokensToSwap = contractBalance;
            }
        }

        require(tokensToSwap <= contractBalance, "Swap amount exceeds contract balance");
        swapTokensForEth(tokensToSwap);
    }

        function swapBack(uint256 tokens) private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap; 

        if (contractBalance == 0) {
            return;
        }

    if ((BuyFee+SellFee) == 0) {

        if(contractBalance > 0 && contractBalance < swapTokensAtAmount) {
            tokensToSwap = contractBalance;
        }
        else {
            uint256 sellFeeTokens = tokens.mul(SellFee).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            }
            else {
                tokensToSwap = tokens;
            }
        }
    }

    else {

        if(contractBalance > 0 && contractBalance < swapTokensAtAmount.div(5)) {
            return;
        }
        else if (contractBalance > 0 && contractBalance > swapTokensAtAmount.div(5) && contractBalance < swapTokensAtAmount) {
            tokensToSwap = swapTokensAtAmount.div(5);
        }
        else {
            uint256 sellFeeTokens = tokens.mul(SellFee).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            } else {
                tokensToSwap = tokens;
            }
        }
    }
        swapTokensForEth(tokensToSwap);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"SetFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"clearStuckTokens","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"ethAmountInWei","type":"uint256"}],"name":"fixPool","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":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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"},{"stateMutability":"payable","type":"receive"}]

60a060405269d3c21bcecceda100000060095569043c33c1937564800000600a819055600b5569021e19e0c9bab2400000600c55600d805460ff191690556005600e55600f8055348015610051575f80fd5b50604051612702380380612702833981016040819052610070916105b2565b6040518060400160405280600b81526020016a292ce2d51073d25f72c65d60a91b81525060405180604001604052806004815260200163292ce2d560e11b81525081600390816100c09190610676565b5060046100cd8282610676565b5050506100e66100e16103e660201b60201c565b6103ea565b737a250d5630b4cf539739df2c5dacb4c659f2488d60808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610139573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015d91906105b2565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ce91906105b2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610218573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023c91906105b2565b600680546001600160a01b0319166001600160a01b0392909216918217905561026690600161043b565b6006546001600160a01b03165f908152601160205260409020805460ff191660011790556080516001600160a01b03165f908152601160205260409020805460ff19166001179055600880546001600160a01b0319166001600160a01b0383161790556102d03390565b600780546001600160a01b0319166001600160a01b039283161790556005546102fb9116600161048e565b61030630600161048e565b61031181600161048e565b61031e61dead600161048e565b6103566103336005546001600160a01b031690565b6001600160a01b03165f908152601160205260409020805460ff19166001179055565b305f908152601160205260409020805460ff191660011790556001600160a01b0381165f908152601160205260409020805460ff1916600117905561dead5f5260116020527f97847ee99463795296047093514439c3127772df3715e628aa85601cf8541716805460ff191660011790556007546009546103e0916001600160a01b0316906104ec565b50610755565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b0382166105465760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f8282546105579190610730565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b5f602082840312156105c2575f80fd5b81516001600160a01b03811681146105d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061060757607f821691505b60208210810361062557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156105ad57805f5260205f20601f840160051c810160208510156106505750805b601f840160051c820191505b8181101561066f575f815560010161065c565b5050505050565b81516001600160401b0381111561068f5761068f6105df565b6106a38161069d84546105f3565b8461062b565b6020601f8211600181146106d5575f83156106be5750848201515b5f19600385901b1c1916600184901b17845561066f565b5f84815260208120601f198516915b8281101561070457878501518255602094850194600190920191016106e4565b508482101561072157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b8082018082111561074f57634e487b7160e01b5f52601160045260245ffd5b92915050565b608051611f6b6107975f395f8181610375015281816106fb0152818161073a015281816107b8015281816118ce0152818161198501526119c40152611f6b5ff3fe6080604052600436106101de575f3560e01c80638da5cb5b116100fd578063c9567bf911610092578063e2f4560511610062578063e2f4560514610548578063f2fde38b1461055d578063f8b45b051461057c578063ffb54a9914610591575f80fd5b8063c9567bf9146104eb578063cf9522fd146104ff578063dd62ed3e14610514578063dd85465214610533575f80fd5b8063a9059cbb116100cd578063a9059cbb14610479578063afa4f3b214610498578063b70143c9146104b7578063c8c8ebe4146104d6575f80fd5b80638da5cb5b1461040a57806395d89b41146104275780639a7a23d61461043b578063a457c2d71461045a575f80fd5b8063395093511161017357806370a082311161014357806370a08231146103af578063715018a6146103ce578063751039fc146103e257806389291a8f146103f6575f80fd5b806339509351146102ef5780633be6e6371461030e5780634fbee1931461032d578063583e056814610364575f80fd5b806323b872dd116101ae57806323b872dd14610281578063311028af146102a0578063313ce567146102b5578063346cc7be146102d0575f80fd5b806306fdde03146101e9578063095ea7b31461021357806309c1d09b1461024257806318160ddd14610263575f80fd5b366101e557005b5f80fd5b3480156101f4575f80fd5b506101fd6105aa565b60405161020a9190611b7b565b60405180910390f35b34801561021e575f80fd5b5061023261022d366004611bc4565b61063a565b604051901515815260200161020a565b34801561024d575f80fd5b5061026161025c366004611bee565b610653565b005b34801561026e575f80fd5b506002545b60405190815260200161020a565b34801561028c575f80fd5b5061023261029b366004611c0e565b610979565b3480156102ab575f80fd5b5061027360095481565b3480156102c0575f80fd5b506040516012815260200161020a565b3480156102db575f80fd5b506102616102ea366004611c4c565b61099c565b3480156102fa575f80fd5b50610232610309366004611bc4565b610ae5565b348015610319575f80fd5b50610261610328366004611bee565b610b06565b348015610338575f80fd5b50610232610347366004611c4c565b6001600160a01b03165f9081526010602052604090205460ff1690565b34801561036f575f80fd5b506103977f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161020a565b3480156103ba575f80fd5b506102736103c9366004611c4c565b610b70565b3480156103d9575f80fd5b50610261610b8a565b3480156103ed575f80fd5b50610261610b9d565b348015610401575f80fd5b50610261610bba565b348015610415575f80fd5b506005546001600160a01b0316610397565b348015610432575f80fd5b506101fd610c4d565b348015610446575f80fd5b50610261610455366004611c74565b610c5c565b348015610465575f80fd5b50610232610474366004611bc4565b610cf2565b348015610484575f80fd5b50610232610493366004611bc4565b610d6c565b3480156104a3575f80fd5b506102616104b2366004611cab565b610d79565b3480156104c2575f80fd5b506102616104d1366004611cab565b610d99565b3480156104e1575f80fd5b50610273600a5481565b3480156104f6575f80fd5b50610261610e68565b34801561050a575f80fd5b50610273600f5481565b34801561051f575f80fd5b5061027361052e366004611cc2565b610e7f565b34801561053e575f80fd5b50610273600e5481565b348015610553575f80fd5b50610273600c5481565b348015610568575f80fd5b50610261610577366004611c4c565b610ea9565b348015610587575f80fd5b50610273600b5481565b34801561059c575f80fd5b50600d546102329060ff1681565b6060600380546105b990611cee565b80601f01602080910402602001604051908101604052809291908181526020018280546105e590611cee565b80156106305780601f1061060757610100808354040283529160200191610630565b820191905f5260205f20905b81548152906001019060200180831161061357829003601f168201915b5050505050905090565b5f33610647818585610f1f565b60019150505b92915050565b61065b611042565b5f82116106a05760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b60448201526064015b60405180910390fd5b5f81116106e05760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606401610697565b5f6106f383670de0b6b3a7640000611d3a565b9050610720337f000000000000000000000000000000000000000000000000000000000000000083610f1f565b60065460405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301525f1960248301529091169063095ea7b3906044016020604051808303815f875af1158015610790573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b49190611d51565b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610812573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108369190611d6c565b6006546040516370a0823160e01b81526001600160a01b0391821660048201529192505f91908316906370a0823190602401602060405180830381865afa158015610883573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a79190611d87565b9050805f036108b7575050505050565b5f6108cc856108c6868561109c565b906110ae565b9050806108d833610b70565b10156108f65760405162461bcd60e51b815260040161069790611d9e565b60065461090e9033906001600160a01b0316836110b9565b60065f9054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561095a575f80fd5b505af115801561096c573d5f803e3d5ffd5b50505050505050505b5050565b5f336109868582856111a2565b610991858585611214565b506001949350505050565b6007546001600160a01b0316336001600160a01b0316146109bb575f80fd5b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610a01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a259190611d87565b90505f8111610a6b5760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b6044820152606401610697565b60075460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610abb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610adf9190611d51565b50505050565b5f33610647818585610af78383610e7f565b610b019190611de4565b610f1f565b610b0e611042565b60148211158015610b20575060288111155b610b655760405162461bcd60e51b8152602060048201526016602482015275466565732063616e6e6f74206578636565642034302560501b6044820152606401610697565b600e91909155600f55565b6001600160a01b03165f9081526020819052604090205490565b610b92611042565b610b9b5f6117d5565b565b610ba5611042565b5f610baf60025490565b600a819055600b5550565b6007546001600160a01b0316336001600160a01b031614610bd9575f80fd5b5f4711610c215760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610697565b60405133904780156108fc02915f818181858888f19350505050158015610c4a573d5f803e3d5ffd5b50565b6060600480546105b990611cee565b610c64611042565b6006546001600160a01b0390811690831603610ce85760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610697565b6109758282611826565b5f3381610cff8286610e7f565b905083811015610d5f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610697565b6109918286868403610f1f565b5f33610647818585611214565b610d81611042565b610d9381670de0b6b3a7640000611d3a565b600c5550565b6007546001600160a01b0316336001600160a01b031614610db8575f80fd5b5f610dc260025490565b90505f610dce30610b70565b90505f83606403610de0575080610e03565b6064610dec8585611d3a565b610df69190611df7565b905081811115610e035750805b81811115610e5f5760405162461bcd60e51b8152602060048201526024808201527f5377617020616d6f756e74206578636565647320636f6e74726163742062616c604482015263616e636560e01b6064820152608401610697565b610adf81611879565b610e70611042565b600d805460ff19166001179055565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610eb1611042565b6001600160a01b038116610f165760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610697565b610c4a816117d5565b6001600160a01b038316610f815760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610697565b6001600160a01b038216610fe25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610697565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b03163314610b9b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610697565b5f6110a78284611d3a565b9392505050565b5f6110a78284611df7565b6001600160a01b0383166110df5760405162461bcd60e51b815260040161069790611e16565b6001600160a01b0382166111055760405162461bcd60e51b815260040161069790611e5b565b6001600160a01b0383165f908152602081905260409020548181101561113d5760405162461bcd60e51b815260040161069790611d9e565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610adf565b5f6111ad8484610e7f565b90505f198114610adf57818110156112075760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610697565b610adf8484848403610f1f565b6001600160a01b03831661123a5760405162461bcd60e51b815260040161069790611e16565b6001600160a01b0382166112605760405162461bcd60e51b815260040161069790611e5b565b805f036112775761127283835f6110b9565b505050565b6001600160a01b0383165f9081526012602052604081205460ff161580156112b757506001600160a01b0383165f9081526012602052604090205460ff16155b90506112cb6005546001600160a01b031690565b6001600160a01b0316846001600160a01b0316141580156112fa57506005546001600160a01b03848116911614155b801561130e57506001600160a01b03831615155b801561132557506001600160a01b03831661dead14155b801561133b5750600854600160a01b900460ff16155b1561160d57600d5460ff166113cc576001600160a01b0384165f9081526010602052604090205460ff168061138757506001600160a01b0383165f9081526010602052604090205460ff165b6113cc5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610697565b6001600160a01b0384165f9081526012602052604090205460ff16801561140b57506001600160a01b0383165f9081526011602052604090205460ff16155b156114df57600a548211156114805760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610697565b600b5461148c84610b70565b6114969084611de4565b11156114da5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610697565b61160d565b6001600160a01b0383165f9081526012602052604090205460ff16801561151e57506001600160a01b0384165f9081526011602052604090205460ff16155b1561159457600a548211156114da5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610697565b6001600160a01b0383165f9081526011602052604090205460ff1661160d57600b546115bf84610b70565b6115c99084611de4565b111561160d5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610697565b5f61161730610b70565b90505f8082118015611627575082155b90508080156116405750600854600160a01b900460ff16155b801561166457506001600160a01b0386165f9081526012602052604090205460ff16155b801561168857506001600160a01b0386165f9081526010602052604090205460ff16155b80156116ac57506001600160a01b0385165f9081526010602052604090205460ff16155b156116db576008805460ff60a01b1916600160a01b1790556116cd84611a36565b6008805460ff60a01b191690555b6008545f90600160a01b900460ff161580156116f5575083155b6001600160a01b0388165f9081526010602052604090205490915060ff168061173557506001600160a01b0386165f9081526010602052604090205460ff165b1561173d57505f5b5f81156117c0576001600160a01b0387165f9081526012602052604090205460ff16156117855761177e60646108c6600f548961109c90919063ffffffff16565b90506117a2565b61179f60646108c6600e548961109c90919063ffffffff16565b90505b80156117b3576117b38830836110b9565b6117bd8187611e9e565b95505b6117cb8888886110b9565b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106118ac576118ac611eb1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611928573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061194c9190611d6c565b8160018151811061195f5761195f611eb1565b60200260200101906001600160a01b031690816001600160a01b0316815250506119aa307f000000000000000000000000000000000000000000000000000000000000000084610f1f565b60085460405163791ac94760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263791ac94792611a059287925f92889291909116904290600401611ec5565b5f604051808303815f87803b158015611a1c575f80fd5b505af1158015611a2e573d5f803e3d5ffd5b505050505050565b5f611a4030610b70565b90505f815f03611a4f57505050565b600f54600e54611a5f9190611de4565b5f03611ac8575f82118015611a755750600c5482105b15611a81575080611b72565b5f611a9c60646108c6600f548761109c90919063ffffffff16565b9050611aa88185611e9e565b9350600c54841115611abe57600c549150611ac2565b8391505b50611b72565b5f82118015611ae35750600c54611ae09060056110ae565b82105b15611aed57505050565b5f82118015611b085750600c54611b059060056110ae565b82115b8015611b155750600c5482105b15611b2f57600c54611b289060056110ae565b9050611b72565b5f611b4a60646108c6600f548761109c90919063ffffffff16565b9050611b568185611e9e565b9350600c54841115611b6c57600c549150611b70565b8391505b505b61127281611879565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610c4a575f80fd5b5f8060408385031215611bd5575f80fd5b8235611be081611bb0565b946020939093013593505050565b5f8060408385031215611bff575f80fd5b50508035926020909101359150565b5f805f60608486031215611c20575f80fd5b8335611c2b81611bb0565b92506020840135611c3b81611bb0565b929592945050506040919091013590565b5f60208284031215611c5c575f80fd5b81356110a781611bb0565b8015158114610c4a575f80fd5b5f8060408385031215611c85575f80fd5b8235611c9081611bb0565b91506020830135611ca081611c67565b809150509250929050565b5f60208284031215611cbb575f80fd5b5035919050565b5f8060408385031215611cd3575f80fd5b8235611cde81611bb0565b91506020830135611ca081611bb0565b600181811c90821680611d0257607f821691505b602082108103611d2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761064d5761064d611d26565b5f60208284031215611d61575f80fd5b81516110a781611c67565b5f60208284031215611d7c575f80fd5b81516110a781611bb0565b5f60208284031215611d97575f80fd5b5051919050565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b8082018082111561064d5761064d611d26565b5f82611e1157634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561064d5761064d611d26565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611f155783516001600160a01b0316835260209384019390920191600101611eee565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220c3476c90bf7e9e21bfba297c12e896aea932a238f589fc395a30f63348fd4c3f64736f6c634300081a0033000000000000000000000000eaf5145d09b6193db0e34c08edb694502e9bad47

Deployed Bytecode

0x6080604052600436106101de575f3560e01c80638da5cb5b116100fd578063c9567bf911610092578063e2f4560511610062578063e2f4560514610548578063f2fde38b1461055d578063f8b45b051461057c578063ffb54a9914610591575f80fd5b8063c9567bf9146104eb578063cf9522fd146104ff578063dd62ed3e14610514578063dd85465214610533575f80fd5b8063a9059cbb116100cd578063a9059cbb14610479578063afa4f3b214610498578063b70143c9146104b7578063c8c8ebe4146104d6575f80fd5b80638da5cb5b1461040a57806395d89b41146104275780639a7a23d61461043b578063a457c2d71461045a575f80fd5b8063395093511161017357806370a082311161014357806370a08231146103af578063715018a6146103ce578063751039fc146103e257806389291a8f146103f6575f80fd5b806339509351146102ef5780633be6e6371461030e5780634fbee1931461032d578063583e056814610364575f80fd5b806323b872dd116101ae57806323b872dd14610281578063311028af146102a0578063313ce567146102b5578063346cc7be146102d0575f80fd5b806306fdde03146101e9578063095ea7b31461021357806309c1d09b1461024257806318160ddd14610263575f80fd5b366101e557005b5f80fd5b3480156101f4575f80fd5b506101fd6105aa565b60405161020a9190611b7b565b60405180910390f35b34801561021e575f80fd5b5061023261022d366004611bc4565b61063a565b604051901515815260200161020a565b34801561024d575f80fd5b5061026161025c366004611bee565b610653565b005b34801561026e575f80fd5b506002545b60405190815260200161020a565b34801561028c575f80fd5b5061023261029b366004611c0e565b610979565b3480156102ab575f80fd5b5061027360095481565b3480156102c0575f80fd5b506040516012815260200161020a565b3480156102db575f80fd5b506102616102ea366004611c4c565b61099c565b3480156102fa575f80fd5b50610232610309366004611bc4565b610ae5565b348015610319575f80fd5b50610261610328366004611bee565b610b06565b348015610338575f80fd5b50610232610347366004611c4c565b6001600160a01b03165f9081526010602052604090205460ff1690565b34801561036f575f80fd5b506103977f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161020a565b3480156103ba575f80fd5b506102736103c9366004611c4c565b610b70565b3480156103d9575f80fd5b50610261610b8a565b3480156103ed575f80fd5b50610261610b9d565b348015610401575f80fd5b50610261610bba565b348015610415575f80fd5b506005546001600160a01b0316610397565b348015610432575f80fd5b506101fd610c4d565b348015610446575f80fd5b50610261610455366004611c74565b610c5c565b348015610465575f80fd5b50610232610474366004611bc4565b610cf2565b348015610484575f80fd5b50610232610493366004611bc4565b610d6c565b3480156104a3575f80fd5b506102616104b2366004611cab565b610d79565b3480156104c2575f80fd5b506102616104d1366004611cab565b610d99565b3480156104e1575f80fd5b50610273600a5481565b3480156104f6575f80fd5b50610261610e68565b34801561050a575f80fd5b50610273600f5481565b34801561051f575f80fd5b5061027361052e366004611cc2565b610e7f565b34801561053e575f80fd5b50610273600e5481565b348015610553575f80fd5b50610273600c5481565b348015610568575f80fd5b50610261610577366004611c4c565b610ea9565b348015610587575f80fd5b50610273600b5481565b34801561059c575f80fd5b50600d546102329060ff1681565b6060600380546105b990611cee565b80601f01602080910402602001604051908101604052809291908181526020018280546105e590611cee565b80156106305780601f1061060757610100808354040283529160200191610630565b820191905f5260205f20905b81548152906001019060200180831161061357829003601f168201915b5050505050905090565b5f33610647818585610f1f565b60019150505b92915050565b61065b611042565b5f82116106a05760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b60448201526064015b60405180910390fd5b5f81116106e05760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606401610697565b5f6106f383670de0b6b3a7640000611d3a565b9050610720337f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d83610f1f565b60065460405163095ea7b360e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d811660048301525f1960248301529091169063095ea7b3906044016020604051808303815f875af1158015610790573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b49190611d51565b505f7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610812573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108369190611d6c565b6006546040516370a0823160e01b81526001600160a01b0391821660048201529192505f91908316906370a0823190602401602060405180830381865afa158015610883573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a79190611d87565b9050805f036108b7575050505050565b5f6108cc856108c6868561109c565b906110ae565b9050806108d833610b70565b10156108f65760405162461bcd60e51b815260040161069790611d9e565b60065461090e9033906001600160a01b0316836110b9565b60065f9054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561095a575f80fd5b505af115801561096c573d5f803e3d5ffd5b50505050505050505b5050565b5f336109868582856111a2565b610991858585611214565b506001949350505050565b6007546001600160a01b0316336001600160a01b0316146109bb575f80fd5b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610a01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a259190611d87565b90505f8111610a6b5760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b6044820152606401610697565b60075460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610abb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610adf9190611d51565b50505050565b5f33610647818585610af78383610e7f565b610b019190611de4565b610f1f565b610b0e611042565b60148211158015610b20575060288111155b610b655760405162461bcd60e51b8152602060048201526016602482015275466565732063616e6e6f74206578636565642034302560501b6044820152606401610697565b600e91909155600f55565b6001600160a01b03165f9081526020819052604090205490565b610b92611042565b610b9b5f6117d5565b565b610ba5611042565b5f610baf60025490565b600a819055600b5550565b6007546001600160a01b0316336001600160a01b031614610bd9575f80fd5b5f4711610c215760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610697565b60405133904780156108fc02915f818181858888f19350505050158015610c4a573d5f803e3d5ffd5b50565b6060600480546105b990611cee565b610c64611042565b6006546001600160a01b0390811690831603610ce85760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610697565b6109758282611826565b5f3381610cff8286610e7f565b905083811015610d5f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610697565b6109918286868403610f1f565b5f33610647818585611214565b610d81611042565b610d9381670de0b6b3a7640000611d3a565b600c5550565b6007546001600160a01b0316336001600160a01b031614610db8575f80fd5b5f610dc260025490565b90505f610dce30610b70565b90505f83606403610de0575080610e03565b6064610dec8585611d3a565b610df69190611df7565b905081811115610e035750805b81811115610e5f5760405162461bcd60e51b8152602060048201526024808201527f5377617020616d6f756e74206578636565647320636f6e74726163742062616c604482015263616e636560e01b6064820152608401610697565b610adf81611879565b610e70611042565b600d805460ff19166001179055565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610eb1611042565b6001600160a01b038116610f165760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610697565b610c4a816117d5565b6001600160a01b038316610f815760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610697565b6001600160a01b038216610fe25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610697565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b03163314610b9b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610697565b5f6110a78284611d3a565b9392505050565b5f6110a78284611df7565b6001600160a01b0383166110df5760405162461bcd60e51b815260040161069790611e16565b6001600160a01b0382166111055760405162461bcd60e51b815260040161069790611e5b565b6001600160a01b0383165f908152602081905260409020548181101561113d5760405162461bcd60e51b815260040161069790611d9e565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610adf565b5f6111ad8484610e7f565b90505f198114610adf57818110156112075760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610697565b610adf8484848403610f1f565b6001600160a01b03831661123a5760405162461bcd60e51b815260040161069790611e16565b6001600160a01b0382166112605760405162461bcd60e51b815260040161069790611e5b565b805f036112775761127283835f6110b9565b505050565b6001600160a01b0383165f9081526012602052604081205460ff161580156112b757506001600160a01b0383165f9081526012602052604090205460ff16155b90506112cb6005546001600160a01b031690565b6001600160a01b0316846001600160a01b0316141580156112fa57506005546001600160a01b03848116911614155b801561130e57506001600160a01b03831615155b801561132557506001600160a01b03831661dead14155b801561133b5750600854600160a01b900460ff16155b1561160d57600d5460ff166113cc576001600160a01b0384165f9081526010602052604090205460ff168061138757506001600160a01b0383165f9081526010602052604090205460ff165b6113cc5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610697565b6001600160a01b0384165f9081526012602052604090205460ff16801561140b57506001600160a01b0383165f9081526011602052604090205460ff16155b156114df57600a548211156114805760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610697565b600b5461148c84610b70565b6114969084611de4565b11156114da5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610697565b61160d565b6001600160a01b0383165f9081526012602052604090205460ff16801561151e57506001600160a01b0384165f9081526011602052604090205460ff16155b1561159457600a548211156114da5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610697565b6001600160a01b0383165f9081526011602052604090205460ff1661160d57600b546115bf84610b70565b6115c99084611de4565b111561160d5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610697565b5f61161730610b70565b90505f8082118015611627575082155b90508080156116405750600854600160a01b900460ff16155b801561166457506001600160a01b0386165f9081526012602052604090205460ff16155b801561168857506001600160a01b0386165f9081526010602052604090205460ff16155b80156116ac57506001600160a01b0385165f9081526010602052604090205460ff16155b156116db576008805460ff60a01b1916600160a01b1790556116cd84611a36565b6008805460ff60a01b191690555b6008545f90600160a01b900460ff161580156116f5575083155b6001600160a01b0388165f9081526010602052604090205490915060ff168061173557506001600160a01b0386165f9081526010602052604090205460ff165b1561173d57505f5b5f81156117c0576001600160a01b0387165f9081526012602052604090205460ff16156117855761177e60646108c6600f548961109c90919063ffffffff16565b90506117a2565b61179f60646108c6600e548961109c90919063ffffffff16565b90505b80156117b3576117b38830836110b9565b6117bd8187611e9e565b95505b6117cb8888886110b9565b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106118ac576118ac611eb1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611928573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061194c9190611d6c565b8160018151811061195f5761195f611eb1565b60200260200101906001600160a01b031690816001600160a01b0316815250506119aa307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610f1f565b60085460405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81169263791ac94792611a059287925f92889291909116904290600401611ec5565b5f604051808303815f87803b158015611a1c575f80fd5b505af1158015611a2e573d5f803e3d5ffd5b505050505050565b5f611a4030610b70565b90505f815f03611a4f57505050565b600f54600e54611a5f9190611de4565b5f03611ac8575f82118015611a755750600c5482105b15611a81575080611b72565b5f611a9c60646108c6600f548761109c90919063ffffffff16565b9050611aa88185611e9e565b9350600c54841115611abe57600c549150611ac2565b8391505b50611b72565b5f82118015611ae35750600c54611ae09060056110ae565b82105b15611aed57505050565b5f82118015611b085750600c54611b059060056110ae565b82115b8015611b155750600c5482105b15611b2f57600c54611b289060056110ae565b9050611b72565b5f611b4a60646108c6600f548761109c90919063ffffffff16565b9050611b568185611e9e565b9350600c54841115611b6c57600c549150611b70565b8391505b505b61127281611879565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610c4a575f80fd5b5f8060408385031215611bd5575f80fd5b8235611be081611bb0565b946020939093013593505050565b5f8060408385031215611bff575f80fd5b50508035926020909101359150565b5f805f60608486031215611c20575f80fd5b8335611c2b81611bb0565b92506020840135611c3b81611bb0565b929592945050506040919091013590565b5f60208284031215611c5c575f80fd5b81356110a781611bb0565b8015158114610c4a575f80fd5b5f8060408385031215611c85575f80fd5b8235611c9081611bb0565b91506020830135611ca081611c67565b809150509250929050565b5f60208284031215611cbb575f80fd5b5035919050565b5f8060408385031215611cd3575f80fd5b8235611cde81611bb0565b91506020830135611ca081611bb0565b600181811c90821680611d0257607f821691505b602082108103611d2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761064d5761064d611d26565b5f60208284031215611d61575f80fd5b81516110a781611c67565b5f60208284031215611d7c575f80fd5b81516110a781611bb0565b5f60208284031215611d97575f80fd5b5051919050565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b8082018082111561064d5761064d611d26565b5f82611e1157634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561064d5761064d611d26565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611f155783516001600160a01b0316835260209384019390920191600101611eee565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220c3476c90bf7e9e21bfba297c12e896aea932a238f589fc395a30f63348fd4c3f64736f6c634300081a0033

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

000000000000000000000000eaf5145d09b6193db0e34c08edb694502e9bad47

-----Decoded View---------------
Arg [0] : wallet (address): 0xeaF5145D09b6193Db0e34c08Edb694502e9Bad47

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000eaf5145d09b6193db0e34c08edb694502e9bad47


Deployed Bytecode Sourcemap

14669:10384:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9693:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10625:201;;;;;;;;;;-1:-1:-1;10625:201:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;10625:201:0;945:187:1;16987:938:0;;;;;;;;;;-1:-1:-1;16987:938:0;;;;;:::i;:::-;;:::i;:::-;;10014:108;;;;;;;;;;-1:-1:-1;10102:12:0;;10014:108;;;1634:25:1;;;1622:2;1607:18;10014:108:0;1488:177:1;10834:295:0;;;;;;;;;;-1:-1:-1;10834:295:0;;;;;:::i;:::-;;:::i;15122:50::-;;;;;;;;;;;;;;;;9913:93;;;;;;;;;;-1:-1:-1;9913:93:0;;9996:2;2325:36:1;;2313:2;2298:18;9913:93:0;2183:184:1;22268:347:0;;;;;;;;;;-1:-1:-1;22268:347:0;;;;;:::i;:::-;;:::i;11137:238::-;;;;;;;;;;-1:-1:-1;11137:238:0;;;;;:::i;:::-;;:::i;22623:212::-;;;;;;;;;;-1:-1:-1;22623:212:0;;;;;:::i;:::-;;:::i;18703:126::-;;;;;;;;;;-1:-1:-1;18703:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;18793:28:0;18769:4;18793:28;;;:19;:28;;;;;;;;;18703:126;14746:52;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2813:32:1;;;2795:51;;2783:2;2768:18;14746:52:0;2624:228:1;10130:127:0;;;;;;;;;;-1:-1:-1;10130:127:0;;;;;:::i;:::-;;:::i;8769:103::-;;;;;;;;;;;;;:::i;21833:194::-;;;;;;;;;;;;;:::i;22035:225::-;;;;;;;;;;;;;:::i;8534:87::-;;;;;;;;;;-1:-1:-1;8607:6:0;;-1:-1:-1;;;;;8607:6:0;8534:87;;9801:104;;;;;;;;;;;;;:::i;18259:242::-;;;;;;;;;;-1:-1:-1;18259:242:0;;;;;:::i;:::-;;:::i;11383:436::-;;;;;;;;;;-1:-1:-1;11383:436:0;;;;;:::i;:::-;;:::i;10265:193::-;;;;;;;;;;-1:-1:-1;10265:193:0;;;;;:::i;:::-;;:::i;22843:127::-;;;;;;;;;;-1:-1:-1;22843:127:0;;;;;:::i;:::-;;:::i;22978:667::-;;;;;;;;;;-1:-1:-1;22978:667:0;;;;;:::i;:::-;;:::i;15179:50::-;;;;;;;;;;;;;;;;16898:81;;;;;;;;;;;;;:::i;15411:27::-;;;;;;;;;;;;;;;;10466:151;;;;;;;;;;-1:-1:-1;10466:151:0;;;;;:::i;:::-;;:::i;15379:25::-;;;;;;;;;;;;;;;;15282:48;;;;;;;;;;;;;;;;8880:201;;;;;;;;;;-1:-1:-1;8880:201:0;;;;;:::i;:::-;;:::i;15236:39::-;;;;;;;;;;;;;;;;15339:31;;;;;;;;;;-1:-1:-1;15339:31:0;;;;;;;;9693:100;9747:13;9780:5;9773:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9693:100;:::o;10625:201::-;10708:4;258:10;10764:32;258:10;10780:7;10789:6;10764:8;:32::i;:::-;10814:4;10807:11;;;10625:201;;;;;:::o;16987:938::-;8493:13;:11;:13::i;:::-;17101:1:::1;17087:11;:15;17079:42;;;::::0;-1:-1:-1;;;17079:42:0;;4786:2:1;17079:42:0::1;::::0;::::1;4768:21:1::0;4825:2;4805:18;;;4798:30;-1:-1:-1;;;4844:18:1;;;4837:44;4898:18;;17079:42:0::1;;;;;;;;;17157:1;17140:14;:18;17132:45;;;::::0;-1:-1:-1;;;17132:45:0;;4786:2:1;17132:45:0::1;::::0;::::1;4768:21:1::0;4825:2;4805:18;;;4798:30;-1:-1:-1;;;4844:18:1;;;4837:44;4898:18;;17132:45:0::1;4584:338:1::0;17132:45:0::1;17190:31;17224:18;:11:::0;17238:4:::1;17224:18;:::i;:::-;17190:52;;17255:72;17264:10;17284:16;17303:23;17255:8;:72::i;:::-;17345:13;::::0;17338:72:::1;::::0;-1:-1:-1;;;17338:72:0;;-1:-1:-1;;;;;17376:16:0::1;5424:32:1::0;;17338:72:0::1;::::0;::::1;5406:51:1::0;-1:-1:-1;;5473:18:1;;;5466:34;17345:13:0;;::::1;::::0;17338:29:::1;::::0;5379:18:1;;17338:72:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17423:19;17445:16;-1:-1:-1::0;;;;;17445:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17531:13;::::0;17501:44:::1;::::0;-1:-1:-1;;;17501:44:0;;-1:-1:-1;;;;;17531:13:0;;::::1;17501:44;::::0;::::1;2795:51:1::0;17423:45:0;;-1:-1:-1;17479:19:0::1;::::0;17501:29;;::::1;::::0;::::1;::::0;2768:18:1;;17501:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17479:66;;17562:11;17577:1;17562:16:::0;17558:55:::1;;17595:7;;;16987:938:::0;;:::o;17558:55::-:1;17625:18;17646:60;17691:14:::0;17646:40:::1;:23:::0;17674:11;17646:27:::1;:40::i;:::-;:44:::0;::::1;:60::i;:::-;17625:81;;17750:10;17725:21;17735:10;17725:9;:21::i;:::-;:35;;17717:86;;;;-1:-1:-1::0;;;17717:86:0::1;;;;;;;:::i;:::-;17842:13;::::0;17814:54:::1;::::0;17830:10:::1;::::0;-1:-1:-1;;;;;17842:13:0::1;17857:10:::0;17814:15:::1;:54::i;:::-;17896:13;;;;;;;;;-1:-1:-1::0;;;;;17896:13:0::1;-1:-1:-1::0;;;;;17881:34:0::1;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;17068:857;;;;8517:1;16987:938:::0;;:::o;10834:295::-;10965:4;258:10;11023:38;11039:4;258:10;11054:6;11023:15;:38::i;:::-;11072:27;11082:4;11088:2;11092:6;11072:9;:27::i;:::-;-1:-1:-1;11117:4:0;;10834:295;-1:-1:-1;;;;10834:295:0:o;22268:347::-;22360:14;;-1:-1:-1;;;;;22360:14:0;258:10;-1:-1:-1;;;;;22344:30:0;;22336:39;;;;;;22458:38;;-1:-1:-1;;;22458:38:0;;22490:4;22458:38;;;2795:51:1;22416:12:0;;22386:20;;-1:-1:-1;;;;;22458:23:0;;;;;2768:18:1;;22458:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22440:56;;22525:1;22515:7;:11;22507:42;;;;-1:-1:-1;;;22507:42:0;;6815:2:1;22507:42:0;;;6797:21:1;6854:2;6834:18;;;6827:30;-1:-1:-1;;;6873:18:1;;;6866:48;6931:18;;22507:42:0;6613:342:1;22507:42:0;22583:14;;22560:47;;-1:-1:-1;;;22560:47:0;;-1:-1:-1;;;;;22583:14:0;;;22560:47;;;5406:51:1;5473:18;;;5466:34;;;22560:22:0;;;;;;5379:18:1;;22560:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22325:290;;22268:347;:::o;11137:238::-;11225:4;258:10;11281:64;258:10;11297:7;11334:10;11306:25;258:10;11297:7;11306:9;:25::i;:::-;:38;;;;:::i;:::-;11281:8;:64::i;22623:212::-;8493:13;:11;:13::i;:::-;22724:2:::1;22713:7;:13;;:31;;;;;22742:2;22730:8;:14;;22713:31;22705:66;;;::::0;-1:-1:-1;;;22705:66:0;;7292:2:1;22705:66:0::1;::::0;::::1;7274:21:1::0;7331:2;7311:18;;;7304:30;-1:-1:-1;;;7350:18:1;;;7343:52;7412:18;;22705:66:0::1;7090:346:1::0;22705:66:0::1;22782:6;:16:::0;;;;22809:7:::1;:18:::0;22623:212::o;10130:127::-;-1:-1:-1;;;;;10231:18:0;10204:7;10231:18;;;;;;;;;;;;10130:127::o;8769:103::-;8493:13;:11;:13::i;:::-;8834:30:::1;8861:1;8834:18;:30::i;:::-;8769:103::o:0;21833:194::-;8493:13;:11;:13::i;:::-;21887:25:::1;21915:13;10102:12:::0;;;10014:108;21915:13:::1;21939:20;:40:::0;;;21990:9:::1;:29:::0;-1:-1:-1;21833:194:0:o;22035:225::-;22104:14;;-1:-1:-1;;;;;22104:14:0;258:10;-1:-1:-1;;;;;22088:30:0;;22080:39;;;;;;22162:1;22138:21;:25;22130:60;;;;-1:-1:-1;;;22130:60:0;;7643:2:1;22130:60:0;;;7625:21:1;7682:2;7662:18;;;7655:30;-1:-1:-1;;;7701:18:1;;;7694:52;7763:18;;22130:60:0;7441:346:1;22130:60:0;22201:51;;22209:10;;22230:21;22201:51;;;;;;;;;22230:21;22209:10;22201:51;;;;;;;;;;;;;;;;;;;;;22035:225::o;9801:104::-;9857:13;9890:7;9883:14;;;;;:::i;18259:242::-;8493:13;:11;:13::i;:::-;18366::::1;::::0;-1:-1:-1;;;;;18366:13:0;;::::1;18358:21:::0;;::::1;::::0;18350:91:::1;;;::::0;-1:-1:-1;;;18350:91:0;;7994:2:1;18350:91:0::1;::::0;::::1;7976:21:1::0;8033:2;8013:18;;;8006:30;8072:34;8052:18;;;8045:62;8143:27;8123:18;;;8116:55;8188:19;;18350:91:0::1;7792:421:1::0;18350:91:0::1;18452:41;18481:4;18487:5;18452:28;:41::i;11383:436::-:0;11476:4;258:10;11476:4;11559:25;258:10;11576:7;11559:9;:25::i;:::-;11532:52;;11623:15;11603:16;:35;;11595:85;;;;-1:-1:-1;;;11595:85:0;;8420:2:1;11595:85:0;;;8402:21:1;8459:2;8439:18;;;8432:30;8498:34;8478:18;;;8471:62;-1:-1:-1;;;8549:18:1;;;8542:35;8594:19;;11595:85:0;8218:401:1;11595:85:0;11716:60;11725:5;11732:7;11760:15;11741:16;:34;11716:8;:60::i;10265:193::-;10344:4;258:10;10400:28;258:10;10417:2;10421:6;10400:9;:28::i;22843:127::-;8493:13;:11;:13::i;:::-;22942:20:::1;:7:::0;22953:8:::1;22942:20;:::i;:::-;22921:18;:41:::0;-1:-1:-1;22843:127:0:o;22978:667::-;23059:14;;-1:-1:-1;;;;;23059:14:0;258:10;-1:-1:-1;;;;;23043:30:0;;23035:39;;;;;;23085:25;23113:13;10102:12;;;10014:108;23113:13;23085:41;;23137:23;23163:24;23181:4;23163:9;:24::i;:::-;23137:50;;23198:20;23235:7;23246:3;23235:14;23231:273;;-1:-1:-1;23281:15:0;23231:273;;;23374:3;23344:27;23364:7;23344:17;:27;:::i;:::-;:33;;;;:::i;:::-;23329:48;;23411:15;23396:12;:30;23392:101;;;-1:-1:-1;23462:15:0;23392:101;23540:15;23524:12;:31;;23516:80;;;;-1:-1:-1;;;23516:80:0;;9048:2:1;23516:80:0;;;9030:21:1;9087:2;9067:18;;;9060:30;9126:34;9106:18;;;9099:62;-1:-1:-1;;;9177:18:1;;;9170:34;9221:19;;23516:80:0;8846:400:1;23516:80:0;23607:30;23624:12;23607:16;:30::i;16898:81::-;8493:13;:11;:13::i;:::-;16953:11:::1;:18:::0;;-1:-1:-1;;16953:18:0::1;16967:4;16953:18;::::0;;16898:81::o;10466:151::-;-1:-1:-1;;;;;10582:18:0;;;10555:7;10582:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10466:151::o;8880:201::-;8493:13;:11;:13::i;:::-;-1:-1:-1;;;;;8969:22:0;::::1;8961:73;;;::::0;-1:-1:-1;;;8961:73:0;;9453:2:1;8961:73:0::1;::::0;::::1;9435:21:1::0;9492:2;9472:18;;;9465:30;9531:34;9511:18;;;9504:62;-1:-1:-1;;;9582:18:1;;;9575:36;9628:19;;8961:73:0::1;9251:402:1::0;8961:73:0::1;9045:28;9064:8;9045:18;:28::i;13556:380::-:0;-1:-1:-1;;;;;13692:19:0;;13684:68;;;;-1:-1:-1;;;13684:68:0;;9860:2:1;13684:68:0;;;9842:21:1;9899:2;9879:18;;;9872:30;9938:34;9918:18;;;9911:62;-1:-1:-1;;;9989:18:1;;;9982:34;10033:19;;13684:68:0;9658:400:1;13684:68:0;-1:-1:-1;;;;;13771:21:0;;13763:68;;;;-1:-1:-1;;;13763:68:0;;10265:2:1;13763:68:0;;;10247:21:1;10304:2;10284:18;;;10277:30;10343:34;10323:18;;;10316:62;-1:-1:-1;;;10394:18:1;;;10387:32;10436:19;;13763:68:0;10063:398:1;13763:68:0;-1:-1:-1;;;;;13844:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13896:32;;1634:25:1;;;13896:32:0;;1607:18:1;13896:32:0;;;;;;;13556:380;;;:::o;8629:132::-;8607:6;;-1:-1:-1;;;;;8607:6:0;258:10;8693:23;8685:68;;;;-1:-1:-1;;;8685:68:0;;10668:2:1;8685:68:0;;;10650:21:1;;;10687:18;;;10680:30;10746:34;10726:18;;;10719:62;10798:18;;8685:68:0;10466:356:1;6330:98:0;6388:7;6415:5;6419:1;6415;:5;:::i;:::-;6408:12;6330:98;-1:-1:-1;;;6330:98:0:o;6436:::-;6494:7;6521:5;6525:1;6521;:5;:::i;11827:675::-;-1:-1:-1;;;;;11958:18:0;;11950:68;;;;-1:-1:-1;;;11950:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12037:16:0;;12029:64;;;;-1:-1:-1;;;12029:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12179:15:0;;12157:19;12179:15;;;;;;;;;;;12213:21;;;;12205:72;;;;-1:-1:-1;;;12205:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12313:15:0;;;:9;:15;;;;;;;;;;;12331:20;;;12313:38;;12366:13;;;;;;;;;;:23;;;;;;12418:26;;1634:25:1;;;12366:13:0;;12418:26;;1607:18:1;12418:26:0;;;;;;;12457:37;18837:2499;13944:453;14079:24;14106:25;14116:5;14123:7;14106:9;:25::i;:::-;14079:52;;-1:-1:-1;;14146:16:0;:37;14142:248;;14228:6;14208:16;:26;;14200:68;;;;-1:-1:-1;;;14200:68:0;;11839:2:1;14200:68:0;;;11821:21:1;11878:2;11858:18;;;11851:30;11917:31;11897:18;;;11890:59;11966:18;;14200:68:0;11637:353:1;14200:68:0;14312:51;14321:5;14328:7;14356:6;14337:16;:25;14312:8;:51::i;18837:2499::-;-1:-1:-1;;;;;18937:18:0;;18929:68;;;;-1:-1:-1;;;18929:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19016:16:0;;19008:64;;;;-1:-1:-1;;;19008:64:0;;;;;;;:::i;:::-;19089:6;19099:1;19089:11;19085:93;;19117:28;19133:4;19139:2;19143:1;19117:15;:28::i;:::-;18837:2499;;;:::o;19085:93::-;-1:-1:-1;;;;;19215:31:0;;19196:15;19215:31;;;:25;:31;;;;;;;;19214:32;:66;;;;-1:-1:-1;;;;;;19251:29:0;;;;;;:25;:29;;;;;;;;19250:30;19214:66;19196:84;;19313:7;8607:6;;-1:-1:-1;;;;;8607:6:0;;8534:87;19313:7;-1:-1:-1;;;;;19305:15:0;:4;-1:-1:-1;;;;;19305:15:0;;;:32;;;;-1:-1:-1;8607:6:0;;-1:-1:-1;;;;;19324:13:0;;;8607:6;;19324:13;;19305:32;:52;;;;-1:-1:-1;;;;;;19341:16:0;;;;19305:52;:77;;;;-1:-1:-1;;;;;;19361:21:0;;19375:6;19361:21;;19305:77;:90;;;;-1:-1:-1;19387:8:0;;-1:-1:-1;;;19387:8:0;;;;19386:9;19305:90;19301:1060;;;19423:11;;;;19418:148;;-1:-1:-1;;;;;19467:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;19496:23:0;;;;;;:19;:23;;;;;;;;19467:52;19459:87;;;;-1:-1:-1;;;19459:87:0;;12197:2:1;19459:87:0;;;12179:21:1;12236:2;12216:18;;;12209:30;-1:-1:-1;;;12255:18:1;;;12248:52;12317:18;;19459:87:0;11995:346:1;19459:87:0;-1:-1:-1;;;;;19590:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;19626:35:0;;;;;;:31;:35;;;;;;;;19625:36;19590:71;19586:760;;;19722:20;;19712:6;:30;;19704:96;;;;-1:-1:-1;;;19704:96:0;;12548:2:1;19704:96:0;;;12530:21:1;12587:2;12567:18;;;12560:30;12626:34;12606:18;;;12599:62;-1:-1:-1;;;12677:18:1;;;12670:51;12738:19;;19704:96:0;12346:417:1;19704:96:0;19857:9;;19840:13;19850:2;19840:9;:13::i;:::-;19831:22;;:6;:22;:::i;:::-;:35;;19823:67;;;;-1:-1:-1;;;19823:67:0;;12970:2:1;19823:67:0;;;12952:21:1;13009:2;12989:18;;;12982:30;-1:-1:-1;;;13028:18:1;;;13021:49;13087:18;;19823:67:0;12768:343:1;19823:67:0;19586:760;;;-1:-1:-1;;;;;19939:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;19973:37:0;;;;;;:31;:37;;;;;;;;19972:38;19939:71;19935:411;;;20053:20;;20043:6;:30;;20035:97;;;;-1:-1:-1;;;20035:97:0;;13318:2:1;20035:97:0;;;13300:21:1;13357:2;13337:18;;;13330:30;13396:34;13376:18;;;13369:62;-1:-1:-1;;;13447:18:1;;;13440:52;13509:19;;20035:97:0;13116:418:1;19935:411:0;-1:-1:-1;;;;;20199:35:0;;;;;;:31;:35;;;;;;;;20194:152;;20293:9;;20276:13;20286:2;20276:9;:13::i;:::-;20267:22;;:6;:22;:::i;:::-;:35;;20259:67;;;;-1:-1:-1;;;20259:67:0;;12970:2:1;20259:67:0;;;12952:21:1;13009:2;12989:18;;;12982:30;-1:-1:-1;;;13028:18:1;;;13021:49;13087:18;;20259:67:0;12768:343:1;20259:67:0;20373:28;20404:24;20422:4;20404:9;:24::i;:::-;20373:55;;20441:12;20479:1;20456:20;:24;:39;;;;;20485:10;20484:11;20456:39;20441:54;;20512:7;:20;;;;-1:-1:-1;20524:8:0;;-1:-1:-1;;;20524:8:0;;;;20523:9;20512:20;:56;;;;-1:-1:-1;;;;;;20537:31:0;;;;;;:25;:31;;;;;;;;20536:32;20512:56;:86;;;;-1:-1:-1;;;;;;20573:25:0;;;;;;:19;:25;;;;;;;;20572:26;20512:86;:114;;;;-1:-1:-1;;;;;;20603:23:0;;;;;;:19;:23;;;;;;;;20602:24;20512:114;20508:224;;;20643:8;:15;;-1:-1:-1;;;;20643:15:0;-1:-1:-1;;;20643:15:0;;;20673:16;20682:6;20673:8;:16::i;:::-;20704:8;:16;;-1:-1:-1;;;;20704:16:0;;;20508:224;20760:8;;20744:12;;-1:-1:-1;;;20760:8:0;;;;20759:9;:24;;;;;20773:10;20772:11;20759:24;-1:-1:-1;;;;;20800:25:0;;;;;;:19;:25;;;;;;20744:39;;-1:-1:-1;20800:25:0;;;:52;;-1:-1:-1;;;;;;20829:23:0;;;;;;:19;:23;;;;;;;;20800:52;20796:100;;;-1:-1:-1;20879:5:0;20796:100;20908:12;20941:7;20937:348;;;-1:-1:-1;;;;;20969:29:0;;;;;;:25;:29;;;;;;;;20965:193;;;21026:28;21050:3;21026:19;21037:7;;21026:6;:10;;:19;;;;:::i;:28::-;21019:35;;20965:193;;;21115:27;21138:3;21115:18;21126:6;;21115;:10;;:18;;;;:::i;:27::-;21108:34;;20965:193;21174:8;;21170:83;;21199:42;21215:4;21229;21236;21199:15;:42::i;:::-;21263:14;21273:4;21263:14;;:::i;:::-;;;20937:348;21295:33;21311:4;21317:2;21321:6;21295:15;:33::i;:::-;18916:2420;;;;;18837:2499;;;:::o;9089:191::-;9182:6;;;-1:-1:-1;;;;;9199:17:0;;;-1:-1:-1;;;;;;9199:17:0;;;;;;;9232:40;;9182:6;;;9199:17;9182:6;;9232:40;;9163:16;;9232:40;9152:128;9089:191;:::o;18509:186::-;-1:-1:-1;;;;;18592:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;18592:39:0;;;;;;;;;;18647:40;;18592:39;;:31;18647:40;;;18509:186;;:::o;21344:482::-;21436:16;;;21450:1;21436:16;;;;;;;;21412:21;;21436:16;;;;;;;;;;-1:-1:-1;21436:16:0;21412:40;;21481:4;21463;21468:1;21463:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;21463:23:0;;;-1:-1:-1;;;;;21463:23:0;;;;;21507:16;-1:-1:-1;;;;;21507:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21497:4;21502:1;21497:7;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;21497:33:0;;;-1:-1:-1;;;;;21497:33:0;;;;;21543:63;21560:4;21575:16;21594:11;21543:8;:63::i;:::-;21762:15;;21619:199;;-1:-1:-1;;;21619:199:0;;-1:-1:-1;;;;;21619:16:0;:67;;;;;:199;;21701:11;;21727:1;;21743:4;;21762:15;;;;;21792;;21619:199;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21399:427;21344:482;:::o;23657:1393::-;23710:23;23736:24;23754:4;23736:9;:24::i;:::-;23710:50;;23771:20;23809:15;23828:1;23809:20;23805:59;;23846:7;;23657:1393;:::o;23805:59::-;23884:7;;23877:6;;:14;;;;:::i;:::-;23896:1;23876:21;23872:1130;;23933:1;23915:15;:19;:59;;;;;23956:18;;23938:15;:36;23915:59;23912:443;;;-1:-1:-1;24006:15:0;23872:1130;;23912:443;24063:21;24087:28;24111:3;24087:19;24098:7;;24087:6;:10;;:19;;;;:::i;:28::-;24063:52;-1:-1:-1;24130:23:0;24063:52;24130:23;;:::i;:::-;;;24181:18;;24172:6;:27;24168:176;;;24235:18;;24220:33;;24168:176;;;24322:6;24307:21;;24168:176;24048:307;23872:1130;;;24409:1;24391:15;:19;:66;;;;-1:-1:-1;24432:18:0;;:25;;24455:1;24432:22;:25::i;:::-;24414:15;:43;24391:66;24388:607;;;24474:7;;23657:1393;:::o;24388:607::-;24529:1;24511:15;:19;:66;;;;-1:-1:-1;24552:18:0;;:25;;24575:1;24552:22;:25::i;:::-;24534:15;:43;24511:66;:106;;;;;24599:18;;24581:15;:36;24511:106;24507:488;;;24649:18;;:25;;24672:1;24649:22;:25::i;:::-;24634:40;;24507:488;;;24716:21;24740:28;24764:3;24740:19;24751:7;;24740:6;:10;;:19;;;;:::i;:28::-;24716:52;-1:-1:-1;24783:23:0;24716:52;24783:23;;:::i;:::-;;;24834:18;;24825:6;:27;24821:163;;;24888:18;;24873:33;;24821:163;;;24962:6;24947:21;;24821:163;24701:294;24507:488;25012:30;25029:12;25012:16;:30::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:367;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1137:346::-;1205:6;1213;1266:2;1254:9;1245:7;1241:23;1237:32;1234:52;;;1282:1;1279;1272:12;1234:52;-1:-1:-1;;1327:23:1;;;1447:2;1432:18;;;1419:32;;-1:-1:-1;1137:346:1:o;1670:508::-;1747:6;1755;1763;1816:2;1804:9;1795:7;1791:23;1787:32;1784:52;;;1832:1;1829;1822:12;1784:52;1871:9;1858:23;1890:31;1915:5;1890:31;:::i;:::-;1940:5;-1:-1:-1;1997:2:1;1982:18;;1969:32;2010:33;1969:32;2010:33;:::i;:::-;1670:508;;2062:7;;-1:-1:-1;;;2142:2:1;2127:18;;;;2114:32;;1670:508::o;2372:247::-;2431:6;2484:2;2472:9;2463:7;2459:23;2455:32;2452:52;;;2500:1;2497;2490:12;2452:52;2539:9;2526:23;2558:31;2583:5;2558:31;:::i;3065:118::-;3151:5;3144:13;3137:21;3130:5;3127:32;3117:60;;3173:1;3170;3163:12;3188:382;3253:6;3261;3314:2;3302:9;3293:7;3289:23;3285:32;3282:52;;;3330:1;3327;3320:12;3282:52;3369:9;3356:23;3388:31;3413:5;3388:31;:::i;:::-;3438:5;-1:-1:-1;3495:2:1;3480:18;;3467:32;3508:30;3467:32;3508:30;:::i;:::-;3557:7;3547:17;;;3188:382;;;;;:::o;3575:226::-;3634:6;3687:2;3675:9;3666:7;3662:23;3658:32;3655:52;;;3703:1;3700;3693:12;3655:52;-1:-1:-1;3748:23:1;;3575:226;-1:-1:-1;3575:226:1:o;3806:388::-;3874:6;3882;3935:2;3923:9;3914:7;3910:23;3906:32;3903:52;;;3951:1;3948;3941:12;3903:52;3990:9;3977:23;4009:31;4034:5;4009:31;:::i;:::-;4059:5;-1:-1:-1;4116:2:1;4101:18;;4088:32;4129:33;4088:32;4129:33;:::i;4199:380::-;4278:1;4274:12;;;;4321;;;4342:61;;4396:4;4388:6;4384:17;4374:27;;4342:61;4449:2;4441:6;4438:14;4418:18;4415:38;4412:161;;4495:10;4490:3;4486:20;4483:1;4476:31;4530:4;4527:1;4520:15;4558:4;4555:1;4548:15;4412:161;;4199:380;;;:::o;4927:127::-;4988:10;4983:3;4979:20;4976:1;4969:31;5019:4;5016:1;5009:15;5043:4;5040:1;5033:15;5059:168;5132:9;;;5163;;5180:15;;;5174:22;;5160:37;5150:71;;5201:18;;:::i;5511:245::-;5578:6;5631:2;5619:9;5610:7;5606:23;5602:32;5599:52;;;5647:1;5644;5637:12;5599:52;5679:9;5673:16;5698:28;5720:5;5698:28;:::i;5761:251::-;5831:6;5884:2;5872:9;5863:7;5859:23;5855:32;5852:52;;;5900:1;5897;5890:12;5852:52;5932:9;5926:16;5951:31;5976:5;5951:31;:::i;6017:184::-;6087:6;6140:2;6128:9;6119:7;6115:23;6111:32;6108:52;;;6156:1;6153;6146:12;6108:52;-1:-1:-1;6179:16:1;;6017:184;-1:-1:-1;6017:184:1:o;6206:402::-;6408:2;6390:21;;;6447:2;6427:18;;;6420:30;6486:34;6481:2;6466:18;;6459:62;-1:-1:-1;;;6552:2:1;6537:18;;6530:36;6598:3;6583:19;;6206:402::o;6960:125::-;7025:9;;;7046:10;;;7043:36;;;7059:18;;:::i;8624:217::-;8664:1;8690;8680:132;;8734:10;8729:3;8725:20;8722:1;8715:31;8769:4;8766:1;8759:15;8797:4;8794:1;8787:15;8680:132;-1:-1:-1;8826:9:1;;8624:217::o;10827:401::-;11029:2;11011:21;;;11068:2;11048:18;;;11041:30;11107:34;11102:2;11087:18;;11080:62;-1:-1:-1;;;11173:2:1;11158:18;;11151:35;11218:3;11203:19;;10827:401::o;11233:399::-;11435:2;11417:21;;;11474:2;11454:18;;;11447:30;11513:34;11508:2;11493:18;;11486:62;-1:-1:-1;;;11579:2:1;11564:18;;11557:33;11622:3;11607:19;;11233:399::o;13539:128::-;13606:9;;;13627:11;;;13624:37;;;13641:18;;:::i;13804:127::-;13865:10;13860:3;13856:20;13853:1;13846:31;13896:4;13893:1;13886:15;13920:4;13917:1;13910:15;13936:959;14198:4;14246:3;14235:9;14231:19;14277:6;14266:9;14259:25;14320:6;14315:2;14304:9;14300:18;14293:34;14363:3;14358:2;14347:9;14343:18;14336:31;14387:6;14422;14416:13;14453:6;14445;14438:22;14491:3;14480:9;14476:19;14469:26;;14530:2;14522:6;14518:15;14504:29;;14551:1;14561:195;14575:6;14572:1;14569:13;14561:195;;;14640:13;;-1:-1:-1;;;;;14636:39:1;14624:52;;14705:2;14731:15;;;;14696:12;;;;14672:1;14590:9;14561:195;;;-1:-1:-1;;;;;;;14812:32:1;;;;14807:2;14792:18;;14785:60;-1:-1:-1;;14876:3:1;14861:19;14854:35;14773:3;13936:959;-1:-1:-1;;;13936:959:1:o

Swarm Source

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