ETH Price: $3,433.12 (+7.55%)
Gas: 15 Gwei

Token

Eτhensor Fusion Layer (eTAO)
 

Overview

Max Total Supply

100,000,000 eTAO

Holders

80

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
999,999.1200327872 eTAO

Value
$0.00
0x06a850bdfcbc48adc29e86fb2e64e5f813a7f343
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.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
// Ethenson Fusion Layer $eTAO
// https://www.ethensor.tech/
// https://t.me/ethensor_tech
// https://x.com/ethensor_tech
pragma solidity ^0.8.17;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

interface IUniswapV2Pair {
    function sync() external;
}

contract Token is IERC20Metadata, Ownable {
    //Constants
    string private constant _name = unicode"Eτhensor Fusion Layer";
    string private constant _symbol = "eTAO";
    uint8 private constant _decimals = 18;
    uint256 internal constant _totalSupply = 100_000_000 * 10 ** _decimals;
    uint32 private constant percent_helper = 100 * 10 ** 2;
    //Settings limits
    uint32 private constant max_fee = 50.00 * 10 ** 2;
    uint32 private constant min_maxes = 0.50 * 10 ** 2;
    uint32 private constant burn_limit = 10.00 * 10 ** 2;

    //OpenTrade
    bool public trade_open;
    bool public limits_active = true;

    //Fee
    bool public early_sell = false;
    address public team_wallet;
    uint32 public fee_buy = 20 * 10 ** 2;
    uint32 public fee_sell = 45 * 10 ** 2;

    uint32 public fee_early_sell = 0 * 10 ** 2;
    uint32 public lp_percent = 1.00 * 10 ** 2;

    //Ignore fee
    mapping(address => bool) public ignore_fee;

    //Burn
    uint256 public burn_cooldown = 30 minutes;
    uint256 public burn_last;

    //Maxes
    uint256 public max_tx = 1_000_000 * 10 ** _decimals; //1%
    uint256 public max_wallet = 1_000_000 * 10 ** _decimals; //1%
    uint256 public swap_at_amount = 200_000 * 10 ** _decimals; //0.2%

    //ERC20
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    //Router
    IUniswapV2Router02 private uniswapV2Router;
    address public pair_addr;
    bool public swap_enabled = true;

    //Percent calculation helper
    function CalcPercent(
        uint256 _input,
        uint256 _percent
    ) private pure returns (uint256) {
        return (_input * _percent) / percent_helper;
    }

    bool private inSwap = false;
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address _team_wallet, address[] memory _input) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Router = _uniswapV2Router;
        pair_addr = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            _uniswapV2Router.WETH()
        );
        team_wallet = _team_wallet;
        ignore_fee[address(this)] = true;
        ignore_fee[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        for (uint256 i = 0; i < _input.length; i++) {
            ignore_fee[_input[i]] = true;
        }
        //Initial supply
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    //Set buy, sell fee
    function SetTaxesFee(uint32 _fee_buy, uint32 _fee_sell) public onlyOwner {
        require(_fee_buy <= max_fee && _fee_sell <= max_fee, "Too high fee");
        fee_buy = _fee_buy;
        fee_sell = _fee_sell;
    }

    //Set max tx, wallet
    function SetLimitMaxes(uint256 _max_tx, uint256 _max_wallet) public onlyOwner {
        require(
            _max_tx >= min_maxes && _max_wallet >= min_maxes,
            "Too low max"
        );
        max_tx = CalcPercent(_totalSupply, _max_tx);
        max_wallet = CalcPercent(_totalSupply, _max_wallet);
    }

    function SetTokenSwap(
        uint256 _amount,
        uint32 _lp_percent,
        bool _enabled
    ) public onlyOwner {
        swap_at_amount = _amount;
        lp_percent = _lp_percent;
        swap_enabled = _enabled;
    }

    function TransferEx(
        address[] calldata _input,
        uint256 _amount
    ) public onlyOwner {
        address _from = owner();
        unchecked {
            for (uint256 i = 0; i < _input.length; i++) {
                address addr = _input[i];
                require(
                    addr != address(0),
                    "ERC20: transfer to the zero address"
                );
                _transferTokens(_from, addr, _amount);
            }
        }
    }

    function ManualSwap() public onlyOwner {
        HandleFees();
    }

    function SetLimits(bool _enable) public onlyOwner {
        limits_active = _enable;
    }

    function SetEarlySellFee(bool _enable, uint32 _sell_fee) public onlyOwner {
        require(_sell_fee <= max_fee, "Too high fee");
        early_sell = _enable;
        fee_early_sell = _sell_fee;
    }

    function OpenTrade(bool _enable) public onlyOwner {
        trade_open = _enable;
    }

    //ERC20
    function _transfer(address from, address to, uint256 amount) internal {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        //If it's the owner, do a normal transfer
        if (from == owner() || to == owner() || from == address(this)) {
            _transferTokens(from, to, amount);
            return;
        }
        //Check if trading is enabled
        require(trade_open, "Trading is disabled");
        uint256 fee_amount = 0;
        bool isbuy = from == pair_addr;

        if (!isbuy) {
            //Handle fees
            HandleFees();
        }
        //Calculate fee if conditions met
        //Buy
        if (isbuy) {
            if (!ignore_fee[to]) {
                fee_amount = CalcPercent(amount, fee_buy);
            }
        }
        //Sell
        else {
            if (!ignore_fee[from]) {
                fee_amount = CalcPercent(
                    amount,
                    early_sell ? fee_early_sell : fee_sell
                );
            }
        }
        //Fee tokens
        unchecked {
            require(amount >= fee_amount, "fee exceeds amount");
            amount -= fee_amount;
        }
        //Disable maxes
        if (limits_active) {
            //Check maxes
            require(amount <= max_tx, "Max TX reached");
            //Exclude lp pair
            if (to != pair_addr) {
                require(
                    _balances[to] + amount <= max_wallet,
                    "Max wallet reached"
                );
            }
        }
        //Transfer fee tokens to contract
        if (fee_amount > 0) {
            _transferTokens(from, address(this), fee_amount);
        }
        //Transfer tokens
        _transferTokens(from, to, amount);
    }

    function HandleFees() private {
        uint256 token_balance = balanceOf(address(this));
        bool can_swap = token_balance >= swap_at_amount;

        if (can_swap && !inSwap && swap_enabled) {
            SwapTokensForEth(swap_at_amount);
            uint256 eth_balance = address(this).balance;
            if (eth_balance > 0 ether) {
                SendETHToFee(address(this).balance);
            }
        }
    }

    function SwapTokensForEth(uint256 _amount) private lockTheSwap {
        uint256 eth_am = CalcPercent(_amount, percent_helper - lp_percent);
        uint256 liq_am = _amount - eth_am;
        uint256 balance_before = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), _amount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            eth_am,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 liq_eth = address(this).balance - balance_before;

        AddLiquidity(liq_am, CalcPercent(liq_eth, lp_percent));
    }

    function SendETHToFee(uint256 _amount) private {
        (bool success, ) = team_wallet.call{value: _amount}(new bytes(0));
        require(success, "TransferFail");
    }

    function AddLiquidity(uint256 _amount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), _amount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            _amount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            address(0),
            block.timestamp
        );
    }

    //ERC20
    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 _decimals;
    }

    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 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 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 _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 _transferTokens(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        uint256 fromBalance = _balances[from];
        require(
            fromBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);
    }

    // Function to receive Ether. msg.data must be empty
    receive() external payable {}

    // Fallback function is called when msg.data is not empty
    fallback() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_team_wallet","type":"address"},{"internalType":"address[]","name":"_input","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":"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"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"ManualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"OpenTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"},{"internalType":"uint32","name":"_sell_fee","type":"uint32"}],"name":"SetEarlySellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_max_tx","type":"uint256"},{"internalType":"uint256","name":"_max_wallet","type":"uint256"}],"name":"SetLimitMaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"SetLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_fee_buy","type":"uint32"},{"internalType":"uint32","name":"_fee_sell","type":"uint32"}],"name":"SetTaxesFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint32","name":"_lp_percent","type":"uint32"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"SetTokenSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_input","type":"address[]"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"TransferEx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burn_cooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burn_last","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"early_sell","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_buy","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_early_sell","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_sell","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ignore_fee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limits_active","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lp_percent","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_tx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_wallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair_addr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swap_at_amount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swap_enabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trade_open","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"}]

