ETH Price: $3,395.71 (-0.65%)
Gas: 14 Gwei

Token

Yodatoshi (YODAI)
 

Overview

Max Total Supply

1,000,000,000 YODAI

Holders

327 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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

OVERVIEW

YODAI is a utility project that offers access to an automated call channels. This channel delivers top-tier signals from lower marketcap tokens, boasting the highest efficiency in the market. We are heading to produce utilities for investors to get easy trading on lower market cap tokens.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Yodatoshi

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-30
*/

// SPDX-License-Identifier: MIT
/**
MAX TRANSACTION BUY 2%~ = 20M~ $YODAI TOKENS ! 

Totally automatic lowering taxes!

Starting tax 70/70
After 8min 60/60
After 16min 50/50
After 24min 40/40
After 32min 30/30
After 40min 20/20
After 48min 10/10
After 56min 4/4

25% - auto liquidity / 75% - marketing/dev team

http://t.me/YodaiToken    
http://yodatoshi.com/
http://twitter.com/Yodai_erc
https://twitter.com/YodatoshiGuide
https://medium.com/@yodatoshi/when-master-yoda-meets-blockchain-7e3c2c6ac137
 */
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 Yodatoshi is IERC20Metadata, Ownable {
    //Constants
    string private constant _name = "Yodatoshi";
    string private constant _symbol = "YODAI";
    uint8 private constant _decimals = 18;
    uint256 internal constant _totalSupply = 1_000_000_000 * 10 ** _decimals;
    uint32 private constant percent_helper = 100 * 10 ** 2;
    //Settings limits
    uint32 private constant max_fee = 20.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 = true;
    address public team_wallet;
    uint32 public fee_buy = 70.00 * 10 ** 2;
    uint32 public fee_sell = 70.00 * 10 ** 2;
    uint32 public fee_early_sell = 30.00 * 10 ** 2;
    uint32 public lp_percent = 25.00 * 10 ** 2;
    bool public updateFeesActive = true;
    uint256 public tradeOpenTime;
    //Ignore fee
    mapping(address => bool) public ignore_fee;

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

    //Maxes
    uint256 public max_tx = 20_100_000 * 10 ** _decimals; //2%
    uint256 public max_wallet = 20_100_000 * 10 ** _decimals; //2%
    uint256 public swap_at_amount = 5_000_000 * 10 ** _decimals; //0.5%

    //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;
        // Set the addresses to ignore fees
        SetIgnoreFee(_input, true);
        _balances[msg.sender] = _totalSupply;
        //Initial supply
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    //Set buy, sell fee
    function SetFee(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 SetMaxes(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;
    }

    //Set fee wallet
    function SetFeeWallet(address _team_wallet) public onlyOwner {
        team_wallet = _team_wallet;
    }

    //Add fee ignore to wallets
    function SetIgnoreFee(
        address[] memory _input,
        bool _enabled
    ) public onlyOwner {
        unchecked {
            for (uint256 i = 0; i < _input.length; i++) {
                ignore_fee[_input[i]] = _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 BurnLiquidityTokens(uint256 _amount) external onlyOwner {
        require(
            block.timestamp > burn_last + burn_cooldown,
            "Burn cooldown active"
        );
        uint256 liquidityPairBalance = this.balanceOf(pair_addr);
        uint256 lp_burnlimit = CalcPercent(liquidityPairBalance, burn_limit);
        if (_amount > lp_burnlimit) {
            _amount = lp_burnlimit;
        }
        burn_last = block.timestamp;

        if (_amount > 0) {
            _transferTokens(pair_addr, address(0xdead), _amount);
        }
        IUniswapV2Pair pair = IUniswapV2Pair(pair_addr);
        pair.sync();
    }

    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;
        if (_enable == true) {
            tradeOpenTime = block.timestamp;
        }
    }

    function updateFees() internal {
        // Only run for the first hour after trade is open
        if (updateFeesActive && block.timestamp <= tradeOpenTime + 1 hours) {
            // Decrease fees every 8 minutes
            if (block.timestamp >= tradeOpenTime + 8 minutes) {
                fee_buy = fee_buy > 10.00 * 10 ** 2
                    ? fee_buy - 10.00 * 10 ** 2
                    : 4.00 * 10 ** 2;
                fee_sell = fee_sell > 10.00 * 10 ** 2
                    ? fee_sell - 10.00 * 10 ** 2
                    : 4.00 * 10 ** 2;
                tradeOpenTime += 8 minutes;
            }
            // Stop updating fees after hour
            if (block.timestamp >= tradeOpenTime + 1 hours) {
                updateFeesActive = false;
            }
        }
    }

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

        //Update fees
        updateFees();

        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":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"BurnLiquidityTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"uint32","name":"_fee_buy","type":"uint32"},{"internalType":"uint32","name":"_fee_sell","type":"uint32"}],"name":"SetFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_team_wallet","type":"address"}],"name":"SetFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_input","type":"address[]"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"SetIgnoreFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"SetLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_max_tx","type":"uint256"},{"internalType":"uint256","name":"_max_wallet","type":"uint256"}],"name":"SetMaxes","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":"tradeOpenTime","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"},{"inputs":[],"name":"updateFeesActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526001600060156101000a81548160ff0219169083151502179055506001600060166101000a81548160ff021916908315150217905550611b58600160146101000a81548163ffffffff021916908363ffffffff160217905550611b58600160186101000a81548163ffffffff021916908363ffffffff160217905550610bb86001601c6101000a81548163ffffffff021916908363ffffffff1602179055506109c4600260006101000a81548163ffffffff021916908363ffffffff1602179055506001600260046101000a81548160ff0219169083151502179055506107086005556012600a620000f7919062000997565b630132b3a0620001089190620009e8565b6007556012600a6200011b919062000997565b630132b3a06200012c9190620009e8565b6008556012600a6200013f919062000997565b624c4b406200014f9190620009e8565b6009556001600d60146101000a81548160ff0219169083151502179055506000600d60156101000a81548160ff0219169083151502179055503480156200019557600080fd5b506040516200494b3803806200494b8339818101604052810190620001bb919062000c21565b620001db620001cf620005d360201b60201c565b620005db60201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000281573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a7919062000c87565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200030f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000335919062000c87565b6040518363ffffffff1660e01b81526004016200035492919062000cca565b6020604051808303816000875af115801562000374573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039a919062000c87565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004de8260016200069f60201b60201c565b6012600a620004ee919062000997565b633b9aca00620004ff9190620009e8565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620005a2919062000997565b633b9aca00620005b39190620009e8565b604051620005c2919062000d08565b60405180910390a350505062000dd7565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620006af6200074360201b60201c565b60005b82518110156200073e578160046000858481518110620006d757620006d662000d25565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050620006b2565b505050565b62000753620005d360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000779620007d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620007d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007c99062000db5565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200088b57808604811115620008635762000862620007fd565b5b6001851615620008735780820291505b808102905062000883856200082c565b945062000843565b94509492505050565b600082620008a6576001905062000979565b81620008b6576000905062000979565b8160018114620008cf5760028114620008da5762000910565b600191505062000979565b60ff841115620008ef57620008ee620007fd565b5b8360020a915084821115620009095762000908620007fd565b5b5062000979565b5060208310610133831016604e8410600b84101617156200094a5782820a905083811115620009445762000943620007fd565b5b62000979565b62000959848484600162000839565b92509050818404811115620009735762000972620007fd565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620009a48262000980565b9150620009b1836200098a565b9250620009e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000894565b905092915050565b6000620009f58262000980565b915062000a028362000980565b925082820262000a128162000980565b9150828204841483151762000a2c5762000a2b620007fd565b5b5092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a748262000a47565b9050919050565b62000a868162000a67565b811462000a9257600080fd5b50565b60008151905062000aa68162000a7b565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000afc8262000ab1565b810181811067ffffffffffffffff8211171562000b1e5762000b1d62000ac2565b5b80604052505050565b600062000b3362000a33565b905062000b41828262000af1565b919050565b600067ffffffffffffffff82111562000b645762000b6362000ac2565b5b602082029050602081019050919050565b600080fd5b600062000b9162000b8b8462000b46565b62000b27565b9050808382526020820190506020840283018581111562000bb75762000bb662000b75565b5b835b8181101562000be4578062000bcf888262000a95565b84526020840193505060208101905062000bb9565b5050509392505050565b600082601f83011262000c065762000c0562000aac565b5b815162000c1884826020860162000b7a565b91505092915050565b6000806040838503121562000c3b5762000c3a62000a3d565b5b600062000c4b8582860162000a95565b925050602083015167ffffffffffffffff81111562000c6f5762000c6e62000a42565b5b62000c7d8582860162000bee565b9150509250929050565b60006020828403121562000ca05762000c9f62000a3d565b5b600062000cb08482850162000a95565b91505092915050565b62000cc48162000a67565b82525050565b600060408201905062000ce1600083018562000cb9565b62000cf0602083018462000cb9565b9392505050565b62000d028162000980565b82525050565b600060208201905062000d1f600083018462000cf7565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000d9d60208362000d54565b915062000daa8262000d65565b602082019050919050565b6000602082019050818103600083015262000dd08162000d8e565b9050919050565b613b648062000de76000396000f3fe60806040526004361061024a5760003560e01c80638bf67ad011610139578063a9059cbb116100b6578063c9d9159d1161007a578063c9d9159d14610840578063d11fcb851461086b578063dd62ed3e146108a8578063e717fc30146108e5578063f2fde38b14610910578063f5a27e861461093957610251565b8063a9059cbb1461075b578063ac93583414610798578063ba414b10146107c3578063bd186c4c146107ec578063bd4f1dc61461081557610251565b806395d89b41116100fd57806395d89b411461069c57806396418d4d146106c75780639bfe8df7146106f0578063a1780c1814610719578063a20adf861461073057610251565b80638bf67ad0146105c95780638da5cb5b146105f25780638e26bbe41461061d57806391d88b951461064657806391f18b7c1461067157610251565b80635bc05f3c116101c757806370a082311161018b57806370a08231146104f457806370fbc71214610531578063715018a61461055c5780637971fca7146105735780637aab5d9b1461059e57610251565b80635bc05f3c1461041f5780636264300e1461044a57806363126e1714610475578063685e838e1461049e5780636ea79583146104c957610251565b8063249715a61161020e578063249715a61461034e578063313ce567146103795780633d21e5a2146103a457806349dc859c146103cd578063581d30f8146103f657610251565b806306fdde0314610253578063095ea7b31461027e57806312fbbbe4146102bb57806318160ddd146102e657806323b872dd1461031157610251565b3661025157005b005b34801561025f57600080fd5b50610268610964565b60405161027591906125fe565b60405180910390f35b34801561028a57600080fd5b506102a560048036038101906102a091906126c8565b6109a1565b6040516102b29190612723565b60405180910390f35b3480156102c757600080fd5b506102d06109c4565b6040516102dd919061274d565b60405180910390f35b3480156102f257600080fd5b506102fb6109ca565b604051610308919061274d565b60405180910390f35b34801561031d57600080fd5b5061033860048036038101906103339190612768565b6109ee565b6040516103459190612723565b60405180910390f35b34801561035a57600080fd5b50610363610a1d565b6040516103709190612723565b60405180910390f35b34801561038557600080fd5b5061038e610a30565b60405161039b91906127d7565b60405180910390f35b3480156103b057600080fd5b506103cb60048036038101906103c691906127f2565b610a39565b005b3480156103d957600080fd5b506103f460048036038101906103ef919061281f565b610a85565b005b34801561040257600080fd5b5061041d600480360381019061041891906128b4565b610c6d565b005b34801561042b57600080fd5b50610434610d05565b6040516104419190612723565b60405180910390f35b34801561045657600080fd5b5061045f610d18565b60405161046c9190612903565b60405180910390f35b34801561048157600080fd5b5061049c60048036038101906104979190612a66565b610d2e565b005b3480156104aa57600080fd5b506104b3610dc5565b6040516104c0919061274d565b60405180910390f35b3480156104d557600080fd5b506104de610dcb565b6040516104eb9190612ad1565b60405180910390f35b34801561050057600080fd5b5061051b600480360381019061051691906127f2565b610df1565b604051610528919061274d565b60405180910390f35b34801561053d57600080fd5b50610546610e3a565b604051610553919061274d565b60405180910390f35b34801561056857600080fd5b50610571610e40565b005b34801561057f57600080fd5b50610588610e54565b6040516105959190612903565b60405180910390f35b3480156105aa57600080fd5b506105b3610e6a565b6040516105c09190612723565b60405180910390f35b3480156105d557600080fd5b506105f060048036038101906105eb9190612aec565b610e7d565b005b3480156105fe57600080fd5b50610607610ecc565b6040516106149190612ad1565b60405180910390f35b34801561062957600080fd5b50610644600480360381019061063f9190612b3f565b610ef5565b005b34801561065257600080fd5b5061065b610f2e565b604051610668919061274d565b60405180910390f35b34801561067d57600080fd5b50610686610f34565b6040516106939190612ad1565b60405180910390f35b3480156106a857600080fd5b506106b1610f5a565b6040516106be91906125fe565b60405180910390f35b3480156106d357600080fd5b506106ee60048036038101906106e99190612b6c565b610f97565b005b3480156106fc57600080fd5b5061071760048036038101906107129190612bac565b611050565b005b34801561072557600080fd5b5061072e611111565b005b34801561073c57600080fd5b50610745611123565b6040516107529190612723565b60405180910390f35b34801561076757600080fd5b50610782600480360381019061077d91906126c8565b611136565b60405161078f9190612723565b60405180910390f35b3480156107a457600080fd5b506107ad611159565b6040516107ba9190612723565b60405180910390f35b3480156107cf57600080fd5b506107ea60048036038101906107e59190612c47565b61116c565b005b3480156107f857600080fd5b50610813600480360381019061080e9190612b3f565b611249565b005b34801561082157600080fd5b5061082a61126e565b6040516108379190612903565b60405180910390f35b34801561084c57600080fd5b50610855611284565b6040516108629190612903565b60405180910390f35b34801561087757600080fd5b50610892600480360381019061088d91906127f2565b61129a565b60405161089f9190612723565b60405180910390f35b3480156108b457600080fd5b506108cf60048036038101906108ca9190612ca7565b6112ba565b6040516108dc919061274d565b60405180910390f35b3480156108f157600080fd5b506108fa611341565b604051610907919061274d565b60405180910390f35b34801561091c57600080fd5b50610937600480360381019061093291906127f2565b611347565b005b34801561094557600080fd5b5061094e6113ca565b60405161095b919061274d565b60405180910390f35b60606040518060400160405280600981526020017f596f6461746f7368690000000000000000000000000000000000000000000000815250905090565b6000806109ac6113d0565b90506109b98185856113d8565b600191505092915050565b60035481565b60006012600a6109da9190612e49565b633b9aca006109e99190612e94565b905090565b6000806109f96113d0565b9050610a068582856115a1565b610a1185858561162d565b60019150509392505050565b600260049054906101000a900460ff1681565b60006012905090565b610a41611b9c565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610a8d611b9c565b600554600654610a9d9190612ed6565b4211610ade576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad590612f56565b60405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff166370a08231600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610b3b9190612ad1565b602060405180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c9190612f8b565b90506000610b92826103e863ffffffff16611c1a565b905080831115610ba0578092505b426006819055506000831115610be057610bdf600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead85611c43565b5b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b5050505050505050565b610c75611b9c565b6107d063ffffffff168163ffffffff161115610cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbd90613004565b60405180910390fd5b81600060166101000a81548160ff021916908315150217905550806001601c6101000a81548163ffffffff021916908363ffffffff1602179055505050565b600060169054906101000a900460ff1681565b600160189054906101000a900463ffffffff1681565b610d36611b9c565b60005b8251811015610dc0578160046000858481518110610d5a57610d59613024565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610d39565b505050565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60075481565b610e48611b9c565b610e526000611dc8565b565b600160149054906101000a900463ffffffff1681565b600060149054906101000a900460ff1681565b610e85611b9c565b8260098190555081600260006101000a81548163ffffffff021916908363ffffffff16021790555080600d60146101000a81548160ff021916908315150217905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610efd611b9c565b80600060146101000a81548160ff0219169083151502179055506001151581151503610f2b57426003819055505b50565b60055481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600581526020017f594f444149000000000000000000000000000000000000000000000000000000815250905090565b610f9f611b9c565b6107d063ffffffff168263ffffffff1611158015610fcb57506107d063ffffffff168163ffffffff1611155b61100a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100190613004565b60405180910390fd5b81600160146101000a81548163ffffffff021916908363ffffffff16021790555080600160186101000a81548163ffffffff021916908363ffffffff1602179055505050565b611058611b9c565b603263ffffffff1682101580156110765750603263ffffffff168110155b6110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac9061309f565b60405180910390fd5b6110db6012600a6110c69190612e49565b633b9aca006110d59190612e94565b83611c1a565b6007819055506111076012600a6110f29190612e49565b633b9aca006111019190612e94565b82611c1a565b6008819055505050565b611119611b9c565b611121611e8c565b565b600060159054906101000a900460ff1681565b6000806111416113d0565b905061114e81858561162d565b600191505092915050565b600d60149054906101000a900460ff1681565b611174611b9c565b600061117e610ecc565b905060005b848490508110156112425760008585838181106111a3576111a2613024565b5b90506020020160208101906111b891906127f2565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122090613131565b60405180910390fd5b611234838286611c43565b508080600101915050611183565b5050505050565b611251611b9c565b80600060156101000a81548160ff02191690831515021790555050565b6001601c9054906101000a900463ffffffff1681565b600260009054906101000a900463ffffffff1681565b60046020528060005260406000206000915054906101000a900460ff1681565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b61134f611b9c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b5906131c3565b60405180910390fd5b6113c781611dc8565b50565b60065481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e90613255565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ad906132e7565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611594919061274d565b60405180910390a3505050565b60006115ad84846112ba565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146116275781811015611619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161090613353565b60405180910390fd5b61162684848484036113d8565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611693906133e5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361170b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170290613131565b60405180910390fd5b6000811161174e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174590613477565b60405180910390fd5b611756610ecc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806117c15750611792610ecc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806117f757503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561180c57611807838383611c43565b611b97565b600060149054906101000a900460ff1661185b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611852906134e3565b60405180910390fd5b611863611f03565b600080600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16149050806118c7576118c6611e8c565b5b801561194857600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119435761194083600160149054906101000a900463ffffffff1663ffffffff16611c1a565b91505b6119ec565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119eb576119e883600060169054906101000a900460ff166119c957600160189054906101000a900463ffffffff166119dd565b6001601c9054906101000a900463ffffffff165b63ffffffff16611c1a565b91505b5b81831015611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a269061354f565b60405180910390fd5b8183039250600060159054906101000a900460ff1615611b7457600754831115611a8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a85906135bb565b60405180910390fd5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611b735760085483600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b319190612ed6565b1115611b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6990613627565b60405180910390fd5b5b5b6000821115611b8957611b88853084611c43565b5b611b94858585611c43565b50505b505050565b611ba46113d0565b73ffffffffffffffffffffffffffffffffffffffff16611bc2610ecc565b73ffffffffffffffffffffffffffffffffffffffff1614611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0f90613693565b60405180910390fd5b565b600061271063ffffffff168284611c319190612e94565b611c3b91906136e2565b905092915050565b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc190613785565b60405180910390fd5b818103600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611dba919061274d565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611e9730610df1565b905060006009548210159050808015611ebd5750600d60159054906101000a900460ff16155b8015611ed55750600d60149054906101000a900460ff165b15611eff57611ee560095461206e565b60004790506000811115611efd57611efc4761236e565b5b505b5050565b600260049054906101000a900460ff168015611f2e5750610e10600354611f2a9190612ed6565b4211155b1561206c576101e0600354611f439190612ed6565b4210612039576103e8600160149054906101000a900463ffffffff1663ffffffff1611611f7257610190611f93565b6103e8600160149054906101000a900463ffffffff16611f9291906137a5565b5b600160146101000a81548163ffffffff021916908363ffffffff1602179055506103e8600160189054906101000a900463ffffffff1663ffffffff1611611fdc57610190611ffd565b6103e8600160189054906101000a900463ffffffff16611ffc91906137a5565b5b600160186101000a81548163ffffffff021916908363ffffffff1602179055506101e0600360008282546120319190612ed6565b925050819055505b610e106003546120499190612ed6565b421061206b576000600260046101000a81548160ff0219169083151502179055505b5b565b6001600d60156101000a81548160ff02191690831515021790555060006120ba82600260009054906101000a900463ffffffff166127106120af91906137a5565b63ffffffff16611c1a565b9050600081836120ca91906137dd565b905060004790506000600267ffffffffffffffff8111156120ee576120ed612923565b5b60405190808252806020026020018201604052801561211c5781602001602082028036833780820191505090505b509050308160008151811061213457612133613024565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ff9190613826565b8160018151811061221357612212613024565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061227a30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876113d8565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b81526004016122de959493929190613956565b600060405180830381600087803b1580156122f857600080fd5b505af115801561230c573d6000803e3d6000fd5b505050506000824761231e91906137dd565b905061234b8461234683600260009054906101000a900463ffffffff1663ffffffff16611c1a565b61248f565b50505050506000600d60156101000a81548160ff02191690831515021790555050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682600067ffffffffffffffff8111156123c5576123c4612923565b5b6040519080825280601f01601f1916602001820160405280156123f75781602001600182028036833780820191505090505b5060405161240591906139f7565b60006040518083038185875af1925050503d8060008114612442576040519150601f19603f3d011682016040523d82523d6000602084013e612447565b606091505b505090508061248b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248290613a5a565b60405180910390fd5b5050565b6124bc30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113d8565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806000426040518863ffffffff1660e01b815260040161252496959493929190613a7a565b60606040518083038185885af1158015612542573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906125679190613adb565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156125a857808201518184015260208101905061258d565b60008484015250505050565b6000601f19601f8301169050919050565b60006125d08261256e565b6125da8185612579565b93506125ea81856020860161258a565b6125f3816125b4565b840191505092915050565b6000602082019050818103600083015261261881846125c5565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061265f82612634565b9050919050565b61266f81612654565b811461267a57600080fd5b50565b60008135905061268c81612666565b92915050565b6000819050919050565b6126a581612692565b81146126b057600080fd5b50565b6000813590506126c28161269c565b92915050565b600080604083850312156126df576126de61262a565b5b60006126ed8582860161267d565b92505060206126fe858286016126b3565b9150509250929050565b60008115159050919050565b61271d81612708565b82525050565b60006020820190506127386000830184612714565b92915050565b61274781612692565b82525050565b6000602082019050612762600083018461273e565b92915050565b6000806000606084860312156127815761278061262a565b5b600061278f8682870161267d565b93505060206127a08682870161267d565b92505060406127b1868287016126b3565b9150509250925092565b600060ff82169050919050565b6127d1816127bb565b82525050565b60006020820190506127ec60008301846127c8565b92915050565b6000602082840312156128085761280761262a565b5b60006128168482850161267d565b91505092915050565b6000602082840312156128355761283461262a565b5b6000612843848285016126b3565b91505092915050565b61285581612708565b811461286057600080fd5b50565b6000813590506128728161284c565b92915050565b600063ffffffff82169050919050565b61289181612878565b811461289c57600080fd5b50565b6000813590506128ae81612888565b92915050565b600080604083850312156128cb576128ca61262a565b5b60006128d985828601612863565b92505060206128ea8582860161289f565b9150509250929050565b6128fd81612878565b82525050565b600060208201905061291860008301846128f4565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61295b826125b4565b810181811067ffffffffffffffff8211171561297a57612979612923565b5b80604052505050565b600061298d612620565b90506129998282612952565b919050565b600067ffffffffffffffff8211156129b9576129b8612923565b5b602082029050602081019050919050565b600080fd5b60006129e26129dd8461299e565b612983565b90508083825260208201905060208402830185811115612a0557612a046129ca565b5b835b81811015612a2e5780612a1a888261267d565b845260208401935050602081019050612a07565b5050509392505050565b600082601f830112612a4d57612a4c61291e565b5b8135612a5d8482602086016129cf565b91505092915050565b60008060408385031215612a7d57612a7c61262a565b5b600083013567ffffffffffffffff811115612a9b57612a9a61262f565b5b612aa785828601612a38565b9250506020612ab885828601612863565b9150509250929050565b612acb81612654565b82525050565b6000602082019050612ae66000830184612ac2565b92915050565b600080600060608486031215612b0557612b0461262a565b5b6000612b13868287016126b3565b9350506020612b248682870161289f565b9250506040612b3586828701612863565b9150509250925092565b600060208284031215612b5557612b5461262a565b5b6000612b6384828501612863565b91505092915050565b60008060408385031215612b8357612b8261262a565b5b6000612b918582860161289f565b9250506020612ba28582860161289f565b9150509250929050565b60008060408385031215612bc357612bc261262a565b5b6000612bd1858286016126b3565b9250506020612be2858286016126b3565b9150509250929050565b600080fd5b60008083601f840112612c0757612c0661291e565b5b8235905067ffffffffffffffff811115612c2457612c23612bec565b5b602083019150836020820283011115612c4057612c3f6129ca565b5b9250929050565b600080600060408486031215612c6057612c5f61262a565b5b600084013567ffffffffffffffff811115612c7e57612c7d61262f565b5b612c8a86828701612bf1565b93509350506020612c9d868287016126b3565b9150509250925092565b60008060408385031215612cbe57612cbd61262a565b5b6000612ccc8582860161267d565b9250506020612cdd8582860161267d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612d6d57808604811115612d4957612d48612ce7565b5b6001851615612d585780820291505b8081029050612d6685612d16565b9450612d2d565b94509492505050565b600082612d865760019050612e42565b81612d945760009050612e42565b8160018114612daa5760028114612db457612de3565b6001915050612e42565b60ff841115612dc657612dc5612ce7565b5b8360020a915084821115612ddd57612ddc612ce7565b5b50612e42565b5060208310610133831016604e8410600b8410161715612e185782820a905083811115612e1357612e12612ce7565b5b612e42565b612e258484846001612d23565b92509050818404811115612e3c57612e3b612ce7565b5b81810290505b9392505050565b6000612e5482612692565b9150612e5f836127bb565b9250612e8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d76565b905092915050565b6000612e9f82612692565b9150612eaa83612692565b9250828202612eb881612692565b91508282048414831517612ecf57612ece612ce7565b5b5092915050565b6000612ee182612692565b9150612eec83612692565b9250828201905080821115612f0457612f03612ce7565b5b92915050565b7f4275726e20636f6f6c646f776e20616374697665000000000000000000000000600082015250565b6000612f40601483612579565b9150612f4b82612f0a565b602082019050919050565b60006020820190508181036000830152612f6f81612f33565b9050919050565b600081519050612f858161269c565b92915050565b600060208284031215612fa157612fa061262a565b5b6000612faf84828501612f76565b91505092915050565b7f546f6f2068696768206665650000000000000000000000000000000000000000600082015250565b6000612fee600c83612579565b9150612ff982612fb8565b602082019050919050565b6000602082019050818103600083015261301d81612fe1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f546f6f206c6f77206d6178000000000000000000000000000000000000000000600082015250565b6000613089600b83612579565b915061309482613053565b602082019050919050565b600060208201905081810360008301526130b88161307c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061311b602383612579565b9150613126826130bf565b604082019050919050565b6000602082019050818103600083015261314a8161310e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006131ad602683612579565b91506131b882613151565b604082019050919050565b600060208201905081810360008301526131dc816131a0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061323f602483612579565b915061324a826131e3565b604082019050919050565b6000602082019050818103600083015261326e81613232565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132d1602283612579565b91506132dc82613275565b604082019050919050565b60006020820190508181036000830152613300816132c4565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061333d601d83612579565b915061334882613307565b602082019050919050565b6000602082019050818103600083015261336c81613330565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006133cf602583612579565b91506133da82613373565b604082019050919050565b600060208201905081810360008301526133fe816133c2565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613461602983612579565b915061346c82613405565b604082019050919050565b6000602082019050818103600083015261349081613454565b9050919050565b7f54726164696e672069732064697361626c656400000000000000000000000000600082015250565b60006134cd601383612579565b91506134d882613497565b602082019050919050565b600060208201905081810360008301526134fc816134c0565b9050919050565b7f666565206578636565647320616d6f756e740000000000000000000000000000600082015250565b6000613539601283612579565b915061354482613503565b602082019050919050565b600060208201905081810360008301526135688161352c565b9050919050565b7f4d61782054582072656163686564000000000000000000000000000000000000600082015250565b60006135a5600e83612579565b91506135b08261356f565b602082019050919050565b600060208201905081810360008301526135d481613598565b9050919050565b7f4d61782077616c6c657420726561636865640000000000000000000000000000600082015250565b6000613611601283612579565b915061361c826135db565b602082019050919050565b6000602082019050818103600083015261364081613604565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061367d602083612579565b915061368882613647565b602082019050919050565b600060208201905081810360008301526136ac81613670565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006136ed82612692565b91506136f883612692565b925082613708576137076136b3565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061376f602683612579565b915061377a82613713565b604082019050919050565b6000602082019050818103600083015261379e81613762565b9050919050565b60006137b082612878565b91506137bb83612878565b9250828203905063ffffffff8111156137d7576137d6612ce7565b5b92915050565b60006137e882612692565b91506137f383612692565b925082820390508181111561380b5761380a612ce7565b5b92915050565b60008151905061382081612666565b92915050565b60006020828403121561383c5761383b61262a565b5b600061384a84828501613811565b91505092915050565b6000819050919050565b6000819050919050565b600061388261387d61387884613853565b61385d565b612692565b9050919050565b61389281613867565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6138cd81612654565b82525050565b60006138df83836138c4565b60208301905092915050565b6000602082019050919050565b600061390382613898565b61390d81856138a3565b9350613918836138b4565b8060005b8381101561394957815161393088826138d3565b975061393b836138eb565b92505060018101905061391c565b5085935050505092915050565b600060a08201905061396b600083018861273e565b6139786020830187613889565b818103604083015261398a81866138f8565b90506139996060830185612ac2565b6139a6608083018461273e565b9695505050505050565b600081519050919050565b600081905092915050565b60006139d1826139b0565b6139db81856139bb565b93506139eb81856020860161258a565b80840191505092915050565b6000613a0382846139c6565b915081905092915050565b7f5472616e736665724661696c0000000000000000000000000000000000000000600082015250565b6000613a44600c83612579565b9150613a4f82613a0e565b602082019050919050565b60006020820190508181036000830152613a7381613a37565b9050919050565b600060c082019050613a8f6000830189612ac2565b613a9c602083018861273e565b613aa96040830187613889565b613ab66060830186613889565b613ac36080830185612ac2565b613ad060a083018461273e565b979650505050505050565b600080600060608486031215613af457613af361262a565b5b6000613b0286828701612f76565b9350506020613b1386828701612f76565b9250506040613b2486828701612f76565b915050925092509256fea2646970667358221220c03f2f775faaa4a4fd148f481b6b4503a486c5c1635e0a3bdfb8e35f2884806d64736f6c634300081100330000000000000000000000000e3cdf21e9bdae93052c65fb0ffc616fa08dde460000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000162941e44cb799a9fb96ffe80edd9328f343b74c00000000000000000000000058679fd2a88b23727eaa57327d71495c11de5d87000000000000000000000000362f0ddbb88f62d2c344f4a73ff7b18440d557110000000000000000000000003cdc9860d75d7f5067986d176653afb62b0c71a6000000000000000000000000b7d8d82c22c6aaeaa45724c096a0f7656a2e7672000000000000000000000000686b917b8165d355220074c272d8c5e38408e51b000000000000000000000000327c5e89843b31eccf620456f4f67a1916d7e0de0000000000000000000000002e7f18078ea1c81c8857da4035807b1bf40a0b38000000000000000000000000ff1e9cbb81683d8af3e426e24d5872dd05b0827200000000000000000000000018f55dfd5b41883bc526697fc777e3a3780c4d38000000000000000000000000dcb1f83f59e3bb2df660cf7d9eca1f1a060225fb00000000000000000000000040941ad316239ff81d5a1f0d8795d56dd906aa83000000000000000000000000526a48df8de02ac4bbd1c87333cd59582cfbc0e800000000000000000000000012066e029867d752f5f280f645fc756c8617a88b

