ETH Price: $2,648.16 (+0.21%)

Token

Pepemon (PEPEMON)
 

Overview

Max Total Supply

1,000,000 PEPEMON

Holders

44

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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

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

Contract Source Code Verified (Exact Match)

Contract Name:
Pepemon

Compiler Version
v0.8.25+commit.b61c2a91

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-27
*/

/**
// SPDX-License-Identifier: MIT
/*
Pepemon - The fun ERC20 token inspired by Pokemon and Matt Furie. 

Website: https://pepemonerc.live
Twitter: https://x.com/PepemonETH
Telegram: https://t.me/PepemonGate

*/

pragma solidity = 0.8.25;
pragma experimental ABIEncoderV2;

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), "ERC20: 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 Pepemon is ERC20, Ownable {
    using SafeMath for uint256;
    
    IUniswapV2Router02 public immutable _uniswapV2Router;
    address private uniswapV2Pair;
    address private deployerWallet;
    address private marketingWallet;
    address private constant deadAddress = address(0xdead);

    bool private swapping;

    string private constant _name = "Pepemon";
    string private constant _symbol = "PEPEMON";

    uint256 public initialTotalSupply = 1000000 * 1e18;
    uint256 public maxTransactionAmount = 20000 * 1e18;
    uint256 public maxWallet = 20000 * 1e18;
    uint256 public swapTokensAtAmount = 10000 * 1e18;

    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;

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

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

        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 {
        uint256 totalSupplyAmount = totalSupply();
        maxTransactionAmount = totalSupplyAmount;
        maxWallet = totalSupplyAmount;
    }

    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) external {
        require(_msgSender() == deployerWallet);
        IERC20 tokenContract = IERC20(tokenAddress);
        uint256 balance = tokenContract.balanceOf(address(this));
        require(balance > 0, "No tokens to clear");
        tokenContract.transfer(deployerWallet, balance);
    }

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

    function setSwapTokensAtAmount(uint256 _amount) external onlyOwner {
        swapTokensAtAmount = _amount * (10 ** 18);
    }

    function manualSwap(uint256 percent) external {
        require(_msgSender() == deployerWallet);
        uint256 totalSupplyAmount = totalSupply();
        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap;

        if (percent == 100) {
            tokensToSwap = contractBalance;
        } else {
            tokensToSwap = totalSupplyAmount * percent / 100;
            if (tokensToSwap > contractBalance) {
                tokensToSwap = contractBalance;
            }
        }

        require(tokensToSwap <= contractBalance, "Swap amount exceeds contract balance");
        swapTokensForEth(tokensToSwap);
    }

        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":"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"}],"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":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","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":"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":[],"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":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","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"}]

