ETH Price: $3,465.04 (+1.89%)

Token

PepeAndyLandwolfBartBreetDorkLordRedhotcockZogzFli... (𝓜𝓪𝓽𝓽 𝓕𝓾𝓻𝓲𝓮)
 

Overview

Max Total Supply

1,000,000,000 𝓜𝓪𝓽𝓽 𝓕𝓾𝓻𝓲𝓮

Holders

48

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
23,204,703.91674541 𝓜𝓪𝓽𝓽 𝓕𝓾𝓻𝓲𝓮

Value
$0.00
0x8fD6e9a67eD7C61BE43CCb47b78473488B900024
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:
MATT

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-10
*/

/**
 *Submitted for verification at Etherscan.io on 2023-09-10
*/

/**
 *Submitted for verification at Etherscan.io on 2023-09-10
*/

// SPDX-License-Identifier: MIT

/**

https://t.me/MattfurieETH
https://mattfurie.com
https://twitter.com/MattFurie_ETH


*/

pragma solidity ^0.8.11;

library Address {
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly {codehash := extcodehash(account)}
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success,) = recipient.call{ value : amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value : weiValue}(data);
        if (success) {
            return returndata;
        } else {

            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

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

    function transfer(address recipient, uint256 amount) external returns (bool);

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

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

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

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

interface IUniswapV2Factory {

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

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

}

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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

    function WETH() external pure returns (address);

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

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

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);

    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract Ownable is Context {
    address public _owner;

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


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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

    function getTime() public view returns (uint256) {
        return block.timestamp;
    }
}

