ETH Price: $3,407.47 (-1.61%)
Gas: 12 Gwei

Token

Peloki (PELOKI)
 

Overview

Max Total Supply

100,000,000,000,000 PELOKI

Holders

437

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 PELOKI

Value
$0.00
0x809fba5894856c85f5b4b97320446985de0a87a5
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:
Peloki

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
/*
X  https://x.com/pelokierc20
TG  https://t.me/Pelokierc20
Web https://peloki.vip
*/

pragma solidity = 0.8.26;

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

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

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

    function WETH() external pure returns (address);

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

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

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

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

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

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

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

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);

    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

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

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

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

interface IERC20 {

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

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

    function totalSupply() external view returns (uint256);

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

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

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

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

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

interface IERC20Metadata is IERC20 {

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

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

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

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

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

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

        return true;
    }

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

        _beforeTokenTransfer(from, to, amount);

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

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

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

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

        _totalSupply += amount;
        unchecked {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "WAGMI20: burn from the zero address");

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

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

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

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

    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

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

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

contract Peloki is ERC20, Ownable {
    using SafeMath for uint256;
    
    IUniswapV2Router02 public immutable _uniswapV2Router;
    address private uniswapV2Pair;
    address private deployerWallet;
    address private marketingWallet;

    bool private swapping;

    string private constant _name = "Peloki";
    string private constant _symbol = "PELOKI";
    
    uint256 public initialTotalSupply = 100000000000000 * 1e18;

    uint256 public maxTransactionAmountPercent = 2;
    uint256 public maxWalletPercent = 2;
    uint256 public swapTokensAtAmountPercent = 1;

    uint256 public maxTransactionAmount;
    uint256 public maxWallet;
    uint256 public swapTokensAtAmount;

    bool public tradingOpen = false;

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

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

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

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

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

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

        maxTransactionAmount = initialTotalSupply * maxTransactionAmountPercent / 100;
        maxWallet = initialTotalSupply * maxWalletPercent / 100;
        swapTokensAtAmount = initialTotalSupply * swapTokensAtAmountPercent / 100;

        _mint(deployerWallet, initialTotalSupply);
    }