Deployed Bytecode

0x60806040526004361061024a5760003560e01c80638bf67ad011610139578063a9059cbb116100b6578063c9d9159d1161007a578063c9d9159d14610840578063d11fcb851461086b578063dd62ed3e146108a8578063e717fc30146108e5578063f2fde38b14610910578063f5a27e861461093957610251565b8063a9059cbb1461075b578063ac93583414610798578063ba414b10146107c3578063bd186c4c146107ec578063bd4f1dc61461081557610251565b806395d89b41116100fd57806395d89b411461069c57806396418d4d146106c75780639bfe8df7146106f0578063a1780c1814610719578063a20adf861461073057610251565b80638bf67ad0146105c95780638da5cb5b146105f25780638e26bbe41461061d57806391d88b951461064657806391f18b7c1461067157610251565b80635bc05f3c116101c757806370a082311161018b57806370a08231146104f457806370fbc71214610531578063715018a61461055c5780637971fca7146105735780637aab5d9b1461059e57610251565b80635bc05f3c1461041f5780636264300e1461044a57806363126e1714610475578063685e838e1461049e5780636ea79583146104c957610251565b8063249715a61161020e578063249715a61461034e578063313ce567146103795780633d21e5a2146103a457806349dc859c146103cd578063581d30f8146103f657610251565b806306fdde0314610253578063095ea7b31461027e57806312fbbbe4146102bb57806318160ddd146102e657806323b872dd1461031157610251565b3661025157005b005b34801561025f57600080fd5b50610268610964565b60405161027591906125fe565b60405180910390f35b34801561028a57600080fd5b506102a560048036038101906102a091906126c8565b6109a1565b6040516102b29190612723565b60405180910390f35b3480156102c757600080fd5b506102d06109c4565b6040516102dd919061274d565b60405180910390f35b3480156102f257600080fd5b506102fb6109ca565b604051610308919061274d565b60405180910390f35b34801561031d57600080fd5b5061033860048036038101906103339190612768565b6109ee565b6040516103459190612723565b60405180910390f35b34801561035a57600080fd5b50610363610a1d565b6040516103709190612723565b60405180910390f35b34801561038557600080fd5b5061038e610a30565b60405161039b91906127d7565b60405180910390f35b3480156103b057600080fd5b506103cb60048036038101906103c691906127f2565b610a39565b005b3480156103d957600080fd5b506103f460048036038101906103ef919061281f565b610a85565b005b34801561040257600080fd5b5061041d600480360381019061041891906128b4565b610c6d565b005b34801561042b57600080fd5b50610434610d05565b6040516104419190612723565b60405180910390f35b34801561045657600080fd5b5061045f610d18565b60405161046c9190612903565b60405180910390f35b34801561048157600080fd5b5061049c60048036038101906104979190612a66565b610d2e565b005b3480156104aa57600080fd5b506104b3610dc5565b6040516104c0919061274d565b60405180910390f35b3480156104d557600080fd5b506104de610dcb565b6040516104eb9190612ad1565b60405180910390f35b34801561050057600080fd5b5061051b600480360381019061051691906127f2565b610df1565b604051610528919061274d565b60405180910390f35b34801561053d57600080fd5b50610546610e3a565b604051610553919061274d565b60405180910390f35b34801561056857600080fd5b50610571610e40565b005b34801561057f57600080fd5b50610588610e54565b6040516105959190612903565b60405180910390f35b3480156105aa57600080fd5b506105b3610e6a565b6040516105c09190612723565b60405180910390f35b3480156105d557600080fd5b506105f060048036038101906105eb9190612aec565b610e7d565b005b3480156105fe57600080fd5b50610607610ecc565b6040516106149190612ad1565b60405180910390f35b34801561062957600080fd5b50610644600480360381019061063f9190612b3f565b610ef5565b005b34801561065257600080fd5b5061065b610f2e565b604051610668919061274d565b60405180910390f35b34801561067d57600080fd5b50610686610f34565b6040516106939190612ad1565b60405180910390f35b3480156106a857600080fd5b506106b1610f5a565b6040516106be91906125fe565b60405180910390f35b3480156106d357600080fd5b506106ee60048036038101906106e99190612b6c565b610f97565b005b3480156106fc57600080fd5b5061071760048036038101906107129190612bac565b611050565b005b34801561072557600080fd5b5061072e611111565b005b34801561073c57600080fd5b50610745611123565b6040516107529190612723565b60405180910390f35b34801561076757600080fd5b50610782600480360381019061077d91906126c8565b611136565b60405161078f9190612723565b60405180910390f35b3480156107a457600080fd5b506107ad611159565b6040516107ba9190612723565b60405180910390f35b3480156107cf57600080fd5b506107ea60048036038101906107e59190612c47565b61116c565b005b3480156107f857600080fd5b50610813600480360381019061080e9190612b3f565b611249565b005b34801561082157600080fd5b5061082a61126e565b6040516108379190612903565b60405180910390f35b34801561084c57600080fd5b50610855611284565b6040516108629190612903565b60405180910390f35b34801561087757600080fd5b50610892600480360381019061088d91906127f2565b61129a565b60405161089f9190612723565b60405180910390f35b3480156108b457600080fd5b506108cf60048036038101906108ca9190612ca7565b6112ba565b6040516108dc919061274d565b60405180910390f35b3480156108f157600080fd5b506108fa611341565b604051610907919061274d565b60405180910390f35b34801561091c57600080fd5b50610937600480360381019061093291906127f2565b611347565b005b34801561094557600080fd5b5061094e6113ca565b60405161095b919061274d565b60405180910390f35b60606040518060400160405280600981526020017f596f6461746f7368690000000000000000000000000000000000000000000000815250905090565b6000806109ac6113d0565b90506109b98185856113d8565b600191505092915050565b60035481565b60006012600a6109da9190612e49565b633b9aca006109e99190612e94565b905090565b6000806109f96113d0565b9050610a068582856115a1565b610a1185858561162d565b60019150509392505050565b600260049054906101000a900460ff1681565b60006012905090565b610a41611b9c565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610a8d611b9c565b600554600654610a9d9190612ed6565b4211610ade576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad590612f56565b60405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff166370a08231600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610b3b9190612ad1565b602060405180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c9190612f8b565b90506000610b92826103e863ffffffff16611c1a565b905080831115610ba0578092505b426006819055506000831115610be057610bdf600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead85611c43565b5b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b5050505050505050565b610c75611b9c565b6107d063ffffffff168163ffffffff161115610cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbd90613004565b60405180910390fd5b81600060166101000a81548160ff021916908315150217905550806001601c6101000a81548163ffffffff021916908363ffffffff1602179055505050565b600060169054906101000a900460ff1681565b600160189054906101000a900463ffffffff1681565b610d36611b9c565b60005b8251811015610dc0578160046000858481518110610d5a57610d59613024565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610d39565b505050565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60075481565b610e48611b9c565b610e526000611dc8565b565b600160149054906101000a900463ffffffff1681565b600060149054906101000a900460ff1681565b610e85611b9c565b8260098190555081600260006101000a81548163ffffffff021916908363ffffffff16021790555080600d60146101000a81548160ff021916908315150217905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610efd611b9c565b80600060146101000a81548160ff0219169083151502179055506001151581151503610f2b57426003819055505b50565b60055481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600581526020017f594f444149000000000000000000000000000000000000000000000000000000815250905090565b610f9f611b9c565b6107d063ffffffff168263ffffffff1611158015610fcb57506107d063ffffffff168163ffffffff1611155b61100a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100190613004565b60405180910390fd5b81600160146101000a81548163ffffffff021916908363ffffffff16021790555080600160186101000a81548163ffffffff021916908363ffffffff1602179055505050565b611058611b9c565b603263ffffffff1682101580156110765750603263ffffffff168110155b6110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac9061309f565b60405180910390fd5b6110db6012600a6110c69190612e49565b633b9aca006110d59190612e94565b83611c1a565b6007819055506111076012600a6110f29190612e49565b633b9aca006111019190612e94565b82611c1a565b6008819055505050565b611119611b9c565b611121611e8c565b565b600060159054906101000a900460ff1681565b6000806111416113d0565b905061114e81858561162d565b600191505092915050565b600d60149054906101000a900460ff1681565b611174611b9c565b600061117e610ecc565b905060005b848490508110156112425760008585838181106111a3576111a2613024565b5b90506020020160208101906111b891906127f2565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122090613131565b60405180910390fd5b611234838286611c43565b508080600101915050611183565b5050505050565b611251611b9c565b80600060156101000a81548160ff02191690831515021790555050565b6001601c9054906101000a900463ffffffff1681565b600260009054906101000a900463ffffffff1681565b60046020528060005260406000206000915054906101000a900460ff1681565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b61134f611b9c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b5906131c3565b60405180910390fd5b6113c781611dc8565b50565b60065481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e90613255565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ad906132e7565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611594919061274d565b60405180910390a3505050565b60006115ad84846112ba565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146116275781811015611619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161090613353565b60405180910390fd5b61162684848484036113d8565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611693906133e5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361170b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170290613131565b60405180910390fd5b6000811161174e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174590613477565b60405180910390fd5b611756610ecc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806117c15750611792610ecc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806117f757503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561180c57611807838383611c43565b611b97565b600060149054906101000a900460ff1661185b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611852906134e3565b60405180910390fd5b611863611f03565b600080600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16149050806118c7576118c6611e8c565b5b801561194857600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119435761194083600160149054906101000a900463ffffffff1663ffffffff16611c1a565b91505b6119ec565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119eb576119e883600060169054906101000a900460ff166119c957600160189054906101000a900463ffffffff166119dd565b6001601c9054906101000a900463ffffffff165b63ffffffff16611c1a565b91505b5b81831015611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a269061354f565b60405180910390fd5b8183039250600060159054906101000a900460ff1615611b7457600754831115611a8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a85906135bb565b60405180910390fd5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611b735760085483600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b319190612ed6565b1115611b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6990613627565b60405180910390fd5b5b5b6000821115611b8957611b88853084611c43565b5b611b94858585611c43565b50505b505050565b611ba46113d0565b73ffffffffffffffffffffffffffffffffffffffff16611bc2610ecc565b73ffffffffffffffffffffffffffffffffffffffff1614611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0f90613693565b60405180910390fd5b565b600061271063ffffffff168284611c319190612e94565b611c3b91906136e2565b905092915050565b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc190613785565b60405180910390fd5b818103600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611dba919061274d565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611e9730610df1565b905060006009548210159050808015611ebd5750600d60159054906101000a900460ff16155b8015611ed55750600d60149054906101000a900460ff165b15611eff57611ee560095461206e565b60004790506000811115611efd57611efc4761236e565b5b505b5050565b600260049054906101000a900460ff168015611f2e5750610e10600354611f2a9190612ed6565b4211155b1561206c576101e0600354611f439190612ed6565b4210612039576103e8600160149054906101000a900463ffffffff1663ffffffff1611611f7257610190611f93565b6103e8600160149054906101000a900463ffffffff16611f9291906137a5565b5b600160146101000a81548163ffffffff021916908363ffffffff1602179055506103e8600160189054906101000a900463ffffffff1663ffffffff1611611fdc57610190611ffd565b6103e8600160189054906101000a900463ffffffff16611ffc91906137a5565b5b600160186101000a81548163ffffffff021916908363ffffffff1602179055506101e0600360008282546120319190612ed6565b925050819055505b610e106003546120499190612ed6565b421061206b576000600260046101000a81548160ff0219169083151502179055505b5b565b6001600d60156101000a81548160ff02191690831515021790555060006120ba82600260009054906101000a900463ffffffff166127106120af91906137a5565b63ffffffff16611c1a565b9050600081836120ca91906137dd565b905060004790506000600267ffffffffffffffff8111156120ee576120ed612923565b5b60405190808252806020026020018201604052801561211c5781602001602082028036833780820191505090505b509050308160008151811061213457612133613024565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ff9190613826565b8160018151811061221357612212613024565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061227a30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876113d8565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b81526004016122de959493929190613956565b600060405180830381600087803b1580156122f857600080fd5b505af115801561230c573d6000803e3d6000fd5b505050506000824761231e91906137dd565b905061234b8461234683600260009054906101000a900463ffffffff1663ffffffff16611c1a565b61248f565b50505050506000600d60156101000a81548160ff02191690831515021790555050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682600067ffffffffffffffff8111156123c5576123c4612923565b5b6040519080825280601f01601f1916602001820160405280156123f75781602001600182028036833780820191505090505b5060405161240591906139f7565b60006040518083038185875af1925050503d8060008114612442576040519150601f19603f3d011682016040523d82523d6000602084013e612447565b606091505b505090508061248b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248290613a5a565b60405180910390fd5b5050565b6124bc30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113d8565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806000426040518863ffffffff1660e01b815260040161252496959493929190613a7a565b60606040518083038185885af1158015612542573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906125679190613adb565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156125a857808201518184015260208101905061258d565b60008484015250505050565b6000601f19601f8301169050919050565b60006125d08261256e565b6125da8185612579565b93506125ea81856020860161258a565b6125f3816125b4565b840191505092915050565b6000602082019050818103600083015261261881846125c5565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061265f82612634565b9050919050565b61266f81612654565b811461267a57600080fd5b50565b60008135905061268c81612666565b92915050565b6000819050919050565b6126a581612692565b81146126b057600080fd5b50565b6000813590506126c28161269c565b92915050565b600080604083850312156126df576126de61262a565b5b60006126ed8582860161267d565b92505060206126fe858286016126b3565b9150509250929050565b60008115159050919050565b61271d81612708565b82525050565b60006020820190506127386000830184612714565b92915050565b61274781612692565b82525050565b6000602082019050612762600083018461273e565b92915050565b6000806000606084860312156127815761278061262a565b5b600061278f8682870161267d565b93505060206127a08682870161267d565b92505060406127b1868287016126b3565b9150509250925092565b600060ff82169050919050565b6127d1816127bb565b82525050565b60006020820190506127ec60008301846127c8565b92915050565b6000602082840312156128085761280761262a565b5b60006128168482850161267d565b91505092915050565b6000602082840312156128355761283461262a565b5b6000612843848285016126b3565b91505092915050565b61285581612708565b811461286057600080fd5b50565b6000813590506128728161284c565b92915050565b600063ffffffff82169050919050565b61289181612878565b811461289c57600080fd5b50565b6000813590506128ae81612888565b92915050565b600080604083850312156128cb576128ca61262a565b5b60006128d985828601612863565b92505060206128ea8582860161289f565b9150509250929050565b6128fd81612878565b82525050565b600060208201905061291860008301846128f4565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61295b826125b4565b810181811067ffffffffffffffff8211171561297a57612979612923565b5b80604052505050565b600061298d612620565b90506129998282612952565b919050565b600067ffffffffffffffff8211156129b9576129b8612923565b5b602082029050602081019050919050565b600080fd5b60006129e26129dd8461299e565b612983565b90508083825260208201905060208402830185811115612a0557612a046129ca565b5b835b81811015612a2e5780612a1a888261267d565b845260208401935050602081019050612a07565b5050509392505050565b600082601f830112612a4d57612a4c61291e565b5b8135612a5d8482602086016129cf565b91505092915050565b60008060408385031215612a7d57612a7c61262a565b5b600083013567ffffffffffffffff811115612a9b57612a9a61262f565b5b612aa785828601612a38565b9250506020612ab885828601612863565b9150509250929050565b612acb81612654565b82525050565b6000602082019050612ae66000830184612ac2565b92915050565b600080600060608486031215612b0557612b0461262a565b5b6000612b13868287016126b3565b9350506020612b248682870161289f565b9250506040612b3586828701612863565b9150509250925092565b600060208284031215612b5557612b5461262a565b5b6000612b6384828501612863565b91505092915050565b60008060408385031215612b8357612b8261262a565b5b6000612b918582860161289f565b9250506020612ba28582860161289f565b9150509250929050565b60008060408385031215612bc357612bc261262a565b5b6000612bd1858286016126b3565b9250506020612be2858286016126b3565b9150509250929050565b600080fd5b60008083601f840112612c0757612c0661291e565b5b8235905067ffffffffffffffff811115612c2457612c23612bec565b5b602083019150836020820283011115612c4057612c3f6129ca565b5b9250929050565b600080600060408486031215612c6057612c5f61262a565b5b600084013567ffffffffffffffff811115612c7e57612c7d61262f565b5b612c8a86828701612bf1565b93509350506020612c9d868287016126b3565b9150509250925092565b60008060408385031215612cbe57612cbd61262a565b5b6000612ccc8582860161267d565b9250506020612cdd8582860161267d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612d6d57808604811115612d4957612d48612ce7565b5b6001851615612d585780820291505b8081029050612d6685612d16565b9450612d2d565b94509492505050565b600082612d865760019050612e42565b81612d945760009050612e42565b8160018114612daa5760028114612db457612de3565b6001915050612e42565b60ff841115612dc657612dc5612ce7565b5b8360020a915084821115612ddd57612ddc612ce7565b5b50612e42565b5060208310610133831016604e8410600b8410161715612e185782820a905083811115612e1357612e12612ce7565b5b612e42565b612e258484846001612d23565b92509050818404811115612e3c57612e3b612ce7565b5b81810290505b9392505050565b6000612e5482612692565b9150612e5f836127bb565b9250612e8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d76565b905092915050565b6000612e9f82612692565b9150612eaa83612692565b9250828202612eb881612692565b91508282048414831517612ecf57612ece612ce7565b5b5092915050565b6000612ee182612692565b9150612eec83612692565b9250828201905080821115612f0457612f03612ce7565b5b92915050565b7f4275726e20636f6f6c646f776e20616374697665000000000000000000000000600082015250565b6000612f40601483612579565b9150612f4b82612f0a565b602082019050919050565b60006020820190508181036000830152612f6f81612f33565b9050919050565b600081519050612f858161269c565b92915050565b600060208284031215612fa157612fa061262a565b5b6000612faf84828501612f76565b91505092915050565b7f546f6f2068696768206665650000000000000000000000000000000000000000600082015250565b6000612fee600c83612579565b9150612ff982612fb8565b602082019050919050565b6000602082019050818103600083015261301d81612fe1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f546f6f206c6f77206d6178000000000000000000000000000000000000000000600082015250565b6000613089600b83612579565b915061309482613053565b602082019050919050565b600060208201905081810360008301526130b88161307c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061311b602383612579565b9150613126826130bf565b604082019050919050565b6000602082019050818103600083015261314a8161310e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006131ad602683612579565b91506131b882613151565b604082019050919050565b600060208201905081810360008301526131dc816131a0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061323f602483612579565b915061324a826131e3565b604082019050919050565b6000602082019050818103600083015261326e81613232565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132d1602283612579565b91506132dc82613275565b604082019050919050565b60006020820190508181036000830152613300816132c4565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061333d601d83612579565b915061334882613307565b602082019050919050565b6000602082019050818103600083015261336c81613330565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006133cf602583612579565b91506133da82613373565b604082019050919050565b600060208201905081810360008301526133fe816133c2565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613461602983612579565b915061346c82613405565b604082019050919050565b6000602082019050818103600083015261349081613454565b9050919050565b7f54726164696e672069732064697361626c656400000000000000000000000000600082015250565b60006134cd601383612579565b91506134d882613497565b602082019050919050565b600060208201905081810360008301526134fc816134c0565b9050919050565b7f666565206578636565647320616d6f756e740000000000000000000000000000600082015250565b6000613539601283612579565b915061354482613503565b602082019050919050565b600060208201905081810360008301526135688161352c565b9050919050565b7f4d61782054582072656163686564000000000000000000000000000000000000600082015250565b60006135a5600e83612579565b91506135b08261356f565b602082019050919050565b600060208201905081810360008301526135d481613598565b9050919050565b7f4d61782077616c6c657420726561636865640000000000000000000000000000600082015250565b6000613611601283612579565b915061361c826135db565b602082019050919050565b6000602082019050818103600083015261364081613604565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061367d602083612579565b915061368882613647565b602082019050919050565b600060208201905081810360008301526136ac81613670565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006136ed82612692565b91506136f883612692565b925082613708576137076136b3565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061376f602683612579565b915061377a82613713565b604082019050919050565b6000602082019050818103600083015261379e81613762565b9050919050565b60006137b082612878565b91506137bb83612878565b9250828203905063ffffffff8111156137d7576137d6612ce7565b5b92915050565b60006137e882612692565b91506137f383612692565b925082820390508181111561380b5761380a612ce7565b5b92915050565b60008151905061382081612666565b92915050565b60006020828403121561383c5761383b61262a565b5b600061384a84828501613811565b91505092915050565b6000819050919050565b6000819050919050565b600061388261387d61387884613853565b61385d565b612692565b9050919050565b61389281613867565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6138cd81612654565b82525050565b60006138df83836138c4565b60208301905092915050565b6000602082019050919050565b600061390382613898565b61390d81856138a3565b9350613918836138b4565b8060005b8381101561394957815161393088826138d3565b975061393b836138eb565b92505060018101905061391c565b5085935050505092915050565b600060a08201905061396b600083018861273e565b6139786020830187613889565b818103604083015261398a81866138f8565b90506139996060830185612ac2565b6139a6608083018461273e565b9695505050505050565b600081519050919050565b600081905092915050565b60006139d1826139b0565b6139db81856139bb565b93506139eb81856020860161258a565b80840191505092915050565b6000613a0382846139c6565b915081905092915050565b7f5472616e736665724661696c0000000000000000000000000000000000000000600082015250565b6000613a44600c83612579565b9150613a4f82613a0e565b602082019050919050565b60006020820190508181036000830152613a7381613a37565b9050919050565b600060c082019050613a8f6000830189612ac2565b613a9c602083018861273e565b613aa96040830187613889565b613ab66060830186613889565b613ac36080830185612ac2565b613ad060a083018461273e565b979650505050505050565b600080600060608486031215613af457613af361262a565b5b6000613b0286828701612f76565b9350506020613b1386828701612f76565b9250506040613b2486828701612f76565b915050925092509256fea2646970667358221220c03f2f775faaa4a4fd148f481b6b4503a486c5c1635e0a3bdfb8e35f2884806d64736f6c63430008110033

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