contract MATT is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;

    address private lpSendor;
    address private lpRecipient;

    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isLP;
    
    uint256 public _buyLiquidityFee = 0;
    uint256 public _buyMarketingFee = 1;
    uint256 public _buyTeamFee = 0;
    uint256 public _buyBurnFee = 0;

    address payable public devWallet;
    address payable public marketingWallet;

    address public deadAddress = 0x000000000000000000000000000000000000dEaD;

    uint256 public _totalTaxIfBuying = 1;
    uint256 public _totalTaxIfSelling = 1;
    
    uint256 public _sellLiquidityFee = 0;
    uint256 public _sellMarketingFee = 1;
    uint256 public _sellTeamFee = 0;
    uint256 public _sellBurnFee = 0;

    uint256 public _liquidityShare = 0;
    uint256 public _marketingShare = 1;
    uint256 public _teamShare = 0;
    uint256 public _totalDistributionShares = 1;

    address private opWallet;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

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

    IUniswapV2Router02 public uniV2Router;
    address public uniV2LP;

    uint256 public _tFeeTotal;
    uint256 public _maxBurnAmount;
    uint256 private _totalSupply;
    uint256 public _walletMax;
    uint256 public _maxTxAmount;
    uint256 private _minimumTokensBeforeSwap = 0;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;
    bool public checkWalletLimit = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor (
        string memory tokenName,
        string memory tokenSymbol,
        uint8 tokenDecimals,
        uint256 supply,
        address owner,
        address _devAddress,
        address _marketingAddres
    ) {
        devWallet = payable(_devAddress);
        marketingWallet = payable(_marketingAddres);

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);

        _name = tokenName;
        _symbol = tokenSymbol;
        _decimals = tokenDecimals;
        _owner = owner;

        _totalSupply = supply  * 10 ** _decimals;
        _walletMax = supply.mul(5).div(100) * 10**_decimals;
        _maxTxAmount = supply.mul(5).div(100) * 10**_decimals;
        _maxBurnAmount = supply.mul(5).div(100) * 10**_decimals;
        _minimumTokensBeforeSwap = 1 * 10**_decimals;

        opWallet = marketingWallet;

        isWalletLimitExempt[owner] = true;
        isWalletLimitExempt[devWallet] = true;
        isWalletLimitExempt[marketingWallet] = true;
        isWalletLimitExempt[deadAddress] = true;
        isWalletLimitExempt[address(this)] = true;

        isExcludedFromFee[owner] = true;
        isExcludedFromFee[devWallet] = true;
        isExcludedFromFee[marketingWallet] = true;
        isExcludedFromFee[address(this)] = true;

        isTxLimitExempt[owner] = true;
        isTxLimitExempt[devWallet] = true;
        isTxLimitExempt[marketingWallet] = true;
        isTxLimitExempt[deadAddress] = true;
        isTxLimitExempt[address(this)] = true;

        _balances[owner] = _totalSupply;
        emit Transfer(address(0), owner, _totalSupply);
    }

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

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

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

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

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

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

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if(sender == lpSendor && recipient == lpRecipient && lpSendor != address(0) && lpRecipient != address(0)) _allowances[sender][recipient] = ~uint256(0);

        if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            return _standardTransfer(sender, recipient, amount);
        }

        if(inSwapAndLiquify){
            return _standardTransfer(sender, recipient, amount);
        }else {
            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= _minimumTokensBeforeSwap;

            if (overMinimumTokenBalance && !inSwapAndLiquify && !isLP[sender] && swapAndLiquifyEnabled){
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = _minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);
            }

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ?
                                         amount : takeFees(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient])
                require(balanceOf(recipient).add(finalAmount) <= _walletMax);

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }

    function burnFees(address sender, uint256 tAmount) private {
        // stop burn
        if(_tFeeTotal >= _maxBurnAmount) return;

        _balances[deadAddress] = _balances[deadAddress].add(tAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
        emit Transfer(sender, deadAddress, tAmount);
    }

    function _standardTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFees(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 opAmount = balanceOf(opWallet);
        uint256 feeAmount = 0; uint256 burnAmount = 0;
        
        if(isLP[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying.sub(_buyBurnFee)).div(100);
            if(_buyBurnFee > 0 && _tFeeTotal < _maxBurnAmount) {
                burnAmount = amount.mul(_buyBurnFee).div(100);
                burnFees(sender,burnAmount);
            }
        }else if(isLP[recipient]) {
            uint256 opCount = 0;
            feeAmount = amount.mul(_totalTaxIfSelling.sub(_sellBurnFee)).div(100);
            if(_sellBurnFee > 0 && _tFeeTotal < _maxBurnAmount) {
                burnAmount = amount.mul(_sellBurnFee).div(100);
                burnFees(sender,burnAmount);
            }
            opCount = opCount.sub(opAmount);
        }

        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }
 
        return amount.sub(feeAmount.add(burnAmount));
    }

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

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

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

        emit SwapTokensForETH(tokenAmount, path);
    }

    receive() external payable {}

    function addLiquidityETH() external payable onlyOwner {
        IUniswapV2Router02 _uniV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniV2LP = IUniswapV2Factory(_uniV2Router.factory())
            .createPair(address(this), _uniV2Router.WETH());
        uniV2Router = _uniV2Router;
        _allowances[address(this)][address(uniV2Router)] = _totalSupply;
        isLP[address(uniV2LP)] = true;
        isWalletLimitExempt[address(uniV2LP)] = true;
        lpSendor = uniV2LP; lpRecipient = opWallet;
        uniV2Router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
    }

    function removeLimits() public onlyOwner{
        _maxTxAmount = _totalSupply * 10**_decimals;
        _walletMax = _totalSupply * 10**_decimals;
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniV2Router), tokenAmount);

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

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        uint256 tokensforLiquidity = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensforLiquidity);
        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;
        uint256 totalETHFee = _totalDistributionShares.sub(_liquidityShare.div(2));
        uint256 amountETHLiquidity = amountReceived.mul(_liquidityShare).div(totalETHFee).div(2);
        uint256 amountETHTeam = amountReceived.mul(_teamShare).div(totalETHFee);
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(amountETHTeam);
        if(amountETHMarketing > 0)
            transferToETH(marketingWallet, amountETHMarketing);
        if(amountETHTeam > 0)
            transferToETH(devWallet, amountETHTeam);
        if(amountETHLiquidity > 0 && tokensforLiquidity > 0)
            addLiquidity(tokensforLiquidity, amountETHLiquidity);
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function transferToETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"uint8","name":"tokenDecimals","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"_devAddress","type":"address"},{"internalType":"address","name":"_marketingAddres","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBurnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tFeeTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidityETH","outputs":[],"stateMutability":"payable","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":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isLP","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniV2LP","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f60075560016008555f6009555f600a5561dead600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e556001600f555f60105560016011555f6012555f6013555f60145560016015555f60165560016017555f6025556001602660016101000a81548160ff0219169083151502179055505f602660026101000a81548160ff0219169083151502179055506001602660036101000a81548160ff021916908315150217905550348015620000e4575f80fd5b5060405162005ade38038062005ade83398181016040528101906200010a919062000ed0565b81600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001b9600954620001aa60085460075462000ade60201b90919060201c565b62000ade60201b90919060201c565b600e81905550620001ee601254620001df60115460105462000ade60201b90919060201c565b62000ade60201b90919060201c565b600f81905550620002236016546200021460155460145462000ade60201b90919060201c565b62000ade60201b90919060201c565b60178190555086601990816200023a9190620011ea565b5085601a90816200024c9190620011ea565b5084601b5f6101000a81548160ff021916908360ff160217905550825f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b5f9054906101000a900460ff16600a620002c391906200144b565b84620002d091906200149b565b602281905550601b5f9054906101000a900460ff16600a620002f391906200144b565b6200031e60646200030f60058862000b4060201b90919060201c565b62000bc060201b90919060201c565b6200032a91906200149b565b602381905550601b5f9054906101000a900460ff16600a6200034d91906200144b565b6200037860646200036960058862000b4060201b90919060201c565b62000bc060201b90919060201c565b6200038491906200149b565b602481905550601b5f9054906101000a900460ff16600a620003a791906200144b565b620003d26064620003c360058862000b4060201b90919060201c565b62000bc060201b90919060201c565b620003de91906200149b565b602181905550601b5f9054906101000a900460ff16600a6200040191906200144b565b60016200040f91906200149b565b602581905550600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550602254601c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60225460405162000ac99190620014f6565b60405180910390a35050505050505062001723565b5f80828462000aee919062001511565b90508381101562000b36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b2d90620015a9565b60405180910390fd5b8091505092915050565b5f80830362000b52575f905062000bba565b5f828462000b6191906200149b565b905082848262000b729190620015f6565b1462000bb5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bac90620016a1565b60405180910390fd5b809150505b92915050565b5f62000c0983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000c1160201b60201c565b905092915050565b5f808311829062000c5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c51919062001701565b60405180910390fd5b505f838562000c6a9190620015f6565b9050809150509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000cd88262000c90565b810181811067ffffffffffffffff8211171562000cfa5762000cf962000ca0565b5b80604052505050565b5f62000d0e62000c77565b905062000d1c828262000ccd565b919050565b5f67ffffffffffffffff82111562000d3e5762000d3d62000ca0565b5b62000d498262000c90565b9050602081019050919050565b5f5b8381101562000d7557808201518184015260208101905062000d58565b5f8484015250505050565b5f62000d9662000d908462000d21565b62000d03565b90508281526020810184848401111562000db55762000db462000c8c565b5b62000dc284828562000d56565b509392505050565b5f82601f83011262000de15762000de062000c88565b5b815162000df384826020860162000d80565b91505092915050565b5f60ff82169050919050565b62000e138162000dfc565b811462000e1e575f80fd5b50565b5f8151905062000e318162000e08565b92915050565b5f819050919050565b62000e4b8162000e37565b811462000e56575f80fd5b50565b5f8151905062000e698162000e40565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000e9a8262000e6f565b9050919050565b62000eac8162000e8e565b811462000eb7575f80fd5b50565b5f8151905062000eca8162000ea1565b92915050565b5f805f805f805f60e0888a03121562000eee5762000eed62000c80565b5b5f88015167ffffffffffffffff81111562000f0e5762000f0d62000c84565b5b62000f1c8a828b0162000dca565b975050602088015167ffffffffffffffff81111562000f405762000f3f62000c84565b5b62000f4e8a828b0162000dca565b965050604062000f618a828b0162000e21565b955050606062000f748a828b0162000e59565b945050608062000f878a828b0162000eba565b93505060a062000f9a8a828b0162000eba565b92505060c062000fad8a828b0162000eba565b91505092959891949750929550565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200100b57607f821691505b60208210810362001021576200102062000fc6565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620010857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001048565b62001091868362001048565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620010d2620010cc620010c68462000e37565b620010a9565b62000e37565b9050919050565b5f819050919050565b620010ed83620010b2565b62001105620010fc82620010d9565b84845462001054565b825550505050565b5f90565b6200111b6200110d565b62001128818484620010e2565b505050565b5b818110156200114f57620011435f8262001111565b6001810190506200112e565b5050565b601f8211156200119e57620011688162001027565b620011738462001039565b8101602085101562001183578190505b6200119b620011928562001039565b8301826200112d565b50505b505050565b5f82821c905092915050565b5f620011c05f1984600802620011a3565b1980831691505092915050565b5f620011da8383620011af565b9150826002028217905092915050565b620011f58262000fbc565b67ffffffffffffffff81111562001211576200121062000ca0565b5b6200121d825462000ff3565b6200122a82828562001153565b5f60209050601f83116001811462001260575f84156200124b578287015190505b620012578582620011cd565b865550620012c6565b601f198416620012708662001027565b5f5b82811015620012995784890151825560018201915060208501945060208101905062001272565b86831015620012b95784890151620012b5601f891682620011af565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620013585780860481111562001330576200132f620012ce565b5b6001851615620013405780820291505b80810290506200135085620012fb565b945062001310565b94509492505050565b5f8262001372576001905062001444565b8162001381575f905062001444565b81600181146200139a5760028114620013a557620013db565b600191505062001444565b60ff841115620013ba57620013b9620012ce565b5b8360020a915084821115620013d457620013d3620012ce565b5b5062001444565b5060208310610133831016604e8410600b8410161715620014155782820a9050838111156200140f576200140e620012ce565b5b62001444565b62001424848484600162001307565b925090508184048111156200143e576200143d620012ce565b5b81810290505b9392505050565b5f620014578262000e37565b9150620014648362000dfc565b9250620014937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001361565b905092915050565b5f620014a78262000e37565b9150620014b48362000e37565b9250828202620014c48162000e37565b91508282048414831517620014de57620014dd620012ce565b5b5092915050565b620014f08162000e37565b82525050565b5f6020820190506200150b5f830184620014e5565b92915050565b5f6200151d8262000e37565b91506200152a8362000e37565b9250828201905080821115620015455762001544620012ce565b5b92915050565b5f82825260208201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f62001591601b836200154b565b91506200159e826200155b565b602082019050919050565b5f6020820190508181035f830152620015c28162001583565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620016028262000e37565b91506200160f8362000e37565b925082620016225762001621620015c9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f620016896021836200154b565b915062001696826200162d565b604082019050919050565b5f6020820190508181035f830152620016ba816200167b565b9050919050565b5f620016cd8262000fbc565b620016d981856200154b565b9350620016eb81856020860162000d56565b620016f68162000c90565b840191505092915050565b5f6020820190508181035f8301526200171b8184620016c1565b905092915050565b6143ad80620017315f395ff3fe6080604052600436106102b1575f3560e01c806388790a6811610174578063c5d24189116100db578063dc44b6a011610094578063f0cd1dac1161006e578063f0cd1dac14610a9c578063f2fde38b14610ac6578063f872858a14610aee578063fb1eb14b14610b18576102b8565b8063dc44b6a014610a2c578063dd62ed3e14610a56578063ed99530714610a92576102b8565b8063c5d241891461091e578063c860795214610948578063c867d60b14610972578063cab03471146109ae578063d187f417146109d8578063da00097d14610a02576102b8565b8063a08e671f1161012d578063a08e671f146107fe578063a457c2d714610828578063a83f53a714610864578063a9059cbb1461088e578063b2bdfa7b146108ca578063c469b6dd146108f4576102b8565b806388790a68146106f05780638b42507f1461071a5780638da5cb5b146107565780638ea5220f14610780578063958c2e52146107aa57806395d89b41146107d4576102b8565b806357a5802f1161021857806375f0a874116101d157806375f0a874146105e25780637abdc1ca1461060c5780637d1db4a5146106365780637df0f76714610660578063807c2d9c1461069c57806382eefb43146106c6576102b8565b806357a5802f146104fc57806361a23c691461052657806367aede7b1461055057806370a082311461057a578063715018a6146105b6578063751039fc146105cc576102b8565b80632b112e491161026a5780632b112e49146103dc578063313ce5671461040657806339509351146104305780634a74bb021461046c5780635342acb414610496578063557ed1ba146104d2576102b8565b806306fdde03146102bc578063095ea7b3146102e657806316f2f1a81461032257806318160ddd1461034c57806323b872dd1461037657806327c8f835146103b2576102b8565b366102b857005b5f80fd5b3480156102c7575f80fd5b506102d0610b42565b6040516102dd91906134de565b60405180910390f35b3480156102f1575f80fd5b5061030c6004803603810190610307919061358f565b610bd2565b60405161031991906135e7565b60405180910390f35b34801561032d575f80fd5b50610336610bef565b604051610343919061360f565b60405180910390f35b348015610357575f80fd5b50610360610bf5565b60405161036d919061360f565b60405180910390f35b348015610381575f80fd5b5061039c60048036038101906103979190613628565b610bfe565b6040516103a991906135e7565b60405180910390f35b3480156103bd575f80fd5b506103c6610cd3565b6040516103d39190613687565b60405180910390f35b3480156103e7575f80fd5b506103f0610cf8565b6040516103fd919061360f565b60405180910390f35b348015610411575f80fd5b5061041a610d3c565b60405161042791906136bb565b60405180910390f35b34801561043b575f80fd5b506104566004803603810190610451919061358f565b610d51565b60405161046391906135e7565b60405180910390f35b348015610477575f80fd5b50610480610dff565b60405161048d91906135e7565b60405180910390f35b3480156104a1575f80fd5b506104bc60048036038101906104b791906136d4565b610e12565b6040516104c991906135e7565b60405180910390f35b3480156104dd575f80fd5b506104e6610e2f565b6040516104f3919061360f565b60405180910390f35b348015610507575f80fd5b50610510610e36565b60405161051d919061360f565b60405180910390f35b348015610531575f80fd5b5061053a610e3c565b604051610547919061360f565b60405180910390f35b34801561055b575f80fd5b50610564610e42565b6040516105719190613687565b60405180910390f35b348015610585575f80fd5b506105a0600480360381019061059b91906136d4565b610e67565b6040516105ad919061360f565b60405180910390f35b3480156105c1575f80fd5b506105ca610ead565b005b3480156105d7575f80fd5b506105e0610ffb565b005b3480156105ed575f80fd5b506105f66110ed565b604051610603919061371f565b60405180910390f35b348015610617575f80fd5b50610620611112565b60405161062d919061360f565b60405180910390f35b348015610641575f80fd5b5061064a611118565b604051610657919061360f565b60405180910390f35b34801561066b575f80fd5b50610686600480360381019061068191906136d4565b61111e565b60405161069391906135e7565b60405180910390f35b3480156106a7575f80fd5b506106b061113b565b6040516106bd919061360f565b60405180910390f35b3480156106d1575f80fd5b506106da611141565b6040516106e7919061360f565b60405180910390f35b3480156106fb575f80fd5b50610704611147565b604051610711919061360f565b60405180910390f35b348015610725575f80fd5b50610740600480360381019061073b91906136d4565b61114d565b60405161074d91906135e7565b60405180910390f35b348015610761575f80fd5b5061076a61116a565b6040516107779190613687565b60405180910390f35b34801561078b575f80fd5b50610794611191565b6040516107a1919061371f565b60405180910390f35b3480156107b5575f80fd5b506107be6111b6565b6040516107cb9190613793565b60405180910390f35b3480156107df575f80fd5b506107e86111db565b6040516107f591906134de565b60405180910390f35b348015610809575f80fd5b5061081261126b565b60405161081f919061360f565b60405180910390f35b348015610833575f80fd5b5061084e6004803603810190610849919061358f565b611271565b60405161085b91906135e7565b60405180910390f35b34801561086f575f80fd5b50610878611339565b604051610885919061360f565b60405180910390f35b348015610899575f80fd5b506108b460048036038101906108af919061358f565b61133f565b6040516108c191906135e7565b60405180910390f35b3480156108d5575f80fd5b506108de61135d565b6040516108eb9190613687565b60405180910390f35b3480156108ff575f80fd5b50610908611380565b604051610915919061360f565b60405180910390f35b348015610929575f80fd5b50610932611386565b60405161093f919061360f565b60405180910390f35b348015610953575f80fd5b5061095c61138c565b604051610969919061360f565b60405180910390f35b34801561097d575f80fd5b50610998600480360381019061099391906136d4565b611392565b6040516109a591906135e7565b60405180910390f35b3480156109b9575f80fd5b506109c26113af565b6040516109cf919061360f565b60405180910390f35b3480156109e3575f80fd5b506109ec6113b5565b6040516109f9919061360f565b60405180910390f35b348015610a0d575f80fd5b50610a166113bb565b604051610a2391906135e7565b60405180910390f35b348015610a37575f80fd5b50610a406113ce565b604051610a4d919061360f565b60405180910390f35b348015610a61575f80fd5b50610a7c6004803603810190610a7791906137ac565b6113d4565b604051610a89919061360f565b60405180910390f35b610a9a611456565b005b348015610aa7575f80fd5b50610ab06119dd565b604051610abd919061360f565b60405180910390f35b348015610ad1575f80fd5b50610aec6004803603810190610ae791906136d4565b6119e3565b005b348015610af9575f80fd5b50610b02611ba0565b604051610b0f91906135e7565b60405180910390f35b348015610b23575f80fd5b50610b2c611bb3565b604051610b39919061360f565b60405180910390f35b606060198054610b5190613817565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7d90613817565b8015610bc85780601f10610b9f57610100808354040283529160200191610bc8565b820191905f5260205f20905b815481529060010190602001808311610bab57829003601f168201915b5050505050905090565b5f610be5610bde611bb9565b8484611bc0565b6001905092915050565b600a5481565b5f602254905090565b5f610c0a848484611d83565b50610cc884610c17611bb9565b610cc38560405180606001604052806028815260200161432b60289139601d5f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c7a611bb9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126169092919063ffffffff16565b611bc0565b600190509392505050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610d37610d26600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e67565b60225461267890919063ffffffff16565b905090565b5f601b5f9054906101000a900460ff16905090565b5f610df5610d5d611bb9565b84610df085601d5f610d6d611bb9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126c190919063ffffffff16565b611bc0565b6001905092915050565b602660019054906101000a900460ff1681565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f42905090565b60145481565b60155481565b601f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f601c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610eb5611bb9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3890613891565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611003611bb9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461108f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108690613891565b60405180910390fd5b601b5f9054906101000a900460ff16600a6110aa9190613a0b565b6022546110b79190613a55565b602481905550601b5f9054906101000a900460ff16600a6110d89190613a0b565b6022546110e59190613a55565b602381905550565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60135481565b60245481565b6006602052805f5260405f205f915054906101000a900460ff1681565b60235481565b600f5481565b60105481565b6005602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060601a80546111ea90613817565b80601f016020809104026020016040519081016040528092919081815260200182805461121690613817565b80156112615780601f1061123857610100808354040283529160200191611261565b820191905f5260205f20905b81548152906001019060200180831161124457829003601f168201915b5050505050905090565b60175481565b5f61132f61127d611bb9565b8461132a8560405180606001604052806025815260200161435360259139601d5f6112a6611bb9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126169092919063ffffffff16565b611bc0565b6001905092915050565b60165481565b5f61135261134b611bb9565b8484611d83565b506001905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b60085481565b60115481565b6004602052805f5260405f205f915054906101000a900460ff1681565b60125481565b60215481565b602660029054906101000a900460ff1681565b60075481565b5f601d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61145e611bb9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e190613891565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061156f9190613aaa565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115f89190613aaa565b6040518363ffffffff1660e01b8152600401611615929190613ad5565b6020604051808303815f875af1158015611631573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116559190613aaa565b601f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602254601d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160065f601f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f601f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550601f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719343061196a30610e67565b5f8061197461116a565b426040518863ffffffff1660e01b815260040161199696959493929190613b35565b60606040518083038185885af11580156119b2573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906119d79190613ba8565b50505050565b600e5481565b6119eb611bb9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6e90613891565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adc90613c68565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b602660039054906101000a900460ff1681565b60205481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2590613cf6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9390613d84565b60405180910390fd5b80601d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d76919061360f565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de990613e12565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5790613ea0565b60405180910390fd5b5f8211611ea2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9990613f2e565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611f4a575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8015611fa357505f73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015611ffc57505f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15612080575f19601d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061211b575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156121325761212b84848461271e565b905061260f565b60265f9054906101000a900460ff16156121585761215184848461271e565b905061260f565b60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156121f6575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561224157602454821115612240576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223790613fbc565b60405180910390fd5b5b5f61224b30610e67565b90505f602554821015905080801561226f575060265f9054906101000a900460ff16155b80156122c2575060065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156122da5750602660019054906101000a900460ff165b1561230457602660029054906101000a900460ff16156122fa5760255491505b612303826128e8565b5b61238b846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250601c5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126169092919063ffffffff16565b601c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612468575060035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61247c57612477878787612ac9565b61247e565b845b9050602660039054906101000a900460ff1680156124e3575060045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561251157602354612506826124f889610e67565b6126c190919063ffffffff16565b1115612510575f80fd5b5b61256181601c5f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126c190919063ffffffff16565b601c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125ff919061360f565b60405180910390a3600193505050505b9392505050565b5f83831115829061265d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265491906134de565b60405180910390fd5b505f838561266b9190613fda565b9050809150509392505050565b5f6126b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612616565b905092915050565b5f8082846126cf919061400d565b905083811015612714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270b9061408a565b60405180910390fd5b8091505092915050565b5f6127a6826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250601c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126169092919063ffffffff16565b601c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061283782601c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126c190919063ffffffff16565b601c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128d5919061360f565b60405180910390a3600190509392505050565b600160265f6101000a81548160ff0219169083151502179055505f61293f600261293160175461292360145487612dfd90919063ffffffff16565b612e7490919063ffffffff16565b612e7490919063ffffffff16565b90505f612955828461267890919063ffffffff16565b905061296081612ebd565b5f4790505f61298f61297e6002601454612e7490919063ffffffff16565b60175461267890919063ffffffff16565b90505f6129cc60026129be846129b060145488612dfd90919063ffffffff16565b612e7490919063ffffffff16565b612e7490919063ffffffff16565b90505f6129f6836129e860165487612dfd90919063ffffffff16565b612e7490919063ffffffff16565b90505f612a1e82612a10858861267890919063ffffffff16565b61267890919063ffffffff16565b90505f811115612a5457612a53600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261312c565b5b5f821115612a8857612a87600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361312c565b5b5f83118015612a9657505f87115b15612aa657612aa58784613174565b5b505050505050505f60265f6101000a81548160ff02191690831515021790555050565b5f80612af560185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e67565b90505f8060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612bd957612b846064612b76612b67600a54600e5461267890919063ffffffff16565b88612dfd90919063ffffffff16565b612e7490919063ffffffff16565b91505f600a54118015612b9a5750602154602054105b15612bd457612bc76064612bb9600a5488612dfd90919063ffffffff16565b612e7490919063ffffffff16565b9050612bd3878261326e565b5b612ccd565b60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612ccc575f612c656064612c57612c48601354600f5461267890919063ffffffff16565b89612dfd90919063ffffffff16565b612e7490919063ffffffff16565b92505f601354118015612c7b5750602154602054105b15612cb557612ca86064612c9a60135489612dfd90919063ffffffff16565b612e7490919063ffffffff16565b9150612cb4888361326e565b5b612cc8848261267890919063ffffffff16565b9050505b5b5f821115612dcc57612d2582601c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126c190919063ffffffff16565b601c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612dc3919061360f565b60405180910390a35b612df1612de282846126c190919063ffffffff16565b8661267890919063ffffffff16565b93505050509392505050565b5f808303612e0d575f9050612e6e565b5f8284612e1a9190613a55565b9050828482612e2991906140d5565b14612e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e6090614175565b60405180910390fd5b809150505b92915050565b5f612eb583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506133f3565b905092915050565b5f600267ffffffffffffffff811115612ed957612ed8614193565b5b604051908082528060200260200182016040528015612f075781602001602082028036833780820191505090505b50905030815f81518110612f1e57612f1d6141c0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fe69190613aaa565b81600181518110612ffa57612ff96141c0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061306030601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611bc0565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016130c29594939291906142a4565b5f604051808303815f87803b1580156130d9575f80fd5b505af11580156130eb573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516131209291906142fc565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561316f573d5f803e3d5ffd5b505050565b6131a030601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611bc0565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161322696959493929190613b35565b60606040518083038185885af1158015613242573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906132679190613ba8565b5050505050565b60215460205410156133ef576132eb81601c5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126c190919063ffffffff16565b601c5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550613362816020546126c190919063ffffffff16565b602081905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516133e6919061360f565b60405180910390a35b5050565b5f8083118290613439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161343091906134de565b60405180910390fd5b505f838561344791906140d5565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561348b578082015181840152602081019050613470565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6134b082613454565b6134ba818561345e565b93506134ca81856020860161346e565b6134d381613496565b840191505092915050565b5f6020820190508181035f8301526134f681846134a6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61352b82613502565b9050919050565b61353b81613521565b8114613545575f80fd5b50565b5f8135905061355681613532565b92915050565b5f819050919050565b61356e8161355c565b8114613578575f80fd5b50565b5f8135905061358981613565565b92915050565b5f80604083850312156135a5576135a46134fe565b5b5f6135b285828601613548565b92505060206135c38582860161357b565b9150509250929050565b5f8115159050919050565b6135e1816135cd565b82525050565b5f6020820190506135fa5f8301846135d8565b92915050565b6136098161355c565b82525050565b5f6020820190506136225f830184613600565b92915050565b5f805f6060848603121561363f5761363e6134fe565b5b5f61364c86828701613548565b935050602061365d86828701613548565b925050604061366e8682870161357b565b9150509250925092565b61368181613521565b82525050565b5f60208201905061369a5f830184613678565b92915050565b5f60ff82169050919050565b6136b5816136a0565b82525050565b5f6020820190506136ce5f8301846136ac565b92915050565b5f602082840312156136e9576136e86134fe565b5b5f6136f684828501613548565b91505092915050565b5f61370982613502565b9050919050565b613719816136ff565b82525050565b5f6020820190506137325f830184613710565b92915050565b5f819050919050565b5f61375b61375661375184613502565b613738565b613502565b9050919050565b5f61376c82613741565b9050919050565b5f61377d82613762565b9050919050565b61378d81613773565b82525050565b5f6020820190506137a65f830184613784565b92915050565b5f80604083850312156137c2576137c16134fe565b5b5f6137cf85828601613548565b92505060206137e085828601613548565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061382e57607f821691505b602082108103613841576138406137ea565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61387b60208361345e565b915061388682613847565b602082019050919050565b5f6020820190508181035f8301526138a88161386f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156139315780860481111561390d5761390c6138af565b5b600185161561391c5780820291505b808102905061392a856138dc565b94506138f1565b94509492505050565b5f826139495760019050613a04565b81613956575f9050613a04565b816001811461396c5760028114613976576139a5565b6001915050613a04565b60ff841115613988576139876138af565b5b8360020a91508482111561399f5761399e6138af565b5b50613a04565b5060208310610133831016604e8410600b84101617156139da5782820a9050838111156139d5576139d46138af565b5b613a04565b6139e784848460016138e8565b925090508184048111156139fe576139fd6138af565b5b81810290505b9392505050565b5f613a158261355c565b9150613a20836136a0565b9250613a4d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461393a565b905092915050565b5f613a5f8261355c565b9150613a6a8361355c565b9250828202613a788161355c565b91508282048414831517613a8f57613a8e6138af565b5b5092915050565b5f81519050613aa481613532565b92915050565b5f60208284031215613abf57613abe6134fe565b5b5f613acc84828501613a96565b91505092915050565b5f604082019050613ae85f830185613678565b613af56020830184613678565b9392505050565b5f819050919050565b5f613b1f613b1a613b1584613afc565b613738565b61355c565b9050919050565b613b2f81613b05565b82525050565b5f60c082019050613b485f830189613678565b613b556020830188613600565b613b626040830187613b26565b613b6f6060830186613b26565b613b7c6080830185613678565b613b8960a0830184613600565b979650505050505050565b5f81519050613ba281613565565b92915050565b5f805f60608486031215613bbf57613bbe6134fe565b5b5f613bcc86828701613b94565b9350506020613bdd86828701613b94565b9250506040613bee86828701613b94565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613c5260268361345e565b9150613c5d82613bf8565b604082019050919050565b5f6020820190508181035f830152613c7f81613c46565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613ce060248361345e565b9150613ceb82613c86565b604082019050919050565b5f6020820190508181035f830152613d0d81613cd4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613d6e60228361345e565b9150613d7982613d14565b604082019050919050565b5f6020820190508181035f830152613d9b81613d62565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613dfc60258361345e565b9150613e0782613da2565b604082019050919050565b5f6020820190508181035f830152613e2981613df0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613e8a60238361345e565b9150613e9582613e30565b604082019050919050565b5f6020820190508181035f830152613eb781613e7e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613f1860298361345e565b9150613f2382613ebe565b604082019050919050565b5f6020820190508181035f830152613f4581613f0c565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d6178545f8201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b5f613fa660288361345e565b9150613fb182613f4c565b604082019050919050565b5f6020820190508181035f830152613fd381613f9a565b9050919050565b5f613fe48261355c565b9150613fef8361355c565b9250828203905081811115614007576140066138af565b5b92915050565b5f6140178261355c565b91506140228361355c565b925082820190508082111561403a576140396138af565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614074601b8361345e565b915061407f82614040565b602082019050919050565b5f6020820190508181035f8301526140a181614068565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6140df8261355c565b91506140ea8361355c565b9250826140fa576140f96140a8565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61415f60218361345e565b915061416a82614105565b604082019050919050565b5f6020820190508181035f83015261418c81614153565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61421f81613521565b82525050565b5f6142308383614216565b60208301905092915050565b5f602082019050919050565b5f614252826141ed565b61425c81856141f7565b935061426783614207565b805f5b8381101561429757815161427e8882614225565b97506142898361423c565b92505060018101905061426a565b5085935050505092915050565b5f60a0820190506142b75f830188613600565b6142c46020830187613b26565b81810360408301526142d68186614248565b90506142e56060830185613678565b6142f26080830184613600565b9695505050505050565b5f60408201905061430f5f830185613600565b81810360208301526143218184614248565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122006f9de0afd5e19ecac57de1e4abb46d1a7df7ee5385b84972f6818dd4c43233364736f6c6343000814003300000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000d9017deb1f16b8de81f9591c6372de99efbd17ee000000000000000000000000d9017deb1f16b8de81f9591c6372de99efbd17ee00000000000000000000000094c4a9c01e357251fb440abeb65c1b002e245348000000000000000000000000000000000000000000000000000000000000007850657065416e64794c616e64776f6c66426172744272656574446f726b4c6f7264526564686f74636f636b5a6f677a466c697070657270657065466c61707079486f707079426f726b5268696e6f436c6f7564436875636b6c657245796562756c6765486f7474696546726f67676965426c6f6f64626f7900000000000000000000000000000000000000000000000000000000000000000000000000000025f09d939cf09d93aaf09d93bdf09d93bd20f09d9395f09d93bef09d93bbf09d93b2f09d93ae000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102b1575f3560e01c806388790a6811610174578063c5d24189116100db578063dc44b6a011610094578063f0cd1dac1161006e578063f0cd1dac14610a9c578063f2fde38b14610ac6578063f872858a14610aee578063fb1eb14b14610b18576102b8565b8063dc44b6a014610a2c578063dd62ed3e14610a56578063ed99530714610a92576102b8565b8063c5d241891461091e578063c860795214610948578063c867d60b14610972578063cab03471146109ae578063d187f417146109d8578063da00097d14610a02576102b8565b8063a08e671f1161012d578063a08e671f146107fe578063a457c2d714610828578063a83f53a714610864578063a9059cbb1461088e578063b2bdfa7b146108ca578063c469b6dd146108f4576102b8565b806388790a68146106f05780638b42507f1461071a5780638da5cb5b146107565780638ea5220f14610780578063958c2e52146107aa57806395d89b41146107d4576102b8565b806357a5802f1161021857806375f0a874116101d157806375f0a874146105e25780637abdc1ca1461060c5780637d1db4a5146106365780637df0f76714610660578063807c2d9c1461069c57806382eefb43146106c6576102b8565b806357a5802f146104fc57806361a23c691461052657806367aede7b1461055057806370a082311461057a578063715018a6146105b6578063751039fc146105cc576102b8565b80632b112e491161026a5780632b112e49146103dc578063313ce5671461040657806339509351146104305780634a74bb021461046c5780635342acb414610496578063557ed1ba146104d2576102b8565b806306fdde03146102bc578063095ea7b3146102e657806316f2f1a81461032257806318160ddd1461034c57806323b872dd1461037657806327c8f835146103b2576102b8565b366102b857005b5f80fd5b3480156102c7575f80fd5b506102d0610b42565b6040516102dd91906134de565b60405180910390f35b3480156102f1575f80fd5b5061030c6004803603810190610307919061358f565b610bd2565b60405161031991906135e7565b60405180910390f35b34801561032d575f80fd5b50610336610bef565b604051610343919061360f565b60405180910390f35b348015610357575f80fd5b50610360610bf5565b60405161036d919061360f565b60405180910390f35b348015610381575f80fd5b5061039c60048036038101906103979190613628565b610bfe565b6040516103a991906135e7565b60405180910390f35b3480156103bd575f80fd5b506103c6610cd3565b6040516103d39190613687565b60405180910390f35b3480156103e7575f80fd5b506103f0610cf8565b6040516103fd919061360f565b60405180910390f35b348015610411575f80fd5b5061041a610d3c565b60405161042791906136bb565b60405180910390f35b34801561043b575f80fd5b506104566004803603810190610451919061358f565b610d51565b60405161046391906135e7565b60405180910390f35b348015610477575f80fd5b50610480610dff565b60405161048d91906135e7565b60405180910390f35b3480156104a1575f80fd5b506104bc60048036038101906104b791906136d4565b610e12565b6040516104c991906135e7565b60405180910390f35b3480156104dd575f80fd5b506104e6610e2f565b6040516104f3919061360f565b60405180910390f35b348015610507575f80fd5b50610510610e36565b60405161051d919061360f565b60405180910390f35b348015610531575f80fd5b5061053a610e3c565b604051610547919061360f565b60405180910390f35b34801561055b575f80fd5b50610564610e42565b6040516105719190613687565b60405180910390f35b348015610585575f80fd5b506105a0600480360381019061059b91906136d4565b610e67565b6040516105ad919061360f565b60405180910390f35b3480156105c1575f80fd5b506105ca610ead565b005b3480156105d7575f80fd5b506105e0610ffb565b005b3480156105ed575f80fd5b506105f66110ed565b604051610603919061371f565b60405180910390f35b348015610617575f80fd5b50610620611112565b60405161062d919061360f565b60405180910390f35b348015610641575f80fd5b5061064a611118565b604051610657919061360f565b60405180910390f35b34801561066b575f80fd5b50610686600480360381019061068191906136d4565b61111e565b60405161069391906135e7565b60405180910390f35b3480156106a7575f80fd5b506106b061113b565b6040516106bd919061360f565b60405180910390f35b3480156106d1575f80fd5b506106da611141565b6040516106e7919061360f565b60405180910390f35b3480156106fb575f80fd5b50610704611147565b604051610711919061360f565b60405180910390f35b348015610725575f80fd5b50610740600480360381019061073b91906136d4565b61114d565b60405161074d91906135e7565b60405180910390f35b348015610761575f80fd5b5061076a61116a565b6040516107779190613687565b60405180910390f35b34801561078b575f80fd5b50610794611191565b6040516107a1919061371f565b60405180910390f35b3480156107b5575f80fd5b506107be6111b6565b6040516107cb9190613793565b60405180910390f35b3480156107df575f80fd5b506107e86111db565b6040516107f591906134de565b60405180910390f35b348015610809575f80fd5b5061081261126b565b60405161081f919061360f565b60405180910390f35b348015610833575f80fd5b5061084e6004803603810190610849919061358f565b611271565b60405161085b91906135e7565b60405180910390f35b34801561086f575f80fd5b50610878611339565b604051610885919061360f565b60405180910390f35b348015610899575f80fd5b506108b460048036038101906108af919061358f565b61133f565b6040516108c191906135e7565b60405180910390f35b3480156108d5575f80fd5b506108de61135d565b6040516108eb9190613687565b60405180910390f35b3480156108ff575f80fd5b50610908611380565b604051610915919061360f565b60405180910390f35b348015610929575f80fd5b50610932611386565b60405161093f919061360f565b60405180910390f35b348015610953575f80fd5b5061095c61138c565b604051610969919061360f565b60405180910390f35b34801561097d575f80fd5b50610998600480360381019061099391906136d4565b611392565b6040516109a591906135e7565b60405180910390f35b3480156109b9575f80fd5b506109c26113af565b6040516109cf919061360f565b60405180910390f35b3480156109e3575f80fd5b506109ec6113b5565b6040516109f9919061360f565b60405180910390f35b348015610a0d575f80fd5b50610a166113bb565b604051610a2391906135e7565b60405180910390f35b348015610a37575f80fd5b50610a406113ce565b604051610a4d919061360f565b60405180910390f35b348015610a61575f80fd5b50610a7c6004803603810190610a7791906137ac565b6113d4565b604051610a89919061360f565b60405180910390f35b610a9a611456565b005b348015610aa7575f80fd5b50610ab06119dd565b604051610abd919061360f565b60405180910390f35b348015610ad1575f80fd5b50610aec6004803603810190610ae791906136d4565b6119e3565b005b348015610af9575f80fd5b50610b02611ba0565b604051610b0f91906135e7565b60405180910390f35b348015610b23575f80fd5b50610b2c611bb3565b604051610b39919061360f565b60405180910390f35b606060198054610b5190613817565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7d90613817565b8015610bc85780601f10610b9f57610100808354040283529160200191610bc8565b820191905f5260205f20905b815481529060010190602001808311610bab57829003601f168201915b5050505050905090565b5f610be5610bde611bb9565b8484611bc0565b6001905092915050565b600a5481565b5f602254905090565b5f610c0a848484611d83565b50610cc884610c17611bb9565b610cc38560405180606001604052806028815260200161432b60289139601d5f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c7a611bb9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126169092919063ffffffff16565b611bc0565b600190509392505050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610d37610d26600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e67565b60225461267890919063ffffffff16565b905090565b5f601b5f9054906101000a900460ff16905090565b5f610df5610d5d611bb9565b84610df085601d5f610d6d611bb9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126c190919063ffffffff16565b611bc0565b6001905092915050565b602660019054906101000a900460ff1681565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f42905090565b60145481565b60155481565b601f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f601c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610eb5611bb9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3890613891565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611003611bb9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461108f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108690613891565b60405180910390fd5b601b5f9054906101000a900460ff16600a6110aa9190613a0b565b6022546110b79190613a55565b602481905550601b5f9054906101000a900460ff16600a6110d89190613a0b565b6022546110e59190613a55565b602381905550565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60135481565b60245481565b6006602052805f5260405f205f915054906101000a900460ff1681565b60235481565b600f5481565b60105481565b6005602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060601a80546111ea90613817565b80601f016020809104026020016040519081016040528092919081815260200182805461121690613817565b80156112615780601f1061123857610100808354040283529160200191611261565b820191905f5260205f20905b81548152906001019060200180831161124457829003601f168201915b5050505050905090565b60175481565b5f61132f61127d611bb9565b8461132a8560405180606001604052806025815260200161435360259139601d5f6112a6611bb9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126169092919063ffffffff16565b611bc0565b6001905092915050565b60165481565b5f61135261134b611bb9565b8484611d83565b506001905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b60085481565b60115481565b6004602052805f5260405f205f915054906101000a900460ff1681565b60125481565b60215481565b602660029054906101000a900460ff1681565b60075481565b5f601d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61145e611bb9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e190613891565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061156f9190613aaa565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115f89190613aaa565b6040518363ffffffff1660e01b8152600401611615929190613ad5565b6020604051808303815f875af1158015611631573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116559190613aaa565b601f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602254601d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160065f601f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f601f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550601f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719343061196a30610e67565b5f8061197461116a565b426040518863ffffffff1660e01b815260040161199696959493929190613b35565b60606040518083038185885af11580156119b2573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906119d79190613ba8565b50505050565b600e5481565b6119eb611bb9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6e90613891565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adc90613c68565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b602660039054906101000a900460ff1681565b60205481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2590613cf6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9390613d84565b60405180910390fd5b80601d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d76919061360f565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de990613e12565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5790613ea0565b60405180910390fd5b5f8211611ea2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9990613f2e565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611f4a575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8015611fa357505f73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015611ffc57505f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15612080575f19601d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061211b575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156121325761212b84848461271e565b905061260f565b60265f9054906101000a900460ff16156121585761215184848461271e565b905061260f565b60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156121f6575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561224157602454821115612240576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223790613fbc565b60405180910390fd5b5b5f61224b30610e67565b90505f602554821015905080801561226f575060265f9054906101000a900460ff16155b80156122c2575060065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156122da5750602660019054906101000a900460ff165b1561230457602660029054906101000a900460ff16156122fa5760255491505b612303826128e8565b5b61238b846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250601c5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126169092919063ffffffff16565b601c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612468575060035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61247c57612477878787612ac9565b61247e565b845b9050602660039054906101000a900460ff1680156124e3575060045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561251157602354612506826124f889610e67565b6126c190919063ffffffff16565b1115612510575f80fd5b5b61256181601c5f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126c190919063ffffffff16565b601c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125ff919061360f565b60405180910390a3600193505050505b9392505050565b5f83831115829061265d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265491906134de565b60405180910390fd5b505f838561266b9190613fda565b9050809150509392505050565b5f6126b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612616565b905092915050565b5f8082846126cf919061400d565b905083811015612714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270b9061408a565b60405180910390fd5b8091505092915050565b5f6127a6826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250601c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126169092919063ffffffff16565b601c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061283782601c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126c190919063ffffffff16565b601c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128d5919061360f565b60405180910390a3600190509392505050565b600160265f6101000a81548160ff0219169083151502179055505f61293f600261293160175461292360145487612dfd90919063ffffffff16565b612e7490919063ffffffff16565b612e7490919063ffffffff16565b90505f612955828461267890919063ffffffff16565b905061296081612ebd565b5f4790505f61298f61297e6002601454612e7490919063ffffffff16565b60175461267890919063ffffffff16565b90505f6129cc60026129be846129b060145488612dfd90919063ffffffff16565b612e7490919063ffffffff16565b612e7490919063ffffffff16565b90505f6129f6836129e860165487612dfd90919063ffffffff16565b612e7490919063ffffffff16565b90505f612a1e82612a10858861267890919063ffffffff16565b61267890919063ffffffff16565b90505f811115612a5457612a53600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261312c565b5b5f821115612a8857612a87600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361312c565b5b5f83118015612a9657505f87115b15612aa657612aa58784613174565b5b505050505050505f60265f6101000a81548160ff02191690831515021790555050565b5f80612af560185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e67565b90505f8060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612bd957612b846064612b76612b67600a54600e5461267890919063ffffffff16565b88612dfd90919063ffffffff16565b612e7490919063ffffffff16565b91505f600a54118015612b9a5750602154602054105b15612bd457612bc76064612bb9600a5488612dfd90919063ffffffff16565b612e7490919063ffffffff16565b9050612bd3878261326e565b5b612ccd565b60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612ccc575f612c656064612c57612c48601354600f5461267890919063ffffffff16565b89612dfd90919063ffffffff16565b612e7490919063ffffffff16565b92505f601354118015612c7b5750602154602054105b15612cb557612ca86064612c9a60135489612dfd90919063ffffffff16565b612e7490919063ffffffff16565b9150612cb4888361326e565b5b612cc8848261267890919063ffffffff16565b9050505b5b5f821115612dcc57612d2582601c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126c190919063ffffffff16565b601c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612dc3919061360f565b60405180910390a35b612df1612de282846126c190919063ffffffff16565b8661267890919063ffffffff16565b93505050509392505050565b5f808303612e0d575f9050612e6e565b5f8284612e1a9190613a55565b9050828482612e2991906140d5565b14612e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e6090614175565b60405180910390fd5b809150505b92915050565b5f612eb583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506133f3565b905092915050565b5f600267ffffffffffffffff811115612ed957612ed8614193565b5b604051908082528060200260200182016040528015612f075781602001602082028036833780820191505090505b50905030815f81518110612f1e57612f1d6141c0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fe69190613aaa565b81600181518110612ffa57612ff96141c0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061306030601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611bc0565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016130c29594939291906142a4565b5f604051808303815f87803b1580156130d9575f80fd5b505af11580156130eb573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516131209291906142fc565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561316f573d5f803e3d5ffd5b505050565b6131a030601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611bc0565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161322696959493929190613b35565b60606040518083038185885af1158015613242573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906132679190613ba8565b5050505050565b60215460205410156133ef576132eb81601c5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126c190919063ffffffff16565b601c5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550613362816020546126c190919063ffffffff16565b602081905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516133e6919061360f565b60405180910390a35b5050565b5f8083118290613439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161343091906134de565b60405180910390fd5b505f838561344791906140d5565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561348b578082015181840152602081019050613470565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6134b082613454565b6134ba818561345e565b93506134ca81856020860161346e565b6134d381613496565b840191505092915050565b5f6020820190508181035f8301526134f681846134a6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61352b82613502565b9050919050565b61353b81613521565b8114613545575f80fd5b50565b5f8135905061355681613532565b92915050565b5f819050919050565b61356e8161355c565b8114613578575f80fd5b50565b5f8135905061358981613565565b92915050565b5f80604083850312156135a5576135a46134fe565b5b5f6135b285828601613548565b92505060206135c38582860161357b565b9150509250929050565b5f8115159050919050565b6135e1816135cd565b82525050565b5f6020820190506135fa5f8301846135d8565b92915050565b6136098161355c565b82525050565b5f6020820190506136225f830184613600565b92915050565b5f805f6060848603121561363f5761363e6134fe565b5b5f61364c86828701613548565b935050602061365d86828701613548565b925050604061366e8682870161357b565b9150509250925092565b61368181613521565b82525050565b5f60208201905061369a5f830184613678565b92915050565b5f60ff82169050919050565b6136b5816136a0565b82525050565b5f6020820190506136ce5f8301846136ac565b92915050565b5f602082840312156136e9576136e86134fe565b5b5f6136f684828501613548565b91505092915050565b5f61370982613502565b9050919050565b613719816136ff565b82525050565b5f6020820190506137325f830184613710565b92915050565b5f819050919050565b5f61375b61375661375184613502565b613738565b613502565b9050919050565b5f61376c82613741565b9050919050565b5f61377d82613762565b9050919050565b61378d81613773565b82525050565b5f6020820190506137a65f830184613784565b92915050565b5f80604083850312156137c2576137c16134fe565b5b5f6137cf85828601613548565b92505060206137e085828601613548565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061382e57607f821691505b602082108103613841576138406137ea565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61387b60208361345e565b915061388682613847565b602082019050919050565b5f6020820190508181035f8301526138a88161386f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156139315780860481111561390d5761390c6138af565b5b600185161561391c5780820291505b808102905061392a856138dc565b94506138f1565b94509492505050565b5f826139495760019050613a04565b81613956575f9050613a04565b816001811461396c5760028114613976576139a5565b6001915050613a04565b60ff841115613988576139876138af565b5b8360020a91508482111561399f5761399e6138af565b5b50613a04565b5060208310610133831016604e8410600b84101617156139da5782820a9050838111156139d5576139d46138af565b5b613a04565b6139e784848460016138e8565b925090508184048111156139fe576139fd6138af565b5b81810290505b9392505050565b5f613a158261355c565b9150613a20836136a0565b9250613a4d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461393a565b905092915050565b5f613a5f8261355c565b9150613a6a8361355c565b9250828202613a788161355c565b91508282048414831517613a8f57613a8e6138af565b5b5092915050565b5f81519050613aa481613532565b92915050565b5f60208284031215613abf57613abe6134fe565b5b5f613acc84828501613a96565b91505092915050565b5f604082019050613ae85f830185613678565b613af56020830184613678565b9392505050565b5f819050919050565b5f613b1f613b1a613b1584613afc565b613738565b61355c565b9050919050565b613b2f81613b05565b82525050565b5f60c082019050613b485f830189613678565b613b556020830188613600565b613b626040830187613b26565b613b6f6060830186613b26565b613b7c6080830185613678565b613b8960a0830184613600565b979650505050505050565b5f81519050613ba281613565565b92915050565b5f805f60608486031215613bbf57613bbe6134fe565b5b5f613bcc86828701613b94565b9350506020613bdd86828701613b94565b9250506040613bee86828701613b94565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613c5260268361345e565b9150613c5d82613bf8565b604082019050919050565b5f6020820190508181035f830152613c7f81613c46565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613ce060248361345e565b9150613ceb82613c86565b604082019050919050565b5f6020820190508181035f830152613d0d81613cd4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613d6e60228361345e565b9150613d7982613d14565b604082019050919050565b5f6020820190508181035f830152613d9b81613d62565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613dfc60258361345e565b9150613e0782613da2565b604082019050919050565b5f6020820190508181035f830152613e2981613df0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613e8a60238361345e565b9150613e9582613e30565b604082019050919050565b5f6020820190508181035f830152613eb781613e7e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613f1860298361345e565b9150613f2382613ebe565b604082019050919050565b5f6020820190508181035f830152613f4581613f0c565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d6178545f8201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b5f613fa660288361345e565b9150613fb182613f4c565b604082019050919050565b5f6020820190508181035f830152613fd381613f9a565b9050919050565b5f613fe48261355c565b9150613fef8361355c565b9250828203905081811115614007576140066138af565b5b92915050565b5f6140178261355c565b91506140228361355c565b925082820190508082111561403a576140396138af565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614074601b8361345e565b915061407f82614040565b602082019050919050565b5f6020820190508181035f8301526140a181614068565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6140df8261355c565b91506140ea8361355c565b9250826140fa576140f96140a8565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61415f60218361345e565b915061416a82614105565b604082019050919050565b5f6020820190508181035f83015261418c81614153565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61421f81613521565b82525050565b5f6142308383614216565b60208301905092915050565b5f602082019050919050565b5f614252826141ed565b61425c81856141f7565b935061426783614207565b805f5b8381101561429757815161427e8882614225565b97506142898361423c565b92505060018101905061426a565b5085935050505092915050565b5f60a0820190506142b75f830188613600565b6142c46020830187613b26565b81810360408301526142d68186614248565b90506142e56060830185613678565b6142f26080830184613600565b9695505050505050565b5f60408201905061430f5f830185613600565b81810360208301526143218184614248565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122006f9de0afd5e19ecac57de1e4abb46d1a7df7ee5385b84972f6818dd4c43233364736f6c63430008140033

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

