ETH Price: $3,410.44 (-1.00%)
Gas: 2 Gwei

Token

FTX (FTX)
 

Overview

Max Total Supply

1,000,000,000 FTX

Holders

20

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
felicita1-100ethchallange.eth
Balance
19,980,000 FTX

Value
$0.00
0xb66841a0e5348f597c009f524639602b2f3d4dcb
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:
FTX

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-12
*/

/*
Buy & Sell Tax: 0%

TG: t.me/FTX_OFFICIALTOKEN

*/

//SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.7;

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

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

interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The defaut value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual 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;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     */
    function _tokengeneration(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: generation to the zero address");

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

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

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

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

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

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

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * generation and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be generated for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

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 IFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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

contract FTX is ERC20, Ownable {
    using Address for address payable;

    IRouter public router;
    address public pair;

    bool private _liquidityMutex = false;
    bool public providingLiquidity = false;
    bool public tradingEnabled = false;

    uint256 public tokenLiquidityThreshold = 4e6 * 10**18;
    uint256 public maxWalletLimit = 2e7 * 10**18;

    uint256 public genesis_block;
    uint256 private deadline = 1;
    uint256 private launchtax = 900;

    address public marketingWallet = 0x30c1e2C0FDb3A43CCcAA18236521665a57104EBf;
    address private projectdevWallet = 0x30c1e2C0FDb3A43CCcAA18236521665a57104EBf; 
    address private devWallet = 0x30c1e2C0FDb3A43CCcAA18236521665a57104EBf;
	address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;

    struct Taxes {
        uint256 marketing;
        uint256 projectdev;
        uint256 liquidity;
        uint256 dev;
        uint256 denominator;        
    }

    Taxes private taxes = Taxes(0, 0, 0, 1, 10);
    Taxes private sellTaxes = Taxes(0, 0, 0, 1, 10);

    mapping(address => bool) public exemptFee;
    mapping(address => bool) public isBlacklisted;

    //Anti Dump
    mapping(address => uint256) private _lastSell;

    modifier mutexLock() {
        if (!_liquidityMutex) {
            _liquidityMutex = true;
            _;
            _liquidityMutex = false;
        }
    }

    constructor(address routerAdd) ERC20("FTX", "FTX") {
        _tokengeneration(msg.sender, 1e9 * 10**decimals());
        exemptFee[msg.sender] = true;

        IRouter _router = IRouter(routerAdd);
        // Create a pancake pair for this new token
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());

        router = _router;
        pair = _pair;
        exemptFee[address(this)] = true;
        exemptFee[marketingWallet] = true;
        exemptFee[devWallet] = true;
        exemptFee[projectdevWallet] = true;
        exemptFee[deadWallet] = true;
        exemptFee[0xD152f549545093347A162Dce210e7293f1452150] = true;
        exemptFee[0xE2fE530C047f2d85298b07D9333C05737f1435fB] = true;
        exemptFee[0xDba68f07d1b7Ca219f78ae8582C213d975c25cAf] = true;

    }

    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
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

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

        return true;
    }

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

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override {
        require(amount > 0, "Transfer amount must be greater than zero");
        require(
            !isBlacklisted[sender] && !isBlacklisted[recipient],
            "You can't transfer tokens"
        );

        if (!exemptFee[sender] && !exemptFee[recipient]) {
            require(tradingEnabled, "Trading not enabled");
        }

        if (sender == pair && !exemptFee[recipient] && !_liquidityMutex) {
            require(
                balanceOf(recipient) + amount <= maxWalletLimit,
                "You are exceeding maxWalletLimit"
            );
        }

        if (
            sender != pair && !exemptFee[recipient] && !exemptFee[sender] && !_liquidityMutex
        ) {
            if (recipient != pair) {
                require(
                    balanceOf(recipient) + amount <= maxWalletLimit,
                    "You are exceeding maxWalletLimit"
                );
            }
        }

        uint256 feeswap;
        uint256 feesum;
        uint256 fee;
        uint256 _taxDenominator = sellTaxes.denominator;
        Taxes memory currentTaxes;

        bool useLaunchFee = !exemptFee[sender] &&
            !exemptFee[recipient] &&
            block.number < genesis_block + deadline;

        //set fee to zero if fees in contract are handled or exempted
        if (_liquidityMutex || exemptFee[sender] || exemptFee[recipient])
            fee = 0;

            //calculate fee
        else if (recipient == pair && !useLaunchFee) {
            feeswap = sellTaxes.marketing + sellTaxes.projectdev + sellTaxes.liquidity + sellTaxes.dev;
            feesum = feeswap;
            currentTaxes = sellTaxes;
            _taxDenominator = sellTaxes.denominator;
        } else if (!useLaunchFee) {
            feeswap = taxes.marketing + taxes.projectdev + taxes.liquidity + taxes.dev;
            feesum = feeswap;
            currentTaxes = taxes;
            _taxDenominator = taxes.denominator;
        } else if (useLaunchFee) {
            feeswap = launchtax;
            feesum = launchtax;
        }

        fee = ((amount * feesum) / 100)/_taxDenominator;

        //send fees if threshold has been reached
        //don't do this on buys, breaks swap
        if (providingLiquidity && sender != pair) handle_fees(feeswap, currentTaxes);

        //rest to recipient
        super._transfer(sender, recipient, amount - fee);
        if (fee > 0) {
            //send the fee to the contract
            if (feeswap > 0) {
                uint256 feeAmount = ((amount * feeswap) / 100)/_taxDenominator;
                super._transfer(sender, address(this), feeAmount);
            }

        }
    }

    function handle_fees(uint256 feeswap, Taxes memory swapTaxes) private mutexLock {

        if(feeswap == 0){
            return;
        }	

        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance >= tokenLiquidityThreshold) {
            if (tokenLiquidityThreshold > 1) {
                contractBalance = tokenLiquidityThreshold;
            }

            // Split the contract balance into halves
            uint256 denominator = feeswap * 2;
            uint256 tokensToAddLiquidityWith = (contractBalance * swapTaxes.liquidity) /
                denominator;
            uint256 toSwap = contractBalance - tokensToAddLiquidityWith;

            uint256 initialBalance = address(this).balance;

            swapTokensForETH(toSwap);

            uint256 deltaBalance = address(this).balance - initialBalance;
            uint256 unitBalance = deltaBalance / ((denominator - swapTaxes.liquidity)/swapTaxes.denominator);
            uint256 bnbToAddLiquidityWith = (unitBalance * swapTaxes.liquidity)/swapTaxes.denominator;

            if (bnbToAddLiquidityWith > 0) {
                // Add liquidity to pancake
                addLiquidity(tokensToAddLiquidityWith, bnbToAddLiquidityWith);
            }

            uint256 marketingAmt = (unitBalance * 2 * swapTaxes.marketing)/swapTaxes.denominator;
            if (marketingAmt > 0) {
                payable(marketingWallet).sendValue(marketingAmt);
            }

            uint256 devAmt = (unitBalance * 2 * swapTaxes.dev)/swapTaxes.denominator;
            if (devAmt > 0) {
                payable(devWallet).sendValue(devAmt);
            }

            uint256 projectdevAmt = (unitBalance * 2 * swapTaxes.projectdev)/swapTaxes.denominator;
            if (projectdevAmt > 0) {
                payable(projectdevWallet).sendValue(projectdevAmt);
            }

        }
    }

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

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

        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

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

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

    function updateLiquidityProvide(bool state) external onlyOwner {
        //update liquidity providing state
        providingLiquidity = state;
    }

    function updateLiquidityTreshhold(uint256 new_amount) external onlyOwner {
        //update the treshhold
        tokenLiquidityThreshold = new_amount * 10**decimals();
    }

        function UpdateBuyTaxes(
        uint256 _marketing,
        uint256 _projectdev,
        uint256 _liquidity,
        uint256 _dev
    ) external onlyOwner {
        taxes.marketing = _marketing;
        taxes.projectdev = _projectdev;
        taxes.liquidity = _liquidity;
        taxes.dev = _dev;
    }

    function SetSellTaxes(
        uint256 _marketing,
        uint256 _projectdev,
        uint256 _liquidity,
        uint256 _dev
    ) external onlyOwner {
        sellTaxes.marketing = _marketing;
        sellTaxes.projectdev = _projectdev;
        sellTaxes.liquidity = _liquidity;
        sellTaxes.dev = _dev;
    }

    function updateRouterAndPair(address newRouter, address newPair) external onlyOwner {
        router = IRouter(newRouter);
        pair = newPair;
    }

   function enableTrading() external onlyOwner {
        require(!tradingEnabled, "Trading is already enabled");
        tradingEnabled = true;
        providingLiquidity = true;
        genesis_block = block.number;
    }

    function updatedeadline(uint256 _deadline) external onlyOwner {
        require (_deadline < 15,"Deadline should be less than 15");
        deadline = _deadline;
    }

    function updateMarketingWallet(address newWallet) external onlyOwner {
        marketingWallet = newWallet;
    }

    function updateDevWallet(address newWallet) external onlyOwner {
        devWallet = newWallet;
    }

    function updateProjectdevWallet(address newWallet) external onlyOwner {
        projectdevWallet = newWallet;
    }

    function updateIsBlacklisted(address account, bool state) external onlyOwner {
        isBlacklisted[account] = state;
    }

    function bulkIsBlacklisted(address[] memory accounts, bool state) external onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            isBlacklisted[accounts[i]] = state;
        }
    }

    function updateExemptFee(address _address, bool state) external onlyOwner {
        exemptFee[_address] = state;
    }

    function bulkExemptFee(address[] memory accounts, bool state) external onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            exemptFee[accounts[i]] = state;
        }
    }

    function updateMaxWalletlimit(uint256 amount) external onlyOwner {
        maxWalletLimit = amount * 10**decimals();
    }

    function rescueETH(uint256 weiAmount) external {
        payable(devWallet).transfer(weiAmount);
    }

    function rescueERC20(address tokenAdd, uint256 amount) external {
        IERC20(tokenAdd).transfer(devWallet, amount);
    }

    // fallbacks
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAdd","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_projectdev","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_dev","type":"uint256"}],"name":"SetSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_projectdev","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_dev","type":"uint256"}],"name":"UpdateBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkIsBlacklisted","outputs":[],"stateMutability":"nonpayable","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis_block","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","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":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"providingLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAdd","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenLiquidityThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateIsBlacklisted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateLiquidityProvide","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"updateLiquidityTreshhold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxWalletlimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateProjectdevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"},{"internalType":"address","name":"newPair","type":"address"}],"name":"updateRouterAndPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_deadline","type":"uint256"}],"name":"updatedeadline","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6007805462ffffff60a01b191690556a034f086f3b33b6840000006008556a108b2a2c280290940000006009556001600b819055610384600c55600d80547330c1e2c0fdb3a43cccaa18236521665a57104ebf6001600160a01b03199182168117909255600e8054821683179055600f805490911690911790556000608081905260a081905260c081905260e0829052600a610100819052601082905560118290556012829055601383905560148190556101c06040526101208290526101408290526101608290526101808390526101a081905260158290556016829055601791909155601891909155601955348015620000fa57600080fd5b5060405162002e2c38038062002e2c8339810160408190526200011d916200057c565b60408051808201825260038082526208ca8b60eb1b6020808401829052845180860190955282855284015290919062000157838262000652565b50600462000166828262000652565b505050620001836200017d6200046460201b60201c565b62000468565b620001ac33620001966012600a62000833565b620001a690633b9aca0062000844565b620004ba565b336000908152601a60209081526040808320805460ff19166001179055805163c45a015560e01b815290518493926001600160a01b0385169263c45a015592600480830193928290030181865afa1580156200020c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023291906200057c565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000280573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a691906200057c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031a91906200057c565b600680546001600160a01b03199081166001600160a01b03958616179091556007805490911691841691909117905550306000908152601a6020526040808220805460ff199081166001908117909255600d54851684528284208054821683179055600f54851684528284208054821683179055600e54909416835290822080548416821790557f428bdc965569ef4717764ecfd84e88946a9a226b52b813e6ab6a7f46aad86e8880548416821790557f2fcec17b10d207b56bde579aeb215b58d6c4f64a986f1030b316c9e25b6b832b80548416821790557f4b465cba4172184efca42fd2b6567652cdd4a8a99596f76788583fca6e8ffef3805484168217905573dba68f07d1b7ca219f78ae8582c213d975c25caf9091527f54a07289f9bcce50727433c3935d341a715f3569b8d80545229402591066e5648054909216179055506200085e565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620005235760405162461bcd60e51b815260206004820152602560248201527f45524332303a2067656e65726174696f6e20746f20746865207a65726f206164604482015264647265737360d81b606482015260840160405180910390fd5b60028190556001600160a01b038216600081815260208181526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b6000602082840312156200058f57600080fd5b81516001600160a01b0381168114620005a757600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005d957607f821691505b602082108103620005fa57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200057757600081815260208120601f850160051c81016020861015620006295750805b601f850160051c820191505b818110156200064a5782815560010162000635565b505050505050565b81516001600160401b038111156200066e576200066e620005ae565b62000686816200067f8454620005c4565b8462000600565b602080601f831160018114620006be5760008415620006a55750858301515b600019600386901b1c1916600185901b1785556200064a565b600085815260208120601f198616915b82811015620006ef57888601518255948401946001909101908401620006ce565b50858210156200070e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620007755781600019048211156200075957620007596200071e565b808516156200076757918102915b93841c939080029062000739565b509250929050565b6000826200078e575060016200082d565b816200079d575060006200082d565b8160018114620007b65760028114620007c157620007e1565b60019150506200082d565b60ff841115620007d557620007d56200071e565b50506001821b6200082d565b5060208310610133831016604e8410600b841016171562000806575081810a6200082d565b62000812838362000734565b80600019048211156200082957620008296200071e565b0290505b92915050565b6000620005a760ff8416836200077d565b80820281158282048414176200082d576200082d6200071e565b6125be806200086e6000396000f3fe6080604052600436106102555760003560e01c806375f0a87411610139578063a9059cbb116100b6578063e246fed91161007a578063e246fed914610717578063edaa116814610737578063f2fde38b14610757578063f887ea4014610777578063fbe6324e14610797578063fe575a87146107b857600080fd5b8063a9059cbb14610641578063aacebbe314610661578063c5d32bb214610681578063d8672e51146106b1578063dd62ed3e146106d157600080fd5b80639321b676116100fd5780639321b676146105ac57806395d89b41146105cc5780639e252f00146105e1578063a457c2d714610601578063a8aa1b311461062157600080fd5b806375f0a8741461050b57806385141a77146105435780638a8c523c146105595780638cd4426d1461056e5780638da5cb5b1461058e57600080fd5b8063274a533c116101d257806342b6fa111161019657806342b6fa11146104495780634ada218b146104695780635b24ea5e1461048a57806366a88d96146104aa57806370a08231146104c0578063715018a6146104f657600080fd5b8063274a533c146103b7578063313ce567146103cd578063355496ca146103e9578063395093511461040957806340b28c2f1461042957600080fd5b806313f97a8e1161021957806313f97a8e1461031e5780631675d8021461033e57806318160ddd146103625780631816467f1461037757806323b872dd1461039757600080fd5b806306fdde0314610261578063095ea7b31461028c5780630e375a5c146102bc578063105cafb6146102de5780631340538f146102fe57600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b506102766107e8565b6040516102839190611fd0565b60405180910390f35b34801561029857600080fd5b506102ac6102a7366004612043565b61087a565b6040519015158152602001610283565b3480156102c857600080fd5b506102dc6102d736600461209e565b610891565b005b3480156102ea57600080fd5b506102dc6102f9366004612175565b610930565b34801561030a57600080fd5b506102dc6103193660046121a7565b61096e565b34801561032a57600080fd5b506102dc61033936600461209e565b6109b6565b34801561034a57600080fd5b5061035460085481565b604051908152602001610283565b34801561036e57600080fd5b50600254610354565b34801561038357600080fd5b506102dc6103923660046121cb565b610a47565b3480156103a357600080fd5b506102ac6103b23660046121e8565b610a93565b3480156103c357600080fd5b50610354600a5481565b3480156103d957600080fd5b5060405160128152602001610283565b3480156103f557600080fd5b506102dc610404366004612229565b610b44565b34801561041557600080fd5b506102ac610424366004612043565b610b99565b34801561043557600080fd5b506102dc610444366004612262565b610bd0565b34801561045557600080fd5b506102dc610464366004612290565b610c28565b34801561047557600080fd5b506007546102ac90600160b01b900460ff1681565b34801561049657600080fd5b506102dc6104a5366004612229565b610c6e565b3480156104b657600080fd5b5061035460095481565b3480156104cc57600080fd5b506103546104db3660046121cb565b6001600160a01b031660009081526020819052604090205490565b34801561050257600080fd5b506102dc610cc3565b34801561051757600080fd5b50600d5461052b906001600160a01b031681565b6040516001600160a01b039091168152602001610283565b34801561054f57600080fd5b5061052b61dead81565b34801561056557600080fd5b506102dc610cf9565b34801561057a57600080fd5b506102dc610589366004612043565b610d98565b34801561059a57600080fd5b506005546001600160a01b031661052b565b3480156105b857600080fd5b506102dc6105c7366004612175565b610e0f565b3480156105d857600080fd5b50610276610e4d565b3480156105ed57600080fd5b506102dc6105fc366004612290565b610e5c565b34801561060d57600080fd5b506102ac61061c366004612043565b610e9a565b34801561062d57600080fd5b5060075461052b906001600160a01b031681565b34801561064d57600080fd5b506102ac61065c366004612043565b610f35565b34801561066d57600080fd5b506102dc61067c3660046121cb565b610f42565b34801561068d57600080fd5b506102ac61069c3660046121cb565b601a6020526000908152604090205460ff1681565b3480156106bd57600080fd5b506102dc6106cc366004612290565b610f8e565b3480156106dd57600080fd5b506103546106ec366004612262565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561072357600080fd5b506102dc6107323660046121cb565b610fd4565b34801561074357600080fd5b506102dc610752366004612290565b611020565b34801561076357600080fd5b506102dc6107723660046121cb565b61109f565b34801561078357600080fd5b5060065461052b906001600160a01b031681565b3480156107a357600080fd5b506007546102ac90600160a81b900460ff1681565b3480156107c457600080fd5b506102ac6107d33660046121cb565b601b6020526000908152604090205460ff1681565b6060600380546107f7906122a9565b80601f0160208091040260200160405190810160405280929190818152602001828054610823906122a9565b80156108705780601f1061084557610100808354040283529160200191610870565b820191906000526020600020905b81548152906001019060200180831161085357829003601f168201915b5050505050905090565b600061088733848461113a565b5060015b92915050565b6005546001600160a01b031633146108c45760405162461bcd60e51b81526004016108bb906122e3565b60405180910390fd5b60005b825181101561092b5781601a60008584815181106108e7576108e7612318565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061092381612344565b9150506108c7565b505050565b6005546001600160a01b0316331461095a5760405162461bcd60e51b81526004016108bb906122e3565b601593909355601691909155601755601855565b6005546001600160a01b031633146109985760405162461bcd60e51b81526004016108bb906122e3565b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b031633146109e05760405162461bcd60e51b81526004016108bb906122e3565b60005b825181101561092b5781601b6000858481518110610a0357610a03612318565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610a3f81612344565b9150506109e3565b6005546001600160a01b03163314610a715760405162461bcd60e51b81526004016108bb906122e3565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610aa084848461125e565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610b255760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016108bb565b610b398533610b34868561235d565b61113a565b506001949350505050565b6005546001600160a01b03163314610b6e5760405162461bcd60e51b81526004016108bb906122e3565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610887918590610b34908690612370565b6005546001600160a01b03163314610bfa5760405162461bcd60e51b81526004016108bb906122e3565b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b6005546001600160a01b03163314610c525760405162461bcd60e51b81526004016108bb906122e3565b610c5e6012600a612467565b610c689082612476565b60085550565b6005546001600160a01b03163314610c985760405162461bcd60e51b81526004016108bb906122e3565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610ced5760405162461bcd60e51b81526004016108bb906122e3565b610cf7600061187c565b565b6005546001600160a01b03163314610d235760405162461bcd60e51b81526004016108bb906122e3565b600754600160b01b900460ff1615610d7d5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c656400000000000060448201526064016108bb565b6007805461ffff60a81b191661010160a81b17905543600a55565b600f5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610deb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b919061248d565b6005546001600160a01b03163314610e395760405162461bcd60e51b81526004016108bb906122e3565b601093909355601191909155601255601355565b6060600480546107f7906122a9565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e96573d6000803e3d6000fd5b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610f1c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016108bb565b610f2b3385610b34868561235d565b5060019392505050565b600061088733848461125e565b6005546001600160a01b03163314610f6c5760405162461bcd60e51b81526004016108bb906122e3565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610fb85760405162461bcd60e51b81526004016108bb906122e3565b610fc46012600a612467565b610fce9082612476565b60095550565b6005546001600160a01b03163314610ffe5760405162461bcd60e51b81526004016108bb906122e3565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316331461104a5760405162461bcd60e51b81526004016108bb906122e3565b600f811061109a5760405162461bcd60e51b815260206004820152601f60248201527f446561646c696e652073686f756c64206265206c657373207468616e2031350060448201526064016108bb565b600b55565b6005546001600160a01b031633146110c95760405162461bcd60e51b81526004016108bb906122e3565b6001600160a01b03811661112e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108bb565b6111378161187c565b50565b6001600160a01b03831661119c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108bb565b6001600160a01b0382166111fd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108bb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081116112c05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108bb565b6001600160a01b0383166000908152601b602052604090205460ff1615801561130257506001600160a01b0382166000908152601b602052604090205460ff16155b61134e5760405162461bcd60e51b815260206004820152601960248201527f596f752063616e2774207472616e7366657220746f6b656e730000000000000060448201526064016108bb565b6001600160a01b0383166000908152601a602052604090205460ff1615801561139057506001600160a01b0382166000908152601a602052604090205460ff16155b156113e457600754600160b01b900460ff166113e45760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016108bb565b6007546001600160a01b03848116911614801561141a57506001600160a01b0382166000908152601a602052604090205460ff16155b80156114305750600754600160a01b900460ff16155b156114b05760095481611458846001600160a01b031660009081526020819052604090205490565b6114629190612370565b11156114b05760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016108bb565b6007546001600160a01b038481169116148015906114e757506001600160a01b0382166000908152601a602052604090205460ff16155b801561150c57506001600160a01b0383166000908152601a602052604090205460ff16155b80156115225750600754600160a01b900460ff16155b156115b7576007546001600160a01b038381169116146115b7576009548161155f846001600160a01b031660009081526020819052604090205490565b6115699190612370565b11156115b75760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016108bb565b60008060008060156004015490506115f76040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6001600160a01b0388166000908152601a602052604081205460ff1615801561163957506001600160a01b0388166000908152601a602052604090205460ff16155b80156116535750600b54600a546116509190612370565b43105b600754909150600160a01b900460ff168061168657506001600160a01b0389166000908152601a602052604090205460ff165b806116a957506001600160a01b0388166000908152601a602052604090205460ff165b156116b757600093506117c5565b6007546001600160a01b0389811691161480156116d2575080155b15611744576018546017546016546015546116ed9190612370565b6116f79190612370565b6117019190612370565b6040805160a081018252601554815260165460208201526017549181019190915260185460608201526019546080820181905291975087965090935091506117c5565b806117b65760135460125460115460105461175f9190612370565b6117699190612370565b6117739190612370565b6040805160a081018252601054815260115460208201526012549181019190915260135460608201526014546080820181905291975087965090935091506117c5565b80156117c557600c5495508594505b8260646117d2878a612476565b6117dc91906124aa565b6117e691906124aa565b600754909450600160a81b900460ff16801561181057506007546001600160a01b038a8116911614155b1561181f5761181f86836118ce565b611833898961182e878b61235d565b611ad1565b831561187157851561187157600083606461184e898b612476565b61185891906124aa565b61186291906124aa565b905061186f8a3083611ad1565b505b505050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff16610e96576007805460ff60a01b1916600160a01b1790558115611ac057306000908152602081905260409020546008548110611abe576001600854111561192157506008545b600061192e846002612476565b90506000818460400151846119439190612476565b61194d91906124aa565b9050600061195b828561235d565b90504761196782611ca9565b6000611973824761235d565b90506000876080015188604001518761198c919061235d565b61199691906124aa565b6119a090836124aa565b9050600088608001518960400151836119b99190612476565b6119c391906124aa565b905080156119d5576119d58682611e03565b60808901518951600091906119eb856002612476565b6119f59190612476565b6119ff91906124aa565b90508015611a1d57600d54611a1d906001600160a01b031682611eb7565b60008a608001518b60600151856002611a369190612476565b611a409190612476565b611a4a91906124aa565b90508015611a6857600f54611a68906001600160a01b031682611eb7565b60008b608001518c60200151866002611a819190612476565b611a8b9190612476565b611a9591906124aa565b90508015611ab357600e54611ab3906001600160a01b031682611eb7565b505050505050505050505b505b6007805460ff60a01b191690555050565b6001600160a01b038316611b355760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108bb565b6001600160a01b038216611b975760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108bb565b6001600160a01b03831660009081526020819052604090205481811015611c0f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108bb565b611c19828261235d565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290611c4f908490612370565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c9b91815260200190565b60405180910390a350505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611cde57611cde612318565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5b91906124cc565b81600181518110611d6e57611d6e612318565b6001600160a01b039283166020918202929092010152600654611d94913091168461113a565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611dcd9085906000908690309042906004016124e9565b600060405180830381600087803b158015611de757600080fd5b505af1158015611dfb573d6000803e3d6000fd5b505050505050565b600654611e1b9030906001600160a01b03168461113a565b600654600f5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611e8b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611eb0919061255a565b5050505050565b80471015611f075760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016108bb565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611f54576040519150601f19603f3d011682016040523d82523d6000602084013e611f59565b606091505b505090508061092b5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016108bb565b600060208083528351808285015260005b81811015611ffd57858101830151858201604001528201611fe1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461113757600080fd5b803561203e8161201e565b919050565b6000806040838503121561205657600080fd5b82356120618161201e565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b801515811461113757600080fd5b803561203e81612085565b600080604083850312156120b157600080fd5b823567ffffffffffffffff808211156120c957600080fd5b818501915085601f8301126120dd57600080fd5b81356020828211156120f1576120f161206f565b8160051b604051601f19603f830116810181811086821117156121165761211661206f565b60405292835281830193508481018201928984111561213457600080fd5b948201945b838610156121595761214a86612033565b85529482019493820193612139565b96506121689050878201612093565b9450505050509250929050565b6000806000806080858703121561218b57600080fd5b5050823594602084013594506040840135936060013592509050565b6000602082840312156121b957600080fd5b81356121c481612085565b9392505050565b6000602082840312156121dd57600080fd5b81356121c48161201e565b6000806000606084860312156121fd57600080fd5b83356122088161201e565b925060208401356122188161201e565b929592945050506040919091013590565b6000806040838503121561223c57600080fd5b82356122478161201e565b9150602083013561225781612085565b809150509250929050565b6000806040838503121561227557600080fd5b82356122808161201e565b915060208301356122578161201e565b6000602082840312156122a257600080fd5b5035919050565b600181811c908216806122bd57607f821691505b6020821081036122dd57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016123565761235661232e565b5060010190565b8181038181111561088b5761088b61232e565b8082018082111561088b5761088b61232e565b600181815b808511156123be5781600019048211156123a4576123a461232e565b808516156123b157918102915b93841c9390800290612388565b509250929050565b6000826123d55750600161088b565b816123e25750600061088b565b81600181146123f857600281146124025761241e565b600191505061088b565b60ff8411156124135761241361232e565b50506001821b61088b565b5060208310610133831016604e8410600b8410161715612441575081810a61088b565b61244b8383612383565b806000190482111561245f5761245f61232e565b029392505050565b60006121c460ff8416836123c6565b808202811582820484141761088b5761088b61232e565b60006020828403121561249f57600080fd5b81516121c481612085565b6000826124c757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156124de57600080fd5b81516121c48161201e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125395784516001600160a01b031683529383019391830191600101612514565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561256f57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212209ccb183e5aa7bde2972483f145a5a2a1cafcd28545e3105dbab6c8e810970f3964736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x6080604052600436106102555760003560e01c806375f0a87411610139578063a9059cbb116100b6578063e246fed91161007a578063e246fed914610717578063edaa116814610737578063f2fde38b14610757578063f887ea4014610777578063fbe6324e14610797578063fe575a87146107b857600080fd5b8063a9059cbb14610641578063aacebbe314610661578063c5d32bb214610681578063d8672e51146106b1578063dd62ed3e146106d157600080fd5b80639321b676116100fd5780639321b676146105ac57806395d89b41146105cc5780639e252f00146105e1578063a457c2d714610601578063a8aa1b311461062157600080fd5b806375f0a8741461050b57806385141a77146105435780638a8c523c146105595780638cd4426d1461056e5780638da5cb5b1461058e57600080fd5b8063274a533c116101d257806342b6fa111161019657806342b6fa11146104495780634ada218b146104695780635b24ea5e1461048a57806366a88d96146104aa57806370a08231146104c0578063715018a6146104f657600080fd5b8063274a533c146103b7578063313ce567146103cd578063355496ca146103e9578063395093511461040957806340b28c2f1461042957600080fd5b806313f97a8e1161021957806313f97a8e1461031e5780631675d8021461033e57806318160ddd146103625780631816467f1461037757806323b872dd1461039757600080fd5b806306fdde0314610261578063095ea7b31461028c5780630e375a5c146102bc578063105cafb6146102de5780631340538f146102fe57600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b506102766107e8565b6040516102839190611fd0565b60405180910390f35b34801561029857600080fd5b506102ac6102a7366004612043565b61087a565b6040519015158152602001610283565b3480156102c857600080fd5b506102dc6102d736600461209e565b610891565b005b3480156102ea57600080fd5b506102dc6102f9366004612175565b610930565b34801561030a57600080fd5b506102dc6103193660046121a7565b61096e565b34801561032a57600080fd5b506102dc61033936600461209e565b6109b6565b34801561034a57600080fd5b5061035460085481565b604051908152602001610283565b34801561036e57600080fd5b50600254610354565b34801561038357600080fd5b506102dc6103923660046121cb565b610a47565b3480156103a357600080fd5b506102ac6103b23660046121e8565b610a93565b3480156103c357600080fd5b50610354600a5481565b3480156103d957600080fd5b5060405160128152602001610283565b3480156103f557600080fd5b506102dc610404366004612229565b610b44565b34801561041557600080fd5b506102ac610424366004612043565b610b99565b34801561043557600080fd5b506102dc610444366004612262565b610bd0565b34801561045557600080fd5b506102dc610464366004612290565b610c28565b34801561047557600080fd5b506007546102ac90600160b01b900460ff1681565b34801561049657600080fd5b506102dc6104a5366004612229565b610c6e565b3480156104b657600080fd5b5061035460095481565b3480156104cc57600080fd5b506103546104db3660046121cb565b6001600160a01b031660009081526020819052604090205490565b34801561050257600080fd5b506102dc610cc3565b34801561051757600080fd5b50600d5461052b906001600160a01b031681565b6040516001600160a01b039091168152602001610283565b34801561054f57600080fd5b5061052b61dead81565b34801561056557600080fd5b506102dc610cf9565b34801561057a57600080fd5b506102dc610589366004612043565b610d98565b34801561059a57600080fd5b506005546001600160a01b031661052b565b3480156105b857600080fd5b506102dc6105c7366004612175565b610e0f565b3480156105d857600080fd5b50610276610e4d565b3480156105ed57600080fd5b506102dc6105fc366004612290565b610e5c565b34801561060d57600080fd5b506102ac61061c366004612043565b610e9a565b34801561062d57600080fd5b5060075461052b906001600160a01b031681565b34801561064d57600080fd5b506102ac61065c366004612043565b610f35565b34801561066d57600080fd5b506102dc61067c3660046121cb565b610f42565b34801561068d57600080fd5b506102ac61069c3660046121cb565b601a6020526000908152604090205460ff1681565b3480156106bd57600080fd5b506102dc6106cc366004612290565b610f8e565b3480156106dd57600080fd5b506103546106ec366004612262565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561072357600080fd5b506102dc6107323660046121cb565b610fd4565b34801561074357600080fd5b506102dc610752366004612290565b611020565b34801561076357600080fd5b506102dc6107723660046121cb565b61109f565b34801561078357600080fd5b5060065461052b906001600160a01b031681565b3480156107a357600080fd5b506007546102ac90600160a81b900460ff1681565b3480156107c457600080fd5b506102ac6107d33660046121cb565b601b6020526000908152604090205460ff1681565b6060600380546107f7906122a9565b80601f0160208091040260200160405190810160405280929190818152602001828054610823906122a9565b80156108705780601f1061084557610100808354040283529160200191610870565b820191906000526020600020905b81548152906001019060200180831161085357829003601f168201915b5050505050905090565b600061088733848461113a565b5060015b92915050565b6005546001600160a01b031633146108c45760405162461bcd60e51b81526004016108bb906122e3565b60405180910390fd5b60005b825181101561092b5781601a60008584815181106108e7576108e7612318565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061092381612344565b9150506108c7565b505050565b6005546001600160a01b0316331461095a5760405162461bcd60e51b81526004016108bb906122e3565b601593909355601691909155601755601855565b6005546001600160a01b031633146109985760405162461bcd60e51b81526004016108bb906122e3565b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b031633146109e05760405162461bcd60e51b81526004016108bb906122e3565b60005b825181101561092b5781601b6000858481518110610a0357610a03612318565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610a3f81612344565b9150506109e3565b6005546001600160a01b03163314610a715760405162461bcd60e51b81526004016108bb906122e3565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610aa084848461125e565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610b255760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016108bb565b610b398533610b34868561235d565b61113a565b506001949350505050565b6005546001600160a01b03163314610b6e5760405162461bcd60e51b81526004016108bb906122e3565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610887918590610b34908690612370565b6005546001600160a01b03163314610bfa5760405162461bcd60e51b81526004016108bb906122e3565b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b6005546001600160a01b03163314610c525760405162461bcd60e51b81526004016108bb906122e3565b610c5e6012600a612467565b610c689082612476565b60085550565b6005546001600160a01b03163314610c985760405162461bcd60e51b81526004016108bb906122e3565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610ced5760405162461bcd60e51b81526004016108bb906122e3565b610cf7600061187c565b565b6005546001600160a01b03163314610d235760405162461bcd60e51b81526004016108bb906122e3565b600754600160b01b900460ff1615610d7d5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c656400000000000060448201526064016108bb565b6007805461ffff60a81b191661010160a81b17905543600a55565b600f5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610deb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b919061248d565b6005546001600160a01b03163314610e395760405162461bcd60e51b81526004016108bb906122e3565b601093909355601191909155601255601355565b6060600480546107f7906122a9565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e96573d6000803e3d6000fd5b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610f1c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016108bb565b610f2b3385610b34868561235d565b5060019392505050565b600061088733848461125e565b6005546001600160a01b03163314610f6c5760405162461bcd60e51b81526004016108bb906122e3565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610fb85760405162461bcd60e51b81526004016108bb906122e3565b610fc46012600a612467565b610fce9082612476565b60095550565b6005546001600160a01b03163314610ffe5760405162461bcd60e51b81526004016108bb906122e3565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316331461104a5760405162461bcd60e51b81526004016108bb906122e3565b600f811061109a5760405162461bcd60e51b815260206004820152601f60248201527f446561646c696e652073686f756c64206265206c657373207468616e2031350060448201526064016108bb565b600b55565b6005546001600160a01b031633146110c95760405162461bcd60e51b81526004016108bb906122e3565b6001600160a01b03811661112e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108bb565b6111378161187c565b50565b6001600160a01b03831661119c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108bb565b6001600160a01b0382166111fd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108bb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081116112c05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108bb565b6001600160a01b0383166000908152601b602052604090205460ff1615801561130257506001600160a01b0382166000908152601b602052604090205460ff16155b61134e5760405162461bcd60e51b815260206004820152601960248201527f596f752063616e2774207472616e7366657220746f6b656e730000000000000060448201526064016108bb565b6001600160a01b0383166000908152601a602052604090205460ff1615801561139057506001600160a01b0382166000908152601a602052604090205460ff16155b156113e457600754600160b01b900460ff166113e45760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016108bb565b6007546001600160a01b03848116911614801561141a57506001600160a01b0382166000908152601a602052604090205460ff16155b80156114305750600754600160a01b900460ff16155b156114b05760095481611458846001600160a01b031660009081526020819052604090205490565b6114629190612370565b11156114b05760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016108bb565b6007546001600160a01b038481169116148015906114e757506001600160a01b0382166000908152601a602052604090205460ff16155b801561150c57506001600160a01b0383166000908152601a602052604090205460ff16155b80156115225750600754600160a01b900460ff16155b156115b7576007546001600160a01b038381169116146115b7576009548161155f846001600160a01b031660009081526020819052604090205490565b6115699190612370565b11156115b75760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016108bb565b60008060008060156004015490506115f76040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6001600160a01b0388166000908152601a602052604081205460ff1615801561163957506001600160a01b0388166000908152601a602052604090205460ff16155b80156116535750600b54600a546116509190612370565b43105b600754909150600160a01b900460ff168061168657506001600160a01b0389166000908152601a602052604090205460ff165b806116a957506001600160a01b0388166000908152601a602052604090205460ff165b156116b757600093506117c5565b6007546001600160a01b0389811691161480156116d2575080155b15611744576018546017546016546015546116ed9190612370565b6116f79190612370565b6117019190612370565b6040805160a081018252601554815260165460208201526017549181019190915260185460608201526019546080820181905291975087965090935091506117c5565b806117b65760135460125460115460105461175f9190612370565b6117699190612370565b6117739190612370565b6040805160a081018252601054815260115460208201526012549181019190915260135460608201526014546080820181905291975087965090935091506117c5565b80156117c557600c5495508594505b8260646117d2878a612476565b6117dc91906124aa565b6117e691906124aa565b600754909450600160a81b900460ff16801561181057506007546001600160a01b038a8116911614155b1561181f5761181f86836118ce565b611833898961182e878b61235d565b611ad1565b831561187157851561187157600083606461184e898b612476565b61185891906124aa565b61186291906124aa565b905061186f8a3083611ad1565b505b505050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff16610e96576007805460ff60a01b1916600160a01b1790558115611ac057306000908152602081905260409020546008548110611abe576001600854111561192157506008545b600061192e846002612476565b90506000818460400151846119439190612476565b61194d91906124aa565b9050600061195b828561235d565b90504761196782611ca9565b6000611973824761235d565b90506000876080015188604001518761198c919061235d565b61199691906124aa565b6119a090836124aa565b9050600088608001518960400151836119b99190612476565b6119c391906124aa565b905080156119d5576119d58682611e03565b60808901518951600091906119eb856002612476565b6119f59190612476565b6119ff91906124aa565b90508015611a1d57600d54611a1d906001600160a01b031682611eb7565b60008a608001518b60600151856002611a369190612476565b611a409190612476565b611a4a91906124aa565b90508015611a6857600f54611a68906001600160a01b031682611eb7565b60008b608001518c60200151866002611a819190612476565b611a8b9190612476565b611a9591906124aa565b90508015611ab357600e54611ab3906001600160a01b031682611eb7565b505050505050505050505b505b6007805460ff60a01b191690555050565b6001600160a01b038316611b355760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108bb565b6001600160a01b038216611b975760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108bb565b6001600160a01b03831660009081526020819052604090205481811015611c0f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108bb565b611c19828261235d565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290611c4f908490612370565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c9b91815260200190565b60405180910390a350505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611cde57611cde612318565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5b91906124cc565b81600181518110611d6e57611d6e612318565b6001600160a01b039283166020918202929092010152600654611d94913091168461113a565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611dcd9085906000908690309042906004016124e9565b600060405180830381600087803b158015611de757600080fd5b505af1158015611dfb573d6000803e3d6000fd5b505050505050565b600654611e1b9030906001600160a01b03168461113a565b600654600f5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611e8b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611eb0919061255a565b5050505050565b80471015611f075760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016108bb565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611f54576040519150601f19603f3d011682016040523d82523d6000602084013e611f59565b606091505b505090508061092b5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016108bb565b600060208083528351808285015260005b81811015611ffd57858101830151858201604001528201611fe1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461113757600080fd5b803561203e8161201e565b919050565b6000806040838503121561205657600080fd5b82356120618161201e565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b801515811461113757600080fd5b803561203e81612085565b600080604083850312156120b157600080fd5b823567ffffffffffffffff808211156120c957600080fd5b818501915085601f8301126120dd57600080fd5b81356020828211156120f1576120f161206f565b8160051b604051601f19603f830116810181811086821117156121165761211661206f565b60405292835281830193508481018201928984111561213457600080fd5b948201945b838610156121595761214a86612033565b85529482019493820193612139565b96506121689050878201612093565b9450505050509250929050565b6000806000806080858703121561218b57600080fd5b5050823594602084013594506040840135936060013592509050565b6000602082840312156121b957600080fd5b81356121c481612085565b9392505050565b6000602082840312156121dd57600080fd5b81356121c48161201e565b6000806000606084860312156121fd57600080fd5b83356122088161201e565b925060208401356122188161201e565b929592945050506040919091013590565b6000806040838503121561223c57600080fd5b82356122478161201e565b9150602083013561225781612085565b809150509250929050565b6000806040838503121561227557600080fd5b82356122808161201e565b915060208301356122578161201e565b6000602082840312156122a257600080fd5b5035919050565b600181811c908216806122bd57607f821691505b6020821081036122dd57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016123565761235661232e565b5060010190565b8181038181111561088b5761088b61232e565b8082018082111561088b5761088b61232e565b600181815b808511156123be5781600019048211156123a4576123a461232e565b808516156123b157918102915b93841c9390800290612388565b509250929050565b6000826123d55750600161088b565b816123e25750600061088b565b81600181146123f857600281146124025761241e565b600191505061088b565b60ff8411156124135761241361232e565b50506001821b61088b565b5060208310610133831016604e8410600b8410161715612441575081810a61088b565b61244b8383612383565b806000190482111561245f5761245f61232e565b029392505050565b60006121c460ff8416836123c6565b808202811582820484141761088b5761088b61232e565b60006020828403121561249f57600080fd5b81516121c481612085565b6000826124c757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156124de57600080fd5b81516121c48161201e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125395784516001600160a01b031683529383019391830191600101612514565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561256f57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212209ccb183e5aa7bde2972483f145a5a2a1cafcd28545e3105dbab6c8e810970f3964736f6c63430008130033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : routerAdd (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