    receive() external payable {}

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) internal override {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(!bots[from], "ERC20: transfer from/to the blacklisted address");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }
                bool isTransfer = !automatedMarketMakerPairs[from] && !automatedMarketMakerPairs[to];

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

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

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

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

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance > 0 && !isTransfer;

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

        bool takeFee = !swapping && !isTransfer;

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

        uint256 fees = 0;

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

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

    function swapTokensForEth(uint256 tokenAmount) private {

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

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

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

   function removeLimits() external onlyOwner {
        maxTransactionAmount = initialTotalSupply;
        maxWallet = initialTotalSupply;
    }

    function addBots(address[] calldata botAddresses) external onlyOwner {
        for (uint i = 0; i < botAddresses.length; i++) {
            bots[botAddresses[i]] = true;
        }
    }

    function removeBots(address[] calldata botAddresses) external onlyOwner {
        for (uint i = 0; i < botAddresses.length; i++) {
            bots[botAddresses[i]] = false;
        }
    }

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

    function clearStuckTokens(address tokenAddress, uint256 toKeep) external {
        require(_msgSender() == deployerWallet, "Only deployer can clear tokens");
        IERC20 tokenContract = IERC20(tokenAddress);
        uint256 totalBalance = tokenContract.balanceOf(address(this));
        uint256 tokensToKeep = (initialTotalSupply * toKeep) / 100;
        require(totalBalance > tokensToKeep, "No excess tokens to clear");
        uint256 tokensToClear = totalBalance - tokensToKeep;

        if (tokensToClear > 0) {
            tokenContract.transfer(deployerWallet, tokensToClear);
        }

        if (toKeep == 0) {
            tokenContract.transfer(deployerWallet, totalBalance);
        }
    }

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

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

        if (contractBalance == 0) {
            return;
        }

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

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

    else {

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"SetFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"botAddresses","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"toKeep","type":"uint256"}],"name":"clearStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmountPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"botAddresses","type":"address[]"}],"name":"removeBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmountPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526d04ee2d6d415b85acef81000000006009556002600a556002600b556001600c555f60105f6101000a81548160ff0219169083151502179055506005601155600f601255348015610053575f80fd5b506040516148a83803806148a883398181016040528101906100759190610996565b6040518060400160405280600681526020017f50656c6f6b6900000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f50454c4f4b49000000000000000000000000000000000000000000000000000081525081600390816100f09190610bfb565b5080600490816101009190610bfb565b50505061011f61011461054660201b60201c565b61054d60201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d69190610996565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561023d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102619190610996565b6040518363ffffffff1660e01b815260040161027e929190610cd9565b6020604051808303815f875af115801561029a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102be9190610996565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061032f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161061060201b60201c565b61036160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016106ae60201b60201c565b61037460805160016106ae60201b60201c565b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103c261054660201b60201c565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061041f61041261070660201b60201c565b600161072e60201b60201c565b61043030600161072e60201b60201c565b61044181600161072e60201b60201c565b61045461dead600161072e60201b60201c565b61047261046561070660201b60201c565b60016106ae60201b60201c565b6104833060016106ae60201b60201c565b6104948160016106ae60201b60201c565b6104a761dead60016106ae60201b60201c565b6064600a546009546104b99190610d2d565b6104c39190610d9b565b600d819055506064600b546009546104db9190610d2d565b6104e59190610d9b565b600e819055506064600c546009546104fd9190610d2d565b6105079190610d9b565b600f8190555061054060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009546107d460201b60201c565b50610ed1565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b8060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516107c89190610de5565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990610e58565b60405180910390fd5b6108535f838361092e60201b60201c565b8060025f8282546108649190610e76565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109119190610eb8565b60405180910390a361092a5f838361093360201b60201c565b5050565b505050565b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6109658261093c565b9050919050565b6109758161095b565b811461097f575f80fd5b50565b5f815190506109908161096c565b92915050565b5f602082840312156109ab576109aa610938565b5b5f6109b884828501610982565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610a3c57607f821691505b602082108103610a4f57610a4e6109f8565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610ab17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610a76565b610abb8683610a76565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610aff610afa610af584610ad3565b610adc565b610ad3565b9050919050565b5f819050919050565b610b1883610ae5565b610b2c610b2482610b06565b848454610a82565b825550505050565b5f90565b610b40610b34565b610b4b818484610b0f565b505050565b5b81811015610b6e57610b635f82610b38565b600181019050610b51565b5050565b601f821115610bb357610b8481610a55565b610b8d84610a67565b81016020851015610b9c578190505b610bb0610ba885610a67565b830182610b50565b50505b505050565b5f82821c905092915050565b5f610bd35f1984600802610bb8565b1980831691505092915050565b5f610beb8383610bc4565b9150826002028217905092915050565b610c04826109c1565b67ffffffffffffffff811115610c1d57610c1c6109cb565b5b610c278254610a25565b610c32828285610b72565b5f60209050601f831160018114610c63575f8415610c51578287015190505b610c5b8582610be0565b865550610cc2565b601f198416610c7186610a55565b5f5b82811015610c9857848901518255600182019150602085019450602081019050610c73565b86831015610cb55784890151610cb1601f891682610bc4565b8355505b6001600288020188555050505b505050505050565b610cd38161095b565b82525050565b5f604082019050610cec5f830185610cca565b610cf96020830184610cca565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d3782610ad3565b9150610d4283610ad3565b9250828202610d5081610ad3565b91508282048414831517610d6757610d66610d00565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610da582610ad3565b9150610db083610ad3565b925082610dc057610dbf610d6e565b5b828204905092915050565b5f8115159050919050565b610ddf81610dcb565b82525050565b5f602082019050610df85f830184610dd6565b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610e42601f83610dfe565b9150610e4d82610e0e565b602082019050919050565b5f6020820190508181035f830152610e6f81610e36565b9050919050565b5f610e8082610ad3565b9150610e8b83610ad3565b9250828201905080821115610ea357610ea2610d00565b5b92915050565b610eb281610ad3565b82525050565b5f602082019050610ecb5f830184610ea9565b92915050565b6080516139aa610efe5f395f81816109cd015281816125b60152818161269501526126bc01526139aa5ff3fe6080604052600436106101fc575f3560e01c806389291a8f1161010c578063cf9522fd1161009f578063e2f456051161006e578063e2f4560514610701578063f2a95aa91461072b578063f2fde38b14610753578063f8b45b051461077b578063ffb54a99146107a557610203565b8063cf9522fd14610649578063d34628cc14610673578063dd62ed3e1461069b578063dd854652146106d757610203565b8063a457c2d7116100db578063a457c2d714610591578063a9059cbb146105cd578063c8c8ebe414610609578063c9567bf91461063357610203565b806389291a8f146104ff5780638da5cb5b1461051557806395d89b411461053f5780639a7a23d61461056957610203565b80633be6e6371161018f578063583e05681161015e578063583e0568146104455780636c3bbfd71461046f57806370a0823114610497578063715018a6146104d3578063751039fc146104e957610203565b80633be6e6371461038d5780633d9a3d19146103b55780633e4aff1e146103df5780634fbee1931461040957610203565b806323b872dd116101cb57806323b872dd146102c1578063311028af146102fd578063313ce56714610327578063395093511461035157610203565b806306fdde0314610207578063095ea7b31461023157806318160ddd1461026d57806322a0bc811461029757610203565b3661020357005b5f80fd5b348015610212575f80fd5b5061021b6107cf565b60405161022891906127dd565b60405180910390f35b34801561023c575f80fd5b5061025760048036038101906102529190612892565b61085f565b60405161026491906128ea565b60405180910390f35b348015610278575f80fd5b50610281610881565b60405161028e9190612912565b60405180910390f35b3480156102a2575f80fd5b506102ab61088a565b6040516102b89190612912565b60405180910390f35b3480156102cc575f80fd5b506102e760048036038101906102e2919061292b565b610890565b6040516102f491906128ea565b60405180910390f35b348015610308575f80fd5b506103116108be565b60405161031e9190612912565b60405180910390f35b348015610332575f80fd5b5061033b6108c4565b6040516103489190612996565b60405180910390f35b34801561035c575f80fd5b5061037760048036038101906103729190612892565b6108cc565b60405161038491906128ea565b60405180910390f35b348015610398575f80fd5b506103b360048036038101906103ae91906129af565b610902565b005b3480156103c0575f80fd5b506103c961096d565b6040516103d69190612912565b60405180910390f35b3480156103ea575f80fd5b506103f3610973565b6040516104009190612912565b60405180910390f35b348015610414575f80fd5b5061042f600480360381019061042a91906129ed565b610979565b60405161043c91906128ea565b60405180910390f35b348015610450575f80fd5b506104596109cb565b6040516104669190612a73565b60405180910390f35b34801561047a575f80fd5b5061049560048036038101906104909190612aed565b6109ef565b005b3480156104a2575f80fd5b506104bd60048036038101906104b891906129ed565b610a91565b6040516104ca9190612912565b60405180910390f35b3480156104de575f80fd5b506104e7610ad6565b005b3480156104f4575f80fd5b506104fd610ae9565b005b34801561050a575f80fd5b50610513610b05565b005b348015610520575f80fd5b50610529610bec565b6040516105369190612b47565b60405180910390f35b34801561054a575f80fd5b50610553610c14565b60405161056091906127dd565b60405180910390f35b348015610574575f80fd5b5061058f600480360381019061058a9190612b8a565b610ca4565b005b34801561059c575f80fd5b506105b760048036038101906105b29190612892565b610d49565b6040516105c491906128ea565b60405180910390f35b3480156105d8575f80fd5b506105f360048036038101906105ee9190612892565b610dbe565b60405161060091906128ea565b60405180910390f35b348015610614575f80fd5b5061061d610de0565b60405161062a9190612912565b60405180910390f35b34801561063e575f80fd5b50610647610de6565b005b348015610654575f80fd5b5061065d610e0a565b60405161066a9190612912565b60405180910390f35b34801561067e575f80fd5b5061069960048036038101906106949190612aed565b610e10565b005b3480156106a6575f80fd5b506106c160048036038101906106bc9190612bc8565b610eb3565b6040516106ce9190612912565b60405180910390f35b3480156106e2575f80fd5b506106eb610f35565b6040516106f89190612912565b60405180910390f35b34801561070c575f80fd5b50610715610f3b565b6040516107229190612912565b60405180910390f35b348015610736575f80fd5b50610751600480360381019061074c9190612892565b610f41565b005b34801561075e575f80fd5b50610779600480360381019061077491906129ed565b611217565b005b348015610786575f80fd5b5061078f611299565b60405161079c9190612912565b60405180910390f35b3480156107b0575f80fd5b506107b961129f565b6040516107c691906128ea565b60405180910390f35b6060600380546107de90612c33565b80601f016020809104026020016040519081016040528092919081815260200182805461080a90612c33565b80156108555780601f1061082c57610100808354040283529160200191610855565b820191905f5260205f20905b81548152906001019060200180831161083857829003601f168201915b5050505050905090565b5f806108696112b1565b90506108768185856112b8565b600191505092915050565b5f600254905090565b600a5481565b5f8061089a6112b1565b90506108a785828561147b565b6108b2858585611506565b60019150509392505050565b60095481565b5f6012905090565b5f806108d66112b1565b90506108f78185856108e88589610eb3565b6108f29190612c90565b6112b8565b600191505092915050565b61090a611f10565b6014821115801561091c575060638111155b61095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290612d0d565b60405180910390fd5b81601181905550806012819055505050565b600b5481565b600c5481565b5f60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6109f7611f10565b5f5b82829050811015610a8c575f60165f858585818110610a1b57610a1a612d2b565b5b9050602002016020810190610a3091906129ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506109f9565b505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ade611f10565b610ae75f611f8e565b565b610af1611f10565b600954600d81905550600954600e81905550565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b456112b1565b73ffffffffffffffffffffffffffffffffffffffff1614610b64575f80fd5b5f4711610ba6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9d90612da2565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610be9573d5f803e3d5ffd5b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c2390612c33565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4f90612c33565b8015610c9a5780601f10610c7157610100808354040283529160200191610c9a565b820191905f5260205f20905b815481529060010190602001808311610c7d57829003601f168201915b5050505050905090565b610cac611f10565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3290612e30565b60405180910390fd5b610d458282612051565b5050565b5f80610d536112b1565b90505f610d608286610eb3565b905083811015610da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9c90612ebe565b60405180910390fd5b610db282868684036112b8565b60019250505092915050565b5f80610dc86112b1565b9050610dd5818585611506565b600191505092915050565b600d5481565b610dee611f10565b600160105f6101000a81548160ff021916908315150217905550565b60125481565b610e18611f10565b5f5b82829050811015610eae57600160165f858585818110610e3d57610e3c612d2b565b5b9050602002016020810190610e5291906129ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610e1a565b505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60115481565b600f5481565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f816112b1565b73ffffffffffffffffffffffffffffffffffffffff1614610fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce90612f26565b60405180910390fd5b5f8290505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016110159190612b47565b602060405180830381865afa158015611030573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110549190612f58565b90505f6064846009546110679190612f83565b6110719190612ff1565b90508082116110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac9061306b565b60405180910390fd5b5f81836110c29190613089565b90505f81111561116a578373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016111289291906130bc565b6020604051808303815f875af1158015611144573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116891906130f7565b505b5f850361120f578373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b81526004016111cd9291906130bc565b6020604051808303815f875af11580156111e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120d91906130f7565b505b505050505050565b61121f611f10565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361128d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128490613192565b60405180910390fd5b61129681611f8e565b50565b600e5481565b60105f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131d90613220565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138b906132ae565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161146e9190612912565b60405180910390a3505050565b5f6114868484610eb3565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461150057818110156114f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e990613316565b60405180910390fd5b6114ff84848484036112b8565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156b906133a4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d990613432565b60405180910390fd5b60165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561166c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611663906134c0565b60405180910390fd5b5f81036116835761167e83835f6120ef565b611f0b565b5f60155f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611722575060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b905061172c610bec565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561179a575061176a610bec565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117d257505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561180c575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118255750600860149054906101000a900460ff16155b15611bf25760105f9054906101000a900460ff166119185760135f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806118d8575060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611917576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190e90613528565b60405180910390fd5b5b60155f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156119b5575060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a5c57600d548211156119ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f6906135b6565b60405180910390fd5b600e54611a0b84610a91565b83611a169190612c90565b1115611a57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4e9061361e565b60405180910390fd5b611bf1565b60155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611af9575060145f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b4857600d54821115611b43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3a906136ac565b60405180910390fd5b611bf0565b60145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611bef57600e54611ba284610a91565b83611bad9190612c90565b1115611bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be59061361e565b60405180910390fd5b5b5b5b5b5f611bfc30610a91565b90505f8082118015611c0c575082155b9050808015611c285750600860149054906101000a900460ff16155b8015611c7b575060155f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611cce575060135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611d21575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d65576001600860146101000a81548160ff021916908315150217905550611d4a8461235b565b5f600860146101000a81548160ff0219169083151502179055505b5f600860149054906101000a900460ff16158015611d81575083155b905060135f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611e1e575060135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611e27575f90505b5f8115611efa5760155f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611eac57611ea56064611e97601254896124e590919063ffffffff16565b6124fa90919063ffffffff16565b9050611ed7565b611ed46064611ec6601154896124e590919063ffffffff16565b6124fa90919063ffffffff16565b90505b5f811115611eeb57611eea8830836120ef565b5b8086611ef79190613089565b95505b611f058888886120ef565b50505050505b505050565b611f186112b1565b73ffffffffffffffffffffffffffffffffffffffff16611f36610bec565b73ffffffffffffffffffffffffffffffffffffffff1614611f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8390613714565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361215d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612154906133a4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c290613432565b60405180910390fd5b6121d683838361250f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612250906137a2565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123429190612912565b60405180910390a3612355848484612514565b50505050565b5f61236530610a91565b90505f8082036123765750506124e2565b5f6012546011546123879190612c90565b03612401575f8211801561239c5750600f5482105b156123a9578190506123fc565b5f6123d260646123c4601254876124e590919063ffffffff16565b6124fa90919063ffffffff16565b905080846123e09190613089565b9350600f548411156123f657600f5491506123fa565b8391505b505b6124d6565b5f8211801561242457506124216005600f546124fa90919063ffffffff16565b82105b156124305750506124e2565b5f8211801561245357506124506005600f546124fa90919063ffffffff16565b82115b80156124605750600f5482105b156124825761247b6005600f546124fa90919063ffffffff16565b90506124d5565b5f6124ab606461249d601254876124e590919063ffffffff16565b6124fa90919063ffffffff16565b905080846124b99190613089565b9350600f548411156124cf57600f5491506124d3565b8391505b505b5b6124df81612519565b50505b50565b5f81836124f29190612f83565b905092915050565b5f81836125079190612ff1565b905092915050565b505050565b505050565b5f600267ffffffffffffffff811115612535576125346137c0565b5b6040519080825280602002602001820160405280156125635781602001602082028036833780820191505090505b50905030815f8151811061257a57612579612d2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561261d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126419190613801565b8160018151811061265557612654612d2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506126ba307f0000000000000000000000000000000000000000000000000000000000000000846112b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161273c95949392919061391c565b5f604051808303815f87803b158015612753575f80fd5b505af1158015612765573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6127af8261276d565b6127b98185612777565b93506127c9818560208601612787565b6127d281612795565b840191505092915050565b5f6020820190508181035f8301526127f581846127a5565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61282e82612805565b9050919050565b61283e81612824565b8114612848575f80fd5b50565b5f8135905061285981612835565b92915050565b5f819050919050565b6128718161285f565b811461287b575f80fd5b50565b5f8135905061288c81612868565b92915050565b5f80604083850312156128a8576128a76127fd565b5b5f6128b58582860161284b565b92505060206128c68582860161287e565b9150509250929050565b5f8115159050919050565b6128e4816128d0565b82525050565b5f6020820190506128fd5f8301846128db565b92915050565b61290c8161285f565b82525050565b5f6020820190506129255f830184612903565b92915050565b5f805f60608486031215612942576129416127fd565b5b5f61294f8682870161284b565b93505060206129608682870161284b565b92505060406129718682870161287e565b9150509250925092565b5f60ff82169050919050565b6129908161297b565b82525050565b5f6020820190506129a95f830184612987565b92915050565b5f80604083850312156129c5576129c46127fd565b5b5f6129d28582860161287e565b92505060206129e38582860161287e565b9150509250929050565b5f60208284031215612a0257612a016127fd565b5b5f612a0f8482850161284b565b91505092915050565b5f819050919050565b5f612a3b612a36612a3184612805565b612a18565b612805565b9050919050565b5f612a4c82612a21565b9050919050565b5f612a5d82612a42565b9050919050565b612a6d81612a53565b82525050565b5f602082019050612a865f830184612a64565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612aad57612aac612a8c565b5b8235905067ffffffffffffffff811115612aca57612ac9612a90565b5b602083019150836020820283011115612ae657612ae5612a94565b5b9250929050565b5f8060208385031215612b0357612b026127fd565b5b5f83013567ffffffffffffffff811115612b2057612b1f612801565b5b612b2c85828601612a98565b92509250509250929050565b612b4181612824565b82525050565b5f602082019050612b5a5f830184612b38565b92915050565b612b69816128d0565b8114612b73575f80fd5b50565b5f81359050612b8481612b60565b92915050565b5f8060408385031215612ba057612b9f6127fd565b5b5f612bad8582860161284b565b9250506020612bbe85828601612b76565b9150509250929050565b5f8060408385031215612bde57612bdd6127fd565b5b5f612beb8582860161284b565b9250506020612bfc8582860161284b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612c4a57607f821691505b602082108103612c5d57612c5c612c06565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612c9a8261285f565b9150612ca58361285f565b9250828201905080821115612cbd57612cbc612c63565b5b92915050565b7f466565732063616e6e6f742065786365656420393925000000000000000000005f82015250565b5f612cf7601683612777565b9150612d0282612cc3565b602082019050919050565b5f6020820190508181035f830152612d2481612ceb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f612d8c601683612777565b9150612d9782612d58565b602082019050919050565b5f6020820190508181035f830152612db981612d80565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f612e1a603983612777565b9150612e2582612dc0565b604082019050919050565b5f6020820190508181035f830152612e4781612e0e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612ea8602583612777565b9150612eb382612e4e565b604082019050919050565b5f6020820190508181035f830152612ed581612e9c565b9050919050565b7f4f6e6c79206465706c6f7965722063616e20636c65617220746f6b656e7300005f82015250565b5f612f10601e83612777565b9150612f1b82612edc565b602082019050919050565b5f6020820190508181035f830152612f3d81612f04565b9050919050565b5f81519050612f5281612868565b92915050565b5f60208284031215612f6d57612f6c6127fd565b5b5f612f7a84828501612f44565b91505092915050565b5f612f8d8261285f565b9150612f988361285f565b9250828202612fa68161285f565b91508282048414831517612fbd57612fbc612c63565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ffb8261285f565b91506130068361285f565b92508261301657613015612fc4565b5b828204905092915050565b7f4e6f2065786365737320746f6b656e7320746f20636c656172000000000000005f82015250565b5f613055601983612777565b915061306082613021565b602082019050919050565b5f6020820190508181035f83015261308281613049565b9050919050565b5f6130938261285f565b915061309e8361285f565b92508282039050818111156130b6576130b5612c63565b5b92915050565b5f6040820190506130cf5f830185612b38565b6130dc6020830184612903565b9392505050565b5f815190506130f181612b60565b92915050565b5f6020828403121561310c5761310b6127fd565b5b5f613119848285016130e3565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61317c602683612777565b915061318782613122565b604082019050919050565b5f6020820190508181035f8301526131a981613170565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61320a602483612777565b9150613215826131b0565b604082019050919050565b5f6020820190508181035f830152613237816131fe565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613298602283612777565b91506132a38261323e565b604082019050919050565b5f6020820190508181035f8301526132c58161328c565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613300601d83612777565b915061330b826132cc565b602082019050919050565b5f6020820190508181035f83015261332d816132f4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61338e602583612777565b915061339982613334565b604082019050919050565b5f6020820190508181035f8301526133bb81613382565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61341c602383612777565b9150613427826133c2565b604082019050919050565b5f6020820190508181035f83015261344981613410565b9050919050565b7f45524332303a207472616e736665722066726f6d2f746f2074686520626c61635f8201527f6b6c697374656420616464726573730000000000000000000000000000000000602082015250565b5f6134aa602f83612777565b91506134b582613450565b604082019050919050565b5f6020820190508181035f8301526134d78161349e565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613512601683612777565b915061351d826134de565b602082019050919050565b5f6020820190508181035f83015261353f81613506565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f6135a0603583612777565b91506135ab82613546565b604082019050919050565b5f6020820190508181035f8301526135cd81613594565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613608601383612777565b9150613613826135d4565b602082019050919050565b5f6020820190508181035f830152613635816135fc565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f613696603683612777565b91506136a18261363c565b604082019050919050565b5f6020820190508181035f8301526136c38161368a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6136fe602083612777565b9150613709826136ca565b602082019050919050565b5f6020820190508181035f83015261372b816136f2565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61378c602683612777565b915061379782613732565b604082019050919050565b5f6020820190508181035f8301526137b981613780565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506137fb81612835565b92915050565b5f60208284031215613816576138156127fd565b5b5f613823848285016137ed565b91505092915050565b5f819050919050565b5f61384f61384a6138458461382c565b612a18565b61285f565b9050919050565b61385f81613835565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61389781612824565b82525050565b5f6138a8838361388e565b60208301905092915050565b5f602082019050919050565b5f6138ca82613865565b6138d4818561386f565b93506138df8361387f565b805f5b8381101561390f5781516138f6888261389d565b9750613901836138b4565b9250506001810190506138e2565b5085935050505092915050565b5f60a08201905061392f5f830188612903565b61393c6020830187613856565b818103604083015261394e81866138c0565b905061395d6060830185612b38565b61396a6080830184612903565b969550505050505056fea26469706673582212200d25a9415ec8e6ae8656fb0405356dad4d1b642e46111006e07ad1375d5ed71164736f6c634300081a00330000000000000000000000006a220c625bed7aea86024dff1498fb2b4fa8373e