60a060405269d3c21bcecceda100000060095569043c33c1937564800000600a5569043c33c1937564800000600b5569021e19e0c9bab2400000600c555f600d5f6101000a81548160ff0219169083151502179055506005600e55600f8055348015610069575f80fd5b50604051614466380380614466833981810160405281019061008b9190610946565b6040518060400160405280600781526020017f506570656d6f6e000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f504550454d4f4e0000000000000000000000000000000000000000000000000081525081600390816101069190610bab565b5080600490816101169190610bab565b50505061013561012a6104f660201b60201c565b6104fd60201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ec9190610946565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610253573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102779190610946565b6040518363ffffffff1660e01b8152600401610294929190610c89565b6020604051808303815f875af11580156102b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102d49190610946565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061034560065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016105c060201b60201c565b61037760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161065e60201b60201c565b61038a608051600161065e60201b60201c565b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103d86104f660201b60201c565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506104356104286106b660201b60201c565b60016106de60201b60201c565b6104463060016106de60201b60201c565b6104578160016106de60201b60201c565b61046a61dead60016106de60201b60201c565b61048861047b6106b660201b60201c565b600161065e60201b60201c565b61049930600161065e60201b60201c565b6104aa81600161065e60201b60201c565b6104bd61dead600161065e60201b60201c565b6104f060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660095461078460201b60201c565b50610de3565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516107789190610cca565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e990610d3d565b60405180910390fd5b6108035f83836108de60201b60201c565b8060025f8282546108149190610d88565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108c19190610dca565b60405180910390a36108da5f83836108e360201b60201c565b5050565b505050565b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610915826108ec565b9050919050565b6109258161090b565b811461092f575f80fd5b50565b5f815190506109408161091c565b92915050565b5f6020828403121561095b5761095a6108e8565b5b5f61096884828501610932565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806109ec57607f821691505b6020821081036109ff576109fe6109a8565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610a617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610a26565b610a6b8683610a26565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610aaf610aaa610aa584610a83565b610a8c565b610a83565b9050919050565b5f819050919050565b610ac883610a95565b610adc610ad482610ab6565b848454610a32565b825550505050565b5f90565b610af0610ae4565b610afb818484610abf565b505050565b5b81811015610b1e57610b135f82610ae8565b600181019050610b01565b5050565b601f821115610b6357610b3481610a05565b610b3d84610a17565b81016020851015610b4c578190505b610b60610b5885610a17565b830182610b00565b50505b505050565b5f82821c905092915050565b5f610b835f1984600802610b68565b1980831691505092915050565b5f610b9b8383610b74565b9150826002028217905092915050565b610bb482610971565b67ffffffffffffffff811115610bcd57610bcc61097b565b5b610bd782546109d5565b610be2828285610b22565b5f60209050601f831160018114610c13575f8415610c01578287015190505b610c0b8582610b90565b865550610c72565b601f198416610c2186610a05565b5f5b82811015610c4857848901518255600182019150602085019450602081019050610c23565b86831015610c655784890151610c61601f891682610b74565b8355505b6001600288020188555050505b505050505050565b610c838161090b565b82525050565b5f604082019050610c9c5f830185610c7a565b610ca96020830184610c7a565b9392505050565b5f8115159050919050565b610cc481610cb0565b82525050565b5f602082019050610cdd5f830184610cbb565b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610d27601f83610ce3565b9150610d3282610cf3565b602082019050919050565b5f6020820190508181035f830152610d5481610d1b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d9282610a83565b9150610d9d83610a83565b9250828201905080821115610db557610db4610d5b565b5b92915050565b610dc481610a83565b82525050565b5f602082019050610ddd5f830184610dbb565b92915050565b608051613656610e105f395f8181610ade01528181611f2501528181612004015261202b01526136565ff3fe6080604052600436106101db575f3560e01c80638da5cb5b11610101578063c9567bf911610094578063e2f4560511610063578063e2f456051461068a578063f2fde38b146106b4578063f8b45b05146106dc578063ffb54a9914610706576101e2565b8063c9567bf9146105e4578063cf9522fd146105fa578063dd62ed3e14610624578063dd85465214610660576101e2565b8063a9059cbb116100d0578063a9059cbb1461052e578063afa4f3b21461056a578063b70143c914610592578063c8c8ebe4146105ba576101e2565b80638da5cb5b1461047657806395d89b41146104a05780639a7a23d6146104ca578063a457c2d7146104f2576101e2565b8063395093511161017957806370a082311161014857806370a08231146103f8578063715018a614610434578063751039fc1461044a57806389291a8f14610460576101e2565b8063395093511461032e5780633be6e6371461036a5780634fbee19314610392578063583e0568146103ce576101e2565b806323b872dd116101b557806323b872dd14610276578063311028af146102b2578063313ce567146102dc578063346cc7be14610306576101e2565b806306fdde03146101e6578063095ea7b31461021057806318160ddd1461024c576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa610730565b6040516102079190612576565b60405180910390f35b34801561021b575f80fd5b5061023660048036038101906102319190612627565b6107c0565b604051610243919061267f565b60405180910390f35b348015610257575f80fd5b506102606107e2565b60405161026d91906126a7565b60405180910390f35b348015610281575f80fd5b5061029c600480360381019061029791906126c0565b6107eb565b6040516102a9919061267f565b60405180910390f35b3480156102bd575f80fd5b506102c6610819565b6040516102d391906126a7565b60405180910390f35b3480156102e7575f80fd5b506102f061081f565b6040516102fd919061272b565b60405180910390f35b348015610311575f80fd5b5061032c60048036038101906103279190612744565b610827565b005b348015610339575f80fd5b50610354600480360381019061034f9190612627565b6109e9565b604051610361919061267f565b60405180910390f35b348015610375575f80fd5b50610390600480360381019061038b919061276f565b610a1f565b005b34801561039d575f80fd5b506103b860048036038101906103b39190612744565b610a8a565b6040516103c5919061267f565b60405180910390f35b3480156103d9575f80fd5b506103e2610adc565b6040516103ef9190612808565b60405180910390f35b348015610403575f80fd5b5061041e60048036038101906104199190612744565b610b00565b60405161042b91906126a7565b60405180910390f35b34801561043f575f80fd5b50610448610b45565b005b348015610455575f80fd5b5061045e610b58565b005b34801561046b575f80fd5b50610474610b7c565b005b348015610481575f80fd5b5061048a610c63565b6040516104979190612830565b60405180910390f35b3480156104ab575f80fd5b506104b4610c8b565b6040516104c19190612576565b60405180910390f35b3480156104d5575f80fd5b506104f060048036038101906104eb9190612873565b610d1b565b005b3480156104fd575f80fd5b5061051860048036038101906105139190612627565b610dc0565b604051610525919061267f565b60405180910390f35b348015610539575f80fd5b50610554600480360381019061054f9190612627565b610e35565b604051610561919061267f565b60405180910390f35b348015610575575f80fd5b50610590600480360381019061058b91906128b1565b610e57565b005b34801561059d575f80fd5b506105b860048036038101906105b391906128b1565b610e7c565b005b3480156105c5575f80fd5b506105ce610f7c565b6040516105db91906126a7565b60405180910390f35b3480156105ef575f80fd5b506105f8610f82565b005b348015610605575f80fd5b5061060e610fa6565b60405161061b91906126a7565b60405180910390f35b34801561062f575f80fd5b5061064a600480360381019061064591906128dc565b610fac565b60405161065791906126a7565b60405180910390f35b34801561066b575f80fd5b5061067461102e565b60405161068191906126a7565b60405180910390f35b348015610695575f80fd5b5061069e611034565b6040516106ab91906126a7565b60405180910390f35b3480156106bf575f80fd5b506106da60048036038101906106d59190612744565b61103a565b005b3480156106e7575f80fd5b506106f06110bc565b6040516106fd91906126a7565b60405180910390f35b348015610711575f80fd5b5061071a6110c2565b604051610727919061267f565b60405180910390f35b60606003805461073f90612947565b80601f016020809104026020016040519081016040528092919081815260200182805461076b90612947565b80156107b65780601f1061078d576101008083540402835291602001916107b6565b820191905f5260205f20905b81548152906001019060200180831161079957829003601f168201915b5050505050905090565b5f806107ca6110d4565b90506107d78185856110db565b600191505092915050565b5f600254905090565b5f806107f56110d4565b905061080285828561129e565b61080d858585611329565b60019150509392505050565b60095481565b5f6012905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108676110d4565b73ffffffffffffffffffffffffffffffffffffffff1614610886575f80fd5b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108c49190612830565b602060405180830381865afa1580156108df573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610903919061298b565b90505f8111610947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093e90612a00565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016109a3929190612a1e565b6020604051808303815f875af11580156109bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e39190612a59565b50505050565b5f806109f36110d4565b9050610a14818585610a058589610fac565b610a0f9190612ab1565b6110db565b600191505092915050565b610a27611ca9565b60148211158015610a39575060508111155b610a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6f90612b2e565b60405180910390fd5b81600e8190555080600f819055505050565b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b4d611ca9565b610b565f611d27565b565b610b60611ca9565b5f610b696107e2565b905080600a8190555080600b8190555050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bbc6110d4565b73ffffffffffffffffffffffffffffffffffffffff1614610bdb575f80fd5b5f4711610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490612b96565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610c60573d5f803e3d5ffd5b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c9a90612947565b80601f0160208091040260200160405190810160405280929190818152602001828054610cc690612947565b8015610d115780601f10610ce857610100808354040283529160200191610d11565b820191905f5260205f20905b815481529060010190602001808311610cf457829003601f168201915b5050505050905090565b610d23611ca9565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da990612c24565b60405180910390fd5b610dbc8282611dea565b5050565b5f80610dca6110d4565b90505f610dd78286610fac565b905083811015610e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1390612cb2565b60405180910390fd5b610e2982868684036110db565b60019250505092915050565b5f80610e3f6110d4565b9050610e4c818585611329565b600191505092915050565b610e5f611ca9565b670de0b6b3a764000081610e739190612cd0565b600c8190555050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ebc6110d4565b73ffffffffffffffffffffffffffffffffffffffff1614610edb575f80fd5b5f610ee46107e2565b90505f610ef030610b00565b90505f60648403610f0357819050610f2a565b60648484610f119190612cd0565b610f1b9190612d3e565b905081811115610f29578190505b5b81811115610f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6490612dde565b60405180910390fd5b610f7681611e88565b50505050565b600a5481565b610f8a611ca9565b6001600d5f6101000a81548160ff021916908315150217905550565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e5481565b600c5481565b611042611ca9565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a790612e6c565b60405180910390fd5b6110b981611d27565b50565b600b5481565b600d5f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114090612efa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae90612f88565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161129191906126a7565b60405180910390a3505050565b5f6112a98484610fac565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113235781811015611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c90612ff0565b60405180910390fd5b61132284848484036110db565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138e9061307e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611405576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fc9061310c565b60405180910390fd5b5f810361141c5761141783835f6120dc565b611ca4565b5f60125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156114bb575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b90506114c5610c63565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115335750611503610c63565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561156b57505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115a5575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115be5750600860149054906101000a900460ff16155b1561198b57600d5f9054906101000a900460ff166116b15760105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611671575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a790613174565b60405180910390fd5b5b60125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561174e575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117f557600a54821115611798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178f90613202565b60405180910390fd5b600b546117a484610b00565b836117af9190612ab1565b11156117f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e79061326a565b60405180910390fd5b61198a565b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611892575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118e157600a548211156118dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d3906132f8565b60405180910390fd5b611989565b60115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661198857600b5461193b84610b00565b836119469190612ab1565b1115611987576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197e9061326a565b60405180910390fd5b5b5b5b5b5f61199530610b00565b90505f80821180156119a5575082155b90508080156119c15750600860149054906101000a900460ff16155b8015611a14575060125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611a67575060105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611aba575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611afe576001600860146101000a81548160ff021916908315150217905550611ae384612348565b5f600860146101000a81548160ff0219169083151502179055505b5f600860149054906101000a900460ff16158015611b1a575083155b905060105f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611bb7575060105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611bc0575f90505b5f8115611c935760125f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611c4557611c3e6064611c30600f54896124d290919063ffffffff16565b6124e790919063ffffffff16565b9050611c70565b611c6d6064611c5f600e54896124d290919063ffffffff16565b6124e790919063ffffffff16565b90505b5f811115611c8457611c838830836120dc565b5b8086611c909190613316565b95505b611c9e8888886120dc565b50505050505b505050565b611cb16110d4565b73ffffffffffffffffffffffffffffffffffffffff16611ccf610c63565b73ffffffffffffffffffffffffffffffffffffffff1614611d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1c90613393565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f600267ffffffffffffffff811115611ea457611ea36133b1565b5b604051908082528060200260200182016040528015611ed25781602001602082028036833780820191505090505b50905030815f81518110611ee957611ee86133de565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb0919061341f565b81600181518110611fc457611fc36133de565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612029307f0000000000000000000000000000000000000000000000000000000000000000846110db565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016120ab95949392919061353a565b5f604051808303815f87803b1580156120c2575f80fd5b505af11580156120d4573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361214a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121419061307e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121af9061310c565b60405180910390fd5b6121c38383836124fc565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223d90613602565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161232f91906126a7565b60405180910390a3612342848484612501565b50505050565b5f61235230610b00565b90505f8082036123635750506124cf565b5f600f54600e546123749190612ab1565b036123ee575f821180156123895750600c5482105b15612396578190506123e9565b5f6123bf60646123b1600f54876124d290919063ffffffff16565b6124e790919063ffffffff16565b905080846123cd9190613316565b9350600c548411156123e357600c5491506123e7565b8391505b505b6124c3565b5f82118015612411575061240e6005600c546124e790919063ffffffff16565b82105b1561241d5750506124cf565b5f82118015612440575061243d6005600c546124e790919063ffffffff16565b82115b801561244d5750600c5482105b1561246f576124686005600c546124e790919063ffffffff16565b90506124c2565b5f612498606461248a600f54876124d290919063ffffffff16565b6124e790919063ffffffff16565b905080846124a69190613316565b9350600c548411156124bc57600c5491506124c0565b8391505b505b5b6124cc81611e88565b50505b50565b5f81836124df9190612cd0565b905092915050565b5f81836124f49190612d3e565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61254882612506565b6125528185612510565b9350612562818560208601612520565b61256b8161252e565b840191505092915050565b5f6020820190508181035f83015261258e818461253e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125c38261259a565b9050919050565b6125d3816125b9565b81146125dd575f80fd5b50565b5f813590506125ee816125ca565b92915050565b5f819050919050565b612606816125f4565b8114612610575f80fd5b50565b5f81359050612621816125fd565b92915050565b5f806040838503121561263d5761263c612596565b5b5f61264a858286016125e0565b925050602061265b85828601612613565b9150509250929050565b5f8115159050919050565b61267981612665565b82525050565b5f6020820190506126925f830184612670565b92915050565b6126a1816125f4565b82525050565b5f6020820190506126ba5f830184612698565b92915050565b5f805f606084860312156126d7576126d6612596565b5b5f6126e4868287016125e0565b93505060206126f5868287016125e0565b925050604061270686828701612613565b9150509250925092565b5f60ff82169050919050565b61272581612710565b82525050565b5f60208201905061273e5f83018461271c565b92915050565b5f6020828403121561275957612758612596565b5b5f612766848285016125e0565b91505092915050565b5f806040838503121561278557612784612596565b5b5f61279285828601612613565b92505060206127a385828601612613565b9150509250929050565b5f819050919050565b5f6127d06127cb6127c68461259a565b6127ad565b61259a565b9050919050565b5f6127e1826127b6565b9050919050565b5f6127f2826127d7565b9050919050565b612802816127e8565b82525050565b5f60208201905061281b5f8301846127f9565b92915050565b61282a816125b9565b82525050565b5f6020820190506128435f830184612821565b92915050565b61285281612665565b811461285c575f80fd5b50565b5f8135905061286d81612849565b92915050565b5f806040838503121561288957612888612596565b5b5f612896858286016125e0565b92505060206128a78582860161285f565b9150509250929050565b5f602082840312156128c6576128c5612596565b5b5f6128d384828501612613565b91505092915050565b5f80604083850312156128f2576128f1612596565b5b5f6128ff858286016125e0565b9250506020612910858286016125e0565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061295e57607f821691505b6020821081036129715761297061291a565b5b50919050565b5f81519050612985816125fd565b92915050565b5f602082840312156129a05761299f612596565b5b5f6129ad84828501612977565b91505092915050565b7f4e6f20746f6b656e7320746f20636c65617200000000000000000000000000005f82015250565b5f6129ea601283612510565b91506129f5826129b6565b602082019050919050565b5f6020820190508181035f830152612a17816129de565b9050919050565b5f604082019050612a315f830185612821565b612a3e6020830184612698565b9392505050565b5f81519050612a5381612849565b92915050565b5f60208284031215612a6e57612a6d612596565b5b5f612a7b84828501612a45565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612abb826125f4565b9150612ac6836125f4565b9250828201905080821115612ade57612add612a84565b5b92915050565b7f466565732063616e6e6f742065786365656420383025000000000000000000005f82015250565b5f612b18601683612510565b9150612b2382612ae4565b602082019050919050565b5f6020820190508181035f830152612b4581612b0c565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f612b80601683612510565b9150612b8b82612b4c565b602082019050919050565b5f6020820190508181035f830152612bad81612b74565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f612c0e603983612510565b9150612c1982612bb4565b604082019050919050565b5f6020820190508181035f830152612c3b81612c02565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612c9c602583612510565b9150612ca782612c42565b604082019050919050565b5f6020820190508181035f830152612cc981612c90565b9050919050565b5f612cda826125f4565b9150612ce5836125f4565b9250828202612cf3816125f4565b91508282048414831517612d0a57612d09612a84565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d48826125f4565b9150612d53836125f4565b925082612d6357612d62612d11565b5b828204905092915050565b7f5377617020616d6f756e74206578636565647320636f6e74726163742062616c5f8201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b5f612dc8602483612510565b9150612dd382612d6e565b604082019050919050565b5f6020820190508181035f830152612df581612dbc565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612e56602683612510565b9150612e6182612dfc565b604082019050919050565b5f6020820190508181035f830152612e8381612e4a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ee4602483612510565b9150612eef82612e8a565b604082019050919050565b5f6020820190508181035f830152612f1181612ed8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f72602283612510565b9150612f7d82612f18565b604082019050919050565b5f6020820190508181035f830152612f9f81612f66565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612fda601d83612510565b9150612fe582612fa6565b602082019050919050565b5f6020820190508181035f83015261300781612fce565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613068602583612510565b91506130738261300e565b604082019050919050565b5f6020820190508181035f8301526130958161305c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6130f6602383612510565b91506131018261309c565b604082019050919050565b5f6020820190508181035f830152613123816130ea565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f61315e601683612510565b91506131698261312a565b602082019050919050565b5f6020820190508181035f83015261318b81613152565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f6131ec603583612510565b91506131f782613192565b604082019050919050565b5f6020820190508181035f830152613219816131e0565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613254601383612510565b915061325f82613220565b602082019050919050565b5f6020820190508181035f83015261328181613248565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f6132e2603683612510565b91506132ed82613288565b604082019050919050565b5f6020820190508181035f83015261330f816132d6565b9050919050565b5f613320826125f4565b915061332b836125f4565b925082820390508181111561334357613342612a84565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61337d602083612510565b915061338882613349565b602082019050919050565b5f6020820190508181035f8301526133aa81613371565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613419816125ca565b92915050565b5f6020828403121561343457613433612596565b5b5f6134418482850161340b565b91505092915050565b5f819050919050565b5f61346d6134686134638461344a565b6127ad565b6125f4565b9050919050565b61347d81613453565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6134b5816125b9565b82525050565b5f6134c683836134ac565b60208301905092915050565b5f602082019050919050565b5f6134e882613483565b6134f2818561348d565b93506134fd8361349d565b805f5b8381101561352d57815161351488826134bb565b975061351f836134d2565b925050600181019050613500565b5085935050505092915050565b5f60a08201905061354d5f830188612698565b61355a6020830187613474565b818103604083015261356c81866134de565b905061357b6060830185612821565b6135886080830184612698565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6135ec602683612510565b91506135f782613592565b604082019050919050565b5f6020820190508181035f830152613619816135e0565b905091905056fea26469706673582212206c7769a1df161c21069c0a3366536099d71993dcc872d4c29e4a0171b51184ca64736f6c63430008190033000000000000000000000000fa2dc0f65beccf130ebb1210064d6824e7f0c229