0000000000000000000000000e3cdf21e9bdae93052c65fb0ffc616fa08dde460000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000162941e44cb799a9fb96ffe80edd9328f343b74c00000000000000000000000058679fd2a88b23727eaa57327d71495c11de5d87000000000000000000000000362f0ddbb88f62d2c344f4a73ff7b18440d557110000000000000000000000003cdc9860d75d7f5067986d176653afb62b0c71a6000000000000000000000000b7d8d82c22c6aaeaa45724c096a0f7656a2e7672000000000000000000000000686b917b8165d355220074c272d8c5e38408e51b000000000000000000000000327c5e89843b31eccf620456f4f67a1916d7e0de0000000000000000000000002e7f18078ea1c81c8857da4035807b1bf40a0b38000000000000000000000000ff1e9cbb81683d8af3e426e24d5872dd05b0827200000000000000000000000018f55dfd5b41883bc526697fc777e3a3780c4d38000000000000000000000000dcb1f83f59e3bb2df660cf7d9eca1f1a060225fb00000000000000000000000040941ad316239ff81d5a1f0d8795d56dd906aa83000000000000000000000000526a48df8de02ac4bbd1c87333cd59582cfbc0e800000000000000000000000012066e029867d752f5f280f645fc756c8617a88b

-----Decoded View---------------
Arg [0] : _team_wallet (address): 0x0e3cDF21E9bDaE93052c65FB0ffc616Fa08dDe46
Arg [1] : _input (address[]): 0x162941E44Cb799A9Fb96FFe80EDd9328f343b74C,0x58679fD2a88b23727eAa57327d71495c11De5D87,0x362f0DdBb88f62D2c344f4a73Ff7b18440d55711,0x3cDC9860d75d7F5067986d176653aFB62b0c71a6,0xb7D8D82c22C6aaeAA45724C096A0F7656A2E7672,0x686b917b8165d355220074c272d8C5e38408E51b,0x327c5E89843b31EcCf620456F4f67A1916d7E0De,0x2E7F18078EA1C81c8857Da4035807B1BF40A0B38,0xFF1E9CBb81683D8Af3e426E24d5872DD05b08272,0x18f55dFd5b41883bc526697FC777E3A3780c4D38,0xdcB1F83f59E3bB2Df660Cf7D9eCA1f1a060225fb,0x40941AD316239FF81D5A1F0D8795D56dd906aa83,0x526a48dF8DE02AC4BbD1c87333Cd59582cFbc0E8,0x12066e029867d752f5f280f645FC756C8617A88B