60806040525f805461ffff60a81b1916600160a81b179055600180546001600160a01b03166501194000007d60a41b1790556002805463ffffffff19166064179055610708600455620000556012600a62000511565b6200006490620f424062000528565b600655620000756012600a62000511565b6200008490620f424062000528565b600755620000956012600a62000511565b620000a49062030d4062000528565b600855600c805461ffff60a01b1916600160a01b179055348015620000c7575f80fd5b506040516200215a3803806200215a833981016040819052620000ea9162000572565b620000f533620003b3565b600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa15801562000159573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200017f919062000656565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001cb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001f1919062000656565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200023c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000262919062000656565b600c80546001600160a01b03199081166001600160a01b039384161790915560018054909116918516919091178155305f90815260036020526040808220805460ff199081168517909155338352912080549091169091179055620002ca6012600a62000511565b620002da906305f5e10062000528565b335f908152600960205260408120919091555b82518110156200035757600160035f85848151811062000311576200031162000672565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806200034e8162000686565b915050620002ed565b50335f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003896012600a62000511565b62000399906305f5e10062000528565b60405190815260200160405180910390a3505050620006a1565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200045657815f19048211156200043a576200043a62000402565b808516156200044857918102915b93841c93908002906200041b565b509250929050565b5f826200046e575060016200050b565b816200047c57505f6200050b565b8160018114620004955760028114620004a057620004c0565b60019150506200050b565b60ff841115620004b457620004b462000402565b50506001821b6200050b565b5060208310610133831016604e8410600b8410161715620004e5575081810a6200050b565b620004f1838362000416565b805f190482111562000507576200050762000402565b0290505b92915050565b5f6200052160ff8416836200045e565b9392505050565b80820281158282048414176200050b576200050b62000402565b80516001600160a01b038116811462000559575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121562000584575f80fd5b6200058f8362000542565b602084810151919350906001600160401b0380821115620005ae575f80fd5b818601915086601f830112620005c2575f80fd5b815181811115620005d757620005d76200055e565b8060051b604051601f19603f83011681018181108582111715620005ff57620005ff6200055e565b6040529182528482019250838101850191898311156200061d575f80fd5b938501935b828510156200064657620006368562000542565b8452938501939285019262000622565b8096505050505050509250929050565b5f6020828403121562000667575f80fd5b620005218262000542565b634e487b7160e01b5f52603260045260245ffd5b5f600182016200069a576200069a62000402565b5060010190565b611aab80620006af5f395ff3fe6080604052600436106101fa575f3560e01c80638da5cb5b1161010b578063ba414b1011610099578063d11fcb851161006b578063d11fcb8514610626578063dd62ed3e14610654578063e717fc3014610698578063f2fde38b146106ad578063f5a27e86146106cc57005b8063ba414b10146105a9578063bd186c4c146105c8578063bd4f1dc6146105e7578063c9d9159d1461060a57005b806395d89b41116100dd57806395d89b411461050b578063a1780c1814610537578063a20adf861461054b578063a9059cbb1461056a578063ac9358341461058957005b80638da5cb5b1461049c5780638e26bbe4146104b857806391d88b95146104d757806391f18b7c146104ec57005b80636264300e1161018857806370fbc7121161015a57806370fbc71214610412578063715018a6146104275780637971fca71461043b5780637aab5d9b1461045e5780638bf67ad01461047d57005b80636264300e1461035a578063685e838e146103925780636ea79583146103a757806370a08231146103de57005b806323b872dd116101cc57806323b872dd146102c3578063313ce567146102e25780633797e00b146102fd578063581d30f81461031c5780635bc05f3c1461033b57005b806306fdde0314610203578063095ea7b31461025357806318160ddd1461028257806318347dc5146102a457005b3661020157005b005b34801561020e575f80fd5b5060408051808201909152601681527522e7c23432b739b7b910233ab9b4b7b7102630bcb2b960511b60208201525b60405161024a9190611574565b60405180910390f35b34801561025e575f80fd5b5061027261026d3660046115ba565b6106e1565b604051901515815260200161024a565b34801561028d575f80fd5b506102966106fa565b60405190815260200161024a565b3480156102af575f80fd5b506102016102be3660046115e4565b61071a565b3480156102ce575f80fd5b506102726102dd366004611604565b6107c3565b3480156102ed575f80fd5b506040516012815260200161024a565b348015610308575f80fd5b5061020161031736600461165a565b6107e6565b348015610327575f80fd5b5061020161033636600461169a565b610889565b348015610346575f80fd5b505f5461027290600160b01b900460ff1681565b348015610365575f80fd5b5060015461037d90600160c01b900463ffffffff1681565b60405163ffffffff909116815260200161024a565b34801561039d575f80fd5b5061029660085481565b3480156103b2575f80fd5b506001546103c6906001600160a01b031681565b6040516001600160a01b03909116815260200161024a565b3480156103e9575f80fd5b506102966103f83660046116b4565b6001600160a01b03165f9081526009602052604090205490565b34801561041d575f80fd5b5061029660065481565b348015610432575f80fd5b50610201610919565b348015610446575f80fd5b5060015461037d90600160a01b900463ffffffff1681565b348015610469575f80fd5b505f5461027290600160a01b900460ff1681565b348015610488575f80fd5b506102016104973660046116cf565b61092c565b3480156104a7575f80fd5b505f546001600160a01b03166103c6565b3480156104c3575f80fd5b506102016104d2366004611708565b610973565b3480156104e2575f80fd5b5061029660045481565b3480156104f7575f80fd5b50600c546103c6906001600160a01b031681565b348015610516575f80fd5b506040805180820190915260048152636554414f60e01b602082015261023d565b348015610542575f80fd5b50610201610998565b348015610556575f80fd5b505f5461027290600160a81b900460ff1681565b348015610575575f80fd5b506102726105843660046115ba565b6109a8565b348015610594575f80fd5b50600c5461027290600160a01b900460ff1681565b3480156105b4575f80fd5b506102016105c3366004611721565b6109b5565b3480156105d3575f80fd5b506102016105e2366004611708565b610a3e565b3480156105f2575f80fd5b5060015461037d90600160e01b900463ffffffff1681565b348015610615575f80fd5b5060025461037d9063ffffffff1681565b348015610631575f80fd5b506102726106403660046116b4565b60036020525f908152604090205460ff1681565b34801561065f575f80fd5b5061029661066e366004611795565b6001600160a01b039182165f908152600a6020908152604080832093909416825291909152205490565b3480156106a3575f80fd5b5061029660075481565b3480156106b8575f80fd5b506102016106c73660046116b4565b610a63565b3480156106d7575f80fd5b5061029660055481565b5f336106ee818585610adc565b60019150505b92915050565b5f6107076012600a6118c0565b610715906305f5e1006118ce565b905090565b610722610bff565b60328210801590610734575060328110155b6107735760405162461bcd60e51b815260206004820152600b60248201526a0a8dede40d8deee40dac2f60ab1b60448201526064015b60405180910390fd5b6107966107826012600a6118c0565b610790906305f5e1006118ce565b83610c58565b6006556107bc6107a86012600a6118c0565b6107b6906305f5e1006118ce565b82610c58565b6007555050565b5f336107d0858285610c77565b6107db858585610d07565b506001949350505050565b6107ee610bff565b61138863ffffffff83161180159061080e575061138863ffffffff821611155b6108495760405162461bcd60e51b815260206004820152600c60248201526b546f6f20686967682066656560a01b604482015260640161076a565b6001805467ffffffffffffffff60a01b1916600160a01b63ffffffff9485160263ffffffff60c01b191617600160c01b9290931691909102919091179055565b610891610bff565b61138863ffffffff821611156108d85760405162461bcd60e51b815260206004820152600c60248201526b546f6f20686967682066656560a01b604482015260640161076a565b5f8054921515600160b01b0260ff60b01b19909316929092179091556001805463ffffffff909216600160e01b026001600160e01b03909216919091179055565b610921610bff565b61092a5f611098565b565b610934610bff565b6008929092556002805463ffffffff90921663ffffffff19909216919091179055600c8054911515600160a01b0260ff60a01b19909216919091179055565b61097b610bff565b5f8054911515600160a01b0260ff60a01b19909216919091179055565b6109a0610bff565b61092a6110e7565b5f336106ee818585610d07565b6109bd610bff565b5f80546001600160a01b0316905b83811015610a37575f8585838181106109e6576109e66118e5565b90506020020160208101906109fb91906116b4565b90506001600160a01b038116610a235760405162461bcd60e51b815260040161076a906118f9565b610a2e83828661114d565b506001016109cb565b5050505050565b610a46610bff565b5f8054911515600160a81b0260ff60a81b19909216919091179055565b610a6b610bff565b6001600160a01b038116610ad05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161076a565b610ad981611098565b50565b6001600160a01b038316610b3e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161076a565b6001600160a01b038216610b9f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161076a565b6001600160a01b038381165f818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f546001600160a01b0316331461092a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161076a565b5f612710610c6683856118ce565b610c70919061193c565b9392505050565b6001600160a01b038381165f908152600a60209081526040808320938616835292905220545f198114610d015781811015610cf45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161076a565b610d018484848403610adc565b50505050565b6001600160a01b038316610d6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161076a565b6001600160a01b038216610d915760405162461bcd60e51b815260040161076a906118f9565b5f8111610df25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161076a565b5f546001600160a01b0384811691161480610e1957505f546001600160a01b038381169116145b80610e2c57506001600160a01b03831630145b15610e4157610e3c83838361114d565b505050565b5f54600160a01b900460ff16610e8f5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81a5cc8191a5cd8589b1959606a1b604482015260640161076a565b600c545f906001600160a01b0385811691161480610eaf57610eaf6110e7565b8015610ef7576001600160a01b0384165f9081526003602052604090205460ff16610ef257600154610eef908490600160a01b900463ffffffff16610c58565b91505b610f60565b6001600160a01b0385165f9081526003602052604090205460ff16610f60575f54610f5d908490600160b01b900460ff16610f4157600154600160c01b900463ffffffff16610f52565b600154600160e01b900463ffffffff165b63ffffffff16610c58565b91505b81831015610fa55760405162461bcd60e51b815260206004820152601260248201527119995948195e18d959591cc8185b5bdd5b9d60721b604482015260640161076a565b5f549282900392600160a81b900460ff161561107c57600654831115610ffe5760405162461bcd60e51b815260206004820152600e60248201526d13585e081516081c995858da195960921b604482015260640161076a565b600c546001600160a01b0385811691161461107c576007546001600160a01b0385165f9081526009602052604090205461103990859061195b565b111561107c5760405162461bcd60e51b815260206004820152601260248201527113585e081dd85b1b195d081c995858da195960721b604482015260640161076a565b811561108d5761108d85308461114d565b610a3785858561114d565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b305f90815260096020526040902054600854811080159081906111145750600c54600160a81b900460ff16155b80156111295750600c54600160a01b900460ff165b1561114957611139600854611231565b478015610e3c57610e3c47611403565b5050565b6001600160a01b0383165f90815260096020526040902054818110156111c45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161076a565b6001600160a01b038085165f8181526009602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112239086815260200190565b60405180910390a350505050565b600c805460ff60a81b1916600160a81b1790556002545f90611261908390610f529063ffffffff1661271061196e565b90505f61126e8284611992565b60408051600280825260608201835292935047925f9260208301908036833701905050905030815f815181106112a6576112a66118e5565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112fd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132191906119a5565b81600181518110611334576113346118e5565b6001600160a01b039283166020918202929092010152600b5461135a9130911687610adc565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113929087905f908690309042906004016119c0565b5f604051808303815f87803b1580156113a9575f80fd5b505af11580156113bb573d5f803e3d5ffd5b505050505f82476113cc9190611992565b6002549091506113ee9085906113e990849063ffffffff16610c58565b6114ab565b5050600c805460ff60a81b1916905550505050565b600154604080515f8082526020820192839052926001600160a01b031691849161142c91611a2f565b5f6040518083038185875af1925050503d805f8114611466576040519150601f19603f3d011682016040523d82523d5f602084013e61146b565b606091505b50509050806111495760405162461bcd60e51b815260206004820152600c60248201526b151c985b9cd9995c91985a5b60a21b604482015260640161076a565b600b546114c39030906001600160a01b031684610adc565b600b5460405163f305d71960e01b8152306004820152602481018490525f604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561152d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a379190611a4a565b5f5b8381101561156c578181015183820152602001611554565b50505f910152565b602081525f8251806020840152611592816040850160208701611552565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610ad9575f80fd5b5f80604083850312156115cb575f80fd5b82356115d6816115a6565b946020939093013593505050565b5f80604083850312156115f5575f80fd5b50508035926020909101359150565b5f805f60608486031215611616575f80fd5b8335611621816115a6565b92506020840135611631816115a6565b929592945050506040919091013590565b803563ffffffff81168114611655575f80fd5b919050565b5f806040838503121561166b575f80fd5b61167483611642565b915061168260208401611642565b90509250929050565b80358015158114611655575f80fd5b5f80604083850312156116ab575f80fd5b6116748361168b565b5f602082840312156116c4575f80fd5b8135610c70816115a6565b5f805f606084860312156116e1575f80fd5b833592506116f160208501611642565b91506116ff6040850161168b565b90509250925092565b5f60208284031215611718575f80fd5b610c708261168b565b5f805f60408486031215611733575f80fd5b833567ffffffffffffffff8082111561174a575f80fd5b818601915086601f83011261175d575f80fd5b81358181111561176b575f80fd5b8760208260051b850101111561177f575f80fd5b6020928301989097509590910135949350505050565b5f80604083850312156117a6575f80fd5b82356117b1816115a6565b915060208301356117c1816115a6565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561181a57815f1904821115611800576118006117cc565b8085161561180d57918102915b93841c93908002906117e5565b509250929050565b5f82611830575060016106f4565b8161183c57505f6106f4565b8160018114611852576002811461185c57611878565b60019150506106f4565b60ff84111561186d5761186d6117cc565b50506001821b6106f4565b5060208310610133831016604e8410600b841016171561189b575081810a6106f4565b6118a583836117e0565b805f19048211156118b8576118b86117cc565b029392505050565b5f610c7060ff841683611822565b80820281158282048414176106f4576106f46117cc565b634e487b7160e01b5f52603260045260245ffd5b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b5f8261195657634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156106f4576106f46117cc565b63ffffffff82811682821603908082111561198b5761198b6117cc565b5092915050565b818103818111156106f4576106f46117cc565b5f602082840312156119b5575f80fd5b8151610c70816115a6565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a0e5784516001600160a01b0316835293830193918301916001016119e9565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8251611a40818460208701611552565b9190910192915050565b5f805f60608486031215611a5c575f80fd5b835192506020840151915060408401519050925092509256fea2646970667358221220951ea8e90aa9aa24af558a149d312692f040755ee7978436f1b16aca1f0d95d264736f6c63430008140033000000000000000000000000e400d14c2d29bc25fb6fe5ef3789ec7f2e20663d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001300000000000000000000000017e8598adb405c5d2c010399171a81f6a52f70b5000000000000000000000000b520d2d0f72393d2b370aaa33444922abf58bdc7000000000000000000000000aa96aa7c546359ce9e9c4f1d32cb05294a42ec85000000000000000000000000264b2c0cd3cc87153499bd1ff5d5bf76f84810a0000000000000000000000000f8b396c1166f53a1e1fcd83acdeb67b7f5611e110000000000000000000000006035bf7e6ded44a3b1e3157c03b90b66240a101d0000000000000000000000005960b634f61d6a42d13ff85e8db4d87289548a46000000000000000000000000b87fddcde0e223ef066b47e37dc457482a5bd7ea000000000000000000000000df94ac9a82bba09d4576826c1e54f6ebc365c4f7000000000000000000000000c2e407a6ac180f5981dfb907a6f88551435e70f6000000000000000000000000ecd19b209fd7af4cdd5dbb579e815cef3f695c74000000000000000000000000a6a7ed6120334fa2e033b1246768250caa1c0f67000000000000000000000000af8f23201b1d34ce44d1b038801dc90ff425dceb000000000000000000000000fd8a86f3c2444b89654c3bf2fb890da832cadd0d00000000000000000000000050ae9e070e6a6d18f7dbdd92e40289f0f1fe3b4a000000000000000000000000bdfb971a5f67057c5564d83a8b5fca3fdfada74300000000000000000000000063a87bba7160750946dd2340289dc6d514d06f4e0000000000000000000000006e4c8c8be63c2f9c56f52a7284cda55746176d4a0000000000000000000000002f1594a96e7ed13d7c5b7159954fa32dda884fe1