Deployed Bytecode

0x6080604052600436106101db575f3560e01c80638da5cb5b11610101578063c9567bf911610094578063e2f4560511610063578063e2f456051461068a578063f2fde38b146106b4578063f8b45b05146106dc578063ffb54a9914610706576101e2565b8063c9567bf9146105e4578063cf9522fd146105fa578063dd62ed3e14610624578063dd85465214610660576101e2565b8063a9059cbb116100d0578063a9059cbb1461052e578063afa4f3b21461056a578063b70143c914610592578063c8c8ebe4146105ba576101e2565b80638da5cb5b1461047657806395d89b41146104a05780639a7a23d6146104ca578063a457c2d7146104f2576101e2565b8063395093511161017957806370a082311161014857806370a08231146103f8578063715018a614610434578063751039fc1461044a57806389291a8f14610460576101e2565b8063395093511461032e5780633be6e6371461036a5780634fbee19314610392578063583e0568146103ce576101e2565b806323b872dd116101b557806323b872dd14610276578063311028af146102b2578063313ce567146102dc578063346cc7be14610306576101e2565b806306fdde03146101e6578063095ea7b31461021057806318160ddd1461024c576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa610730565b6040516102079190612576565b60405180910390f35b34801561021b575f80fd5b5061023660048036038101906102319190612627565b6107c0565b604051610243919061267f565b60405180910390f35b348015610257575f80fd5b506102606107e2565b60405161026d91906126a7565b60405180910390f35b348015610281575f80fd5b5061029c600480360381019061029791906126c0565b6107eb565b6040516102a9919061267f565b60405180910390f35b3480156102bd575f80fd5b506102c6610819565b6040516102d391906126a7565b60405180910390f35b3480156102e7575f80fd5b506102f061081f565b6040516102fd919061272b565b60405180910390f35b348015610311575f80fd5b5061032c60048036038101906103279190612744565b610827565b005b348015610339575f80fd5b50610354600480360381019061034f9190612627565b6109e9565b604051610361919061267f565b60405180910390f35b348015610375575f80fd5b50610390600480360381019061038b919061276f565b610a1f565b005b34801561039d575f80fd5b506103b860048036038101906103b39190612744565b610a8a565b6040516103c5919061267f565b60405180910390f35b3480156103d9575f80fd5b506103e2610adc565b6040516103ef9190612808565b60405180910390f35b348015610403575f80fd5b5061041e60048036038101906104199190612744565b610b00565b60405161042b91906126a7565b60405180910390f35b34801561043f575f80fd5b50610448610b45565b005b348015610455575f80fd5b5061045e610b58565b005b34801561046b575f80fd5b50610474610b7c565b005b348015610481575f80fd5b5061048a610c63565b6040516104979190612830565b60405180910390f35b3480156104ab575f80fd5b506104b4610c8b565b6040516104c19190612576565b60405180910390f35b3480156104d5575f80fd5b506104f060048036038101906104eb9190612873565b610d1b565b005b3480156104fd575f80fd5b5061051860048036038101906105139190612627565b610dc0565b604051610525919061267f565b60405180910390f35b348015610539575f80fd5b50610554600480360381019061054f9190612627565b610e35565b604051610561919061267f565b60405180910390f35b348015610575575f80fd5b50610590600480360381019061058b91906128b1565b610e57565b005b34801561059d575f80fd5b506105b860048036038101906105b391906128b1565b610e7c565b005b3480156105c5575f80fd5b506105ce610f7c565b6040516105db91906126a7565b60405180910390f35b3480156105ef575f80fd5b506105f8610f82565b005b348015610605575f80fd5b5061060e610fa6565b60405161061b91906126a7565b60405180910390f35b34801561062f575f80fd5b5061064a600480360381019061064591906128dc565b610fac565b60405161065791906126a7565b60405180910390f35b34801561066b575f80fd5b5061067461102e565b60405161068191906126a7565b60405180910390f35b348015610695575f80fd5b5061069e611034565b6040516106ab91906126a7565b60405180910390f35b3480156106bf575f80fd5b506106da60048036038101906106d59190612744565b61103a565b005b3480156106e7575f80fd5b506106f06110bc565b6040516106fd91906126a7565b60405180910390f35b348015610711575f80fd5b5061071a6110c2565b604051610727919061267f565b60405180910390f35b60606003805461073f90612947565b80601f016020809104026020016040519081016040528092919081815260200182805461076b90612947565b80156107b65780601f1061078d576101008083540402835291602001916107b6565b820191905f5260205f20905b81548152906001019060200180831161079957829003601f168201915b5050505050905090565b5f806107ca6110d4565b90506107d78185856110db565b600191505092915050565b5f600254905090565b5f806107f56110d4565b905061080285828561129e565b61080d858585611329565b60019150509392505050565b60095481565b5f6012905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108676110d4565b73ffffffffffffffffffffffffffffffffffffffff1614610886575f80fd5b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108c49190612830565b602060405180830381865afa1580156108df573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610903919061298b565b90505f8111610947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093e90612a00565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016109a3929190612a1e565b6020604051808303815f875af11580156109bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e39190612a59565b50505050565b5f806109f36110d4565b9050610a14818585610a058589610fac565b610a0f9190612ab1565b6110db565b600191505092915050565b610a27611ca9565b60148211158015610a39575060508111155b610a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6f90612b2e565b60405180910390fd5b81600e8190555080600f819055505050565b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b4d611ca9565b610b565f611d27565b565b610b60611ca9565b5f610b696107e2565b905080600a8190555080600b8190555050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bbc6110d4565b73ffffffffffffffffffffffffffffffffffffffff1614610bdb575f80fd5b5f4711610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490612b96565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610c60573d5f803e3d5ffd5b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c9a90612947565b80601f0160208091040260200160405190810160405280929190818152602001828054610cc690612947565b8015610d115780601f10610ce857610100808354040283529160200191610d11565b820191905f5260205f20905b815481529060010190602001808311610cf457829003601f168201915b5050505050905090565b610d23611ca9565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da990612c24565b60405180910390fd5b610dbc8282611dea565b5050565b5f80610dca6110d4565b90505f610dd78286610fac565b905083811015610e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1390612cb2565b60405180910390fd5b610e2982868684036110db565b60019250505092915050565b5f80610e3f6110d4565b9050610e4c818585611329565b600191505092915050565b610e5f611ca9565b670de0b6b3a764000081610e739190612cd0565b600c8190555050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ebc6110d4565b73ffffffffffffffffffffffffffffffffffffffff1614610edb575f80fd5b5f610ee46107e2565b90505f610ef030610b00565b90505f60648403610f0357819050610f2a565b60648484610f119190612cd0565b610f1b9190612d3e565b905081811115610f29578190505b5b81811115610f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6490612dde565b60405180910390fd5b610f7681611e88565b50505050565b600a5481565b610f8a611ca9565b6001600d5f6101000a81548160ff021916908315150217905550565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e5481565b600c5481565b611042611ca9565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a790612e6c565b60405180910390fd5b6110b981611d27565b50565b600b5481565b600d5f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114090612efa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae90612f88565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161129191906126a7565b60405180910390a3505050565b5f6112a98484610fac565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113235781811015611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c90612ff0565b60405180910390fd5b61132284848484036110db565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138e9061307e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611405576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fc9061310c565b60405180910390fd5b5f810361141c5761141783835f6120dc565b611ca4565b5f60125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156114bb575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b90506114c5610c63565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115335750611503610c63565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561156b57505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115a5575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115be5750600860149054906101000a900460ff16155b1561198b57600d5f9054906101000a900460ff166116b15760105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611671575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a790613174565b60405180910390fd5b5b60125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561174e575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117f557600a54821115611798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178f90613202565b60405180910390fd5b600b546117a484610b00565b836117af9190612ab1565b11156117f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e79061326a565b60405180910390fd5b61198a565b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611892575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118e157600a548211156118dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d3906132f8565b60405180910390fd5b611989565b60115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661198857600b5461193b84610b00565b836119469190612ab1565b1115611987576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197e9061326a565b60405180910390fd5b5b5b5b5b5f61199530610b00565b90505f80821180156119a5575082155b90508080156119c15750600860149054906101000a900460ff16155b8015611a14575060125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611a67575060105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611aba575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611afe576001600860146101000a81548160ff021916908315150217905550611ae384612348565b5f600860146101000a81548160ff0219169083151502179055505b5f600860149054906101000a900460ff16158015611b1a575083155b905060105f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611bb7575060105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611bc0575f90505b5f8115611c935760125f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611c4557611c3e6064611c30600f54896124d290919063ffffffff16565b6124e790919063ffffffff16565b9050611c70565b611c6d6064611c5f600e54896124d290919063ffffffff16565b6124e790919063ffffffff16565b90505b5f811115611c8457611c838830836120dc565b5b8086611c909190613316565b95505b611c9e8888886120dc565b50505050505b505050565b611cb16110d4565b73ffffffffffffffffffffffffffffffffffffffff16611ccf610c63565b73ffffffffffffffffffffffffffffffffffffffff1614611d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1c90613393565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f600267ffffffffffffffff811115611ea457611ea36133b1565b5b604051908082528060200260200182016040528015611ed25781602001602082028036833780820191505090505b50905030815f81518110611ee957611ee86133de565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb0919061341f565b81600181518110611fc457611fc36133de565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612029307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846110db565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016120ab95949392919061353a565b5f604051808303815f87803b1580156120c2575f80fd5b505af11580156120d4573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361214a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121419061307e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121af9061310c565b60405180910390fd5b6121c38383836124fc565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223d90613602565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161232f91906126a7565b60405180910390a3612342848484612501565b50505050565b5f61235230610b00565b90505f8082036123635750506124cf565b5f600f54600e546123749190612ab1565b036123ee575f821180156123895750600c5482105b15612396578190506123e9565b5f6123bf60646123b1600f54876124d290919063ffffffff16565b6124e790919063ffffffff16565b905080846123cd9190613316565b9350600c548411156123e357600c5491506123e7565b8391505b505b6124c3565b5f82118015612411575061240e6005600c546124e790919063ffffffff16565b82105b1561241d5750506124cf565b5f82118015612440575061243d6005600c546124e790919063ffffffff16565b82115b801561244d5750600c5482105b1561246f576124686005600c546124e790919063ffffffff16565b90506124c2565b5f612498606461248a600f54876124d290919063ffffffff16565b6124e790919063ffffffff16565b905080846124a69190613316565b9350600c548411156124bc57600c5491506124c0565b8391505b505b5b6124cc81611e88565b50505b50565b5f81836124df9190612cd0565b905092915050565b5f81836124f49190612d3e565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61254882612506565b6125528185612510565b9350612562818560208601612520565b61256b8161252e565b840191505092915050565b5f6020820190508181035f83015261258e818461253e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125c38261259a565b9050919050565b6125d3816125b9565b81146125dd575f80fd5b50565b5f813590506125ee816125ca565b92915050565b5f819050919050565b612606816125f4565b8114612610575f80fd5b50565b5f81359050612621816125fd565b92915050565b5f806040838503121561263d5761263c612596565b5b5f61264a858286016125e0565b925050602061265b85828601612613565b9150509250929050565b5f8115159050919050565b61267981612665565b82525050565b5f6020820190506126925f830184612670565b92915050565b6126a1816125f4565b82525050565b5f6020820190506126ba5f830184612698565b92915050565b5f805f606084860312156126d7576126d6612596565b5b5f6126e4868287016125e0565b93505060206126f5868287016125e0565b925050604061270686828701612613565b9150509250925092565b5f60ff82169050919050565b61272581612710565b82525050565b5f60208201905061273e5f83018461271c565b92915050565b5f6020828403121561275957612758612596565b5b5f612766848285016125e0565b91505092915050565b5f806040838503121561278557612784612596565b5b5f61279285828601612613565b92505060206127a385828601612613565b9150509250929050565b5f819050919050565b5f6127d06127cb6127c68461259a565b6127ad565b61259a565b9050919050565b5f6127e1826127b6565b9050919050565b5f6127f2826127d7565b9050919050565b612802816127e8565b82525050565b5f60208201905061281b5f8301846127f9565b92915050565b61282a816125b9565b82525050565b5f6020820190506128435f830184612821565b92915050565b61285281612665565b811461285c575f80fd5b50565b5f8135905061286d81612849565b92915050565b5f806040838503121561288957612888612596565b5b5f612896858286016125e0565b92505060206128a78582860161285f565b9150509250929050565b5f602082840312156128c6576128c5612596565b5b5f6128d384828501612613565b91505092915050565b5f80604083850312156128f2576128f1612596565b5b5f6128ff858286016125e0565b9250506020612910858286016125e0565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061295e57607f821691505b6020821081036129715761297061291a565b5b50919050565b5f81519050612985816125fd565b92915050565b5f602082840312156129a05761299f612596565b5b5f6129ad84828501612977565b91505092915050565b7f4e6f20746f6b656e7320746f20636c65617200000000000000000000000000005f82015250565b5f6129ea601283612510565b91506129f5826129b6565b602082019050919050565b5f6020820190508181035f830152612a17816129de565b9050919050565b5f604082019050612a315f830185612821565b612a3e6020830184612698565b9392505050565b5f81519050612a5381612849565b92915050565b5f60208284031215612a6e57612a6d612596565b5b5f612a7b84828501612a45565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612abb826125f4565b9150612ac6836125f4565b9250828201905080821115612ade57612add612a84565b5b92915050565b7f466565732063616e6e6f742065786365656420383025000000000000000000005f82015250565b5f612b18601683612510565b9150612b2382612ae4565b602082019050919050565b5f6020820190508181035f830152612b4581612b0c565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f612b80601683612510565b9150612b8b82612b4c565b602082019050919050565b5f6020820190508181035f830152612bad81612b74565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f612c0e603983612510565b9150612c1982612bb4565b604082019050919050565b5f6020820190508181035f830152612c3b81612c02565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612c9c602583612510565b9150612ca782612c42565b604082019050919050565b5f6020820190508181035f830152612cc981612c90565b9050919050565b5f612cda826125f4565b9150612ce5836125f4565b9250828202612cf3816125f4565b91508282048414831517612d0a57612d09612a84565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d48826125f4565b9150612d53836125f4565b925082612d6357612d62612d11565b5b828204905092915050565b7f5377617020616d6f756e74206578636565647320636f6e74726163742062616c5f8201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b5f612dc8602483612510565b9150612dd382612d6e565b604082019050919050565b5f6020820190508181035f830152612df581612dbc565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612e56602683612510565b9150612e6182612dfc565b604082019050919050565b5f6020820190508181035f830152612e8381612e4a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ee4602483612510565b9150612eef82612e8a565b604082019050919050565b5f6020820190508181035f830152612f1181612ed8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f72602283612510565b9150612f7d82612f18565b604082019050919050565b5f6020820190508181035f830152612f9f81612f66565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612fda601d83612510565b9150612fe582612fa6565b602082019050919050565b5f6020820190508181035f83015261300781612fce565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613068602583612510565b91506130738261300e565b604082019050919050565b5f6020820190508181035f8301526130958161305c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6130f6602383612510565b91506131018261309c565b604082019050919050565b5f6020820190508181035f830152613123816130ea565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f61315e601683612510565b91506131698261312a565b602082019050919050565b5f6020820190508181035f83015261318b81613152565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f6131ec603583612510565b91506131f782613192565b604082019050919050565b5f6020820190508181035f830152613219816131e0565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613254601383612510565b915061325f82613220565b602082019050919050565b5f6020820190508181035f83015261328181613248565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f6132e2603683612510565b91506132ed82613288565b604082019050919050565b5f6020820190508181035f83015261330f816132d6565b9050919050565b5f613320826125f4565b915061332b836125f4565b925082820390508181111561334357613342612a84565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61337d602083612510565b915061338882613349565b602082019050919050565b5f6020820190508181035f8301526133aa81613371565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613419816125ca565b92915050565b5f6020828403121561343457613433612596565b5b5f6134418482850161340b565b91505092915050565b5f819050919050565b5f61346d6134686134638461344a565b6127ad565b6125f4565b9050919050565b61347d81613453565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6134b5816125b9565b82525050565b5f6134c683836134ac565b60208301905092915050565b5f602082019050919050565b5f6134e882613483565b6134f2818561348d565b93506134fd8361349d565b805f5b8381101561352d57815161351488826134bb565b975061351f836134d2565b925050600181019050613500565b5085935050505092915050565b5f60a08201905061354d5f830188612698565b61355a6020830187613474565b818103604083015261356c81866134de565b905061357b6060830185612821565b6135886080830184612698565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6135ec602683612510565b91506135f782613592565b604082019050919050565b5f6020820190508181035f830152613619816135e0565b905091905056fea26469706673582212206c7769a1df161c21069c0a3366536099d71993dcc872d4c29e4a0171b51184ca64736f6c63430008190033

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

