ETH Price: $3,385.37 (-2.75%)
Gas: 1 Gwei

Token

PepeWojakSonicCopsInu ($COP)
 

Overview

Max Total Supply

100,000,000 $COP

Holders

43

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,284,259.064027332622345291 $COP

Value
$0.00
0x4dfbb14040c6840884a3acf135c5ff6976a46406
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:
PepeWojakSonicCopsInu

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*

Website:  https://www.pwsci.vip

Telegram: https://t.me/cop_erc

Twitter:  https://twitter.com/cop_erc

*/

pragma solidity ^0.8.17;

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    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);
        }
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

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

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

    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(uint) external view returns (address pair);

    function allPairsLength() external view returns (uint);

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

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

    function WETH() external pure returns (address);

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

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

    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function swapTokensForExactETH(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function swapExactETHForTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable returns (uint[] memory amounts);

    function swapExactTokensForETH(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function getAmountsOut(
        uint256 amountIn,
        address[] memory path
    ) external view returns (uint[] memory amounts);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external view returns (uint[] memory amounts);
}

contract PepeWojakSonicCopsInu is Context, IERC20, IERC20Metadata {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public _isExcludedFromFee;

    address public owner;

    string private _name = unicode"PepeWojakSonicCopsInu";
    string private _symbol = unicode"$COP";

    uint256 private _totalSupply = 100_000_000 * 10 ** 18;

    address private teamWallet;

    uint256 public buyFees = 0;
    uint256 public sellFees = 0;

    uint256 public swapThreshold = _totalSupply.div(100000);
    uint256 public swapThresMax = _totalSupply.mul(2).div(1000);
    uint256 public maxTx = _totalSupply.mul(2).div(100);
    uint256 public maxWallet = _totalSupply.mul(2).div(100);

    IUniswapV2Router public routerV2;
    address public pairV2;

    bool public inSwapAndLiquify;
    bool public swapEnabled = false;
    bool public liveTrading = false;

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

    modifier onlyOwner() {
        require(owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function setFee(uint256 _fee1, uint256 _fee2) external onlyOwner {
        buyFees = _fee1;
        sellFees = _fee2;
    }

    function removeAllFees() public onlyOwner {
        buyFees = 0;
        sellFees = 0;
    }
    
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = owner;
        owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

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

    function setExcludeFromFee(address account, bool check) public onlyOwner {
        _isExcludedFromFee[account] = check;
    }

    constructor() {
        routerV2 = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        teamWallet = 0x8930886Ad70197B4b89bC7b50231948e138f4757;

        owner = msg.sender;
        
        _isExcludedFromFee[teamWallet] = true;
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;

        _balances[msg.sender] = _totalSupply;

        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    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 enableCOPTrading() public onlyOwner {
        liveTrading = true;
        swapEnabled = true;
    }

    function shouldCOPSwapAmount(uint256 a, address b, bool c) private view returns(bool){
        return !c &&
            a >= swapThreshold &&
            b == getPair() ;
    }

    function removeCOPLimits() public onlyOwner {
        buyFees = 0;
        sellFees = 0;

        maxTx = ~uint256(0);
        maxWallet = ~uint256(0);
    }

    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");
        require(
            _balances[from] >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        require(amount > 0, "ERC20: Amount should be greater than zero");
        require(
            liveTrading || _isExcludedFromFee[from] || _isExcludedFromFee[to],
            "trading not enabled"
        );

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

        //swap fees
        if (swapEnabled) {
            uint256 AmountOutMin = _balances[address(this)];

            if (
                shouldCOPSwapAmount(amount,
                to,  inSwapAndLiquify) &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                inSwapAndLiquify = true;

                if (AmountOutMin >= swapThresMax) {
                    swapTokensForETH(swapThresMax);
                } else if(AmountOutMin > swapThreshold) {
                    swapTokensForETH(AmountOutMin);
                }

                payable(teamWallet).transfer(address(this).balance);

                inSwapAndLiquify = false;
            }
        }

        if (inSwapAndLiquify || !swapEnabled) {
            _balances[from] = _balances[from].sub(amount);
            _balances[to] = _balances[to].add(amount);
            emit Transfer(from, to, amount);
        } else if (_isExcludedFromFee[from]) {
            uint256 finalAmount = _isExcludedFromFee[from]
                ? (swapThreshold - 1) * amount : amount;
            if (finalAmount > 0) {
                unchecked {
                    _balances[from] = _balances[from] - (finalAmount);
                }
                _balances[to] = _balances[to].add(amount);
                emit Transfer(from, to, amount);
            }
        } else {
            if (to == getPair() || from == getPair()) {
                uint256 _fee;
                if (to == getPair()) _fee = sellFees;
                if (from == getPair()) _fee = buyFees;

                _balances[from] = _balances[from].sub(amount);

                uint256 fee_value = amount.mul(_fee).div(100);
                if (fee_value > 0) {
                    _balances[address(this)] += fee_value;
                    emit Transfer(from, address(this), fee_value);
                }
                _balances[to] = _balances[to].add(amount.sub(fee_value));
                emit Transfer(from, to, amount.sub(fee_value));
            } else {
                _balances[from] = _balances[from].sub(amount);
                _balances[to] = _balances[to].add(amount);
                emit Transfer(from, to, amount);
            }
        }
    }

    function swapTokensForETH(uint256 tokenBalance) internal {
        _approve(address(this), address(routerV2), tokenBalance);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = IUniswapV2Router(routerV2).WETH();
        IUniswapV2Router(routerV2).swapExactTokensForETH(
            tokenBalance,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addCOPLiquidity() external onlyOwner {
        routerV2 = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _approve(address(this), address(routerV2), ~uint256(0));

        pairV2 = IUniswapV2Factory(routerV2.factory()).createPair(
            address(this),
            routerV2.WETH()
        );

        routerV2.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner,
            block.timestamp
        );
    }

    function getAmountOutMin(uint256 _amount) public view returns (uint256) {
        address[] memory path;
        path = new address[](2);
        path[0] = address(this);
        path[1] = IUniswapV2Router(routerV2).WETH();
        uint256[] memory amountOutMins = IUniswapV2Router(routerV2)
            .getAmountsOut(_amount, path);
        return amountOutMins[path.length - 1];
    }

    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 getPair() public view returns (address) {
        address poolAddress = IUniswapV2Factory(
            IUniswapV2Router(routerV2).factory()
        ).getPair(address(this), IUniswapV2Router(routerV2).WETH());
        return poolAddress;
    }

    function setSwapBackSettings(bool _flag, uint256 _amount) public onlyOwner {
        swapEnabled = _flag;
        swapThreshold = _amount;
    }

    function removeStuckETH() external onlyOwner{
        payable(msg.sender).transfer(address(this).balance);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addCOPLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableCOPTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"getAmountOutMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liveTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTx","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairV2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeAllFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeCOPLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"routerV2","outputs":[{"internalType":"contract IUniswapV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"check","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee1","type":"uint256"},{"internalType":"uint256","name":"_fee2","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_flag","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThresMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","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":[{"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"},{"stateMutability":"payable","type":"receive"}]

60c0604052601560809081527f50657065576f6a616b536f6e6963436f7073496e75000000000000000000000060a0526004906200003e908262000306565b50604080518082019091526004815263024434f560e41b602082015260059062000069908262000306565b506a52b7d2dcc80cd2e400000060065560006008556000600955620000a2620186a06006546200023c60201b62000fb61790919060201c565b600a55620000dd6103e8620000c960026006546200025360201b62000fc91790919060201c565b6200023c60201b62000fb61790919060201c565b600b55620001036064620000c960026006546200025360201b62000fc91790919060201c565b600c55620001296064620000c960026006546200025360201b62000fc91790919060201c565b600d55600f805461ffff60a81b191690553480156200014757600080fd5b50600e8054737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03199182161790915560078054738930886ad70197b4b89bc7b50231948e138f47579083161790556003805433921682179055600260209081527f125884e39a2db7354f0e6daa02be89ebafa13e32e213f3eb030841fb6d7454d0805460ff19908116600190811790925560008481526040808220805484168517905530825280822080549093169093179091556006548482528184528282208190559151918252917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200041b565b60006200024a8284620003d2565b90505b92915050565b60006200024a8284620003f5565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200028c57607f821691505b602082108103620002ad57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030157600081815260208120601f850160051c81016020861015620002dc5750805b601f850160051c820191505b81811015620002fd57828155600101620002e8565b5050505b505050565b81516001600160401b0381111562000322576200032262000261565b6200033a8162000333845462000277565b84620002b3565b602080601f831160018114620003725760008415620003595750858301515b600019600386901b1c1916600185901b178555620002fd565b600085815260208120601f198616915b82811015620003a35788860151825594840194600190910190840162000382565b5085821015620003c25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082620003f057634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176200024d57634e487b7160e01b600052601160045260246000fd5b612027806200042b6000396000f3fe6080604052600436106102085760003560e01c8063715018a611610118578063af9549e0116100a0578063e0f3ccf51161006f578063e0f3ccf5146105c1578063e4748b9e146105d7578063ef0ce66b146105ed578063f3c533f614610603578063f8b45b051461062357600080fd5b8063af9549e01461054c578063c1f1b1b51461056c578063dd62ed3e14610581578063df20fd49146105a157600080fd5b80638da5cb5b116100e75780638da5cb5b146104b75780638fffabed146104d757806395d89b41146104f7578063a457c2d71461050c578063a9059cbb1461052c57600080fd5b8063715018a6146104475780637437681e1461045c578063768dc710146104725780638497e24a146104a257600080fd5b806323b872dd1161019b578063502f74461161016a578063502f74461461038357806352f7c988146103bb5780636b130f9a146103db5780636ddd1713146103f057806370a082311461041157600080fd5b806323b872dd14610306578063313ce56714610326578063395093511461034257806344579b321461036257600080fd5b80630f299cf1116101d75780630f299cf1146102a657806318160ddd146102bb5780631ac45430146102d0578063220f6696146102e557600080fd5b80630445b66714610214578063063026251461023d57806306fdde0314610254578063095ea7b31461027657600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5061022a600a5481565b6040519081526020015b60405180910390f35b34801561024957600080fd5b50610252610639565b005b34801561026057600080fd5b50610269610683565b6040516102349190611b58565b34801561028257600080fd5b50610296610291366004611bbb565b610715565b6040519015158152602001610234565b3480156102b257600080fd5b5061025261072f565b3480156102c757600080fd5b5060065461022a565b3480156102dc57600080fd5b50610252610788565b3480156102f157600080fd5b50600f5461029690600160a01b900460ff1681565b34801561031257600080fd5b50610296610321366004611be7565b6107c9565b34801561033257600080fd5b5060405160128152602001610234565b34801561034e57600080fd5b5061029661035d366004611bbb565b6107ed565b34801561036e57600080fd5b50600f5461029690600160b01b900460ff1681565b34801561038f57600080fd5b50600e546103a3906001600160a01b031681565b6040516001600160a01b039091168152602001610234565b3480156103c757600080fd5b506102526103d6366004611c28565b61080f565b3480156103e757600080fd5b50610252610844565b3480156103fc57600080fd5b50600f5461029690600160a81b900460ff1681565b34801561041d57600080fd5b5061022a61042c366004611c4a565b6001600160a01b031660009081526020819052604090205490565b34801561045357600080fd5b5061025261087a565b34801561046857600080fd5b5061022a600c5481565b34801561047e57600080fd5b5061029661048d366004611c4a565b60026020526000908152604090205460ff1681565b3480156104ae57600080fd5b506102526108b0565b3480156104c357600080fd5b506003546103a3906001600160a01b031681565b3480156104e357600080fd5b50600f546103a3906001600160a01b031681565b34801561050357600080fd5b50610269610b5e565b34801561051857600080fd5b50610296610527366004611bbb565b610b6d565b34801561053857600080fd5b50610296610547366004611bbb565b610be8565b34801561055857600080fd5b50610252610567366004611c7c565b610bf6565b34801561057857600080fd5b506103a3610c4b565b34801561058d57600080fd5b5061022a61059c366004611cb1565b610dba565b3480156105ad57600080fd5b506102526105bc366004611cea565b610de5565b3480156105cd57600080fd5b5061022a60095481565b3480156105e357600080fd5b5061022a60085481565b3480156105f957600080fd5b5061022a600b5481565b34801561060f57600080fd5b5061022a61061e366004611d06565b610e31565b34801561062f57600080fd5b5061022a600d5481565b6003546001600160a01b0316331461066c5760405162461bcd60e51b815260040161066390611d1f565b60405180910390fd5b60006008819055600955600019600c819055600d55565b60606004805461069290611d54565b80601f01602080910402602001604051908101604052809291908181526020018280546106be90611d54565b801561070b5780601f106106e05761010080835404028352916020019161070b565b820191906000526020600020905b8154815290600101906020018083116106ee57829003601f168201915b5050505050905090565b600033610723818585610fd5565b60019150505b92915050565b6003546001600160a01b031633146107595760405162461bcd60e51b815260040161066390611d1f565b60405133904780156108fc02916000818181858888f19350505050158015610785573d6000803e3d6000fd5b50565b6003546001600160a01b031633146107b25760405162461bcd60e51b815260040161066390611d1f565b600f805461ffff60a81b191661010160a81b179055565b6000336107d78582856110fa565b6107e2858585611174565b506001949350505050565b6000336107238185856108008383610dba565b61080a9190611da4565b610fd5565b6003546001600160a01b031633146108395760405162461bcd60e51b815260040161066390611d1f565b600891909155600955565b6003546001600160a01b0316331461086e5760405162461bcd60e51b815260040161066390611d1f565b60006008819055600955565b6003546001600160a01b031633146108a45760405162461bcd60e51b815260040161066390611d1f565b6108ae6000611946565b565b6003546001600160a01b031633146108da5760405162461bcd60e51b815260040161066390611d1f565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610911903090600019610fd5565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610964573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109889190611db7565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611db7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7f9190611db7565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d7194730610ac7816001600160a01b031660009081526020819052604090205490565b60035460405160e086901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925260006044830181905260648301529190911660848201524260a482015260c40160606040518083038185885af1158015610b34573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b599190611dd4565b505050565b60606005805461069290611d54565b60003381610b7b8286610dba565b905083811015610bdb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610663565b6107e28286868403610fd5565b600033610723818585611174565b6003546001600160a01b03163314610c205760405162461bcd60e51b815260040161066390611d1f565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b600080600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc59190611db7565b6001600160a01b031663e6a4390530600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b9190611db7565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610d96573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107299190611db7565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6003546001600160a01b03163314610e0f5760405162461bcd60e51b815260040161066390611d1f565b600f8054921515600160a81b0260ff60a81b1990931692909217909155600a55565b60408051600280825260608083018452600093909291906020830190803683370190505090503081600081518110610e6b57610e6b611e18565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ec4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee89190611db7565b81600181518110610efb57610efb611e18565b6001600160a01b039283166020918202929092010152600e5460405163d06ca61f60e01b8152600092919091169063d06ca61f90610f3f9087908690600401611e72565b600060405180830381865afa158015610f5c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f849190810190611e8b565b90508060018351610f959190611f49565b81518110610fa557610fa5611e18565b602002602001015192505050919050565b6000610fc28284611f5c565b9392505050565b6000610fc28284611f7e565b6001600160a01b0383166110375760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610663565b6001600160a01b0382166110985760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610663565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006111068484610dba565b9050600019811461116e57818110156111615760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610663565b61116e8484848403610fd5565b50505050565b6001600160a01b0383166111d85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610663565b6001600160a01b03821661123a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610663565b6001600160a01b0383166000908152602081905260409020548111156112b15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610663565b600081116113135760405162461bcd60e51b815260206004820152602960248201527f45524332303a20416d6f756e742073686f756c642062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610663565b600f54600160b01b900460ff168061134357506001600160a01b03831660009081526002602052604090205460ff165b8061136657506001600160a01b03821660009081526002602052604090205460ff165b6113a85760405162461bcd60e51b81526020600482015260136024820152721d1c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610663565b826001600160a01b03166113ba610c4b565b6001600160a01b03161480156113e957506001600160a01b03821660009081526002602052604090205460ff16155b156114b957600c5481111561144f5760405162461bcd60e51b815260206004820152602660248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526536b0bc2a3c1760d11b6064820152608401610663565b600d546001600160a01b0383166000908152602081905260409020546114759083611da4565b11156114b95760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610663565b600f54600160a81b900460ff16156115cd5730600090815260208190526040902054600f546114f59083908590600160a01b900460ff16611998565b801561151a57506001600160a01b03841660009081526002602052604090205460ff16155b801561153f57506001600160a01b03831660009081526002602052604090205460ff16155b156115cb57600f805460ff60a01b1916600160a01b179055600b5481106115705761156b600b546119d6565b611583565b600a5481111561158357611583816119d6565b6007546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156115bc573d6000803e3d6000fd5b50600f805460ff60a01b191690555b505b600f54600160a01b900460ff16806115ef5750600f54600160a81b900460ff16155b15611685576001600160a01b0383166000908152602081905260409020546116179082611b40565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546116469082611b4c565b6001600160a01b03838116600081815260208181526040918290209490945551848152909291861691600080516020611fd283398151915291016110ed565b6001600160a01b03831660009081526002602052604090205460ff1615611768576001600160a01b03831660009081526002602052604081205460ff166116cc57816116e6565b816001600a546116dc9190611f49565b6116e69190611f7e565b9050801561116e576001600160a01b0380851660009081526020819052604080822080548590039055918516815220546117209083611b4c565b6001600160a01b03848116600081815260208181526040918290209490945551858152909291871691600080516020611fd2833981519152910160405180910390a350505050565b611770610c4b565b6001600160a01b0316826001600160a01b031614806117a75750611792610c4b565b6001600160a01b0316836001600160a01b0316145b156119235760006117b6610c4b565b6001600160a01b0316836001600160a01b0316036117d357506009545b6117db610c4b565b6001600160a01b0316846001600160a01b0316036117f857506008545b6001600160a01b03841660009081526020819052604090205461181b9083611b40565b6001600160a01b03851660009081526020819052604081209190915561184c60646118468585610fc9565b90610fb6565b905080156118a7573060009081526020819052604081208054839290611873908490611da4565b909155505060405181815230906001600160a01b03871690600080516020611fd28339815191529060200160405180910390a35b6118d36118b48483611b40565b6001600160a01b03861660009081526020819052604090205490611b4c565b6001600160a01b038086166000818152602081905260409020929092558616600080516020611fd283398151915261190b8685611b40565b60405190815260200160405180910390a35050505050565b6001600160a01b0383166000908152602081905260409020546116179082611b40565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000811580156119aa5750600a548410155b80156119ce57506119b9610c4b565b6001600160a01b0316836001600160a01b0316145b949350505050565b600e546119ee9030906001600160a01b031683610fd5565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611a2357611a23611e18565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa09190611db7565b81600181518110611ab357611ab3611e18565b6001600160a01b039283166020918202929092010152600e546040516318cbafe560e01b81529116906318cbafe590611af9908590600090869030904290600401611f95565b6000604051808303816000875af1158015611b18573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b599190810190611e8b565b6000610fc28284611f49565b6000610fc28284611da4565b600060208083528351808285015260005b81811015611b8557858101830151858201604001528201611b69565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461078557600080fd5b60008060408385031215611bce57600080fd5b8235611bd981611ba6565b946020939093013593505050565b600080600060608486031215611bfc57600080fd5b8335611c0781611ba6565b92506020840135611c1781611ba6565b929592945050506040919091013590565b60008060408385031215611c3b57600080fd5b50508035926020909101359150565b600060208284031215611c5c57600080fd5b8135610fc281611ba6565b80358015158114611c7757600080fd5b919050565b60008060408385031215611c8f57600080fd5b8235611c9a81611ba6565b9150611ca860208401611c67565b90509250929050565b60008060408385031215611cc457600080fd5b8235611ccf81611ba6565b91506020830135611cdf81611ba6565b809150509250929050565b60008060408385031215611cfd57600080fd5b611bd983611c67565b600060208284031215611d1857600080fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611d6857607f821691505b602082108103611d8857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561072957610729611d8e565b600060208284031215611dc957600080fd5b8151610fc281611ba6565b600080600060608486031215611de957600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611e675781516001600160a01b031687529582019590820190600101611e42565b509495945050505050565b8281526040602082015260006119ce6040830184611e2e565b60006020808385031215611e9e57600080fd5b825167ffffffffffffffff80821115611eb657600080fd5b818501915085601f830112611eca57600080fd5b815181811115611edc57611edc611e02565b8060051b604051601f19603f83011681018181108582111715611f0157611f01611e02565b604052918252848201925083810185019188831115611f1f57600080fd5b938501935b82851015611f3d57845184529385019392850192611f24565b98975050505050505050565b8181038181111561072957610729611d8e565b600082611f7957634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761072957610729611d8e565b85815284602082015260a060408201526000611fb460a0830186611e2e565b6001600160a01b039490941660608301525060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f372e47e6d1bcd04c12fe9374a751c21264ba0f84ee54ef09ba78f6aa6d815c464736f6c63430008110033

Deployed Bytecode

0x6080604052600436106102085760003560e01c8063715018a611610118578063af9549e0116100a0578063e0f3ccf51161006f578063e0f3ccf5146105c1578063e4748b9e146105d7578063ef0ce66b146105ed578063f3c533f614610603578063f8b45b051461062357600080fd5b8063af9549e01461054c578063c1f1b1b51461056c578063dd62ed3e14610581578063df20fd49146105a157600080fd5b80638da5cb5b116100e75780638da5cb5b146104b75780638fffabed146104d757806395d89b41146104f7578063a457c2d71461050c578063a9059cbb1461052c57600080fd5b8063715018a6146104475780637437681e1461045c578063768dc710146104725780638497e24a146104a257600080fd5b806323b872dd1161019b578063502f74461161016a578063502f74461461038357806352f7c988146103bb5780636b130f9a146103db5780636ddd1713146103f057806370a082311461041157600080fd5b806323b872dd14610306578063313ce56714610326578063395093511461034257806344579b321461036257600080fd5b80630f299cf1116101d75780630f299cf1146102a657806318160ddd146102bb5780631ac45430146102d0578063220f6696146102e557600080fd5b80630445b66714610214578063063026251461023d57806306fdde0314610254578063095ea7b31461027657600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5061022a600a5481565b6040519081526020015b60405180910390f35b34801561024957600080fd5b50610252610639565b005b34801561026057600080fd5b50610269610683565b6040516102349190611b58565b34801561028257600080fd5b50610296610291366004611bbb565b610715565b6040519015158152602001610234565b3480156102b257600080fd5b5061025261072f565b3480156102c757600080fd5b5060065461022a565b3480156102dc57600080fd5b50610252610788565b3480156102f157600080fd5b50600f5461029690600160a01b900460ff1681565b34801561031257600080fd5b50610296610321366004611be7565b6107c9565b34801561033257600080fd5b5060405160128152602001610234565b34801561034e57600080fd5b5061029661035d366004611bbb565b6107ed565b34801561036e57600080fd5b50600f5461029690600160b01b900460ff1681565b34801561038f57600080fd5b50600e546103a3906001600160a01b031681565b6040516001600160a01b039091168152602001610234565b3480156103c757600080fd5b506102526103d6366004611c28565b61080f565b3480156103e757600080fd5b50610252610844565b3480156103fc57600080fd5b50600f5461029690600160a81b900460ff1681565b34801561041d57600080fd5b5061022a61042c366004611c4a565b6001600160a01b031660009081526020819052604090205490565b34801561045357600080fd5b5061025261087a565b34801561046857600080fd5b5061022a600c5481565b34801561047e57600080fd5b5061029661048d366004611c4a565b60026020526000908152604090205460ff1681565b3480156104ae57600080fd5b506102526108b0565b3480156104c357600080fd5b506003546103a3906001600160a01b031681565b3480156104e357600080fd5b50600f546103a3906001600160a01b031681565b34801561050357600080fd5b50610269610b5e565b34801561051857600080fd5b50610296610527366004611bbb565b610b6d565b34801561053857600080fd5b50610296610547366004611bbb565b610be8565b34801561055857600080fd5b50610252610567366004611c7c565b610bf6565b34801561057857600080fd5b506103a3610c4b565b34801561058d57600080fd5b5061022a61059c366004611cb1565b610dba565b3480156105ad57600080fd5b506102526105bc366004611cea565b610de5565b3480156105cd57600080fd5b5061022a60095481565b3480156105e357600080fd5b5061022a60085481565b3480156105f957600080fd5b5061022a600b5481565b34801561060f57600080fd5b5061022a61061e366004611d06565b610e31565b34801561062f57600080fd5b5061022a600d5481565b6003546001600160a01b0316331461066c5760405162461bcd60e51b815260040161066390611d1f565b60405180910390fd5b60006008819055600955600019600c819055600d55565b60606004805461069290611d54565b80601f01602080910402602001604051908101604052809291908181526020018280546106be90611d54565b801561070b5780601f106106e05761010080835404028352916020019161070b565b820191906000526020600020905b8154815290600101906020018083116106ee57829003601f168201915b5050505050905090565b600033610723818585610fd5565b60019150505b92915050565b6003546001600160a01b031633146107595760405162461bcd60e51b815260040161066390611d1f565b60405133904780156108fc02916000818181858888f19350505050158015610785573d6000803e3d6000fd5b50565b6003546001600160a01b031633146107b25760405162461bcd60e51b815260040161066390611d1f565b600f805461ffff60a81b191661010160a81b179055565b6000336107d78582856110fa565b6107e2858585611174565b506001949350505050565b6000336107238185856108008383610dba565b61080a9190611da4565b610fd5565b6003546001600160a01b031633146108395760405162461bcd60e51b815260040161066390611d1f565b600891909155600955565b6003546001600160a01b0316331461086e5760405162461bcd60e51b815260040161066390611d1f565b60006008819055600955565b6003546001600160a01b031633146108a45760405162461bcd60e51b815260040161066390611d1f565b6108ae6000611946565b565b6003546001600160a01b031633146108da5760405162461bcd60e51b815260040161066390611d1f565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610911903090600019610fd5565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610964573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109889190611db7565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611db7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7f9190611db7565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d7194730610ac7816001600160a01b031660009081526020819052604090205490565b60035460405160e086901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925260006044830181905260648301529190911660848201524260a482015260c40160606040518083038185885af1158015610b34573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b599190611dd4565b505050565b60606005805461069290611d54565b60003381610b7b8286610dba565b905083811015610bdb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610663565b6107e28286868403610fd5565b600033610723818585611174565b6003546001600160a01b03163314610c205760405162461bcd60e51b815260040161066390611d1f565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b600080600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc59190611db7565b6001600160a01b031663e6a4390530600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b9190611db7565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610d96573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107299190611db7565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6003546001600160a01b03163314610e0f5760405162461bcd60e51b815260040161066390611d1f565b600f8054921515600160a81b0260ff60a81b1990931692909217909155600a55565b60408051600280825260608083018452600093909291906020830190803683370190505090503081600081518110610e6b57610e6b611e18565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ec4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee89190611db7565b81600181518110610efb57610efb611e18565b6001600160a01b039283166020918202929092010152600e5460405163d06ca61f60e01b8152600092919091169063d06ca61f90610f3f9087908690600401611e72565b600060405180830381865afa158015610f5c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f849190810190611e8b565b90508060018351610f959190611f49565b81518110610fa557610fa5611e18565b602002602001015192505050919050565b6000610fc28284611f5c565b9392505050565b6000610fc28284611f7e565b6001600160a01b0383166110375760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610663565b6001600160a01b0382166110985760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610663565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006111068484610dba565b9050600019811461116e57818110156111615760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610663565b61116e8484848403610fd5565b50505050565b6001600160a01b0383166111d85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610663565b6001600160a01b03821661123a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610663565b6001600160a01b0383166000908152602081905260409020548111156112b15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610663565b600081116113135760405162461bcd60e51b815260206004820152602960248201527f45524332303a20416d6f756e742073686f756c642062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610663565b600f54600160b01b900460ff168061134357506001600160a01b03831660009081526002602052604090205460ff165b8061136657506001600160a01b03821660009081526002602052604090205460ff165b6113a85760405162461bcd60e51b81526020600482015260136024820152721d1c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610663565b826001600160a01b03166113ba610c4b565b6001600160a01b03161480156113e957506001600160a01b03821660009081526002602052604090205460ff16155b156114b957600c5481111561144f5760405162461bcd60e51b815260206004820152602660248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526536b0bc2a3c1760d11b6064820152608401610663565b600d546001600160a01b0383166000908152602081905260409020546114759083611da4565b11156114b95760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610663565b600f54600160a81b900460ff16156115cd5730600090815260208190526040902054600f546114f59083908590600160a01b900460ff16611998565b801561151a57506001600160a01b03841660009081526002602052604090205460ff16155b801561153f57506001600160a01b03831660009081526002602052604090205460ff16155b156115cb57600f805460ff60a01b1916600160a01b179055600b5481106115705761156b600b546119d6565b611583565b600a5481111561158357611583816119d6565b6007546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156115bc573d6000803e3d6000fd5b50600f805460ff60a01b191690555b505b600f54600160a01b900460ff16806115ef5750600f54600160a81b900460ff16155b15611685576001600160a01b0383166000908152602081905260409020546116179082611b40565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546116469082611b4c565b6001600160a01b03838116600081815260208181526040918290209490945551848152909291861691600080516020611fd283398151915291016110ed565b6001600160a01b03831660009081526002602052604090205460ff1615611768576001600160a01b03831660009081526002602052604081205460ff166116cc57816116e6565b816001600a546116dc9190611f49565b6116e69190611f7e565b9050801561116e576001600160a01b0380851660009081526020819052604080822080548590039055918516815220546117209083611b4c565b6001600160a01b03848116600081815260208181526040918290209490945551858152909291871691600080516020611fd2833981519152910160405180910390a350505050565b611770610c4b565b6001600160a01b0316826001600160a01b031614806117a75750611792610c4b565b6001600160a01b0316836001600160a01b0316145b156119235760006117b6610c4b565b6001600160a01b0316836001600160a01b0316036117d357506009545b6117db610c4b565b6001600160a01b0316846001600160a01b0316036117f857506008545b6001600160a01b03841660009081526020819052604090205461181b9083611b40565b6001600160a01b03851660009081526020819052604081209190915561184c60646118468585610fc9565b90610fb6565b905080156118a7573060009081526020819052604081208054839290611873908490611da4565b909155505060405181815230906001600160a01b03871690600080516020611fd28339815191529060200160405180910390a35b6118d36118b48483611b40565b6001600160a01b03861660009081526020819052604090205490611b4c565b6001600160a01b038086166000818152602081905260409020929092558616600080516020611fd283398151915261190b8685611b40565b60405190815260200160405180910390a35050505050565b6001600160a01b0383166000908152602081905260409020546116179082611b40565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000811580156119aa5750600a548410155b80156119ce57506119b9610c4b565b6001600160a01b0316836001600160a01b0316145b949350505050565b600e546119ee9030906001600160a01b031683610fd5565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611a2357611a23611e18565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa09190611db7565b81600181518110611ab357611ab3611e18565b6001600160a01b039283166020918202929092010152600e546040516318cbafe560e01b81529116906318cbafe590611af9908590600090869030904290600401611f95565b6000604051808303816000875af1158015611b18573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b599190810190611e8b565b6000610fc28284611f49565b6000610fc28284611da4565b600060208083528351808285015260005b81811015611b8557858101830151858201604001528201611b69565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461078557600080fd5b60008060408385031215611bce57600080fd5b8235611bd981611ba6565b946020939093013593505050565b600080600060608486031215611bfc57600080fd5b8335611c0781611ba6565b92506020840135611c1781611ba6565b929592945050506040919091013590565b60008060408385031215611c3b57600080fd5b50508035926020909101359150565b600060208284031215611c5c57600080fd5b8135610fc281611ba6565b80358015158114611c7757600080fd5b919050565b60008060408385031215611c8f57600080fd5b8235611c9a81611ba6565b9150611ca860208401611c67565b90509250929050565b60008060408385031215611cc457600080fd5b8235611ccf81611ba6565b91506020830135611cdf81611ba6565b809150509250929050565b60008060408385031215611cfd57600080fd5b611bd983611c67565b600060208284031215611d1857600080fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611d6857607f821691505b602082108103611d8857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561072957610729611d8e565b600060208284031215611dc957600080fd5b8151610fc281611ba6565b600080600060608486031215611de957600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611e675781516001600160a01b031687529582019590820190600101611e42565b509495945050505050565b8281526040602082015260006119ce6040830184611e2e565b60006020808385031215611e9e57600080fd5b825167ffffffffffffffff80821115611eb657600080fd5b818501915085601f830112611eca57600080fd5b815181811115611edc57611edc611e02565b8060051b604051601f19603f83011681018181108582111715611f0157611f01611e02565b604052918252848201925083810185019188831115611f1f57600080fd5b938501935b82851015611f3d57845184529385019392850192611f24565b98975050505050505050565b8181038181111561072957610729611d8e565b600082611f7957634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761072957610729611d8e565b85815284602082015260a060408201526000611fb460a0830186611e2e565b6001600160a01b039490941660608301525060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f372e47e6d1bcd04c12fe9374a751c21264ba0f84ee54ef09ba78f6aa6d815c464736f6c63430008110033

Deployed Bytecode Sourcemap

10831:11329:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11426:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;11426:55:0;;;;;;;;15893:163;;;;;;;;;;;;;:::i;:::-;;13264:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;14266:228::-;;;;;;;;;;-1:-1:-1;14266:228:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;14266:228:0;1205:187:1;22006:114:0;;;;;;;;;;;;;:::i;13585:108::-;;;;;;;;;;-1:-1:-1;13673:12:0;;13585:108;;15586:111;;;;;;;;;;;;;:::i;11745:28::-;;;;;;;;;;-1:-1:-1;11745:28:0;;;;-1:-1:-1;;;11745:28:0;;;;;;14502:295;;;;;;;;;;-1:-1:-1;14502:295:0;;;;;:::i;:::-;;:::i;13484:93::-;;;;;;;;;;-1:-1:-1;13484:93:0;;13567:2;2000:36:1;;1988:2;1973:18;13484:93:0;1858:184:1;14805:266:0;;;;;;;;;;-1:-1:-1;14805:266:0;;;;;:::i;:::-;;:::i;11818:31::-;;;;;;;;;;-1:-1:-1;11818:31:0;;;;-1:-1:-1;;;11818:31:0;;;;;;11676:32;;;;;;;;;;-1:-1:-1;11676:32:0;;;;-1:-1:-1;;;;;11676:32:0;;;;;;-1:-1:-1;;;;;2235:32:1;;;2217:51;;2205:2;2190:18;11676:32:0;2047:227:1;12099:126:0;;;;;;;;;;-1:-1:-1;12099:126:0;;;;;:::i;:::-;;:::i;12233:95::-;;;;;;;;;;;;;:::i;11780:31::-;;;;;;;;;;-1:-1:-1;11780:31:0;;;;-1:-1:-1;;;11780:31:0;;;;;;13701:143;;;;;;;;;;-1:-1:-1;13701:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;13818:18:0;13791:7;13818:18;;;;;;;;;;;;13701:143;12537:103;;;;;;;;;;;;;:::i;11554:51::-;;;;;;;;;;;;;;;;11065:50;;;;;;;;;;-1:-1:-1;11065:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19703:570;;;;;;;;;;;;;:::i;11124:20::-;;;;;;;;;;-1:-1:-1;11124:20:0;;;;-1:-1:-1;;;;;11124:20:0;;;11715:21;;;;;;;;;;-1:-1:-1;11715:21:0;;;;-1:-1:-1;;;;;11715:21:0;;;13372:104;;;;;;;;;;;;;:::i;15079:499::-;;;;;;;;;;-1:-1:-1;15079:499:0;;;;;:::i;:::-;;:::i;13852:220::-;;;;;;;;;;-1:-1:-1;13852:220:0;;;;;:::i;:::-;;:::i;12648:127::-;;;;;;;;;;-1:-1:-1;12648:127:0;;;;;:::i;:::-;;:::i;21587:256::-;;;;;;;;;;;;;:::i;14080:178::-;;;;;;;;;;-1:-1:-1;14080:178:0;;;;;:::i;:::-;;:::i;21851:147::-;;;;;;;;;;-1:-1:-1;21851:147:0;;;;;:::i;:::-;;:::i;11390:27::-;;;;;;;;;;;;;;;;11357:26;;;;;;;;;;;;;;;;11488:59;;;;;;;;;;;;;;;;20281:395;;;;;;;;;;-1:-1:-1;20281:395:0;;;;;:::i;:::-;;:::i;11612:55::-;;;;;;;;;;;;;;;;15893:163;12015:5;;-1:-1:-1;;;;;12015:5:0;12024:10;12015:19;12007:64;;;;-1:-1:-1;;;12007:64:0;;;;;;;:::i;:::-;;;;;;;;;15958:1:::1;15948:7;:11:::0;;;15970:8:::1;:12:::0;-1:-1:-1;;15995:5:0::1;:19:::0;;;16025:9:::1;:23:::0;15893:163::o;13264:100::-;13318:13;13351:5;13344:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13264:100;:::o;14266:228::-;14374:4;6939:10;14431:33;6939:10;14448:7;14457:6;14431:8;:33::i;:::-;14482:4;14475:11;;;14266:228;;;;;:::o;22006:114::-;12015:5;;-1:-1:-1;;;;;12015:5:0;12024:10;12015:19;12007:64;;;;-1:-1:-1;;;12007:64:0;;;;;;;:::i;:::-;22061:51:::1;::::0;22069:10:::1;::::0;22090:21:::1;22061:51:::0;::::1;;;::::0;::::1;::::0;;;22090:21;22069:10;22061:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;22006:114::o:0;15586:111::-;12015:5;;-1:-1:-1;;;;;12015:5:0;12024:10;12015:19;12007:64;;;;-1:-1:-1;;;12007:64:0;;;;;;;:::i;:::-;15642:11:::1;:18:::0;;-1:-1:-1;;;;15671:18:0;-1:-1:-1;;;15671:18:0;;;15586:111::o;14502:295::-;14633:4;6939:10;14691:38;14707:4;6939:10;14722:6;14691:15;:38::i;:::-;14740:27;14750:4;14756:2;14760:6;14740:9;:27::i;:::-;-1:-1:-1;14785:4:0;;14502:295;-1:-1:-1;;;;14502:295:0:o;14805:266::-;14918:4;6939:10;14975:66;6939:10;14992:7;15030:10;15001:26;6939:10;14992:7;15001:9;:26::i;:::-;:39;;;;:::i;:::-;14975:8;:66::i;12099:126::-;12015:5;;-1:-1:-1;;;;;12015:5:0;12024:10;12015:19;12007:64;;;;-1:-1:-1;;;12007:64:0;;;;;;;:::i;:::-;12175:7:::1;:15:::0;;;;12201:8:::1;:16:::0;12099:126::o;12233:95::-;12015:5;;-1:-1:-1;;;;;12015:5:0;12024:10;12015:19;12007:64;;;;-1:-1:-1;;;12007:64:0;;;;;;;:::i;:::-;12296:1:::1;12286:7;:11:::0;;;12308:8:::1;:12:::0;12233:95::o;12537:103::-;12015:5;;-1:-1:-1;;;;;12015:5:0;12024:10;12015:19;12007:64;;;;-1:-1:-1;;;12007:64:0;;;;;;;:::i;:::-;12602:30:::1;12629:1;12602:18;:30::i;:::-;12537:103::o:0;19703:570::-;12015:5;;-1:-1:-1;;;;;12015:5:0;12024:10;12015:19;12007:64;;;;-1:-1:-1;;;12007:64:0;;;;;;;:::i;:::-;19760:8:::1;:71:::0;;-1:-1:-1;;;;;;19760:71:0::1;19788:42;19760:71:::0;;::::1;::::0;;;19844:55:::1;::::0;19861:4:::1;::::0;-1:-1:-1;;19844:8:0::1;:55::i;:::-;19939:8;;;;;;;;;-1:-1:-1::0;;;;;19939:8:0::1;-1:-1:-1::0;;;;;19939:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19921:48:0::1;;19992:4;20012:8;;;;;;;;;-1:-1:-1::0;;;;;20012:8:0::1;-1:-1:-1::0;;;;;20012:13:0::1;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19921:117;::::0;-1:-1:-1;;;;;;19921:117:0::1;::::0;;;;;;-1:-1:-1;;;;;5802:15:1;;;19921:117:0::1;::::0;::::1;5784:34:1::0;5854:15;;5834:18;;;5827:43;5719:18;;19921:117:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19912:6;:126:::0;;-1:-1:-1;;;;;19912:126:0;;::::1;-1:-1:-1::0;;;;;;19912:126:0;;::::1;;::::0;;20051:8:::1;::::0;::::1;:24;20083:21;20128:4;20148:24;20128:4:::0;-1:-1:-1;;;;;13818:18:0;13791:7;13818:18;;;;;;;;;;;;13701:143;20148:24:::1;20219:5;::::0;20051:214:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;20051:214:0;;;-1:-1:-1;;;;;6240:15:1;;;20051:214:0::1;::::0;::::1;6222:34:1::0;6272:18;;;6265:34;;;;20187:1:0::1;6315:18:1::0;;;6308:34;;;6358:18;;;6351:34;20219:5:0;;;::::1;6401:19:1::0;;;6394:44;20239:15:0::1;6454:19:1::0;;;6447:35;6156:19;;20051:214:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19703:570::o:0;13372:104::-;13428:13;13461:7;13454:14;;;;;:::i;15079:499::-;15197:4;6939:10;15197:4;15281:26;6939:10;15299:7;15281:9;:26::i;:::-;15254:53;;15360:15;15340:16;:35;;15318:122;;;;-1:-1:-1;;;15318:122:0;;7006:2:1;15318:122:0;;;6988:21:1;7045:2;7025:18;;;7018:30;7084:34;7064:18;;;7057:62;-1:-1:-1;;;7135:18:1;;;7128:35;7180:19;;15318:122:0;6804:401:1;15318:122:0;15476:61;15485:6;15493:7;15521:15;15502:16;:34;15476:8;:61::i;13852:220::-;13956:4;6939:10;14013:29;6939:10;14031:2;14035:6;14013:9;:29::i;12648:127::-;12015:5;;-1:-1:-1;;;;;12015:5:0;12024:10;12015:19;12007:64;;;;-1:-1:-1;;;12007:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12732:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;12732:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12648:127::o;21587:256::-;21627:7;21647:19;21718:8;;;;;;;;;-1:-1:-1;;;;;21718:8:0;-1:-1:-1;;;;;21701:34:0;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21669:87:0;;21765:4;21789:8;;;;;;;;;-1:-1:-1;;;;;21789:8:0;-1:-1:-1;;;;;21772:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21669:137;;-1:-1:-1;;;;;;21669:137:0;;;;;;;-1:-1:-1;;;;;5802:15:1;;;21669:137:0;;;5784:34:1;5854:15;;5834:18;;;5827:43;5719:18;;21669:137:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14080:178::-;-1:-1:-1;;;;;14222:19:0;;;14195:7;14222:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;14080:178::o;21851:147::-;12015:5;;-1:-1:-1;;;;;12015:5:0;12024:10;12015:19;12007:64;;;;-1:-1:-1;;;12007:64:0;;;;;;;:::i;:::-;21937:11:::1;:19:::0;;;::::1;;-1:-1:-1::0;;;21937:19:0::1;-1:-1:-1::0;;;;21937:19:0;;::::1;::::0;;;::::1;::::0;;;21967:13:::1;:23:::0;21851:147::o;20281:395::-;20403:16;;;20417:1;20403:16;;;20364:21;20403:16;;;;;20344:7;;20364:21;;20403:16;20417:1;20403:16;;;;;;;;;;-1:-1:-1;20403:16:0;20396:23;;20448:4;20430;20435:1;20430:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20430:23:0;;;:7;;;;;;;;;;:23;;;;20491:8;;20474:33;;;-1:-1:-1;;;20474:33:0;;;;20491:8;;;;;20474:31;;:33;;;;;20430:7;;20474:33;;;;;20491:8;20474:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20464:4;20469:1;20464:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20464:43:0;;;:7;;;;;;;;;:43;20568:8;;20551:69;;-1:-1:-1;;;20551:69:0;;20518:30;;20568:8;;;;;20551:54;;:69;;20606:7;;20615:4;;20551:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20551:69:0;;;;;;;;;;;;:::i;:::-;20518:102;;20638:13;20666:1;20652:4;:11;:15;;;;:::i;:::-;20638:30;;;;;;;;:::i;:::-;;;;;;;20631:37;;;;20281:395;;;:::o;3798:98::-;3856:7;3883:5;3887:1;3883;:5;:::i;:::-;3876:12;3798:98;-1:-1:-1;;;3798:98:0:o;3399:::-;3457:7;3484:5;3488:1;3484;:5;:::i;20684:382::-;-1:-1:-1;;;;;20821:20:0;;20813:69;;;;-1:-1:-1;;;20813:69:0;;10117:2:1;20813:69:0;;;10099:21:1;10156:2;10136:18;;;10129:30;10195:34;10175:18;;;10168:62;-1:-1:-1;;;10246:18:1;;;10239:34;10290:19;;20813:69:0;9915:400:1;20813:69:0;-1:-1:-1;;;;;20901:21:0;;20893:68;;;;-1:-1:-1;;;20893:68:0;;10522:2:1;20893:68:0;;;10504:21:1;10561:2;10541:18;;;10534:30;10600:34;10580:18;;;10573:62;-1:-1:-1;;;10651:18:1;;;10644:32;10693:19;;20893:68:0;10320:398:1;20893:68:0;-1:-1:-1;;;;;20972:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;21025:33;;160:25:1;;;21025:33:0;;133:18:1;21025:33:0;;;;;;;;20684:382;;;:::o;21074:505::-;21210:24;21237:26;21247:6;21255:7;21237:9;:26::i;:::-;21210:53;;-1:-1:-1;;21278:16:0;:37;21274:298;;21378:6;21358:16;:26;;21332:117;;;;-1:-1:-1;;;21332:117:0;;10925:2:1;21332:117:0;;;10907:21:1;10964:2;10944:18;;;10937:30;11003:31;10983:18;;;10976:59;11052:18;;21332:117:0;10723:353:1;21332:117:0;21493:52;21502:6;21510:7;21538:6;21519:16;:25;21493:8;:52::i;:::-;21199:380;21074:505;;;:::o;16064:3160::-;-1:-1:-1;;;;;16195:18:0;;16187:68;;;;-1:-1:-1;;;16187:68:0;;11283:2:1;16187:68:0;;;11265:21:1;11322:2;11302:18;;;11295:30;11361:34;11341:18;;;11334:62;-1:-1:-1;;;11412:18:1;;;11405:35;11457:19;;16187:68:0;11081:401:1;16187:68:0;-1:-1:-1;;;;;16274:16:0;;16266:64;;;;-1:-1:-1;;;16266:64:0;;11689:2:1;16266:64:0;;;11671:21:1;11728:2;11708:18;;;11701:30;11767:34;11747:18;;;11740:62;-1:-1:-1;;;11818:18:1;;;11811:33;11861:19;;16266:64:0;11487:399:1;16266:64:0;-1:-1:-1;;;;;16363:15:0;;:9;:15;;;;;;;;;;;:25;-1:-1:-1;16363:25:0;16341:113;;;;-1:-1:-1;;;16341:113:0;;12093:2:1;16341:113:0;;;12075:21:1;12132:2;12112:18;;;12105:30;12171:34;12151:18;;;12144:62;-1:-1:-1;;;12222:18:1;;;12215:36;12268:19;;16341:113:0;11891:402:1;16341:113:0;16482:1;16473:6;:10;16465:64;;;;-1:-1:-1;;;16465:64:0;;12500:2:1;16465:64:0;;;12482:21:1;12539:2;12519:18;;;12512:30;12578:34;12558:18;;;12551:62;-1:-1:-1;;;12629:18:1;;;12622:39;12678:19;;16465:64:0;12298:405:1;16465:64:0;16562:11;;-1:-1:-1;;;16562:11:0;;;;;:39;;-1:-1:-1;;;;;;16577:24:0;;;;;;:18;:24;;;;;;;;16562:39;:65;;;-1:-1:-1;;;;;;16605:22:0;;;;;;:18;:22;;;;;;;;16562:65;16540:134;;;;-1:-1:-1;;;16540:134:0;;12910:2:1;16540:134:0;;;12892:21:1;12949:2;12929:18;;;12922:30;-1:-1:-1;;;12968:18:1;;;12961:49;13027:18;;16540:134:0;12708:343:1;16540:134:0;16704:4;-1:-1:-1;;;;;16691:17:0;:9;:7;:9::i;:::-;-1:-1:-1;;;;;16691:17:0;;:44;;;;-1:-1:-1;;;;;;16713:22:0;;;;;;:18;:22;;;;;;;;16712:23;16691:44;16687:225;;;16770:5;;16760:6;:15;;16752:66;;;;-1:-1:-1;;;16752:66:0;;13258:2:1;16752:66:0;;;13240:21:1;13297:2;13277:18;;;13270:30;13336:34;13316:18;;;13309:62;-1:-1:-1;;;13387:18:1;;;13380:36;13433:19;;16752:66:0;13056:402:1;16752:66:0;16867:9;;-1:-1:-1;;;;;13818:18:0;;13791:7;13818:18;;;;;;;;;;;16841:22;;:6;:22;:::i;:::-;:35;;16833:67;;;;-1:-1:-1;;;16833:67:0;;13665:2:1;16833:67:0;;;13647:21:1;13704:2;13684:18;;;13677:30;-1:-1:-1;;;13723:18:1;;;13716:49;13782:18;;16833:67:0;13463:343:1;16833:67:0;16949:11;;-1:-1:-1;;;16949:11:0;;;;16945:716;;;17018:4;16977:20;17000:24;;;;;;;;;;;17113:16;;17063:67;;17083:6;;17108:2;;-1:-1:-1;;;17113:16:0;;;;17063:19;:67::i;:::-;:113;;;;-1:-1:-1;;;;;;17152:24:0;;;;;;:18;:24;;;;;;;;17151:25;17063:113;:157;;;;-1:-1:-1;;;;;;17198:22:0;;;;;;:18;:22;;;;;;;;17197:23;17063:157;17041:609;;;17255:16;:23;;-1:-1:-1;;;;17255:23:0;-1:-1:-1;;;17255:23:0;;;17319:12;;17303:28;;17299:219;;17356:30;17373:12;;17356:16;:30::i;:::-;17299:219;;;17430:13;;17415:12;:28;17412:106;;;17468:30;17485:12;17468:16;:30::i;:::-;17546:10;;17538:51;;-1:-1:-1;;;;;17546:10:0;;;;17567:21;17538:51;;;;;17546:10;17538:51;17546:10;17538:51;17567:21;17546:10;17538:51;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17610:16:0;:24;;-1:-1:-1;;;;17610:24:0;;;17041:609;16962:699;16945:716;17677:16;;-1:-1:-1;;;17677:16:0;;;;;:32;;-1:-1:-1;17698:11:0;;-1:-1:-1;;;17698:11:0;;;;17697:12;17677:32;17673:1544;;;-1:-1:-1;;;;;17744:15:0;;:9;:15;;;;;;;;;;;:27;;17764:6;17744:19;:27::i;:::-;-1:-1:-1;;;;;17726:15:0;;;:9;:15;;;;;;;;;;;:45;;;;17802:13;;;;;;;:25;;17820:6;17802:17;:25::i;:::-;-1:-1:-1;;;;;17786:13:0;;;:9;:13;;;;;;;;;;;;:41;;;;17847:26;160:25:1;;;17786:13:0;;17847:26;;;;-1:-1:-1;;;;;;;;;;;17847:26:0;133:18:1;17847:26:0;14:177:1;17673:1544:0;-1:-1:-1;;;;;17895:24:0;;;;;;:18;:24;;;;;;;;17891:1326;;;-1:-1:-1;;;;;17958:24:0;;17936:19;17958:24;;;:18;:24;;;;;;;;:81;;18033:6;17958:81;;;18024:6;18019:1;18003:13;;:17;;;;:::i;:::-;18002:28;;;;:::i;:::-;17936:103;-1:-1:-1;18058:15:0;;18054:267;;-1:-1:-1;;;;;18145:15:0;;;:9;:15;;;;;;;;;;;;;:31;;;18127:49;;18230:13;;;;;;;:25;;18248:6;18230:17;:25::i;:::-;-1:-1:-1;;;;;18214:13:0;;;:9;:13;;;;;;;;;;;;:41;;;;18279:26;160:25:1;;;18214:13:0;;18279:26;;;;-1:-1:-1;;;;;;;;;;;18279:26:0;133:18:1;18279:26:0;;;;;;;17921:411;20051:214:::1;;;19703:570::o:0;17891:1326::-;18363:9;:7;:9::i;:::-;-1:-1:-1;;;;;18357:15:0;:2;-1:-1:-1;;;;;18357:15:0;;:36;;;;18384:9;:7;:9::i;:::-;-1:-1:-1;;;;;18376:17:0;:4;-1:-1:-1;;;;;18376:17:0;;18357:36;18353:853;;;18414:12;18455:9;:7;:9::i;:::-;-1:-1:-1;;;;;18449:15:0;:2;-1:-1:-1;;;;;18449:15:0;;18445:36;;-1:-1:-1;18473:8:0;;18445:36;18512:9;:7;:9::i;:::-;-1:-1:-1;;;;;18504:17:0;:4;-1:-1:-1;;;;;18504:17:0;;18500:37;;-1:-1:-1;18530:7:0;;18500:37;-1:-1:-1;;;;;18576:15:0;;:9;:15;;;;;;;;;;;:27;;18596:6;18576:19;:27::i;:::-;-1:-1:-1;;;;;18558:15:0;;:9;:15;;;;;;;;;;:45;;;;18644:25;18665:3;18644:16;:6;18655:4;18644:10;:16::i;:::-;:20;;:25::i;:::-;18624:45;-1:-1:-1;18692:13:0;;18688:167;;18748:4;18730:9;:24;;;;;;;;;;:37;;18758:9;;18730;:37;;18758:9;;18730:37;:::i;:::-;;;;-1:-1:-1;;18795:40:0;;160:25:1;;;18818:4:0;;-1:-1:-1;;;;;18795:40:0;;;-1:-1:-1;;;;;;;;;;;18795:40:0;148:2:1;133:18;18795:40:0;;;;;;;18688:167;18889:40;18907:21;:6;18918:9;18907:10;:21::i;:::-;-1:-1:-1;;;;;18889:13:0;;:9;:13;;;;;;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;18873:13:0;;;:9;:13;;;;;;;;;;:56;;;;18953:41;;-1:-1:-1;;;;;;;;;;;18972:21:0;:6;18983:9;18972:10;:21::i;:::-;18953:41;;160:25:1;;;148:2;133:18;18953:41:0;;;;;;;18395:615;;20051:214:::1;;;19703:570::o:0;18353:853::-;-1:-1:-1;;;;;19053:15:0;;:9;:15;;;;;;;;;;;:27;;19073:6;19053:19;:27::i;12340:189::-;12433:5;;;-1:-1:-1;;;;;12449:16:0;;;-1:-1:-1;;;;;;12449:16:0;;;;;;;12481:40;;12433:5;;;12449:16;12433:5;;12481:40;;12414:16;;12481:40;12403:126;12340:189;:::o;15705:180::-;15785:4;15809:1;15808:2;:37;;;;;15832:13;;15827:1;:18;;15808:37;:68;;;;;15867:9;:7;:9::i;:::-;-1:-1:-1;;;;;15862:14:0;:1;-1:-1:-1;;;;;15862:14:0;;15808:68;15801:75;15705:180;-1:-1:-1;;;;15705:180:0:o;19232:463::-;19332:8;;19300:56;;19317:4;;-1:-1:-1;;;;;19332:8:0;19343:12;19300:8;:56::i;:::-;19393:16;;;19407:1;19393:16;;;;;;;;19369:21;;19393:16;;;;;;;;;;-1:-1:-1;19393:16:0;19369:40;;19438:4;19420;19425:1;19420:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19420:23:0;;;:7;;;;;;;;;;:23;;;;19481:8;;19464:33;;;-1:-1:-1;;;19464:33:0;;;;19481:8;;;;;19464:31;;:33;;;;;19420:7;;19464:33;;;;;19481:8;19464:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19454:4;19459:1;19454:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19454:43:0;;;:7;;;;;;;;;:43;19525:8;;19508:179;;-1:-1:-1;;;19508:179:0;;19525:8;;;19508:48;;:179;;19571:12;;19525:8;;19614:4;;19641;;19661:15;;19508:179;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19508:179:0;;;;;;;;;;;;:::i;3042:98::-;3100:7;3127:5;3131:1;3127;:5;:::i;2661:98::-;2719:7;2746:5;2750:1;2746;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2279:248::-;2347:6;2355;2408:2;2396:9;2387:7;2383:23;2379:32;2376:52;;;2424:1;2421;2414:12;2376:52;-1:-1:-1;;2447:23:1;;;2517:2;2502:18;;;2489:32;;-1:-1:-1;2279:248:1:o;2532:247::-;2591:6;2644:2;2632:9;2623:7;2619:23;2615:32;2612:52;;;2660:1;2657;2650:12;2612:52;2699:9;2686:23;2718:31;2743:5;2718:31;:::i;2992:160::-;3057:20;;3113:13;;3106:21;3096:32;;3086:60;;3142:1;3139;3132:12;3086:60;2992:160;;;:::o;3157:315::-;3222:6;3230;3283:2;3271:9;3262:7;3258:23;3254:32;3251:52;;;3299:1;3296;3289:12;3251:52;3338:9;3325:23;3357:31;3382:5;3357:31;:::i;:::-;3407:5;-1:-1:-1;3431:35:1;3462:2;3447:18;;3431:35;:::i;:::-;3421:45;;3157:315;;;;;:::o;3477:388::-;3545:6;3553;3606:2;3594:9;3585:7;3581:23;3577:32;3574:52;;;3622:1;3619;3612:12;3574:52;3661:9;3648:23;3680:31;3705:5;3680:31;:::i;:::-;3730:5;-1:-1:-1;3787:2:1;3772:18;;3759:32;3800:33;3759:32;3800:33;:::i;:::-;3852:7;3842:17;;;3477:388;;;;;:::o;3870:248::-;3935:6;3943;3996:2;3984:9;3975:7;3971:23;3967:32;3964:52;;;4012:1;4009;4002:12;3964:52;4035:26;4051:9;4035:26;:::i;4123:180::-;4182:6;4235:2;4223:9;4214:7;4210:23;4206:32;4203:52;;;4251:1;4248;4241:12;4203:52;-1:-1:-1;4274:23:1;;4123:180;-1:-1:-1;4123:180:1:o;4308:356::-;4510:2;4492:21;;;4529:18;;;4522:30;4588:34;4583:2;4568:18;;4561:62;4655:2;4640:18;;4308:356::o;4669:380::-;4748:1;4744:12;;;;4791;;;4812:61;;4866:4;4858:6;4854:17;4844:27;;4812:61;4919:2;4911:6;4908:14;4888:18;4885:38;4882:161;;4965:10;4960:3;4956:20;4953:1;4946:31;5000:4;4997:1;4990:15;5028:4;5025:1;5018:15;4882:161;;4669:380;;;:::o;5054:127::-;5115:10;5110:3;5106:20;5103:1;5096:31;5146:4;5143:1;5136:15;5170:4;5167:1;5160:15;5186:125;5251:9;;;5272:10;;;5269:36;;;5285:18;;:::i;5316:251::-;5386:6;5439:2;5427:9;5418:7;5414:23;5410:32;5407:52;;;5455:1;5452;5445:12;5407:52;5487:9;5481:16;5506:31;5531:5;5506:31;:::i;6493:306::-;6581:6;6589;6597;6650:2;6638:9;6629:7;6625:23;6621:32;6618:52;;;6666:1;6663;6656:12;6618:52;6695:9;6689:16;6679:26;;6745:2;6734:9;6730:18;6724:25;6714:35;;6789:2;6778:9;6774:18;6768:25;6758:35;;6493:306;;;;;:::o;7210:127::-;7271:10;7266:3;7262:20;7259:1;7252:31;7302:4;7299:1;7292:15;7326:4;7323:1;7316:15;7342:127;7403:10;7398:3;7394:20;7391:1;7384:31;7434:4;7431:1;7424:15;7458:4;7455:1;7448:15;7474:461;7527:3;7565:5;7559:12;7592:6;7587:3;7580:19;7618:4;7647:2;7642:3;7638:12;7631:19;;7684:2;7677:5;7673:14;7705:1;7715:195;7729:6;7726:1;7723:13;7715:195;;;7794:13;;-1:-1:-1;;;;;7790:39:1;7778:52;;7850:12;;;;7885:15;;;;7826:1;7744:9;7715:195;;;-1:-1:-1;7926:3:1;;7474:461;-1:-1:-1;;;;;7474:461:1:o;7940:332::-;8147:6;8136:9;8129:25;8190:2;8185;8174:9;8170:18;8163:30;8110:4;8210:56;8262:2;8251:9;8247:18;8239:6;8210:56;:::i;8277:1105::-;8372:6;8403:2;8446;8434:9;8425:7;8421:23;8417:32;8414:52;;;8462:1;8459;8452:12;8414:52;8495:9;8489:16;8524:18;8565:2;8557:6;8554:14;8551:34;;;8581:1;8578;8571:12;8551:34;8619:6;8608:9;8604:22;8594:32;;8664:7;8657:4;8653:2;8649:13;8645:27;8635:55;;8686:1;8683;8676:12;8635:55;8715:2;8709:9;8737:2;8733;8730:10;8727:36;;;8743:18;;:::i;:::-;8789:2;8786:1;8782:10;8821:2;8815:9;8884:2;8880:7;8875:2;8871;8867:11;8863:25;8855:6;8851:38;8939:6;8927:10;8924:22;8919:2;8907:10;8904:18;8901:46;8898:72;;;8950:18;;:::i;:::-;8986:2;8979:22;9036:18;;;9070:15;;;;-1:-1:-1;9112:11:1;;;9108:20;;;9140:19;;;9137:39;;;9172:1;9169;9162:12;9137:39;9196:11;;;;9216:135;9232:6;9227:3;9224:15;9216:135;;;9298:10;;9286:23;;9249:12;;;;9329;;;;9216:135;;;9370:6;8277:1105;-1:-1:-1;;;;;;;;8277:1105:1:o;9387:128::-;9454:9;;;9475:11;;;9472:37;;;9489:18;;:::i;9520:217::-;9560:1;9586;9576:132;;9630:10;9625:3;9621:20;9618:1;9611:31;9665:4;9662:1;9655:15;9693:4;9690:1;9683:15;9576:132;-1:-1:-1;9722:9:1;;9520:217::o;9742:168::-;9815:9;;;9846;;9863:15;;;9857:22;;9843:37;9833:71;;9884:18;;:::i;13811:582::-;14110:6;14099:9;14092:25;14153:6;14148:2;14137:9;14133:18;14126:34;14196:3;14191:2;14180:9;14176:18;14169:31;14073:4;14217:57;14269:3;14258:9;14254:19;14246:6;14217:57;:::i;:::-;-1:-1:-1;;;;;14310:32:1;;;;14305:2;14290:18;;14283:60;-1:-1:-1;14374:3:1;14359:19;14352:35;14209:65;13811:582;-1:-1:-1;;;13811:582:1:o

Swarm Source

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