Deployed Bytecode

0x6080604052600436106101fa575f3560e01c80638da5cb5b1161010b578063ba414b1011610099578063d11fcb851161006b578063d11fcb8514610626578063dd62ed3e14610654578063e717fc3014610698578063f2fde38b146106ad578063f5a27e86146106cc57005b8063ba414b10146105a9578063bd186c4c146105c8578063bd4f1dc6146105e7578063c9d9159d1461060a57005b806395d89b41116100dd57806395d89b411461050b578063a1780c1814610537578063a20adf861461054b578063a9059cbb1461056a578063ac9358341461058957005b80638da5cb5b1461049c5780638e26bbe4146104b857806391d88b95146104d757806391f18b7c146104ec57005b80636264300e1161018857806370fbc7121161015a57806370fbc71214610412578063715018a6146104275780637971fca71461043b5780637aab5d9b1461045e5780638bf67ad01461047d57005b80636264300e1461035a578063685e838e146103925780636ea79583146103a757806370a08231146103de57005b806323b872dd116101cc57806323b872dd146102c3578063313ce567146102e25780633797e00b146102fd578063581d30f81461031c5780635bc05f3c1461033b57005b806306fdde0314610203578063095ea7b31461025357806318160ddd1461028257806318347dc5146102a457005b3661020157005b005b34801561020e575f80fd5b5060408051808201909152601681527522e7c23432b739b7b910233ab9b4b7b7102630bcb2b960511b60208201525b60405161024a9190611574565b60405180910390f35b34801561025e575f80fd5b5061027261026d3660046115ba565b6106e1565b604051901515815260200161024a565b34801561028d575f80fd5b506102966106fa565b60405190815260200161024a565b3480156102af575f80fd5b506102016102be3660046115e4565b61071a565b3480156102ce575f80fd5b506102726102dd366004611604565b6107c3565b3480156102ed575f80fd5b506040516012815260200161024a565b348015610308575f80fd5b5061020161031736600461165a565b6107e6565b348015610327575f80fd5b5061020161033636600461169a565b610889565b348015610346575f80fd5b505f5461027290600160b01b900460ff1681565b348015610365575f80fd5b5060015461037d90600160c01b900463ffffffff1681565b60405163ffffffff909116815260200161024a565b34801561039d575f80fd5b5061029660085481565b3480156103b2575f80fd5b506001546103c6906001600160a01b031681565b6040516001600160a01b03909116815260200161024a565b3480156103e9575f80fd5b506102966103f83660046116b4565b6001600160a01b03165f9081526009602052604090205490565b34801561041d575f80fd5b5061029660065481565b348015610432575f80fd5b50610201610919565b348015610446575f80fd5b5060015461037d90600160a01b900463ffffffff1681565b348015610469575f80fd5b505f5461027290600160a01b900460ff1681565b348015610488575f80fd5b506102016104973660046116cf565b61092c565b3480156104a7575f80fd5b505f546001600160a01b03166103c6565b3480156104c3575f80fd5b506102016104d2366004611708565b610973565b3480156104e2575f80fd5b5061029660045481565b3480156104f7575f80fd5b50600c546103c6906001600160a01b031681565b348015610516575f80fd5b506040805180820190915260048152636554414f60e01b602082015261023d565b348015610542575f80fd5b50610201610998565b348015610556575f80fd5b505f5461027290600160a81b900460ff1681565b348015610575575f80fd5b506102726105843660046115ba565b6109a8565b348015610594575f80fd5b50600c5461027290600160a01b900460ff1681565b3480156105b4575f80fd5b506102016105c3366004611721565b6109b5565b3480156105d3575f80fd5b506102016105e2366004611708565b610a3e565b3480156105f2575f80fd5b5060015461037d90600160e01b900463ffffffff1681565b348015610615575f80fd5b5060025461037d9063ffffffff1681565b348015610631575f80fd5b506102726106403660046116b4565b60036020525f908152604090205460ff1681565b34801561065f575f80fd5b5061029661066e366004611795565b6001600160a01b039182165f908152600a6020908152604080832093909416825291909152205490565b3480156106a3575f80fd5b5061029660075481565b3480156106b8575f80fd5b506102016106c73660046116b4565b610a63565b3480156106d7575f80fd5b5061029660055481565b5f336106ee818585610adc565b60019150505b92915050565b5f6107076012600a6118c0565b610715906305f5e1006118ce565b905090565b610722610bff565b60328210801590610734575060328110155b6107735760405162461bcd60e51b815260206004820152600b60248201526a0a8dede40d8deee40dac2f60ab1b60448201526064015b60405180910390fd5b6107966107826012600a6118c0565b610790906305f5e1006118ce565b83610c58565b6006556107bc6107a86012600a6118c0565b6107b6906305f5e1006118ce565b82610c58565b6007555050565b5f336107d0858285610c77565b6107db858585610d07565b506001949350505050565b6107ee610bff565b61138863ffffffff83161180159061080e575061138863ffffffff821611155b6108495760405162461bcd60e51b815260206004820152600c60248201526b546f6f20686967682066656560a01b604482015260640161076a565b6001805467ffffffffffffffff60a01b1916600160a01b63ffffffff9485160263ffffffff60c01b191617600160c01b9290931691909102919091179055565b610891610bff565b61138863ffffffff821611156108d85760405162461bcd60e51b815260206004820152600c60248201526b546f6f20686967682066656560a01b604482015260640161076a565b5f8054921515600160b01b0260ff60b01b19909316929092179091556001805463ffffffff909216600160e01b026001600160e01b03909216919091179055565b610921610bff565b61092a5f611098565b565b610934610bff565b6008929092556002805463ffffffff90921663ffffffff19909216919091179055600c8054911515600160a01b0260ff60a01b19909216919091179055565b61097b610bff565b5f8054911515600160a01b0260ff60a01b19909216919091179055565b6109a0610bff565b61092a6110e7565b5f336106ee818585610d07565b6109bd610bff565b5f80546001600160a01b0316905b83811015610a37575f8585838181106109e6576109e66118e5565b90506020020160208101906109fb91906116b4565b90506001600160a01b038116610a235760405162461bcd60e51b815260040161076a906118f9565b610a2e83828661114d565b506001016109cb565b5050505050565b610a46610bff565b5f8054911515600160a81b0260ff60a81b19909216919091179055565b610a6b610bff565b6001600160a01b038116610ad05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161076a565b610ad981611098565b50565b6001600160a01b038316610b3e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161076a565b6001600160a01b038216610b9f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161076a565b6001600160a01b038381165f818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f546001600160a01b0316331461092a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161076a565b5f612710610c6683856118ce565b610c70919061193c565b9392505050565b6001600160a01b038381165f908152600a60209081526040808320938616835292905220545f198114610d015781811015610cf45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161076a565b610d018484848403610adc565b50505050565b6001600160a01b038316610d6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161076a565b6001600160a01b038216610d915760405162461bcd60e51b815260040161076a906118f9565b5f8111610df25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161076a565b5f546001600160a01b0384811691161480610e1957505f546001600160a01b038381169116145b80610e2c57506001600160a01b03831630145b15610e4157610e3c83838361114d565b505050565b5f54600160a01b900460ff16610e8f5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81a5cc8191a5cd8589b1959606a1b604482015260640161076a565b600c545f906001600160a01b0385811691161480610eaf57610eaf6110e7565b8015610ef7576001600160a01b0384165f9081526003602052604090205460ff16610ef257600154610eef908490600160a01b900463ffffffff16610c58565b91505b610f60565b6001600160a01b0385165f9081526003602052604090205460ff16610f60575f54610f5d908490600160b01b900460ff16610f4157600154600160c01b900463ffffffff16610f52565b600154600160e01b900463ffffffff165b63ffffffff16610c58565b91505b81831015610fa55760405162461bcd60e51b815260206004820152601260248201527119995948195e18d959591cc8185b5bdd5b9d60721b604482015260640161076a565b5f549282900392600160a81b900460ff161561107c57600654831115610ffe5760405162461bcd60e51b815260206004820152600e60248201526d13585e081516081c995858da195960921b604482015260640161076a565b600c546001600160a01b0385811691161461107c576007546001600160a01b0385165f9081526009602052604090205461103990859061195b565b111561107c5760405162461bcd60e51b815260206004820152601260248201527113585e081dd85b1b195d081c995858da195960721b604482015260640161076a565b811561108d5761108d85308461114d565b610a3785858561114d565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b305f90815260096020526040902054600854811080159081906111145750600c54600160a81b900460ff16155b80156111295750600c54600160a01b900460ff165b1561114957611139600854611231565b478015610e3c57610e3c47611403565b5050565b6001600160a01b0383165f90815260096020526040902054818110156111c45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161076a565b6001600160a01b038085165f8181526009602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112239086815260200190565b60405180910390a350505050565b600c805460ff60a81b1916600160a81b1790556002545f90611261908390610f529063ffffffff1661271061196e565b90505f61126e8284611992565b60408051600280825260608201835292935047925f9260208301908036833701905050905030815f815181106112a6576112a66118e5565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112fd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132191906119a5565b81600181518110611334576113346118e5565b6001600160a01b039283166020918202929092010152600b5461135a9130911687610adc565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113929087905f908690309042906004016119c0565b5f604051808303815f87803b1580156113a9575f80fd5b505af11580156113bb573d5f803e3d5ffd5b505050505f82476113cc9190611992565b6002549091506113ee9085906113e990849063ffffffff16610c58565b6114ab565b5050600c805460ff60a81b1916905550505050565b600154604080515f8082526020820192839052926001600160a01b031691849161142c91611a2f565b5f6040518083038185875af1925050503d805f8114611466576040519150601f19603f3d011682016040523d82523d5f602084013e61146b565b606091505b50509050806111495760405162461bcd60e51b815260206004820152600c60248201526b151c985b9cd9995c91985a5b60a21b604482015260640161076a565b600b546114c39030906001600160a01b031684610adc565b600b5460405163f305d71960e01b8152306004820152602481018490525f604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561152d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a379190611a4a565b5f5b8381101561156c578181015183820152602001611554565b50505f910152565b602081525f8251806020840152611592816040850160208701611552565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610ad9575f80fd5b5f80604083850312156115cb575f80fd5b82356115d6816115a6565b946020939093013593505050565b5f80604083850312156115f5575f80fd5b50508035926020909101359150565b5f805f60608486031215611616575f80fd5b8335611621816115a6565b92506020840135611631816115a6565b929592945050506040919091013590565b803563ffffffff81168114611655575f80fd5b919050565b5f806040838503121561166b575f80fd5b61167483611642565b915061168260208401611642565b90509250929050565b80358015158114611655575f80fd5b5f80604083850312156116ab575f80fd5b6116748361168b565b5f602082840312156116c4575f80fd5b8135610c70816115a6565b5f805f606084860312156116e1575f80fd5b833592506116f160208501611642565b91506116ff6040850161168b565b90509250925092565b5f60208284031215611718575f80fd5b610c708261168b565b5f805f60408486031215611733575f80fd5b833567ffffffffffffffff8082111561174a575f80fd5b818601915086601f83011261175d575f80fd5b81358181111561176b575f80fd5b8760208260051b850101111561177f575f80fd5b6020928301989097509590910135949350505050565b5f80604083850312156117a6575f80fd5b82356117b1816115a6565b915060208301356117c1816115a6565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561181a57815f1904821115611800576118006117cc565b8085161561180d57918102915b93841c93908002906117e5565b509250929050565b5f82611830575060016106f4565b8161183c57505f6106f4565b8160018114611852576002811461185c57611878565b60019150506106f4565b60ff84111561186d5761186d6117cc565b50506001821b6106f4565b5060208310610133831016604e8410600b841016171561189b575081810a6106f4565b6118a583836117e0565b805f19048211156118b8576118b86117cc565b029392505050565b5f610c7060ff841683611822565b80820281158282048414176106f4576106f46117cc565b634e487b7160e01b5f52603260045260245ffd5b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b5f8261195657634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156106f4576106f46117cc565b63ffffffff82811682821603908082111561198b5761198b6117cc565b5092915050565b818103818111156106f4576106f46117cc565b5f602082840312156119b5575f80fd5b8151610c70816115a6565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a0e5784516001600160a01b0316835293830193918301916001016119e9565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8251611a40818460208701611552565b9190910192915050565b5f805f60608486031215611a5c575f80fd5b835192506020840151915060408401519050925092509256fea2646970667358221220951ea8e90aa9aa24af558a149d312692f040755ee7978436f1b16aca1f0d95d264736f6c63430008140033

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