-----Encoded View---------------
17 Constructor Arguments found :
Arg [0] : 0000000000000000000000000e3cdf21e9bdae93052c65fb0ffc616fa08dde46
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [3] : 000000000000000000000000162941e44cb799a9fb96ffe80edd9328f343b74c
Arg [4] : 00000000000000000000000058679fd2a88b23727eaa57327d71495c11de5d87
Arg [5] : 000000000000000000000000362f0ddbb88f62d2c344f4a73ff7b18440d55711
Arg [6] : 0000000000000000000000003cdc9860d75d7f5067986d176653afb62b0c71a6
Arg [7] : 000000000000000000000000b7d8d82c22c6aaeaa45724c096a0f7656a2e7672
Arg [8] : 000000000000000000000000686b917b8165d355220074c272d8c5e38408e51b
Arg [9] : 000000000000000000000000327c5e89843b31eccf620456f4f67a1916d7e0de
Arg [10] : 0000000000000000000000002e7f18078ea1c81c8857da4035807b1bf40a0b38
Arg [11] : 000000000000000000000000ff1e9cbb81683d8af3e426e24d5872dd05b08272
Arg [12] : 00000000000000000000000018f55dfd5b41883bc526697fc777e3a3780c4d38
Arg [13] : 000000000000000000000000dcb1f83f59e3bb2df660cf7d9eca1f1a060225fb
Arg [14] : 00000000000000000000000040941ad316239ff81d5a1f0d8795d56dd906aa83
Arg [15] : 000000000000000000000000526a48df8de02ac4bbd1c87333cd59582cfbc0e8
Arg [16] : 00000000000000000000000012066e029867d752f5f280f645fc756c8617a88b