13661:12657:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2439:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15945:161;;;;;;;;;;-1:-1:-1;15945:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;15945:161:0;1162:187:1;25679:202:0;;;;;;;;;;-1:-1:-1;25679:202:0;;;;;:::i;:::-;;:::i;:::-;;23931:329;;;;;;;;;;-1:-1:-1;23931:329:0;;;;;:::i;:::-;;:::i;23259:152::-;;;;;;;;;;-1:-1:-1;23259:152:0;;;;;:::i;:::-;;:::i;25333:210::-;;;;;;;;;;-1:-1:-1;25333:210:0;;;;;:::i;:::-;;:::i;13928:53::-;;;;;;;;;;;;;;;;;;;3720:25:1;;;3708:2;3693:18;13928:53:0;3574:177:1;3559:108:0;;;;;;;;;;-1:-1:-1;3647:12:0;;3559:108;;24963:103;;;;;;;;;;-1:-1:-1;24963:103:0;;;;;:::i;:::-;;:::i;16114:448::-;;;;;;;;;;-1:-1:-1;16114:448:0;;;;;:::i;:::-;;:::i;14041:28::-;;;;;;;;;;;;;;;;3401:93;;;;;;;;;;-1:-1:-1;3401:93:0;;3484:2;4611:36:1;;4599:2;4584:18;3401:93:0;4469:184:1;25551:120:0;;;;;;;;;;-1:-1:-1;25551:120:0;;;;;:::i;:::-;;:::i;16570:248::-;;;;;;;;;;-1:-1:-1;16570:248:0;;;;;:::i;:::-;;:::i;24268:155::-;;;;;;;;;;-1:-1:-1;24268:155:0;;;;;:::i;:::-;;:::i;23419:177::-;;;;;;;;;;-1:-1:-1;23419:177:0;;;;;:::i;:::-;;:::i;13885:34::-;;;;;;;;;;-1:-1:-1;13885:34:0;;;;-1:-1:-1;;;13885:34:0;;;;;;25199:126;;;;;;;;;;-1:-1:-1;25199:126:0;;;;;:::i;:::-;;:::i;13988:44::-;;;;;;;;;;;;;;;;3730:127;;;;;;;;;;-1:-1:-1;3730:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3831:18:0;3804:7;3831:18;;;;;;;;;;;;3730:127;12324:94;;;;;;;;;;;;;:::i;14151:75::-;;;;;;;;;;-1:-1:-1;14151:75:0;;;;-1:-1:-1;;;;;14151:75:0;;;;;;-1:-1:-1;;;;;5787:32:1;;;5769:51;;5757:2;5742:18;14151:75:0;5623:203:1;14392:79:0;;;;;;;;;;;;14429:42;14392:79;;24430:224;;;;;;;;;;;;;:::i;26133:127::-;;;;;;;;;;-1:-1:-1;26133:127:0;;;;;:::i;:::-;;:::i;12101:87::-;;;;;;;;;;-1:-1:-1;12174:6:0;;-1:-1:-1;;;;;12174:6:0;12101:87;;23608:315;;;;;;;;;;-1:-1:-1;23608:315:0;;;;;:::i;:::-;;:::i;2658:104::-;;;;;;;;;;;;;:::i;26021:::-;;;;;;;;;;-1:-1:-1;26021:104:0;;;;;:::i;:::-;;:::i;16826:410::-;;;;;;;;;;-1:-1:-1;16826:410:0;;;;;:::i;:::-;;:::i;13769:19::-;;;;;;;;;;-1:-1:-1;13769:19:0;;;;-1:-1:-1;;;;;13769:19:0;;;17244:165;;;;;;;;;;-1:-1:-1;17244:165:0;;;;;:::i;:::-;;:::i;24840:115::-;;;;;;;;;;-1:-1:-1;24840:115:0;;;;;:::i;:::-;;:::i;14760:41::-;;;;;;;;;;-1:-1:-1;14760:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;25889:124;;;;;;;;;;-1:-1:-1;25889:124:0;;;;;:::i;:::-;;:::i;4349:201::-;;;;;;;;;;-1:-1:-1;4349:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;4515:18:0;;;4483:7;4515:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4349:201;25074:117;;;;;;;;;;-1:-1:-1;25074:117:0;;;;;:::i;:::-;;:::i;24662:170::-;;;;;;;;;;-1:-1:-1;24662:170:0;;;;;:::i;:::-;;:::i;12426:192::-;;;;;;;;;;-1:-1:-1;12426:192:0;;;;;:::i;:::-;;:::i;13741:21::-;;;;;;;;;;-1:-1:-1;13741:21:0;;;;-1:-1:-1;;;;;13741:21:0;;;13840:38;;;;;;;;;;-1:-1:-1;13840:38:0;;;;-1:-1:-1;;;13840:38:0;;;;;;14808:45;;;;;;;;;;-1:-1:-1;14808:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2439:100;2493:13;2526:5;2519:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2439:100;:::o;15945:161::-;16020:4;16037:39;241:10;16060:7;16069:6;16037:8;:39::i;:::-;-1:-1:-1;16094:4:0;15945:161;;;;;:::o;25679:202::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;;;;;;;;;25776:9:::1;25771:103;25795:8;:15;25791:1;:19;25771:103;;;25857:5;25832:9;:22;25842:8;25851:1;25842:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;25832:22:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;25832:22:0;:30;;-1:-1:-1;;25832:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25812:3;::::1;::::0;::::1;:::i;:::-;;;;25771:103;;;;25679:202:::0;;:::o;23931:329::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;24101:9:::1;:32:::0;;;;24144:20;:34;;;;24189:19;:32;24232:13;:20;23931:329::o;23259:152::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;23377:18:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;23377:26:0::1;-1:-1:-1::0;;;;23377:26:0;;::::1;::::0;;;::::1;::::0;;23259:152::o;25333:210::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;25434:9:::1;25429:107;25453:8;:15;25449:1;:19;25429:107;;;25519:5;25490:13;:26;25504:8;25513:1;25504:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;25490:26:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;25490:26:0;:34;;-1:-1:-1;;25490:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25470:3;::::1;::::0;::::1;:::i;:::-;;;;25429:107;;24963:103:::0;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;25037:9:::1;:21:::0;;-1:-1:-1;;;;;;25037:21:0::1;-1:-1:-1::0;;;;;25037:21:0;;;::::1;::::0;;;::::1;::::0;;24963:103::o;16114:448::-;16246:4;16263:36;16273:6;16281:9;16292:6;16263:9;:36::i;:::-;-1:-1:-1;;;;;16339:19:0;;16312:24;16339:19;;;:11;:19;;;;;;;;241:10;16339:33;;;;;;;;16391:26;;;;16383:79;;;;-1:-1:-1;;;16383:79:0;;7406:2:1;16383:79:0;;;7388:21:1;7445:2;7425:18;;;7418:30;7484:34;7464:18;;;7457:62;-1:-1:-1;;;7535:18:1;;;7528:38;7583:19;;16383:79:0;7204:404:1;16383:79:0;16473:57;16482:6;241:10;16504:25;16523:6;16504:16;:25;:::i;:::-;16473:8;:57::i;:::-;-1:-1:-1;16550:4:0;;16114:448;-1:-1:-1;;;;16114:448:0:o;25551:120::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25636:19:0;;;::::1;;::::0;;;:9:::1;:19;::::0;;;;:27;;-1:-1:-1;;25636:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25551:120::o;16570:248::-;241:10;16686:4;16740:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16740:34:0;;;;;;;;;;16686:4;;16708:80;;16731:7;;16740:47;;16777:10;;16740:47;:::i;24268:155::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;24363:6:::1;:27:::0;;-1:-1:-1;;;;;24363:27:0;;::::1;-1:-1:-1::0;;;;;;24363:27:0;;::::1;;::::0;;;24401:4:::1;:14:::0;;;;;::::1;::::0;::::1;;::::0;;24268:155::o;23419:177::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;23574:14:::1;3484:2:::0;23574::::1;:14;:::i;:::-;23561:27;::::0;:10;:27:::1;:::i;:::-;23535:23;:53:::0;-1:-1:-1;23419:177:0:o;25199:126::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25287:22:0;;;::::1;;::::0;;;:13:::1;:22;::::0;;;;:30;;-1:-1:-1;;25287:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25199:126::o;12324:94::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;12389:21:::1;12407:1;12389:9;:21::i;:::-;12324:94::o:0;24430:224::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;24494:14:::1;::::0;-1:-1:-1;;;24494:14:0;::::1;;;24493:15;24485:54;;;::::0;-1:-1:-1;;;24485:54:0;;9634:2:1;24485:54:0::1;::::0;::::1;9616:21:1::0;9673:2;9653:18;;;9646:30;9712:28;9692:18;;;9685:56;9758:18;;24485:54:0::1;9432:350:1::0;24485:54:0::1;24550:14;:21:::0;;-1:-1:-1;;;;24582:25:0;-1:-1:-1;;;24582:25:0;;;24634:12:::1;24618:13;:28:::0;24430:224::o;26133:127::-;26234:9;;26208:44;;-1:-1:-1;;;26208:44:0;;-1:-1:-1;;;;;26234:9:0;;;26208:44;;;9961:51:1;10028:18;;;10021:34;;;26208:25:0;;;;;;9934:18:1;;26208:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;23608:315::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;23780:5:::1;:28:::0;;;;23819:16;:30;;;;23860:15;:28;23899:9;:16;23608:315::o;2658:104::-;2714:13;2747:7;2740:14;;;;;:::i;26021:104::-;26087:9;;26079:38;;-1:-1:-1;;;;;26087:9:0;;;;26079:38;;;;;26107:9;;26087;26079:38;26087:9;26079:38;26107:9;26087;26079:38;;;;;;;;;;;;;;;;;;;;;26021:104;:::o;16826:410::-;241:10;16947:4;16996:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16996:34:0;;;;;;;;;;17049:35;;;;17041:85;;;;-1:-1:-1;;;17041:85:0;;10518:2:1;17041:85:0;;;10500:21:1;10557:2;10537:18;;;10530:30;10596:34;10576:18;;;10569:62;-1:-1:-1;;;10647:18:1;;;10640:35;10692:19;;17041:85:0;10316:401:1;17041:85:0;17137:67;241:10;17160:7;17169:34;17188:15;17169:16;:34;:::i;17137:67::-;-1:-1:-1;17224:4:0;;16826:410;-1:-1:-1;;;16826:410:0:o;17244:165::-;17322:4;17339:40;17349:10;17361:9;17372:6;17339:9;:40::i;24840:115::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;24920:15:::1;:27:::0;;-1:-1:-1;;;;;;24920:27:0::1;-1:-1:-1::0;;;;;24920:27:0;;;::::1;::::0;;;::::1;::::0;;24840:115::o;25889:124::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;25991:14:::1;3484:2:::0;25991::::1;:14;:::i;:::-;25982:23;::::0;:6;:23:::1;:::i;:::-;25965:14;:40:::0;-1:-1:-1;25889:124:0:o;25074:117::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;25155:16:::1;:28:::0;;-1:-1:-1;;;;;;25155:28:0::1;-1:-1:-1::0;;;;;25155:28:0;;;::::1;::::0;;;::::1;::::0;;25074:117::o;24662:170::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;24756:2:::1;24744:9;:14;24735:58;;;::::0;-1:-1:-1;;;24735:58:0;;10924:2:1;24735:58:0::1;::::0;::::1;10906:21:1::0;10963:2;10943:18;;;10936:30;11002:33;10982:18;;;10975:61;11053:18;;24735:58:0::1;10722:355:1::0;24735:58:0::1;24804:8;:20:::0;24662:170::o;12426:192::-;12174:6;;-1:-1:-1;;;;;12174:6:0;241:10;12236:23;12228:68;;;;-1:-1:-1;;;12228:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12515:22:0;::::1;12507:73;;;::::0;-1:-1:-1;;;12507:73:0;;11284:2:1;12507:73:0::1;::::0;::::1;11266:21:1::0;11323:2;11303:18;;;11296:30;11362:34;11342:18;;;11335:62;-1:-1:-1;;;11413:18:1;;;11406:36;11459:19;;12507:73:0::1;11082:402:1::0;12507:73:0::1;12591:19;12601:8;12591:9;:19::i;:::-;12426:192:::0;:::o;10400:380::-;-1:-1:-1;;;;;10536:19:0;;10528:68;;;;-1:-1:-1;;;10528:68:0;;11691:2:1;10528:68:0;;;11673:21:1;11730:2;11710:18;;;11703:30;11769:34;11749:18;;;11742:62;-1:-1:-1;;;11820:18:1;;;11813:34;11864:19;;10528:68:0;11489:400:1;10528:68:0;-1:-1:-1;;;;;10615:21:0;;10607:68;;;;-1:-1:-1;;;10607:68:0;;12096:2:1;10607:68:0;;;12078:21:1;12135:2;12115:18;;;12108:30;12174:34;12154:18;;;12147:62;-1:-1:-1;;;12225:18:1;;;12218:32;12267:19;;10607:68:0;11894:398:1;10607:68:0;-1:-1:-1;;;;;10688:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10740:32;;3720:25:1;;;10740:32:0;;3693:18:1;10740:32:0;;;;;;;10400:380;;;:::o;17417:2850::-;17567:1;17558:6;:10;17550:64;;;;-1:-1:-1;;;17550:64:0;;12499:2:1;17550:64:0;;;12481:21:1;12538:2;12518:18;;;12511:30;12577:34;12557:18;;;12550:62;-1:-1:-1;;;12628:18:1;;;12621:39;12677:19;;17550:64:0;12297:405:1;17550:64:0;-1:-1:-1;;;;;17648:21:0;;;;;;:13;:21;;;;;;;;17647:22;:51;;;;-1:-1:-1;;;;;;17674:24:0;;;;;;:13;:24;;;;;;;;17673:25;17647:51;17625:126;;;;-1:-1:-1;;;17625:126:0;;12909:2:1;17625:126:0;;;12891:21:1;12948:2;12928:18;;;12921:30;12987:27;12967:18;;;12960:55;13032:18;;17625:126:0;12707:349:1;17625:126:0;-1:-1:-1;;;;;17769:17:0;;;;;;:9;:17;;;;;;;;17768:18;:43;;;;-1:-1:-1;;;;;;17791:20:0;;;;;;:9;:20;;;;;;;;17790:21;17768:43;17764:122;;;17836:14;;-1:-1:-1;;;17836:14:0;;;;17828:46;;;;-1:-1:-1;;;17828:46:0;;13263:2:1;17828:46:0;;;13245:21:1;13302:2;13282:18;;;13275:30;-1:-1:-1;;;13321:18:1;;;13314:49;13380:18;;17828:46:0;13061:343:1;17828:46:0;17912:4;;-1:-1:-1;;;;;17902:14:0;;;17912:4;;17902:14;:39;;;;-1:-1:-1;;;;;;17921:20:0;;;;;;:9;:20;;;;;;;;17920:21;17902:39;:59;;;;-1:-1:-1;17946:15:0;;-1:-1:-1;;;17946:15:0;;;;17945:16;17902:59;17898:233;;;18037:14;;18027:6;18004:20;18014:9;-1:-1:-1;;;;;3831:18:0;3804:7;3831:18;;;;;;;;;;;;3730:127;18004:20;:29;;;;:::i;:::-;:47;;17978:141;;;;-1:-1:-1;;;17978:141:0;;13611:2:1;17978:141:0;;;13593:21:1;;;13630:18;;;13623:30;13689:34;13669:18;;;13662:62;13741:18;;17978:141:0;13409:356:1;17978:141:0;18171:4;;-1:-1:-1;;;;;18161:14:0;;;18171:4;;18161:14;;;;:39;;-1:-1:-1;;;;;;18180:20:0;;;;;;:9;:20;;;;;;;;18179:21;18161:39;:61;;;;-1:-1:-1;;;;;;18205:17:0;;;;;;:9;:17;;;;;;;;18204:18;18161:61;:81;;;;-1:-1:-1;18227:15:0;;-1:-1:-1;;;18227:15:0;;;;18226:16;18161:81;18143:348;;;18286:4;;-1:-1:-1;;;;;18273:17:0;;;18286:4;;18273:17;18269:211;;18374:14;;18364:6;18341:20;18351:9;-1:-1:-1;;;;;3831:18:0;3804:7;3831:18;;;;;;;;;;;;3730:127;18341:20;:29;;;;:::i;:::-;:47;;18311:153;;;;-1:-1:-1;;;18311:153:0;;13611:2:1;18311:153:0;;;13593:21:1;;;13630:18;;;13623:30;13689:34;13669:18;;;13662:62;13741:18;;18311:153:0;13409:356:1;18311:153:0;18503:15;18529:14;18554:11;18576:23;18602:9;:21;;;18576:47;;18634:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18634:25:0;-1:-1:-1;;;;;18693:17:0;;18672;18693;;;:9;:17;;;;;;;;18692:18;:56;;;;-1:-1:-1;;;;;;18728:20:0;;;;;;:9;:20;;;;;;;;18727:21;18692:56;:112;;;;;18796:8;;18780:13;;:24;;;;:::i;:::-;18765:12;:39;18692:112;18892:15;;18672:132;;-1:-1:-1;;;;18892:15:0;;;;;:36;;-1:-1:-1;;;;;;18911:17:0;;;;;;:9;:17;;;;;;;;18892:36;:60;;;-1:-1:-1;;;;;;18932:20:0;;;;;;:9;:20;;;;;;;;18892:60;18888:759;;;18973:1;18967:7;;18888:759;;;19038:4;;-1:-1:-1;;;;;19025:17:0;;;19038:4;;19025:17;:34;;;;;19047:12;19046:13;19025:34;19021:626;;;19153:13;;19131:19;;19108:20;;19153:9;19086:19;:42;;19108:20;19086:42;:::i;:::-;:64;;;;:::i;:::-;:80;;;;:::i;:::-;19212:24;;;;;;;;19227:9;19212:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19076:90;;-1:-1:-1;19076:90:0;;-1:-1:-1;19212:24:0;;-1:-1:-1;19212:24:0;-1:-1:-1;19021:626:0;;;19313:12;19308:339;;19407:9;;19389:15;;19370:16;;19407:5;19352:15;:34;;19370:16;19352:34;:::i;:::-;:52;;;;:::i;:::-;:64;;;;:::i;:::-;19462:20;;;;;;;;19477:5;19462:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19342:74;;-1:-1:-1;19342:74:0;;-1:-1:-1;19462:20:0;;-1:-1:-1;19462:20:0;-1:-1:-1;19308:339:0;;;19554:12;19550:97;;;19593:9;;;-1:-1:-1;19593:9:0;;-1:-1:-1;19550:97:0;19691:15;19686:3;19667:15;19676:6;19667;:15;:::i;:::-;19666:23;;;;:::i;:::-;19665:41;;;;:::i;:::-;19820:18;;19659:47;;-1:-1:-1;;;;19820:18:0;;;;:36;;;;-1:-1:-1;19852:4:0;;-1:-1:-1;;;;;19842:14:0;;;19852:4;;19842:14;;19820:36;19816:76;;;19858:34;19870:7;19879:12;19858:11;:34::i;:::-;19934:48;19950:6;19958:9;19969:12;19978:3;19969:6;:12;:::i;:::-;19934:15;:48::i;:::-;19997:7;;19993:267;;20069:11;;20065:182;;20101:17;20148:15;20143:3;20123:16;20132:7;20123:6;:16;:::i;:::-;20122:24;;;;:::i;:::-;20121:42;;;;:::i;:::-;20101:62;;20182:49;20198:6;20214:4;20221:9;20182:15;:49::i;:::-;20082:165;20065:182;17539:2728;;;;;;17417:2850;;;:::o;12626:173::-;12701:6;;;-1:-1:-1;;;;;12718:17:0;;;-1:-1:-1;;;;;;12718:17:0;;;;;;;12751:40;;12701:6;;;12718:17;12701:6;;12751:40;;12682:16;;12751:40;12671:128;12626:173;:::o;20275:1927::-;14970:15;;-1:-1:-1;;;14970:15:0;;;;14965:125;;15002:15;:22;;-1:-1:-1;;;;15002:22:0;-1:-1:-1;;;15002:22:0;;;20368:49;;20399:7:::1;20368:49;20474:4;20430:23;3831:18:::0;;;;;;;;;;;20514:23:::1;::::0;20495:42;::::1;20491:1704;;20584:1;20558:23;;:27;20554:109;;;-1:-1:-1::0;20624:23:0::1;::::0;20554:109:::1;20734:19;20756:11;:7:::0;20766:1:::1;20756:11;:::i;:::-;20734:33;;20782:32;20876:11;20836:9;:19;;;20818:15;:37;;;;:::i;:::-;20817:70;;;;:::i;:::-;20782:105:::0;-1:-1:-1;20902:14:0::1;20919:42;20782:105:::0;20919:15;:42:::1;:::i;:::-;20902:59:::0;-1:-1:-1;21003:21:0::1;21041:24;20902:59:::0;21041:16:::1;:24::i;:::-;21082:20;21105:38;21129:14:::0;21105:21:::1;:38;:::i;:::-;21082:61;;21158:19;21232:9;:21;;;21211:9;:19;;;21197:11;:33;;;;:::i;:::-;21196:57;;;;:::i;:::-;21180:74;::::0;:12;:74:::1;:::i;:::-;21158:96;;21269:29;21337:9;:21;;;21316:9;:19;;;21302:11;:33;;;;:::i;:::-;21301:57;;;;:::i;:::-;21269:89:::0;-1:-1:-1;21379:25:0;;21375:172:::1;;21470:61;21483:24;21509:21;21470:12;:61::i;:::-;21626:21;::::0;::::1;::::0;21605:19;;21563:20:::1;::::0;21626:21;21587:15:::1;:11:::0;21601:1:::1;21587:15;:::i;:::-;:37;;;;:::i;:::-;21586:61;;;;:::i;:::-;21563:84:::0;-1:-1:-1;21666:16:0;;21662:105:::1;;21711:15;::::0;21703:48:::1;::::0;-1:-1:-1;;;;;21711:15:0::1;21738:12:::0;21703:34:::1;:48::i;:::-;21783:14;21834:9;:21;;;21819:9;:13;;;21801:11;21815:1;21801:15;;;;:::i;:::-;:31;;;;:::i;:::-;21800:55;;;;:::i;:::-;21783:72:::0;-1:-1:-1;21874:10:0;;21870:87:::1;;21913:9;::::0;21905:36:::1;::::0;-1:-1:-1;;;;;21913:9:0::1;21934:6:::0;21905:28:::1;:36::i;:::-;21973:21;22038:9;:21;;;22016:9;:20;;;21998:11;22012:1;21998:15;;;;:::i;:::-;:38;;;;:::i;:::-;21997:62;;;;:::i;:::-;21973:86:::0;-1:-1:-1;22078:17:0;;22074:108:::1;;22124:16;::::0;22116:50:::1;::::0;-1:-1:-1;;;;;22124:16:0::1;22152:13:::0;22116:35:::1;:50::i;:::-;20539:1656;;;;;;;;;;20491:1704;20355:1847;15039:1;15055:15:::0;:23;;-1:-1:-1;;;;15055:23:0;;;20275:1927;;:::o;7862:638::-;-1:-1:-1;;;;;8002:20:0;;7994:70;;;;-1:-1:-1;;;7994:70:0;;14194:2:1;7994:70:0;;;14176:21:1;14233:2;14213:18;;;14206:30;14272:34;14252:18;;;14245:62;-1:-1:-1;;;14323:18:1;;;14316:35;14368:19;;7994:70:0;13992:401:1;7994:70:0;-1:-1:-1;;;;;8083:23:0;;8075:71;;;;-1:-1:-1;;;8075:71:0;;14600:2:1;8075:71:0;;;14582:21:1;14639:2;14619:18;;;14612:30;14678:34;14658:18;;;14651:62;-1:-1:-1;;;14729:18:1;;;14722:33;14772:19;;8075:71:0;14398:399:1;8075:71:0;-1:-1:-1;;;;;8243:17:0;;8219:21;8243:17;;;;;;;;;;;8279:23;;;;8271:74;;;;-1:-1:-1;;;8271:74:0;;15004:2:1;8271:74:0;;;14986:21:1;15043:2;15023:18;;;15016:30;15082:34;15062:18;;;15055:62;-1:-1:-1;;;15133:18:1;;;15126:36;15179:19;;8271:74:0;14802:402:1;8271:74:0;8376:22;8392:6;8376:13;:22;:::i;:::-;-1:-1:-1;;;;;8356:17:0;;;:9;:17;;;;;;;;;;;:42;;;;8409:20;;;;;;;;:30;;8433:6;;8356:9;8409:30;;8433:6;;8409:30;:::i;:::-;;;;;;;;8474:9;-1:-1:-1;;;;;8457:35:0;8466:6;-1:-1:-1;;;;;8457:35:0;;8485:6;8457:35;;;;3720:25:1;;3708:2;3693:18;;3574:177;8457:35:0;;;;;;;;7983:517;7862:638;;;:::o;22210:534::-;22360:16;;;22374:1;22360:16;;;;;;;;22336:21;;22360:16;;;;;;;;;;-1:-1:-1;22360:16:0;22336:40;;22405:4;22387;22392:1;22387:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22387:23:0;;;:7;;;;;;;;;;:23;;;;22431:6;;:13;;;-1:-1:-1;;;22431:13:0;;;;:6;;;;;:11;;:13;;;;;22387:7;;22431:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22421:4;22426:1;22421:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22421:23:0;;;:7;;;;;;;;;:23;22489:6;;22457:53;;22474:4;;22489:6;22498:11;22457:8;:53::i;:::-;22549:6;;:187;;-1:-1:-1;;;22549:187:0;;-1:-1:-1;;;;;22549:6:0;;;;:57;;:187;;22621:11;;22549:6;;22663:4;;22690;;22710:15;;22549:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22265:479;22210:534;:::o;22752:499::-;22932:6;;22900:53;;22917:4;;-1:-1:-1;;;;;22932:6:0;22941:11;22900:8;:53::i;:::-;22996:6;;23193:9;;22996:247;;-1:-1:-1;;;22996:247:0;;23061:4;22996:247;;;16791:34:1;16841:18;;;16834:34;;;22996:6:0;16884:18:1;;;16877:34;;;16927:18;;;16920:34;-1:-1:-1;;;;;23193:9:0;;;16970:19:1;;;16963:44;23217:15:0;17023:19:1;;;17016:35;22996:6:0;;;:22;;23027:9;;16725:19:1;;22996:247:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22752:499;;:::o;11544:319::-;11659:6;11634:21;:31;;11626:73;;;;-1:-1:-1;;;11626:73:0;;17575:2:1;11626:73:0;;;17557:21:1;17614:2;17594:18;;;17587:30;17653:31;17633:18;;;17626:59;17702:18;;11626:73:0;17373:353:1;11626:73:0;11713:12;11731:9;-1:-1:-1;;;;;11731:14:0;11754:6;11731:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11712:54;;;11785:7;11777:78;;;;-1:-1:-1;;;11777:78:0;;18143:2:1;11777:78:0;;;18125:21:1;18182:2;18162:18;;;18155:30;18221:34;18201:18;;;18194:62;18292:28;18272:18;;;18265:56;18338:19;;11777:78:0;17941:422:1;14:548;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:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1354:127::-;1415:10;1410:3;1406:20;1403:1;1396:31;1446:4;1443:1;1436:15;1470:4;1467:1;1460:15;1486:118;1572:5;1565:13;1558:21;1551:5;1548:32;1538:60;;1594:1;1591;1584:12;1609:128;1674:20;;1703:28;1674:20;1703:28;:::i;1742:1191::-;1832:6;1840;1893:2;1881:9;1872:7;1868:23;1864:32;1861:52;;;1909:1;1906;1899:12;1861:52;1949:9;1936:23;1978:18;2019:2;2011:6;2008:14;2005:34;;;2035:1;2032;2025:12;2005:34;2073:6;2062:9;2058:22;2048:32;;2118:7;2111:4;2107:2;2103:13;2099:27;2089:55;;2140:1;2137;2130:12;2089:55;2176:2;2163:16;2198:4;2221:2;2217;2214:10;2211:36;;;2227:18;;:::i;:::-;2273:2;2270:1;2266:10;2305:2;2299:9;2368:2;2364:7;2359:2;2355;2351:11;2347:25;2339:6;2335:38;2423:6;2411:10;2408:22;2403:2;2391:10;2388:18;2385:46;2382:72;;;2434:18;;:::i;:::-;2470:2;2463:22;2520:18;;;2554:15;;;;-1:-1:-1;2596:11:1;;;2592:20;;;2624:19;;;2621:39;;;2656:1;2653;2646:12;2621:39;2680:11;;;;2700:148;2716:6;2711:3;2708:15;2700:148;;;2782:23;2801:3;2782:23;:::i;:::-;2770:36;;2733:12;;;;2826;;;;2700:148;;;2867:6;-1:-1:-1;2892:35:1;;-1:-1:-1;2908:18:1;;;2892:35;:::i;:::-;2882:45;;;;;;1742:1191;;;;;:::o;2938:385::-;3024:6;3032;3040;3048;3101:3;3089:9;3080:7;3076:23;3072:33;3069:53;;;3118:1;3115;3108:12;3069:53;-1:-1:-1;;3141:23:1;;;3211:2;3196:18;;3183:32;;-1:-1:-1;3262:2:1;3247:18;;3234:32;;3313:2;3298:18;3285:32;;-1:-1:-1;2938:385:1;-1:-1:-1;2938:385:1:o;3328:241::-;3384:6;3437:2;3425:9;3416:7;3412:23;3408:32;3405:52;;;3453:1;3450;3443:12;3405:52;3492:9;3479:23;3511:28;3533:5;3511:28;:::i;:::-;3558:5;3328:241;-1:-1:-1;;;3328:241:1:o;3756:247::-;3815:6;3868:2;3856:9;3847:7;3843:23;3839:32;3836:52;;;3884:1;3881;3874:12;3836:52;3923:9;3910:23;3942:31;3967:5;3942:31;:::i;4008:456::-;4085:6;4093;4101;4154:2;4142:9;4133:7;4129:23;4125:32;4122:52;;;4170:1;4167;4160:12;4122:52;4209:9;4196:23;4228:31;4253:5;4228:31;:::i;:::-;4278:5;-1:-1:-1;4335:2:1;4320:18;;4307:32;4348:33;4307:32;4348:33;:::i;:::-;4008:456;;4400:7;;-1:-1:-1;;;4454:2:1;4439:18;;;;4426:32;;4008:456::o;4658:382::-;4723:6;4731;4784:2;4772:9;4763:7;4759:23;4755:32;4752:52;;;4800:1;4797;4790:12;4752:52;4839:9;4826:23;4858:31;4883:5;4858:31;:::i;:::-;4908:5;-1:-1:-1;4965:2:1;4950:18;;4937:32;4978:30;4937:32;4978:30;:::i;:::-;5027:7;5017:17;;;4658:382;;;;;:::o;5045:388::-;5113:6;5121;5174:2;5162:9;5153:7;5149:23;5145:32;5142:52;;;5190:1;5187;5180:12;5142:52;5229:9;5216:23;5248:31;5273:5;5248:31;:::i;:::-;5298:5;-1:-1:-1;5355:2:1;5340:18;;5327:32;5368:33;5327:32;5368:33;:::i;5438:180::-;5497:6;5550:2;5538:9;5529:7;5525:23;5521:32;5518:52;;;5566:1;5563;5556:12;5518:52;-1:-1:-1;5589:23:1;;5438:180;-1:-1:-1;5438:180:1:o;6054:380::-;6133:1;6129:12;;;;6176;;;6197:61;;6251:4;6243:6;6239:17;6229:27;;6197:61;6304:2;6296:6;6293:14;6273:18;6270:38;6267:161;;6350:10;6345:3;6341:20;6338:1;6331:31;6385:4;6382:1;6375:15;6413:4;6410:1;6403:15;6267:161;;6054:380;;;:::o;6439:356::-;6641:2;6623:21;;;6660:18;;;6653:30;6719:34;6714:2;6699:18;;6692:62;6786:2;6771:18;;6439:356::o;6800:127::-;6861:10;6856:3;6852:20;6849:1;6842:31;6892:4;6889:1;6882:15;6916:4;6913:1;6906:15;6932:127;6993:10;6988:3;6984:20;6981:1;6974:31;7024:4;7021:1;7014:15;7048:4;7045:1;7038:15;7064:135;7103:3;7124:17;;;7121:43;;7144:18;;:::i;:::-;-1:-1:-1;7191:1:1;7180:13;;7064:135::o;7613:128::-;7680:9;;;7701:11;;;7698:37;;;7715:18;;:::i;7746:125::-;7811:9;;;7832:10;;;7829:36;;;7845:18;;:::i;7876:422::-;7965:1;8008:5;7965:1;8022:270;8043:7;8033:8;8030:21;8022:270;;;8102:4;8098:1;8094:6;8090:17;8084:4;8081:27;8078:53;;;8111:18;;:::i;:::-;8161:7;8151:8;8147:22;8144:55;;;8181:16;;;;8144:55;8260:22;;;;8220:15;;;;8022:270;;;8026:3;7876:422;;;;;:::o;8303:806::-;8352:5;8382:8;8372:80;;-1:-1:-1;8423:1:1;8437:5;;8372:80;8471:4;8461:76;;-1:-1:-1;8508:1:1;8522:5;;8461:76;8553:4;8571:1;8566:59;;;;8639:1;8634:130;;;;8546:218;;8566:59;8596:1;8587:10;;8610:5;;;8634:130;8671:3;8661:8;8658:17;8655:43;;;8678:18;;:::i;:::-;-1:-1:-1;;8734:1:1;8720:16;;8749:5;;8546:218;;8848:2;8838:8;8835:16;8829:3;8823:4;8820:13;8816:36;8810:2;8800:8;8797:16;8792:2;8786:4;8783:12;8779:35;8776:77;8773:159;;;-1:-1:-1;8885:19:1;;;8917:5;;8773:159;8964:34;8989:8;8983:4;8964:34;:::i;:::-;9034:6;9030:1;9026:6;9022:19;9013:7;9010:32;9007:58;;;9045:18;;:::i;:::-;9083:20;;8303:806;-1:-1:-1;;;8303:806:1:o;9114:140::-;9172:5;9201:47;9242:4;9232:8;9228:19;9222:4;9201:47;:::i;9259:168::-;9332:9;;;9363;;9380:15;;;9374:22;;9360:37;9350:71;;9401:18;;:::i;10066:245::-;10133:6;10186:2;10174:9;10165:7;10161:23;10157:32;10154:52;;;10202:1;10199;10192:12;10154:52;10234:9;10228:16;10253:28;10275:5;10253:28;:::i;13770:217::-;13810:1;13836;13826:132;;13880:10;13875:3;13871:20;13868:1;13861:31;13915:4;13912:1;13905:15;13943:4;13940:1;13933:15;13826:132;-1:-1:-1;13972:9:1;;13770:217::o;15209:251::-;15279:6;15332:2;15320:9;15311:7;15307:23;15303:32;15300:52;;;15348:1;15345;15338:12;15300:52;15380:9;15374:16;15399:31;15424:5;15399:31;:::i;15465:980::-;15727:4;15775:3;15764:9;15760:19;15806:6;15795:9;15788:25;15832:2;15870:6;15865:2;15854:9;15850:18;15843:34;15913:3;15908:2;15897:9;15893:18;15886:31;15937:6;15972;15966:13;16003:6;15995;15988:22;16041:3;16030:9;16026:19;16019:26;;16080:2;16072:6;16068:15;16054:29;;16101:1;16111:195;16125:6;16122:1;16119:13;16111:195;;;16190:13;;-1:-1:-1;;;;;16186:39:1;16174:52;;16281:15;;;;16246:12;;;;16222:1;16140:9;16111:195;;;-1:-1:-1;;;;;;;16362:32:1;;;;16357:2;16342:18;;16335:60;-1:-1:-1;;;16426:3:1;16411:19;16404:35;16323:3;15465:980;-1:-1:-1;;;15465:980:1:o;17062:306::-;17150:6;17158;17166;17219:2;17207:9;17198:7;17194:23;17190:32;17187:52;;;17235:1;17232;17225:12;17187:52;17264:9;17258:16;17248:26;;17314:2;17303:9;17299:18;17293:25;17283:35;;17358:2;17347:9;17343:18;17337:25;17327:35;;17062:306;;;;;:::o

Swarm Source

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