ETH Price: $2,489.10 (-0.85%)

Token

Gobble (Gobble)
 

Overview

Max Total Supply

4,200,000,000 Gobble

Holders

112

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.608130811210490477 Gobble

Value
$0.00
0x94d0f8dc4adda372f6fd75d38e19bbc7156658e4
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
Gobble

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-07-03
*/

// SPDX-License-Identifier: MIT

// Twitter: https://twitter.com/gobblegame
// Telegram: t.me/GobbleGame
// Website: GOBBLE.GG 

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 Gobble is IERC20Metadata, Ownable {
    //Constants
    string private constant _name = "Gobble";
    string private constant _symbol = "Gobble";
    uint8 private constant _decimals = 18;
    uint256 internal constant _totalSupply = 4_200_000_000 * 10 ** _decimals;
    uint32 private constant percent_helper = 100 * 10 ** 2;

    //Settings limits
    uint32 private constant max_fee = 100 * 10 ** 2;
    uint32 private constant burn_limit = 10.00 * 10 ** 2;
 
    //OpenTrade
    bool public trade_open;
    bool public limits_active = false;
 
    address public marketingWallet;
    address public tournamentWallet;
 
    uint32 public fee_buy = 30.00 * 10 ** 2;
    uint32 public fee_sell = 30.00 * 10 ** 2;
    bool public updateFeesActive = true;
    uint256 public tradeOpenTime;
 
    struct FeeDistribution {
        uint32 liqPoolPercent;
        uint32 marketingPercent;
        uint32 tournamentPercent;
 
    }
 
    FeeDistribution public _feeTaxes = FeeDistribution({
        liqPoolPercent: 10.00 * 10**2,
        marketingPercent: 10.00 * 10**2,
        tournamentPercent: 10.00 * 10**2
    });
 
    //Ignore fee
    mapping(address => bool) public ignore_fee;
 
    //Burn
    uint256 public burn_cooldown = 30 minutes;
    uint256 public burn_last;
 
    //Maxes
    uint256 public max_tx = 84_000_000 * 10 ** _decimals; //2%
    uint256 public swap_at_amount = 84_000_000 * 10 ** _decimals; //2%
 
    //ERC20
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
 
    //Router
    IUniswapV2Router02 private uniswapV2Router;
    address public pair_addr;
    bool public swap_enabled = true;
 
    //Percent calculation helper
    function CalcPercent(
        uint256 _input,
        uint256 _percent
    ) private pure returns (uint256) {
        return (_input * _percent) / percent_helper;
    }
 
    bool private inSwap = false;
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor(address _marketingWallet, address _tournamentWallet) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D //Ethereum
            
        );
        uniswapV2Router = _uniswapV2Router;
        pair_addr = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            _uniswapV2Router.WETH()
        );
 
        marketingWallet = _marketingWallet;
        tournamentWallet = _tournamentWallet;
 
        ignore_fee[address(this)] = true;
        ignore_fee[msg.sender] = 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
    function SetMaxes(uint256 _max_tx) public onlyOwner {
        require(_max_tx > 0, "Too low amount");
        max_tx = _max_tx;
    }

    //Set swap limit
    function SetSwapAtAmount(uint256 _swap_amt) public onlyOwner {
        require(_swap_amt > 0, "Too low amount");
        swap_at_amount = _swap_amt;
    }
 
    function SetTokenSwap(
        uint256 _amount,
        uint32 _lp_percent,
        bool _enabled
    ) public onlyOwner {
        swap_at_amount = _amount;
        _feeTaxes.liqPoolPercent = _lp_percent;
        swap_enabled = _enabled;
    }
 
    //Set marketing fee wallet
    function SetMarketingWallet(address _marketingWallet) public onlyOwner {
        marketingWallet = _marketingWallet;
    }
 
    //Set tournament fee wallet
    function SetTournamentWallet(address _tournamentWallet) public onlyOwner {
        tournamentWallet = _tournamentWallet;
    }
 
    //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 OpenTrade(bool _enable) public onlyOwner {
        trade_open = _enable;
        if (_enable == true) {
            tradeOpenTime = block.timestamp;
        }
    }
 
    function updateFees() internal {
        // Only run for the 40 minutes after trade is open
        if (updateFeesActive && block.timestamp <= tradeOpenTime + 40 minutes) {
 
            if(block.timestamp <= tradeOpenTime + 8 minutes){
                fee_buy = 30.00 * 10 ** 2;
                fee_sell = 30.00 * 10 ** 2;
                _feeTaxes.liqPoolPercent = 10.00 * 10 ** 2;
                _feeTaxes.marketingPercent = 10.00 * 10 ** 2;
                _feeTaxes.tournamentPercent= 10.00 * 10**2;
            }
 
            else if(block.timestamp > tradeOpenTime + 8 minutes && block.timestamp <= tradeOpenTime + 16 minutes){
                fee_buy = 24.00 * 10 ** 2;
                fee_sell = 24.00 * 10 ** 2;
                _feeTaxes.liqPoolPercent = 8.00 * 10 ** 2;
                _feeTaxes.marketingPercent = 8.00 * 10 ** 2;
                _feeTaxes.tournamentPercent= 8.00 * 10**2;
            }
 
            else if(block.timestamp > tradeOpenTime + 16 minutes && block.timestamp <= tradeOpenTime + 24 minutes){
                fee_buy = 21.00 * 10 ** 2;
                fee_sell = 21.00 * 10 ** 2;
                _feeTaxes.liqPoolPercent = 7.00 * 10 ** 2;
                _feeTaxes.marketingPercent = 7.00 * 10 ** 2;
                _feeTaxes.tournamentPercent= 7.00 * 10**2;
            }
            else if(block.timestamp > tradeOpenTime + 24 minutes && block.timestamp <= tradeOpenTime + 32 minutes){
                fee_buy = 15.00 * 10 ** 2;
                fee_sell = 15.00 * 10 ** 2;
                _feeTaxes.liqPoolPercent = 5.00 * 10 ** 2;
                _feeTaxes.marketingPercent = 5.00 * 10 ** 2;
                _feeTaxes.tournamentPercent= 5.00 * 10**2;      
            }
            else{
                fee_buy = 4.00 * 10 ** 2;
                fee_sell = 4.00 * 10 ** 2;
                _feeTaxes.liqPoolPercent = 1.00 * 10 ** 2;
                _feeTaxes.marketingPercent = 2.00 * 10 ** 2;
                _feeTaxes.tournamentPercent= 1.00 * 10**2;
            }
 
            // Stop updating fees after 40 minutes
            if (block.timestamp > tradeOpenTime + 40 minutes) {
                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;
        bool isSell = to == pair_addr;
 
        if (!isbuy && !isSell) {
            //Handle fees
            HandleFees();
        }
        
        //Calculate fee if conditions met
        //Buy
        if (isbuy) {
            if(block.timestamp < tradeOpenTime + 30 days){
                require (amount <= max_tx, "Cannot buy more than max limit");
                if (!ignore_fee[to]) {
                    fee_amount = CalcPercent(amount, fee_buy);
                }
            }
            else{
                if (!ignore_fee[to]) {
                    fee_amount = CalcPercent(amount, fee_buy);
                }
            }
        }
        //Sell
        else if (isSell){
            if (!ignore_fee[from]) {
                fee_amount = CalcPercent(amount, 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");
        }

        //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 - _feeTaxes.liqPoolPercent);
        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, _feeTaxes.liqPoolPercent));
    }
 
    function SendETHToFee(uint256 _totalAmount) private {
        uint256 marketingWalletAmount = CalcPercent(_totalAmount, _feeTaxes.marketingPercent);
        uint256 tournamentWalletAmount = CalcPercent(_totalAmount, _feeTaxes.tournamentPercent);
 
        transfer(marketingWallet,marketingWalletAmount);
        transfer(tournamentWallet,tournamentWalletAmount);
    }
 
    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":"_marketingWallet","type":"address"},{"internalType":"address","name":"_tournamentWallet","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":"uint32","name":"_fee_buy","type":"uint32"},{"internalType":"uint32","name":"_fee_sell","type":"uint32"}],"name":"SetFee","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":"address","name":"_marketingWallet","type":"address"}],"name":"SetMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_max_tx","type":"uint256"}],"name":"SetMaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swap_amt","type":"uint256"}],"name":"SetSwapAtAmount","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":"_tournamentWallet","type":"address"}],"name":"SetTournamentWallet","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":[],"name":"_feeTaxes","outputs":[{"internalType":"uint32","name":"liqPoolPercent","type":"uint32"},{"internalType":"uint32","name":"marketingPercent","type":"uint32"},{"internalType":"uint32","name":"tournamentPercent","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"fee_buy","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":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_tx","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tournamentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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"}]

608060405260008060156101000a81548160ff021916908315150217905550610bb8600260146101000a81548163ffffffff021916908363ffffffff160217905550610bb8600260186101000a81548163ffffffff021916908363ffffffff16021790555060016002601c6101000a81548160ff02191690831515021790555060405180606001604052806103e863ffffffff1681526020016103e863ffffffff1681526020016103e863ffffffff16815250600460008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160086101000a81548163ffffffff021916908363ffffffff16021790555050506107086006556012600a6200014191906200088e565b630501bd00620001529190620008df565b6008556012600a6200016591906200088e565b630501bd00620001769190620008df565b6009556001600d60146101000a81548160ff0219169083151502179055506000600d60156101000a81548160ff021916908315150217905550348015620001bc57600080fd5b5060405162004787380380620047878339818101604052810190620001e2919062000994565b62000202620001f66200062860201b60201c565b6200063060201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ce9190620009db565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000336573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035c9190620009db565b6040518363ffffffff1660e01b81526004016200037b92919062000a1e565b6020604051808303816000875af11580156200039b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c19190620009db565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506012600a6200054391906200088e565b63fa56ea00620005549190620008df565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620005f791906200088e565b63fa56ea00620006089190620008df565b60405162000617919062000a5c565b60405180910390a350505062000a79565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000782578086048111156200075a5762000759620006f4565b5b60018516156200076a5780820291505b80810290506200077a8562000723565b94506200073a565b94509492505050565b6000826200079d576001905062000870565b81620007ad576000905062000870565b8160018114620007c65760028114620007d15762000807565b600191505062000870565b60ff841115620007e657620007e5620006f4565b5b8360020a9150848211156200080057620007ff620006f4565b5b5062000870565b5060208310610133831016604e8410600b8410161715620008415782820a9050838111156200083b576200083a620006f4565b5b62000870565b62000850848484600162000730565b925090508184048111156200086a5762000869620006f4565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200089b8262000877565b9150620008a88362000881565b9250620008d77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200078b565b905092915050565b6000620008ec8262000877565b9150620008f98362000877565b9250828202620009098162000877565b91508282048414831517620009235762000922620006f4565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200095c826200092f565b9050919050565b6200096e816200094f565b81146200097a57600080fd5b50565b6000815190506200098e8162000963565b92915050565b60008060408385031215620009ae57620009ad6200092a565b5b6000620009be858286016200097d565b9250506020620009d1858286016200097d565b9150509250929050565b600060208284031215620009f457620009f36200092a565b5b600062000a04848285016200097d565b91505092915050565b62000a18816200094f565b82525050565b600060408201905062000a35600083018562000a0d565b62000a44602083018462000a0d565b9392505050565b62000a568162000877565b82525050565b600060208201905062000a73600083018462000a4b565b92915050565b613cfe8062000a896000396000f3fe60806040526004361061023f5760003560e01c80638da5cb5b1161012e578063a9059cbb116100ab578063d18559201161006f578063d185592014610849578063dd62ed3e14610874578063f2fde38b146108b1578063f5a27e86146108da578063ff578f5c1461090557610246565b8063a9059cbb14610752578063ac9358341461078f578063ba414b10146107ba578063bd186c4c146107e3578063d11fcb851461080c57610246565b806395d89b41116100f257806395d89b411461069357806396418d4d146106be57806397666a0d146106e7578063a1780c1814610710578063a20adf861461072757610246565b80638da5cb5b146105bc5780638e26bbe4146105e757806391d88b951461061057806391f18b7c1461063b57806393da30b11461066657610246565b80636264300e116101bc578063715018a611610180578063715018a6146104fb57806375f0a874146105125780637971fca71461053d5780637aab5d9b146105685780638bf67ad01461059357610246565b80636264300e1461041457806363126e171461043f578063685e838e1461046857806370a082311461049357806370fbc712146104d057610246565b806323b872dd1161020357806323b872dd1461032f578063249715a61461036c578063313ce5671461039757806349dc859c146103c257806352c7826e146103eb57610246565b806306fdde0314610248578063095ea7b31461027357806312fbbbe4146102b057806318160ddd146102db5780631d5165cf1461030657610246565b3661024657005b005b34801561025457600080fd5b5061025d61092e565b60405161026a91906128ab565b60405180910390f35b34801561027f57600080fd5b5061029a60048036038101906102959190612975565b61096b565b6040516102a791906129d0565b60405180910390f35b3480156102bc57600080fd5b506102c561098e565b6040516102d291906129fa565b60405180910390f35b3480156102e757600080fd5b506102f0610994565b6040516102fd91906129fa565b60405180910390f35b34801561031257600080fd5b5061032d60048036038101906103289190612a15565b6109b8565b005b34801561033b57600080fd5b5061035660048036038101906103519190612a42565b610a04565b60405161036391906129d0565b60405180910390f35b34801561037857600080fd5b50610381610a33565b60405161038e91906129d0565b60405180910390f35b3480156103a357600080fd5b506103ac610a46565b6040516103b99190612ab1565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e49190612acc565b610a4f565b005b3480156103f757600080fd5b50610412600480360381019061040d9190612acc565b610c37565b005b34801561042057600080fd5b50610429610c8c565b6040516104369190612b18565b60405180910390f35b34801561044b57600080fd5b5061046660048036038101906104619190612ca7565b610ca2565b005b34801561047457600080fd5b5061047d610d39565b60405161048a91906129fa565b60405180910390f35b34801561049f57600080fd5b506104ba60048036038101906104b59190612a15565b610d3f565b6040516104c791906129fa565b60405180910390f35b3480156104dc57600080fd5b506104e5610d88565b6040516104f291906129fa565b60405180910390f35b34801561050757600080fd5b50610510610d8e565b005b34801561051e57600080fd5b50610527610da2565b6040516105349190612d12565b60405180910390f35b34801561054957600080fd5b50610552610dc8565b60405161055f9190612b18565b60405180910390f35b34801561057457600080fd5b5061057d610dde565b60405161058a91906129d0565b60405180910390f35b34801561059f57600080fd5b506105ba60048036038101906105b59190612d59565b610df1565b005b3480156105c857600080fd5b506105d1610e43565b6040516105de9190612d12565b60405180910390f35b3480156105f357600080fd5b5061060e60048036038101906106099190612dac565b610e6c565b005b34801561061c57600080fd5b50610625610ea5565b60405161063291906129fa565b60405180910390f35b34801561064757600080fd5b50610650610eab565b60405161065d9190612d12565b60405180910390f35b34801561067257600080fd5b5061067b610ed1565b60405161068a93929190612dd9565b60405180910390f35b34801561069f57600080fd5b506106a8610f19565b6040516106b591906128ab565b60405180910390f35b3480156106ca57600080fd5b506106e560048036038101906106e09190612e10565b610f56565b005b3480156106f357600080fd5b5061070e60048036038101906107099190612acc565b61100f565b005b34801561071c57600080fd5b50610725611064565b005b34801561073357600080fd5b5061073c611076565b60405161074991906129d0565b60405180910390f35b34801561075e57600080fd5b5061077960048036038101906107749190612975565b611089565b60405161078691906129d0565b60405180910390f35b34801561079b57600080fd5b506107a46110ac565b6040516107b191906129d0565b60405180910390f35b3480156107c657600080fd5b506107e160048036038101906107dc9190612eab565b6110bf565b005b3480156107ef57600080fd5b5061080a60048036038101906108059190612dac565b61119c565b005b34801561081857600080fd5b50610833600480360381019061082e9190612a15565b6111c1565b60405161084091906129d0565b60405180910390f35b34801561085557600080fd5b5061085e6111e1565b60405161086b9190612d12565b60405180910390f35b34801561088057600080fd5b5061089b60048036038101906108969190612f0b565b611207565b6040516108a891906129fa565b60405180910390f35b3480156108bd57600080fd5b506108d860048036038101906108d39190612a15565b61128e565b005b3480156108e657600080fd5b506108ef611311565b6040516108fc91906129fa565b60405180910390f35b34801561091157600080fd5b5061092c60048036038101906109279190612a15565b611317565b005b60606040518060400160405280600681526020017f476f62626c650000000000000000000000000000000000000000000000000000815250905090565b600080610976611363565b905061098381858561136b565b600191505092915050565b60035481565b60006012600a6109a491906130ad565b63fa56ea006109b391906130f8565b905090565b6109c0611534565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080610a0f611363565b9050610a1c8582856115b2565b610a2785858561163e565b60019150509392505050565b6002601c9054906101000a900460ff1681565b60006012905090565b610a57611534565b600654600754610a67919061313a565b4211610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f906131ba565b60405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff166370a08231600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610b059190612d12565b602060405180830381865afa158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4691906131ef565b90506000610b5c826103e863ffffffff16611bdd565b905080831115610b6a578092505b426007819055506000831115610baa57610ba9600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead85611c06565b5b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c1957600080fd5b505af1158015610c2d573d6000803e3d6000fd5b5050505050505050565b610c3f611534565b60008111610c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7990613268565b60405180910390fd5b8060098190555050565b600260189054906101000a900463ffffffff1681565b610caa611534565b60005b8251811015610d34578160056000858481518110610cce57610ccd613288565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610cad565b505050565b60095481565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b610d96611534565b610da06000611d8b565b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260149054906101000a900463ffffffff1681565b600060149054906101000a900460ff1681565b610df9611534565b8260098190555081600460000160006101000a81548163ffffffff021916908363ffffffff16021790555080600d60146101000a81548160ff021916908315150217905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e74611534565b80600060146101000a81548160ff0219169083151502179055506001151581151503610ea257426003819055505b50565b60065481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60048060000160009054906101000a900463ffffffff16908060000160049054906101000a900463ffffffff16908060000160089054906101000a900463ffffffff16905083565b60606040518060400160405280600681526020017f476f62626c650000000000000000000000000000000000000000000000000000815250905090565b610f5e611534565b61271063ffffffff168263ffffffff1611158015610f8a575061271063ffffffff168163ffffffff1611155b610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc090613303565b60405180910390fd5b81600260146101000a81548163ffffffff021916908363ffffffff16021790555080600260186101000a81548163ffffffff021916908363ffffffff1602179055505050565b611017611534565b6000811161105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105190613268565b60405180910390fd5b8060088190555050565b61106c611534565b611074611e4f565b565b600060159054906101000a900460ff1681565b600080611094611363565b90506110a181858561163e565b600191505092915050565b600d60149054906101000a900460ff1681565b6110c7611534565b60006110d1610e43565b905060005b848490508110156111955760008585838181106110f6576110f5613288565b5b905060200201602081019061110b9190612a15565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361117c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117390613395565b60405180910390fd5b611187838286611c06565b5080806001019150506110d6565b5050505050565b6111a4611534565b80600060156101000a81548160ff02191690831515021790555050565b60056020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611296611534565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc90613427565b60405180910390fd5b61130e81611d8b565b50565b60075481565b61131f611534565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d1906134b9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611449576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114409061354b565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161152791906129fa565b60405180910390a3505050565b61153c611363565b73ffffffffffffffffffffffffffffffffffffffff1661155a610e43565b73ffffffffffffffffffffffffffffffffffffffff16146115b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a7906135b7565b60405180910390fd5b565b60006115be8484611207565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611638578181101561162a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162190613623565b60405180910390fd5b611637848484840361136b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a4906136b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361171c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171390613395565b60405180910390fd5b6000811161175f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175690613747565b60405180910390fd5b611767610e43565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806117d257506117a3610e43565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061180857503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561181d57611818838383611c06565b611bd8565b600060149054906101000a900460ff1661186c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611863906137b3565b60405180910390fd5b611874611ec6565b600080600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161490506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161490508115801561192b575080155b1561193957611938611e4f565b5b8115611a935762278d00600354611950919061313a565b421015611a175760085484111561199c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119939061381f565b60405180910390fd5b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a1257611a0f84600260149054906101000a900463ffffffff1663ffffffff16611bdd565b92505b611a8e565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a8d57611a8a84600260149054906101000a900463ffffffff1663ffffffff16611bdd565b92505b5b611b11565b8015611b1057600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b0f57611b0c84600260189054906101000a900463ffffffff1663ffffffff16611bdd565b92505b5b5b82841015611b54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4b9061388b565b60405180910390fd5b8284039350600060159054906101000a900460ff1615611bb457600854841115611bb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611baa906138f7565b60405180910390fd5b5b6000831115611bc957611bc8863085611c06565b5b611bd4868686611c06565b5050505b505050565b600061271063ffffffff168284611bf491906130f8565b611bfe9190613946565b905092915050565b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c84906139e9565b60405180910390fd5b818103600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d7d91906129fa565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611e5a30610d3f565b905060006009548210159050808015611e805750600d60159054906101000a900460ff16155b8015611e985750600d60149054906101000a900460ff165b15611ec257611ea8600954612385565b60004790506000811115611ec057611ebf4761268b565b5b505b5050565b6002601c9054906101000a900460ff168015611ef15750610960600354611eed919061313a565b4211155b15612383576101e0600354611f06919061313a565b4211611fc957610bb8600260146101000a81548163ffffffff021916908363ffffffff160217905550610bb8600260186101000a81548163ffffffff021916908363ffffffff1602179055506103e8600460000160006101000a81548163ffffffff021916908363ffffffff1602179055506103e8600460000160046101000a81548163ffffffff021916908363ffffffff1602179055506103e8600460000160086101000a81548163ffffffff021916908363ffffffff16021790555061234f565b6101e0600354611fd9919061313a565b42118015611ff657506103c0600354611ff2919061313a565b4211155b156120b857610960600260146101000a81548163ffffffff021916908363ffffffff160217905550610960600260186101000a81548163ffffffff021916908363ffffffff160217905550610320600460000160006101000a81548163ffffffff021916908363ffffffff160217905550610320600460000160046101000a81548163ffffffff021916908363ffffffff160217905550610320600460000160086101000a81548163ffffffff021916908363ffffffff16021790555061234e565b6103c06003546120c8919061313a565b421180156120e557506105a06003546120e1919061313a565b4211155b156121a757610834600260146101000a81548163ffffffff021916908363ffffffff160217905550610834600260186101000a81548163ffffffff021916908363ffffffff1602179055506102bc600460000160006101000a81548163ffffffff021916908363ffffffff1602179055506102bc600460000160046101000a81548163ffffffff021916908363ffffffff1602179055506102bc600460000160086101000a81548163ffffffff021916908363ffffffff16021790555061234d565b6105a06003546121b7919061313a565b421180156121d457506107806003546121d0919061313a565b4211155b15612296576105dc600260146101000a81548163ffffffff021916908363ffffffff1602179055506105dc600260186101000a81548163ffffffff021916908363ffffffff1602179055506101f4600460000160006101000a81548163ffffffff021916908363ffffffff1602179055506101f4600460000160046101000a81548163ffffffff021916908363ffffffff1602179055506101f4600460000160086101000a81548163ffffffff021916908363ffffffff16021790555061234c565b610190600260146101000a81548163ffffffff021916908363ffffffff160217905550610190600260186101000a81548163ffffffff021916908363ffffffff1602179055506064600460000160006101000a81548163ffffffff021916908363ffffffff16021790555060c8600460000160046101000a81548163ffffffff021916908363ffffffff1602179055506064600460000160086101000a81548163ffffffff021916908363ffffffff1602179055505b5b5b5b61096060035461235f919061313a565b4211156123825760006002601c6101000a81548160ff0219169083151502179055505b5b565b6001600d60156101000a81548160ff02191690831515021790555060006123d482600460000160009054906101000a900463ffffffff166127106123c99190613a09565b63ffffffff16611bdd565b9050600081836123e49190613a41565b905060004790506000600267ffffffffffffffff81111561240857612407612b38565b5b6040519080825280602002602001820160405280156124365781602001602082028036833780820191505090505b509050308160008151811061244e5761244d613288565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125199190613a8a565b8160018151811061252d5761252c613288565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061259430600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168761136b565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b81526004016125f8959493929190613bba565b600060405180830381600087803b15801561261257600080fd5b505af1158015612626573d6000803e3d6000fd5b50505050600082476126389190613a41565b90506126688461266383600460000160009054906101000a900463ffffffff1663ffffffff16611bdd565b61273c565b50505050506000600d60156101000a81548160ff02191690831515021790555050565b60006126b282600460000160049054906101000a900463ffffffff1663ffffffff16611bdd565b905060006126db83600460000160089054906101000a900463ffffffff1663ffffffff16611bdd565b9050612709600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611089565b50612736600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611089565b50505050565b61276930600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461136b565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806000426040518863ffffffff1660e01b81526004016127d196959493929190613c14565b60606040518083038185885af11580156127ef573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128149190613c75565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561285557808201518184015260208101905061283a565b60008484015250505050565b6000601f19601f8301169050919050565b600061287d8261281b565b6128878185612826565b9350612897818560208601612837565b6128a081612861565b840191505092915050565b600060208201905081810360008301526128c58184612872565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061290c826128e1565b9050919050565b61291c81612901565b811461292757600080fd5b50565b60008135905061293981612913565b92915050565b6000819050919050565b6129528161293f565b811461295d57600080fd5b50565b60008135905061296f81612949565b92915050565b6000806040838503121561298c5761298b6128d7565b5b600061299a8582860161292a565b92505060206129ab85828601612960565b9150509250929050565b60008115159050919050565b6129ca816129b5565b82525050565b60006020820190506129e560008301846129c1565b92915050565b6129f48161293f565b82525050565b6000602082019050612a0f60008301846129eb565b92915050565b600060208284031215612a2b57612a2a6128d7565b5b6000612a398482850161292a565b91505092915050565b600080600060608486031215612a5b57612a5a6128d7565b5b6000612a698682870161292a565b9350506020612a7a8682870161292a565b9250506040612a8b86828701612960565b9150509250925092565b600060ff82169050919050565b612aab81612a95565b82525050565b6000602082019050612ac66000830184612aa2565b92915050565b600060208284031215612ae257612ae16128d7565b5b6000612af084828501612960565b91505092915050565b600063ffffffff82169050919050565b612b1281612af9565b82525050565b6000602082019050612b2d6000830184612b09565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612b7082612861565b810181811067ffffffffffffffff82111715612b8f57612b8e612b38565b5b80604052505050565b6000612ba26128cd565b9050612bae8282612b67565b919050565b600067ffffffffffffffff821115612bce57612bcd612b38565b5b602082029050602081019050919050565b600080fd5b6000612bf7612bf284612bb3565b612b98565b90508083825260208201905060208402830185811115612c1a57612c19612bdf565b5b835b81811015612c435780612c2f888261292a565b845260208401935050602081019050612c1c565b5050509392505050565b600082601f830112612c6257612c61612b33565b5b8135612c72848260208601612be4565b91505092915050565b612c84816129b5565b8114612c8f57600080fd5b50565b600081359050612ca181612c7b565b92915050565b60008060408385031215612cbe57612cbd6128d7565b5b600083013567ffffffffffffffff811115612cdc57612cdb6128dc565b5b612ce885828601612c4d565b9250506020612cf985828601612c92565b9150509250929050565b612d0c81612901565b82525050565b6000602082019050612d276000830184612d03565b92915050565b612d3681612af9565b8114612d4157600080fd5b50565b600081359050612d5381612d2d565b92915050565b600080600060608486031215612d7257612d716128d7565b5b6000612d8086828701612960565b9350506020612d9186828701612d44565b9250506040612da286828701612c92565b9150509250925092565b600060208284031215612dc257612dc16128d7565b5b6000612dd084828501612c92565b91505092915050565b6000606082019050612dee6000830186612b09565b612dfb6020830185612b09565b612e086040830184612b09565b949350505050565b60008060408385031215612e2757612e266128d7565b5b6000612e3585828601612d44565b9250506020612e4685828601612d44565b9150509250929050565b600080fd5b60008083601f840112612e6b57612e6a612b33565b5b8235905067ffffffffffffffff811115612e8857612e87612e50565b5b602083019150836020820283011115612ea457612ea3612bdf565b5b9250929050565b600080600060408486031215612ec457612ec36128d7565b5b600084013567ffffffffffffffff811115612ee257612ee16128dc565b5b612eee86828701612e55565b93509350506020612f0186828701612960565b9150509250925092565b60008060408385031215612f2257612f216128d7565b5b6000612f308582860161292a565b9250506020612f418582860161292a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612fd157808604811115612fad57612fac612f4b565b5b6001851615612fbc5780820291505b8081029050612fca85612f7a565b9450612f91565b94509492505050565b600082612fea57600190506130a6565b81612ff857600090506130a6565b816001811461300e576002811461301857613047565b60019150506130a6565b60ff84111561302a57613029612f4b565b5b8360020a91508482111561304157613040612f4b565b5b506130a6565b5060208310610133831016604e8410600b841016171561307c5782820a90508381111561307757613076612f4b565b5b6130a6565b6130898484846001612f87565b925090508184048111156130a05761309f612f4b565b5b81810290505b9392505050565b60006130b88261293f565b91506130c383612a95565b92506130f07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612fda565b905092915050565b60006131038261293f565b915061310e8361293f565b925082820261311c8161293f565b9150828204841483151761313357613132612f4b565b5b5092915050565b60006131458261293f565b91506131508361293f565b925082820190508082111561316857613167612f4b565b5b92915050565b7f4275726e20636f6f6c646f776e20616374697665000000000000000000000000600082015250565b60006131a4601483612826565b91506131af8261316e565b602082019050919050565b600060208201905081810360008301526131d381613197565b9050919050565b6000815190506131e981612949565b92915050565b600060208284031215613205576132046128d7565b5b6000613213848285016131da565b91505092915050565b7f546f6f206c6f7720616d6f756e74000000000000000000000000000000000000600082015250565b6000613252600e83612826565b915061325d8261321c565b602082019050919050565b6000602082019050818103600083015261328181613245565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f546f6f2068696768206665650000000000000000000000000000000000000000600082015250565b60006132ed600c83612826565b91506132f8826132b7565b602082019050919050565b6000602082019050818103600083015261331c816132e0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061337f602383612826565b915061338a82613323565b604082019050919050565b600060208201905081810360008301526133ae81613372565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613411602683612826565b915061341c826133b5565b604082019050919050565b6000602082019050818103600083015261344081613404565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006134a3602483612826565b91506134ae82613447565b604082019050919050565b600060208201905081810360008301526134d281613496565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613535602283612826565b9150613540826134d9565b604082019050919050565b6000602082019050818103600083015261356481613528565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006135a1602083612826565b91506135ac8261356b565b602082019050919050565b600060208201905081810360008301526135d081613594565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061360d601d83612826565b9150613618826135d7565b602082019050919050565b6000602082019050818103600083015261363c81613600565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061369f602583612826565b91506136aa82613643565b604082019050919050565b600060208201905081810360008301526136ce81613692565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613731602983612826565b915061373c826136d5565b604082019050919050565b6000602082019050818103600083015261376081613724565b9050919050565b7f54726164696e672069732064697361626c656400000000000000000000000000600082015250565b600061379d601383612826565b91506137a882613767565b602082019050919050565b600060208201905081810360008301526137cc81613790565b9050919050565b7f43616e6e6f7420627579206d6f7265207468616e206d6178206c696d69740000600082015250565b6000613809601e83612826565b9150613814826137d3565b602082019050919050565b60006020820190508181036000830152613838816137fc565b9050919050565b7f666565206578636565647320616d6f756e740000000000000000000000000000600082015250565b6000613875601283612826565b91506138808261383f565b602082019050919050565b600060208201905081810360008301526138a481613868565b9050919050565b7f4d61782054582072656163686564000000000000000000000000000000000000600082015250565b60006138e1600e83612826565b91506138ec826138ab565b602082019050919050565b60006020820190508181036000830152613910816138d4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139518261293f565b915061395c8361293f565b92508261396c5761396b613917565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006139d3602683612826565b91506139de82613977565b604082019050919050565b60006020820190508181036000830152613a02816139c6565b9050919050565b6000613a1482612af9565b9150613a1f83612af9565b9250828203905063ffffffff811115613a3b57613a3a612f4b565b5b92915050565b6000613a4c8261293f565b9150613a578361293f565b9250828203905081811115613a6f57613a6e612f4b565b5b92915050565b600081519050613a8481612913565b92915050565b600060208284031215613aa057613a9f6128d7565b5b6000613aae84828501613a75565b91505092915050565b6000819050919050565b6000819050919050565b6000613ae6613ae1613adc84613ab7565b613ac1565b61293f565b9050919050565b613af681613acb565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613b3181612901565b82525050565b6000613b438383613b28565b60208301905092915050565b6000602082019050919050565b6000613b6782613afc565b613b718185613b07565b9350613b7c83613b18565b8060005b83811015613bad578151613b948882613b37565b9750613b9f83613b4f565b925050600181019050613b80565b5085935050505092915050565b600060a082019050613bcf60008301886129eb565b613bdc6020830187613aed565b8181036040830152613bee8186613b5c565b9050613bfd6060830185612d03565b613c0a60808301846129eb565b9695505050505050565b600060c082019050613c296000830189612d03565b613c3660208301886129eb565b613c436040830187613aed565b613c506060830186613aed565b613c5d6080830185612d03565b613c6a60a08301846129eb565b979650505050505050565b600080600060608486031215613c8e57613c8d6128d7565b5b6000613c9c868287016131da565b9350506020613cad868287016131da565b9250506040613cbe868287016131da565b915050925092509256fea2646970667358221220d7d3a049029d4ffa59ebcdf7f1ae0c9b1d5ba690f57dace55d8e6a547bbaf43764736f6c634300081100330000000000000000000000005475e1696e919718ce20a09a37c363753c0e7935000000000000000000000000c3ff19a7a0b15be654310d76007e49a83af3ab38

Deployed Bytecode

0x60806040526004361061023f5760003560e01c80638da5cb5b1161012e578063a9059cbb116100ab578063d18559201161006f578063d185592014610849578063dd62ed3e14610874578063f2fde38b146108b1578063f5a27e86146108da578063ff578f5c1461090557610246565b8063a9059cbb14610752578063ac9358341461078f578063ba414b10146107ba578063bd186c4c146107e3578063d11fcb851461080c57610246565b806395d89b41116100f257806395d89b411461069357806396418d4d146106be57806397666a0d146106e7578063a1780c1814610710578063a20adf861461072757610246565b80638da5cb5b146105bc5780638e26bbe4146105e757806391d88b951461061057806391f18b7c1461063b57806393da30b11461066657610246565b80636264300e116101bc578063715018a611610180578063715018a6146104fb57806375f0a874146105125780637971fca71461053d5780637aab5d9b146105685780638bf67ad01461059357610246565b80636264300e1461041457806363126e171461043f578063685e838e1461046857806370a082311461049357806370fbc712146104d057610246565b806323b872dd1161020357806323b872dd1461032f578063249715a61461036c578063313ce5671461039757806349dc859c146103c257806352c7826e146103eb57610246565b806306fdde0314610248578063095ea7b31461027357806312fbbbe4146102b057806318160ddd146102db5780631d5165cf1461030657610246565b3661024657005b005b34801561025457600080fd5b5061025d61092e565b60405161026a91906128ab565b60405180910390f35b34801561027f57600080fd5b5061029a60048036038101906102959190612975565b61096b565b6040516102a791906129d0565b60405180910390f35b3480156102bc57600080fd5b506102c561098e565b6040516102d291906129fa565b60405180910390f35b3480156102e757600080fd5b506102f0610994565b6040516102fd91906129fa565b60405180910390f35b34801561031257600080fd5b5061032d60048036038101906103289190612a15565b6109b8565b005b34801561033b57600080fd5b5061035660048036038101906103519190612a42565b610a04565b60405161036391906129d0565b60405180910390f35b34801561037857600080fd5b50610381610a33565b60405161038e91906129d0565b60405180910390f35b3480156103a357600080fd5b506103ac610a46565b6040516103b99190612ab1565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e49190612acc565b610a4f565b005b3480156103f757600080fd5b50610412600480360381019061040d9190612acc565b610c37565b005b34801561042057600080fd5b50610429610c8c565b6040516104369190612b18565b60405180910390f35b34801561044b57600080fd5b5061046660048036038101906104619190612ca7565b610ca2565b005b34801561047457600080fd5b5061047d610d39565b60405161048a91906129fa565b60405180910390f35b34801561049f57600080fd5b506104ba60048036038101906104b59190612a15565b610d3f565b6040516104c791906129fa565b60405180910390f35b3480156104dc57600080fd5b506104e5610d88565b6040516104f291906129fa565b60405180910390f35b34801561050757600080fd5b50610510610d8e565b005b34801561051e57600080fd5b50610527610da2565b6040516105349190612d12565b60405180910390f35b34801561054957600080fd5b50610552610dc8565b60405161055f9190612b18565b60405180910390f35b34801561057457600080fd5b5061057d610dde565b60405161058a91906129d0565b60405180910390f35b34801561059f57600080fd5b506105ba60048036038101906105b59190612d59565b610df1565b005b3480156105c857600080fd5b506105d1610e43565b6040516105de9190612d12565b60405180910390f35b3480156105f357600080fd5b5061060e60048036038101906106099190612dac565b610e6c565b005b34801561061c57600080fd5b50610625610ea5565b60405161063291906129fa565b60405180910390f35b34801561064757600080fd5b50610650610eab565b60405161065d9190612d12565b60405180910390f35b34801561067257600080fd5b5061067b610ed1565b60405161068a93929190612dd9565b60405180910390f35b34801561069f57600080fd5b506106a8610f19565b6040516106b591906128ab565b60405180910390f35b3480156106ca57600080fd5b506106e560048036038101906106e09190612e10565b610f56565b005b3480156106f357600080fd5b5061070e60048036038101906107099190612acc565b61100f565b005b34801561071c57600080fd5b50610725611064565b005b34801561073357600080fd5b5061073c611076565b60405161074991906129d0565b60405180910390f35b34801561075e57600080fd5b5061077960048036038101906107749190612975565b611089565b60405161078691906129d0565b60405180910390f35b34801561079b57600080fd5b506107a46110ac565b6040516107b191906129d0565b60405180910390f35b3480156107c657600080fd5b506107e160048036038101906107dc9190612eab565b6110bf565b005b3480156107ef57600080fd5b5061080a60048036038101906108059190612dac565b61119c565b005b34801561081857600080fd5b50610833600480360381019061082e9190612a15565b6111c1565b60405161084091906129d0565b60405180910390f35b34801561085557600080fd5b5061085e6111e1565b60405161086b9190612d12565b60405180910390f35b34801561088057600080fd5b5061089b60048036038101906108969190612f0b565b611207565b6040516108a891906129fa565b60405180910390f35b3480156108bd57600080fd5b506108d860048036038101906108d39190612a15565b61128e565b005b3480156108e657600080fd5b506108ef611311565b6040516108fc91906129fa565b60405180910390f35b34801561091157600080fd5b5061092c60048036038101906109279190612a15565b611317565b005b60606040518060400160405280600681526020017f476f62626c650000000000000000000000000000000000000000000000000000815250905090565b600080610976611363565b905061098381858561136b565b600191505092915050565b60035481565b60006012600a6109a491906130ad565b63fa56ea006109b391906130f8565b905090565b6109c0611534565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080610a0f611363565b9050610a1c8582856115b2565b610a2785858561163e565b60019150509392505050565b6002601c9054906101000a900460ff1681565b60006012905090565b610a57611534565b600654600754610a67919061313a565b4211610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f906131ba565b60405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff166370a08231600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610b059190612d12565b602060405180830381865afa158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4691906131ef565b90506000610b5c826103e863ffffffff16611bdd565b905080831115610b6a578092505b426007819055506000831115610baa57610ba9600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead85611c06565b5b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c1957600080fd5b505af1158015610c2d573d6000803e3d6000fd5b5050505050505050565b610c3f611534565b60008111610c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7990613268565b60405180910390fd5b8060098190555050565b600260189054906101000a900463ffffffff1681565b610caa611534565b60005b8251811015610d34578160056000858481518110610cce57610ccd613288565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610cad565b505050565b60095481565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b610d96611534565b610da06000611d8b565b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260149054906101000a900463ffffffff1681565b600060149054906101000a900460ff1681565b610df9611534565b8260098190555081600460000160006101000a81548163ffffffff021916908363ffffffff16021790555080600d60146101000a81548160ff021916908315150217905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e74611534565b80600060146101000a81548160ff0219169083151502179055506001151581151503610ea257426003819055505b50565b60065481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60048060000160009054906101000a900463ffffffff16908060000160049054906101000a900463ffffffff16908060000160089054906101000a900463ffffffff16905083565b60606040518060400160405280600681526020017f476f62626c650000000000000000000000000000000000000000000000000000815250905090565b610f5e611534565b61271063ffffffff168263ffffffff1611158015610f8a575061271063ffffffff168163ffffffff1611155b610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc090613303565b60405180910390fd5b81600260146101000a81548163ffffffff021916908363ffffffff16021790555080600260186101000a81548163ffffffff021916908363ffffffff1602179055505050565b611017611534565b6000811161105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105190613268565b60405180910390fd5b8060088190555050565b61106c611534565b611074611e4f565b565b600060159054906101000a900460ff1681565b600080611094611363565b90506110a181858561163e565b600191505092915050565b600d60149054906101000a900460ff1681565b6110c7611534565b60006110d1610e43565b905060005b848490508110156111955760008585838181106110f6576110f5613288565b5b905060200201602081019061110b9190612a15565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361117c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117390613395565b60405180910390fd5b611187838286611c06565b5080806001019150506110d6565b5050505050565b6111a4611534565b80600060156101000a81548160ff02191690831515021790555050565b60056020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611296611534565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc90613427565b60405180910390fd5b61130e81611d8b565b50565b60075481565b61131f611534565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d1906134b9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611449576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114409061354b565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161152791906129fa565b60405180910390a3505050565b61153c611363565b73ffffffffffffffffffffffffffffffffffffffff1661155a610e43565b73ffffffffffffffffffffffffffffffffffffffff16146115b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a7906135b7565b60405180910390fd5b565b60006115be8484611207565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611638578181101561162a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162190613623565b60405180910390fd5b611637848484840361136b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a4906136b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361171c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171390613395565b60405180910390fd5b6000811161175f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175690613747565b60405180910390fd5b611767610e43565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806117d257506117a3610e43565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061180857503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561181d57611818838383611c06565b611bd8565b600060149054906101000a900460ff1661186c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611863906137b3565b60405180910390fd5b611874611ec6565b600080600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161490506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161490508115801561192b575080155b1561193957611938611e4f565b5b8115611a935762278d00600354611950919061313a565b421015611a175760085484111561199c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119939061381f565b60405180910390fd5b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a1257611a0f84600260149054906101000a900463ffffffff1663ffffffff16611bdd565b92505b611a8e565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a8d57611a8a84600260149054906101000a900463ffffffff1663ffffffff16611bdd565b92505b5b611b11565b8015611b1057600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b0f57611b0c84600260189054906101000a900463ffffffff1663ffffffff16611bdd565b92505b5b5b82841015611b54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4b9061388b565b60405180910390fd5b8284039350600060159054906101000a900460ff1615611bb457600854841115611bb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611baa906138f7565b60405180910390fd5b5b6000831115611bc957611bc8863085611c06565b5b611bd4868686611c06565b5050505b505050565b600061271063ffffffff168284611bf491906130f8565b611bfe9190613946565b905092915050565b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c84906139e9565b60405180910390fd5b818103600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d7d91906129fa565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611e5a30610d3f565b905060006009548210159050808015611e805750600d60159054906101000a900460ff16155b8015611e985750600d60149054906101000a900460ff165b15611ec257611ea8600954612385565b60004790506000811115611ec057611ebf4761268b565b5b505b5050565b6002601c9054906101000a900460ff168015611ef15750610960600354611eed919061313a565b4211155b15612383576101e0600354611f06919061313a565b4211611fc957610bb8600260146101000a81548163ffffffff021916908363ffffffff160217905550610bb8600260186101000a81548163ffffffff021916908363ffffffff1602179055506103e8600460000160006101000a81548163ffffffff021916908363ffffffff1602179055506103e8600460000160046101000a81548163ffffffff021916908363ffffffff1602179055506103e8600460000160086101000a81548163ffffffff021916908363ffffffff16021790555061234f565b6101e0600354611fd9919061313a565b42118015611ff657506103c0600354611ff2919061313a565b4211155b156120b857610960600260146101000a81548163ffffffff021916908363ffffffff160217905550610960600260186101000a81548163ffffffff021916908363ffffffff160217905550610320600460000160006101000a81548163ffffffff021916908363ffffffff160217905550610320600460000160046101000a81548163ffffffff021916908363ffffffff160217905550610320600460000160086101000a81548163ffffffff021916908363ffffffff16021790555061234e565b6103c06003546120c8919061313a565b421180156120e557506105a06003546120e1919061313a565b4211155b156121a757610834600260146101000a81548163ffffffff021916908363ffffffff160217905550610834600260186101000a81548163ffffffff021916908363ffffffff1602179055506102bc600460000160006101000a81548163ffffffff021916908363ffffffff1602179055506102bc600460000160046101000a81548163ffffffff021916908363ffffffff1602179055506102bc600460000160086101000a81548163ffffffff021916908363ffffffff16021790555061234d565b6105a06003546121b7919061313a565b421180156121d457506107806003546121d0919061313a565b4211155b15612296576105dc600260146101000a81548163ffffffff021916908363ffffffff1602179055506105dc600260186101000a81548163ffffffff021916908363ffffffff1602179055506101f4600460000160006101000a81548163ffffffff021916908363ffffffff1602179055506101f4600460000160046101000a81548163ffffffff021916908363ffffffff1602179055506101f4600460000160086101000a81548163ffffffff021916908363ffffffff16021790555061234c565b610190600260146101000a81548163ffffffff021916908363ffffffff160217905550610190600260186101000a81548163ffffffff021916908363ffffffff1602179055506064600460000160006101000a81548163ffffffff021916908363ffffffff16021790555060c8600460000160046101000a81548163ffffffff021916908363ffffffff1602179055506064600460000160086101000a81548163ffffffff021916908363ffffffff1602179055505b5b5b5b61096060035461235f919061313a565b4211156123825760006002601c6101000a81548160ff0219169083151502179055505b5b565b6001600d60156101000a81548160ff02191690831515021790555060006123d482600460000160009054906101000a900463ffffffff166127106123c99190613a09565b63ffffffff16611bdd565b9050600081836123e49190613a41565b905060004790506000600267ffffffffffffffff81111561240857612407612b38565b5b6040519080825280602002602001820160405280156124365781602001602082028036833780820191505090505b509050308160008151811061244e5761244d613288565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125199190613a8a565b8160018151811061252d5761252c613288565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061259430600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168761136b565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b81526004016125f8959493929190613bba565b600060405180830381600087803b15801561261257600080fd5b505af1158015612626573d6000803e3d6000fd5b50505050600082476126389190613a41565b90506126688461266383600460000160009054906101000a900463ffffffff1663ffffffff16611bdd565b61273c565b50505050506000600d60156101000a81548160ff02191690831515021790555050565b60006126b282600460000160049054906101000a900463ffffffff1663ffffffff16611bdd565b905060006126db83600460000160089054906101000a900463ffffffff1663ffffffff16611bdd565b9050612709600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611089565b50612736600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611089565b50505050565b61276930600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461136b565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806000426040518863ffffffff1660e01b81526004016127d196959493929190613c14565b60606040518083038185885af11580156127ef573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128149190613c75565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561285557808201518184015260208101905061283a565b60008484015250505050565b6000601f19601f8301169050919050565b600061287d8261281b565b6128878185612826565b9350612897818560208601612837565b6128a081612861565b840191505092915050565b600060208201905081810360008301526128c58184612872565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061290c826128e1565b9050919050565b61291c81612901565b811461292757600080fd5b50565b60008135905061293981612913565b92915050565b6000819050919050565b6129528161293f565b811461295d57600080fd5b50565b60008135905061296f81612949565b92915050565b6000806040838503121561298c5761298b6128d7565b5b600061299a8582860161292a565b92505060206129ab85828601612960565b9150509250929050565b60008115159050919050565b6129ca816129b5565b82525050565b60006020820190506129e560008301846129c1565b92915050565b6129f48161293f565b82525050565b6000602082019050612a0f60008301846129eb565b92915050565b600060208284031215612a2b57612a2a6128d7565b5b6000612a398482850161292a565b91505092915050565b600080600060608486031215612a5b57612a5a6128d7565b5b6000612a698682870161292a565b9350506020612a7a8682870161292a565b9250506040612a8b86828701612960565b9150509250925092565b600060ff82169050919050565b612aab81612a95565b82525050565b6000602082019050612ac66000830184612aa2565b92915050565b600060208284031215612ae257612ae16128d7565b5b6000612af084828501612960565b91505092915050565b600063ffffffff82169050919050565b612b1281612af9565b82525050565b6000602082019050612b2d6000830184612b09565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612b7082612861565b810181811067ffffffffffffffff82111715612b8f57612b8e612b38565b5b80604052505050565b6000612ba26128cd565b9050612bae8282612b67565b919050565b600067ffffffffffffffff821115612bce57612bcd612b38565b5b602082029050602081019050919050565b600080fd5b6000612bf7612bf284612bb3565b612b98565b90508083825260208201905060208402830185811115612c1a57612c19612bdf565b5b835b81811015612c435780612c2f888261292a565b845260208401935050602081019050612c1c565b5050509392505050565b600082601f830112612c6257612c61612b33565b5b8135612c72848260208601612be4565b91505092915050565b612c84816129b5565b8114612c8f57600080fd5b50565b600081359050612ca181612c7b565b92915050565b60008060408385031215612cbe57612cbd6128d7565b5b600083013567ffffffffffffffff811115612cdc57612cdb6128dc565b5b612ce885828601612c4d565b9250506020612cf985828601612c92565b9150509250929050565b612d0c81612901565b82525050565b6000602082019050612d276000830184612d03565b92915050565b612d3681612af9565b8114612d4157600080fd5b50565b600081359050612d5381612d2d565b92915050565b600080600060608486031215612d7257612d716128d7565b5b6000612d8086828701612960565b9350506020612d9186828701612d44565b9250506040612da286828701612c92565b9150509250925092565b600060208284031215612dc257612dc16128d7565b5b6000612dd084828501612c92565b91505092915050565b6000606082019050612dee6000830186612b09565b612dfb6020830185612b09565b612e086040830184612b09565b949350505050565b60008060408385031215612e2757612e266128d7565b5b6000612e3585828601612d44565b9250506020612e4685828601612d44565b9150509250929050565b600080fd5b60008083601f840112612e6b57612e6a612b33565b5b8235905067ffffffffffffffff811115612e8857612e87612e50565b5b602083019150836020820283011115612ea457612ea3612bdf565b5b9250929050565b600080600060408486031215612ec457612ec36128d7565b5b600084013567ffffffffffffffff811115612ee257612ee16128dc565b5b612eee86828701612e55565b93509350506020612f0186828701612960565b9150509250925092565b60008060408385031215612f2257612f216128d7565b5b6000612f308582860161292a565b9250506020612f418582860161292a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612fd157808604811115612fad57612fac612f4b565b5b6001851615612fbc5780820291505b8081029050612fca85612f7a565b9450612f91565b94509492505050565b600082612fea57600190506130a6565b81612ff857600090506130a6565b816001811461300e576002811461301857613047565b60019150506130a6565b60ff84111561302a57613029612f4b565b5b8360020a91508482111561304157613040612f4b565b5b506130a6565b5060208310610133831016604e8410600b841016171561307c5782820a90508381111561307757613076612f4b565b5b6130a6565b6130898484846001612f87565b925090508184048111156130a05761309f612f4b565b5b81810290505b9392505050565b60006130b88261293f565b91506130c383612a95565b92506130f07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612fda565b905092915050565b60006131038261293f565b915061310e8361293f565b925082820261311c8161293f565b9150828204841483151761313357613132612f4b565b5b5092915050565b60006131458261293f565b91506131508361293f565b925082820190508082111561316857613167612f4b565b5b92915050565b7f4275726e20636f6f6c646f776e20616374697665000000000000000000000000600082015250565b60006131a4601483612826565b91506131af8261316e565b602082019050919050565b600060208201905081810360008301526131d381613197565b9050919050565b6000815190506131e981612949565b92915050565b600060208284031215613205576132046128d7565b5b6000613213848285016131da565b91505092915050565b7f546f6f206c6f7720616d6f756e74000000000000000000000000000000000000600082015250565b6000613252600e83612826565b915061325d8261321c565b602082019050919050565b6000602082019050818103600083015261328181613245565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f546f6f2068696768206665650000000000000000000000000000000000000000600082015250565b60006132ed600c83612826565b91506132f8826132b7565b602082019050919050565b6000602082019050818103600083015261331c816132e0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061337f602383612826565b915061338a82613323565b604082019050919050565b600060208201905081810360008301526133ae81613372565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613411602683612826565b915061341c826133b5565b604082019050919050565b6000602082019050818103600083015261344081613404565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006134a3602483612826565b91506134ae82613447565b604082019050919050565b600060208201905081810360008301526134d281613496565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613535602283612826565b9150613540826134d9565b604082019050919050565b6000602082019050818103600083015261356481613528565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006135a1602083612826565b91506135ac8261356b565b602082019050919050565b600060208201905081810360008301526135d081613594565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061360d601d83612826565b9150613618826135d7565b602082019050919050565b6000602082019050818103600083015261363c81613600565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061369f602583612826565b91506136aa82613643565b604082019050919050565b600060208201905081810360008301526136ce81613692565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613731602983612826565b915061373c826136d5565b604082019050919050565b6000602082019050818103600083015261376081613724565b9050919050565b7f54726164696e672069732064697361626c656400000000000000000000000000600082015250565b600061379d601383612826565b91506137a882613767565b602082019050919050565b600060208201905081810360008301526137cc81613790565b9050919050565b7f43616e6e6f7420627579206d6f7265207468616e206d6178206c696d69740000600082015250565b6000613809601e83612826565b9150613814826137d3565b602082019050919050565b60006020820190508181036000830152613838816137fc565b9050919050565b7f666565206578636565647320616d6f756e740000000000000000000000000000600082015250565b6000613875601283612826565b91506138808261383f565b602082019050919050565b600060208201905081810360008301526138a481613868565b9050919050565b7f4d61782054582072656163686564000000000000000000000000000000000000600082015250565b60006138e1600e83612826565b91506138ec826138ab565b602082019050919050565b60006020820190508181036000830152613910816138d4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139518261293f565b915061395c8361293f565b92508261396c5761396b613917565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006139d3602683612826565b91506139de82613977565b604082019050919050565b60006020820190508181036000830152613a02816139c6565b9050919050565b6000613a1482612af9565b9150613a1f83612af9565b9250828203905063ffffffff811115613a3b57613a3a612f4b565b5b92915050565b6000613a4c8261293f565b9150613a578361293f565b9250828203905081811115613a6f57613a6e612f4b565b5b92915050565b600081519050613a8481612913565b92915050565b600060208284031215613aa057613a9f6128d7565b5b6000613aae84828501613a75565b91505092915050565b6000819050919050565b6000819050919050565b6000613ae6613ae1613adc84613ab7565b613ac1565b61293f565b9050919050565b613af681613acb565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613b3181612901565b82525050565b6000613b438383613b28565b60208301905092915050565b6000602082019050919050565b6000613b6782613afc565b613b718185613b07565b9350613b7c83613b18565b8060005b83811015613bad578151613b948882613b37565b9750613b9f83613b4f565b925050600181019050613b80565b5085935050505092915050565b600060a082019050613bcf60008301886129eb565b613bdc6020830187613aed565b8181036040830152613bee8186613b5c565b9050613bfd6060830185612d03565b613c0a60808301846129eb565b9695505050505050565b600060c082019050613c296000830189612d03565b613c3660208301886129eb565b613c436040830187613aed565b613c506060830186613aed565b613c5d6080830185612d03565b613c6a60a08301846129eb565b979650505050505050565b600080600060608486031215613c8e57613c8d6128d7565b5b6000613c9c868287016131da565b9350506020613cad868287016131da565b9250506040613cbe868287016131da565b915050925092509256fea2646970667358221220d7d3a049029d4ffa59ebcdf7f1ae0c9b1d5ba690f57dace55d8e6a547bbaf43764736f6c63430008110033

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

0000000000000000000000005475e1696e919718ce20a09a37c363753c0e7935000000000000000000000000c3ff19a7a0b15be654310d76007e49a83af3ab38

-----Decoded View---------------
Arg [0] : _marketingWallet (address): 0x5475e1696e919718cE20a09A37c363753C0E7935
Arg [1] : _tournamentWallet (address): 0xc3FF19a7a0B15be654310D76007E49a83AF3ab38

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000005475e1696e919718ce20a09a37c363753c0e7935
Arg [1] : 000000000000000000000000c3ff19a7a0b15be654310d76007e49a83af3ab38


Deployed Bytecode Sourcemap

7782:15788:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20285:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21606:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8572:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20616:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11553:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21117:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8530:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20507:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12675:657;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11095:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8483:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11889:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9189:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20733:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9125:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2674:103;;;;;;;;;;;;;:::i;:::-;;8359:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8437:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8287:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11261:251;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2024:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13525:178;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9030:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9470:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8754:184;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;20394:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10687:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10929:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13341:71;;;;;;;;;;;;;:::i;:::-;;8316:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20890:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9501:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12167:499;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13421:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8966:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8396:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21421:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2933:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9078:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11719:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20285:100;20339:13;20372:5;;;;;;;;;;;;;;;;;20365:12;;20285:100;:::o;21606:226::-;21714:4;21731:13;21747:12;:10;:12::i;:::-;21731:28;;21770:32;21779:5;21786:7;21795:6;21770:8;:32::i;:::-;21820:4;21813:11;;;21606:226;;;;:::o;8572:28::-;;;;:::o;20616:108::-;20677:7;7980:2;8046;:15;;;;:::i;:::-;8030:13;:31;;;;:::i;:::-;20697:19;;20616:108;:::o;11553:124::-;1909:13;:11;:13::i;:::-;11653:16:::1;11635:15;;:34;;;;;;;;;;;;;;;;;;11553:124:::0;:::o;21117:295::-;21248:4;21265:15;21283:12;:10;:12::i;:::-;21265:30;;21306:38;21322:4;21328:7;21337:6;21306:15;:38::i;:::-;21355:27;21365:4;21371:2;21375:6;21355:9;:27::i;:::-;21400:4;21393:11;;;21117:295;;;;;:::o;8530:35::-;;;;;;;;;;;;;:::o;20507:100::-;20565:5;7980:2;20583:16;;20507:100;:::o;12675:657::-;1909:13;:11;:13::i;:::-;12803::::1;;12791:9;;:25;;;;:::i;:::-;12773:15;:43;12751:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;12875:28;12906:4;:14;;;12921:9;;;;;;;;;;;12906:25;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12875:56;;12942:20;12965:45;12977:20;8245:15;12965:45;;:11;:45::i;:::-;12942:68;;13035:12;13025:7;:22;13021:77;;;13074:12;13064:22;;13021:77;13120:15;13108:9;:27;;;;13163:1;13153:7;:11;13149:96;;;13181:52;13197:9;;;;;;;;;;;13216:6;13225:7;13181:15;:52::i;:::-;13149:96;13255:19;13292:9;;;;;;;;;;;13255:47;;13313:4;:9;;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12740:592;;;12675:657:::0;:::o;11095:157::-;1909:13;:11;:13::i;:::-;11187:1:::1;11175:9;:13;11167:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;11235:9;11218:14;:26;;;;11095:157:::0;:::o;8483:40::-;;;;;;;;;;;;;:::o;11889:269::-;1909:13;:11;:13::i;:::-;12034:9:::1;12029:111;12053:6;:13;12049:1;:17;12029:111;;;12116:8;12092:10;:21;12103:6;12110:1;12103:9;;;;;;;;:::i;:::-;;;;;;;;12092:21;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;12068:3;;;;;;;12029:111;;;;11889:269:::0;;:::o;9189:60::-;;;;:::o;20733:143::-;20823:7;20850:9;:18;20860:7;20850:18;;;;;;;;;;;;;;;;20843:25;;20733:143;;;:::o;9125:52::-;;;;:::o;2674:103::-;1909:13;:11;:13::i;:::-;2739:30:::1;2766:1;2739:18;:30::i;:::-;2674:103::o:0;8359:30::-;;;;;;;;;;;;;:::o;8437:39::-;;;;;;;;;;;;;:::o;8287:22::-;;;;;;;;;;;;;:::o;11261:251::-;1909:13;:11;:13::i;:::-;11414:7:::1;11397:14;:24;;;;11459:11;11432:9;:24;;;:38;;;;;;;;;;;;;;;;;;11496:8;11481:12;;:23;;;;;;;;;;;;;;;;;;11261:251:::0;;;:::o;2024:87::-;2070:7;2097:6;;;;;;;;;;;2090:13;;2024:87;:::o;13525:178::-;1909:13;:11;:13::i;:::-;13599:7:::1;13586:10;;:20;;;;;;;;;;;;;;;;;;13632:4;13621:15;;:7;:15;;::::0;13617:79:::1;;13669:15;13653:13;:31;;;;13617:79;13525:178:::0;:::o;9030:41::-;;;;:::o;9470:24::-;;;;;;;;;;;;;:::o;8754:184::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;20394:104::-;20450:13;20483:7;;;;;;;;;;;;;;;;;20476:14;;20394:104;:::o;10687:215::-;1909:13;:11;:13::i;:::-;8188::::1;10774:19;;:8;:19;;;;:43;;;;;8188:13;10797:20;;:9;:20;;;;10774:43;10766:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10855:8;10845:7;;:18;;;;;;;;;;;;;;;;;;10885:9;10874:8;;:20;;;;;;;;;;;;;;;;;;10687:215:::0;;:::o;10929:136::-;1909:13;:11;:13::i;:::-;11010:1:::1;11000:7;:11;10992:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11050:7;11041:6;:16;;;;10929:136:::0;:::o;13341:71::-;1909:13;:11;:13::i;:::-;13392:12:::1;:10;:12::i;:::-;13341:71::o:0;8316:33::-;;;;;;;;;;;;;:::o;20890:218::-;20994:4;21011:13;21027:12;:10;:12::i;:::-;21011:28;;21050;21060:5;21067:2;21071:6;21050:9;:28::i;:::-;21096:4;21089:11;;;20890:218;;;;:::o;9501:31::-;;;;;;;;;;;;;:::o;12167:499::-;1909:13;:11;:13::i;:::-;12284::::1;12300:7;:5;:7::i;:::-;12284:23;;12348:9;12343:305;12367:6;;:13;;12363:1;:17;12343:305;;;12406:12;12421:6;;12428:1;12421:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12406:24;;12495:1;12479:18;;:4;:18;;::::0;12449:127:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12595:37;12611:5;12618:4;12624:7;12595:15;:37::i;:::-;12387:261;12382:3;;;;;;;12343:305;;;;12273:393;12167:499:::0;;;:::o;13421:92::-;1909:13;:11;:13::i;:::-;13498:7:::1;13482:13;;:23;;;;;;;;;;;;;;;;;;13421:92:::0;:::o;8966:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;8396:31::-;;;;;;;;;;;;;:::o;21421:176::-;21535:7;21562:11;:18;21574:5;21562:18;;;;;;;;;;;;;;;:27;21581:7;21562:27;;;;;;;;;;;;;;;;21555:34;;21421:176;;;;:::o;2933:238::-;1909:13;:11;:13::i;:::-;3056:1:::1;3036:22;;:8;:22;;::::0;3014:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3135:28;3154:8;3135:18;:28::i;:::-;2933:238:::0;:::o;9078:24::-;;;;:::o;11719:128::-;1909:13;:11;:13::i;:::-;11822:17:::1;11803:16;;:36;;;;;;;;;;;;;;;;;;11719:128:::0;:::o;702:98::-;755:7;782:10;775:17;;702:98;:::o;21841:381::-;21994:1;21977:19;;:5;:19;;;21969:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22075:1;22056:21;;:7;:21;;;22048:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22160:6;22130:11;:18;22142:5;22130:18;;;;;;;;;;;;;;;:27;22149:7;22130:27;;;;;;;;;;;;;;;:36;;;;22198:7;22182:32;;22191:5;22182:32;;;22207:6;22182:32;;;;;;:::i;:::-;;;;;;;;21841:381;;;:::o;2190:132::-;2265:12;:10;:12::i;:::-;2254:23;;:7;:5;:7::i;:::-;:23;;;2246:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2190:132::o;22231:502::-;22366:24;22393:25;22403:5;22410:7;22393:9;:25::i;:::-;22366:52;;22453:17;22433:16;:37;22429:297;;22533:6;22513:16;:26;;22487:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;22648:51;22657:5;22664:7;22692:6;22673:16;:25;22648:8;:51::i;:::-;22429:297;22355:378;22231:502;;;:::o;15982:2114::-;16087:1;16071:18;;:4;:18;;;16063:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16164:1;16150:16;;:2;:16;;;16142:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16234:1;16225:6;:10;16217:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16357:7;:5;:7::i;:::-;16349:15;;:4;:15;;;:32;;;;16374:7;:5;:7::i;:::-;16368:13;;:2;:13;;;16349:32;:57;;;;16401:4;16385:21;;:4;:21;;;16349:57;16345:144;;;16423:33;16439:4;16445:2;16449:6;16423:15;:33::i;:::-;16471:7;;16345:144;16546:10;;;;;;;;;;;16538:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;16617:12;:10;:12::i;:::-;16643:18;16676:10;16697:9;;;;;;;;;;;16689:17;;:4;:17;;;16676:30;;16717:11;16737:9;;;;;;;;;;;16731:15;;:2;:15;;;16717:29;;16765:5;16764:6;:17;;;;;16775:6;16774:7;16764:17;16760:89;;;16825:12;:10;:12::i;:::-;16760:89;16931:5;16927:625;;;16990:7;16974:13;;:23;;;;:::i;:::-;16956:15;:41;16953:420;;;17036:6;;17026;:16;;17017:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;17101:10;:14;17112:2;17101:14;;;;;;;;;;;;;;;;;;;;;;;;;17096:105;;17153:28;17165:6;17173:7;;;;;;;;;;;17153:28;;:11;:28::i;:::-;17140:41;;17096:105;16953:420;;;17258:10;:14;17269:2;17258:14;;;;;;;;;;;;;;;;;;;;;;;;;17253:105;;17310:28;17322:6;17330:7;;;;;;;;;;;17310:28;;:11;:28::i;:::-;17297:41;;17253:105;16953:420;16927:625;;;17419:6;17415:137;;;17446:10;:16;17457:4;17446:16;;;;;;;;;;;;;;;;;;;;;;;;;17441:100;;17496:29;17508:6;17516:8;;;;;;;;;;;17496:29;;:11;:29::i;:::-;17483:42;;17441:100;17415:137;16927:625;17627:10;17617:6;:20;;17609:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;17685:10;17675:20;;;;17746:13;;;;;;;;;;;17742:116;;;17821:6;;17811;:16;;17803:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;17742:116;17930:1;17917:10;:14;17913:95;;;17948:48;17964:4;17978;17985:10;17948:15;:48::i;:::-;17913:95;18055:33;18071:4;18077:2;18081:6;18055:15;:33::i;:::-;16052:2044;;;15982:2114;;;;:::o;9576:173::-;9678:7;8109:13;9705:36;;9715:8;9706:6;:17;;;;:::i;:::-;9705:36;;;;:::i;:::-;9698:43;;9576:173;;;;:::o;22742:627::-;22871:19;22893:9;:15;22903:4;22893:15;;;;;;;;;;;;;;;;22871:37;;22956:6;22941:11;:21;;22919:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;23096:6;23082:11;:20;23064:9;:15;23074:4;23064:15;;;;;;;;;;;;;;;:38;;;;23299:6;23282:9;:13;23292:2;23282:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;23350:2;23335:26;;23344:4;23335:26;;;23354:6;23335:26;;;;;;:::i;:::-;;;;;;;;22860:509;22742:627;;;:::o;3332:191::-;3406:16;3425:6;;;;;;;;;;;3406:25;;3451:8;3442:6;;:17;;;;;;;;;;;;;;;;;;3506:8;3475:40;;3496:8;3475:40;;;;;;;;;;;;3395:128;3332:191;:::o;18105:437::-;18146:21;18170:24;18188:4;18170:9;:24::i;:::-;18146:48;;18205:13;18238:14;;18221:13;:31;;18205:47;;18270:8;:19;;;;;18283:6;;;;;;;;;;;18282:7;18270:19;:35;;;;;18293:12;;;;;;;;;;;18270:35;18266:269;;;18322:32;18339:14;;18322:16;:32::i;:::-;18369:19;18391:21;18369:43;;18445:7;18431:11;:21;18427:97;;;18473:35;18486:21;18473:12;:35::i;:::-;18427:97;18307:228;18266:269;18135:407;;18105:437::o;13712:2248::-;13818:16;;;;;;;;;;;:65;;;;;13873:10;13857:13;;:26;;;;:::i;:::-;13838:15;:45;;13818:65;13814:2139;;;13941:9;13925:13;;:25;;;;:::i;:::-;13906:15;:44;13903:1861;;13980:15;13970:7;;:25;;;;;;;;;;;;;;;;;;14025:15;14014:8;;:26;;;;;;;;;;;;;;;;;;14086:15;14059:9;:24;;;:42;;;;;;;;;;;;;;;;;;14149:15;14120:9;:26;;;:44;;;;;;;;;;;;;;;;;;14212:13;14183:9;:27;;;:42;;;;;;;;;;;;;;;;;;13903:1861;;;14300:9;14284:13;;:25;;;;:::i;:::-;14266:15;:43;:92;;;;;14348:10;14332:13;;:26;;;;:::i;:::-;14313:15;:45;;14266:92;14263:1501;;;14388:15;14378:7;;:25;;;;;;;;;;;;;;;;;;14433:15;14422:8;;:26;;;;;;;;;;;;;;;;;;14494:14;14467:9;:24;;;:41;;;;;;;;;;;;;;;;;;14556:14;14527:9;:26;;;:43;;;;;;;;;;;;;;;;;;14618:12;14589:9;:27;;;:41;;;;;;;;;;;;;;;;;;14263:1501;;;14705:10;14689:13;;:26;;;;:::i;:::-;14671:15;:44;:93;;;;;14754:10;14738:13;;:26;;;;:::i;:::-;14719:15;:45;;14671:93;14668:1096;;;14794:15;14784:7;;:25;;;;;;;;;;;;;;;;;;14839:15;14828:8;;:26;;;;;;;;;;;;;;;;;;14900:14;14873:9;:24;;;:41;;;;;;;;;;;;;;;;;;14962:14;14933:9;:26;;;:43;;;;;;;;;;;;;;;;;;15024:12;14995:9;:27;;;:41;;;;;;;;;;;;;;;;;;14668:1096;;;15108:10;15092:13;;:26;;;;:::i;:::-;15074:15;:44;:93;;;;;15157:10;15141:13;;:26;;;;:::i;:::-;15122:15;:45;;15074:93;15071:693;;;15197:15;15187:7;;:25;;;;;;;;;;;;;;;;;;15242:15;15231:8;;:26;;;;;;;;;;;;;;;;;;15303:14;15276:9;:24;;;:41;;;;;;;;;;;;;;;;;;15365:14;15336:9;:26;;;:43;;;;;;;;;;;;;;;;;;15427:12;15398:9;:27;;;:41;;;;;;;;;;;;;;;;;;15071:693;;;15508:14;15498:7;;:24;;;;;;;;;;;;;;;;;;15552:14;15541:8;;:25;;;;;;;;;;;;;;;;;;15612:14;15585:9;:24;;;:41;;;;;;;;;;;;;;;;;;15674:14;15645:9;:26;;;:43;;;;;;;;;;;;;;;;;;15736:12;15707:9;:27;;;:41;;;;;;;;;;;;;;;;;;15071:693;14668:1096;14263:1501;13903:1861;15871:10;15855:13;;:26;;;;:::i;:::-;15837:15;:44;15833:109;;;15921:5;15902:16;;:24;;;;;;;;;;;;;;;;;;15833:109;13814:2139;13712:2248::o;18551:814::-;9835:4;9826:6;;:13;;;;;;;;;;;;;;;;;;18625:14:::1;18642:63;18654:7;18680:9;:24;;;;;;;;;;;;8109:13;18663:41;;;;:::i;:::-;18642:63;;:11;:63::i;:::-;18625:80;;18716:14;18743:6;18733:7;:16;;;;:::i;:::-;18716:33;;18760:22;18785:21;18760:46;;18820:21;18858:1;18844:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18820:40;;18889:4;18871;18876:1;18871:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;18915:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18905:4;18910:1;18905:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;18948:58;18965:4;18980:15;;;;;;;;;;;18998:7;18948:8;:58::i;:::-;19017:15;;;;;;;;;;;:66;;;19098:6;19119:1;19135:4;19162;19182:15;19017:191;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;19219:15;19261:14;19237:21;:38;;;;:::i;:::-;19219:56;;19289:68;19302:6;19310:46;19322:7;19331:9;:24;;;;;;;;;;;;19310:46;;:11;:46::i;:::-;19289:12;:68::i;:::-;18614:751;;;;;9871:5:::0;9862:6;;:14;;;;;;;;;;;;;;;;;;18551:814;:::o;19374:375::-;19437:29;19469:53;19481:12;19495:9;:26;;;;;;;;;;;;19469:53;;:11;:53::i;:::-;19437:85;;19533:30;19566:54;19578:12;19592:9;:27;;;;;;;;;;;;19566:54;;:11;:54::i;:::-;19533:87;;19634:47;19643:15;;;;;;;;;;;19659:21;19634:8;:47::i;:::-;;19692:49;19701:16;;;;;;;;;;;19718:22;19692:8;:49::i;:::-;;19426:323;;19374:375;:::o;19758:505::-;19902:58;19919:4;19934:15;;;;;;;;;;;19952:7;19902:8;:58::i;:::-;20004:15;;;;;;;;;;;:31;;;20043:9;20076:4;20096:7;20118:1;20161;20212;20229:15;20004:251;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19758:505;;:::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:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;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:93::-;5559:7;5599:10;5592:5;5588:22;5577:33;;5523:93;;;:::o;5622:115::-;5707:23;5724:5;5707:23;:::i;:::-;5702:3;5695:36;5622:115;;:::o;5743:218::-;5834:4;5872:2;5861:9;5857:18;5849:26;;5885:69;5951:1;5940:9;5936:17;5927:6;5885:69;:::i;:::-;5743:218;;;;:::o;5967:117::-;6076:1;6073;6066:12;6090:180;6138:77;6135:1;6128:88;6235:4;6232:1;6225:15;6259:4;6256:1;6249:15;6276:281;6359:27;6381:4;6359:27;:::i;:::-;6351:6;6347:40;6489:6;6477:10;6474:22;6453:18;6441:10;6438:34;6435:62;6432:88;;;6500:18;;:::i;:::-;6432:88;6540:10;6536:2;6529:22;6319:238;6276:281;;:::o;6563:129::-;6597:6;6624:20;;:::i;:::-;6614:30;;6653:33;6681:4;6673:6;6653:33;:::i;:::-;6563:129;;;:::o;6698:311::-;6775:4;6865:18;6857:6;6854:30;6851:56;;;6887:18;;:::i;:::-;6851:56;6937:4;6929:6;6925:17;6917:25;;6997:4;6991;6987:15;6979:23;;6698:311;;;:::o;7015:117::-;7124:1;7121;7114:12;7155:710;7251:5;7276:81;7292:64;7349:6;7292:64;:::i;:::-;7276:81;:::i;:::-;7267:90;;7377:5;7406:6;7399:5;7392:21;7440:4;7433:5;7429:16;7422:23;;7493:4;7485:6;7481:17;7473:6;7469:30;7522:3;7514:6;7511:15;7508:122;;;7541:79;;:::i;:::-;7508:122;7656:6;7639:220;7673:6;7668:3;7665:15;7639:220;;;7748:3;7777:37;7810:3;7798:10;7777:37;:::i;:::-;7772:3;7765:50;7844:4;7839:3;7835:14;7828:21;;7715:144;7699:4;7694:3;7690:14;7683:21;;7639:220;;;7643:21;7257:608;;7155:710;;;;;:::o;7888:370::-;7959:5;8008:3;8001:4;7993:6;7989:17;7985:27;7975:122;;8016:79;;:::i;:::-;7975:122;8133:6;8120:20;8158:94;8248:3;8240:6;8233:4;8225:6;8221:17;8158:94;:::i;:::-;8149:103;;7965:293;7888:370;;;;:::o;8264:116::-;8334:21;8349:5;8334:21;:::i;:::-;8327:5;8324:32;8314:60;;8370:1;8367;8360:12;8314:60;8264:116;:::o;8386:133::-;8429:5;8467:6;8454:20;8445:29;;8483:30;8507:5;8483:30;:::i;:::-;8386:133;;;;:::o;8525:678::-;8615:6;8623;8672:2;8660:9;8651:7;8647:23;8643:32;8640:119;;;8678:79;;:::i;:::-;8640:119;8826:1;8815:9;8811:17;8798:31;8856:18;8848:6;8845:30;8842:117;;;8878:79;;:::i;:::-;8842:117;8983:78;9053:7;9044:6;9033:9;9029:22;8983:78;:::i;:::-;8973:88;;8769:302;9110:2;9136:50;9178:7;9169:6;9158:9;9154:22;9136:50;:::i;:::-;9126:60;;9081:115;8525:678;;;;;:::o;9209:118::-;9296:24;9314:5;9296:24;:::i;:::-;9291:3;9284:37;9209:118;;:::o;9333:222::-;9426:4;9464:2;9453:9;9449:18;9441:26;;9477:71;9545:1;9534:9;9530:17;9521:6;9477:71;:::i;:::-;9333:222;;;;:::o;9561:120::-;9633:23;9650:5;9633:23;:::i;:::-;9626:5;9623:34;9613:62;;9671:1;9668;9661:12;9613:62;9561:120;:::o;9687:137::-;9732:5;9770:6;9757:20;9748:29;;9786:32;9812:5;9786:32;:::i;:::-;9687:137;;;;:::o;9830:611::-;9903:6;9911;9919;9968:2;9956:9;9947:7;9943:23;9939:32;9936:119;;;9974:79;;:::i;:::-;9936:119;10094:1;10119:53;10164:7;10155:6;10144:9;10140:22;10119:53;:::i;:::-;10109:63;;10065:117;10221:2;10247:52;10291:7;10282:6;10271:9;10267:22;10247:52;:::i;:::-;10237:62;;10192:117;10348:2;10374:50;10416:7;10407:6;10396:9;10392:22;10374:50;:::i;:::-;10364:60;;10319:115;9830:611;;;;;:::o;10447:323::-;10503:6;10552:2;10540:9;10531:7;10527:23;10523:32;10520:119;;;10558:79;;:::i;:::-;10520:119;10678:1;10703:50;10745:7;10736:6;10725:9;10721:22;10703:50;:::i;:::-;10693:60;;10649:114;10447:323;;;;:::o;10776:430::-;10919:4;10957:2;10946:9;10942:18;10934:26;;10970:69;11036:1;11025:9;11021:17;11012:6;10970:69;:::i;:::-;11049:70;11115:2;11104:9;11100:18;11091:6;11049:70;:::i;:::-;11129;11195:2;11184:9;11180:18;11171:6;11129:70;:::i;:::-;10776:430;;;;;;:::o;11212:470::-;11278:6;11286;11335:2;11323:9;11314:7;11310:23;11306:32;11303:119;;;11341:79;;:::i;:::-;11303:119;11461:1;11486:52;11530:7;11521:6;11510:9;11506:22;11486:52;:::i;:::-;11476:62;;11432:116;11587:2;11613:52;11657:7;11648:6;11637:9;11633:22;11613:52;:::i;:::-;11603:62;;11558:117;11212:470;;;;;:::o;11688:117::-;11797:1;11794;11787:12;11828:568;11901:8;11911:6;11961:3;11954:4;11946:6;11942:17;11938:27;11928:122;;11969:79;;:::i;:::-;11928:122;12082:6;12069:20;12059:30;;12112:18;12104:6;12101:30;12098:117;;;12134:79;;:::i;:::-;12098:117;12248:4;12240:6;12236:17;12224:29;;12302:3;12294:4;12286:6;12282:17;12272:8;12268:32;12265:41;12262:128;;;12309:79;;:::i;:::-;12262:128;11828:568;;;;;:::o;12402:704::-;12497:6;12505;12513;12562:2;12550:9;12541:7;12537:23;12533:32;12530:119;;;12568:79;;:::i;:::-;12530:119;12716:1;12705:9;12701:17;12688:31;12746:18;12738:6;12735:30;12732:117;;;12768:79;;:::i;:::-;12732:117;12881:80;12953:7;12944:6;12933:9;12929:22;12881:80;:::i;:::-;12863:98;;;;12659:312;13010:2;13036:53;13081:7;13072:6;13061:9;13057:22;13036:53;:::i;:::-;13026:63;;12981:118;12402:704;;;;;:::o;13112:474::-;13180:6;13188;13237:2;13225:9;13216:7;13212:23;13208:32;13205:119;;;13243:79;;:::i;:::-;13205:119;13363:1;13388:53;13433:7;13424:6;13413:9;13409:22;13388:53;:::i;:::-;13378:63;;13334:117;13490:2;13516:53;13561:7;13552:6;13541:9;13537:22;13516:53;:::i;:::-;13506:63;;13461:118;13112:474;;;;;:::o;13592:180::-;13640:77;13637:1;13630:88;13737:4;13734:1;13727:15;13761:4;13758:1;13751:15;13778:102;13820:8;13867:5;13864:1;13860:13;13839:34;;13778:102;;;:::o;13886:848::-;13947:5;13954:4;13978:6;13969:15;;14002:5;13993:14;;14016:712;14037:1;14027:8;14024:15;14016:712;;;14132:4;14127:3;14123:14;14117:4;14114:24;14111:50;;;14141:18;;:::i;:::-;14111:50;14191:1;14181:8;14177:16;14174:451;;;14606:4;14599:5;14595:16;14586:25;;14174:451;14656:4;14650;14646:15;14638:23;;14686:32;14709:8;14686:32;:::i;:::-;14674:44;;14016:712;;;13886:848;;;;;;;:::o;14740:1073::-;14794:5;14985:8;14975:40;;15006:1;14997:10;;15008:5;;14975:40;15034:4;15024:36;;15051:1;15042:10;;15053:5;;15024:36;15120:4;15168:1;15163:27;;;;15204:1;15199:191;;;;15113:277;;15163:27;15181:1;15172:10;;15183:5;;;15199:191;15244:3;15234:8;15231:17;15228:43;;;15251:18;;:::i;:::-;15228:43;15300:8;15297:1;15293:16;15284:25;;15335:3;15328:5;15325:14;15322:40;;;15342:18;;:::i;:::-;15322:40;15375:5;;;15113:277;;15499:2;15489:8;15486:16;15480:3;15474:4;15471:13;15467:36;15449:2;15439:8;15436:16;15431:2;15425:4;15422:12;15418:35;15402:111;15399:246;;;15555:8;15549:4;15545:19;15536:28;;15590:3;15583:5;15580:14;15577:40;;;15597:18;;:::i;:::-;15577:40;15630:5;;15399:246;15670:42;15708:3;15698:8;15692:4;15689:1;15670:42;:::i;:::-;15655:57;;;;15744:4;15739:3;15735:14;15728:5;15725:25;15722:51;;;15753:18;;:::i;:::-;15722:51;15802:4;15795:5;15791:16;15782:25;;14740:1073;;;;;;:::o;15819:281::-;15877:5;15901:23;15919:4;15901:23;:::i;:::-;15893:31;;15945:25;15961:8;15945:25;:::i;:::-;15933:37;;15989:104;16026:66;16016:8;16010:4;15989:104;:::i;:::-;15980:113;;15819:281;;;;:::o;16106:410::-;16146:7;16169:20;16187:1;16169:20;:::i;:::-;16164:25;;16203:20;16221:1;16203:20;:::i;:::-;16198:25;;16258:1;16255;16251:9;16280:30;16298:11;16280:30;:::i;:::-;16269:41;;16459:1;16450:7;16446:15;16443:1;16440:22;16420:1;16413:9;16393:83;16370:139;;16489:18;;:::i;:::-;16370:139;16154:362;16106:410;;;;:::o;16522:191::-;16562:3;16581:20;16599:1;16581:20;:::i;:::-;16576:25;;16615:20;16633:1;16615:20;:::i;:::-;16610:25;;16658:1;16655;16651:9;16644:16;;16679:3;16676:1;16673:10;16670:36;;;16686:18;;:::i;:::-;16670:36;16522:191;;;;:::o;16719:170::-;16859:22;16855:1;16847:6;16843:14;16836:46;16719:170;:::o;16895:366::-;17037:3;17058:67;17122:2;17117:3;17058:67;:::i;:::-;17051:74;;17134:93;17223:3;17134:93;:::i;:::-;17252:2;17247:3;17243:12;17236:19;;16895:366;;;:::o;17267:419::-;17433:4;17471:2;17460:9;17456:18;17448:26;;17520:9;17514:4;17510:20;17506:1;17495:9;17491:17;17484:47;17548:131;17674:4;17548:131;:::i;:::-;17540:139;;17267:419;;;:::o;17692:143::-;17749:5;17780:6;17774:13;17765:22;;17796:33;17823:5;17796:33;:::i;:::-;17692:143;;;;:::o;17841:351::-;17911:6;17960:2;17948:9;17939:7;17935:23;17931:32;17928:119;;;17966:79;;:::i;:::-;17928:119;18086:1;18111:64;18167:7;18158:6;18147:9;18143:22;18111:64;:::i;:::-;18101:74;;18057:128;17841:351;;;;:::o;18198:164::-;18338:16;18334:1;18326:6;18322:14;18315:40;18198:164;:::o;18368:366::-;18510:3;18531:67;18595:2;18590:3;18531:67;:::i;:::-;18524:74;;18607:93;18696:3;18607:93;:::i;:::-;18725:2;18720:3;18716:12;18709:19;;18368:366;;;:::o;18740:419::-;18906:4;18944:2;18933:9;18929:18;18921:26;;18993:9;18987:4;18983:20;18979:1;18968:9;18964:17;18957:47;19021:131;19147:4;19021:131;:::i;:::-;19013:139;;18740:419;;;:::o;19165:180::-;19213:77;19210:1;19203:88;19310:4;19307:1;19300:15;19334:4;19331:1;19324:15;19351:162;19491:14;19487:1;19479:6;19475:14;19468:38;19351:162;:::o;19519:366::-;19661:3;19682:67;19746:2;19741:3;19682:67;:::i;:::-;19675:74;;19758:93;19847:3;19758:93;:::i;:::-;19876:2;19871:3;19867:12;19860:19;;19519:366;;;:::o;19891:419::-;20057:4;20095:2;20084:9;20080:18;20072:26;;20144:9;20138:4;20134:20;20130:1;20119:9;20115:17;20108:47;20172:131;20298:4;20172:131;:::i;:::-;20164:139;;19891:419;;;:::o;20316:222::-;20456:34;20452:1;20444:6;20440:14;20433:58;20525:5;20520:2;20512:6;20508:15;20501:30;20316:222;:::o;20544:366::-;20686:3;20707:67;20771:2;20766:3;20707:67;:::i;:::-;20700:74;;20783:93;20872:3;20783:93;:::i;:::-;20901:2;20896:3;20892:12;20885:19;;20544:366;;;:::o;20916:419::-;21082:4;21120:2;21109:9;21105:18;21097:26;;21169:9;21163:4;21159:20;21155:1;21144:9;21140:17;21133:47;21197:131;21323:4;21197:131;:::i;:::-;21189:139;;20916:419;;;:::o;21341:225::-;21481:34;21477:1;21469:6;21465:14;21458:58;21550:8;21545:2;21537:6;21533:15;21526:33;21341:225;:::o;21572:366::-;21714:3;21735:67;21799:2;21794:3;21735:67;:::i;:::-;21728:74;;21811:93;21900:3;21811:93;:::i;:::-;21929:2;21924:3;21920:12;21913:19;;21572:366;;;:::o;21944:419::-;22110:4;22148:2;22137:9;22133:18;22125:26;;22197:9;22191:4;22187:20;22183:1;22172:9;22168:17;22161:47;22225:131;22351:4;22225:131;:::i;:::-;22217:139;;21944:419;;;:::o;22369:223::-;22509:34;22505:1;22497:6;22493:14;22486:58;22578:6;22573:2;22565:6;22561:15;22554:31;22369:223;:::o;22598:366::-;22740:3;22761:67;22825:2;22820:3;22761:67;:::i;:::-;22754:74;;22837:93;22926:3;22837:93;:::i;:::-;22955:2;22950:3;22946:12;22939:19;;22598:366;;;:::o;22970:419::-;23136:4;23174:2;23163:9;23159:18;23151:26;;23223:9;23217:4;23213:20;23209:1;23198:9;23194:17;23187:47;23251:131;23377:4;23251:131;:::i;:::-;23243:139;;22970:419;;;:::o;23395:221::-;23535:34;23531:1;23523:6;23519:14;23512:58;23604:4;23599:2;23591:6;23587:15;23580:29;23395:221;:::o;23622:366::-;23764:3;23785:67;23849:2;23844:3;23785:67;:::i;:::-;23778:74;;23861:93;23950:3;23861:93;:::i;:::-;23979:2;23974:3;23970:12;23963:19;;23622:366;;;:::o;23994:419::-;24160:4;24198:2;24187:9;24183:18;24175:26;;24247:9;24241:4;24237:20;24233:1;24222:9;24218:17;24211:47;24275:131;24401:4;24275:131;:::i;:::-;24267:139;;23994:419;;;:::o;24419:182::-;24559:34;24555:1;24547:6;24543:14;24536:58;24419:182;:::o;24607:366::-;24749:3;24770:67;24834:2;24829:3;24770:67;:::i;:::-;24763:74;;24846:93;24935:3;24846:93;:::i;:::-;24964:2;24959:3;24955:12;24948:19;;24607:366;;;:::o;24979:419::-;25145:4;25183:2;25172:9;25168:18;25160:26;;25232:9;25226:4;25222:20;25218:1;25207:9;25203:17;25196:47;25260:131;25386:4;25260:131;:::i;:::-;25252:139;;24979:419;;;:::o;25404:179::-;25544:31;25540:1;25532:6;25528:14;25521:55;25404:179;:::o;25589:366::-;25731:3;25752:67;25816:2;25811:3;25752:67;:::i;:::-;25745:74;;25828:93;25917:3;25828:93;:::i;:::-;25946:2;25941:3;25937:12;25930:19;;25589:366;;;:::o;25961:419::-;26127:4;26165:2;26154:9;26150:18;26142:26;;26214:9;26208:4;26204:20;26200:1;26189:9;26185:17;26178:47;26242:131;26368:4;26242:131;:::i;:::-;26234:139;;25961:419;;;:::o;26386:224::-;26526:34;26522:1;26514:6;26510:14;26503:58;26595:7;26590:2;26582:6;26578:15;26571:32;26386:224;:::o;26616:366::-;26758:3;26779:67;26843:2;26838:3;26779:67;:::i;:::-;26772:74;;26855:93;26944:3;26855:93;:::i;:::-;26973:2;26968:3;26964:12;26957:19;;26616:366;;;:::o;26988:419::-;27154:4;27192:2;27181:9;27177:18;27169:26;;27241:9;27235:4;27231:20;27227:1;27216:9;27212:17;27205:47;27269:131;27395:4;27269:131;:::i;:::-;27261:139;;26988:419;;;:::o;27413:228::-;27553:34;27549:1;27541:6;27537:14;27530:58;27622:11;27617:2;27609:6;27605:15;27598:36;27413:228;:::o;27647:366::-;27789:3;27810:67;27874:2;27869:3;27810:67;:::i;:::-;27803:74;;27886:93;27975:3;27886:93;:::i;:::-;28004:2;27999:3;27995:12;27988:19;;27647:366;;;:::o;28019:419::-;28185:4;28223:2;28212:9;28208:18;28200:26;;28272:9;28266:4;28262:20;28258:1;28247:9;28243:17;28236:47;28300:131;28426:4;28300:131;:::i;:::-;28292:139;;28019:419;;;:::o;28444:169::-;28584:21;28580:1;28572:6;28568:14;28561:45;28444:169;:::o;28619:366::-;28761:3;28782:67;28846:2;28841:3;28782:67;:::i;:::-;28775:74;;28858:93;28947:3;28858:93;:::i;:::-;28976:2;28971:3;28967:12;28960:19;;28619:366;;;:::o;28991:419::-;29157:4;29195:2;29184:9;29180:18;29172:26;;29244:9;29238:4;29234:20;29230:1;29219:9;29215:17;29208:47;29272:131;29398:4;29272:131;:::i;:::-;29264:139;;28991:419;;;:::o;29416:180::-;29556:32;29552:1;29544:6;29540:14;29533:56;29416:180;:::o;29602:366::-;29744:3;29765:67;29829:2;29824:3;29765:67;:::i;:::-;29758:74;;29841:93;29930:3;29841:93;:::i;:::-;29959:2;29954:3;29950:12;29943:19;;29602:366;;;:::o;29974:419::-;30140:4;30178:2;30167:9;30163:18;30155:26;;30227:9;30221:4;30217:20;30213:1;30202:9;30198:17;30191:47;30255:131;30381:4;30255:131;:::i;:::-;30247:139;;29974:419;;;:::o;30399:168::-;30539:20;30535:1;30527:6;30523:14;30516:44;30399:168;:::o;30573:366::-;30715:3;30736:67;30800:2;30795:3;30736:67;:::i;:::-;30729:74;;30812:93;30901:3;30812:93;:::i;:::-;30930:2;30925:3;30921:12;30914:19;;30573:366;;;:::o;30945:419::-;31111:4;31149:2;31138:9;31134:18;31126:26;;31198:9;31192:4;31188:20;31184:1;31173:9;31169:17;31162:47;31226:131;31352:4;31226:131;:::i;:::-;31218:139;;30945:419;;;:::o;31370:164::-;31510:16;31506:1;31498:6;31494:14;31487:40;31370:164;:::o;31540:366::-;31682:3;31703:67;31767:2;31762:3;31703:67;:::i;:::-;31696:74;;31779:93;31868:3;31779:93;:::i;:::-;31897:2;31892:3;31888:12;31881:19;;31540:366;;;:::o;31912:419::-;32078:4;32116:2;32105:9;32101:18;32093:26;;32165:9;32159:4;32155:20;32151:1;32140:9;32136:17;32129:47;32193:131;32319:4;32193:131;:::i;:::-;32185:139;;31912:419;;;:::o;32337:180::-;32385:77;32382:1;32375:88;32482:4;32479:1;32472:15;32506:4;32503:1;32496:15;32523:185;32563:1;32580:20;32598:1;32580:20;:::i;:::-;32575:25;;32614:20;32632:1;32614:20;:::i;:::-;32609:25;;32653:1;32643:35;;32658:18;;:::i;:::-;32643:35;32700:1;32697;32693:9;32688:14;;32523:185;;;;:::o;32714:225::-;32854:34;32850:1;32842:6;32838:14;32831:58;32923:8;32918:2;32910:6;32906:15;32899:33;32714:225;:::o;32945:366::-;33087:3;33108:67;33172:2;33167:3;33108:67;:::i;:::-;33101:74;;33184:93;33273:3;33184:93;:::i;:::-;33302:2;33297:3;33293:12;33286:19;;32945:366;;;:::o;33317:419::-;33483:4;33521:2;33510:9;33506:18;33498:26;;33570:9;33564:4;33560:20;33556:1;33545:9;33541:17;33534:47;33598:131;33724:4;33598:131;:::i;:::-;33590:139;;33317:419;;;:::o;33742:200::-;33781:4;33801:19;33818:1;33801:19;:::i;:::-;33796:24;;33834:19;33851:1;33834:19;:::i;:::-;33829:24;;33877:1;33874;33870:9;33862:17;;33901:10;33895:4;33892:20;33889:46;;;33915:18;;:::i;:::-;33889:46;33742:200;;;;:::o;33948:194::-;33988:4;34008:20;34026:1;34008:20;:::i;:::-;34003:25;;34042:20;34060:1;34042:20;:::i;:::-;34037:25;;34086:1;34083;34079:9;34071:17;;34110:1;34104:4;34101:11;34098:37;;;34115:18;;:::i;:::-;34098:37;33948:194;;;;:::o;34148:143::-;34205:5;34236:6;34230:13;34221:22;;34252:33;34279:5;34252:33;:::i;:::-;34148:143;;;;:::o;34297:351::-;34367:6;34416:2;34404:9;34395:7;34391:23;34387:32;34384:119;;;34422:79;;:::i;:::-;34384:119;34542:1;34567:64;34623:7;34614:6;34603:9;34599:22;34567:64;:::i;:::-;34557:74;;34513:128;34297:351;;;;:::o;34654:85::-;34699:7;34728:5;34717:16;;34654:85;;;:::o;34745:60::-;34773:3;34794:5;34787:12;;34745:60;;;:::o;34811:158::-;34869:9;34902:61;34920:42;34929:32;34955:5;34929:32;:::i;:::-;34920:42;:::i;:::-;34902:61;:::i;:::-;34889:74;;34811:158;;;:::o;34975:147::-;35070:45;35109:5;35070:45;:::i;:::-;35065:3;35058:58;34975:147;;:::o;35128:114::-;35195:6;35229:5;35223:12;35213:22;;35128:114;;;:::o;35248:184::-;35347:11;35381:6;35376:3;35369:19;35421:4;35416:3;35412:14;35397:29;;35248:184;;;;:::o;35438:132::-;35505:4;35528:3;35520:11;;35558:4;35553:3;35549:14;35541:22;;35438:132;;;:::o;35576:108::-;35653:24;35671:5;35653:24;:::i;:::-;35648:3;35641:37;35576:108;;:::o;35690:179::-;35759:10;35780:46;35822:3;35814:6;35780:46;:::i;:::-;35858:4;35853:3;35849:14;35835:28;;35690:179;;;;:::o;35875:113::-;35945:4;35977;35972:3;35968:14;35960:22;;35875:113;;;:::o;36024:732::-;36143:3;36172:54;36220:5;36172:54;:::i;:::-;36242:86;36321:6;36316:3;36242:86;:::i;:::-;36235:93;;36352:56;36402:5;36352:56;:::i;:::-;36431:7;36462:1;36447:284;36472:6;36469:1;36466:13;36447:284;;;36548:6;36542:13;36575:63;36634:3;36619:13;36575:63;:::i;:::-;36568:70;;36661:60;36714:6;36661:60;:::i;:::-;36651:70;;36507:224;36494:1;36491;36487:9;36482:14;;36447:284;;;36451:14;36747:3;36740:10;;36148:608;;;36024:732;;;;:::o;36762:831::-;37025:4;37063:3;37052:9;37048:19;37040:27;;37077:71;37145:1;37134:9;37130:17;37121:6;37077:71;:::i;:::-;37158:80;37234:2;37223:9;37219:18;37210:6;37158:80;:::i;:::-;37285:9;37279:4;37275:20;37270:2;37259:9;37255:18;37248:48;37313:108;37416:4;37407:6;37313:108;:::i;:::-;37305:116;;37431:72;37499:2;37488:9;37484:18;37475:6;37431:72;:::i;:::-;37513:73;37581:3;37570:9;37566:19;37557:6;37513:73;:::i;:::-;36762:831;;;;;;;;:::o;37599:807::-;37848:4;37886:3;37875:9;37871:19;37863:27;;37900:71;37968:1;37957:9;37953:17;37944:6;37900:71;:::i;:::-;37981:72;38049:2;38038:9;38034:18;38025:6;37981:72;:::i;:::-;38063:80;38139:2;38128:9;38124:18;38115:6;38063:80;:::i;:::-;38153;38229:2;38218:9;38214:18;38205:6;38153:80;:::i;:::-;38243:73;38311:3;38300:9;38296:19;38287:6;38243:73;:::i;:::-;38326;38394:3;38383:9;38379:19;38370:6;38326:73;:::i;:::-;37599:807;;;;;;;;;:::o;38412:663::-;38500:6;38508;38516;38565:2;38553:9;38544:7;38540:23;38536:32;38533:119;;;38571:79;;:::i;:::-;38533:119;38691:1;38716:64;38772:7;38763:6;38752:9;38748:22;38716:64;:::i;:::-;38706:74;;38662:128;38829:2;38855:64;38911:7;38902:6;38891:9;38887:22;38855:64;:::i;:::-;38845:74;;38800:129;38968:2;38994:64;39050:7;39041:6;39030:9;39026:22;38994:64;:::i;:::-;38984:74;;38939:129;38412:663;;;;;:::o

Swarm Source

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