Deployed Bytecode Sourcemap

8152:13853:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18740:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20048:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9105:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19068:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19561:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9063:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18960:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11761:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12692:656;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13534:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8799:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8914:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11908:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9447:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8835:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19184:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9315:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3064:103;;;;;;;;;;;;;:::i;:::-;;8868:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8718:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11494:237;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2416:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13748:178;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9221:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9727:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18848:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10920:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11169:317;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13356:70;;;;;;;;;;;;;:::i;:::-;;8747:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19335:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9758:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12185:499;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13434:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8961:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9014:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19864:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9379:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3322:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9269:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18740:100;18794:13;18827:5;;;;;;;;;;;;;;;;;18820:12;;18740:100;:::o;20048:226::-;20156:4;20173:13;20189:12;:10;:12::i;:::-;20173:28;;20212:32;20221:5;20228:7;20237:6;20212:8;:32::i;:::-;20262:4;20255:11;;;20048:226;;;;:::o;9105:28::-;;;;:::o;19068:108::-;19129:7;8355:2;8421;:15;;;;:::i;:::-;8405:13;:31;;;;:::i;:::-;19149:19;;19068:108;:::o;19561:295::-;19692:4;19709:15;19727:12;:10;:12::i;:::-;19709:30;;19750:38;19766:4;19772:7;19781:6;19750:15;:38::i;:::-;19799:27;19809:4;19815:2;19819:6;19799:9;:27::i;:::-;19844:4;19837:11;;;19561:295;;;;;:::o;9063:35::-;;;;;;;;;;;;;:::o;18960:100::-;19018:5;8355:2;19036:16;;18960:100;:::o;11761:106::-;2302:13;:11;:13::i;:::-;11847:12:::1;11833:11;;:26;;;;;;;;;;;;;;;;;;11761:106:::0;:::o;12692:656::-;2302:13;:11;:13::i;:::-;12820::::1;;12808:9;;:25;;;;:::i;:::-;12790:15;:43;12768:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;12892:28;12923:4;:14;;;12938:9;;;;;;;;;;;12923:25;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12892:56;;12959:20;12982:45;12994:20;8677:15;12982:45;;:11;:45::i;:::-;12959:68;;13052:12;13042:7;:22;13038:77;;;13091:12;13081:22;;13038:77;13137:15;13125:9;:27;;;;13179:1;13169:7;:11;13165:96;;;13197:52;13213:9;;;;;;;;;;;13232:6;13241:7;13197:15;:52::i;:::-;13165:96;13271:19;13308:9;;;;;;;;;;;13271:47;;13329:4;:9;;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12757:591;;;12692:656:::0;:::o;13534:206::-;2302:13;:11;:13::i;:::-;8561:15:::1;13627:20;;:9;:20;;;;13619:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;13688:7;13675:10;;:20;;;;;;;;;;;;;;;;;;13723:9;13706:14;;:26;;;;;;;;;;;;;;;;;;13534:206:::0;;:::o;8799:29::-;;;;;;;;;;;;;:::o;8914:40::-;;;;;;;;;;;;;:::o;11908:269::-;2302:13;:11;:13::i;:::-;12053:9:::1;12048:111;12072:6;:13;12068:1;:17;12048:111;;;12135:8;12111:10;:21;12122:6;12129:1;12122:9;;;;;;;;:::i;:::-;;;;;;;;12111:21;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;12087:3;;;;;;;12048:111;;;;11908:269:::0;;:::o;9447:59::-;;;;:::o;8835:26::-;;;;;;;;;;;;;:::o;19184:143::-;19274:7;19301:9;:18;19311:7;19301:18;;;;;;;;;;;;;;;;19294:25;;19184:143;;;:::o;9315:52::-;;;;:::o;3064:103::-;2302:13;:11;:13::i;:::-;3129:30:::1;3156:1;3129:18;:30::i;:::-;3064:103::o:0;8868:39::-;;;;;;;;;;;;;:::o;8718:22::-;;;;;;;;;;;;;:::o;11494:237::-;2302:13;:11;:13::i;:::-;11647:7:::1;11630:14;:24;;;;11678:11;11665:10;;:24;;;;;;;;;;;;;;;;;;11715:8;11700:12;;:23;;;;;;;;;;;;;;;;;;11494:237:::0;;;:::o;2416:87::-;2462:7;2489:6;;;;;;;;;;;2482:13;;2416:87;:::o;13748:178::-;2302:13;:11;:13::i;:::-;13822:7:::1;13809:10;;:20;;;;;;;;;;;;;;;;;;13855:4;13844:15;;:7;:15;;::::0;13840:79:::1;;13892:15;13876:13;:31;;;;13840:79;13748:178:::0;:::o;9221:41::-;;;;:::o;9727:24::-;;;;;;;;;;;;;:::o;18848:104::-;18904:13;18937:7;;;;;;;;;;;;;;;;;18930:14;;18848:104;:::o;10920:215::-;2302:13;:11;:13::i;:::-;8561:15:::1;11007:19;;:8;:19;;;;:43;;;;;8561:15;11030:20;;:9;:20;;;;11007:43;10999:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11088:8;11078:7;;:18;;;;;;;;;;;;;;;;;;11118:9;11107:8;;:20;;;;;;;;;;;;;;;;;;10920:215:::0;;:::o;11169:317::-;2302:13;:11;:13::i;:::-;8619:14:::1;11275:20;;:7;:20;;:48;;;;;8619:14;11299:24;;:11;:24;;11275:48;11253:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;11382:34;8355:2;8421;:15;;;;:::i;:::-;8405:13;:31;;;;:::i;:::-;11408:7;11382:11;:34::i;:::-;11373:6;:43;;;;11440:38;8355:2;8421;:15;;;;:::i;:::-;8405:13;:31;;;;:::i;:::-;11466:11;11440;:38::i;:::-;11427:10;:51;;;;11169:317:::0;;:::o;13356:70::-;2302:13;:11;:13::i;:::-;13406:12:::1;:10;:12::i;:::-;13356:70::o:0;8747:32::-;;;;;;;;;;;;;:::o;19335:218::-;19439:4;19456:13;19472:12;:10;:12::i;:::-;19456:28;;19495;19505:5;19512:2;19516:6;19495:9;:28::i;:::-;19541:4;19534:11;;;19335:218;;;;:::o;9758:31::-;;;;;;;;;;;;;:::o;12185:499::-;2302:13;:11;:13::i;:::-;12302::::1;12318:7;:5;:7::i;:::-;12302:23;;12366:9;12361:305;12385:6;;:13;;12381:1;:17;12361:305;;;12424:12;12439:6;;12446:1;12439:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12424:24;;12513:1;12497:18;;:4;:18;;::::0;12467:127:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12613:37;12629:5;12636:4;12642:7;12613:15;:37::i;:::-;12405:261;12400:3;;;;;;;12361:305;;;;12291:393;12185:499:::0;;;:::o;13434:92::-;2302:13;:11;:13::i;:::-;13511:7:::1;13495:13;;:23;;;;;;;;;;;;;;;;;;13434:92:::0;:::o;8961:46::-;;;;;;;;;;;;;:::o;9014:42::-;;;;;;;;;;;;;:::o;9158:::-;;;;;;;;;;;;;;;;;;;;;;:::o;19864:176::-;19978:7;20005:11;:18;20017:5;20005:18;;;;;;;;;;;;;;;:27;20024:7;20005:27;;;;;;;;;;;;;;;;19998:34;;19864:176;;;;:::o;9379:56::-;;;;:::o;3322:238::-;2302:13;:11;:13::i;:::-;3445:1:::1;3425:22;;:8;:22;;::::0;3403:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3524:28;3543:8;3524:18;:28::i;:::-;3322:238:::0;:::o;9269:24::-;;;;:::o;1100:98::-;1153:7;1180:10;1173:17;;1100:98;:::o;20282:380::-;20435:1;20418:19;;:5;:19;;;20410:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20516:1;20497:21;;:7;:21;;;20489:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20600:6;20570:11;:18;20582:5;20570:18;;;;;;;;;;;;;;;:27;20589:7;20570:27;;;;;;;;;;;;;;;:36;;;;20638:7;20622:32;;20631:5;20622:32;;;20647:6;20622:32;;;;;;:::i;:::-;;;;;;;;20282:380;;;:::o;20670:502::-;20805:24;20832:25;20842:5;20849:7;20832:9;:25::i;:::-;20805:52;;20892:17;20872:16;:37;20868:297;;20972:6;20952:16;:26;;20926:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;21087:51;21096:5;21103:7;21131:6;21112:16;:25;21087:8;:51::i;:::-;20868:297;20794:378;20670:502;;;:::o;14767:2022::-;14872:1;14856:18;;:4;:18;;;14848:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14949:1;14935:16;;:2;:16;;;14927:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15019:1;15010:6;:10;15002:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15140:7;:5;:7::i;:::-;15132:15;;:4;:15;;;:32;;;;15157:7;:5;:7::i;:::-;15151:13;;:2;:13;;;15132:32;:57;;;;15184:4;15168:21;;:4;:21;;;15132:57;15128:144;;;15206:33;15222:4;15228:2;15232:6;15206:15;:33::i;:::-;15254:7;;15128:144;15329:10;;;;;;;;;;;15321:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;15399:12;:10;:12::i;:::-;15424:18;15457:10;15478:9;;;;;;;;;;;15470:17;;:4;:17;;;15457:30;;15505:5;15500:78;;15554:12;:10;:12::i;:::-;15500:78;15650:5;15646:382;;;15677:10;:14;15688:2;15677:14;;;;;;;;;;;;;;;;;;;;;;;;;15672:97;;15725:28;15737:6;15745:7;;;;;;;;;;;15725:28;;:11;:28::i;:::-;15712:41;;15672:97;15646:382;;;15831:10;:16;15842:4;15831:16;;;;;;;;;;;;;;;;;;;;;;;;;15826:191;;15881:120;15915:6;15944:10;;;;;;;;;;;:38;;15974:8;;;;;;;;;;;15944:38;;;15957:14;;;;;;;;;;;15944:38;15881:120;;:11;:120::i;:::-;15868:133;;15826:191;15646:382;16103:10;16093:6;:20;;16085:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;16161:10;16151:20;;;;16222:13;;;;;;;;;;;16218:345;;;16297:6;;16287;:16;;16279:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;16378:9;;;;;;;;;;;16372:15;;:2;:15;;;16368:184;;16464:10;;16454:6;16438:9;:13;16448:2;16438:13;;;;;;;;;;;;;;;;:22;;;;:::i;:::-;:36;;16408:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;16368:184;16218:345;16633:1;16620:10;:14;16616:95;;;16651:48;16667:4;16681;16688:10;16651:15;:48::i;:::-;16616:95;16748:33;16764:4;16770:2;16774:6;16748:15;:33::i;:::-;14837:1952;;14767:2022;;;;:::o;2581:132::-;2656:12;:10;:12::i;:::-;2645:23;;:7;:5;:7::i;:::-;:23;;;2637:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2581:132::o;9832:173::-;9934:7;8484:13;9961:36;;9971:8;9962:6;:17;;;;:::i;:::-;9961:36;;;;:::i;:::-;9954:43;;9832:173;;;;:::o;21180:626::-;21309:19;21331:9;:15;21341:4;21331:15;;;;;;;;;;;;;;;;21309:37;;21394:6;21379:11;:21;;21357:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;21534:6;21520:11;:20;21502:9;:15;21512:4;21502:15;;;;;;;;;;;;;;;:38;;;;21737:6;21720:9;:13;21730:2;21720:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;21787:2;21772:26;;21781:4;21772:26;;;21791:6;21772:26;;;;;;:::i;:::-;;;;;;;;21298:508;21180:626;;;:::o;3720:191::-;3794:16;3813:6;;;;;;;;;;;3794:25;;3839:8;3830:6;;:17;;;;;;;;;;;;;;;;;;3894:8;3863:40;;3884:8;3863:40;;;;;;;;;;;;3783:128;3720:191;:::o;16797:436::-;16838:21;16862:24;16880:4;16862:9;:24::i;:::-;16838:48;;16897:13;16930:14;;16913:13;:31;;16897:47;;16961:8;:19;;;;;16974:6;;;;;;;;;;;16973:7;16961:19;:35;;;;;16984:12;;;;;;;;;;;16961:35;16957:269;;;17013:32;17030:14;;17013:16;:32::i;:::-;17060:19;17082:21;17060:43;;17136:7;17122:11;:21;17118:97;;;17164:35;17177:21;17164:12;:35::i;:::-;17118:97;16998:228;16957:269;16827:406;;16797:436::o;13934:812::-;14040:16;;;;;;;;;;;:62;;;;;14095:7;14079:13;;:23;;;;:::i;:::-;14060:15;:42;;14040:62;14036:703;;;14204:9;14188:13;;:25;;;;:::i;:::-;14169:15;:44;14165:396;;14254:15;14244:7;;;;;;;;;;;:25;;;:112;;14342:14;14244:112;;;14303:15;14293:7;;;;;;;;;;;:25;;;;:::i;:::-;14244:112;14234:7;;:122;;;;;;;;;;;;;;;;;;14397:15;14386:8;;;;;;;;;;;:26;;;:114;;14486:14;14386:114;;;14447:15;14436:8;;;;;;;;;;;:26;;;;:::i;:::-;14386:114;14375:8;;:125;;;;;;;;;;;;;;;;;;14536:9;14519:13;;:26;;;;;;;:::i;:::-;;;;;;;;14165:396;14660:7;14644:13;;:23;;;;:::i;:::-;14625:15;:42;14621:107;;14707:5;14688:16;;:24;;;;;;;;;;;;;;;;;;14621:107;14036:703;13934:812::o;17241:784::-;10090:4;10081:6;;:13;;;;;;;;;;;;;;;;;;17315:14:::1;17332:49;17344:7;17370:10;;;;;;;;;;;8484:13;17353:27;;;;:::i;:::-;17332:49;;:11;:49::i;:::-;17315:66;;17392:14;17419:6;17409:7;:16;;;;:::i;:::-;17392:33;;17436:22;17461:21;17436:46;;17495:21;17533:1;17519:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17495:40;;17564:4;17546;17551:1;17546:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;17590:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17580:4;17585:1;17580:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;17623:58;17640:4;17655:15;;;;;;;;;;;17673:7;17623:8;:58::i;:::-;17692:15;;;;;;;;;;;:66;;;17773:6;17794:1;17810:4;17837;17857:15;17692:191;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;17894:15;17936:14;17912:21;:38;;;;:::i;:::-;17894:56;;17963:54;17976:6;17984:32;17996:7;18005:10;;;;;;;;;;;17984:32;;:11;:32::i;:::-;17963:12;:54::i;:::-;17304:721;;;;;10126:5:::0;10117:6;;:14;;;;;;;;;;;;;;;;;;17241:784;:::o;18033:174::-;18092:12;18110:11;;;;;;;;;;;:16;;18134:7;18153:1;18143:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18110:46;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18091:65;;;18175:7;18167:32;;;;;;;;;;;;:::i;:::-;;;;;;;;;18080:127;18033:174;:::o;18215:504::-;18359:58;18376:4;18391:15;;;;;;;;;;;18409:7;18359:8;:58::i;:::-;18460:15;;;;;;;;;;;:31;;;18499:9;18532:4;18552:7;18574:1;18617;18668;18685:15;18460:251;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18215:504;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:116::-;5593:21;5608:5;5593:21;:::i;:::-;5586:5;5583:32;5573:60;;5629:1;5626;5619:12;5573:60;5523:116;:::o;5645:133::-;5688:5;5726:6;5713:20;5704:29;;5742:30;5766:5;5742:30;:::i;:::-;5645:133;;;;:::o;5784:93::-;5820:7;5860:10;5853:5;5849:22;5838:33;;5784:93;;;:::o;5883:120::-;5955:23;5972:5;5955:23;:::i;:::-;5948:5;5945:34;5935:62;;5993:1;5990;5983:12;5935:62;5883:120;:::o;6009:137::-;6054:5;6092:6;6079:20;6070:29;;6108:32;6134:5;6108:32;:::i;:::-;6009:137;;;;:::o;6152:466::-;6216:6;6224;6273:2;6261:9;6252:7;6248:23;6244:32;6241:119;;;6279:79;;:::i;:::-;6241:119;6399:1;6424:50;6466:7;6457:6;6446:9;6442:22;6424:50;:::i;:::-;6414:60;;6370:114;6523:2;6549:52;6593:7;6584:6;6573:9;6569:22;6549:52;:::i;:::-;6539:62;;6494:117;6152:466;;;;;:::o;6624:115::-;6709:23;6726:5;6709:23;:::i;:::-;6704:3;6697:36;6624:115;;:::o;6745:218::-;6836:4;6874:2;6863:9;6859:18;6851:26;;6887:69;6953:1;6942:9;6938:17;6929:6;6887:69;:::i;:::-;6745:218;;;;:::o;6969:117::-;7078:1;7075;7068:12;7092:180;7140:77;7137:1;7130:88;7237:4;7234:1;7227:15;7261:4;7258:1;7251:15;7278:281;7361:27;7383:4;7361:27;:::i;:::-;7353:6;7349:40;7491:6;7479:10;7476:22;7455:18;7443:10;7440:34;7437:62;7434:88;;;7502:18;;:::i;:::-;7434:88;7542:10;7538:2;7531:22;7321:238;7278:281;;:::o;7565:129::-;7599:6;7626:20;;:::i;:::-;7616:30;;7655:33;7683:4;7675:6;7655:33;:::i;:::-;7565:129;;;:::o;7700:311::-;7777:4;7867:18;7859:6;7856:30;7853:56;;;7889:18;;:::i;:::-;7853:56;7939:4;7931:6;7927:17;7919:25;;7999:4;7993;7989:15;7981:23;;7700:311;;;:::o;8017:117::-;8126:1;8123;8116:12;8157:710;8253:5;8278:81;8294:64;8351:6;8294:64;:::i;:::-;8278:81;:::i;:::-;8269:90;;8379:5;8408:6;8401:5;8394:21;8442:4;8435:5;8431:16;8424:23;;8495:4;8487:6;8483:17;8475:6;8471:30;8524:3;8516:6;8513:15;8510:122;;;8543:79;;:::i;:::-;8510:122;8658:6;8641:220;8675:6;8670:3;8667:15;8641:220;;;8750:3;8779:37;8812:3;8800:10;8779:37;:::i;:::-;8774:3;8767:50;8846:4;8841:3;8837:14;8830:21;;8717:144;8701:4;8696:3;8692:14;8685:21;;8641:220;;;8645:21;8259:608;;8157:710;;;;;:::o;8890:370::-;8961:5;9010:3;9003:4;8995:6;8991:17;8987:27;8977:122;;9018:79;;:::i;:::-;8977:122;9135:6;9122:20;9160:94;9250:3;9242:6;9235:4;9227:6;9223:17;9160:94;:::i;:::-;9151:103;;8967:293;8890:370;;;;:::o;9266:678::-;9356:6;9364;9413:2;9401:9;9392:7;9388:23;9384:32;9381:119;;;9419:79;;:::i;:::-;9381:119;9567:1;9556:9;9552:17;9539:31;9597:18;9589:6;9586:30;9583:117;;;9619:79;;:::i;:::-;9583:117;9724:78;9794:7;9785:6;9774:9;9770:22;9724:78;:::i;:::-;9714:88;;9510:302;9851:2;9877:50;9919:7;9910:6;9899:9;9895:22;9877:50;:::i;:::-;9867:60;;9822:115;9266:678;;;;;:::o;9950:118::-;10037:24;10055:5;10037:24;:::i;:::-;10032:3;10025:37;9950:118;;:::o;10074:222::-;10167:4;10205:2;10194:9;10190:18;10182:26;;10218:71;10286:1;10275:9;10271:17;10262:6;10218:71;:::i;:::-;10074:222;;;;:::o;10302:611::-;10375:6;10383;10391;10440:2;10428:9;10419:7;10415:23;10411:32;10408:119;;;10446:79;;:::i;:::-;10408:119;10566:1;10591:53;10636:7;10627:6;10616:9;10612:22;10591:53;:::i;:::-;10581:63;;10537:117;10693:2;10719:52;10763:7;10754:6;10743:9;10739:22;10719:52;:::i;:::-;10709:62;;10664:117;10820:2;10846:50;10888:7;10879:6;10868:9;10864:22;10846:50;:::i;:::-;10836:60;;10791:115;10302:611;;;;;:::o;10919:323::-;10975:6;11024:2;11012:9;11003:7;10999:23;10995:32;10992:119;;;11030:79;;:::i;:::-;10992:119;11150:1;11175:50;11217:7;11208:6;11197:9;11193:22;11175:50;:::i;:::-;11165:60;;11121:114;10919:323;;;;:::o;11248:470::-;11314:6;11322;11371:2;11359:9;11350:7;11346:23;11342:32;11339:119;;;11377:79;;:::i;:::-;11339:119;11497:1;11522:52;11566:7;11557:6;11546:9;11542:22;11522:52;:::i;:::-;11512:62;;11468:116;11623:2;11649:52;11693:7;11684:6;11673:9;11669:22;11649:52;:::i;:::-;11639:62;;11594:117;11248:470;;;;;:::o;11724:474::-;11792:6;11800;11849:2;11837:9;11828:7;11824:23;11820:32;11817:119;;;11855:79;;:::i;:::-;11817:119;11975:1;12000:53;12045:7;12036:6;12025:9;12021:22;12000:53;:::i;:::-;11990:63;;11946:117;12102:2;12128:53;12173:7;12164:6;12153:9;12149:22;12128:53;:::i;:::-;12118:63;;12073:118;11724:474;;;;;:::o;12204:117::-;12313:1;12310;12303:12;12344:568;12417:8;12427:6;12477:3;12470:4;12462:6;12458:17;12454:27;12444:122;;12485:79;;:::i;:::-;12444:122;12598:6;12585:20;12575:30;;12628:18;12620:6;12617:30;12614:117;;;12650:79;;:::i;:::-;12614:117;12764:4;12756:6;12752:17;12740:29;;12818:3;12810:4;12802:6;12798:17;12788:8;12784:32;12781:41;12778:128;;;12825:79;;:::i;:::-;12778:128;12344:568;;;;;:::o;12918:704::-;13013:6;13021;13029;13078:2;13066:9;13057:7;13053:23;13049:32;13046:119;;;13084:79;;:::i;:::-;13046:119;13232:1;13221:9;13217:17;13204:31;13262:18;13254:6;13251:30;13248:117;;;13284:79;;:::i;:::-;13248:117;13397:80;13469:7;13460:6;13449:9;13445:22;13397:80;:::i;:::-;13379:98;;;;13175:312;13526:2;13552:53;13597:7;13588:6;13577:9;13573:22;13552:53;:::i;:::-;13542:63;;13497:118;12918:704;;;;;:::o;13628:474::-;13696:6;13704;13753:2;13741:9;13732:7;13728:23;13724:32;13721:119;;;13759:79;;:::i;:::-;13721:119;13879:1;13904:53;13949:7;13940:6;13929:9;13925:22;13904:53;:::i;:::-;13894:63;;13850:117;14006:2;14032:53;14077:7;14068:6;14057:9;14053:22;14032:53;:::i;:::-;14022:63;;13977:118;13628:474;;;;;:::o;14108:180::-;14156:77;14153:1;14146:88;14253:4;14250:1;14243:15;14277:4;14274:1;14267:15;14294:102;14336:8;14383:5;14380:1;14376:13;14355:34;;14294:102;;;:::o;14402:848::-;14463:5;14470:4;14494:6;14485:15;;14518:5;14509:14;;14532:712;14553:1;14543:8;14540:15;14532:712;;;14648:4;14643:3;14639:14;14633:4;14630:24;14627:50;;;14657:18;;:::i;:::-;14627:50;14707:1;14697:8;14693:16;14690:451;;;15122:4;15115:5;15111:16;15102:25;;14690:451;15172:4;15166;15162:15;15154:23;;15202:32;15225:8;15202:32;:::i;:::-;15190:44;;14532:712;;;14402:848;;;;;;;:::o;15256:1073::-;15310:5;15501:8;15491:40;;15522:1;15513:10;;15524:5;;15491:40;15550:4;15540:36;;15567:1;15558:10;;15569:5;;15540:36;15636:4;15684:1;15679:27;;;;15720:1;15715:191;;;;15629:277;;15679:27;15697:1;15688:10;;15699:5;;;15715:191;15760:3;15750:8;15747:17;15744:43;;;15767:18;;:::i;:::-;15744:43;15816:8;15813:1;15809:16;15800:25;;15851:3;15844:5;15841:14;15838:40;;;15858:18;;:::i;:::-;15838:40;15891:5;;;15629:277;;16015:2;16005:8;16002:16;15996:3;15990:4;15987:13;15983:36;15965:2;15955:8;15952:16;15947:2;15941:4;15938:12;15934:35;15918:111;15915:246;;;16071:8;16065:4;16061:19;16052:28;;16106:3;16099:5;16096:14;16093:40;;;16113:18;;:::i;:::-;16093:40;16146:5;;15915:246;16186:42;16224:3;16214:8;16208:4;16205:1;16186:42;:::i;:::-;16171:57;;;;16260:4;16255:3;16251:14;16244:5;16241:25;16238:51;;;16269:18;;:::i;:::-;16238:51;16318:4;16311:5;16307:16;16298:25;;15256:1073;;;;;;:::o;16335:281::-;16393:5;16417:23;16435:4;16417:23;:::i;:::-;16409:31;;16461:25;16477:8;16461:25;:::i;:::-;16449:37;;16505:104;16542:66;16532:8;16526:4;16505:104;:::i;:::-;16496:113;;16335:281;;;;:::o;16622:410::-;16662:7;16685:20;16703:1;16685:20;:::i;:::-;16680:25;;16719:20;16737:1;16719:20;:::i;:::-;16714:25;;16774:1;16771;16767:9;16796:30;16814:11;16796:30;:::i;:::-;16785:41;;16975:1;16966:7;16962:15;16959:1;16956:22;16936:1;16929:9;16909:83;16886:139;;17005:18;;:::i;:::-;16886:139;16670:362;16622:410;;;;:::o;17038:191::-;17078:3;17097:20;17115:1;17097:20;:::i;:::-;17092:25;;17131:20;17149:1;17131:20;:::i;:::-;17126:25;;17174:1;17171;17167:9;17160:16;;17195:3;17192:1;17189:10;17186:36;;;17202:18;;:::i;:::-;17186:36;17038:191;;;;:::o;17235:170::-;17375:22;17371:1;17363:6;17359:14;17352:46;17235:170;:::o;17411:366::-;17553:3;17574:67;17638:2;17633:3;17574:67;:::i;:::-;17567:74;;17650:93;17739:3;17650:93;:::i;:::-;17768:2;17763:3;17759:12;17752:19;;17411:366;;;:::o;17783:419::-;17949:4;17987:2;17976:9;17972:18;17964:26;;18036:9;18030:4;18026:20;18022:1;18011:9;18007:17;18000:47;18064:131;18190:4;18064:131;:::i;:::-;18056:139;;17783:419;;;:::o;18208:143::-;18265:5;18296:6;18290:13;18281:22;;18312:33;18339:5;18312:33;:::i;:::-;18208:143;;;;:::o;18357:351::-;18427:6;18476:2;18464:9;18455:7;18451:23;18447:32;18444:119;;;18482:79;;:::i;:::-;18444:119;18602:1;18627:64;18683:7;18674:6;18663:9;18659:22;18627:64;:::i;:::-;18617:74;;18573:128;18357:351;;;;:::o;18714:162::-;18854:14;18850:1;18842:6;18838:14;18831:38;18714:162;:::o;18882:366::-;19024:3;19045:67;19109:2;19104:3;19045:67;:::i;:::-;19038:74;;19121:93;19210:3;19121:93;:::i;:::-;19239:2;19234:3;19230:12;19223:19;;18882:366;;;:::o;19254:419::-;19420:4;19458:2;19447:9;19443:18;19435:26;;19507:9;19501:4;19497:20;19493:1;19482:9;19478:17;19471:47;19535:131;19661:4;19535:131;:::i;:::-;19527:139;;19254:419;;;:::o;19679:180::-;19727:77;19724:1;19717:88;19824:4;19821:1;19814:15;19848:4;19845:1;19838:15;19865:161;20005:13;20001:1;19993:6;19989:14;19982:37;19865:161;:::o;20032:366::-;20174:3;20195:67;20259:2;20254:3;20195:67;:::i;:::-;20188:74;;20271:93;20360:3;20271:93;:::i;:::-;20389:2;20384:3;20380:12;20373:19;;20032:366;;;:::o;20404:419::-;20570:4;20608:2;20597:9;20593:18;20585:26;;20657:9;20651:4;20647:20;20643:1;20632:9;20628:17;20621:47;20685:131;20811:4;20685:131;:::i;:::-;20677:139;;20404:419;;;:::o;20829:222::-;20969:34;20965:1;20957:6;20953:14;20946:58;21038:5;21033:2;21025:6;21021:15;21014:30;20829:222;:::o;21057:366::-;21199:3;21220:67;21284:2;21279:3;21220:67;:::i;:::-;21213:74;;21296:93;21385:3;21296:93;:::i;:::-;21414:2;21409:3;21405:12;21398:19;;21057:366;;;:::o;21429:419::-;21595:4;21633:2;21622:9;21618:18;21610:26;;21682:9;21676:4;21672:20;21668:1;21657:9;21653:17;21646:47;21710:131;21836:4;21710:131;:::i;:::-;21702:139;;21429:419;;;:::o;21854:225::-;21994:34;21990:1;21982:6;21978:14;21971:58;22063:8;22058:2;22050:6;22046:15;22039:33;21854:225;:::o;22085:366::-;22227:3;22248:67;22312:2;22307:3;22248:67;:::i;:::-;22241:74;;22324:93;22413:3;22324:93;:::i;:::-;22442:2;22437:3;22433:12;22426:19;;22085:366;;;:::o;22457:419::-;22623:4;22661:2;22650:9;22646:18;22638:26;;22710:9;22704:4;22700:20;22696:1;22685:9;22681:17;22674:47;22738:131;22864:4;22738:131;:::i;:::-;22730:139;;22457:419;;;:::o;22882:223::-;23022:34;23018:1;23010:6;23006:14;22999:58;23091:6;23086:2;23078:6;23074:15;23067:31;22882:223;:::o;23111:366::-;23253:3;23274:67;23338:2;23333:3;23274:67;:::i;:::-;23267:74;;23350:93;23439:3;23350:93;:::i;:::-;23468:2;23463:3;23459:12;23452:19;;23111:366;;;:::o;23483:419::-;23649:4;23687:2;23676:9;23672:18;23664:26;;23736:9;23730:4;23726:20;23722:1;23711:9;23707:17;23700:47;23764:131;23890:4;23764:131;:::i;:::-;23756:139;;23483:419;;;:::o;23908:221::-;24048:34;24044:1;24036:6;24032:14;24025:58;24117:4;24112:2;24104:6;24100:15;24093:29;23908:221;:::o;24135:366::-;24277:3;24298:67;24362:2;24357:3;24298:67;:::i;:::-;24291:74;;24374:93;24463:3;24374:93;:::i;:::-;24492:2;24487:3;24483:12;24476:19;;24135:366;;;:::o;24507:419::-;24673:4;24711:2;24700:9;24696:18;24688:26;;24760:9;24754:4;24750:20;24746:1;24735:9;24731:17;24724:47;24788:131;24914:4;24788:131;:::i;:::-;24780:139;;24507:419;;;:::o;24932:179::-;25072:31;25068:1;25060:6;25056:14;25049:55;24932:179;:::o;25117:366::-;25259:3;25280:67;25344:2;25339:3;25280:67;:::i;:::-;25273:74;;25356:93;25445:3;25356:93;:::i;:::-;25474:2;25469:3;25465:12;25458:19;;25117:366;;;:::o;25489:419::-;25655:4;25693:2;25682:9;25678:18;25670:26;;25742:9;25736:4;25732:20;25728:1;25717:9;25713:17;25706:47;25770:131;25896:4;25770:131;:::i;:::-;25762:139;;25489:419;;;:::o;25914:224::-;26054:34;26050:1;26042:6;26038:14;26031:58;26123:7;26118:2;26110:6;26106:15;26099:32;25914:224;:::o;26144:366::-;26286:3;26307:67;26371:2;26366:3;26307:67;:::i;:::-;26300:74;;26383:93;26472:3;26383:93;:::i;:::-;26501:2;26496:3;26492:12;26485:19;;26144:366;;;:::o;26516:419::-;26682:4;26720:2;26709:9;26705:18;26697:26;;26769:9;26763:4;26759:20;26755:1;26744:9;26740:17;26733:47;26797:131;26923:4;26797:131;:::i;:::-;26789:139;;26516:419;;;:::o;26941:228::-;27081:34;27077:1;27069:6;27065:14;27058:58;27150:11;27145:2;27137:6;27133:15;27126:36;26941:228;:::o;27175:366::-;27317:3;27338:67;27402:2;27397:3;27338:67;:::i;:::-;27331:74;;27414:93;27503:3;27414:93;:::i;:::-;27532:2;27527:3;27523:12;27516:19;;27175:366;;;:::o;27547:419::-;27713:4;27751:2;27740:9;27736:18;27728:26;;27800:9;27794:4;27790:20;27786:1;27775:9;27771:17;27764:47;27828:131;27954:4;27828:131;:::i;:::-;27820:139;;27547:419;;;:::o;27972:169::-;28112:21;28108:1;28100:6;28096:14;28089:45;27972:169;:::o;28147:366::-;28289:3;28310:67;28374:2;28369:3;28310:67;:::i;:::-;28303:74;;28386:93;28475:3;28386:93;:::i;:::-;28504:2;28499:3;28495:12;28488:19;;28147:366;;;:::o;28519:419::-;28685:4;28723:2;28712:9;28708:18;28700:26;;28772:9;28766:4;28762:20;28758:1;28747:9;28743:17;28736:47;28800:131;28926:4;28800:131;:::i;:::-;28792:139;;28519:419;;;:::o;28944:168::-;29084:20;29080:1;29072:6;29068:14;29061:44;28944:168;:::o;29118:366::-;29260:3;29281:67;29345:2;29340:3;29281:67;:::i;:::-;29274:74;;29357:93;29446:3;29357:93;:::i;:::-;29475:2;29470:3;29466:12;29459:19;;29118:366;;;:::o;29490:419::-;29656:4;29694:2;29683:9;29679:18;29671:26;;29743:9;29737:4;29733:20;29729:1;29718:9;29714:17;29707:47;29771:131;29897:4;29771:131;:::i;:::-;29763:139;;29490:419;;;:::o;29915:164::-;30055:16;30051:1;30043:6;30039:14;30032:40;29915:164;:::o;30085:366::-;30227:3;30248:67;30312:2;30307:3;30248:67;:::i;:::-;30241:74;;30324:93;30413:3;30324:93;:::i;:::-;30442:2;30437:3;30433:12;30426:19;;30085:366;;;:::o;30457:419::-;30623:4;30661:2;30650:9;30646:18;30638:26;;30710:9;30704:4;30700:20;30696:1;30685:9;30681:17;30674:47;30738:131;30864:4;30738:131;:::i;:::-;30730:139;;30457:419;;;:::o;30882:168::-;31022:20;31018:1;31010:6;31006:14;30999:44;30882:168;:::o;31056:366::-;31198:3;31219:67;31283:2;31278:3;31219:67;:::i;:::-;31212:74;;31295:93;31384:3;31295:93;:::i;:::-;31413:2;31408:3;31404:12;31397:19;;31056:366;;;:::o;31428:419::-;31594:4;31632:2;31621:9;31617:18;31609:26;;31681:9;31675:4;31671:20;31667:1;31656:9;31652:17;31645:47;31709:131;31835:4;31709:131;:::i;:::-;31701:139;;31428:419;;;:::o;31853:182::-;31993:34;31989:1;31981:6;31977:14;31970:58;31853:182;:::o;32041:366::-;32183:3;32204:67;32268:2;32263:3;32204:67;:::i;:::-;32197:74;;32280:93;32369:3;32280:93;:::i;:::-;32398:2;32393:3;32389:12;32382:19;;32041:366;;;:::o;32413:419::-;32579:4;32617:2;32606:9;32602:18;32594:26;;32666:9;32660:4;32656:20;32652:1;32641:9;32637:17;32630:47;32694:131;32820:4;32694:131;:::i;:::-;32686:139;;32413:419;;;:::o;32838:180::-;32886:77;32883:1;32876:88;32983:4;32980:1;32973:15;33007:4;33004:1;32997:15;33024:185;33064:1;33081:20;33099:1;33081:20;:::i;:::-;33076:25;;33115:20;33133:1;33115:20;:::i;:::-;33110:25;;33154:1;33144:35;;33159:18;;:::i;:::-;33144:35;33201:1;33198;33194:9;33189:14;;33024:185;;;;:::o;33215:225::-;33355:34;33351:1;33343:6;33339:14;33332:58;33424:8;33419:2;33411:6;33407:15;33400:33;33215:225;:::o;33446:366::-;33588:3;33609:67;33673:2;33668:3;33609:67;:::i;:::-;33602:74;;33685:93;33774:3;33685:93;:::i;:::-;33803:2;33798:3;33794:12;33787:19;;33446:366;;;:::o;33818:419::-;33984:4;34022:2;34011:9;34007:18;33999:26;;34071:9;34065:4;34061:20;34057:1;34046:9;34042:17;34035:47;34099:131;34225:4;34099:131;:::i;:::-;34091:139;;33818:419;;;:::o;34243:200::-;34282:4;34302:19;34319:1;34302:19;:::i;:::-;34297:24;;34335:19;34352:1;34335:19;:::i;:::-;34330:24;;34378:1;34375;34371:9;34363:17;;34402:10;34396:4;34393:20;34390:46;;;34416:18;;:::i;:::-;34390:46;34243:200;;;;:::o;34449:194::-;34489:4;34509:20;34527:1;34509:20;:::i;:::-;34504:25;;34543:20;34561:1;34543:20;:::i;:::-;34538:25;;34587:1;34584;34580:9;34572:17;;34611:1;34605:4;34602:11;34599:37;;;34616:18;;:::i;:::-;34599:37;34449:194;;;;:::o;34649:143::-;34706:5;34737:6;34731:13;34722:22;;34753:33;34780:5;34753:33;:::i;:::-;34649:143;;;;:::o;34798:351::-;34868:6;34917:2;34905:9;34896:7;34892:23;34888:32;34885:119;;;34923:79;;:::i;:::-;34885:119;35043:1;35068:64;35124:7;35115:6;35104:9;35100:22;35068:64;:::i;:::-;35058:74;;35014:128;34798:351;;;;:::o;35155:85::-;35200:7;35229:5;35218:16;;35155:85;;;:::o;35246:60::-;35274:3;35295:5;35288:12;;35246:60;;;:::o;35312:158::-;35370:9;35403:61;35421:42;35430:32;35456:5;35430:32;:::i;:::-;35421:42;:::i;:::-;35403:61;:::i;:::-;35390:74;;35312:158;;;:::o;35476:147::-;35571:45;35610:5;35571:45;:::i;:::-;35566:3;35559:58;35476:147;;:::o;35629:114::-;35696:6;35730:5;35724:12;35714:22;;35629:114;;;:::o;35749:184::-;35848:11;35882:6;35877:3;35870:19;35922:4;35917:3;35913:14;35898:29;;35749:184;;;;:::o;35939:132::-;36006:4;36029:3;36021:11;;36059:4;36054:3;36050:14;36042:22;;35939:132;;;:::o;36077:108::-;36154:24;36172:5;36154:24;:::i;:::-;36149:3;36142:37;36077:108;;:::o;36191:179::-;36260:10;36281:46;36323:3;36315:6;36281:46;:::i;:::-;36359:4;36354:3;36350:14;36336:28;;36191:179;;;;:::o;36376:113::-;36446:4;36478;36473:3;36469:14;36461:22;;36376:113;;;:::o;36525:732::-;36644:3;36673:54;36721:5;36673:54;:::i;:::-;36743:86;36822:6;36817:3;36743:86;:::i;:::-;36736:93;;36853:56;36903:5;36853:56;:::i;:::-;36932:7;36963:1;36948:284;36973:6;36970:1;36967:13;36948:284;;;37049:6;37043:13;37076:63;37135:3;37120:13;37076:63;:::i;:::-;37069:70;;37162:60;37215:6;37162:60;:::i;:::-;37152:70;;37008:224;36995:1;36992;36988:9;36983:14;;36948:284;;;36952:14;37248:3;37241:10;;36649:608;;;36525:732;;;;:::o;37263:831::-;37526:4;37564:3;37553:9;37549:19;37541:27;;37578:71;37646:1;37635:9;37631:17;37622:6;37578:71;:::i;:::-;37659:80;37735:2;37724:9;37720:18;37711:6;37659:80;:::i;:::-;37786:9;37780:4;37776:20;37771:2;37760:9;37756:18;37749:48;37814:108;37917:4;37908:6;37814:108;:::i;:::-;37806:116;;37932:72;38000:2;37989:9;37985:18;37976:6;37932:72;:::i;:::-;38014:73;38082:3;38071:9;38067:19;38058:6;38014:73;:::i;:::-;37263:831;;;;;;;;:::o;38100:98::-;38151:6;38185:5;38179:12;38169:22;;38100:98;;;:::o;38204:147::-;38305:11;38342:3;38327:18;;38204:147;;;;:::o;38357:386::-;38461:3;38489:38;38521:5;38489:38;:::i;:::-;38543:88;38624:6;38619:3;38543:88;:::i;:::-;38536:95;;38640:65;38698:6;38693:3;38686:4;38679:5;38675:16;38640:65;:::i;:::-;38730:6;38725:3;38721:16;38714:23;;38465:278;38357:386;;;;:::o;38749:271::-;38879:3;38901:93;38990:3;38981:6;38901:93;:::i;:::-;38894:100;;39011:3;39004:10;;38749:271;;;;:::o;39026:162::-;39166:14;39162:1;39154:6;39150:14;39143:38;39026:162;:::o;39194:366::-;39336:3;39357:67;39421:2;39416:3;39357:67;:::i;:::-;39350:74;;39433:93;39522:3;39433:93;:::i;:::-;39551:2;39546:3;39542:12;39535:19;;39194:366;;;:::o;39566:419::-;39732:4;39770:2;39759:9;39755:18;39747:26;;39819:9;39813:4;39809:20;39805:1;39794:9;39790:17;39783:47;39847:131;39973:4;39847:131;:::i;:::-;39839:139;;39566:419;;;:::o;39991:807::-;40240:4;40278:3;40267:9;40263:19;40255:27;;40292:71;40360:1;40349:9;40345:17;40336:6;40292:71;:::i;:::-;40373:72;40441:2;40430:9;40426:18;40417:6;40373:72;:::i;:::-;40455:80;40531:2;40520:9;40516:18;40507:6;40455:80;:::i;:::-;40545;40621:2;40610:9;40606:18;40597:6;40545:80;:::i;:::-;40635:73;40703:3;40692:9;40688:19;40679:6;40635:73;:::i;:::-;40718;40786:3;40775:9;40771:19;40762:6;40718:73;:::i;:::-;39991:807;;;;;;;;;:::o;40804:663::-;40892:6;40900;40908;40957:2;40945:9;40936:7;40932:23;40928:32;40925:119;;;40963:79;;:::i;:::-;40925:119;41083:1;41108:64;41164:7;41155:6;41144:9;41140:22;41108:64;:::i;:::-;41098:74;;41054:128;41221:2;41247:64;41303:7;41294:6;41283:9;41279:22;41247:64;:::i;:::-;41237:74;;41192:129;41360:2;41386:64;41442:7;41433:6;41422:9;41418:22;41386:64;:::i;:::-;41376:74;;41331:129;40804:663;;;;;:::o

Swarm Source

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