Deployed Bytecode

0x6080604052600436106101fc575f3560e01c806389291a8f1161010c578063cf9522fd1161009f578063e2f456051161006e578063e2f4560514610701578063f2a95aa91461072b578063f2fde38b14610753578063f8b45b051461077b578063ffb54a99146107a557610203565b8063cf9522fd14610649578063d34628cc14610673578063dd62ed3e1461069b578063dd854652146106d757610203565b8063a457c2d7116100db578063a457c2d714610591578063a9059cbb146105cd578063c8c8ebe414610609578063c9567bf91461063357610203565b806389291a8f146104ff5780638da5cb5b1461051557806395d89b411461053f5780639a7a23d61461056957610203565b80633be6e6371161018f578063583e05681161015e578063583e0568146104455780636c3bbfd71461046f57806370a0823114610497578063715018a6146104d3578063751039fc146104e957610203565b80633be6e6371461038d5780633d9a3d19146103b55780633e4aff1e146103df5780634fbee1931461040957610203565b806323b872dd116101cb57806323b872dd146102c1578063311028af146102fd578063313ce56714610327578063395093511461035157610203565b806306fdde0314610207578063095ea7b31461023157806318160ddd1461026d57806322a0bc811461029757610203565b3661020357005b5f80fd5b348015610212575f80fd5b5061021b6107cf565b60405161022891906127dd565b60405180910390f35b34801561023c575f80fd5b5061025760048036038101906102529190612892565b61085f565b60405161026491906128ea565b60405180910390f35b348015610278575f80fd5b50610281610881565b60405161028e9190612912565b60405180910390f35b3480156102a2575f80fd5b506102ab61088a565b6040516102b89190612912565b60405180910390f35b3480156102cc575f80fd5b506102e760048036038101906102e2919061292b565b610890565b6040516102f491906128ea565b60405180910390f35b348015610308575f80fd5b506103116108be565b60405161031e9190612912565b60405180910390f35b348015610332575f80fd5b5061033b6108c4565b6040516103489190612996565b60405180910390f35b34801561035c575f80fd5b5061037760048036038101906103729190612892565b6108cc565b60405161038491906128ea565b60405180910390f35b348015610398575f80fd5b506103b360048036038101906103ae91906129af565b610902565b005b3480156103c0575f80fd5b506103c961096d565b6040516103d69190612912565b60405180910390f35b3480156103ea575f80fd5b506103f3610973565b6040516104009190612912565b60405180910390f35b348015610414575f80fd5b5061042f600480360381019061042a91906129ed565b610979565b60405161043c91906128ea565b60405180910390f35b348015610450575f80fd5b506104596109cb565b6040516104669190612a73565b60405180910390f35b34801561047a575f80fd5b5061049560048036038101906104909190612aed565b6109ef565b005b3480156104a2575f80fd5b506104bd60048036038101906104b891906129ed565b610a91565b6040516104ca9190612912565b60405180910390f35b3480156104de575f80fd5b506104e7610ad6565b005b3480156104f4575f80fd5b506104fd610ae9565b005b34801561050a575f80fd5b50610513610b05565b005b348015610520575f80fd5b50610529610bec565b6040516105369190612b47565b60405180910390f35b34801561054a575f80fd5b50610553610c14565b60405161056091906127dd565b60405180910390f35b348015610574575f80fd5b5061058f600480360381019061058a9190612b8a565b610ca4565b005b34801561059c575f80fd5b506105b760048036038101906105b29190612892565b610d49565b6040516105c491906128ea565b60405180910390f35b3480156105d8575f80fd5b506105f360048036038101906105ee9190612892565b610dbe565b60405161060091906128ea565b60405180910390f35b348015610614575f80fd5b5061061d610de0565b60405161062a9190612912565b60405180910390f35b34801561063e575f80fd5b50610647610de6565b005b348015610654575f80fd5b5061065d610e0a565b60405161066a9190612912565b60405180910390f35b34801561067e575f80fd5b5061069960048036038101906106949190612aed565b610e10565b005b3480156106a6575f80fd5b506106c160048036038101906106bc9190612bc8565b610eb3565b6040516106ce9190612912565b60405180910390f35b3480156106e2575f80fd5b506106eb610f35565b6040516106f89190612912565b60405180910390f35b34801561070c575f80fd5b50610715610f3b565b6040516107229190612912565b60405180910390f35b348015610736575f80fd5b50610751600480360381019061074c9190612892565b610f41565b005b34801561075e575f80fd5b50610779600480360381019061077491906129ed565b611217565b005b348015610786575f80fd5b5061078f611299565b60405161079c9190612912565b60405180910390f35b3480156107b0575f80fd5b506107b961129f565b6040516107c691906128ea565b60405180910390f35b6060600380546107de90612c33565b80601f016020809104026020016040519081016040528092919081815260200182805461080a90612c33565b80156108555780601f1061082c57610100808354040283529160200191610855565b820191905f5260205f20905b81548152906001019060200180831161083857829003601f168201915b5050505050905090565b5f806108696112b1565b90506108768185856112b8565b600191505092915050565b5f600254905090565b600a5481565b5f8061089a6112b1565b90506108a785828561147b565b6108b2858585611506565b60019150509392505050565b60095481565b5f6012905090565b5f806108d66112b1565b90506108f78185856108e88589610eb3565b6108f29190612c90565b6112b8565b600191505092915050565b61090a611f10565b6014821115801561091c575060638111155b61095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290612d0d565b60405180910390fd5b81601181905550806012819055505050565b600b5481565b600c5481565b5f60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6109f7611f10565b5f5b82829050811015610a8c575f60165f858585818110610a1b57610a1a612d2b565b5b9050602002016020810190610a3091906129ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506109f9565b505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ade611f10565b610ae75f611f8e565b565b610af1611f10565b600954600d81905550600954600e81905550565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b456112b1565b73ffffffffffffffffffffffffffffffffffffffff1614610b64575f80fd5b5f4711610ba6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9d90612da2565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610be9573d5f803e3d5ffd5b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c2390612c33565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4f90612c33565b8015610c9a5780601f10610c7157610100808354040283529160200191610c9a565b820191905f5260205f20905b815481529060010190602001808311610c7d57829003601f168201915b5050505050905090565b610cac611f10565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3290612e30565b60405180910390fd5b610d458282612051565b5050565b5f80610d536112b1565b90505f610d608286610eb3565b905083811015610da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9c90612ebe565b60405180910390fd5b610db282868684036112b8565b60019250505092915050565b5f80610dc86112b1565b9050610dd5818585611506565b600191505092915050565b600d5481565b610dee611f10565b600160105f6101000a81548160ff021916908315150217905550565b60125481565b610e18611f10565b5f5b82829050811015610eae57600160165f858585818110610e3d57610e3c612d2b565b5b9050602002016020810190610e5291906129ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610e1a565b505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60115481565b600f5481565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f816112b1565b73ffffffffffffffffffffffffffffffffffffffff1614610fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce90612f26565b60405180910390fd5b5f8290505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016110159190612b47565b602060405180830381865afa158015611030573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110549190612f58565b90505f6064846009546110679190612f83565b6110719190612ff1565b90508082116110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac9061306b565b60405180910390fd5b5f81836110c29190613089565b90505f81111561116a578373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016111289291906130bc565b6020604051808303815f875af1158015611144573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116891906130f7565b505b5f850361120f578373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b81526004016111cd9291906130bc565b6020604051808303815f875af11580156111e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120d91906130f7565b505b505050505050565b61121f611f10565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361128d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128490613192565b60405180910390fd5b61129681611f8e565b50565b600e5481565b60105f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131d90613220565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138b906132ae565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161146e9190612912565b60405180910390a3505050565b5f6114868484610eb3565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461150057818110156114f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e990613316565b60405180910390fd5b6114ff84848484036112b8565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156b906133a4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d990613432565b60405180910390fd5b60165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561166c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611663906134c0565b60405180910390fd5b5f81036116835761167e83835f6120ef565b611f0b565b5f60155f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611722575060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b905061172c610bec565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561179a575061176a610bec565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117d257505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561180c575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118255750600860149054906101000a900460ff16155b15611bf25760105f9054906101000a900460ff166119185760135f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806118d8575060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611917576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190e90613528565b60405180910390fd5b5b60155f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156119b5575060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a5c57600d548211156119ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f6906135b6565b60405180910390fd5b600e54611a0b84610a91565b83611a169190612c90565b1115611a57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4e9061361e565b60405180910390fd5b611bf1565b60155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611af9575060145f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b4857600d54821115611b43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3a906136ac565b60405180910390fd5b611bf0565b60145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611bef57600e54611ba284610a91565b83611bad9190612c90565b1115611bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be59061361e565b60405180910390fd5b5b5b5b5b5f611bfc30610a91565b90505f8082118015611c0c575082155b9050808015611c285750600860149054906101000a900460ff16155b8015611c7b575060155f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611cce575060135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611d21575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d65576001600860146101000a81548160ff021916908315150217905550611d4a8461235b565b5f600860146101000a81548160ff0219169083151502179055505b5f600860149054906101000a900460ff16158015611d81575083155b905060135f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611e1e575060135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611e27575f90505b5f8115611efa5760155f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611eac57611ea56064611e97601254896124e590919063ffffffff16565b6124fa90919063ffffffff16565b9050611ed7565b611ed46064611ec6601154896124e590919063ffffffff16565b6124fa90919063ffffffff16565b90505b5f811115611eeb57611eea8830836120ef565b5b8086611ef79190613089565b95505b611f058888886120ef565b50505050505b505050565b611f186112b1565b73ffffffffffffffffffffffffffffffffffffffff16611f36610bec565b73ffffffffffffffffffffffffffffffffffffffff1614611f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8390613714565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361215d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612154906133a4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c290613432565b60405180910390fd5b6121d683838361250f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612250906137a2565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123429190612912565b60405180910390a3612355848484612514565b50505050565b5f61236530610a91565b90505f8082036123765750506124e2565b5f6012546011546123879190612c90565b03612401575f8211801561239c5750600f5482105b156123a9578190506123fc565b5f6123d260646123c4601254876124e590919063ffffffff16565b6124fa90919063ffffffff16565b905080846123e09190613089565b9350600f548411156123f657600f5491506123fa565b8391505b505b6124d6565b5f8211801561242457506124216005600f546124fa90919063ffffffff16565b82105b156124305750506124e2565b5f8211801561245357506124506005600f546124fa90919063ffffffff16565b82115b80156124605750600f5482105b156124825761247b6005600f546124fa90919063ffffffff16565b90506124d5565b5f6124ab606461249d601254876124e590919063ffffffff16565b6124fa90919063ffffffff16565b905080846124b99190613089565b9350600f548411156124cf57600f5491506124d3565b8391505b505b5b6124df81612519565b50505b50565b5f81836124f29190612f83565b905092915050565b5f81836125079190612ff1565b905092915050565b505050565b505050565b5f600267ffffffffffffffff811115612535576125346137c0565b5b6040519080825280602002602001820160405280156125635781602001602082028036833780820191505090505b50905030815f8151811061257a57612579612d2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561261d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126419190613801565b8160018151811061265557612654612d2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506126ba307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846112b8565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161273c95949392919061391c565b5f604051808303815f87803b158015612753575f80fd5b505af1158015612765573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6127af8261276d565b6127b98185612777565b93506127c9818560208601612787565b6127d281612795565b840191505092915050565b5f6020820190508181035f8301526127f581846127a5565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61282e82612805565b9050919050565b61283e81612824565b8114612848575f80fd5b50565b5f8135905061285981612835565b92915050565b5f819050919050565b6128718161285f565b811461287b575f80fd5b50565b5f8135905061288c81612868565b92915050565b5f80604083850312156128a8576128a76127fd565b5b5f6128b58582860161284b565b92505060206128c68582860161287e565b9150509250929050565b5f8115159050919050565b6128e4816128d0565b82525050565b5f6020820190506128fd5f8301846128db565b92915050565b61290c8161285f565b82525050565b5f6020820190506129255f830184612903565b92915050565b5f805f60608486031215612942576129416127fd565b5b5f61294f8682870161284b565b93505060206129608682870161284b565b92505060406129718682870161287e565b9150509250925092565b5f60ff82169050919050565b6129908161297b565b82525050565b5f6020820190506129a95f830184612987565b92915050565b5f80604083850312156129c5576129c46127fd565b5b5f6129d28582860161287e565b92505060206129e38582860161287e565b9150509250929050565b5f60208284031215612a0257612a016127fd565b5b5f612a0f8482850161284b565b91505092915050565b5f819050919050565b5f612a3b612a36612a3184612805565b612a18565b612805565b9050919050565b5f612a4c82612a21565b9050919050565b5f612a5d82612a42565b9050919050565b612a6d81612a53565b82525050565b5f602082019050612a865f830184612a64565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612aad57612aac612a8c565b5b8235905067ffffffffffffffff811115612aca57612ac9612a90565b5b602083019150836020820283011115612ae657612ae5612a94565b5b9250929050565b5f8060208385031215612b0357612b026127fd565b5b5f83013567ffffffffffffffff811115612b2057612b1f612801565b5b612b2c85828601612a98565b92509250509250929050565b612b4181612824565b82525050565b5f602082019050612b5a5f830184612b38565b92915050565b612b69816128d0565b8114612b73575f80fd5b50565b5f81359050612b8481612b60565b92915050565b5f8060408385031215612ba057612b9f6127fd565b5b5f612bad8582860161284b565b9250506020612bbe85828601612b76565b9150509250929050565b5f8060408385031215612bde57612bdd6127fd565b5b5f612beb8582860161284b565b9250506020612bfc8582860161284b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612c4a57607f821691505b602082108103612c5d57612c5c612c06565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612c9a8261285f565b9150612ca58361285f565b9250828201905080821115612cbd57612cbc612c63565b5b92915050565b7f466565732063616e6e6f742065786365656420393925000000000000000000005f82015250565b5f612cf7601683612777565b9150612d0282612cc3565b602082019050919050565b5f6020820190508181035f830152612d2481612ceb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f612d8c601683612777565b9150612d9782612d58565b602082019050919050565b5f6020820190508181035f830152612db981612d80565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f612e1a603983612777565b9150612e2582612dc0565b604082019050919050565b5f6020820190508181035f830152612e4781612e0e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612ea8602583612777565b9150612eb382612e4e565b604082019050919050565b5f6020820190508181035f830152612ed581612e9c565b9050919050565b7f4f6e6c79206465706c6f7965722063616e20636c65617220746f6b656e7300005f82015250565b5f612f10601e83612777565b9150612f1b82612edc565b602082019050919050565b5f6020820190508181035f830152612f3d81612f04565b9050919050565b5f81519050612f5281612868565b92915050565b5f60208284031215612f6d57612f6c6127fd565b5b5f612f7a84828501612f44565b91505092915050565b5f612f8d8261285f565b9150612f988361285f565b9250828202612fa68161285f565b91508282048414831517612fbd57612fbc612c63565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ffb8261285f565b91506130068361285f565b92508261301657613015612fc4565b5b828204905092915050565b7f4e6f2065786365737320746f6b656e7320746f20636c656172000000000000005f82015250565b5f613055601983612777565b915061306082613021565b602082019050919050565b5f6020820190508181035f83015261308281613049565b9050919050565b5f6130938261285f565b915061309e8361285f565b92508282039050818111156130b6576130b5612c63565b5b92915050565b5f6040820190506130cf5f830185612b38565b6130dc6020830184612903565b9392505050565b5f815190506130f181612b60565b92915050565b5f6020828403121561310c5761310b6127fd565b5b5f613119848285016130e3565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61317c602683612777565b915061318782613122565b604082019050919050565b5f6020820190508181035f8301526131a981613170565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61320a602483612777565b9150613215826131b0565b604082019050919050565b5f6020820190508181035f830152613237816131fe565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613298602283612777565b91506132a38261323e565b604082019050919050565b5f6020820190508181035f8301526132c58161328c565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613300601d83612777565b915061330b826132cc565b602082019050919050565b5f6020820190508181035f83015261332d816132f4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61338e602583612777565b915061339982613334565b604082019050919050565b5f6020820190508181035f8301526133bb81613382565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61341c602383612777565b9150613427826133c2565b604082019050919050565b5f6020820190508181035f83015261344981613410565b9050919050565b7f45524332303a207472616e736665722066726f6d2f746f2074686520626c61635f8201527f6b6c697374656420616464726573730000000000000000000000000000000000602082015250565b5f6134aa602f83612777565b91506134b582613450565b604082019050919050565b5f6020820190508181035f8301526134d78161349e565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613512601683612777565b915061351d826134de565b602082019050919050565b5f6020820190508181035f83015261353f81613506565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f6135a0603583612777565b91506135ab82613546565b604082019050919050565b5f6020820190508181035f8301526135cd81613594565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613608601383612777565b9150613613826135d4565b602082019050919050565b5f6020820190508181035f830152613635816135fc565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f613696603683612777565b91506136a18261363c565b604082019050919050565b5f6020820190508181035f8301526136c38161368a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6136fe602083612777565b9150613709826136ca565b602082019050919050565b5f6020820190508181035f83015261372b816136f2565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61378c602683612777565b915061379782613732565b604082019050919050565b5f6020820190508181035f8301526137b981613780565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506137fb81612835565b92915050565b5f60208284031215613816576138156127fd565b5b5f613823848285016137ed565b91505092915050565b5f819050919050565b5f61384f61384a6138458461382c565b612a18565b61285f565b9050919050565b61385f81613835565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61389781612824565b82525050565b5f6138a8838361388e565b60208301905092915050565b5f602082019050919050565b5f6138ca82613865565b6138d4818561386f565b93506138df8361387f565b805f5b8381101561390f5781516138f6888261389d565b9750613901836138b4565b9250506001810190506138e2565b5085935050505092915050565b5f60a08201905061392f5f830188612903565b61393c6020830187613856565b818103604083015261394e81866138c0565b905061395d6060830185612b38565b61396a6080830184612903565b969550505050505056fea26469706673582212200d25a9415ec8e6ae8656fb0405356dad4d1b642e46111006e07ad1375d5ed71164736f6c634300081a0033

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