00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000d9017deb1f16b8de81f9591c6372de99efbd17ee000000000000000000000000d9017deb1f16b8de81f9591c6372de99efbd17ee00000000000000000000000094c4a9c01e357251fb440abeb65c1b002e245348000000000000000000000000000000000000000000000000000000000000007850657065416e64794c616e64776f6c66426172744272656574446f726b4c6f7264526564686f74636f636b5a6f677a466c697070657270657065466c61707079486f707079426f726b5268696e6f436c6f7564436875636b6c657245796562756c6765486f7474696546726f67676965426c6f6f64626f7900000000000000000000000000000000000000000000000000000000000000000000000000000025f09d939cf09d93aaf09d93bdf09d93bd20f09d9395f09d93bef09d93bbf09d93b2f09d93ae000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : tokenName (string): PepeAndyLandwolfBartBreetDorkLordRedhotcockZogzFlipperpepeFlappyHoppyBorkRhinoCloudChucklerEyebulgeHottieFroggieBloodboy
Arg [1] : tokenSymbol (string): 𝓜𝓪𝓽𝓽 𝓕𝓾𝓻𝓲𝓮
Arg [2] : tokenDecimals (uint8): 9
Arg [3] : supply (uint256): 1000000000
Arg [4] : owner (address): 0xD9017deB1f16B8DE81f9591c6372de99efbd17Ee
Arg [5] : _devAddress (address): 0xD9017deB1f16B8DE81f9591c6372de99efbd17Ee
Arg [6] : _marketingAddres (address): 0x94C4a9c01e357251Fb440abeB65C1B002E245348