000000000000000000000000e400d14c2d29bc25fb6fe5ef3789ec7f2e20663d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001300000000000000000000000017e8598adb405c5d2c010399171a81f6a52f70b5000000000000000000000000b520d2d0f72393d2b370aaa33444922abf58bdc7000000000000000000000000aa96aa7c546359ce9e9c4f1d32cb05294a42ec85000000000000000000000000264b2c0cd3cc87153499bd1ff5d5bf76f84810a0000000000000000000000000f8b396c1166f53a1e1fcd83acdeb67b7f5611e110000000000000000000000006035bf7e6ded44a3b1e3157c03b90b66240a101d0000000000000000000000005960b634f61d6a42d13ff85e8db4d87289548a46000000000000000000000000b87fddcde0e223ef066b47e37dc457482a5bd7ea000000000000000000000000df94ac9a82bba09d4576826c1e54f6ebc365c4f7000000000000000000000000c2e407a6ac180f5981dfb907a6f88551435e70f6000000000000000000000000ecd19b209fd7af4cdd5dbb579e815cef3f695c74000000000000000000000000a6a7ed6120334fa2e033b1246768250caa1c0f67000000000000000000000000af8f23201b1d34ce44d1b038801dc90ff425dceb000000000000000000000000fd8a86f3c2444b89654c3bf2fb890da832cadd0d00000000000000000000000050ae9e070e6a6d18f7dbdd92e40289f0f1fe3b4a000000000000000000000000bdfb971a5f67057c5564d83a8b5fca3fdfada74300000000000000000000000063a87bba7160750946dd2340289dc6d514d06f4e0000000000000000000000006e4c8c8be63c2f9c56f52a7284cda55746176d4a0000000000000000000000002f1594a96e7ed13d7c5b7159954fa32dda884fe1