0000000000000000000000006a220c625bed7aea86024dff1498fb2b4fa8373e

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006a220c625bed7aea86024dff1498fb2b4fa8373e


Deployed Bytecode Sourcemap

14682:9754:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9704:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10636:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10025:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15133:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10845:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15066:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9924:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11148:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22820:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15186:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15228:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18096:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14762:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21657:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10141:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8780:103;;;;;;;;;;;;;:::i;:::-;;21308:144;;;;;;;;;;;;;:::i;:::-;;21858:225;;;;;;;;;;;;;:::i;:::-;;8545:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9812:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17652:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11394:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10276:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15281:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17239:81;;;;;;;;;;;;;:::i;:::-;;15468:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21460:189;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10477:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15436:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15354:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22091:721;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8891:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15323:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15396:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9704:100;9758:13;9791:5;9784:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9704:100;:::o;10636:201::-;10719:4;10736:13;10752:12;:10;:12::i;:::-;10736:28;;10775:32;10784:5;10791:7;10800:6;10775:8;:32::i;:::-;10825:4;10818:11;;;10636:201;;;;:::o;10025:108::-;10086:7;10113:12;;10106:19;;10025:108;:::o;15133:46::-;;;;:::o;10845:295::-;10976:4;10993:15;11011:12;:10;:12::i;:::-;10993:30;;11034:38;11050:4;11056:7;11065:6;11034:15;:38::i;:::-;11083:27;11093:4;11099:2;11103:6;11083:9;:27::i;:::-;11128:4;11121:11;;;10845:295;;;;;:::o;15066:58::-;;;;:::o;9924:93::-;9982:5;10007:2;10000:9;;9924:93;:::o;11148:238::-;11236:4;11253:13;11269:12;:10;:12::i;:::-;11253:28;;11292:64;11301:5;11308:7;11345:10;11317:25;11327:5;11334:7;11317:9;:25::i;:::-;:38;;;;:::i;:::-;11292:8;:64::i;:::-;11374:4;11367:11;;;11148:238;;;;:::o;22820:212::-;8504:13;:11;:13::i;:::-;22921:2:::1;22910:7;:13;;:31;;;;;22939:2;22927:8;:14;;22910:31;22902:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;22988:7;22979:6;:16;;;;23016:8;23006:7;:18;;;;22820:212:::0;;:::o;15186:35::-;;;;:::o;15228:44::-;;;;:::o;18096:126::-;18162:4;18186:19;:28;18206:7;18186:28;;;;;;;;;;;;;;;;;;;;;;;;;18179:35;;18096:126;;;:::o;14762:52::-;;;:::o;21657:193::-;8504:13;:11;:13::i;:::-;21745:6:::1;21740:103;21761:12;;:19;;21757:1;:23;21740:103;;;21826:5;21802:4;:21;21807:12;;21820:1;21807:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;21802:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;21782:3;;;;;;;21740:103;;;;21657:193:::0;;:::o;10141:127::-;10215:7;10242:9;:18;10252:7;10242:18;;;;;;;;;;;;;;;;10235:25;;10141:127;;;:::o;8780:103::-;8504:13;:11;:13::i;:::-;8845:30:::1;8872:1;8845:18;:30::i;:::-;8780:103::o:0;21308:144::-;8504:13;:11;:13::i;:::-;21385:18:::1;;21362:20;:41;;;;21426:18;;21414:9;:30;;;;21308:144::o:0;21858:225::-;21927:14;;;;;;;;;;;21911:30;;:12;:10;:12::i;:::-;:30;;;21903:39;;;;;;21985:1;21961:21;:25;21953:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;22032:10;22024:28;;:51;22053:21;22024:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21858:225::o;8545:87::-;8591:7;8618:6;;;;;;;;;;;8611:13;;8545:87;:::o;9812:104::-;9868:13;9901:7;9894:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9812:104;:::o;17652:242::-;8504:13;:11;:13::i;:::-;17759::::1;;;;;;;;;;;17751:21;;:4;:21;;::::0;17743:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;17845:41;17874:4;17880:5;17845:28;:41::i;:::-;17652:242:::0;;:::o;11394:436::-;11487:4;11504:13;11520:12;:10;:12::i;:::-;11504:28;;11543:24;11570:25;11580:5;11587:7;11570:9;:25::i;:::-;11543:52;;11634:15;11614:16;:35;;11606:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11727:60;11736:5;11743:7;11771:15;11752:16;:34;11727:8;:60::i;:::-;11818:4;11811:11;;;;11394:436;;;;:::o;10276:193::-;10355:4;10372:13;10388:12;:10;:12::i;:::-;10372:28;;10411;10421:5;10428:2;10432:6;10411:9;:28::i;:::-;10457:4;10450:11;;;10276:193;;;;:::o;15281:35::-;;;;:::o;17239:81::-;8504:13;:11;:13::i;:::-;17308:4:::1;17294:11;;:18;;;;;;;;;;;;;;;;;;17239:81::o:0;15468:27::-;;;;:::o;21460:189::-;8504:13;:11;:13::i;:::-;21545:6:::1;21540:102;21561:12;;:19;;21557:1;:23;21540:102;;;21626:4;21602;:21;21607:12;;21620:1;21607:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;21602:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;21582:3;;;;;;;21540:102;;;;21460:189:::0;;:::o;10477:151::-;10566:7;10593:11;:18;10605:5;10593:18;;;;;;;;;;;;;;;:27;10612:7;10593:27;;;;;;;;;;;;;;;;10586:34;;10477:151;;;;:::o;15436:25::-;;;;:::o;15354:33::-;;;;:::o;22091:721::-;22199:14;;;;;;;;;;;22183:30;;:12;:10;:12::i;:::-;:30;;;22175:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;22259:20;22289:12;22259:43;;22313:20;22336:13;:23;;;22368:4;22336:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22313:61;;22385:20;22440:3;22430:6;22409:18;;:27;;;;:::i;:::-;22408:35;;;;:::i;:::-;22385:58;;22477:12;22462;:27;22454:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;22530:21;22569:12;22554;:27;;;;:::i;:::-;22530:51;;22614:1;22598:13;:17;22594:103;;;22632:13;:22;;;22655:14;;;;;;;;;;;22671:13;22632:53;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22594:103;22723:1;22713:6;:11;22709:96;;22741:13;:22;;;22764:14;;;;;;;;;;;22780:12;22741:52;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22709:96;22164:648;;;;22091:721;;:::o;8891:201::-;8504:13;:11;:13::i;:::-;9000:1:::1;8980:22;;:8;:22;;::::0;8972:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;9056:28;9075:8;9056:18;:28::i;:::-;8891:201:::0;:::o;15323:24::-;;;;:::o;15396:31::-;;;;;;;;;;;;;:::o;189:98::-;242:7;269:10;262:17;;189:98;:::o;13569:380::-;13722:1;13705:19;;:5;:19;;;13697:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13803:1;13784:21;;:7;:21;;;13776:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13887:6;13857:11;:18;13869:5;13857:18;;;;;;;;;;;;;;;:27;13876:7;13857:27;;;;;;;;;;;;;;;:36;;;;13925:7;13909:32;;13918:5;13909:32;;;13934:6;13909:32;;;;;;:::i;:::-;;;;;;;;13569:380;;;:::o;13957:453::-;14092:24;14119:25;14129:5;14136:7;14119:9;:25::i;:::-;14092:52;;14179:17;14159:16;:37;14155:248;;14241:6;14221:16;:26;;14213:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14325:51;14334:5;14341:7;14369:6;14350:16;:25;14325:8;:51::i;:::-;14155:248;14081:329;13957:453;;;:::o;18230:2581::-;18346:1;18330:18;;:4;:18;;;18322:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18423:1;18409:16;;:2;:16;;;18401:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;18485:4;:10;18490:4;18485:10;;;;;;;;;;;;;;;;;;;;;;;;;18484:11;18476:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;18574:1;18564:6;:11;18560:93;;18592:28;18608:4;18614:2;18618:1;18592:15;:28::i;:::-;18635:7;;18560:93;18671:15;18690:25;:31;18716:4;18690:31;;;;;;;;;;;;;;;;;;;;;;;;;18689:32;:66;;;;;18726:25;:29;18752:2;18726:29;;;;;;;;;;;;;;;;;;;;;;;;;18725:30;18689:66;18671:84;;18788:7;:5;:7::i;:::-;18780:15;;:4;:15;;;;:32;;;;;18805:7;:5;:7::i;:::-;18799:13;;:2;:13;;;;18780:32;:52;;;;;18830:1;18816:16;;:2;:16;;;;18780:52;:77;;;;;18850:6;18836:21;;:2;:21;;;;18780:77;:90;;;;;18862:8;;;;;;;;;;;18861:9;18780:90;18776:1060;;;18898:11;;;;;;;;;;;18893:148;;18942:19;:25;18962:4;18942:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;18971:19;:23;18991:2;18971:23;;;;;;;;;;;;;;;;;;;;;;;;;18942:52;18934:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;18893:148;19065:25;:31;19091:4;19065:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;19101:31;:35;19133:2;19101:35;;;;;;;;;;;;;;;;;;;;;;;;;19100:36;19065:71;19061:760;;;19197:20;;19187:6;:30;;19179:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;19332:9;;19315:13;19325:2;19315:9;:13::i;:::-;19306:6;:22;;;;:::i;:::-;:35;;19298:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19061:760;;;19414:25;:29;19440:2;19414:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;19448:31;:37;19480:4;19448:37;;;;;;;;;;;;;;;;;;;;;;;;;19447:38;19414:71;19410:411;;;19528:20;;19518:6;:30;;19510:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;19410:411;;;19674:31;:35;19706:2;19674:35;;;;;;;;;;;;;;;;;;;;;;;;;19669:152;;19768:9;;19751:13;19761:2;19751:9;:13::i;:::-;19742:6;:22;;;;:::i;:::-;:35;;19734:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19669:152;19410:411;19061:760;18776:1060;19848:28;19879:24;19897:4;19879:9;:24::i;:::-;19848:55;;19916:12;19954:1;19931:20;:24;:39;;;;;19960:10;19959:11;19931:39;19916:54;;19987:7;:20;;;;;19999:8;;;;;;;;;;;19998:9;19987:20;:56;;;;;20012:25;:31;20038:4;20012:31;;;;;;;;;;;;;;;;;;;;;;;;;20011:32;19987:56;:86;;;;;20048:19;:25;20068:4;20048:25;;;;;;;;;;;;;;;;;;;;;;;;;20047:26;19987:86;:114;;;;;20078:19;:23;20098:2;20078:23;;;;;;;;;;;;;;;;;;;;;;;;;20077:24;19987:114;19983:224;;;20129:4;20118:8;;:15;;;;;;;;;;;;;;;;;;20148:16;20157:6;20148:8;:16::i;:::-;20190:5;20179:8;;:16;;;;;;;;;;;;;;;;;;19983:224;20219:12;20235:8;;;;;;;;;;;20234:9;:24;;;;;20248:10;20247:11;20234:24;20219:39;;20275:19;:25;20295:4;20275:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;20304:19;:23;20324:2;20304:23;;;;;;;;;;;;;;;;;;;;;;;;;20275:52;20271:100;;;20354:5;20344:15;;20271:100;20383:12;20416:7;20412:348;;;20444:25;:29;20470:2;20444:29;;;;;;;;;;;;;;;;;;;;;;;;;20440:193;;;20501:28;20525:3;20501:19;20512:7;;20501:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;20494:35;;20440:193;;;20590:27;20613:3;20590:18;20601:6;;20590;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;20583:34;;20440:193;20656:1;20649:4;:8;20645:83;;;20674:42;20690:4;20704;20711;20674:15;:42::i;:::-;20645:83;20748:4;20738:14;;;;;:::i;:::-;;;20412:348;20770:33;20786:4;20792:2;20796:6;20770:15;:33::i;:::-;18309:2502;;;;;18230:2581;;;;:::o;8640:132::-;8715:12;:10;:12::i;:::-;8704:23;;:7;:5;:7::i;:::-;:23;;;8696:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8640:132::o;9100:191::-;9174:16;9193:6;;;;;;;;;;;9174:25;;9219:8;9210:6;;:17;;;;;;;;;;;;;;;;;;9274:8;9243:40;;9264:8;9243:40;;;;;;;;;;;;9163:128;9100:191;:::o;17902:186::-;18019:5;17985:25;:31;18011:4;17985:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;18074:5;18040:40;;18068:4;18040:40;;;;;;;;;;;;17902:186;;:::o;11838:675::-;11985:1;11969:18;;:4;:18;;;11961:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12062:1;12048:16;;:2;:16;;;12040:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12117:38;12138:4;12144:2;12148:6;12117:20;:38::i;:::-;12168:19;12190:9;:15;12200:4;12190:15;;;;;;;;;;;;;;;;12168:37;;12239:6;12224:11;:21;;12216:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12356:6;12342:11;:20;12324:9;:15;12334:4;12324:15;;;;;;;;;;;;;;;:38;;;;12394:6;12377:9;:13;12387:2;12377:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;12444:2;12429:26;;12438:4;12429:26;;;12448:6;12429:26;;;;;;:::i;:::-;;;;;;;;12468:37;12488:4;12494:2;12498:6;12468:19;:37::i;:::-;11950:563;11838:675;;;:::o;23040:1393::-;23093:23;23119:24;23137:4;23119:9;:24::i;:::-;23093:50;;23154:20;23211:1;23192:15;:20;23188:59;;23229:7;;;;23188:59;23279:1;23267:7;;23260:6;;:14;;;;:::i;:::-;23259:21;23255:1130;;23316:1;23298:15;:19;:59;;;;;23339:18;;23321:15;:36;23298:59;23295:443;;;23389:15;23374:30;;23295:443;;;23446:21;23470:28;23494:3;23470:19;23481:7;;23470:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;23446:52;;23523:13;23513:23;;;;;:::i;:::-;;;23564:18;;23555:6;:27;23551:176;;;23618:18;;23603:33;;23551:176;;;23705:6;23690:21;;23551:176;23431:307;23295:443;23255:1130;;;23792:1;23774:15;:19;:66;;;;;23815:25;23838:1;23815:18;;:22;;:25;;;;:::i;:::-;23797:15;:43;23774:66;23771:607;;;23857:7;;;;23771:607;23912:1;23894:15;:19;:66;;;;;23935:25;23958:1;23935:18;;:22;;:25;;;;:::i;:::-;23917:15;:43;23894:66;:106;;;;;23982:18;;23964:15;:36;23894:106;23890:488;;;24032:25;24055:1;24032:18;;:22;;:25;;;;:::i;:::-;24017:40;;23890:488;;;24099:21;24123:28;24147:3;24123:19;24134:7;;24123:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;24099:52;;24176:13;24166:23;;;;;:::i;:::-;;;24217:18;;24208:6;:27;24204:163;;;24271:18;;24256:33;;24204:163;;;24345:6;24330:21;;24204:163;24084:294;23890:488;23255:1130;24395:30;24412:12;24395:16;:30::i;:::-;23082:1351;;23040:1393;;:::o;6341:98::-;6399:7;6430:1;6426;:5;;;;:::i;:::-;6419:12;;6341:98;;;;:::o;6447:::-;6505:7;6536:1;6532;:5;;;;:::i;:::-;6525:12;;6447:98;;;;:::o;14418:125::-;;;;:::o;14551:124::-;;;;:::o;20819:482::-;20887:21;20925:1;20911:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20887:40;;20956:4;20938;20943:1;20938:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20982:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20972:4;20977:1;20972:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;21018:63;21035:4;21050:16;21069:11;21018:8;:63::i;:::-;21094:16;:67;;;21176:11;21202:1;21218:4;21237:15;;;;;;;;;;;21267;21094:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20874:427;20819:482;:::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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:474::-;4814:6;4822;4871:2;4859:9;4850:7;4846:23;4842:32;4839:119;;;4877:79;;:::i;:::-;4839:119;4997:1;5022:53;5067:7;5058:6;5047:9;5043:22;5022:53;:::i;:::-;5012:63;;4968:117;5124:2;5150:53;5195:7;5186:6;5175:9;5171:22;5150:53;:::i;:::-;5140:63;;5095:118;4746:474;;;;;:::o;5226:329::-;5285:6;5334:2;5322:9;5313:7;5309:23;5305:32;5302:119;;;5340:79;;:::i;:::-;5302:119;5460:1;5485:53;5530:7;5521:6;5510:9;5506:22;5485:53;:::i;:::-;5475:63;;5431:117;5226:329;;;;:::o;5561:60::-;5589:3;5610:5;5603:12;;5561:60;;;:::o;5627:142::-;5677:9;5710:53;5728:34;5737:24;5755:5;5737:24;:::i;:::-;5728:34;:::i;:::-;5710:53;:::i;:::-;5697:66;;5627:142;;;:::o;5775:126::-;5825:9;5858:37;5889:5;5858:37;:::i;:::-;5845:50;;5775:126;;;:::o;5907:151::-;5982:9;6015:37;6046:5;6015:37;:::i;:::-;6002:50;;5907:151;;;:::o;6064:181::-;6176:62;6232:5;6176:62;:::i;:::-;6171:3;6164:75;6064:181;;:::o;6251:272::-;6369:4;6407:2;6396:9;6392:18;6384:26;;6420:96;6513:1;6502:9;6498:17;6489:6;6420:96;:::i;:::-;6251:272;;;;:::o;6529:117::-;6638:1;6635;6628:12;6652:117;6761:1;6758;6751:12;6775:117;6884:1;6881;6874:12;6915:568;6988:8;6998:6;7048:3;7041:4;7033:6;7029:17;7025:27;7015:122;;7056:79;;:::i;:::-;7015:122;7169:6;7156:20;7146:30;;7199:18;7191:6;7188:30;7185:117;;;7221:79;;:::i;:::-;7185:117;7335:4;7327:6;7323:17;7311:29;;7389:3;7381:4;7373:6;7369:17;7359:8;7355:32;7352:41;7349:128;;;7396:79;;:::i;:::-;7349:128;6915:568;;;;;:::o;7489:559::-;7575:6;7583;7632:2;7620:9;7611:7;7607:23;7603:32;7600:119;;;7638:79;;:::i;:::-;7600:119;7786:1;7775:9;7771:17;7758:31;7816:18;7808:6;7805:30;7802:117;;;7838:79;;:::i;:::-;7802:117;7951:80;8023:7;8014:6;8003:9;7999:22;7951:80;:::i;:::-;7933:98;;;;7729:312;7489:559;;;;;:::o;8054:118::-;8141:24;8159:5;8141:24;:::i;:::-;8136:3;8129:37;8054:118;;:::o;8178:222::-;8271:4;8309:2;8298:9;8294:18;8286:26;;8322:71;8390:1;8379:9;8375:17;8366:6;8322:71;:::i;:::-;8178:222;;;;:::o;8406:116::-;8476:21;8491:5;8476:21;:::i;:::-;8469:5;8466:32;8456:60;;8512:1;8509;8502:12;8456:60;8406:116;:::o;8528:133::-;8571:5;8609:6;8596:20;8587:29;;8625:30;8649:5;8625:30;:::i;:::-;8528:133;;;;:::o;8667:468::-;8732:6;8740;8789:2;8777:9;8768:7;8764:23;8760:32;8757:119;;;8795:79;;:::i;:::-;8757:119;8915:1;8940:53;8985:7;8976:6;8965:9;8961:22;8940:53;:::i;:::-;8930:63;;8886:117;9042:2;9068:50;9110:7;9101:6;9090:9;9086:22;9068:50;:::i;:::-;9058:60;;9013:115;8667:468;;;;;:::o;9141:474::-;9209:6;9217;9266:2;9254:9;9245:7;9241:23;9237:32;9234:119;;;9272:79;;:::i;:::-;9234:119;9392:1;9417:53;9462:7;9453:6;9442:9;9438:22;9417:53;:::i;:::-;9407:63;;9363:117;9519:2;9545:53;9590:7;9581:6;9570:9;9566:22;9545:53;:::i;:::-;9535:63;;9490:118;9141:474;;;;;:::o;9621:180::-;9669:77;9666:1;9659:88;9766:4;9763:1;9756:15;9790:4;9787:1;9780:15;9807:320;9851:6;9888:1;9882:4;9878:12;9868:22;;9935:1;9929:4;9925:12;9956:18;9946:81;;10012:4;10004:6;10000:17;9990:27;;9946:81;10074:2;10066:6;10063:14;10043:18;10040:38;10037:84;;10093:18;;:::i;:::-;10037:84;9858:269;9807:320;;;:::o;10133:180::-;10181:77;10178:1;10171:88;10278:4;10275:1;10268:15;10302:4;10299:1;10292:15;10319:191;10359:3;10378:20;10396:1;10378:20;:::i;:::-;10373:25;;10412:20;10430:1;10412:20;:::i;:::-;10407:25;;10455:1;10452;10448:9;10441:16;;10476:3;10473:1;10470:10;10467:36;;;10483:18;;:::i;:::-;10467:36;10319:191;;;;:::o;10516:172::-;10656:24;10652:1;10644:6;10640:14;10633:48;10516:172;:::o;10694:366::-;10836:3;10857:67;10921:2;10916:3;10857:67;:::i;:::-;10850:74;;10933:93;11022:3;10933:93;:::i;:::-;11051:2;11046:3;11042:12;11035:19;;10694:366;;;:::o;11066:419::-;11232:4;11270:2;11259:9;11255:18;11247:26;;11319:9;11313:4;11309:20;11305:1;11294:9;11290:17;11283:47;11347:131;11473:4;11347:131;:::i;:::-;11339:139;;11066:419;;;:::o;11491:180::-;11539:77;11536:1;11529:88;11636:4;11633:1;11626:15;11660:4;11657:1;11650:15;11677:172;11817:24;11813:1;11805:6;11801:14;11794:48;11677:172;:::o;11855:366::-;11997:3;12018:67;12082:2;12077:3;12018:67;:::i;:::-;12011:74;;12094:93;12183:3;12094:93;:::i;:::-;12212:2;12207:3;12203:12;12196:19;;11855:366;;;:::o;12227:419::-;12393:4;12431:2;12420:9;12416:18;12408:26;;12480:9;12474:4;12470:20;12466:1;12455:9;12451:17;12444:47;12508:131;12634:4;12508:131;:::i;:::-;12500:139;;12227:419;;;:::o;12652:244::-;12792:34;12788:1;12780:6;12776:14;12769:58;12861:27;12856:2;12848:6;12844:15;12837:52;12652:244;:::o;12902:366::-;13044:3;13065:67;13129:2;13124:3;13065:67;:::i;:::-;13058:74;;13141:93;13230:3;13141:93;:::i;:::-;13259:2;13254:3;13250:12;13243:19;;12902:366;;;:::o;13274:419::-;13440:4;13478:2;13467:9;13463:18;13455:26;;13527:9;13521:4;13517:20;13513:1;13502:9;13498:17;13491:47;13555:131;13681:4;13555:131;:::i;:::-;13547:139;;13274:419;;;:::o;13699:224::-;13839:34;13835:1;13827:6;13823:14;13816:58;13908:7;13903:2;13895:6;13891:15;13884:32;13699:224;:::o;13929:366::-;14071:3;14092:67;14156:2;14151:3;14092:67;:::i;:::-;14085:74;;14168:93;14257:3;14168:93;:::i;:::-;14286:2;14281:3;14277:12;14270:19;;13929:366;;;:::o;14301:419::-;14467:4;14505:2;14494:9;14490:18;14482:26;;14554:9;14548:4;14544:20;14540:1;14529:9;14525:17;14518:47;14582:131;14708:4;14582:131;:::i;:::-;14574:139;;14301:419;;;:::o;14726:180::-;14866:32;14862:1;14854:6;14850:14;14843:56;14726:180;:::o;14912:366::-;15054:3;15075:67;15139:2;15134:3;15075:67;:::i;:::-;15068:74;;15151:93;15240:3;15151:93;:::i;:::-;15269:2;15264:3;15260:12;15253:19;;14912:366;;;:::o;15284:419::-;15450:4;15488:2;15477:9;15473:18;15465:26;;15537:9;15531:4;15527:20;15523:1;15512:9;15508:17;15501:47;15565:131;15691:4;15565:131;:::i;:::-;15557:139;;15284:419;;;:::o;15709:143::-;15766:5;15797:6;15791:13;15782:22;;15813:33;15840:5;15813:33;:::i;:::-;15709:143;;;;:::o;15858:351::-;15928:6;15977:2;15965:9;15956:7;15952:23;15948:32;15945:119;;;15983:79;;:::i;:::-;15945:119;16103:1;16128:64;16184:7;16175:6;16164:9;16160:22;16128:64;:::i;:::-;16118:74;;16074:128;15858:351;;;;:::o;16215:410::-;16255:7;16278:20;16296:1;16278:20;:::i;:::-;16273:25;;16312:20;16330:1;16312:20;:::i;:::-;16307:25;;16367:1;16364;16360:9;16389:30;16407:11;16389:30;:::i;:::-;16378:41;;16568:1;16559:7;16555:15;16552:1;16549:22;16529:1;16522:9;16502:83;16479:139;;16598:18;;:::i;:::-;16479:139;16263:362;16215:410;;;;:::o;16631:180::-;16679:77;16676:1;16669:88;16776:4;16773:1;16766:15;16800:4;16797:1;16790:15;16817:185;16857:1;16874:20;16892:1;16874:20;:::i;:::-;16869:25;;16908:20;16926:1;16908:20;:::i;:::-;16903:25;;16947:1;16937:35;;16952:18;;:::i;:::-;16937:35;16994:1;16991;16987:9;16982:14;;16817:185;;;;:::o;17008:175::-;17148:27;17144:1;17136:6;17132:14;17125:51;17008:175;:::o;17189:366::-;17331:3;17352:67;17416:2;17411:3;17352:67;:::i;:::-;17345:74;;17428:93;17517:3;17428:93;:::i;:::-;17546:2;17541:3;17537:12;17530:19;;17189:366;;;:::o;17561:419::-;17727:4;17765:2;17754:9;17750:18;17742:26;;17814:9;17808:4;17804:20;17800:1;17789:9;17785:17;17778:47;17842:131;17968:4;17842:131;:::i;:::-;17834:139;;17561:419;;;:::o;17986:194::-;18026:4;18046:20;18064:1;18046:20;:::i;:::-;18041:25;;18080:20;18098:1;18080:20;:::i;:::-;18075:25;;18124:1;18121;18117:9;18109:17;;18148:1;18142:4;18139:11;18136:37;;;18153:18;;:::i;:::-;18136:37;17986:194;;;;:::o;18186:332::-;18307:4;18345:2;18334:9;18330:18;18322:26;;18358:71;18426:1;18415:9;18411:17;18402:6;18358:71;:::i;:::-;18439:72;18507:2;18496:9;18492:18;18483:6;18439:72;:::i;:::-;18186:332;;;;;:::o;18524:137::-;18578:5;18609:6;18603:13;18594:22;;18625:30;18649:5;18625:30;:::i;:::-;18524:137;;;;:::o;18667:345::-;18734:6;18783:2;18771:9;18762:7;18758:23;18754:32;18751:119;;;18789:79;;:::i;:::-;18751:119;18909:1;18934:61;18987:7;18978:6;18967:9;18963:22;18934:61;:::i;:::-;18924:71;;18880:125;18667:345;;;;:::o;19018:225::-;19158:34;19154:1;19146:6;19142:14;19135:58;19227:8;19222:2;19214:6;19210:15;19203:33;19018:225;:::o;19249:366::-;19391:3;19412:67;19476:2;19471:3;19412:67;:::i;:::-;19405:74;;19488:93;19577:3;19488:93;:::i;:::-;19606:2;19601:3;19597:12;19590:19;;19249:366;;;:::o;19621:419::-;19787:4;19825:2;19814:9;19810:18;19802:26;;19874:9;19868:4;19864:20;19860:1;19849:9;19845:17;19838:47;19902:131;20028:4;19902:131;:::i;:::-;19894:139;;19621:419;;;:::o;20046:223::-;20186:34;20182:1;20174:6;20170:14;20163:58;20255:6;20250:2;20242:6;20238:15;20231:31;20046:223;:::o;20275:366::-;20417:3;20438:67;20502:2;20497:3;20438:67;:::i;:::-;20431:74;;20514:93;20603:3;20514:93;:::i;:::-;20632:2;20627:3;20623:12;20616:19;;20275:366;;;:::o;20647:419::-;20813:4;20851:2;20840:9;20836:18;20828:26;;20900:9;20894:4;20890:20;20886:1;20875:9;20871:17;20864:47;20928:131;21054:4;20928:131;:::i;:::-;20920:139;;20647:419;;;:::o;21072:221::-;21212:34;21208:1;21200:6;21196:14;21189:58;21281:4;21276:2;21268:6;21264:15;21257:29;21072:221;:::o;21299:366::-;21441:3;21462:67;21526:2;21521:3;21462:67;:::i;:::-;21455:74;;21538:93;21627:3;21538:93;:::i;:::-;21656:2;21651:3;21647:12;21640:19;;21299:366;;;:::o;21671:419::-;21837:4;21875:2;21864:9;21860:18;21852:26;;21924:9;21918:4;21914:20;21910:1;21899:9;21895:17;21888:47;21952:131;22078:4;21952:131;:::i;:::-;21944:139;;21671:419;;;:::o;22096:179::-;22236:31;22232:1;22224:6;22220:14;22213:55;22096:179;:::o;22281:366::-;22423:3;22444:67;22508:2;22503:3;22444:67;:::i;:::-;22437:74;;22520:93;22609:3;22520:93;:::i;:::-;22638:2;22633:3;22629:12;22622:19;;22281:366;;;:::o;22653:419::-;22819:4;22857:2;22846:9;22842:18;22834:26;;22906:9;22900:4;22896:20;22892:1;22881:9;22877:17;22870:47;22934:131;23060:4;22934:131;:::i;:::-;22926:139;;22653:419;;;:::o;23078:224::-;23218:34;23214:1;23206:6;23202:14;23195:58;23287:7;23282:2;23274:6;23270:15;23263:32;23078:224;:::o;23308:366::-;23450:3;23471:67;23535:2;23530:3;23471:67;:::i;:::-;23464:74;;23547:93;23636:3;23547:93;:::i;:::-;23665:2;23660:3;23656:12;23649:19;;23308:366;;;:::o;23680:419::-;23846:4;23884:2;23873:9;23869:18;23861:26;;23933:9;23927:4;23923:20;23919:1;23908:9;23904:17;23897:47;23961:131;24087:4;23961:131;:::i;:::-;23953:139;;23680:419;;;:::o;24105:222::-;24245:34;24241:1;24233:6;24229:14;24222:58;24314:5;24309:2;24301:6;24297:15;24290:30;24105:222;:::o;24333:366::-;24475:3;24496:67;24560:2;24555:3;24496:67;:::i;:::-;24489:74;;24572:93;24661:3;24572:93;:::i;:::-;24690:2;24685:3;24681:12;24674:19;;24333:366;;;:::o;24705:419::-;24871:4;24909:2;24898:9;24894:18;24886:26;;24958:9;24952:4;24948:20;24944:1;24933:9;24929:17;24922:47;24986:131;25112:4;24986:131;:::i;:::-;24978:139;;24705:419;;;:::o;25130:234::-;25270:34;25266:1;25258:6;25254:14;25247:58;25339:17;25334:2;25326:6;25322:15;25315:42;25130:234;:::o;25370:366::-;25512:3;25533:67;25597:2;25592:3;25533:67;:::i;:::-;25526:74;;25609:93;25698:3;25609:93;:::i;:::-;25727:2;25722:3;25718:12;25711:19;;25370:366;;;:::o;25742:419::-;25908:4;25946:2;25935:9;25931:18;25923:26;;25995:9;25989:4;25985:20;25981:1;25970:9;25966:17;25959:47;26023:131;26149:4;26023:131;:::i;:::-;26015:139;;25742:419;;;:::o;26167:172::-;26307:24;26303:1;26295:6;26291:14;26284:48;26167:172;:::o;26345:366::-;26487:3;26508:67;26572:2;26567:3;26508:67;:::i;:::-;26501:74;;26584:93;26673:3;26584:93;:::i;:::-;26702:2;26697:3;26693:12;26686:19;;26345:366;;;:::o;26717:419::-;26883:4;26921:2;26910:9;26906:18;26898:26;;26970:9;26964:4;26960:20;26956:1;26945:9;26941:17;26934:47;26998:131;27124:4;26998:131;:::i;:::-;26990:139;;26717:419;;;:::o;27142:240::-;27282:34;27278:1;27270:6;27266:14;27259:58;27351:23;27346:2;27338:6;27334:15;27327:48;27142:240;:::o;27388:366::-;27530:3;27551:67;27615:2;27610:3;27551:67;:::i;:::-;27544:74;;27627:93;27716:3;27627:93;:::i;:::-;27745:2;27740:3;27736:12;27729:19;;27388:366;;;:::o;27760:419::-;27926:4;27964:2;27953:9;27949:18;27941:26;;28013:9;28007:4;28003:20;27999:1;27988:9;27984:17;27977:47;28041:131;28167:4;28041:131;:::i;:::-;28033:139;;27760:419;;;:::o;28185:169::-;28325:21;28321:1;28313:6;28309:14;28302:45;28185:169;:::o;28360:366::-;28502:3;28523:67;28587:2;28582:3;28523:67;:::i;:::-;28516:74;;28599:93;28688:3;28599:93;:::i;:::-;28717:2;28712:3;28708:12;28701:19;;28360:366;;;:::o;28732:419::-;28898:4;28936:2;28925:9;28921:18;28913:26;;28985:9;28979:4;28975:20;28971:1;28960:9;28956:17;28949:47;29013:131;29139:4;29013:131;:::i;:::-;29005:139;;28732:419;;;:::o;29157:241::-;29297:34;29293:1;29285:6;29281:14;29274:58;29366:24;29361:2;29353:6;29349:15;29342:49;29157:241;:::o;29404:366::-;29546:3;29567:67;29631:2;29626:3;29567:67;:::i;:::-;29560:74;;29643:93;29732:3;29643:93;:::i;:::-;29761:2;29756:3;29752:12;29745:19;;29404:366;;;:::o;29776:419::-;29942:4;29980:2;29969:9;29965:18;29957:26;;30029:9;30023:4;30019:20;30015:1;30004:9;30000:17;29993:47;30057:131;30183:4;30057:131;:::i;:::-;30049:139;;29776:419;;;:::o;30201:182::-;30341:34;30337:1;30329:6;30325:14;30318:58;30201:182;:::o;30389:366::-;30531:3;30552:67;30616:2;30611:3;30552:67;:::i;:::-;30545:74;;30628:93;30717:3;30628:93;:::i;:::-;30746:2;30741:3;30737:12;30730:19;;30389:366;;;:::o;30761:419::-;30927:4;30965:2;30954:9;30950:18;30942:26;;31014:9;31008:4;31004:20;31000:1;30989:9;30985:17;30978:47;31042:131;31168:4;31042:131;:::i;:::-;31034:139;;30761:419;;;:::o;31186:225::-;31326:34;31322:1;31314:6;31310:14;31303:58;31395:8;31390:2;31382:6;31378:15;31371:33;31186:225;:::o;31417:366::-;31559:3;31580:67;31644:2;31639:3;31580:67;:::i;:::-;31573:74;;31656:93;31745:3;31656:93;:::i;:::-;31774:2;31769:3;31765:12;31758:19;;31417:366;;;:::o;31789:419::-;31955:4;31993:2;31982:9;31978:18;31970:26;;32042:9;32036:4;32032:20;32028:1;32017:9;32013:17;32006:47;32070:131;32196:4;32070:131;:::i;:::-;32062:139;;31789:419;;;:::o;32214:180::-;32262:77;32259:1;32252:88;32359:4;32356:1;32349:15;32383:4;32380:1;32373:15;32400:143;32457:5;32488:6;32482:13;32473:22;;32504:33;32531:5;32504:33;:::i;:::-;32400:143;;;;:::o;32549:351::-;32619:6;32668:2;32656:9;32647:7;32643:23;32639:32;32636:119;;;32674:79;;:::i;:::-;32636:119;32794:1;32819:64;32875:7;32866:6;32855:9;32851:22;32819:64;:::i;:::-;32809:74;;32765:128;32549:351;;;;:::o;32906:85::-;32951:7;32980:5;32969:16;;32906:85;;;:::o;32997:158::-;33055:9;33088:61;33106:42;33115:32;33141:5;33115:32;:::i;:::-;33106:42;:::i;:::-;33088:61;:::i;:::-;33075:74;;32997:158;;;:::o;33161:147::-;33256:45;33295:5;33256:45;:::i;:::-;33251:3;33244:58;33161:147;;:::o;33314:114::-;33381:6;33415:5;33409:12;33399:22;;33314:114;;;:::o;33434:184::-;33533:11;33567:6;33562:3;33555:19;33607:4;33602:3;33598:14;33583:29;;33434:184;;;;:::o;33624:132::-;33691:4;33714:3;33706:11;;33744:4;33739:3;33735:14;33727:22;;33624:132;;;:::o;33762:108::-;33839:24;33857:5;33839:24;:::i;:::-;33834:3;33827:37;33762:108;;:::o;33876:179::-;33945:10;33966:46;34008:3;34000:6;33966:46;:::i;:::-;34044:4;34039:3;34035:14;34021:28;;33876:179;;;;:::o;34061:113::-;34131:4;34163;34158:3;34154:14;34146:22;;34061:113;;;:::o;34210:732::-;34329:3;34358:54;34406:5;34358:54;:::i;:::-;34428:86;34507:6;34502:3;34428:86;:::i;:::-;34421:93;;34538:56;34588:5;34538:56;:::i;:::-;34617:7;34648:1;34633:284;34658:6;34655:1;34652:13;34633:284;;;34734:6;34728:13;34761:63;34820:3;34805:13;34761:63;:::i;:::-;34754:70;;34847:60;34900:6;34847:60;:::i;:::-;34837:70;;34693:224;34680:1;34677;34673:9;34668:14;;34633:284;;;34637:14;34933:3;34926:10;;34334:608;;;34210:732;;;;:::o;34948:831::-;35211:4;35249:3;35238:9;35234:19;35226:27;;35263:71;35331:1;35320:9;35316:17;35307:6;35263:71;:::i;:::-;35344:80;35420:2;35409:9;35405:18;35396:6;35344:80;:::i;:::-;35471:9;35465:4;35461:20;35456:2;35445:9;35441:18;35434:48;35499:108;35602:4;35593:6;35499:108;:::i;:::-;35491:116;;35617:72;35685:2;35674:9;35670:18;35661:6;35617:72;:::i;:::-;35699:73;35767:3;35756:9;35752:19;35743:6;35699:73;:::i;:::-;34948:831;;;;;;;;:::o

Swarm Source

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