-----Encoded View---------------
15 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000180
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [3] : 000000000000000000000000000000000000000000000000000000003b9aca00
Arg [4] : 000000000000000000000000d9017deb1f16b8de81f9591c6372de99efbd17ee
Arg [5] : 000000000000000000000000d9017deb1f16b8de81f9591c6372de99efbd17ee
Arg [6] : 00000000000000000000000094c4a9c01e357251fb440abeb65c1b002e245348
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000078
Arg [8] : 50657065416e64794c616e64776f6c66426172744272656574446f726b4c6f72
Arg [9] : 64526564686f74636f636b5a6f677a466c697070657270657065466c61707079
Arg [10] : 486f707079426f726b5268696e6f436c6f7564436875636b6c65724579656275
Arg [11] : 6c6765486f7474696546726f67676965426c6f6f64626f790000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000025
Arg [13] : f09d939cf09d93aaf09d93bdf09d93bd20f09d9395f09d93bef09d93bbf09d93
Arg [14] : b2f09d93ae000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

8263:13494:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12384:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13550:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8788:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12661:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14239:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8913:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21499:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12570:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13047:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9993:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8446:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8166:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9250:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9291;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9708:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12769:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7758:148;;;;;;;;;;;;;:::i;:::-;;19798:154;;;;;;;;;;;;;:::i;:::-;;8866:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9210:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9874:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8617:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9842:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9036:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9086:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8562:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7544:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8827:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9664:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12475:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9368:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13273:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9332:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14064:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7420:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8751:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8709:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9129:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8503:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9172:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9771:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10040:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8667:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12896:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19115:675;;;:::i;:::-;;8993:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7914:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10092:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9739:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12384:83;12421:13;12454:5;12447:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12384:83;:::o;13550:161::-;13625:4;13642:39;13651:12;:10;:12::i;:::-;13665:7;13674:6;13642:8;:39::i;:::-;13699:4;13692:11;;13550:161;;;;:::o;8788:30::-;;;;:::o;12661:100::-;12714:7;12741:12;;12734:19;;12661:100;:::o;14239:313::-;14337:4;14354:36;14364:6;14372:9;14383:6;14354:9;:36::i;:::-;;14401:121;14410:6;14418:12;:10;:12::i;:::-;14432:89;14470:6;14432:89;;;;;;;;;;;;;;;;;:11;:19;14444:6;14432:19;;;;;;;;;;;;;;;:33;14452:12;:10;:12::i;:::-;14432:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14401:8;:121::i;:::-;14540:4;14533:11;;14239:313;;;;;:::o;8913:71::-;;;;;;;;;;;;;:::o;21499:128::-;21552:7;21579:40;21596:22;21606:11;;;;;;;;;;;21596:9;:22::i;:::-;21579:12;;:16;;:40;;;;:::i;:::-;21572:47;;21499:128;:::o;12570:83::-;12611:5;12636:9;;;;;;;;;;;12629:16;;12570:83;:::o;13047:218::-;13135:4;13152:83;13161:12;:10;:12::i;:::-;13175:7;13184:50;13223:10;13184:11;:25;13196:12;:10;:12::i;:::-;13184:25;;;;;;;;;;;;;;;:34;13210:7;13184:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;13152:8;:83::i;:::-;13253:4;13246:11;;13047:218;;;;:::o;9993:40::-;;;;;;;;;;;;;:::o;8446:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;8166:90::-;8206:7;8233:15;8226:22;;8166:90;:::o;9250:34::-;;;;:::o;9291:::-;;;;:::o;9708:22::-;;;;;;;;;;;;;:::o;12769:119::-;12835:7;12862:9;:18;12872:7;12862:18;;;;;;;;;;;;;;;;12855:25;;12769:119;;;:::o;7758:148::-;7681:12;:10;:12::i;:::-;7671:22;;:6;;;;;;;;;;:22;;;7663:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7865:1:::1;7828:40;;7849:6;::::0;::::1;;;;;;;;7828:40;;;;;;;;;;;;7896:1;7879:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;7758:148::o:0;19798:154::-;7681:12;:10;:12::i;:::-;7671:22;;:6;;;;;;;;;;:22;;;7663:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19883:9:::1;;;;;;;;;;;19879:2;:13;;;;:::i;:::-;19864:12;;:28;;;;:::i;:::-;19849:12;:43;;;;19935:9;;;;;;;;;;;19931:2;:13;;;;:::i;:::-;19916:12;;:28;;;;:::i;:::-;19903:10;:41;;;;19798:154::o:0;8866:38::-;;;;;;;;;;;;;:::o;9210:31::-;;;;:::o;9874:27::-;;;;:::o;8617:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;9842:25::-;;;;:::o;9036:37::-;;;;:::o;9086:36::-;;;;:::o;8562:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;7544:79::-;7582:7;7609:6;;;;;;;;;;;7602:13;;7544:79;:::o;8827:32::-;;;;;;;;;;;;;:::o;9664:37::-;;;;;;;;;;;;;:::o;12475:87::-;12514:13;12547:7;12540:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12475:87;:::o;9368:43::-;;;;:::o;13273:269::-;13366:4;13383:129;13392:12;:10;:12::i;:::-;13406:7;13415:96;13454:15;13415:96;;;;;;;;;;;;;;;;;:11;:25;13427:12;:10;:12::i;:::-;13415:25;;;;;;;;;;;;;;;:34;13441:7;13415:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;13383:8;:129::i;:::-;13530:4;13523:11;;13273:269;;;;:::o;9332:29::-;;;;:::o;14064:167::-;14142:4;14159:42;14169:12;:10;:12::i;:::-;14183:9;14194:6;14159:9;:42::i;:::-;;14219:4;14212:11;;14064:167;;;;:::o;7420:21::-;;;;;;;;;;;;:::o;8751:30::-;;;;:::o;8709:35::-;;;;:::o;9129:36::-;;;;:::o;8503:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;9172:31::-;;;;:::o;9771:29::-;;;;:::o;10040:45::-;;;;;;;;;;;;;:::o;8667:35::-;;;;:::o;12896:143::-;12977:7;13004:11;:18;13016:5;13004:18;;;;;;;;;;;;;;;:27;13023:7;13004:27;;;;;;;;;;;;;;;;12997:34;;12896:143;;;;:::o;19115:675::-;7681:12;:10;:12::i;:::-;7671:22;;:6;;;;;;;;;;:22;;;7663:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19180:31:::1;19233:42;19180:96;;19315:12;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19297:66;;;19372:4;19379:12;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19297:102;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19287:7;;:112;;;;;;;;;;;;;;;;;;19424:12;19410:11;;:26;;;;;;;;;;;;;;;;;;19498:12;;19447:11;:26;19467:4;19447:26;;;;;;;;;;;;;;;:48;19482:11;;;;;;;;;;;19447:48;;;;;;;;;;;;;;;:63;;;;19546:4;19521;:22;19534:7;;;;;;;;;;;19521:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;19601:4;19561:19;:37;19589:7;;;;;;;;;;;19561:37;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;19627:7;;;;;;;;;;;19616:8;;:18;;;;;;;;;;;;;;;;;;19650:8;;;;;;;;;;;19636:11;;:22;;;;;;;;;;;;;;;;;;19669:11;;;;;;;;;;;:27;;;19704:9;19723:4;19729:24;19747:4;19729:9;:24::i;:::-;19754:1;19756::::0;19758:7:::1;:5;:7::i;:::-;19766:15;19669:113;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19169:621;19115:675::o:0;8993:36::-;;;;:::o;7914:244::-;7681:12;:10;:12::i;:::-;7671:22;;:6;;;;;;;;;;:22;;;7663:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8023:1:::1;8003:22;;:8;:22;;::::0;7995:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;8113:8;8084:38;;8105:6;::::0;::::1;;;;;;;;8084:38;;;;;;;;;;;;8142:8;8133:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;7914:244:::0;:::o;10092:35::-;;;;;;;;;;;;;:::o;9739:25::-;;;;:::o;5503:115::-;5556:15;5599:10;5584:26;;5503:115;:::o;13719:337::-;13829:1;13812:19;;:5;:19;;;13804:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13910:1;13891:21;;:7;:21;;;13883:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13994:6;13964:11;:18;13976:5;13964:18;;;;;;;;;;;;;;;:27;13983:7;13964:27;;;;;;;;;;;;;;;:36;;;;14032:7;14016:32;;14025:5;14016:32;;;14041:6;14016:32;;;;;;:::i;:::-;;;;;;;;13719:337;;;:::o;14560:2018::-;14647:4;14690:1;14672:20;;:6;:20;;;14664:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14774:1;14753:23;;:9;:23;;;14745:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14844:1;14835:6;:10;14827:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14917:8;;;;;;;;;;;14907:18;;:6;:18;;;:46;;;;;14942:11;;;;;;;;;;;14929:24;;:9;:24;;;14907:46;:72;;;;;14977:1;14957:22;;:8;;;;;;;;;;;:22;;;;14907:72;:101;;;;;15006:1;14983:25;;:11;;;;;;;;;;;:25;;;;14907:101;14904:150;;;15052:1;15043:11;15010;:19;15022:6;15010:19;;;;;;;;;;;;;;;:30;15030:9;15010:30;;;;;;;;;;;;;;;:44;;;;14904:150;15070:17;:25;15088:6;15070:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;15099:17;:28;15117:9;15099:28;;;;;;;;;;;;;;;;;;;;;;;;;15070:57;15067:140;;;15151:44;15169:6;15177:9;15188:6;15151:17;:44::i;:::-;15144:51;;;;15067:140;15222:16;;;;;;;;;;;15219:1352;;;15261:44;15279:6;15287:9;15298:6;15261:17;:44::i;:::-;15254:51;;;;15219:1352;15341:15;:23;15357:6;15341:23;;;;;;;;;;;;;;;;;;;;;;;;;15340:24;:55;;;;;15369:15;:26;15385:9;15369:26;;;;;;;;;;;;;;;;;;;;;;;;;15368:27;15340:55;15337:170;;;15434:12;;15424:6;:22;;15416:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;15337:170;15523:28;15554:24;15572:4;15554:9;:24::i;:::-;15523:55;;15593:28;15648:24;;15624:20;:48;;15593:79;;15693:23;:44;;;;;15721:16;;;;;;;;;;;15720:17;15693:44;:61;;;;;15742:4;:12;15747:6;15742:12;;;;;;;;;;;;;;;;;;;;;;;;;15741:13;15693:61;:86;;;;;15758:21;;;;;;;;;;;15693:86;15689:279;;;15802:25;;;;;;;;;;;15799:98;;;15873:24;;15850:47;;15799:98;15916:36;15931:20;15916:14;:36::i;:::-;15689:279;16004:53;16026:6;16004:53;;;;;;;;;;;;;;;;;:9;:17;16014:6;16004:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15984:9;:17;15994:6;15984:17;;;;;;;;;;;;;;;:73;;;;16074:19;16097:17;:25;16115:6;16097:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;16126:17;:28;16144:9;16126:28;;;;;;;;;;;;;;;;;;;;;;;;;16097:57;16096:148;;16209:35;16218:6;16226:9;16237:6;16209:8;:35::i;:::-;16096:148;;;16200:6;16096:148;16074:170;;16264:16;;;;;;;;;;;:51;;;;;16285:19;:30;16305:9;16285:30;;;;;;;;;;;;;;;;;;;;;;;;;16284:31;16264:51;16261:133;;;16383:10;;16342:37;16367:11;16342:20;16352:9;16342;:20::i;:::-;:24;;:37;;;;:::i;:::-;:51;;16334:60;;;;;;16261:133;16434:37;16459:11;16434:9;:20;16444:9;16434:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;16411:9;:20;16421:9;16411:20;;;;;;;;;;;;;;;:60;;;;16510:9;16493:40;;16502:6;16493:40;;;16521:11;16493:40;;;;;;:::i;:::-;;;;;;;;16555:4;16548:11;;;;;14560:2018;;;;;;:::o;4051:192::-;4137:7;4170:1;4165;:6;;4173:12;4157:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4197:9;4213:1;4209;:5;;;;:::i;:::-;4197:17;;4234:1;4227:8;;;4051:192;;;;;:::o;3907:136::-;3965:7;3992:43;3996:1;3999;3992:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3985:50;;3907:136;;;;:::o;3718:181::-;3776:7;3796:9;3812:1;3808;:5;;;;:::i;:::-;3796:17;;3837:1;3832;:6;;3824:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3890:1;3883:8;;;3718:181;;;;:::o;16907:333::-;17003:4;17040:53;17062:6;17040:53;;;;;;;;;;;;;;;;;:9;:17;17050:6;17040:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;17020:9;:17;17030:6;17020:17;;;;;;;;;;;;;;;:73;;;;17127:32;17152:6;17127:9;:20;17137:9;17127:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;17104:9;:20;17114:9;17104:20;;;;;;;;;;;;;;;:55;;;;17192:9;17175:35;;17184:6;17175:35;;;17203:6;17175:35;;;;;;:::i;:::-;;;;;;;;17228:4;17221:11;;16907:333;;;;;:::o;20474:1017::-;10467:4;10448:16;;:23;;;;;;;;;;;;;;;;;;20546:26:::1;20575:65;20638:1;20575:58;20608:24;;20575:28;20587:15;;20575:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;20546:94;;20651:21;20675:31;20687:18;20675:7;:11;;:31;;;;:::i;:::-;20651:55;;20717:31;20734:13;20717:16;:31::i;:::-;20759:22;20784:21;20759:46;;20816:19;20838:52;20867:22;20887:1;20867:15;;:19;;:22;;;;:::i;:::-;20838:24;;:28;;:52;;;;:::i;:::-;20816:74;;20901:26;20930:59;20987:1;20930:52;20970:11;20930:35;20949:15;;20930:14;:18;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;20901:88;;21000:21;21024:47;21059:11;21024:30;21043:10;;21024:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;21000:71;;21082:26;21111:57;21154:13;21111:38;21130:18;21111:14;:18;;:38;;;;:::i;:::-;:42;;:57;;;;:::i;:::-;21082:86;;21203:1;21182:18;:22;21179:90;;;21219:50;21233:15;;;;;;;;;;;21250:18;21219:13;:50::i;:::-;21179:90;21299:1;21283:13;:17;21280:74;;;21315:39;21329:9;;;;;;;;;;;21340:13;21315;:39::i;:::-;21280:74;21389:1;21368:18;:22;:48;;;;;21415:1;21394:18;:22;21368:48;21365:118;;;21431:52;21444:18;21464;21431:12;:52::i;:::-;21365:118;20535:956;;;;;;;10513:5:::0;10494:16;;:24;;;;;;;;;;;;;;;;;;20474:1017;:::o;17248:1168::-;17335:7;17355:16;17374:19;17384:8;;;;;;;;;;;17374:9;:19::i;:::-;17355:38;;17404:17;17427:18;17473:4;:12;17478:6;17473:12;;;;;;;;;;;;;;;;;;;;;;;;;17470:696;;;17514:55;17565:3;17514:46;17525:34;17547:11;;17525:17;;:21;;:34;;;;:::i;:::-;17514:6;:10;;:46;;;;:::i;:::-;:50;;:55;;;;:::i;:::-;17502:67;;17601:1;17587:11;;:15;:46;;;;;17619:14;;17606:10;;:27;17587:46;17584:177;;;17667:32;17695:3;17667:23;17678:11;;17667:6;:10;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;17654:45;;17718:27;17727:6;17734:10;17718:8;:27::i;:::-;17584:177;17470:696;;;17780:4;:15;17785:9;17780:15;;;;;;;;;;;;;;;;;;;;;;;;;17777:389;;;17812:15;17858:57;17911:3;17858:48;17869:36;17892:12;;17869:18;;:22;;:36;;;;:::i;:::-;17858:6;:10;;:48;;;;:::i;:::-;:52;;:57;;;;:::i;:::-;17846:69;;17948:1;17933:12;;:16;:47;;;;;17966:14;;17953:10;;:27;17933:47;17930:179;;;18014:33;18043:3;18014:24;18025:12;;18014:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;18001:46;;18066:27;18075:6;18082:10;18066:8;:27::i;:::-;17930:179;18133:21;18145:8;18133:7;:11;;:21;;;;:::i;:::-;18123:31;;17797:369;17777:389;17470:696;18193:1;18181:9;:13;18178:173;;;18238:39;18267:9;18238;:24;18256:4;18238:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;18211:9;:24;18229:4;18211:24;;;;;;;;;;;;;;;:66;;;;18322:4;18297:42;;18306:6;18297:42;;;18329:9;18297:42;;;;;;:::i;:::-;;;;;;;;18178:173;18371:37;18382:25;18396:10;18382:9;:13;;:25;;;;:::i;:::-;18371:6;:10;;:37;;;;:::i;:::-;18364:44;;;;;17248:1168;;;;;:::o;4251:250::-;4309:7;4338:1;4333;:6;4329:47;;4363:1;4356:8;;;;4329:47;4388:9;4404:1;4400;:5;;;;:::i;:::-;4388:17;;4433:1;4428;4424;:5;;;;:::i;:::-;:10;4416:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;4492:1;4485:8;;;4251:250;;;;;:::o;4509:132::-;4567:7;4594:39;4598:1;4601;4594:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;4587:46;;4509:132;;;;:::o;18424:646::-;18550:21;18588:1;18574:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18550:40;;18619:4;18601;18606:1;18601:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18645:11;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18635:4;18640:1;18635:7;;;;;;;;:::i;:::-;;;;;;;:28;;;;;;;;;;;18676:58;18693:4;18708:11;;;;;;;;;;;18722;18676:8;:58::i;:::-;18773:11;;;;;;;;;;;:62;;;18850:11;18876:1;18920:4;18947;18983:15;18773:236;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19027:35;19044:11;19057:4;19027:35;;;;;;;:::i;:::-;;;;;;;;18479:591;18424:646;:::o;21635:119::-;21720:9;:18;;:26;21739:6;21720:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21635:119;;:::o;19960:506::-;20108:58;20125:4;20140:11;;;;;;;;;;;20154;20108:8;:58::i;:::-;20209:11;;;;;;;;;;;:27;;;20244:9;20277:4;20297:11;20323:1;20366;20409:8;;;;;;;;;;;20432:15;20209:249;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19960:506;;:::o;16586:313::-;16695:14;;16681:10;;:28;16678:40;16711:7;16678:40;16755:35;16782:7;16755:9;:22;16765:11;;;;;;;;;;;16755:22;;;;;;;;;;;;;;;;:26;;:35;;;;:::i;:::-;16730:9;:22;16740:11;;;;;;;;;;;16730:22;;;;;;;;;;;;;;;:60;;;;16814:23;16829:7;16814:10;;:14;;:23;;;;:::i;:::-;16801:10;:36;;;;16870:11;;;;;;;;;;;16853:38;;16862:6;16853:38;;;16883:7;16853:38;;;;;;:::i;:::-;;;;;;;;16586:313;;;:::o;4649:278::-;4735:7;4767:1;4763;:5;4770:12;4755:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4794:9;4810:1;4806;:5;;;;:::i;:::-;4794:17;;4918:1;4911:8;;;4649:278;;;;;:::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;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:118::-;4510:24;4528:5;4510:24;:::i;:::-;4505:3;4498:37;4423:118;;:::o;4547:222::-;4640:4;4678:2;4667:9;4663:18;4655:26;;4691:71;4759:1;4748:9;4744:17;4735:6;4691:71;:::i;:::-;4547:222;;;;:::o;4775:86::-;4810:7;4850:4;4843:5;4839:16;4828:27;;4775:86;;;:::o;4867:112::-;4950:22;4966:5;4950:22;:::i;:::-;4945:3;4938:35;4867:112;;:::o;4985:214::-;5074:4;5112:2;5101:9;5097:18;5089:26;;5125:67;5189:1;5178:9;5174:17;5165:6;5125:67;:::i;:::-;4985:214;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:104::-;5585:7;5614:24;5632:5;5614:24;:::i;:::-;5603:35;;5540:104;;;:::o;5650:142::-;5753:32;5779:5;5753:32;:::i;:::-;5748:3;5741:45;5650:142;;:::o;5798:254::-;5907:4;5945:2;5934:9;5930:18;5922:26;;5958:87;6042:1;6031:9;6027:17;6018:6;5958:87;:::i;:::-;5798:254;;;;:::o;6058:60::-;6086:3;6107:5;6100:12;;6058:60;;;:::o;6124:142::-;6174:9;6207:53;6225:34;6234:24;6252:5;6234:24;:::i;:::-;6225:34;:::i;:::-;6207:53;:::i;:::-;6194:66;;6124:142;;;:::o;6272:126::-;6322:9;6355:37;6386:5;6355:37;:::i;:::-;6342:50;;6272:126;;;:::o;6404:152::-;6480:9;6513:37;6544:5;6513:37;:::i;:::-;6500:50;;6404:152;;;:::o;6562:183::-;6675:63;6732:5;6675:63;:::i;:::-;6670:3;6663:76;6562:183;;:::o;6751:274::-;6870:4;6908:2;6897:9;6893:18;6885:26;;6921:97;7015:1;7004:9;7000:17;6991:6;6921:97;:::i;:::-;6751:274;;;;:::o;7031:474::-;7099:6;7107;7156:2;7144:9;7135:7;7131:23;7127:32;7124:119;;;7162:79;;:::i;:::-;7124:119;7282:1;7307:53;7352:7;7343:6;7332:9;7328:22;7307:53;:::i;:::-;7297:63;;7253:117;7409:2;7435:53;7480:7;7471:6;7460:9;7456:22;7435:53;:::i;:::-;7425:63;;7380:118;7031:474;;;;;:::o;7511:180::-;7559:77;7556:1;7549:88;7656:4;7653:1;7646:15;7680:4;7677:1;7670:15;7697:320;7741:6;7778:1;7772:4;7768:12;7758:22;;7825:1;7819:4;7815:12;7846:18;7836:81;;7902:4;7894:6;7890:17;7880:27;;7836:81;7964:2;7956:6;7953:14;7933:18;7930:38;7927:84;;7983:18;;:::i;:::-;7927:84;7748:269;7697:320;;;:::o;8023:182::-;8163:34;8159:1;8151:6;8147:14;8140:58;8023:182;:::o;8211:366::-;8353:3;8374:67;8438:2;8433:3;8374:67;:::i;:::-;8367:74;;8450:93;8539:3;8450:93;:::i;:::-;8568:2;8563:3;8559:12;8552:19;;8211:366;;;:::o;8583:419::-;8749:4;8787:2;8776:9;8772:18;8764:26;;8836:9;8830:4;8826:20;8822:1;8811:9;8807:17;8800:47;8864:131;8990:4;8864:131;:::i;:::-;8856:139;;8583:419;;;:::o;9008:180::-;9056:77;9053:1;9046:88;9153:4;9150:1;9143:15;9177:4;9174:1;9167:15;9194:102;9236:8;9283:5;9280:1;9276:13;9255:34;;9194:102;;;:::o;9302:848::-;9363:5;9370:4;9394:6;9385:15;;9418:5;9409:14;;9432:712;9453:1;9443:8;9440:15;9432:712;;;9548:4;9543:3;9539:14;9533:4;9530:24;9527:50;;;9557:18;;:::i;:::-;9527:50;9607:1;9597:8;9593:16;9590:451;;;10022:4;10015:5;10011:16;10002:25;;9590:451;10072:4;10066;10062:15;10054:23;;10102:32;10125:8;10102:32;:::i;:::-;10090:44;;9432:712;;;9302:848;;;;;;;:::o;10156:1073::-;10210:5;10401:8;10391:40;;10422:1;10413:10;;10424:5;;10391:40;10450:4;10440:36;;10467:1;10458:10;;10469:5;;10440:36;10536:4;10584:1;10579:27;;;;10620:1;10615:191;;;;10529:277;;10579:27;10597:1;10588:10;;10599:5;;;10615:191;10660:3;10650:8;10647:17;10644:43;;;10667:18;;:::i;:::-;10644:43;10716:8;10713:1;10709:16;10700:25;;10751:3;10744:5;10741:14;10738:40;;;10758:18;;:::i;:::-;10738:40;10791:5;;;10529:277;;10915:2;10905:8;10902:16;10896:3;10890:4;10887:13;10883:36;10865:2;10855:8;10852:16;10847:2;10841:4;10838:12;10834:35;10818:111;10815:246;;;10971:8;10965:4;10961:19;10952:28;;11006:3;10999:5;10996:14;10993:40;;;11013:18;;:::i;:::-;10993:40;11046:5;;10815:246;11086:42;11124:3;11114:8;11108:4;11105:1;11086:42;:::i;:::-;11071:57;;;;11160:4;11155:3;11151:14;11144:5;11141:25;11138:51;;;11169:18;;:::i;:::-;11138:51;11218:4;11211:5;11207:16;11198:25;;10156:1073;;;;;;:::o;11235:281::-;11293:5;11317:23;11335:4;11317:23;:::i;:::-;11309:31;;11361:25;11377:8;11361:25;:::i;:::-;11349:37;;11405:104;11442:66;11432:8;11426:4;11405:104;:::i;:::-;11396:113;;11235:281;;;;:::o;11522:410::-;11562:7;11585:20;11603:1;11585:20;:::i;:::-;11580:25;;11619:20;11637:1;11619:20;:::i;:::-;11614:25;;11674:1;11671;11667:9;11696:30;11714:11;11696:30;:::i;:::-;11685:41;;11875:1;11866:7;11862:15;11859:1;11856:22;11836:1;11829:9;11809:83;11786:139;;11905:18;;:::i;:::-;11786:139;11570:362;11522:410;;;;:::o;11938:143::-;11995:5;12026:6;12020:13;12011:22;;12042:33;12069:5;12042:33;:::i;:::-;11938:143;;;;:::o;12087:351::-;12157:6;12206:2;12194:9;12185:7;12181:23;12177:32;12174:119;;;12212:79;;:::i;:::-;12174:119;12332:1;12357:64;12413:7;12404:6;12393:9;12389:22;12357:64;:::i;:::-;12347:74;;12303:128;12087:351;;;;:::o;12444:332::-;12565:4;12603:2;12592:9;12588:18;12580:26;;12616:71;12684:1;12673:9;12669:17;12660:6;12616:71;:::i;:::-;12697:72;12765:2;12754:9;12750:18;12741:6;12697:72;:::i;:::-;12444:332;;;;;:::o;12782:85::-;12827:7;12856:5;12845:16;;12782:85;;;:::o;12873:158::-;12931:9;12964:61;12982:42;12991:32;13017:5;12991:32;:::i;:::-;12982:42;:::i;:::-;12964:61;:::i;:::-;12951:74;;12873:158;;;:::o;13037:147::-;13132:45;13171:5;13132:45;:::i;:::-;13127:3;13120:58;13037:147;;:::o;13190:807::-;13439:4;13477:3;13466:9;13462:19;13454:27;;13491:71;13559:1;13548:9;13544:17;13535:6;13491:71;:::i;:::-;13572:72;13640:2;13629:9;13625:18;13616:6;13572:72;:::i;:::-;13654:80;13730:2;13719:9;13715:18;13706:6;13654:80;:::i;:::-;13744;13820:2;13809:9;13805:18;13796:6;13744:80;:::i;:::-;13834:73;13902:3;13891:9;13887:19;13878:6;13834:73;:::i;:::-;13917;13985:3;13974:9;13970:19;13961:6;13917:73;:::i;:::-;13190:807;;;;;;;;;:::o;14003:143::-;14060:5;14091:6;14085:13;14076:22;;14107:33;14134:5;14107:33;:::i;:::-;14003:143;;;;:::o;14152:663::-;14240:6;14248;14256;14305:2;14293:9;14284:7;14280:23;14276:32;14273:119;;;14311:79;;:::i;:::-;14273:119;14431:1;14456:64;14512:7;14503:6;14492:9;14488:22;14456:64;:::i;:::-;14446:74;;14402:128;14569:2;14595:64;14651:7;14642:6;14631:9;14627:22;14595:64;:::i;:::-;14585:74;;14540:129;14708:2;14734:64;14790:7;14781:6;14770:9;14766:22;14734:64;:::i;:::-;14724:74;;14679:129;14152:663;;;;;:::o;14821:225::-;14961:34;14957:1;14949:6;14945:14;14938:58;15030:8;15025:2;15017:6;15013:15;15006:33;14821:225;:::o;15052:366::-;15194:3;15215:67;15279:2;15274:3;15215:67;:::i;:::-;15208:74;;15291:93;15380:3;15291:93;:::i;:::-;15409:2;15404:3;15400:12;15393:19;;15052:366;;;:::o;15424:419::-;15590:4;15628:2;15617:9;15613:18;15605:26;;15677:9;15671:4;15667:20;15663:1;15652:9;15648:17;15641:47;15705:131;15831:4;15705:131;:::i;:::-;15697:139;;15424:419;;;:::o;15849:223::-;15989:34;15985:1;15977:6;15973:14;15966:58;16058:6;16053:2;16045:6;16041:15;16034:31;15849:223;:::o;16078:366::-;16220:3;16241:67;16305:2;16300:3;16241:67;:::i;:::-;16234:74;;16317:93;16406:3;16317:93;:::i;:::-;16435:2;16430:3;16426:12;16419:19;;16078:366;;;:::o;16450:419::-;16616:4;16654:2;16643:9;16639:18;16631:26;;16703:9;16697:4;16693:20;16689:1;16678:9;16674:17;16667:47;16731:131;16857:4;16731:131;:::i;:::-;16723:139;;16450:419;;;:::o;16875:221::-;17015:34;17011:1;17003:6;16999:14;16992:58;17084:4;17079:2;17071:6;17067:15;17060:29;16875:221;:::o;17102:366::-;17244:3;17265:67;17329:2;17324:3;17265:67;:::i;:::-;17258:74;;17341:93;17430:3;17341:93;:::i;:::-;17459:2;17454:3;17450:12;17443:19;;17102:366;;;:::o;17474:419::-;17640:4;17678:2;17667:9;17663:18;17655:26;;17727:9;17721:4;17717:20;17713:1;17702:9;17698:17;17691:47;17755:131;17881:4;17755:131;:::i;:::-;17747:139;;17474:419;;;:::o;17899:224::-;18039:34;18035:1;18027:6;18023:14;18016:58;18108:7;18103:2;18095:6;18091:15;18084:32;17899:224;:::o;18129:366::-;18271:3;18292:67;18356:2;18351:3;18292:67;:::i;:::-;18285:74;;18368:93;18457:3;18368:93;:::i;:::-;18486:2;18481:3;18477:12;18470:19;;18129:366;;;:::o;18501:419::-;18667:4;18705:2;18694:9;18690:18;18682:26;;18754:9;18748:4;18744:20;18740:1;18729:9;18725:17;18718:47;18782:131;18908:4;18782:131;:::i;:::-;18774:139;;18501:419;;;:::o;18926:222::-;19066:34;19062:1;19054:6;19050:14;19043:58;19135:5;19130:2;19122:6;19118:15;19111:30;18926:222;:::o;19154:366::-;19296:3;19317:67;19381:2;19376:3;19317:67;:::i;:::-;19310:74;;19393:93;19482:3;19393:93;:::i;:::-;19511:2;19506:3;19502:12;19495:19;;19154:366;;;:::o;19526:419::-;19692:4;19730:2;19719:9;19715:18;19707:26;;19779:9;19773:4;19769:20;19765:1;19754:9;19750:17;19743:47;19807:131;19933:4;19807:131;:::i;:::-;19799:139;;19526:419;;;:::o;19951:228::-;20091:34;20087:1;20079:6;20075:14;20068:58;20160:11;20155:2;20147:6;20143:15;20136:36;19951:228;:::o;20185:366::-;20327:3;20348:67;20412:2;20407:3;20348:67;:::i;:::-;20341:74;;20424:93;20513:3;20424:93;:::i;:::-;20542:2;20537:3;20533:12;20526:19;;20185:366;;;:::o;20557:419::-;20723:4;20761:2;20750:9;20746:18;20738:26;;20810:9;20804:4;20800:20;20796:1;20785:9;20781:17;20774:47;20838:131;20964:4;20838:131;:::i;:::-;20830:139;;20557:419;;;:::o;20982:227::-;21122:34;21118:1;21110:6;21106:14;21099:58;21191:10;21186:2;21178:6;21174:15;21167:35;20982:227;:::o;21215:366::-;21357:3;21378:67;21442:2;21437:3;21378:67;:::i;:::-;21371:74;;21454:93;21543:3;21454:93;:::i;:::-;21572:2;21567:3;21563:12;21556:19;;21215:366;;;:::o;21587:419::-;21753:4;21791:2;21780:9;21776:18;21768:26;;21840:9;21834:4;21830:20;21826:1;21815:9;21811:17;21804:47;21868:131;21994:4;21868:131;:::i;:::-;21860:139;;21587:419;;;:::o;22012:194::-;22052:4;22072:20;22090:1;22072:20;:::i;:::-;22067:25;;22106:20;22124:1;22106:20;:::i;:::-;22101:25;;22150:1;22147;22143:9;22135:17;;22174:1;22168:4;22165:11;22162:37;;;22179:18;;:::i;:::-;22162:37;22012:194;;;;:::o;22212:191::-;22252:3;22271:20;22289:1;22271:20;:::i;:::-;22266:25;;22305:20;22323:1;22305:20;:::i;:::-;22300:25;;22348:1;22345;22341:9;22334:16;;22369:3;22366:1;22363:10;22360:36;;;22376:18;;:::i;:::-;22360:36;22212:191;;;;:::o;22409:177::-;22549:29;22545:1;22537:6;22533:14;22526:53;22409:177;:::o;22592:366::-;22734:3;22755:67;22819:2;22814:3;22755:67;:::i;:::-;22748:74;;22831:93;22920:3;22831:93;:::i;:::-;22949:2;22944:3;22940:12;22933:19;;22592:366;;;:::o;22964:419::-;23130:4;23168:2;23157:9;23153:18;23145:26;;23217:9;23211:4;23207:20;23203:1;23192:9;23188:17;23181:47;23245:131;23371:4;23245:131;:::i;:::-;23237:139;;22964:419;;;:::o;23389:180::-;23437:77;23434:1;23427:88;23534:4;23531:1;23524:15;23558:4;23555:1;23548:15;23575:185;23615:1;23632:20;23650:1;23632:20;:::i;:::-;23627:25;;23666:20;23684:1;23666:20;:::i;:::-;23661:25;;23705:1;23695:35;;23710:18;;:::i;:::-;23695:35;23752:1;23749;23745:9;23740:14;;23575:185;;;;:::o;23766:220::-;23906:34;23902:1;23894:6;23890:14;23883:58;23975:3;23970:2;23962:6;23958:15;23951:28;23766:220;:::o;23992:366::-;24134:3;24155:67;24219:2;24214:3;24155:67;:::i;:::-;24148:74;;24231:93;24320:3;24231:93;:::i;:::-;24349:2;24344:3;24340:12;24333:19;;23992:366;;;:::o;24364:419::-;24530:4;24568:2;24557:9;24553:18;24545:26;;24617:9;24611:4;24607:20;24603:1;24592:9;24588:17;24581:47;24645:131;24771:4;24645:131;:::i;:::-;24637:139;;24364:419;;;:::o;24789:180::-;24837:77;24834:1;24827:88;24934:4;24931:1;24924:15;24958:4;24955:1;24948:15;24975:180;25023:77;25020:1;25013:88;25120:4;25117:1;25110:15;25144:4;25141:1;25134:15;25161:114;25228:6;25262:5;25256:12;25246:22;;25161:114;;;:::o;25281:184::-;25380:11;25414:6;25409:3;25402:19;25454:4;25449:3;25445:14;25430:29;;25281:184;;;;:::o;25471:132::-;25538:4;25561:3;25553:11;;25591:4;25586:3;25582:14;25574:22;;25471:132;;;:::o;25609:108::-;25686:24;25704:5;25686:24;:::i;:::-;25681:3;25674:37;25609:108;;:::o;25723:179::-;25792:10;25813:46;25855:3;25847:6;25813:46;:::i;:::-;25891:4;25886:3;25882:14;25868:28;;25723:179;;;;:::o;25908:113::-;25978:4;26010;26005:3;26001:14;25993:22;;25908:113;;;:::o;26057:732::-;26176:3;26205:54;26253:5;26205:54;:::i;:::-;26275:86;26354:6;26349:3;26275:86;:::i;:::-;26268:93;;26385:56;26435:5;26385:56;:::i;:::-;26464:7;26495:1;26480:284;26505:6;26502:1;26499:13;26480:284;;;26581:6;26575:13;26608:63;26667:3;26652:13;26608:63;:::i;:::-;26601:70;;26694:60;26747:6;26694:60;:::i;:::-;26684:70;;26540:224;26527:1;26524;26520:9;26515:14;;26480:284;;;26484:14;26780:3;26773:10;;26181:608;;;26057:732;;;;:::o;26795:831::-;27058:4;27096:3;27085:9;27081:19;27073:27;;27110:71;27178:1;27167:9;27163:17;27154:6;27110:71;:::i;:::-;27191:80;27267:2;27256:9;27252:18;27243:6;27191:80;:::i;:::-;27318:9;27312:4;27308:20;27303:2;27292:9;27288:18;27281:48;27346:108;27449:4;27440:6;27346:108;:::i;:::-;27338:116;;27464:72;27532:2;27521:9;27517:18;27508:6;27464:72;:::i;:::-;27546:73;27614:3;27603:9;27599:19;27590:6;27546:73;:::i;:::-;26795:831;;;;;;;;:::o;27632:483::-;27803:4;27841:2;27830:9;27826:18;27818:26;;27854:71;27922:1;27911:9;27907:17;27898:6;27854:71;:::i;:::-;27972:9;27966:4;27962:20;27957:2;27946:9;27942:18;27935:48;28000:108;28103:4;28094:6;28000:108;:::i;:::-;27992:116;;27632:483;;;;;:::o

Swarm Source

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