ETH Price: $4,008.72 (+3.09%)

Token

ERC-20: Nasdaq6900 is live (NASDAQ6900)
 

Overview

Max Total Supply

1,000,000,000 NASDAQ6900

Holders

70

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
5,688,185.312918087 NASDAQ6900

Value
$0.00
0x1f7876299b7479471FfBf9c19C50aE87Bd64f6BA
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:
NASDAQ6900

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-01
*/

/** 

    Website: https://www.nasdaq6900.live
    Twitter: https://twitter.com/nasdaq6900live
    Telegram: https://t.me/nasdap6900

*/

// SPDX-License-Identifier: MIT 

pragma solidity ^0.8.18;


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

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

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

        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

    function WETH() external pure returns (address);

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

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

interface IFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);

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

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

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

contract NASDAQ6900 is Context, IERC20, Ownable {
    using Address for address payable;
    IRouter public router;
    address public pair;

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

    string private constant _name = unicode"Nasdaq6900 is live";
    string private constant _symbol = unicode"NASDAQ6900";

    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _isExcluded;

    address public deadWallet = 0x000000000000000000000000000000000000dEaD;
    address public marketingWallet =(0xBF1aC0B9540D42f764c76353CB54126decA63870);
    address public feeWallet =(0x7217db98b0896Eb21c2fb9b8e3CaBefb132eE13A);
    address private devWallet = (0x9688c70E4469935ED47073bfAE3323c4b23433a2);
   
    address[] private _excluded;
    bool public tradingEnabled;
    bool private swapEnabled;
    bool private swapping;

    uint8 private constant _decimals = 9;
    uint256 private constant MAX = 1e30;
    mapping(address => bool) private _isExcludedFromFees;
    uint256 public constant _tTotal = 1_000_000_000 * 10**_decimals;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));

    uint256 private genesis_block;
    uint256 private deadline = 1;
    struct TotFeesPaidStruct {
        uint256 rfi;
        uint256 marketing;
        uint256 liquidity;
    }
    
    struct Taxes {
        uint256 rfi;
        uint256 marketing;
        uint256 liquidity;
    }

    Taxes public taxes = Taxes(0, 1, 0);
    Taxes public sellTaxes = Taxes(0, 1, 0);
    Taxes private launchtax = Taxes(0, 20, 0);

    TotFeesPaidStruct public totFeesPaid;

    struct valuesFromGetValues {
        uint256 rAmount;
        uint256 rTransferAmount;
        uint256 rRfi;
        uint256 rmarketing;
        uint256 rLiquidity;
        uint256 tTransferAmount;
        uint256 tRfi;
        uint256 tmarketing;
        uint256 tLiquidity;
    }
    event FeesChanged();

    modifier lockTheSwap() {
        swapping = true;
        _;
        swapping = false;
    }
    uint256 public _maxTxAmount = _tTotal * 20 / 1000;
    uint256 public _maxWalletSize = _tTotal * 20 / 1000;
    uint256 public swapTokensAtAmount = 30_000 * 10**9;

    constructor() {
        router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        
         excludeFromReward(deadWallet);
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[feeWallet] = true;
        _isExcludedFromFee[deadWallet] = true;
        _isExcludedFromFees[devWallet] = true;
        _isExcludedFromFee[marketingWallet] = true;

         _rOwned[owner()] = _rTotal;
        emit Transfer(address(0), owner(), _tTotal);
    }

    function createPool() external payable onlyOwner {
        pair = IFactory(router.factory()).createPair(address(this), router.WETH());
        _approve(address(this), address(router), type(uint256).max);
        excludeFromReward(pair);
        router.addLiquidityETH{value: msg.value}(
            address(this),
            balanceOf(address(this)),
            0, 
            0, 
            owner(),
            block.timestamp
        );
    }
    
    function name() public pure returns (string memory) {
        return _name;
    }

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        return tokenFromReflection(_rOwned[account]);
    }

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

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

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

        return true;
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferRfi)
        public
        view
        returns (uint256)
    {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferRfi) {
            valuesFromGetValues memory s = _getValues(tAmount, true, false, false, false);
            return s.rAmount;
        } else {
            valuesFromGetValues memory s = _getValues(tAmount, true, false, false, false);
            return s.rTransferAmount;
        }
    }

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

    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function openTrade() external onlyOwner {
        require(!tradingEnabled, "Cannot re-enable trading");
        tradingEnabled = true;
        swapEnabled = true;
        genesis_block = block.number;
    }

    function tokenFromReflection(uint256 rAmount) public view returns (uint256) {
        // require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate = _getRate();
        return rAmount / currentRate;
    }

    function excludeFromReward(address account) public onlyOwner {
        require(!_isExcluded[account], "Account is already excluded");
        if (_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

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

    function _reflectRfi(uint256 rRfi, uint256 tRfi) private {
        _rTotal -= rRfi;
        totFeesPaid.rfi += tRfi;
    }

    function _takeLiquidity(uint256 rLiquidity, uint256 tLiquidity) private {
        totFeesPaid.liquidity += tLiquidity;

        if (_isExcluded[address(this)]) {
            _tOwned[address(this)] += tLiquidity;
        }
        _rOwned[address(this)] += rLiquidity;
    }

    function _takeMarketingFee(uint256 rmarketing, uint256 tmarketing) private {
        totFeesPaid.marketing += tmarketing;

        if (_isExcluded[address(this)]) {
            _tOwned[address(this)] += tmarketing;
        }
        _rOwned[address(this)] += rmarketing;
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply / tSupply;
    }

    function _getRValues1(
        valuesFromGetValues memory s,
        uint256 tAmount,
        bool takeFee,
        uint256 currentRate,
        bool isTransfer
    )
        private
        pure
        returns (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rRfi,
            uint256 rmarketing,
            uint256 rLiquidity
        )
    {
        rAmount = tAmount * currentRate;

        if (!takeFee) {
            return (isTransfer?0:rAmount, rAmount, 0, 0, 0);
        }

        rRfi = s.tRfi * currentRate;
        rmarketing = s.tmarketing * currentRate;
        rLiquidity = s.tLiquidity * currentRate;
        rTransferAmount =
            rAmount -
            rRfi -
            rmarketing -
            rLiquidity;
        return (rAmount, rTransferAmount, rRfi, rmarketing, rLiquidity);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply)
                return (_rTotal, _tTotal);
            rSupply = rSupply - _rOwned[_excluded[i]];
            tSupply = tSupply - _tOwned[_excluded[i]];
        }
        if (rSupply < _rTotal / _tTotal) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _getTValues(
        uint256 tAmount,
        bool takeFee,
        bool isSell,
        bool useLaunchTax
    ) private view returns (valuesFromGetValues memory s) {
        if (!takeFee) {
            s.tTransferAmount = tAmount;
            return s;
        }
        Taxes memory temp;
        if (isSell && !useLaunchTax) temp = sellTaxes;
        else if (!useLaunchTax) temp = taxes;
        else temp = launchtax;

        s.tRfi = (tAmount * temp.rfi) / 100;
        s.tmarketing = (tAmount * temp.marketing) / 100;
        s.tLiquidity = (tAmount * temp.liquidity) / 100;
        s.tTransferAmount =
            tAmount -
            s.tRfi -
            s.tmarketing -
            s.tLiquidity;
        return s;
    }

    function _getValues(
        uint256 tAmount,
        bool takeFee,
        bool isSell,
        bool useLaunchTax,
        bool isTransfer
    ) private view returns (valuesFromGetValues memory to_return) {
        to_return = _getTValues(tAmount, takeFee, isSell, useLaunchTax);
        (
            to_return.rAmount,
            to_return.rTransferAmount,
            to_return.rRfi,
            to_return.rmarketing,
            to_return.rLiquidity
        ) = _getRValues1(to_return, tAmount, takeFee, _getRate(), isTransfer);
       
        return to_return;
    }


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

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(tradingEnabled, "Trading not active");
        }

        if (from == pair && to != address(pair) && !_isExcludedFromFee[to] ) {
            require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
            require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
        }

        bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount;
        if (!swapping && swapEnabled && canSwap && amount > swapTokensAtAmount && from != pair && !_isExcludedFromFee[from] && 
        !_isExcludedFromFee[to]
        ) {
            if (to == pair) swapAndLiquify(swapTokensAtAmount, sellTaxes);
        }
        bool takeFee = true;
        bool isSell = false;
        if (swapping || _isExcludedFromFee[from] || _isExcludedFromFee[to]) takeFee = false;
        if (to == pair) isSell = true;
        if (from != pair && to != pair) { //transfer
           takeFee = false;
       }
       
        _tokenTransfer(from, to, amount, takeFee, isSell);
    }


    function _tokenTransfer(address sender,address recipient,uint256 tAmount,bool takeFee,bool isSell) private {
        bool useLaunchTax = !_isExcludedFromFee[sender] && !_isExcludedFromFee[recipient] && block.number < genesis_block + deadline;

        valuesFromGetValues memory s = _getValues(tAmount, takeFee, isSell, useLaunchTax, isExcludedFromFee(sender));

        if (_isExcluded[sender]) {
            //from excluded
            _tOwned[sender] = _tOwned[sender] - tAmount;
        }
        if (_isExcluded[recipient]) {
            //to excluded
            _tOwned[recipient] = _tOwned[recipient] + s.tTransferAmount;
        }

        _rOwned[sender] = _rOwned[sender] - s.rAmount;
        _rOwned[recipient] = _rOwned[recipient] + s.rTransferAmount;

        if (s.rRfi > 0 || s.tRfi > 0) _reflectRfi(s.rRfi, s.tRfi);
        if (s.rLiquidity > 0 || s.tLiquidity > 0) {
            _takeLiquidity(s.rLiquidity, s.tLiquidity);
            emit Transfer(
                sender,
                address(this),
                s.tLiquidity + s.tmarketing
            );
        }
        if (s.rmarketing > 0 || s.tmarketing > 0) _takeMarketingFee(s.rmarketing, s.tmarketing);
        emit Transfer(sender, recipient, s.tTransferAmount);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(router), tokenAmount);

        router.addLiquidityETH{ value: ethAmount }(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            deadWallet,
            block.timestamp
        );
    }

    function rescueETH() external {
        uint256 contractETHBalance = address(this).balance;
        payable(marketingWallet).transfer(contractETHBalance);
    }

    function transferETH(address payable feeAddr, uint256 amount) private {
        feeAddr.transfer(amount);
    }

    function swapAndLiquify(uint256 contractBalance, Taxes memory temp) private lockTheSwap {
        uint256 denominator = (temp.liquidity +
            temp.marketing) * 2;

        if (denominator == 0){
            return;
        }

        uint256 tokensToAddLiquidityWith = (contractBalance * temp.liquidity) / denominator;
        uint256 toSwap = contractBalance - tokensToAddLiquidityWith;
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = address(this).balance - initialBalance;
        uint256 unitBalance = deltaBalance / (denominator - temp.liquidity);
        uint256 ethToAddLiquidityWith = unitBalance * temp.liquidity;

        if (ethToAddLiquidityWith > 0) {
            addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith);
        }

        uint256 marketingAmt = unitBalance * 2 * temp.marketing;
        if (marketingAmt > 0) {
            transferETH(payable(feeWallet), marketingAmt);
        }
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

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

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    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":[],"name":"FeesChanged","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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"createPool","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferRfi","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","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":"pure","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totFeesPaid","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600880546001600160a01b031990811661dead1790915560098054821673bf1ac0b9540d42f764c76353cb54126deca63870178155600a80548316737217db98b0896eb21c2fb9b8e3cabefb132ee13a178155600b8054909316739688c70e4469935ed47073bfae3323c4b23433a2179092556200008291620008c8565b6200009290633b9aca00620008d9565b620000ab906c0c9f2c9cd04674edea4000000062000909565b620000c4906c0c9f2c9cd04674edea4000000062000920565b600f556001601181905560408051606080820183526000808352602080840186905292840181905260128190556013859055601481815584518084018652828152808501879052850182905260158290556016959095556017819055835191820184528082529181018490529091018190526018819055601991909155601a556103e8620001556009600a620008c8565b6200016590633b9aca00620008d9565b62000172906014620008d9565b6200017e919062000936565b601e556103e8620001926009600a620008c8565b620001a290633b9aca00620008d9565b620001af906014620008d9565b620001bb919062000936565b601f55651b48eb57e000602055348015620001d557600080fd5b50620001e13362000381565b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556008546200021e906001600160a01b0316620003d1565b3060009081526006602081905260408220805460ff1916600190811790915591620002516000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600a54821681526006808552838220805487166001908117909155600854841683528483208054881682179055600b5484168352600e865284832080548816821790556009549093168252909352908220805490931617909155600f5490600490620002f36000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055620003206000546001600160a01b031690565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200035a6009600a620008c8565b6200036a90633b9aca00620008d9565b60405190815260200160405180910390a36200097f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b03163314620004315760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b03811660009081526007602052604090205460ff16156200049c5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640162000428565b6001600160a01b03811660009081526004602052604090205415620004f9576001600160a01b038116600090815260046020526040902054620004df906200055f565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600760205260408120805460ff19166001908117909155600c805491820181559091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b0319169091179055565b6000806200056c62000581565b90506200057a818462000936565b9392505050565b600080806200058f620005a7565b9092509050620005a0818362000936565b9250505090565b600f54600090819081620005be6009600a620008c8565b620005ce90633b9aca00620008d9565b905060005b600c5481101562000749578260046000600c8481548110620005f957620005f96200094d565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806200066857508160056000600c84815481106200064157620006416200094d565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156200069a57600f546200067f6009600a620008c8565b6200068f90633b9aca00620008d9565b945094505050509091565b60046000600c8381548110620006b457620006b46200094d565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620006e5908462000920565b925060056000600c83815481106200070157620007016200094d565b60009182526020808320909101546001600160a01b0316835282019290925260400190205462000732908362000920565b915080620007408162000963565b915050620005d3565b50620007586009600a620008c8565b6200076890633b9aca00620008d9565b600f5462000777919062000936565b821015620007aa57600f54620007906009600a620008c8565b620007a090633b9aca00620008d9565b9350935050509091565b90939092509050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200080a578160001904821115620007ee57620007ee620007b3565b80851615620007fc57918102915b93841c9390800290620007ce565b509250929050565b6000826200082357506001620008c2565b816200083257506000620008c2565b81600181146200084b5760028114620008565762000876565b6001915050620008c2565b60ff8411156200086a576200086a620007b3565b50506001821b620008c2565b5060208310610133831016604e8410600b84101617156200089b575081810a620008c2565b620008a78383620007c9565b8060001904821115620008be57620008be620007b3565b0290505b92915050565b60006200057a60ff84168362000812565b8082028115828204841417620008c257620008c2620007b3565b634e487b7160e01b600052601260045260246000fd5b6000826200091b576200091b620008f3565b500690565b81810381811115620008c257620008c2620007b3565b600082620009485762000948620008f3565b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201620009785762000978620007b3565b5060010190565b6125e2806200098f6000396000f3fe6080604052600436106102135760003560e01c806385141a7711610118578063a9059cbb116100a0578063f25f4b561161006f578063f25f4b561461066f578063f2fde38b1461068f578063f66895a3146106af578063f887ea40146106ce578063fb201b1d146106ee57600080fd5b8063a9059cbb146105de578063af465a27146105fe578063dd62ed3e14610613578063e2f456051461065957600080fd5b806395d89b41116100e757806395d89b41146105445780639a06b113146105775780639ba5e4d51461057f578063a457c2d71461059e578063a8aa1b31146105be57600080fd5b806385141a77146104b757806388f82020146104d75780638da5cb5b146105105780638f9a55c01461052e57600080fd5b80634ada218b1161019b578063715018a61161016a578063715018a614610405578063728f8eea1461041a578063751039fc1461045457806375f0a874146104695780637d1db4a5146104a157600080fd5b80634ada218b1461037257806352390c021461038c5780635342acb4146103ac57806370a08231146103e557600080fd5b806323b872dd116101e257806323b872dd146102d65780632d838119146102f6578063313ce5671461031657806339509351146103325780634549b0391461035257600080fd5b806306fdde031461021f578063095ea7b31461026c57806318160ddd1461029c57806320800a00146102bf57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b506040805180820190915260128152714e617364617136393030206973206c69766560701b60208201525b6040516102639190612180565b60405180910390f35b34801561027857600080fd5b5061028c6102873660046121e3565b610703565b6040519015158152602001610263565b3480156102a857600080fd5b506102b161071a565b604051908152602001610263565b3480156102cb57600080fd5b506102d461073b565b005b3480156102e257600080fd5b5061028c6102f136600461220f565b610779565b34801561030257600080fd5b506102b1610311366004612250565b61082f565b34801561032257600080fd5b5060405160098152602001610263565b34801561033e57600080fd5b5061028c61034d3660046121e3565b61084d565b34801561035e57600080fd5b506102b161036d366004612269565b610884565b34801561037e57600080fd5b50600d5461028c9060ff1681565b34801561039857600080fd5b506102d46103a736600461229e565b61092f565b3480156103b857600080fd5b5061028c6103c736600461229e565b6001600160a01b03166000908152600e602052604090205460ff1690565b3480156103f157600080fd5b506102b161040036600461229e565b610a82565b34801561041157600080fd5b506102d4610ae1565b34801561042657600080fd5b5060125460135460145461043992919083565b60408051938452602084019290925290820152606001610263565b34801561046057600080fd5b506102d4610b17565b34801561047557600080fd5b50600954610489906001600160a01b031681565b6040516001600160a01b039091168152602001610263565b3480156104ad57600080fd5b506102b1601e5481565b3480156104c357600080fd5b50600854610489906001600160a01b031681565b3480156104e357600080fd5b5061028c6104f236600461229e565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561051c57600080fd5b506000546001600160a01b0316610489565b34801561053a57600080fd5b506102b1601f5481565b34801561055057600080fd5b5060408051808201909152600a81526904e4153444151363930360b41b6020820152610256565b6102d4610b7d565b34801561058b57600080fd5b50601b54601c54601d5461043992919083565b3480156105aa57600080fd5b5061028c6105b93660046121e3565b610df3565b3480156105ca57600080fd5b50600254610489906001600160a01b031681565b3480156105ea57600080fd5b5061028c6105f93660046121e3565b610e8e565b34801561060a57600080fd5b506102b1610e9b565b34801561061f57600080fd5b506102b161062e3660046122bb565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561066557600080fd5b506102b160205481565b34801561067b57600080fd5b50600a54610489906001600160a01b031681565b34801561069b57600080fd5b506102d46106aa36600461229e565b610eb8565b3480156106bb57600080fd5b5060155460165460175461043992919083565b3480156106da57600080fd5b50600154610489906001600160a01b031681565b3480156106fa57600080fd5b506102d4610f53565b6000610710338484610fe5565b5060015b92915050565b60006107286009600a6123e3565b61073690633b9aca006123f2565b905090565b60095460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610775573d6000803e3d6000fd5b5050565b6000610786848484611109565b6001600160a01b0384166000908152600360209081526040808320338452909152902054828110156108105760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610824853361081f8685612409565b610fe5565b506001949350505050565b60008061083a611587565b9050610846818461241c565b9392505050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161071091859061081f90869061243e565b60006108926009600a6123e3565b6108a090633b9aca006123f2565b8311156108ef5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610807565b8161091057600061090684600160008060006115aa565b5191506107149050565b600061092284600160008060006115aa565b6020015191506107149050565b6000546001600160a01b031633146109595760405162461bcd60e51b815260040161080790612451565b6001600160a01b03811660009081526007602052604090205460ff16156109c25760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610807565b6001600160a01b03811660009081526004602052604090205415610a1c576001600160a01b038116600090815260046020526040902054610a029061082f565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600760205260408120805460ff19166001908117909155600c805491820181559091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b0319169091179055565b6001600160a01b03811660009081526007602052604081205460ff1615610abf57506001600160a01b031660009081526005602052604090205490565b6001600160a01b0382166000908152600460205260409020546107149061082f565b6000546001600160a01b03163314610b0b5760405162461bcd60e51b815260040161080790612451565b610b1560006115f3565b565b6000546001600160a01b03163314610b415760405162461bcd60e51b815260040161080790612451565b610b4d6009600a6123e3565b610b5b90633b9aca006123f2565b601e55610b6a6009600a6123e3565b610b7890633b9aca006123f2565b601f55565b6000546001600160a01b03163314610ba75760405162461bcd60e51b815260040161080790612451565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1e9190612486565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca49190612486565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d159190612486565b600280546001600160a01b0319166001600160a01b03928316179055600154610d4391309116600019610fe5565b600254610d58906001600160a01b031661092f565b6001546001600160a01b031663f305d7193430610d7481610a82565b600080610d896000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610dab969594939291906124a3565b60606040518083038185885af1158015610dc9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dee91906124de565b505050565b3360009081526003602090815260408083206001600160a01b038616845290915281205482811015610e755760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610807565b610e84338561081f8685612409565b5060019392505050565b6000610710338484611109565b610ea76009600a6123e3565b610eb590633b9aca006123f2565b81565b6000546001600160a01b03163314610ee25760405162461bcd60e51b815260040161080790612451565b6001600160a01b038116610f475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610807565b610f50816115f3565b50565b6000546001600160a01b03163314610f7d5760405162461bcd60e51b815260040161080790612451565b600d5460ff1615610fd05760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742072652d656e61626c652074726164696e6700000000000000006044820152606401610807565b600d805461ffff191661010117905543601055565b6001600160a01b0383166110475760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610807565b6001600160a01b0382166110a85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610807565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661116d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610807565b6001600160a01b0382166111cf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610807565b600081116112315760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610807565b6001600160a01b03831660009081526006602052604090205460ff1615801561127357506001600160a01b03821660009081526006602052604090205460ff16155b156112bf57600d5460ff166112bf5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b6044820152606401610807565b6002546001600160a01b0384811691161480156112ea57506002546001600160a01b03838116911614155b801561130f57506001600160a01b03821660009081526006602052604090205460ff16155b156113cb57601e548111156113665760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610807565b601f548161137384610a82565b61137d919061243e565b11156113cb5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610807565b60006020546113d930610a82565b600d54911115915062010000900460ff161580156113fe5750600d54610100900460ff165b80156114075750805b8015611414575060205482115b801561142e57506002546001600160a01b03858116911614155b801561145357506001600160a01b03841660009081526006602052604090205460ff16155b801561147857506001600160a01b03831660009081526006602052604090205460ff16155b156114c0576002546001600160a01b03908116908416036114c0576020805460408051606081018252601554815260165493810193909352601754908301526114c091611643565b600d5460019060009062010000900460ff16806114f557506001600160a01b03861660009081526006602052604090205460ff165b8061151857506001600160a01b03851660009081526006602052604090205460ff165b1561152257600091505b6002546001600160a01b039081169086160361153c575060015b6002546001600160a01b0387811691161480159061156857506002546001600160a01b03868116911614155b1561157257600091505b61157f8686868585611760565b505050505050565b6000806000611594611a6c565b90925090506115a3818361241c565b9250505090565b6115b2612134565b6115be86868686611c4f565b90506115d48187876115ce611587565b86611dac565b6080860152606085015260408401526020830152815295945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600d805462ff00001916620100001790556020810151604082015160009161166a9161243e565b6116759060026123f2565b9050806000036116855750611750565b60008183604001518561169891906123f2565b6116a2919061241c565b905060006116b08286612409565b9050476116bc82611e4a565b60006116c88247612409565b905060008660400151866116dc9190612409565b6116e6908361241c565b905060008760400151826116fa91906123f2565b9050801561170c5761170c8682611f9c565b602088015160009061171f8460026123f2565b61172991906123f2565b9050801561174757600a54611747906001600160a01b03168261203e565b50505050505050505b5050600d805462ff000019169055565b6001600160a01b03851660009081526006602052604081205460ff161580156117a257506001600160a01b03851660009081526006602052604090205460ff16155b80156117bc57506011546010546117b9919061243e565b43105b905060006117ee858585856117e98c6001600160a01b03166000908152600e602052604090205460ff1690565b6115aa565b6001600160a01b03881660009081526007602052604090205490915060ff1615611850576001600160a01b038716600090815260056020526040902054611836908690612409565b6001600160a01b0388166000908152600560205260409020555b6001600160a01b03861660009081526007602052604090205460ff16156118b35760a08101516001600160a01b038716600090815260056020526040902054611899919061243e565b6001600160a01b0387166000908152600560205260409020555b80516001600160a01b0388166000908152600460205260409020546118d89190612409565b6001600160a01b038089166000908152600460209081526040808320949094558401519189168152919091205461190f919061243e565b6001600160a01b0387166000908152600460205260409081902091909155810151151580611941575060008160c00151115b156119585761195881604001518260c00151612074565b60008160800151118061197057506000816101000151115b156119e45761198881608001518261010001516120a9565b306001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360e001518461010001516119d2919061243e565b60405190815260200160405180910390a35b6000816060015111806119fb575060008160e00151115b15611a1257611a1281606001518260e0015161211f565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360a00151604051611a5b91815260200190565b60405180910390a350505050505050565b600f54600090819081611a816009600a6123e3565b611a8f90633b9aca006123f2565b905060005b600c54811015611bf0578260046000600c8481548110611ab657611ab661250c565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611b2157508160056000600c8481548110611afa57611afa61250c565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611b4e57600f54611b356009600a6123e3565b611b4390633b9aca006123f2565b945094505050509091565b60046000600c8381548110611b6557611b6561250c565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611b949084612409565b925060056000600c8381548110611bad57611bad61250c565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611bdc9083612409565b915080611be881612522565b915050611a94565b50611bfd6009600a6123e3565b611c0b90633b9aca006123f2565b600f54611c18919061241c565b821015611c4657600f54611c2e6009600a6123e3565b611c3c90633b9aca006123f2565b9350935050509091565b90939092509050565b611c57612134565b83611c685760a08101859052611da4565b611c8c60405180606001604052806000815260200160008152602001600081525090565b838015611c97575082155b15611cc35750604080516060810182526015548152601654602082015260175491810191909152611d12565b82611cef5750604080516060810182526012548152601354602082015260145491810191909152611d12565b506040805160608101825260185481526019546020820152601a54918101919091525b8051606490611d2190886123f2565b611d2b919061241c565b60c08301526020810151606490611d4290886123f2565b611d4c919061241c565b60e08301526040810151606490611d6390886123f2565b611d6d919061241c565b610100830181905260e083015160c0840151611d899089612409565b611d939190612409565b611d9d9190612409565b60a0830152505b949350505050565b600080808080611dbc878a6123f2565b945087611de35785611dce5784611dd1565b60005b94935060009250829150819050611e3d565b868a60c00151611df391906123f2565b9250868a60e00151611e0591906123f2565b9150868a6101000151611e1891906123f2565b90508082611e268588612409565b611e309190612409565b611e3a9190612409565b93505b9550955095509550959050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611e7f57611e7f61250c565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efc9190612486565b81600181518110611f0f57611f0f61250c565b6001600160a01b039283166020918202929092010152600154611f359130911684610fe5565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611f6e90859060009086903090429060040161253b565b600060405180830381600087803b158015611f8857600080fd5b505af115801561157f573d6000803e3d6000fd5b600154611fb49030906001600160a01b031684610fe5565b60015460085460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611ff492309289926000928392169042906004016124a3565b60606040518083038185885af1158015612012573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061203791906124de565b5050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610dee573d6000803e3d6000fd5b81600f60008282546120869190612409565b9091555050601b80548291906000906120a090849061243e565b90915550505050565b80601b60020160008282546120be919061243e565b90915550503060009081526007602052604090205460ff16156121005730600090815260056020526040812080548392906120fa90849061243e565b90915550505b30600090815260046020526040812080548492906120a090849061243e565b80601b60010160008282546120be919061243e565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208083528351808285015260005b818110156121ad57858101830151858201604001528201612191565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f5057600080fd5b600080604083850312156121f657600080fd5b8235612201816121ce565b946020939093013593505050565b60008060006060848603121561222457600080fd5b833561222f816121ce565b9250602084013561223f816121ce565b929592945050506040919091013590565b60006020828403121561226257600080fd5b5035919050565b6000806040838503121561227c57600080fd5b823591506020830135801515811461229357600080fd5b809150509250929050565b6000602082840312156122b057600080fd5b8135610846816121ce565b600080604083850312156122ce57600080fd5b82356122d9816121ce565b91506020830135612293816121ce565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561233a578160001904821115612320576123206122e9565b8085161561232d57918102915b93841c9390800290612304565b509250929050565b60008261235157506001610714565b8161235e57506000610714565b8160018114612374576002811461237e5761239a565b6001915050610714565b60ff84111561238f5761238f6122e9565b50506001821b610714565b5060208310610133831016604e8410600b84101617156123bd575081810a610714565b6123c783836122ff565b80600019048211156123db576123db6122e9565b029392505050565b600061084660ff841683612342565b8082028115828204841417610714576107146122e9565b81810381811115610714576107146122e9565b60008261243957634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610714576107146122e9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561249857600080fd5b8151610846816121ce565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b6000806000606084860312156124f357600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600060018201612534576125346122e9565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561258b5784516001600160a01b031683529383019391830191600101612566565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c666ee0d89f615344280ae17e9f3eb0f120a4e258a15ea3014e4ba588fe828eb64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102135760003560e01c806385141a7711610118578063a9059cbb116100a0578063f25f4b561161006f578063f25f4b561461066f578063f2fde38b1461068f578063f66895a3146106af578063f887ea40146106ce578063fb201b1d146106ee57600080fd5b8063a9059cbb146105de578063af465a27146105fe578063dd62ed3e14610613578063e2f456051461065957600080fd5b806395d89b41116100e757806395d89b41146105445780639a06b113146105775780639ba5e4d51461057f578063a457c2d71461059e578063a8aa1b31146105be57600080fd5b806385141a77146104b757806388f82020146104d75780638da5cb5b146105105780638f9a55c01461052e57600080fd5b80634ada218b1161019b578063715018a61161016a578063715018a614610405578063728f8eea1461041a578063751039fc1461045457806375f0a874146104695780637d1db4a5146104a157600080fd5b80634ada218b1461037257806352390c021461038c5780635342acb4146103ac57806370a08231146103e557600080fd5b806323b872dd116101e257806323b872dd146102d65780632d838119146102f6578063313ce5671461031657806339509351146103325780634549b0391461035257600080fd5b806306fdde031461021f578063095ea7b31461026c57806318160ddd1461029c57806320800a00146102bf57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b506040805180820190915260128152714e617364617136393030206973206c69766560701b60208201525b6040516102639190612180565b60405180910390f35b34801561027857600080fd5b5061028c6102873660046121e3565b610703565b6040519015158152602001610263565b3480156102a857600080fd5b506102b161071a565b604051908152602001610263565b3480156102cb57600080fd5b506102d461073b565b005b3480156102e257600080fd5b5061028c6102f136600461220f565b610779565b34801561030257600080fd5b506102b1610311366004612250565b61082f565b34801561032257600080fd5b5060405160098152602001610263565b34801561033e57600080fd5b5061028c61034d3660046121e3565b61084d565b34801561035e57600080fd5b506102b161036d366004612269565b610884565b34801561037e57600080fd5b50600d5461028c9060ff1681565b34801561039857600080fd5b506102d46103a736600461229e565b61092f565b3480156103b857600080fd5b5061028c6103c736600461229e565b6001600160a01b03166000908152600e602052604090205460ff1690565b3480156103f157600080fd5b506102b161040036600461229e565b610a82565b34801561041157600080fd5b506102d4610ae1565b34801561042657600080fd5b5060125460135460145461043992919083565b60408051938452602084019290925290820152606001610263565b34801561046057600080fd5b506102d4610b17565b34801561047557600080fd5b50600954610489906001600160a01b031681565b6040516001600160a01b039091168152602001610263565b3480156104ad57600080fd5b506102b1601e5481565b3480156104c357600080fd5b50600854610489906001600160a01b031681565b3480156104e357600080fd5b5061028c6104f236600461229e565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561051c57600080fd5b506000546001600160a01b0316610489565b34801561053a57600080fd5b506102b1601f5481565b34801561055057600080fd5b5060408051808201909152600a81526904e4153444151363930360b41b6020820152610256565b6102d4610b7d565b34801561058b57600080fd5b50601b54601c54601d5461043992919083565b3480156105aa57600080fd5b5061028c6105b93660046121e3565b610df3565b3480156105ca57600080fd5b50600254610489906001600160a01b031681565b3480156105ea57600080fd5b5061028c6105f93660046121e3565b610e8e565b34801561060a57600080fd5b506102b1610e9b565b34801561061f57600080fd5b506102b161062e3660046122bb565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561066557600080fd5b506102b160205481565b34801561067b57600080fd5b50600a54610489906001600160a01b031681565b34801561069b57600080fd5b506102d46106aa36600461229e565b610eb8565b3480156106bb57600080fd5b5060155460165460175461043992919083565b3480156106da57600080fd5b50600154610489906001600160a01b031681565b3480156106fa57600080fd5b506102d4610f53565b6000610710338484610fe5565b5060015b92915050565b60006107286009600a6123e3565b61073690633b9aca006123f2565b905090565b60095460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610775573d6000803e3d6000fd5b5050565b6000610786848484611109565b6001600160a01b0384166000908152600360209081526040808320338452909152902054828110156108105760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610824853361081f8685612409565b610fe5565b506001949350505050565b60008061083a611587565b9050610846818461241c565b9392505050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161071091859061081f90869061243e565b60006108926009600a6123e3565b6108a090633b9aca006123f2565b8311156108ef5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610807565b8161091057600061090684600160008060006115aa565b5191506107149050565b600061092284600160008060006115aa565b6020015191506107149050565b6000546001600160a01b031633146109595760405162461bcd60e51b815260040161080790612451565b6001600160a01b03811660009081526007602052604090205460ff16156109c25760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610807565b6001600160a01b03811660009081526004602052604090205415610a1c576001600160a01b038116600090815260046020526040902054610a029061082f565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600760205260408120805460ff19166001908117909155600c805491820181559091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b0319169091179055565b6001600160a01b03811660009081526007602052604081205460ff1615610abf57506001600160a01b031660009081526005602052604090205490565b6001600160a01b0382166000908152600460205260409020546107149061082f565b6000546001600160a01b03163314610b0b5760405162461bcd60e51b815260040161080790612451565b610b1560006115f3565b565b6000546001600160a01b03163314610b415760405162461bcd60e51b815260040161080790612451565b610b4d6009600a6123e3565b610b5b90633b9aca006123f2565b601e55610b6a6009600a6123e3565b610b7890633b9aca006123f2565b601f55565b6000546001600160a01b03163314610ba75760405162461bcd60e51b815260040161080790612451565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1e9190612486565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca49190612486565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d159190612486565b600280546001600160a01b0319166001600160a01b03928316179055600154610d4391309116600019610fe5565b600254610d58906001600160a01b031661092f565b6001546001600160a01b031663f305d7193430610d7481610a82565b600080610d896000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610dab969594939291906124a3565b60606040518083038185885af1158015610dc9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dee91906124de565b505050565b3360009081526003602090815260408083206001600160a01b038616845290915281205482811015610e755760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610807565b610e84338561081f8685612409565b5060019392505050565b6000610710338484611109565b610ea76009600a6123e3565b610eb590633b9aca006123f2565b81565b6000546001600160a01b03163314610ee25760405162461bcd60e51b815260040161080790612451565b6001600160a01b038116610f475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610807565b610f50816115f3565b50565b6000546001600160a01b03163314610f7d5760405162461bcd60e51b815260040161080790612451565b600d5460ff1615610fd05760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742072652d656e61626c652074726164696e6700000000000000006044820152606401610807565b600d805461ffff191661010117905543601055565b6001600160a01b0383166110475760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610807565b6001600160a01b0382166110a85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610807565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661116d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610807565b6001600160a01b0382166111cf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610807565b600081116112315760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610807565b6001600160a01b03831660009081526006602052604090205460ff1615801561127357506001600160a01b03821660009081526006602052604090205460ff16155b156112bf57600d5460ff166112bf5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b6044820152606401610807565b6002546001600160a01b0384811691161480156112ea57506002546001600160a01b03838116911614155b801561130f57506001600160a01b03821660009081526006602052604090205460ff16155b156113cb57601e548111156113665760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610807565b601f548161137384610a82565b61137d919061243e565b11156113cb5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610807565b60006020546113d930610a82565b600d54911115915062010000900460ff161580156113fe5750600d54610100900460ff165b80156114075750805b8015611414575060205482115b801561142e57506002546001600160a01b03858116911614155b801561145357506001600160a01b03841660009081526006602052604090205460ff16155b801561147857506001600160a01b03831660009081526006602052604090205460ff16155b156114c0576002546001600160a01b03908116908416036114c0576020805460408051606081018252601554815260165493810193909352601754908301526114c091611643565b600d5460019060009062010000900460ff16806114f557506001600160a01b03861660009081526006602052604090205460ff165b8061151857506001600160a01b03851660009081526006602052604090205460ff165b1561152257600091505b6002546001600160a01b039081169086160361153c575060015b6002546001600160a01b0387811691161480159061156857506002546001600160a01b03868116911614155b1561157257600091505b61157f8686868585611760565b505050505050565b6000806000611594611a6c565b90925090506115a3818361241c565b9250505090565b6115b2612134565b6115be86868686611c4f565b90506115d48187876115ce611587565b86611dac565b6080860152606085015260408401526020830152815295945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600d805462ff00001916620100001790556020810151604082015160009161166a9161243e565b6116759060026123f2565b9050806000036116855750611750565b60008183604001518561169891906123f2565b6116a2919061241c565b905060006116b08286612409565b9050476116bc82611e4a565b60006116c88247612409565b905060008660400151866116dc9190612409565b6116e6908361241c565b905060008760400151826116fa91906123f2565b9050801561170c5761170c8682611f9c565b602088015160009061171f8460026123f2565b61172991906123f2565b9050801561174757600a54611747906001600160a01b03168261203e565b50505050505050505b5050600d805462ff000019169055565b6001600160a01b03851660009081526006602052604081205460ff161580156117a257506001600160a01b03851660009081526006602052604090205460ff16155b80156117bc57506011546010546117b9919061243e565b43105b905060006117ee858585856117e98c6001600160a01b03166000908152600e602052604090205460ff1690565b6115aa565b6001600160a01b03881660009081526007602052604090205490915060ff1615611850576001600160a01b038716600090815260056020526040902054611836908690612409565b6001600160a01b0388166000908152600560205260409020555b6001600160a01b03861660009081526007602052604090205460ff16156118b35760a08101516001600160a01b038716600090815260056020526040902054611899919061243e565b6001600160a01b0387166000908152600560205260409020555b80516001600160a01b0388166000908152600460205260409020546118d89190612409565b6001600160a01b038089166000908152600460209081526040808320949094558401519189168152919091205461190f919061243e565b6001600160a01b0387166000908152600460205260409081902091909155810151151580611941575060008160c00151115b156119585761195881604001518260c00151612074565b60008160800151118061197057506000816101000151115b156119e45761198881608001518261010001516120a9565b306001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360e001518461010001516119d2919061243e565b60405190815260200160405180910390a35b6000816060015111806119fb575060008160e00151115b15611a1257611a1281606001518260e0015161211f565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360a00151604051611a5b91815260200190565b60405180910390a350505050505050565b600f54600090819081611a816009600a6123e3565b611a8f90633b9aca006123f2565b905060005b600c54811015611bf0578260046000600c8481548110611ab657611ab661250c565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611b2157508160056000600c8481548110611afa57611afa61250c565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611b4e57600f54611b356009600a6123e3565b611b4390633b9aca006123f2565b945094505050509091565b60046000600c8381548110611b6557611b6561250c565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611b949084612409565b925060056000600c8381548110611bad57611bad61250c565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611bdc9083612409565b915080611be881612522565b915050611a94565b50611bfd6009600a6123e3565b611c0b90633b9aca006123f2565b600f54611c18919061241c565b821015611c4657600f54611c2e6009600a6123e3565b611c3c90633b9aca006123f2565b9350935050509091565b90939092509050565b611c57612134565b83611c685760a08101859052611da4565b611c8c60405180606001604052806000815260200160008152602001600081525090565b838015611c97575082155b15611cc35750604080516060810182526015548152601654602082015260175491810191909152611d12565b82611cef5750604080516060810182526012548152601354602082015260145491810191909152611d12565b506040805160608101825260185481526019546020820152601a54918101919091525b8051606490611d2190886123f2565b611d2b919061241c565b60c08301526020810151606490611d4290886123f2565b611d4c919061241c565b60e08301526040810151606490611d6390886123f2565b611d6d919061241c565b610100830181905260e083015160c0840151611d899089612409565b611d939190612409565b611d9d9190612409565b60a0830152505b949350505050565b600080808080611dbc878a6123f2565b945087611de35785611dce5784611dd1565b60005b94935060009250829150819050611e3d565b868a60c00151611df391906123f2565b9250868a60e00151611e0591906123f2565b9150868a6101000151611e1891906123f2565b90508082611e268588612409565b611e309190612409565b611e3a9190612409565b93505b9550955095509550959050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611e7f57611e7f61250c565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efc9190612486565b81600181518110611f0f57611f0f61250c565b6001600160a01b039283166020918202929092010152600154611f359130911684610fe5565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611f6e90859060009086903090429060040161253b565b600060405180830381600087803b158015611f8857600080fd5b505af115801561157f573d6000803e3d6000fd5b600154611fb49030906001600160a01b031684610fe5565b60015460085460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611ff492309289926000928392169042906004016124a3565b60606040518083038185885af1158015612012573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061203791906124de565b5050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610dee573d6000803e3d6000fd5b81600f60008282546120869190612409565b9091555050601b80548291906000906120a090849061243e565b90915550505050565b80601b60020160008282546120be919061243e565b90915550503060009081526007602052604090205460ff16156121005730600090815260056020526040812080548392906120fa90849061243e565b90915550505b30600090815260046020526040812080548492906120a090849061243e565b80601b60010160008282546120be919061243e565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208083528351808285015260005b818110156121ad57858101830151858201604001528201612191565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f5057600080fd5b600080604083850312156121f657600080fd5b8235612201816121ce565b946020939093013593505050565b60008060006060848603121561222457600080fd5b833561222f816121ce565b9250602084013561223f816121ce565b929592945050506040919091013590565b60006020828403121561226257600080fd5b5035919050565b6000806040838503121561227c57600080fd5b823591506020830135801515811461229357600080fd5b809150509250929050565b6000602082840312156122b057600080fd5b8135610846816121ce565b600080604083850312156122ce57600080fd5b82356122d9816121ce565b91506020830135612293816121ce565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561233a578160001904821115612320576123206122e9565b8085161561232d57918102915b93841c9390800290612304565b509250929050565b60008261235157506001610714565b8161235e57506000610714565b8160018114612374576002811461237e5761239a565b6001915050610714565b60ff84111561238f5761238f6122e9565b50506001821b610714565b5060208310610133831016604e8410600b84101617156123bd575081810a610714565b6123c783836122ff565b80600019048211156123db576123db6122e9565b029392505050565b600061084660ff841683612342565b8082028115828204841417610714576107146122e9565b81810381811115610714576107146122e9565b60008261243957634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610714576107146122e9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561249857600080fd5b8151610846816121ce565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b6000806000606084860312156124f357600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600060018201612534576125346122e9565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561258b5784516001600160a01b031683529383019391830191600101612566565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c666ee0d89f615344280ae17e9f3eb0f120a4e258a15ea3014e4ba588fe828eb64736f6c63430008130033