-----Decoded View---------------
Arg [0] : _team_wallet (address): 0xe400D14C2d29bc25fb6Fe5ef3789eC7F2e20663D
Arg [1] : _input (address[]): 0x17E8598aDb405c5D2c010399171A81F6a52F70b5,0xb520d2d0F72393D2B370AAA33444922AbF58bdC7,0xaA96AA7c546359ce9e9c4f1D32cB05294a42EC85,0x264B2c0CD3cC87153499Bd1ff5D5bF76F84810A0,0xF8B396C1166F53A1E1fCD83ACdEB67B7F5611e11,0x6035Bf7E6DEd44a3b1e3157C03b90B66240A101D,0x5960b634f61D6a42D13fF85e8DB4d87289548a46,0xb87fDdCdE0E223Ef066B47e37dC457482A5BD7ea,0xDF94AC9A82BBA09d4576826c1E54f6EbC365C4f7,0xC2e407a6ac180f5981Dfb907a6f88551435e70F6,0xeCd19B209fD7AF4cdD5dbb579E815CEF3f695C74,0xa6a7ED6120334fa2E033b1246768250CAA1C0F67,0xAF8F23201b1D34cE44d1B038801dc90ff425dCeB,0xfd8a86F3C2444b89654c3bf2fB890DA832caDd0D,0x50aE9E070e6A6d18f7DBDD92e40289F0f1FE3B4a,0xbdfB971A5F67057c5564D83a8B5fCA3fdFadA743,0x63a87bBA7160750946DD2340289DC6d514D06F4E,0x6e4c8C8be63c2f9c56F52A7284cDA55746176D4A,0x2F1594A96E7ED13d7c5B7159954FA32DDa884FE1

-----Encoded View---------------
22 Constructor Arguments found :
Arg [0] : 000000000000000000000000e400d14c2d29bc25fb6fe5ef3789ec7f2e20663d
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000013
Arg [3] : 00000000000000000000000017e8598adb405c5d2c010399171a81f6a52f70b5
Arg [4] : 000000000000000000000000b520d2d0f72393d2b370aaa33444922abf58bdc7
Arg [5] : 000000000000000000000000aa96aa7c546359ce9e9c4f1d32cb05294a42ec85
Arg [6] : 000000000000000000000000264b2c0cd3cc87153499bd1ff5d5bf76f84810a0
Arg [7] : 000000000000000000000000f8b396c1166f53a1e1fcd83acdeb67b7f5611e11
Arg [8] : 0000000000000000000000006035bf7e6ded44a3b1e3157c03b90b66240a101d
Arg [9] : 0000000000000000000000005960b634f61d6a42d13ff85e8db4d87289548a46
Arg [10] : 000000000000000000000000b87fddcde0e223ef066b47e37dc457482a5bd7ea
Arg [11] : 000000000000000000000000df94ac9a82bba09d4576826c1e54f6ebc365c4f7
Arg [12] : 000000000000000000000000c2e407a6ac180f5981dfb907a6f88551435e70f6
Arg [13] : 000000000000000000000000ecd19b209fd7af4cdd5dbb579e815cef3f695c74
Arg [14] : 000000000000000000000000a6a7ed6120334fa2e033b1246768250caa1c0f67
Arg [15] : 000000000000000000000000af8f23201b1d34ce44d1b038801dc90ff425dceb
Arg [16] : 000000000000000000000000fd8a86f3c2444b89654c3bf2fb890da832cadd0d
Arg [17] : 00000000000000000000000050ae9e070e6a6d18f7dbdd92e40289f0f1fe3b4a
Arg [18] : 000000000000000000000000bdfb971a5f67057c5564d83a8b5fca3fdfada743
Arg [19] : 00000000000000000000000063a87bba7160750946dd2340289dc6d514d06f4e
Arg [20] : 0000000000000000000000006e4c8c8be63c2f9c56f52a7284cda55746176d4a
Arg [21] : 0000000000000000000000002f1594a96e7ed13d7c5b7159954fa32dda884fe1


Deployed Bytecode Sourcemap