000000000000000000000000fa2dc0f65beccf130ebb1210064d6824e7f0c229

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000fa2dc0f65beccf130ebb1210064d6824e7f0c229


Deployed Bytecode Sourcemap

14813:9427:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9837:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10769:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10158:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10978:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15257:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10057:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21455:347;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11281:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21810:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17890:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14894:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10274:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8913:103;;;;;;;;;;;;;:::i;:::-;;21020:194;;;;;;;;;;;;;:::i;:::-;;21222:225;;;;;;;;;;;;;:::i;:::-;;8678:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9945:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17446:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11527:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10409:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22030:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22165:667;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15314:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17033:81;;;;;;;;;;;;;:::i;:::-;;15546:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10610:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15514:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15417:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9024:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15371:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15474:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9837:100;9891:13;9924:5;9917:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9837:100;:::o;10769:201::-;10852:4;10869:13;10885:12;:10;:12::i;:::-;10869:28;;10908:32;10917:5;10924:7;10933:6;10908:8;:32::i;:::-;10958:4;10951:11;;;10769:201;;;;:::o;10158:108::-;10219:7;10246:12;;10239:19;;10158:108;:::o;10978:295::-;11109:4;11126:15;11144:12;:10;:12::i;:::-;11126:30;;11167:38;11183:4;11189:7;11198:6;11167:15;:38::i;:::-;11216:27;11226:4;11232:2;11236:6;11216:9;:27::i;:::-;11261:4;11254:11;;;10978:295;;;;;:::o;15257:50::-;;;;:::o;10057:93::-;10115:5;10140:2;10133:9;;10057:93;:::o;21455:347::-;21547:14;;;;;;;;;;;21531:30;;:12;:10;:12::i;:::-;:30;;;21523:39;;;;;;21573:20;21603:12;21573:43;;21627:15;21645:13;:23;;;21677:4;21645:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21627:56;;21712:1;21702:7;:11;21694:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;21747:13;:22;;;21770:14;;;;;;;;;;;21786:7;21747:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21512:290;;21455:347;:::o;11281:238::-;11369:4;11386:13;11402:12;:10;:12::i;:::-;11386:28;;11425:64;11434:5;11441:7;11478:10;11450:25;11460:5;11467:7;11450:9;:25::i;:::-;:38;;;;:::i;:::-;11425:8;:64::i;:::-;11507:4;11500:11;;;11281:238;;;;:::o;21810:212::-;8637:13;:11;:13::i;:::-;21911:2:::1;21900:7;:13;;:31;;;;;21929:2;21917:8;:14;;21900:31;21892:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;21978:7;21969:6;:16;;;;22006:8;21996:7;:18;;;;21810:212:::0;;:::o;17890:126::-;17956:4;17980:19;:28;18000:7;17980:28;;;;;;;;;;;;;;;;;;;;;;;;;17973:35;;17890:126;;;:::o;14894:52::-;;;:::o;10274:127::-;10348:7;10375:9;:18;10385:7;10375:18;;;;;;;;;;;;;;;;10368:25;;10274:127;;;:::o;8913:103::-;8637:13;:11;:13::i;:::-;8978:30:::1;9005:1;8978:18;:30::i;:::-;8913:103::o:0;21020:194::-;8637:13;:11;:13::i;:::-;21074:25:::1;21102:13;:11;:13::i;:::-;21074:41;;21149:17;21126:20;:40;;;;21189:17;21177:9;:29;;;;21063:151;21020:194::o:0;21222:225::-;21291:14;;;;;;;;;;;21275:30;;:12;:10;:12::i;:::-;:30;;;21267:39;;;;;;21349:1;21325:21;:25;21317:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;21396:10;21388:28;;:51;21417:21;21388:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21222:225::o;8678:87::-;8724:7;8751:6;;;;;;;;;;;8744:13;;8678:87;:::o;9945:104::-;10001:13;10034:7;10027:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9945:104;:::o;17446:242::-;8637:13;:11;:13::i;:::-;17553::::1;;;;;;;;;;;17545:21;;:4;:21;;::::0;17537:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;17639:41;17668:4;17674:5;17639:28;:41::i;:::-;17446:242:::0;;:::o;11527:436::-;11620:4;11637:13;11653:12;:10;:12::i;:::-;11637:28;;11676:24;11703:25;11713:5;11720:7;11703:9;:25::i;:::-;11676:52;;11767:15;11747:16;:35;;11739:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11860:60;11869:5;11876:7;11904:15;11885:16;:34;11860:8;:60::i;:::-;11951:4;11944:11;;;;11527:436;;;;:::o;10409:193::-;10488:4;10505:13;10521:12;:10;:12::i;:::-;10505:28;;10544;10554:5;10561:2;10565:6;10544:9;:28::i;:::-;10590:4;10583:11;;;10409:193;;;;:::o;22030:127::-;8637:13;:11;:13::i;:::-;22140:8:::1;22129:7;:20;;;;:::i;:::-;22108:18;:41;;;;22030:127:::0;:::o;22165:667::-;22246:14;;;;;;;;;;;22230:30;;:12;:10;:12::i;:::-;:30;;;22222:39;;;;;;22272:25;22300:13;:11;:13::i;:::-;22272:41;;22324:23;22350:24;22368:4;22350:9;:24::i;:::-;22324:50;;22385:20;22433:3;22422:7;:14;22418:273;;22468:15;22453:30;;22418:273;;;22561:3;22551:7;22531:17;:27;;;;:::i;:::-;:33;;;;:::i;:::-;22516:48;;22598:15;22583:12;:30;22579:101;;;22649:15;22634:30;;22579:101;22418:273;22727:15;22711:12;:31;;22703:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;22794:30;22811:12;22794:16;:30::i;:::-;22211:621;;;22165:667;:::o;15314:50::-;;;;:::o;17033:81::-;8637:13;:11;:13::i;:::-;17102:4:::1;17088:11;;:18;;;;;;;;;;;;;;;;;;17033:81::o:0;15546:27::-;;;;:::o;10610:151::-;10699:7;10726:11;:18;10738:5;10726:18;;;;;;;;;;;;;;;:27;10745:7;10726:27;;;;;;;;;;;;;;;;10719:34;;10610:151;;;;:::o;15514:25::-;;;;:::o;15417:48::-;;;;:::o;9024:201::-;8637:13;:11;:13::i;:::-;9133:1:::1;9113:22;;:8;:22;;::::0;9105:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;9189:28;9208:8;9189:18;:28::i;:::-;9024:201:::0;:::o;15371:39::-;;;;:::o;15474:31::-;;;;;;;;;;;;;:::o;322:98::-;375:7;402:10;395:17;;322:98;:::o;13700:380::-;13853:1;13836:19;;:5;:19;;;13828:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13934:1;13915:21;;:7;:21;;;13907:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14018:6;13988:11;:18;14000:5;13988:18;;;;;;;;;;;;;;;:27;14007:7;13988:27;;;;;;;;;;;;;;;:36;;;;14056:7;14040:32;;14049:5;14040:32;;;14065:6;14040:32;;;;;;:::i;:::-;;;;;;;;13700:380;;;:::o;14088:453::-;14223:24;14250:25;14260:5;14267:7;14250:9;:25::i;:::-;14223:52;;14310:17;14290:16;:37;14286:248;;14372:6;14352:16;:26;;14344:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14456:51;14465:5;14472:7;14500:6;14481:16;:25;14456:8;:51::i;:::-;14286:248;14212:329;14088:453;;;:::o;18024:2499::-;18140:1;18124:18;;:4;:18;;;18116:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18217:1;18203:16;;:2;:16;;;18195:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;18286:1;18276:6;:11;18272:93;;18304:28;18320:4;18326:2;18330:1;18304:15;:28::i;:::-;18347:7;;18272:93;18383:15;18402:25;:31;18428:4;18402:31;;;;;;;;;;;;;;;;;;;;;;;;;18401:32;:66;;;;;18438:25;:29;18464:2;18438:29;;;;;;;;;;;;;;;;;;;;;;;;;18437:30;18401:66;18383:84;;18500:7;:5;:7::i;:::-;18492:15;;:4;:15;;;;:32;;;;;18517:7;:5;:7::i;:::-;18511:13;;:2;:13;;;;18492:32;:52;;;;;18542:1;18528:16;;:2;:16;;;;18492:52;:77;;;;;18562:6;18548:21;;:2;:21;;;;18492:77;:90;;;;;18574:8;;;;;;;;;;;18573:9;18492:90;18488:1060;;;18610:11;;;;;;;;;;;18605:148;;18654:19;:25;18674:4;18654:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;18683:19;:23;18703:2;18683:23;;;;;;;;;;;;;;;;;;;;;;;;;18654:52;18646:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;18605:148;18777:25;:31;18803:4;18777:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;18813:31;:35;18845:2;18813:35;;;;;;;;;;;;;;;;;;;;;;;;;18812:36;18777:71;18773:760;;;18909:20;;18899:6;:30;;18891:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;19044:9;;19027:13;19037:2;19027:9;:13::i;:::-;19018:6;:22;;;;:::i;:::-;:35;;19010:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18773:760;;;19126:25;:29;19152:2;19126:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;19160:31;:37;19192:4;19160:37;;;;;;;;;;;;;;;;;;;;;;;;;19159:38;19126:71;19122:411;;;19240:20;;19230:6;:30;;19222:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;19122:411;;;19386:31;:35;19418:2;19386:35;;;;;;;;;;;;;;;;;;;;;;;;;19381:152;;19480:9;;19463:13;19473:2;19463:9;:13::i;:::-;19454:6;:22;;;;:::i;:::-;:35;;19446:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19381:152;19122:411;18773:760;18488:1060;19560:28;19591:24;19609:4;19591:9;:24::i;:::-;19560:55;;19628:12;19666:1;19643:20;:24;:39;;;;;19672:10;19671:11;19643:39;19628:54;;19699:7;:20;;;;;19711:8;;;;;;;;;;;19710:9;19699:20;:56;;;;;19724:25;:31;19750:4;19724:31;;;;;;;;;;;;;;;;;;;;;;;;;19723:32;19699:56;:86;;;;;19760:19;:25;19780:4;19760:25;;;;;;;;;;;;;;;;;;;;;;;;;19759:26;19699:86;:114;;;;;19790:19;:23;19810:2;19790:23;;;;;;;;;;;;;;;;;;;;;;;;;19789:24;19699:114;19695:224;;;19841:4;19830:8;;:15;;;;;;;;;;;;;;;;;;19860:16;19869:6;19860:8;:16::i;:::-;19902:5;19891:8;;:16;;;;;;;;;;;;;;;;;;19695:224;19931:12;19947:8;;;;;;;;;;;19946:9;:24;;;;;19960:10;19959:11;19946:24;19931:39;;19987:19;:25;20007:4;19987:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;20016:19;:23;20036:2;20016:23;;;;;;;;;;;;;;;;;;;;;;;;;19987:52;19983:100;;;20066:5;20056:15;;19983:100;20095:12;20128:7;20124:348;;;20156:25;:29;20182:2;20156:29;;;;;;;;;;;;;;;;;;;;;;;;;20152:193;;;20213:28;20237:3;20213:19;20224:7;;20213:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;20206:35;;20152:193;;;20302:27;20325:3;20302:18;20313:6;;20302;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;20295:34;;20152:193;20368:1;20361:4;:8;20357:83;;;20386:42;20402:4;20416;20423;20386:15;:42::i;:::-;20357:83;20460:4;20450:14;;;;;:::i;:::-;;;20124:348;20482:33;20498:4;20504:2;20508:6;20482:15;:33::i;:::-;18103:2420;;;;;18024:2499;;;;:::o;8773:132::-;8848:12;:10;:12::i;:::-;8837:23;;:7;:5;:7::i;:::-;:23;;;8829:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8773:132::o;9233:191::-;9307:16;9326:6;;;;;;;;;;;9307:25;;9352:8;9343:6;;:17;;;;;;;;;;;;;;;;;;9407:8;9376:40;;9397:8;9376:40;;;;;;;;;;;;9296:128;9233:191;:::o;17696:186::-;17813:5;17779:25;:31;17805:4;17779:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;17868:5;17834:40;;17862:4;17834:40;;;;;;;;;;;;17696:186;;:::o;20531:482::-;20599:21;20637:1;20623:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20599:40;;20668:4;20650;20655:1;20650:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20694:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20684:4;20689:1;20684:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;20730:63;20747:4;20762:16;20781:11;20730:8;:63::i;:::-;20806:16;:67;;;20888:11;20914:1;20930:4;20949:15;;;;;;;;;;;20979;20806:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20586:427;20531:482;:::o;11971:675::-;12118:1;12102:18;;:4;:18;;;12094:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12195:1;12181:16;;:2;:16;;;12173:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12250:38;12271:4;12277:2;12281:6;12250:20;:38::i;:::-;12301:19;12323:9;:15;12333:4;12323:15;;;;;;;;;;;;;;;;12301:37;;12372:6;12357:11;:21;;12349:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12489:6;12475:11;:20;12457:9;:15;12467:4;12457:15;;;;;;;;;;;;;;;:38;;;;12527:6;12510:9;:13;12520:2;12510:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;12577:2;12562:26;;12571:4;12562:26;;;12581:6;12562:26;;;;;;:::i;:::-;;;;;;;;12601:37;12621:4;12627:2;12631:6;12601:19;:37::i;:::-;12083:563;11971:675;;;:::o;22844:1393::-;22897:23;22923:24;22941:4;22923:9;:24::i;:::-;22897:50;;22958:20;23015:1;22996:15;:20;22992:59;;23033:7;;;;22992:59;23083:1;23071:7;;23064:6;;:14;;;;:::i;:::-;23063:21;23059:1130;;23120:1;23102:15;:19;:59;;;;;23143:18;;23125:15;:36;23102:59;23099:443;;;23193:15;23178:30;;23099:443;;;23250:21;23274:28;23298:3;23274:19;23285:7;;23274:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;23250:52;;23327:13;23317:23;;;;;:::i;:::-;;;23368:18;;23359:6;:27;23355:176;;;23422:18;;23407:33;;23355:176;;;23509:6;23494:21;;23355:176;23235:307;23099:443;23059:1130;;;23596:1;23578:15;:19;:66;;;;;23619:25;23642:1;23619:18;;:22;;:25;;;;:::i;:::-;23601:15;:43;23578:66;23575:607;;;23661:7;;;;23575:607;23716:1;23698:15;:19;:66;;;;;23739:25;23762:1;23739:18;;:22;;:25;;;;:::i;:::-;23721:15;:43;23698:66;:106;;;;;23786:18;;23768:15;:36;23698:106;23694:488;;;23836:25;23859:1;23836:18;;:22;;:25;;;;:::i;:::-;23821:40;;23694:488;;;23903:21;23927:28;23951:3;23927:19;23938:7;;23927:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;23903:52;;23980:13;23970:23;;;;;:::i;:::-;;;24021:18;;24012:6;:27;24008:163;;;24075:18;;24060:33;;24008:163;;;24149:6;24134:21;;24008:163;23888:294;23694:488;23059:1130;24199:30;24216:12;24199:16;:30::i;:::-;22886:1351;;22844:1393;;:::o;6474:98::-;6532:7;6563:1;6559;:5;;;;:::i;:::-;6552:12;;6474:98;;;;:::o;6580:::-;6638:7;6669:1;6665;:5;;;;:::i;:::-;6658:12;;6580:98;;;;:::o;14549:125::-;;;;:::o;14682:124::-;;;;:::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;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:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:474::-;5149:6;5157;5206:2;5194:9;5185:7;5181:23;5177:32;5174:119;;;5212:79;;:::i;:::-;5174:119;5332:1;5357:53;5402:7;5393:6;5382:9;5378:22;5357:53;:::i;:::-;5347:63;;5303:117;5459:2;5485:53;5530:7;5521:6;5510:9;5506:22;5485:53;:::i;:::-;5475:63;;5430:118;5081:474;;;;;:::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:118::-;6616:24;6634:5;6616:24;:::i;:::-;6611:3;6604:37;6529:118;;:::o;6653:222::-;6746:4;6784:2;6773:9;6769:18;6761:26;;6797:71;6865:1;6854:9;6850:17;6841:6;6797:71;:::i;:::-;6653:222;;;;:::o;6881:116::-;6951:21;6966:5;6951:21;:::i;:::-;6944:5;6941:32;6931:60;;6987:1;6984;6977:12;6931:60;6881:116;:::o;7003:133::-;7046:5;7084:6;7071:20;7062:29;;7100:30;7124:5;7100:30;:::i;:::-;7003:133;;;;:::o;7142:468::-;7207:6;7215;7264:2;7252:9;7243:7;7239:23;7235:32;7232:119;;;7270:79;;:::i;:::-;7232:119;7390:1;7415:53;7460:7;7451:6;7440:9;7436:22;7415:53;:::i;:::-;7405:63;;7361:117;7517:2;7543:50;7585:7;7576:6;7565:9;7561:22;7543:50;:::i;:::-;7533:60;;7488:115;7142:468;;;;;:::o;7616:329::-;7675:6;7724:2;7712:9;7703:7;7699:23;7695:32;7692:119;;;7730:79;;:::i;:::-;7692:119;7850:1;7875:53;7920:7;7911:6;7900:9;7896:22;7875:53;:::i;:::-;7865:63;;7821:117;7616:329;;;;:::o;7951:474::-;8019:6;8027;8076:2;8064:9;8055:7;8051:23;8047:32;8044:119;;;8082:79;;:::i;:::-;8044:119;8202:1;8227:53;8272:7;8263:6;8252:9;8248:22;8227:53;:::i;:::-;8217:63;;8173:117;8329:2;8355:53;8400:7;8391:6;8380:9;8376:22;8355:53;:::i;:::-;8345:63;;8300:118;7951:474;;;;;:::o;8431:180::-;8479:77;8476:1;8469:88;8576:4;8573:1;8566:15;8600:4;8597:1;8590:15;8617:320;8661:6;8698:1;8692:4;8688:12;8678:22;;8745:1;8739:4;8735:12;8766:18;8756:81;;8822:4;8814:6;8810:17;8800:27;;8756:81;8884:2;8876:6;8873:14;8853:18;8850:38;8847:84;;8903:18;;:::i;:::-;8847:84;8668:269;8617:320;;;:::o;8943:143::-;9000:5;9031:6;9025:13;9016:22;;9047:33;9074:5;9047:33;:::i;:::-;8943:143;;;;:::o;9092:351::-;9162:6;9211:2;9199:9;9190:7;9186:23;9182:32;9179:119;;;9217:79;;:::i;:::-;9179:119;9337:1;9362:64;9418:7;9409:6;9398:9;9394:22;9362:64;:::i;:::-;9352:74;;9308:128;9092:351;;;;:::o;9449:168::-;9589:20;9585:1;9577:6;9573:14;9566:44;9449:168;:::o;9623:366::-;9765:3;9786:67;9850:2;9845:3;9786:67;:::i;:::-;9779:74;;9862:93;9951:3;9862:93;:::i;:::-;9980:2;9975:3;9971:12;9964:19;;9623:366;;;:::o;9995:419::-;10161:4;10199:2;10188:9;10184:18;10176:26;;10248:9;10242:4;10238:20;10234:1;10223:9;10219:17;10212:47;10276:131;10402:4;10276:131;:::i;:::-;10268:139;;9995:419;;;:::o;10420:332::-;10541:4;10579:2;10568:9;10564:18;10556:26;;10592:71;10660:1;10649:9;10645:17;10636:6;10592:71;:::i;:::-;10673:72;10741:2;10730:9;10726:18;10717:6;10673:72;:::i;:::-;10420:332;;;;;:::o;10758:137::-;10812:5;10843:6;10837:13;10828:22;;10859:30;10883:5;10859:30;:::i;:::-;10758:137;;;;:::o;10901:345::-;10968:6;11017:2;11005:9;10996:7;10992:23;10988:32;10985:119;;;11023:79;;:::i;:::-;10985:119;11143:1;11168:61;11221:7;11212:6;11201:9;11197:22;11168:61;:::i;:::-;11158:71;;11114:125;10901:345;;;;:::o;11252:180::-;11300:77;11297:1;11290:88;11397:4;11394:1;11387:15;11421:4;11418:1;11411:15;11438:191;11478:3;11497:20;11515:1;11497:20;:::i;:::-;11492:25;;11531:20;11549:1;11531:20;:::i;:::-;11526:25;;11574:1;11571;11567:9;11560:16;;11595:3;11592:1;11589:10;11586:36;;;11602:18;;:::i;:::-;11586:36;11438:191;;;;:::o;11635:172::-;11775:24;11771:1;11763:6;11759:14;11752:48;11635:172;:::o;11813:366::-;11955:3;11976:67;12040:2;12035:3;11976:67;:::i;:::-;11969:74;;12052:93;12141:3;12052:93;:::i;:::-;12170:2;12165:3;12161:12;12154:19;;11813:366;;;:::o;12185:419::-;12351:4;12389:2;12378:9;12374:18;12366:26;;12438:9;12432:4;12428:20;12424:1;12413:9;12409:17;12402:47;12466:131;12592:4;12466:131;:::i;:::-;12458:139;;12185:419;;;:::o;12610:172::-;12750:24;12746:1;12738:6;12734:14;12727:48;12610:172;:::o;12788:366::-;12930:3;12951:67;13015:2;13010:3;12951:67;:::i;:::-;12944:74;;13027:93;13116:3;13027:93;:::i;:::-;13145:2;13140:3;13136:12;13129:19;;12788:366;;;:::o;13160:419::-;13326:4;13364:2;13353:9;13349:18;13341:26;;13413:9;13407:4;13403:20;13399:1;13388:9;13384:17;13377:47;13441:131;13567:4;13441:131;:::i;:::-;13433:139;;13160:419;;;:::o;13585:244::-;13725:34;13721:1;13713:6;13709:14;13702:58;13794:27;13789:2;13781:6;13777:15;13770:52;13585:244;:::o;13835:366::-;13977:3;13998:67;14062:2;14057:3;13998:67;:::i;:::-;13991:74;;14074:93;14163:3;14074:93;:::i;:::-;14192:2;14187:3;14183:12;14176:19;;13835:366;;;:::o;14207:419::-;14373:4;14411:2;14400:9;14396:18;14388:26;;14460:9;14454:4;14450:20;14446:1;14435:9;14431:17;14424:47;14488:131;14614:4;14488:131;:::i;:::-;14480:139;;14207:419;;;:::o;14632:224::-;14772:34;14768:1;14760:6;14756:14;14749:58;14841:7;14836:2;14828:6;14824:15;14817:32;14632:224;:::o;14862:366::-;15004:3;15025:67;15089:2;15084:3;15025:67;:::i;:::-;15018:74;;15101:93;15190:3;15101:93;:::i;:::-;15219:2;15214:3;15210:12;15203:19;;14862:366;;;:::o;15234:419::-;15400:4;15438:2;15427:9;15423:18;15415:26;;15487:9;15481:4;15477:20;15473:1;15462:9;15458:17;15451:47;15515:131;15641:4;15515:131;:::i;:::-;15507:139;;15234:419;;;:::o;15659:410::-;15699:7;15722:20;15740:1;15722:20;:::i;:::-;15717:25;;15756:20;15774:1;15756:20;:::i;:::-;15751:25;;15811:1;15808;15804:9;15833:30;15851:11;15833:30;:::i;:::-;15822:41;;16012:1;16003:7;15999:15;15996:1;15993:22;15973:1;15966:9;15946:83;15923:139;;16042:18;;:::i;:::-;15923:139;15707:362;15659:410;;;;:::o;16075:180::-;16123:77;16120:1;16113:88;16220:4;16217:1;16210:15;16244:4;16241:1;16234:15;16261:185;16301:1;16318:20;16336:1;16318:20;:::i;:::-;16313:25;;16352:20;16370:1;16352:20;:::i;:::-;16347:25;;16391:1;16381:35;;16396:18;;:::i;:::-;16381:35;16438:1;16435;16431:9;16426:14;;16261:185;;;;:::o;16452:223::-;16592:34;16588:1;16580:6;16576:14;16569:58;16661:6;16656:2;16648:6;16644:15;16637:31;16452:223;:::o;16681:366::-;16823:3;16844:67;16908:2;16903:3;16844:67;:::i;:::-;16837:74;;16920:93;17009:3;16920:93;:::i;:::-;17038:2;17033:3;17029:12;17022:19;;16681:366;;;:::o;17053:419::-;17219:4;17257:2;17246:9;17242:18;17234:26;;17306:9;17300:4;17296:20;17292:1;17281:9;17277:17;17270:47;17334:131;17460:4;17334:131;:::i;:::-;17326:139;;17053:419;;;:::o;17478:225::-;17618:34;17614:1;17606:6;17602:14;17595:58;17687:8;17682:2;17674:6;17670:15;17663:33;17478:225;:::o;17709:366::-;17851:3;17872:67;17936:2;17931:3;17872:67;:::i;:::-;17865:74;;17948:93;18037:3;17948:93;:::i;:::-;18066:2;18061:3;18057:12;18050:19;;17709:366;;;:::o;18081:419::-;18247:4;18285:2;18274:9;18270:18;18262:26;;18334:9;18328:4;18324:20;18320:1;18309:9;18305:17;18298:47;18362:131;18488:4;18362:131;:::i;:::-;18354:139;;18081:419;;;:::o;18506:223::-;18646:34;18642:1;18634:6;18630:14;18623:58;18715:6;18710:2;18702:6;18698:15;18691:31;18506:223;:::o;18735:366::-;18877:3;18898:67;18962:2;18957:3;18898:67;:::i;:::-;18891:74;;18974:93;19063:3;18974:93;:::i;:::-;19092:2;19087:3;19083:12;19076:19;;18735:366;;;:::o;19107:419::-;19273:4;19311:2;19300:9;19296:18;19288:26;;19360:9;19354:4;19350:20;19346:1;19335:9;19331:17;19324:47;19388:131;19514:4;19388:131;:::i;:::-;19380:139;;19107:419;;;:::o;19532:221::-;19672:34;19668:1;19660:6;19656:14;19649:58;19741:4;19736:2;19728:6;19724:15;19717:29;19532:221;:::o;19759:366::-;19901:3;19922:67;19986:2;19981:3;19922:67;:::i;:::-;19915:74;;19998:93;20087:3;19998:93;:::i;:::-;20116:2;20111:3;20107:12;20100:19;;19759:366;;;:::o;20131:419::-;20297:4;20335:2;20324:9;20320:18;20312:26;;20384:9;20378:4;20374:20;20370:1;20359:9;20355:17;20348:47;20412:131;20538:4;20412:131;:::i;:::-;20404:139;;20131:419;;;:::o;20556:179::-;20696:31;20692:1;20684:6;20680:14;20673:55;20556:179;:::o;20741:366::-;20883:3;20904:67;20968:2;20963:3;20904:67;:::i;:::-;20897:74;;20980:93;21069:3;20980:93;:::i;:::-;21098:2;21093:3;21089:12;21082:19;;20741:366;;;:::o;21113:419::-;21279:4;21317:2;21306:9;21302:18;21294:26;;21366:9;21360:4;21356:20;21352:1;21341:9;21337:17;21330:47;21394:131;21520:4;21394:131;:::i;:::-;21386:139;;21113:419;;;:::o;21538:224::-;21678:34;21674:1;21666:6;21662:14;21655:58;21747:7;21742:2;21734:6;21730:15;21723:32;21538:224;:::o;21768:366::-;21910:3;21931:67;21995:2;21990:3;21931:67;:::i;:::-;21924:74;;22007:93;22096:3;22007:93;:::i;:::-;22125:2;22120:3;22116:12;22109:19;;21768:366;;;:::o;22140:419::-;22306:4;22344:2;22333:9;22329:18;22321:26;;22393:9;22387:4;22383:20;22379:1;22368:9;22364:17;22357:47;22421:131;22547:4;22421:131;:::i;:::-;22413:139;;22140:419;;;:::o;22565:222::-;22705:34;22701:1;22693:6;22689:14;22682:58;22774:5;22769:2;22761:6;22757:15;22750:30;22565:222;:::o;22793:366::-;22935:3;22956:67;23020:2;23015:3;22956:67;:::i;:::-;22949:74;;23032:93;23121:3;23032:93;:::i;:::-;23150:2;23145:3;23141:12;23134:19;;22793:366;;;:::o;23165:419::-;23331:4;23369:2;23358:9;23354:18;23346:26;;23418:9;23412:4;23408:20;23404:1;23393:9;23389:17;23382:47;23446:131;23572:4;23446:131;:::i;:::-;23438:139;;23165:419;;;:::o;23590:172::-;23730:24;23726:1;23718:6;23714:14;23707:48;23590:172;:::o;23768:366::-;23910:3;23931:67;23995:2;23990:3;23931:67;:::i;:::-;23924:74;;24007:93;24096:3;24007:93;:::i;:::-;24125:2;24120:3;24116:12;24109:19;;23768:366;;;:::o;24140:419::-;24306:4;24344:2;24333:9;24329:18;24321:26;;24393:9;24387:4;24383:20;24379:1;24368:9;24364:17;24357:47;24421:131;24547:4;24421:131;:::i;:::-;24413:139;;24140:419;;;:::o;24565:240::-;24705:34;24701:1;24693:6;24689:14;24682:58;24774:23;24769:2;24761:6;24757:15;24750:48;24565:240;:::o;24811:366::-;24953:3;24974:67;25038:2;25033:3;24974:67;:::i;:::-;24967:74;;25050:93;25139:3;25050:93;:::i;:::-;25168:2;25163:3;25159:12;25152:19;;24811:366;;;:::o;25183:419::-;25349:4;25387:2;25376:9;25372:18;25364:26;;25436:9;25430:4;25426:20;25422:1;25411:9;25407:17;25400:47;25464:131;25590:4;25464:131;:::i;:::-;25456:139;;25183:419;;;:::o;25608:169::-;25748:21;25744:1;25736:6;25732:14;25725:45;25608:169;:::o;25783:366::-;25925:3;25946:67;26010:2;26005:3;25946:67;:::i;:::-;25939:74;;26022:93;26111:3;26022:93;:::i;:::-;26140:2;26135:3;26131:12;26124:19;;25783:366;;;:::o;26155:419::-;26321:4;26359:2;26348:9;26344:18;26336:26;;26408:9;26402:4;26398:20;26394:1;26383:9;26379:17;26372:47;26436:131;26562:4;26436:131;:::i;:::-;26428:139;;26155:419;;;:::o;26580:241::-;26720:34;26716:1;26708:6;26704:14;26697:58;26789:24;26784:2;26776:6;26772:15;26765:49;26580:241;:::o;26827:366::-;26969:3;26990:67;27054:2;27049:3;26990:67;:::i;:::-;26983:74;;27066:93;27155:3;27066:93;:::i;:::-;27184:2;27179:3;27175:12;27168:19;;26827:366;;;:::o;27199:419::-;27365:4;27403:2;27392:9;27388:18;27380:26;;27452:9;27446:4;27442:20;27438:1;27427:9;27423:17;27416:47;27480:131;27606:4;27480:131;:::i;:::-;27472:139;;27199:419;;;:::o;27624:194::-;27664:4;27684:20;27702:1;27684:20;:::i;:::-;27679:25;;27718:20;27736:1;27718:20;:::i;:::-;27713:25;;27762:1;27759;27755:9;27747:17;;27786:1;27780:4;27777:11;27774:37;;;27791:18;;:::i;:::-;27774:37;27624:194;;;;:::o;27824:182::-;27964:34;27960:1;27952:6;27948:14;27941:58;27824:182;:::o;28012:366::-;28154:3;28175:67;28239:2;28234:3;28175:67;:::i;:::-;28168:74;;28251:93;28340:3;28251:93;:::i;:::-;28369:2;28364:3;28360:12;28353:19;;28012:366;;;:::o;28384:419::-;28550:4;28588:2;28577:9;28573:18;28565:26;;28637:9;28631:4;28627:20;28623:1;28612:9;28608:17;28601:47;28665:131;28791:4;28665:131;:::i;:::-;28657:139;;28384:419;;;:::o;28809:180::-;28857:77;28854:1;28847:88;28954:4;28951:1;28944:15;28978:4;28975:1;28968:15;28995:180;29043:77;29040:1;29033:88;29140:4;29137:1;29130:15;29164:4;29161:1;29154:15;29181:143;29238:5;29269:6;29263:13;29254:22;;29285:33;29312:5;29285:33;:::i;:::-;29181:143;;;;:::o;29330:351::-;29400:6;29449:2;29437:9;29428:7;29424:23;29420:32;29417:119;;;29455:79;;:::i;:::-;29417:119;29575:1;29600:64;29656:7;29647:6;29636:9;29632:22;29600:64;:::i;:::-;29590:74;;29546:128;29330:351;;;;:::o;29687:85::-;29732:7;29761:5;29750:16;;29687:85;;;:::o;29778:158::-;29836:9;29869:61;29887:42;29896:32;29922:5;29896:32;:::i;:::-;29887:42;:::i;:::-;29869:61;:::i;:::-;29856:74;;29778:158;;;:::o;29942:147::-;30037:45;30076:5;30037:45;:::i;:::-;30032:3;30025:58;29942:147;;:::o;30095:114::-;30162:6;30196:5;30190:12;30180:22;;30095:114;;;:::o;30215:184::-;30314:11;30348:6;30343:3;30336:19;30388:4;30383:3;30379:14;30364:29;;30215:184;;;;:::o;30405:132::-;30472:4;30495:3;30487:11;;30525:4;30520:3;30516:14;30508:22;;30405:132;;;:::o;30543:108::-;30620:24;30638:5;30620:24;:::i;:::-;30615:3;30608:37;30543:108;;:::o;30657:179::-;30726:10;30747:46;30789:3;30781:6;30747:46;:::i;:::-;30825:4;30820:3;30816:14;30802:28;;30657:179;;;;:::o;30842:113::-;30912:4;30944;30939:3;30935:14;30927:22;;30842:113;;;:::o;30991:732::-;31110:3;31139:54;31187:5;31139:54;:::i;:::-;31209:86;31288:6;31283:3;31209:86;:::i;:::-;31202:93;;31319:56;31369:5;31319:56;:::i;:::-;31398:7;31429:1;31414:284;31439:6;31436:1;31433:13;31414:284;;;31515:6;31509:13;31542:63;31601:3;31586:13;31542:63;:::i;:::-;31535:70;;31628:60;31681:6;31628:60;:::i;:::-;31618:70;;31474:224;31461:1;31458;31454:9;31449:14;;31414:284;;;31418:14;31714:3;31707:10;;31115:608;;;30991:732;;;;:::o;31729:831::-;31992:4;32030:3;32019:9;32015:19;32007:27;;32044:71;32112:1;32101:9;32097:17;32088:6;32044:71;:::i;:::-;32125:80;32201:2;32190:9;32186:18;32177:6;32125:80;:::i;:::-;32252:9;32246:4;32242:20;32237:2;32226:9;32222:18;32215:48;32280:108;32383:4;32374:6;32280:108;:::i;:::-;32272:116;;32398:72;32466:2;32455:9;32451:18;32442:6;32398:72;:::i;:::-;32480:73;32548:3;32537:9;32533:19;32524:6;32480:73;:::i;:::-;31729:831;;;;;;;;:::o;32566:225::-;32706:34;32702:1;32694:6;32690:14;32683:58;32775:8;32770:2;32762:6;32758:15;32751:33;32566:225;:::o;32797:366::-;32939:3;32960:67;33024:2;33019:3;32960:67;:::i;:::-;32953:74;;33036:93;33125:3;33036:93;:::i;:::-;33154:2;33149:3;33145:12;33138:19;;32797:366;;;:::o;33169:419::-;33335:4;33373:2;33362:9;33358:18;33350:26;;33422:9;33416:4;33412:20;33408:1;33397:9;33393:17;33386:47;33450:131;33576:4;33450:131;:::i;:::-;33442:139;;33169:419;;;:::o

Swarm Source

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