Deployed Bytecode Sourcemap

3450:16365:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6832:83;;;;;;;;;;-1:-1:-1;6902:5:0;;;;;;;;;;;;-1:-1:-1;;;6902:5:0;;;;6832:83;;;;;;;:::i;:::-;;;;;;;;7569:161;;;;;;;;;;-1:-1:-1;7569:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7569:161:0;1023:187:1;7109:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;7109:95:0;1215:177:1;17848:163:0;;;;;;;;;;;;;:::i;:::-;;7738:448;;;;;;;;;;-1:-1:-1;7738:448:0;;;;;:::i;:::-;;:::i;9868:253::-;;;;;;;;;;-1:-1:-1;9868:253:0;;;;;:::i;:::-;;:::i;7018:83::-;;;;;;;;;;-1:-1:-1;7018:83:0;;4500:1;2185:36:1;;2173:2;2158:18;7018:83:0;2043:184:1;8194:207:0;;;;;;;;;;-1:-1:-1;8194:207:0;;;;;:::i;:::-;;:::i;8809:531::-;;;;;;;;;;-1:-1:-1;8809:531:0;;;;;:::i;:::-;;:::i;4371:26::-;;;;;;;;;;-1:-1:-1;4371:26:0;;;;;;;;10129:332;;;;;;;;;;-1:-1:-1;10129:332:0;;;;;:::i;:::-;;:::i;10469:125::-;;;;;;;;;;-1:-1:-1;10469:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;10558:28:0;10534:4;10558:28;;;:19;:28;;;;;;;;;10469:125;7212:198;;;;;;;;;;-1:-1:-1;7212:198:0;;;;;:::i;:::-;;:::i;1396:94::-;;;;;;;;;;;;;:::i;5038:35::-;;;;;;;;;;-1:-1:-1;5038:35:0;;;;;;;;;;;;;;;;3032:25:1;;;3088:2;3073:18;;3066:34;;;;3116:18;;;3109:34;3020:2;3005:18;5038:35:0;2830:319:1;19175:116:0;;;;;;;;;;;;;:::i;4093:76::-;;;;;;;;;;-1:-1:-1;4093:76:0;;;;-1:-1:-1;;;;;4093:76:0;;;;;;-1:-1:-1;;;;;3318:32:1;;;3300:51;;3288:2;3273:18;4093:76:0;3154:203:1;5648:49:0;;;;;;;;;;;;;;;;4016:70;;;;;;;;;;-1:-1:-1;4016:70:0;;;;-1:-1:-1;;;;;4016:70:0;;;9521:120;;;;;;;;;;-1:-1:-1;9521:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;9613:20:0;9589:4;9613:20;;;:11;:20;;;;;;;;;9521:120;1173:87;;;;;;;;;;-1:-1:-1;1219:7:0;1246:6;-1:-1:-1;;;;;1246:6:0;1173:87;;5704:51;;;;;;;;;;;;;;;;6923:87;;;;;;;;;;-1:-1:-1;6995:7:0;;;;;;;;;;;;-1:-1:-1;;;6995:7:0;;;;6923:87;;6359:461;;;:::i;5176:36::-;;;;;;;;;;-1:-1:-1;5176:36:0;;;;;;;;;;;;8409:392;;;;;;;;;;-1:-1:-1;8409:392:0;;;;;:::i;:::-;;:::i;3573:19::-;;;;;;;;;;-1:-1:-1;3573:19:0;;;;-1:-1:-1;;;;;3573:19:0;;;9348:165;;;;;;;;;;-1:-1:-1;9348:165:0;;;;;:::i;:::-;;:::i;4609:63::-;;;;;;;;;;;;;:::i;7418:143::-;;;;;;;;;;-1:-1:-1;7418:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7526:18:0;;;7499:7;7526:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7418:143;5762:50;;;;;;;;;;;;;;;;4176:70;;;;;;;;;;-1:-1:-1;4176:70:0;;;;-1:-1:-1;;;;;4176:70:0;;;1498:192;;;;;;;;;;-1:-1:-1;1498:192:0;;;;;:::i;:::-;;:::i;5080:39::-;;;;;;;;;;-1:-1:-1;5080:39:0;;;;;;;;;;;;3545:21;;;;;;;;;;-1:-1:-1;3545:21:0;;;;-1:-1:-1;;;;;3545:21:0;;;9649:211;;;;;;;;;;;;;:::i;7569:161::-;7644:4;7661:39;325:10;7684:7;7693:6;7661:8;:39::i;:::-;-1:-1:-1;7718:4:0;7569:161;;;;;:::o;7109:95::-;7162:7;4659:13;4500:1;4659:2;:13;:::i;:::-;4643:29;;:13;:29;:::i;:::-;7182:14;;7109:95;:::o;17848:163::-;17958:15;;17950:53;;17918:21;;-1:-1:-1;;;;;17958:15:0;;17950:53;;;;;17918:21;;17889:26;17950:53;17889:26;17950:53;17918:21;17958:15;17950:53;;;;;;;;;;;;;;;;;;;;;17878:133;17848:163::o;7738:448::-;7870:4;7887:36;7897:6;7905:9;7916:6;7887:9;:36::i;:::-;-1:-1:-1;;;;;7963:19:0;;7936:24;7963:19;;;:11;:19;;;;;;;;325:10;7963:33;;;;;;;;8015:26;;;;8007:79;;;;-1:-1:-1;;;8007:79:0;;5868:2:1;8007:79:0;;;5850:21:1;5907:2;5887:18;;;5880:30;5946:34;5926:18;;;5919:62;-1:-1:-1;;;5997:18:1;;;5990:38;6045:19;;8007:79:0;;;;;;;;;8097:57;8106:6;325:10;8128:25;8147:6;8128:16;:25;:::i;:::-;8097:8;:57::i;:::-;-1:-1:-1;8174:4:0;;7738:448;-1:-1:-1;;;;7738:448:0:o;9868:253::-;9935:7;10042:19;10064:10;:8;:10::i;:::-;10042:32;-1:-1:-1;10092:21:0;10042:32;10092:7;:21;:::i;:::-;10085:28;9868:253;-1:-1:-1;;;9868:253:0:o;8194:207::-;325:10;8274:4;8323:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8323:34:0;;;;;;;;;;8274:4;;8291:80;;8314:7;;8323:47;;8360:10;;8323:47;:::i;8809:531::-;8927:7;4659:13;4500:1;4659:2;:13;:::i;:::-;4643:29;;:13;:29;:::i;:::-;8960:7;:18;;8952:62;;;;-1:-1:-1;;;8952:62:0;;6762:2:1;8952:62:0;;;6744:21:1;6801:2;6781:18;;;6774:30;6840:33;6820:18;;;6813:61;6891:18;;8952:62:0;6560:355:1;8952:62:0;9030:17;9025:308;;9064:28;9095:46;9106:7;9115:4;9121:5;9128;9135;9095:10;:46::i;:::-;9163:9;;-1:-1:-1;9156:16:0;;-1:-1:-1;9156:16:0;9025:308;9205:28;9236:46;9247:7;9256:4;9262:5;9269;9276;9236:10;:46::i;:::-;9304:17;;;;-1:-1:-1;9297:24:0;;-1:-1:-1;9297:24:0;10129:332;1219:7;1246:6;-1:-1:-1;;;;;1246:6:0;325:10;1308:23;1300:68;;;;-1:-1:-1;;;1300:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10210:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;10209:21;10201:61;;;::::0;-1:-1:-1;;;10201:61:0;;7483:2:1;10201:61:0::1;::::0;::::1;7465:21:1::0;7522:2;7502:18;;;7495:30;7561:29;7541:18;;;7534:57;7608:18;;10201:61:0::1;7281:351:1::0;10201:61:0::1;-1:-1:-1::0;;;;;10277:16:0;::::1;10296:1;10277:16:::0;;;:7:::1;:16;::::0;;;;;:20;10273:109:::1;;-1:-1:-1::0;;;;;10353:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;10333:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;10314:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;10273:109:::1;-1:-1:-1::0;;;;;10392:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;10392:27:0::1;10415:4;10392:27:::0;;::::1;::::0;;;10430:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;10430:23:0::1;::::0;;::::1;::::0;;10129:332::o;7212:198::-;-1:-1:-1;;;;;7302:20:0;;7278:7;7302:20;;;:11;:20;;;;;;;;7298:49;;;-1:-1:-1;;;;;;7331:16:0;;;;;:7;:16;;;;;;;7212:198::o;7298:49::-;-1:-1:-1;;;;;7385:16:0;;;;;;:7;:16;;;;;;7365:37;;:19;:37::i;1396:94::-;1219:7;1246:6;-1:-1:-1;;;;;1246:6:0;325:10;1308:23;1300:68;;;;-1:-1:-1;;;1300:68:0;;;;;;;:::i;:::-;1461:21:::1;1479:1;1461:9;:21::i;:::-;1396:94::o:0;19175:116::-;1219:7;1246:6;-1:-1:-1;;;;;1246:6:0;325:10;1308:23;1300:68;;;;-1:-1:-1;;;1300:68:0;;;;;;;:::i;:::-;4659:13:::1;4500:1;4659:2;:13;:::i;:::-;4643:29;::::0;:13:::1;:29;:::i;:::-;19228:12;:22:::0;4659:13:::1;4500:1;4659:2;:13;:::i;:::-;4643:29;::::0;:13:::1;:29;:::i;:::-;19261:14;:22:::0;19175:116::o;6359:461::-;1219:7;1246:6;-1:-1:-1;;;;;1246:6:0;325:10;1308:23;1300:68;;;;-1:-1:-1;;;1300:68:0;;;;;;;:::i;:::-;6435:6:::1;;;;;;;;;-1:-1:-1::0;;;;;6435:6:0::1;-1:-1:-1::0;;;;;6435:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6426:37:0::1;;6472:4;6479:6;;;;;;;;;-1:-1:-1::0;;;;;6479:6:0::1;-1:-1:-1::0;;;;;6479:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6426:67;::::0;-1:-1:-1;;;;;;6426:67:0::1;::::0;;;;;;-1:-1:-1;;;;;8123:15:1;;;6426:67:0::1;::::0;::::1;8105:34:1::0;8175:15;;8155:18;;;8148:43;8040:18;;6426:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6419:4;:74:::0;;-1:-1:-1;;;;;;6419:74:0::1;-1:-1:-1::0;;;;;6419:74:0;;::::1;;::::0;;-1:-1:-1;6536:6:0;6504:59:::1;::::0;6521:4:::1;::::0;6536:6:::1;-1:-1:-1::0;;6504:8:0::1;:59::i;:::-;6592:4;::::0;6574:23:::1;::::0;-1:-1:-1;;;;;6592:4:0::1;6574:17;:23::i;:::-;6608:6;::::0;-1:-1:-1;;;;;6608:6:0::1;:22;6638:9;6671:4;6691:24;6671:4:::0;6691:9:::1;:24::i;:::-;6730:1;6747::::0;6764:7:::1;1219::::0;1246:6;-1:-1:-1;;;;;1246:6:0;;1173:87;6764:7:::1;6786:15;6608:204;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6359:461::o:0;8409:392::-;325:10;8512:4;8561:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8561:34:0;;;;;;;;;;8614:35;;;;8606:85;;;;-1:-1:-1;;;8606:85:0;;9327:2:1;8606:85:0;;;9309:21:1;9366:2;9346:18;;;9339:30;9405:34;9385:18;;;9378:62;-1:-1:-1;;;9456:18:1;;;9449:35;9501:19;;8606:85:0;9125:401:1;8606:85:0;8702:67;325:10;8725:7;8734:34;8753:15;8734:16;:34;:::i;8702:67::-;-1:-1:-1;8789:4:0;;8409:392;-1:-1:-1;;;8409:392:0:o;9348:165::-;9426:4;9443:40;9453:10;9465:9;9476:6;9443:9;:40::i;4609:63::-;4659:13;4500:1;4659:2;:13;:::i;:::-;4643:29;;:13;:29;:::i;:::-;4609:63;:::o;1498:192::-;1219:7;1246:6;-1:-1:-1;;;;;1246:6:0;325:10;1308:23;1300:68;;;;-1:-1:-1;;;1300:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1587:22:0;::::1;1579:73;;;::::0;-1:-1:-1;;;1579:73:0;;9733:2:1;1579:73:0::1;::::0;::::1;9715:21:1::0;9772:2;9752:18;;;9745:30;9811:34;9791:18;;;9784:62;-1:-1:-1;;;9862:18:1;;;9855:36;9908:19;;1579:73:0::1;9531:402:1::0;1579:73:0::1;1663:19;1673:8;1663:9;:19::i;:::-;1498:192:::0;:::o;9649:211::-;1219:7;1246:6;-1:-1:-1;;;;;1246:6:0;325:10;1308:23;1300:68;;;;-1:-1:-1;;;1300:68:0;;;;;;;:::i;:::-;9709:14:::1;::::0;::::1;;9708:15;9700:52;;;::::0;-1:-1:-1;;;9700:52:0;;10140:2:1;9700:52:0::1;::::0;::::1;10122:21:1::0;10179:2;10159:18;;;10152:30;10218:26;10198:18;;;10191:54;10262:18;;9700:52:0::1;9938:348:1::0;9700:52:0::1;9763:14;:21:::0;;-1:-1:-1;;9795:18:0;;;;;9840:12:::1;9824:13;:28:::0;9649:211::o;12947:369::-;-1:-1:-1;;;;;13074:19:0;;13066:68;;;;-1:-1:-1;;;13066:68:0;;10493:2:1;13066:68:0;;;10475:21:1;10532:2;10512:18;;;10505:30;10571:34;10551:18;;;10544:62;-1:-1:-1;;;10622:18:1;;;10615:34;10666:19;;13066:68:0;10291:400:1;13066:68:0;-1:-1:-1;;;;;13153:21:0;;13145:68;;;;-1:-1:-1;;;13145:68:0;;10898:2:1;13145:68:0;;;10880:21:1;10937:2;10917:18;;;10910:30;10976:34;10956:18;;;10949:62;-1:-1:-1;;;11027:18:1;;;11020:32;11069:19;;13145:68:0;10696:398:1;13145:68:0;-1:-1:-1;;;;;13224:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13276:32;;1361:25:1;;;13276:32:0;;1334:18:1;13276:32:0;;;;;;;12947:369;;;:::o;14700:1436::-;-1:-1:-1;;;;;14822:18:0;;14814:68;;;;-1:-1:-1;;;14814:68:0;;11301:2:1;14814:68:0;;;11283:21:1;11340:2;11320:18;;;11313:30;11379:34;11359:18;;;11352:62;-1:-1:-1;;;11430:18:1;;;11423:35;11475:19;;14814:68:0;11099:401:1;14814:68:0;-1:-1:-1;;;;;14901:16:0;;14893:64;;;;-1:-1:-1;;;14893:64:0;;11707:2:1;14893:64:0;;;11689:21:1;11746:2;11726:18;;;11719:30;11785:34;11765:18;;;11758:62;-1:-1:-1;;;11836:18:1;;;11829:33;11879:19;;14893:64:0;11505:399:1;14893:64:0;14985:1;14976:6;:10;14968:64;;;;-1:-1:-1;;;14968:64:0;;12111:2:1;14968:64:0;;;12093:21:1;12150:2;12130:18;;;12123:30;12189:34;12169:18;;;12162:62;-1:-1:-1;;;12240:18:1;;;12233:39;12289:19;;14968:64:0;11909:405:1;14968:64:0;-1:-1:-1;;;;;15050:24:0;;;;;;:18;:24;;;;;;;;15049:25;:52;;;;-1:-1:-1;;;;;;15079:22:0;;;;;;:18;:22;;;;;;;;15078:23;15049:52;15045:130;;;15126:14;;;;15118:45;;;;-1:-1:-1;;;15118:45:0;;12521:2:1;15118:45:0;;;12503:21:1;12560:2;12540:18;;;12533:30;-1:-1:-1;;;12579:18:1;;;12572:48;12637:18;;15118:45:0;12319:342:1;15118:45:0;15199:4;;-1:-1:-1;;;;;15191:12:0;;;15199:4;;15191:12;:35;;;;-1:-1:-1;15221:4:0;;-1:-1:-1;;;;;15207:19:0;;;15221:4;;15207:19;;15191:35;:62;;;;-1:-1:-1;;;;;;15231:22:0;;;;;;:18;:22;;;;;;;;15230:23;15191:62;15187:250;;;15289:12;;15279:6;:22;;15271:60;;;;-1:-1:-1;;;15271:60:0;;12868:2:1;15271:60:0;;;12850:21:1;12907:2;12887:18;;;12880:30;12946:27;12926:18;;;12919:55;12991:18;;15271:60:0;12666:349:1;15271:60:0;15380:14;;15370:6;15354:13;15364:2;15354:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;15346:79;;;;-1:-1:-1;;;15346:79:0;;13222:2:1;15346:79:0;;;13204:21:1;13261:2;13241:18;;;13234:30;13300:28;13280:18;;;13273:56;13346:18;;15346:79:0;13020:350:1;15346:79:0;15449:12;15492:18;;15464:24;15482:4;15464:9;:24::i;:::-;15526:8;;-1:-1:-1;;15464:46:0;;-1:-1:-1;15526:8:0;;;;;15525:9;:24;;;;-1:-1:-1;15538:11:0;;;;;;;15525:24;:35;;;;;15553:7;15525:35;:66;;;;;15573:18;;15564:6;:27;15525:66;:82;;;;-1:-1:-1;15603:4:0;;-1:-1:-1;;;;;15595:12:0;;;15603:4;;15595:12;;15525:82;:111;;;;-1:-1:-1;;;;;;15612:24:0;;;;;;:18;:24;;;;;;;;15611:25;15525:111;:148;;;;-1:-1:-1;;;;;;15651:22:0;;;;;;:18;:22;;;;;;;;15650:23;15525:148;15521:252;;;15710:4;;-1:-1:-1;;;;;15710:4:0;;;15704:10;;;;15700:61;;15731:18;;;15716:45;;;;;;;;15751:9;15716:45;;;;;;;;;;;;;;;;;;;;:14;:45::i;:::-;15847:8;;15798:4;;15783:12;;15847:8;;;;;;:36;;-1:-1:-1;;;;;;15859:24:0;;;;;;:18;:24;;;;;;;;15847:36;:62;;;-1:-1:-1;;;;;;15887:22:0;;;;;;:18;:22;;;;;;;;15847:62;15843:83;;;15921:5;15911:15;;15843:83;15947:4;;-1:-1:-1;;;;;15947:4:0;;;15941:10;;;;15937:29;;-1:-1:-1;15962:4:0;15937:29;15989:4;;-1:-1:-1;;;;;15981:12:0;;;15989:4;;15981:12;;;;:26;;-1:-1:-1;16003:4:0;;-1:-1:-1;;;;;15997:10:0;;;16003:4;;15997:10;;15981:26;15977:83;;;16044:5;16034:15;;15977:83;16079:49;16094:4;16100:2;16104:6;16112:7;16121:6;16079:14;:49::i;:::-;14803:1333;;;14700:1436;;;:::o;11314:161::-;11356:7;11377:15;11394;11413:19;:17;:19::i;:::-;11376:56;;-1:-1:-1;11376:56:0;-1:-1:-1;11450:17:0;11376:56;;11450:17;:::i;:::-;11443:24;;;;11314:161;:::o;14099:591::-;14273:36;;:::i;:::-;14334:51;14346:7;14355;14364:6;14372:12;14334:11;:51::i;:::-;14322:63;;14581:65;14594:9;14605:7;14614;14623:10;:8;:10::i;:::-;14635;14581:12;:65::i;:::-;14547:20;;;14396:250;14512:20;;;14396:250;14483:14;;;14396:250;14443:25;;;14396:250;;;14099:591;;;;;;;:::o;1698:173::-;1754:16;1773:6;;-1:-1:-1;;;;;1790:17:0;;;-1:-1:-1;;;;;;1790:17:0;;;;;;1823:40;;1773:6;;;;;;;1823:40;;1754:16;1823:40;1743:128;1698:173;:::o;18140:1027::-;5580:8;:15;;-1:-1:-1;;5580:15:0;;;;;18292:14:::1;::::0;::::1;::::0;18262::::1;::::0;::::1;::::0;5580:15;;18262:44:::1;::::0;::::1;:::i;:::-;18261:50;::::0;18310:1:::1;18261:50;:::i;:::-;18239:72;;18328:11;18343:1;18328:16:::0;18324:54:::1;;18360:7;;;18324:54;18390:32;18462:11;18444:4;:14;;;18426:15;:32;;;;:::i;:::-;18425:48;;;;:::i;:::-;18390:83:::0;-1:-1:-1;18484:14:0::1;18501:42;18390:83:::0;18501:15;:42:::1;:::i;:::-;18484:59:::0;-1:-1:-1;18579:21:0::1;18611:24;18484:59:::0;18611:16:::1;:24::i;:::-;18646:20;18669:38;18693:14:::0;18669:21:::1;:38;:::i;:::-;18646:61;;18718:19;18770:4;:14;;;18756:11;:28;;;;:::i;:::-;18740:45;::::0;:12;:45:::1;:::i;:::-;18718:67;;18796:29;18842:4;:14;;;18828:11;:28;;;;:::i;:::-;18796:60:::0;-1:-1:-1;18873:25:0;;18869:119:::1;;18915:61;18928:24;18954:21;18915:12;:61::i;:::-;19041:14;::::0;::::1;::::0;19000:20:::1;::::0;19023:15:::1;:11:::0;19037:1:::1;19023:15;:::i;:::-;:32;;;;:::i;:::-;19000:55:::0;-1:-1:-1;19070:16:0;;19066:94:::1;;19123:9;::::0;19103:45:::1;::::0;-1:-1:-1;;;;;19123:9:0::1;19135:12:::0;19103:11:::1;:45::i;:::-;18228:939;;;;;;;;5606:1;-1:-1:-1::0;;5618:8:0;:16;;-1:-1:-1;;5618:16:0;;;18140:1027::o;16146:1283::-;-1:-1:-1;;;;;16285:26:0;;16264:17;16285:26;;;:18;:26;;;;;;;;16284:27;:61;;;;-1:-1:-1;;;;;;16316:29:0;;;;;;:18;:29;;;;;;;;16315:30;16284:61;:104;;;;;16380:8;;16364:13;;:24;;;;:::i;:::-;16349:12;:39;16284:104;16264:124;;16401:28;16432:77;16443:7;16452;16461:6;16469:12;16483:25;16501:6;-1:-1:-1;;;;;10558:28:0;10534:4;10558:28;;;:19;:28;;;;;;;;;10469:125;16483:25;16432:10;:77::i;:::-;-1:-1:-1;;;;;16526:19:0;;;;;;:11;:19;;;;;;16401:108;;-1:-1:-1;16526:19:0;;16522:124;;;-1:-1:-1;;;;;16609:15:0;;;;;;:7;:15;;;;;;:25;;16627:7;;16609:25;:::i;:::-;-1:-1:-1;;;;;16591:15:0;;;;;;:7;:15;;;;;:43;16522:124;-1:-1:-1;;;;;16660:22:0;;;;;;:11;:22;;;;;;;;16656:141;;;16768:17;;;;-1:-1:-1;;;;;16747:18:0;;;;;;:7;:18;;;;;;:38;;16768:17;16747:38;:::i;:::-;-1:-1:-1;;;;;16726:18:0;;;;;;:7;:18;;;;;:59;16656:141;16845:9;;-1:-1:-1;;;;;16827:15:0;;16845:9;16827:15;;;:7;:15;;;;;;:27;;16845:9;16827:27;:::i;:::-;-1:-1:-1;;;;;16809:15:0;;;;;;;:7;:15;;;;;;;;:45;;;;16907:17;;;16886:18;;;;;;;;;;:38;;16907:17;16886:38;:::i;:::-;-1:-1:-1;;;;;16865:18:0;;;;;;:7;:18;;;;;;;:59;;;;16941:6;;;:10;;;:24;;;16964:1;16955;:6;;;:10;16941:24;16937:57;;;16967:27;16979:1;:6;;;16987:1;:6;;;16967:11;:27::i;:::-;17024:1;17009;:12;;;:16;:36;;;;17044:1;17029;:12;;;:16;17009:36;17005:257;;;17062:42;17077:1;:12;;;17091:1;:12;;;17062:14;:42::i;:::-;17184:4;-1:-1:-1;;;;;17124:126:0;17151:6;-1:-1:-1;;;;;17124:126:0;;17223:1;:12;;;17208:1;:12;;;:27;;;;:::i;:::-;17124:126;;1361:25:1;;;1349:2;1334:18;17124:126:0;;;;;;;17005:257;17291:1;17276;:12;;;:16;:36;;;;17311:1;17296;:12;;;:16;17276:36;17272:87;;;17314:45;17332:1;:12;;;17346:1;:12;;;17314:17;:45::i;:::-;17392:9;-1:-1:-1;;;;;17375:46:0;17384:6;-1:-1:-1;;;;;17375:46:0;;17403:1;:17;;;17375:46;;;;1361:25:1;;1349:2;1334:18;;1215:177;17375:46:0;;;;;;;;16253:1176;;16146:1283;;;;;:::o;12375:564::-;12473:7;;12426;;;;;4659:13;4500:1;4659:2;:13;:::i;:::-;4643:29;;:13;:29;:::i;:::-;12491:25;;12532:9;12527:300;12551:9;:16;12547:20;;12527:300;;;12617:7;12593;:21;12601:9;12611:1;12601:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12601:12:0;12593:21;;;;;;;;;;;;;:31;;:66;;;12652:7;12628;:21;12636:9;12646:1;12636:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12636:12:0;12628:21;;;;;;;;;;;;;:31;12593:66;12589:114;;;12686:7;;4659:13;4500:1;4659:2;:13;:::i;:::-;4643:29;;:13;:29;:::i;:::-;12678:25;;;;;;;12375:564;;:::o;12589:114::-;12738:7;:21;12746:9;12756:1;12746:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12746:12:0;12738:21;;;;;;;;;;;;;12728:31;;:7;:31;:::i;:::-;12718:41;;12794:7;:21;12802:9;12812:1;12802:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12802:12:0;12794:21;;;;;;;;;;;;;12784:31;;:7;:31;:::i;:::-;12774:41;-1:-1:-1;12569:3:0;;;;:::i;:::-;;;;12527:300;;;-1:-1:-1;4659:13:0;4500:1;4659:2;:13;:::i;:::-;4643:29;;:13;:29;:::i;:::-;12851:7;;:17;;;;:::i;:::-;12841:7;:27;12837:58;;;12878:7;;4659:13;4500:1;4659:2;:13;:::i;:::-;4643:29;;:13;:29;:::i;:::-;12870:25;;;;;;12375:564;;:::o;12837:58::-;12914:7;;12923;;-1:-1:-1;12375:564:0;-1:-1:-1;12375:564:0:o;13328:763::-;13477:28;;:::i;:::-;13523:7;13518:91;;13547:17;;;:27;;;13589:8;;13518:91;13619:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;13619:17:0;13651:6;:23;;;;;13662:12;13661:13;13651:23;13647:124;;;-1:-1:-1;13676:16:0;;;;;;;;13683:9;13676:16;;;;;;;;;;;;;;;;;;13647:124;;;13713:12;13708:63;;-1:-1:-1;13727:12:0;;;;;;;;13734:5;13727:12;;;;;;;;;;;;;;;;;;13708:63;;;-1:-1:-1;13755:16:0;;;;;;;;13762:9;13755:16;;;;;;;;;;;;;;;;;;13708:63;13804:8;;13816:3;;13794:18;;:7;:18;:::i;:::-;13793:26;;;;:::i;:::-;13784:6;;;:35;13856:14;;;;13874:3;;13846:24;;:7;:24;:::i;:::-;13845:32;;;;:::i;:::-;13830:12;;;:47;13914:14;;;;13932:3;;13904:24;;:7;:24;:::i;:::-;13903:32;;;;:::i;:::-;13888:12;;;:47;;;14024:12;;;;14002:6;;;;13979:29;;:7;:29;:::i;:::-;:57;;;;:::i;:::-;:85;;;;:::i;:::-;13946:17;;;:118;-1:-1:-1;13328:763:0;;;;;;;:::o;11483:884::-;11719:15;;;;;11903:21;11913:11;11903:7;:21;:::i;:::-;11893:31;;11942:7;11937:88;;11974:10;:20;;11987:7;11974:20;;;11985:1;11974:20;11966:47;11996:7;-1:-1:-1;12005:1:0;;-1:-1:-1;12005:1:0;;-1:-1:-1;12005:1:0;;-1:-1:-1;11966:47:0;;11937:88;12053:11;12044:1;:6;;;:20;;;;:::i;:::-;12037:27;;12103:11;12088:1;:12;;;:26;;;;:::i;:::-;12075:39;;12153:11;12138:1;:12;;;:26;;;;:::i;:::-;12125:39;-1:-1:-1;12125:39:0;12249:10;12206:27;12229:4;12206:7;:27;:::i;:::-;:53;;;;:::i;:::-;:79;;;;:::i;:::-;12175:110;;11483:884;;;;;;;;;;;;:::o;19299:476::-;19389:16;;;19403:1;19389:16;;;;;;;;19365:21;;19389:16;;;;;;;;;;-1:-1:-1;19389:16:0;19365:40;;19434:4;19416;19421:1;19416:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19416:23:0;;;:7;;;;;;;;;;:23;;;;19460:6;;:13;;;-1:-1:-1;;;19460:13:0;;;;:6;;;;;:11;;:13;;;;;19416:7;;19460:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19450:4;19455:1;19450:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19450:23:0;;;:7;;;;;;;;;:23;19518:6;;19486:53;;19503:4;;19518:6;19527:11;19486:8;:53::i;:::-;19552:6;;:215;;-1:-1:-1;;;19552:215:0;;-1:-1:-1;;;;;19552:6:0;;;;:57;;:215;;19624:11;;19552:6;;19694:4;;19721;;19741:15;;19552:215;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17437:403;17550:6;;17518:53;;17535:4;;-1:-1:-1;;;;;17550:6:0;17559:11;17518:8;:53::i;:::-;17584:6;;17781:10;;17584:248;;-1:-1:-1;;;17584:248:0;;-1:-1:-1;;;;;17584:6:0;;;;:22;;17615:9;;17584:248;;17649:4;;17669:11;;17584:6;;;;17781:10;;17806:15;;17584:248;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17437:403;;:::o;18019:113::-;18100:24;;-1:-1:-1;;;;;18100:16:0;;;:24;;;;;18117:6;;18100:24;;;;18117:6;18100:16;:24;;;;;;;;;;;;;;;;;;;10602:125;10681:4;10670:7;;:15;;;;;;;:::i;:::-;;;;-1:-1:-1;;10696:11:0;:23;;10715:4;;10696:11;:15;;:23;;10715:4;;10696:23;:::i;:::-;;;;-1:-1:-1;;;;10602:125:0:o;10735:280::-;10843:10;10818:11;:21;;;:35;;;;;;;:::i;:::-;;;;-1:-1:-1;;10890:4:0;10870:26;;;;:11;:26;;;;;;;;10866:95;;;10929:4;10913:22;;;;:7;:22;;;;;:36;;10939:10;;10913:22;:36;;10939:10;;10913:36;:::i;:::-;;;;-1:-1:-1;;10866:95:0;10987:4;10971:22;;;;:7;:22;;;;;:36;;10997:10;;10971:22;:36;;10997:10;;10971:36;:::i;11023:283::-;11134:10;11109:11;:21;;;:35;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703: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;1858:180::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;-1:-1:-1;2009:23:1;;1858:180;-1:-1:-1;1858:180:1:o;2232:341::-;2297:6;2305;2358:2;2346:9;2337:7;2333:23;2329:32;2326:52;;;2374:1;2371;2364:12;2326:52;2410:9;2397:23;2387:33;;2470:2;2459:9;2455:18;2442:32;2517:5;2510:13;2503:21;2496:5;2493:32;2483:60;;2539:1;2536;2529:12;2483:60;2562:5;2552:15;;;2232:341;;;;;:::o;2578:247::-;2637:6;2690:2;2678:9;2669:7;2665:23;2661:32;2658:52;;;2706:1;2703;2696:12;2658:52;2745:9;2732:23;2764:31;2789:5;2764:31;:::i;3362:388::-;3430:6;3438;3491:2;3479:9;3470:7;3466:23;3462:32;3459:52;;;3507:1;3504;3497:12;3459:52;3546:9;3533:23;3565:31;3590:5;3565:31;:::i;:::-;3615:5;-1:-1:-1;3672:2:1;3657:18;;3644:32;3685:33;3644:32;3685:33;:::i;3978:127::-;4039:10;4034:3;4030:20;4027:1;4020:31;4070:4;4067:1;4060:15;4094:4;4091:1;4084:15;4110:422;4199:1;4242:5;4199:1;4256:270;4277:7;4267:8;4264:21;4256:270;;;4336:4;4332:1;4328:6;4324:17;4318:4;4315:27;4312:53;;;4345:18;;:::i;:::-;4395:7;4385:8;4381:22;4378:55;;;4415:16;;;;4378:55;4494:22;;;;4454:15;;;;4256:270;;;4260:3;4110:422;;;;;:::o;4537:806::-;4586:5;4616:8;4606:80;;-1:-1:-1;4657:1:1;4671:5;;4606:80;4705:4;4695:76;;-1:-1:-1;4742:1:1;4756:5;;4695:76;4787:4;4805:1;4800:59;;;;4873:1;4868:130;;;;4780:218;;4800:59;4830:1;4821:10;;4844:5;;;4868:130;4905:3;4895:8;4892:17;4889:43;;;4912:18;;:::i;:::-;-1:-1:-1;;4968:1:1;4954:16;;4983:5;;4780:218;;5082:2;5072:8;5069:16;5063:3;5057:4;5054:13;5050:36;5044:2;5034:8;5031:16;5026:2;5020:4;5017:12;5013:35;5010:77;5007:159;;;-1:-1:-1;5119:19:1;;;5151:5;;5007:159;5198:34;5223:8;5217:4;5198:34;:::i;:::-;5268:6;5264:1;5260:6;5256:19;5247:7;5244:32;5241:58;;;5279:18;;:::i;:::-;5317:20;;4537:806;-1:-1:-1;;;4537:806:1:o;5348:140::-;5406:5;5435:47;5476:4;5466:8;5462:19;5456:4;5435:47;:::i;5493:168::-;5566:9;;;5597;;5614:15;;;5608:22;;5594:37;5584:71;;5635:18;;:::i;6075:128::-;6142:9;;;6163:11;;;6160:37;;;6177:18;;:::i;6208:217::-;6248:1;6274;6264:132;;6318:10;6313:3;6309:20;6306:1;6299:31;6353:4;6350:1;6343:15;6381:4;6378:1;6371:15;6264:132;-1:-1:-1;6410:9:1;;6208:217::o;6430:125::-;6495:9;;;6516:10;;;6513:36;;;6529:18;;:::i;6920:356::-;7122:2;7104:21;;;7141:18;;;7134:30;7200:34;7195:2;7180:18;;7173:62;7267:2;7252:18;;6920:356::o;7637:251::-;7707:6;7760:2;7748:9;7739:7;7735:23;7731:32;7728:52;;;7776:1;7773;7766:12;7728:52;7808:9;7802:16;7827:31;7852:5;7827:31;:::i;8202:607::-;-1:-1:-1;;;;;8561:15:1;;;8543:34;;8608:2;8593:18;;8586:34;;;;8651:2;8636:18;;8629:34;;;;8694:2;8679:18;;8672:34;;;;8743:15;;;8737:3;8722:19;;8715:44;8523:3;8775:19;;8768:35;;;;8492:3;8477:19;;8202:607::o;8814:306::-;8902:6;8910;8918;8971:2;8959:9;8950:7;8946:23;8942:32;8939:52;;;8987:1;8984;8977:12;8939:52;9016:9;9010:16;9000:26;;9066:2;9055:9;9051:18;9045:25;9035:35;;9110:2;9099:9;9095:18;9089:25;9079:35;;8814:306;;;;;:::o;13375:127::-;13436:10;13431:3;13427:20;13424:1;13417:31;13467:4;13464:1;13457:15;13491:4;13488:1;13481:15;13507:135;13546:3;13567:17;;;13564:43;;13587:18;;:::i;:::-;-1:-1:-1;13634:1:1;13623:13;;13507:135::o;13779:980::-;14041:4;14089:3;14078:9;14074:19;14120:6;14109:9;14102:25;14146:2;14184:6;14179:2;14168:9;14164:18;14157:34;14227:3;14222:2;14211:9;14207:18;14200:31;14251:6;14286;14280:13;14317:6;14309;14302:22;14355:3;14344:9;14340:19;14333:26;;14394:2;14386:6;14382:15;14368:29;;14415:1;14425:195;14439:6;14436:1;14433:13;14425:195;;;14504:13;;-1:-1:-1;;;;;14500:39:1;14488:52;;14595:15;;;;14560:12;;;;14536:1;14454:9;14425:195;;;-1:-1:-1;;;;;;;14676:32:1;;;;14671:2;14656:18;;14649:60;-1:-1:-1;;;14740:3:1;14725:19;14718:35;14637:3;13779:980;-1:-1:-1;;;13779:980:1:o

Swarm Source

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