7779:11747:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16261:100;;;;;;;;;;-1:-1:-1;16348:5:0;;;;;;;;;;;;-1:-1:-1;;;16348:5:0;;;;16261:100;;;;;;;:::i;:::-;;;;;;;;17569:226;;;;;;;;;;-1:-1:-1;17569:226:0;;;;;:::i;:::-;;:::i;:::-;;;1291:14:1;;1284:22;1266:41;;1254:2;1239:18;17569:226:0;1126:187:1;16589:108:0;;;;;;;;;;;;;:::i;:::-;;;1464:25:1;;;1452:2;1437:18;16589:108:0;1318:177:1;10754:322:0;;;;;;;;;;-1:-1:-1;10754:322:0;;;;;:::i;:::-;;:::i;17082:295::-;;;;;;;;;;-1:-1:-1;17082:295:0;;;;;:::i;:::-;;:::i;16481:100::-;;;;;;;;;;-1:-1:-1;16481:100:0;;7997:2;2356:36:1;;2344:2;2329:18;16481:100:0;2214:184:1;10500:220:0;;;;;;;;;;-1:-1:-1;10500:220:0;;;;;:::i;:::-;;:::i;12014:206::-;;;;;;;;;;-1:-1:-1;12014:206:0;;;;;:::i;:::-;;:::i;8439:30::-;;;;;;;;;;-1:-1:-1;8439:30:0;;;;-1:-1:-1;;;8439:30:0;;;;;;8552:37;;;;;;;;;;-1:-1:-1;8552:37:0;;;;-1:-1:-1;;;8552:37:0;;;;;;;;;3428:10:1;3416:23;;;3398:42;;3386:2;3371:18;8552:37:0;3254:192:1;9002:57:0;;;;;;;;;;;;;;;;8476:26;;;;;;;;;;-1:-1:-1;8476:26:0;;;;-1:-1:-1;;;;;8476:26:0;;;;;;-1:-1:-1;;;;;3615:32:1;;;3597:51;;3585:2;3570:18;8476:26:0;3451:203:1;16705:143:0;;;;;;;;;;-1:-1:-1;16705:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;16822:18:0;16795:7;16822:18;;;:9;:18;;;;;;;16705:143;8872:51;;;;;;;;;;;;;;;;2691:103;;;;;;;;;;;;;:::i;8509:36::-;;;;;;;;;;-1:-1:-1;8509:36:0;;;;-1:-1:-1;;;8509:36:0;;;;;;8358:22;;;;;;;;;;-1:-1:-1;8358:22:0;;;;-1:-1:-1;;;8358:22:0;;;;;;11084:237;;;;;;;;;;-1:-1:-1;11084:237:0;;;;;:::i;:::-;;:::i;2043:87::-;;;;;;;;;;-1:-1:-1;2089:7:0;2116:6;-1:-1:-1;;;;;2116:6:0;2043:87;;12228:89;;;;;;;;;;-1:-1:-1;12228:89:0;;;;;:::i;:::-;;:::i;8778:41::-;;;;;;;;;;;;;;;;9280:24;;;;;;;;;;-1:-1:-1;9280:24:0;;;;-1:-1:-1;;;;;9280:24:0;;;16369:104;;;;;;;;;;-1:-1:-1;16458:7:0;;;;;;;;;;;;-1:-1:-1;;;16458:7:0;;;;16369:104;;11836:70;;;;;;;;;;;;;:::i;8387:32::-;;;;;;;;;;-1:-1:-1;8387:32:0;;;;-1:-1:-1;;;8387:32:0;;;;;;16856:218;;;;;;;;;;-1:-1:-1;16856:218:0;;;;;:::i;:::-;;:::i;9311:31::-;;;;;;;;;;-1:-1:-1;9311:31:0;;;;-1:-1:-1;;;9311:31:0;;;;;;11329:499;;;;;;;;;;-1:-1:-1;11329:499:0;;;;;:::i;:::-;;:::i;11914:92::-;;;;;;;;;;-1:-1:-1;11914:92:0;;;;;:::i;:::-;;:::i;8598:42::-;;;;;;;;;;-1:-1:-1;8598:42:0;;;;-1:-1:-1;;;8598:42:0;;;;;;8647:41;;;;;;;;;;-1:-1:-1;8647:41:0;;;;;;;;8715:42;;;;;;;;;;-1:-1:-1;8715:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17385:176;;;;;;;;;;-1:-1:-1;17385:176:0;;;;;:::i;:::-;-1:-1:-1;;;;;17526:18:0;;;17499:7;17526:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17385:176;8935:55;;;;;;;;;;;;;;;;2949:238;;;;;;;;;;-1:-1:-1;2949:238:0;;;;;:::i;:::-;;:::i;8826:24::-;;;;;;;;;;;;;;;;17569:226;17677:4;807:10;17733:32;807:10;17749:7;17758:6;17733:8;:32::i;:::-;17783:4;17776:11;;;17569:226;;;;;:::o;16589:108::-;16650:7;8061:15;7997:2;8061;:15;:::i;:::-;8047:29;;:11;:29;:::i;:::-;16670:19;;16589:108;:::o;10754:322::-;1929:13;:11;:13::i;:::-;8259:14:::1;10865:20:::0;::::1;::::0;::::1;::::0;:48:::1;;-1:-1:-1::0;8259:14:0::1;10889:24:::0;::::1;;10865:48;10843:109;;;::::0;-1:-1:-1;;;10843:109:0;;7398:2:1;10843:109:0::1;::::0;::::1;7380:21:1::0;7437:2;7417:18;;;7410:30;-1:-1:-1;;;7456:18:1;;;7449:41;7507:18;;10843:109:0::1;;;;;;;;;10972:34;8061:15;7997:2;8061;:15;:::i;:::-;8047:29;::::0;:11:::1;:29;:::i;:::-;10998:7;10972:11;:34::i;:::-;10963:6;:43:::0;11030:38:::1;8061:15;7997:2;8061;:15;:::i;:::-;8047:29;::::0;:11:::1;:29;:::i;:::-;11056:11;11030;:38::i;:::-;11017:10;:51:::0;-1:-1:-1;;10754:322:0:o;17082:295::-;17213:4;807:10;17271:38;17287:4;807:10;17302:6;17271:15;:38::i;:::-;17320:27;17330:4;17336:2;17340:6;17320:9;:27::i;:::-;-1:-1:-1;17365:4:0;;17082:295;-1:-1:-1;;;;17082:295:0:o;10500:220::-;1929:13;:11;:13::i;:::-;8201:15:::1;10592:19;::::0;::::1;;::::0;::::1;::::0;:43:::1;;-1:-1:-1::0;8201:15:0::1;10615:20;::::0;::::1;;;10592:43;10584:68;;;::::0;-1:-1:-1;;;10584:68:0;;7738:2:1;10584:68:0::1;::::0;::::1;7720:21:1::0;7777:2;7757:18;;;7750:30;-1:-1:-1;;;7796:18:1;;;7789:42;7848:18;;10584:68:0::1;7536:336:1::0;10584:68:0::1;10663:7;:18:::0;;-1:-1:-1;;;;10692:20:0;-1:-1:-1;;;10663:18:0::1;::::0;;::::1;;-1:-1:-1::0;;;;10692:20:0;;-1:-1:-1;;;10692:20:0;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;10500:220::o;12014:206::-;1929:13;:11;:13::i;:::-;8201:15:::1;12107:20;::::0;::::1;;;12099:45;;;::::0;-1:-1:-1;;;12099:45:0;;7738:2:1;12099:45:0::1;::::0;::::1;7720:21:1::0;7777:2;7757:18;;;7750:30;-1:-1:-1;;;7796:18:1;;;7789:42;7848:18;;12099:45:0::1;7536:336:1::0;12099:45:0::1;12155:10;:20:::0;;;::::1;;-1:-1:-1::0;;;12155:20:0::1;-1:-1:-1::0;;;;12155:20:0;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;12186:26:0;;::::1;::::0;;::::1;-1:-1:-1::0;;;12186:26:0::1;-1:-1:-1::0;;;;;12186:26:0;;::::1;::::0;;;::::1;::::0;;12014:206::o;2691:103::-;1929:13;:11;:13::i;:::-;2756:30:::1;2783:1;2756:18;:30::i;:::-;2691:103::o:0;11084:237::-;1929:13;:11;:13::i;:::-;11220:14:::1;:24:::0;;;;11255:10:::1;:24:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;11255:24:0;;::::1;::::0;;;::::1;::::0;;11290:12:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;11290:23:0::1;-1:-1:-1::0;;;;11290:23:0;;::::1;::::0;;;::::1;::::0;;11084:237::o;12228:89::-;1929:13;:11;:13::i;:::-;12289:10:::1;:20:::0;;;::::1;;-1:-1:-1::0;;;12289:20:0::1;-1:-1:-1::0;;;;12289:20:0;;::::1;::::0;;;::::1;::::0;;12228:89::o;11836:70::-;1929:13;:11;:13::i;:::-;11886:12:::1;:10;:12::i;16856:218::-:0;16960:4;807:10;17016:28;807:10;17033:2;17037:6;17016:9;:28::i;11329:499::-;1929:13;:11;:13::i;:::-;11446::::1;2116:6:::0;;-1:-1:-1;;;;;2116:6:0;;11505:305:::1;11525:17:::0;;::::1;11505:305;;;11568:12;11583:6;;11590:1;11583:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11568:24:::0;-1:-1:-1;;;;;;11641:18:0;::::1;11611:127;;;;-1:-1:-1::0;;;11611:127:0::1;;;;;;;:::i;:::-;11757:37;11773:5;11780:4;11786:7;11757:15;:37::i;:::-;-1:-1:-1::0;11544:3:0::1;;11505:305;;;;11435:393;11329:499:::0;;;:::o;11914:92::-;1929:13;:11;:13::i;:::-;11975::::1;:23:::0;;;::::1;;-1:-1:-1::0;;;11975:23:0::1;-1:-1:-1::0;;;;11975:23:0;;::::1;::::0;;;::::1;::::0;;11914:92::o;2949:238::-;1929:13;:11;:13::i;:::-;-1:-1:-1;;;;;3052:22:0;::::1;3030:110;;;::::0;-1:-1:-1;;;3030:110:0;;8615:2:1;3030:110:0::1;::::0;::::1;8597:21:1::0;8654:2;8634:18;;;8627:30;8693:34;8673:18;;;8666:62;-1:-1:-1;;;8744:18:1;;;8737:36;8790:19;;3030:110:0::1;8413:402:1::0;3030:110:0::1;3151:28;3170:8;3151:18;:28::i;:::-;2949:238:::0;:::o;17803:380::-;-1:-1:-1;;;;;17939:19:0;;17931:68;;;;-1:-1:-1;;;17931:68:0;;9022:2:1;17931:68:0;;;9004:21:1;9061:2;9041:18;;;9034:30;9100:34;9080:18;;;9073:62;-1:-1:-1;;;9151:18:1;;;9144:34;9195:19;;17931:68:0;8820:400:1;17931:68:0;-1:-1:-1;;;;;18018:21:0;;18010:68;;;;-1:-1:-1;;;18010:68:0;;9427:2:1;18010:68:0;;;9409:21:1;9466:2;9446:18;;;9439:30;9505:34;9485:18;;;9478:62;-1:-1:-1;;;9556:18:1;;;9549:32;9598:19;;18010:68:0;9225:398:1;18010:68:0;-1:-1:-1;;;;;18091:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18143:32;;1464:25:1;;;18143:32:0;;1437:18:1;18143:32:0;;;;;;;17803:380;;;:::o;2208:132::-;2089:7;2116:6;-1:-1:-1;;;;;2116:6:0;807:10;2272:23;2264:68;;;;-1:-1:-1;;;2264:68:0;;9830:2:1;2264:68:0;;;9812:21:1;;;9849:18;;;9842:30;9908:34;9888:18;;;9881:62;9960:18;;2264:68:0;9628:356:1;9385:173:0;9487:7;8124:13;9515:17;9524:8;9515:6;:17;:::i;:::-;9514:36;;;;:::i;:::-;9507:43;9385:173;-1:-1:-1;;;9385:173:0:o;18191:502::-;-1:-1:-1;;;;;17526:18:0;;;18326:24;17526:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;18393:37:0;;18389:297;;18493:6;18473:16;:26;;18447:117;;;;-1:-1:-1;;;18447:117:0;;10413:2:1;18447:117:0;;;10395:21:1;10452:2;10432:18;;;10425:30;10491:31;10471:18;;;10464:59;10540:18;;18447:117:0;10211:353:1;18447:117:0;18608:51;18617:5;18624:7;18652:6;18633:16;:25;18608:8;:51::i;:::-;18315:378;18191:502;;;:::o;12338:1972::-;-1:-1:-1;;;;;12427:18:0;;12419:68;;;;-1:-1:-1;;;12419:68:0;;10771:2:1;12419:68:0;;;10753:21:1;10810:2;10790:18;;;10783:30;10849:34;10829:18;;;10822:62;-1:-1:-1;;;10900:18:1;;;10893:35;10945:19;;12419:68:0;10569:401:1;12419:68:0;-1:-1:-1;;;;;12506:16:0;;12498:64;;;;-1:-1:-1;;;12498:64:0;;;;;;;:::i;:::-;12590:1;12581:6;:10;12573:64;;;;-1:-1:-1;;;12573:64:0;;11177:2:1;12573:64:0;;;11159:21:1;11216:2;11196:18;;;11189:30;11255:34;11235:18;;;11228:62;-1:-1:-1;;;11306:18:1;;;11299:39;11355:19;;12573:64:0;10975:405:1;12573:64:0;2089:7;2116:6;-1:-1:-1;;;;;12703:15:0;;;2116:6;;12703:15;;:32;;-1:-1:-1;2089:7:0;2116:6;-1:-1:-1;;;;;12722:13:0;;;2116:6;;12722:13;12703:32;:57;;;-1:-1:-1;;;;;;12739:21:0;;12755:4;12739:21;12703:57;12699:144;;;12777:33;12793:4;12799:2;12803:6;12777:15;:33::i;:::-;12338:1972;;;:::o;12699:144::-;12900:10;;-1:-1:-1;;;12900:10:0;;;;12892:42;;;;-1:-1:-1;;;12892:42:0;;11587:2:1;12892:42:0;;;11569:21:1;11626:2;11606:18;;;11599:30;-1:-1:-1;;;11645:18:1;;;11638:49;11704:18;;12892:42:0;11385:343:1;12892:42:0;12999:9;;12945:18;;-1:-1:-1;;;;;12991:17:0;;;12999:9;;12991:17;;13021:78;;13075:12;:10;:12::i;:::-;13171:5;13167:382;;;-1:-1:-1;;;;;13198:14:0;;;;;;:10;:14;;;;;;;;13193:97;;13266:7;;13246:28;;13258:6;;-1:-1:-1;;;13266:7:0;;;;13246:11;:28::i;:::-;13233:41;;13193:97;13167:382;;;-1:-1:-1;;;;;13352:16:0;;;;;;:10;:16;;;;;;;;13347:191;;13465:10;;13402:120;;13436:6;;-1:-1:-1;;;13465:10:0;;;;:38;;13495:8;;-1:-1:-1;;;13495:8:0;;;;13465:38;;;13478:14;;-1:-1:-1;;;13478:14:0;;;;13465:38;13402:120;;:11;:120::i;:::-;13389:133;;13347:191;13624:10;13614:6;:20;;13606:51;;;;-1:-1:-1;;;13606:51:0;;11935:2:1;13606:51:0;;;11917:21:1;11974:2;11954:18;;;11947:30;-1:-1:-1;;;11993:18:1;;;11986:48;12051:18;;13606:51:0;11733:342:1;13606:51:0;13743:13;;13672:20;;;;;-1:-1:-1;;;13743:13:0;;;;13739:345;;;13818:6;;13808;:16;;13800:43;;;;-1:-1:-1;;;13800:43:0;;12282:2:1;13800:43:0;;;12264:21:1;12321:2;12301:18;;;12294:30;-1:-1:-1;;;12340:18:1;;;12333:44;12394:18;;13800:43:0;12080:338:1;13800:43:0;13899:9;;-1:-1:-1;;;;;13893:15:0;;;13899:9;;13893:15;13889:184;;13985:10;;-1:-1:-1;;;;;13959:13:0;;;;;;:9;:13;;;;;;:22;;13975:6;;13959:22;:::i;:::-;:36;;13929:128;;;;-1:-1:-1;;;13929:128:0;;12755:2:1;13929:128:0;;;12737:21:1;12794:2;12774:18;;;12767:30;-1:-1:-1;;;12813:18:1;;;12806:48;12871:18;;13929:128:0;12553:342:1;13929:128:0;14141:14;;14137:95;;14172:48;14188:4;14202;14209:10;14172:15;:48::i;:::-;14269:33;14285:4;14291:2;14295:6;14269:15;:33::i;3347:191::-;3421:16;3440:6;;-1:-1:-1;;;;;3457:17:0;;;-1:-1:-1;;;;;;3457:17:0;;;;;;3490:40;;3440:6;;;;;;;3490:40;;3421:16;3490:40;3410:128;3347:191;:::o;14318:436::-;14401:4;14359:21;16822:18;;;:9;:18;;;;;;14451:14;;14434:31;;;;;;;14482:19;;-1:-1:-1;14495:6:0;;-1:-1:-1;;;14495:6:0;;;;14494:7;14482:19;:35;;;;-1:-1:-1;14505:12:0;;-1:-1:-1;;;14505:12:0;;;;14482:35;14478:269;;;14534:32;14551:14;;14534:16;:32::i;:::-;14603:21;14643;;14639:97;;14685:35;14698:21;14685:12;:35::i;14478:269::-;14348:406;;14318:436::o;18701:626::-;-1:-1:-1;;;;;18852:15:0;;18830:19;18852:15;;;:9;:15;;;;;;18900:21;;;;18878:109;;;;-1:-1:-1;;;18878:109:0;;13102:2:1;18878:109:0;;;13084:21:1;13141:2;13121:18;;;13114:30;13180:34;13160:18;;;13153:62;-1:-1:-1;;;13231:18:1;;;13224:36;13277:19;;18878:109:0;12900:402:1;18878:109:0;-1:-1:-1;;;;;19023:15:0;;;;;;;:9;:15;;;;;;19041:20;;;19023:38;;19241:13;;;;;;;;;;:23;;;;;;19293:26;;;;;;19055:6;1464:25:1;;1452:2;1437:18;;1318:177;19293:26:0;;;;;;;;18819:508;18701:626;;;:::o;14762:784::-;9634:6;:13;;-1:-1:-1;;;;9634:13:0;-1:-1:-1;;;9634:13:0;;;14891:10:::1;::::0;9634:13;;14853:49:::1;::::0;14865:7;;14874:27:::1;::::0;14891:10:::1;;8124:13;14874:27;:::i;14853:49::-;14836:66:::0;-1:-1:-1;14913:14:0::1;14930:16;14836:66:::0;14930:7;:16:::1;:::i;:::-;15040;::::0;;15054:1:::1;15040:16:::0;;;;;::::1;::::0;;14913:33;;-1:-1:-1;14982:21:0::1;::::0;14957:22:::1;::::0;15040:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15040:16:0::1;15016:40;;15085:4;15067;15072:1;15067:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15067:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;15111:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;15111:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;15067:7;;15111:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15101:4;15106:1;15101:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15101:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;15176:15:::1;::::0;15144:58:::1;::::0;15161:4:::1;::::0;15176:15:::1;15194:7:::0;15144:8:::1;:58::i;:::-;15213:15;::::0;:191:::1;::::0;-1:-1:-1;;;15213:191:0;;-1:-1:-1;;;;;15213:15:0;;::::1;::::0;:66:::1;::::0;:191:::1;::::0;15294:6;;15213:15:::1;::::0;15331:4;;15358::::1;::::0;15378:15:::1;::::0;15213:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15415:15;15457:14;15433:21;:38;;;;:::i;:::-;15526:10;::::0;15415:56;;-1:-1:-1;15484:54:0::1;::::0;15497:6;;15505:32:::1;::::0;15415:56;;15526:10:::1;;15505:11;:32::i;:::-;15484:12;:54::i;:::-;-1:-1:-1::0;;9670:6:0;:14;;-1:-1:-1;;;;9670:14:0;;;-1:-1:-1;;;;14762:784:0:o;15554:174::-;15631:11;;15664:12;;;15613;15664;;;;;;;;;;15613;-1:-1:-1;;;;;15631:11:0;;15655:7;;15631:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15612:65;;;15696:7;15688:32;;;;-1:-1:-1;;;15688:32:0;;15487:2:1;15688:32:0;;;15469:21:1;15526:2;15506:18;;;15499:30;-1:-1:-1;;;15545:18:1;;;15538:42;15597:18;;15688:32:0;15285:336:1;15736:504:0;15912:15;;15880:58;;15897:4;;-1:-1:-1;;;;;15912:15:0;15930:7;15880:8;:58::i;:::-;15981:15;;:251;;-1:-1:-1;;;15981:251:0;;16053:4;15981:251;;;15967:34:1;16017:18;;;16010:34;;;15981:15:0;16060:18:1;;;16053:34;;;16103:18;;;16096:34;;;16146:19;;;16139:44;16206:15:0;16199:19:1;;;16192:35;-1:-1:-1;;;;;15981:15:0;;;;:31;;16020:9;;15901:19:1;;15981:251:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14:250:1:-;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:1;238:16;;231:27;14:250::o;269:396::-;418:2;407:9;400:21;381:4;450:6;444:13;493:6;488:2;477:9;473:18;466:34;509:79;581:6;576:2;565:9;561:18;556:2;548:6;544:15;509:79;:::i;:::-;649:2;628:15;-1:-1:-1;;624:29:1;609:45;;;;656:2;605:54;;269:396;-1:-1:-1;;269:396:1:o;670:131::-;-1:-1:-1;;;;;745:31:1;;735:42;;725:70;;791:1;788;781:12;806:315;874:6;882;935:2;923:9;914:7;910:23;906:32;903:52;;;951:1;948;941:12;903:52;990:9;977:23;1009:31;1034:5;1009:31;:::i;:::-;1059:5;1111:2;1096:18;;;;1083:32;;-1:-1:-1;;;806:315:1:o;1500:248::-;1568:6;1576;1629:2;1617:9;1608:7;1604:23;1600:32;1597:52;;;1645:1;1642;1635:12;1597:52;-1:-1:-1;;1668:23:1;;;1738:2;1723:18;;;1710:32;;-1:-1:-1;1500:248:1:o;1753:456::-;1830:6;1838;1846;1899:2;1887:9;1878:7;1874:23;1870:32;1867:52;;;1915:1;1912;1905:12;1867:52;1954:9;1941:23;1973:31;1998:5;1973:31;:::i;:::-;2023:5;-1:-1:-1;2080:2:1;2065:18;;2052:32;2093:33;2052:32;2093:33;:::i;:::-;1753:456;;2145:7;;-1:-1:-1;;;2199:2:1;2184:18;;;;2171:32;;1753:456::o;2403:163::-;2470:20;;2530:10;2519:22;;2509:33;;2499:61;;2556:1;2553;2546:12;2499:61;2403:163;;;:::o;2571:256::-;2637:6;2645;2698:2;2686:9;2677:7;2673:23;2669:32;2666:52;;;2714:1;2711;2704:12;2666:52;2737:28;2755:9;2737:28;:::i;:::-;2727:38;;2784:37;2817:2;2806:9;2802:18;2784:37;:::i;:::-;2774:47;;2571:256;;;;;:::o;2832:160::-;2897:20;;2953:13;;2946:21;2936:32;;2926:60;;2982:1;2979;2972:12;2997:252;3061:6;3069;3122:2;3110:9;3101:7;3097:23;3093:32;3090:52;;;3138:1;3135;3128:12;3090:52;3161:26;3177:9;3161:26;:::i;3659:247::-;3718:6;3771:2;3759:9;3750:7;3746:23;3742:32;3739:52;;;3787:1;3784;3777:12;3739:52;3826:9;3813:23;3845:31;3870:5;3845:31;:::i;3911:320::-;3984:6;3992;4000;4053:2;4041:9;4032:7;4028:23;4024:32;4021:52;;;4069:1;4066;4059:12;4021:52;4105:9;4092:23;4082:33;;4134:37;4167:2;4156:9;4152:18;4134:37;:::i;:::-;4124:47;;4190:35;4221:2;4210:9;4206:18;4190:35;:::i;:::-;4180:45;;3911:320;;;;;:::o;4236:180::-;4292:6;4345:2;4333:9;4324:7;4320:23;4316:32;4313:52;;;4361:1;4358;4351:12;4313:52;4384:26;4400:9;4384:26;:::i;4421:689::-;4516:6;4524;4532;4585:2;4573:9;4564:7;4560:23;4556:32;4553:52;;;4601:1;4598;4591:12;4553:52;4641:9;4628:23;4670:18;4711:2;4703:6;4700:14;4697:34;;;4727:1;4724;4717:12;4697:34;4765:6;4754:9;4750:22;4740:32;;4810:7;4803:4;4799:2;4795:13;4791:27;4781:55;;4832:1;4829;4822:12;4781:55;4872:2;4859:16;4898:2;4890:6;4887:14;4884:34;;;4914:1;4911;4904:12;4884:34;4969:7;4962:4;4952:6;4949:1;4945:14;4941:2;4937:23;4933:34;4930:47;4927:67;;;4990:1;4987;4980:12;4927:67;5021:4;5013:13;;;;5045:6;;-1:-1:-1;5083:20:1;;;;5070:34;;4421:689;-1:-1:-1;;;;4421:689:1:o;5115:388::-;5183:6;5191;5244:2;5232:9;5223:7;5219:23;5215:32;5212:52;;;5260:1;5257;5250:12;5212:52;5299:9;5286:23;5318:31;5343:5;5318:31;:::i;:::-;5368:5;-1:-1:-1;5425:2:1;5410:18;;5397:32;5438:33;5397:32;5438:33;:::i;:::-;5490:7;5480:17;;;5115:388;;;;;:::o;5508:127::-;5569:10;5564:3;5560:20;5557:1;5550:31;5600:4;5597:1;5590:15;5624:4;5621:1;5614:15;5640:422;5729:1;5772:5;5729:1;5786:270;5807:7;5797:8;5794:21;5786:270;;;5866:4;5862:1;5858:6;5854:17;5848:4;5845:27;5842:53;;;5875:18;;:::i;:::-;5925:7;5915:8;5911:22;5908:55;;;5945:16;;;;5908:55;6024:22;;;;5984:15;;;;5786:270;;;5790:3;5640:422;;;;;:::o;6067:806::-;6116:5;6146:8;6136:80;;-1:-1:-1;6187:1:1;6201:5;;6136:80;6235:4;6225:76;;-1:-1:-1;6272:1:1;6286:5;;6225:76;6317:4;6335:1;6330:59;;;;6403:1;6398:130;;;;6310:218;;6330:59;6360:1;6351:10;;6374:5;;;6398:130;6435:3;6425:8;6422:17;6419:43;;;6442:18;;:::i;:::-;-1:-1:-1;;6498:1:1;6484:16;;6513:5;;6310:218;;6612:2;6602:8;6599:16;6593:3;6587:4;6584:13;6580:36;6574:2;6564:8;6561:16;6556:2;6550:4;6547:12;6543:35;6540:77;6537:159;;;-1:-1:-1;6649:19:1;;;6681:5;;6537:159;6728:34;6753:8;6747:4;6728:34;:::i;:::-;6798:6;6794:1;6790:6;6786:19;6777:7;6774:32;6771:58;;;6809:18;;:::i;:::-;6847:20;;6067:806;-1:-1:-1;;;6067:806:1:o;6878:140::-;6936:5;6965:47;7006:4;6996:8;6992:19;6986:4;6965:47;:::i;7023:168::-;7096:9;;;7127;;7144:15;;;7138:22;;7124:37;7114:71;;7165:18;;:::i;7877:127::-;7938:10;7933:3;7929:20;7926:1;7919:31;7969:4;7966:1;7959:15;7993:4;7990:1;7983:15;8009:399;8211:2;8193:21;;;8250:2;8230:18;;;8223:30;8289:34;8284:2;8269:18;;8262:62;-1:-1:-1;;;8355:2:1;8340:18;;8333:33;8398:3;8383:19;;8009:399::o;9989:217::-;10029:1;10055;10045:132;;10099:10;10094:3;10090:20;10087:1;10080:31;10134:4;10131:1;10124:15;10162:4;10159:1;10152:15;10045:132;-1:-1:-1;10191:9:1;;9989:217::o;12423:125::-;12488:9;;;12509:10;;;12506:36;;;12522:18;;:::i;13307:175::-;13375:10;13418;;;13406;;;13402:27;;13441:12;;;13438:38;;;13456:18;;:::i;:::-;13438:38;13307:175;;;;:::o;13487:128::-;13554:9;;;13575:11;;;13572:37;;;13589:18;;:::i;13752:251::-;13822:6;13875:2;13863:9;13854:7;13850:23;13846:32;13843:52;;;13891:1;13888;13881:12;13843:52;13923:9;13917:16;13942:31;13967:5;13942:31;:::i;14008:980::-;14270:4;14318:3;14307:9;14303:19;14349:6;14338:9;14331:25;14375:2;14413:6;14408:2;14397:9;14393:18;14386:34;14456:3;14451:2;14440:9;14436:18;14429:31;14480:6;14515;14509:13;14546:6;14538;14531:22;14584:3;14573:9;14569:19;14562:26;;14623:2;14615:6;14611:15;14597:29;;14644:1;14654:195;14668:6;14665:1;14662:13;14654:195;;;14733:13;;-1:-1:-1;;;;;14729:39:1;14717:52;;14824:15;;;;14789:12;;;;14765:1;14683:9;14654:195;;;-1:-1:-1;;;;;;;14905:32:1;;;;14900:2;14885:18;;14878:60;-1:-1:-1;;;14969:3:1;14954:19;14947:35;14866:3;14008:980;-1:-1:-1;;;14008:980:1:o;14993:287::-;15122:3;15160:6;15154:13;15176:66;15235:6;15230:3;15223:4;15215:6;15211:17;15176:66;:::i;:::-;15258:16;;;;;14993:287;-1:-1:-1;;14993:287:1:o;16238:306::-;16326:6;16334;16342;16395:2;16383:9;16374:7;16370:23;16366:32;16363:52;;;16411:1;16408;16401:12;16363:52;16440:9;16434:16;16424:26;;16490:2;16479:9;16475:18;16469:25;16459:35;;16534:2;16523:9;16519:18;16513:25;16503:35;;16238:306;;;;;:::o

Swarm Source

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