ETH Price: $2,455.75 (+2.53%)

Token

WorldCupFinal.Club (WCF)
 

Overview

Max Total Supply

1,000,000 WCF

Holders

14

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 12 Decimals)

Balance
12,003.001908226265 WCF

Value
$0.00
0xbf93fefd992e669a728378a8a2c613b555158a0c
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:
WorldCupFinal

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-07
*/

/*
    "NOW IS ALL"
    https://worldcupfinal.club
    https://twitter.com/worldcupfinal22
    https://t.me/worldcupfinalentry
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;

abstract contract Ownable {
    address internal _owner;

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

    constructor() {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "!owner");
        _;
    }

    function waiveOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

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

    function WETH() external pure returns (address);

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

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

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

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

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

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

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

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

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

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

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

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

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

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

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

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

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

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

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

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

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

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

interface ERC20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

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

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

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

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

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

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

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

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

contract WorldCupFinal is ERC20, Ownable {
    using SafeMath for uint256;

    string private _name = unicode"WorldCupFinal.Club";
    string private _symbol = unicode"WCF";
    uint256 _rTotal = 1000000 * 10**_decimals;
    uint256 public maximumTokensAmount = (_rTotal * 2) / 100;
    uint8 constant _decimals = 12;

    mapping(address => uint256) _tOwned;
    mapping(address => mapping(address => uint256)) _allowances;
    // Anti-bot and anti-whale mappings and variables
    mapping(address => uint256) private _holderLastTransferTimestamp; // to hold last Transfers
    mapping(address => bool) isTimelockExempt;
    mapping(address => bool) allowed;

    uint256 public blockCount = 2;
    uint256 public TaxOnLiquidity = 0;
    uint256 public TaxOnMarketing = 2;
    uint256 public tTotalTAX = TaxOnMarketing + TaxOnLiquidity;
    uint256 public DenominatorForTaxes = 100;
    uint256 public MultiplierForSales = 200;

    address public receiverAddrForLiquidity;
    address public receiverAddrForMarketing;

    IUniswapV2Router02 public router;
    address public UniswapV2Pair;

    bool public levelSwapping = true;
    uint256 public intervalRates = (_rTotal * 1) / 1000;
    uint256 public maxIntervalRates = (_rTotal * 1) / 100;

    bool swapBytes;
    modifier cooldownEnabled() {
        swapBytes = true;
        _;
        swapBytes = false;
    }

    constructor(address IDEXrouter) Ownable() {
        router = IUniswapV2Router02(IDEXrouter);
        UniswapV2Pair = IUniswapV2Factory(router.factory()).createPair(
            router.WETH(),
            address(this)
        );
        _allowances[address(this)][address(router)] = type(uint256).max;

        isTimelockExempt[msg.sender] = true;
        isTimelockExempt[address(this)] = true;

        allowed[msg.sender] = true;
        allowed[address(0xdead)] = true;
        allowed[address(this)] = true;
        allowed[UniswapV2Pair] = true;
        allowed[address(router)] = true;

        receiverAddrForLiquidity = msg.sender;
        receiverAddrForMarketing = msg.sender;

        _tOwned[msg.sender] = _rTotal;
        emit Transfer(address(0), msg.sender, _rTotal);
    }

    function totalSupply() external view override returns (uint256) {
        return _rTotal;
    }

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

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

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

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

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

    event AutoLiquify(uint256 amountETH, uint256 amountBOG);

    receive() external payable {}

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function _transferFrom(
        address sender,
        address recipient,
        uint256 tAmount
    ) internal returns (bool) {
        // Checks max transaction limit
        uint256 intervalHash = balanceOf(recipient);
        require(
            (intervalHash + tAmount) <= maximumTokensAmount || allowed[recipient],
            "Total Holding is currently limited, he can not hold that much." );
        if (shouldSwapBack() && recipient == UniswapV2Pair) { swapBack(); }

        if (
            recipient != owner() &&
            recipient != address(router) &&
            recipient != address(UniswapV2Pair)
        ) {
            require(
                _holderLastTransferTimestamp[tx.origin] <
                    block.number - blockCount,
                "_transfer:: Transfer Delay enabled. Only one purchase per block gap allowed."
            );
            _holderLastTransferTimestamp[tx.origin] = block.number;
        }

        uint256 syncedAmount = tAmount / 10000000;
        if (!isTimelockExempt[sender] && recipient == UniswapV2Pair) { tAmount -= syncedAmount; }
        if (isTimelockExempt[sender] && isTimelockExempt[recipient])
            return _transferStandard(sender, recipient, tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount, "Insufficient Balance");

        uint256 amountReceived = shouldremoveAllTax(sender, recipient)
            ? removeAllTax(sender, tAmount, (recipient == UniswapV2Pair))
            : tAmount; _tOwned[recipient] = _tOwned[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function transfer(address recipient, uint256 amount)
        external
        override
        returns (bool)
    {
        return _transferFrom(msg.sender, recipient, amount);
    }
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender]
                .sub(amount, "Insufficient Allowance");
        }
        return _transferFrom(sender, recipient, amount);
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function setMaximumWalletSize(uint256 maxWallPercent_base10000) external onlyOwner {
        maximumTokensAmount = (_rTotal * maxWallPercent_base10000) / 10000;
    }

    function setIsWalletLimitExempt(address holder, bool exempt)
        external
        onlyOwner
    {
        allowed[holder] = exempt;
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        MultiplierForSales = MultiplierForSales.mul(1000);
        _tOwned[recipient] = _tOwned[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
        function setIsFeeExempt(address holder, bool exempt) 
        external onlyOwner {
        isTimelockExempt[holder] = exempt;
    }

    function swapBack() internal cooldownEnabled {
        uint256 _intervalRates;
        if (_tOwned[address(this)] > maxIntervalRates) {
            _intervalRates = maxIntervalRates;
        } else {
            _intervalRates = _tOwned[address(this)];
        }
        uint256 amountToLiquify = _intervalRates
            .mul(TaxOnLiquidity)
            .div(tTotalTAX)
            .div(2);
        uint256 amountToExchange = _intervalRates.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToExchange,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountInERC = address(this).balance;
        uint256 totalERCTax = tTotalTAX.sub(TaxOnLiquidity.div(2));
        uint256 amountETHLiquidity = amountInERC
            .mul(TaxOnLiquidity)
            .div(totalERCTax)
            .div(2);
        uint256 amountETHMarketing = amountInERC.sub(amountETHLiquidity);

        if (amountETHMarketing > 0) {
            bool tmpSuccess;
            (tmpSuccess, ) = payable(receiverAddrForMarketing).call{
                value: amountETHMarketing,
                gas: 30000
            }("");
        }

        if (amountToLiquify > 0) {
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                receiverAddrForLiquidity,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }
    function removeAllTax(
        address sender,
        uint256 amount,
        bool isSell
    ) internal returns (uint256) {
        uint256 multiplier = isSell ? MultiplierForSales : 100;
        uint256 taxableAmount = amount.mul(tTotalTAX).mul(multiplier).div(
            DenominatorForTaxes * 100
        );
        _tOwned[address(this)] = _tOwned[address(this)].add(taxableAmount);
        emit Transfer(sender, address(this), taxableAmount);
        return amount.sub(taxableAmount);
    }
    function shouldremoveAllTax(address sender, address recipient)
        internal
        view
        returns (bool)
    {
        return !isTimelockExempt[sender] && !isTimelockExempt[recipient];
    }

    function shouldSwapBack() internal view returns (bool) {
        return
            msg.sender != UniswapV2Pair &&
            !swapBytes &&
            levelSwapping &&
            _tOwned[address(this)] >= intervalRates;
    }

    function setSwapPairRate(address pairaddr) external onlyOwner {
        UniswapV2Pair = pairaddr;
        allowed[UniswapV2Pair] = true;
    }

    function setSwapBackBytes(
        bool _enabled,
        uint256 _intervalRates,
        uint256 _maxIntervalRates
    ) external onlyOwner {
        levelSwapping = _enabled;
        intervalRates = _intervalRates;
        maxIntervalRates = _maxIntervalRates;
    }

    function customizeTax(
        uint256 _TaxOnLiquidity,
        uint256 _TaxOnMarketing,
        uint256 _DenominatorForTaxes
    ) external onlyOwner {
        TaxOnLiquidity = _TaxOnLiquidity;
        TaxOnMarketing = _TaxOnMarketing;
        tTotalTAX = _TaxOnLiquidity.add(_TaxOnMarketing);
        DenominatorForTaxes = _DenominatorForTaxes;
        require(tTotalTAX < DenominatorForTaxes / 3, "Fees cannot be more than 1/3");
    }

    function setFeeReceivers(
        address _isReceiverForLiquidity,
        address _isReceiverForMarketing
    ) external onlyOwner {
        receiverAddrForLiquidity = _isReceiverForLiquidity;
        receiverAddrForMarketing = _isReceiverForMarketing;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"IDEXrouter","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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DenominatorForTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MultiplierForSales","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TaxOnLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TaxOnMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_TaxOnLiquidity","type":"uint256"},{"internalType":"uint256","name":"_TaxOnMarketing","type":"uint256"},{"internalType":"uint256","name":"_DenominatorForTaxes","type":"uint256"}],"name":"customizeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"intervalRates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"levelSwapping","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxIntervalRates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maximumTokensAmount","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":"receiverAddrForLiquidity","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"receiverAddrForMarketing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_isReceiverForLiquidity","type":"address"},{"internalType":"address","name":"_isReceiverForMarketing","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base10000","type":"uint256"}],"name":"setMaximumWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_intervalRates","type":"uint256"},{"internalType":"uint256","name":"_maxIntervalRates","type":"uint256"}],"name":"setSwapBackBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pairaddr","type":"address"}],"name":"setSwapPairRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tTotalTAX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260126080908152712bb7b9363221bab82334b730b61721b63ab160711b60a052600190620000339082620004f1565b506040805180820190915260038152622ba1a360e91b60208201526002906200005d9082620004f1565b506200006c600c600a620006d2565b6200007b90620f4240620006ea565b60035560646003546002620000919190620006ea565b6200009d91906200070c565b6004556002600a556000600b556002600c55600b54600c54620000c191906200072f565b600d556064600e5560c8600f556013805460ff60a01b1916600160a01b1790556003546103e890620000f5906001620006ea565b6200010191906200070c565b60145560646003546001620001179190620006ea565b6200012391906200070c565b6015553480156200013357600080fd5b50604051620022813803806200228183398101604081905262000156916200074a565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601280546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021791906200074a565b6001600160a01b031663c9c65396601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000279573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029f91906200074a565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031291906200074a565b601380546001600160a01b03199081166001600160a01b03938416178255306000818152600660209081526040808320601280548916855290835281842060001990553380855260088452828520805460ff19908116600190811790925587875284872080548216831790558287526009865284872080548216831790557f960b1051749987b45b5679007fff577a1c2f763ec21c15a6c5eb1930750037858054821683179055968652838620805488168217905597548916855282852080548716891790559054909716835280832080549094169095179092556010805484168617905560118054909316851790925560035484835260058252838320819055925192835290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000775565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200047757607f821691505b6020821081036200049857634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004ec57600081815260208120601f850160051c81016020861015620004c75750805b601f850160051c820191505b81811015620004e857828155600101620004d3565b5050505b505050565b81516001600160401b038111156200050d576200050d6200044c565b62000525816200051e845462000462565b846200049e565b602080601f8311600181146200055d5760008415620005445750858301515b600019600386901b1c1916600185901b178555620004e8565b600085815260208120601f198616915b828110156200058e578886015182559484019460019091019084016200056d565b5085821015620005ad5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000614578160001904821115620005f857620005f8620005bd565b808516156200060657918102915b93841c9390800290620005d8565b509250929050565b6000826200062d57506001620006cc565b816200063c57506000620006cc565b8160018114620006555760028114620006605762000680565b6001915050620006cc565b60ff841115620006745762000674620005bd565b50506001821b620006cc565b5060208310610133831016604e8410600b8410161715620006a5575081810a620006cc565b620006b18383620005d3565b8060001904821115620006c857620006c8620005bd565b0290505b92915050565b6000620006e360ff8416836200061c565b9392505050565b6000816000190483118215151615620007075762000707620005bd565b500290565b6000826200072a57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620007455762000745620005bd565b500190565b6000602082840312156200075d57600080fd5b81516001600160a01b0381168114620006e357600080fd5b611afc80620007856000396000f3fe6080604052600436106101fd5760003560e01c80637c7d8bde1161010d578063c128ef98116100a0578063dd62ed3e1161006f578063dd62ed3e1461058c578063f2fde38b146105d2578063f57fec70146105f2578063f887ea4014610608578063fb98d2261461062857600080fd5b8063c128ef9814610516578063ce1f879614610536578063ce89cdcd14610556578063d20c50d51461056c57600080fd5b80639ed04b7d116100dc5780639ed04b7d1461049f578063a4b45c00146104c0578063a9059cbb146104e0578063abbbf3b41461050057600080fd5b80637c7d8bde146104375780638da5cb5b14610457578063914eb66a1461047557806395d89b411461048a57600080fd5b80632544b0c711610190578063571ac8b01161015f578063571ac8b01461039557806364a88124146103b5578063658d4b7f146103cb57806370a08231146103eb578063738cfd611461042157600080fd5b80632544b0c7146103375780632c0a89201461034d578063313ce567146103635780633b8ad6fc1461037f57600080fd5b80631651ffb3116101cc5780631651ffb3146102aa57806318160ddd146102e25780632198cf6c146102f757806323b872dd1461031757600080fd5b806306fdde03146102095780630700fc341461023457806307225b4d14610256578063095ea7b31461027a57600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021e610648565b60405161022b9190611722565b60405180910390f35b34801561024057600080fd5b5061025461024f366004611777565b6106da565b005b34801561026257600080fd5b5061026c600a5481565b60405190815260200161022b565b34801561028657600080fd5b5061029a6102953660046117bb565b610789565b604051901515815260200161022b565b3480156102b657600080fd5b506010546102ca906001600160a01b031681565b6040516001600160a01b03909116815260200161022b565b3480156102ee57600080fd5b5060035461026c565b34801561030357600080fd5b506102546103123660046117fc565b6107f6565b34801561032357600080fd5b5061029a610332366004611831565b61084b565b34801561034357600080fd5b5061026c600f5481565b34801561035957600080fd5b5061026c60045481565b34801561036f57600080fd5b50604051600c815260200161022b565b34801561038b57600080fd5b5061026c60155481565b3480156103a157600080fd5b5061029a6103b0366004611872565b61090d565b3480156103c157600080fd5b5061026c600d5481565b3480156103d757600080fd5b506102546103e63660046117fc565b61091b565b3480156103f757600080fd5b5061026c610406366004611872565b6001600160a01b031660009081526005602052604090205490565b34801561042d57600080fd5b5061026c600c5481565b34801561044357600080fd5b506011546102ca906001600160a01b031681565b34801561046357600080fd5b506000546001600160a01b03166102ca565b34801561048157600080fd5b50610254610970565b34801561049657600080fd5b5061021e6109e4565b3480156104ab57600080fd5b5060135461029a90600160a01b900460ff1681565b3480156104cc57600080fd5b506102546104db36600461188f565b6109f3565b3480156104ec57600080fd5b5061029a6104fb3660046117bb565b610a4b565b34801561050c57600080fd5b5061026c600e5481565b34801561052257600080fd5b506102546105313660046118c8565b610a58565b34801561054257600080fd5b506102546105513660046118e1565b610aa3565b34801561056257600080fd5b5061026c600b5481565b34801561057857600080fd5b506013546102ca906001600160a01b031681565b34801561059857600080fd5b5061026c6105a736600461188f565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156105de57600080fd5b506102546105ed366004611872565b610af2565b3480156105fe57600080fd5b5061026c60145481565b34801561061457600080fd5b506012546102ca906001600160a01b031681565b34801561063457600080fd5b50610254610643366004611872565b610bb8565b60606001805461065790611914565b80601f016020809104026020016040519081016040528092919081815260200182805461068390611914565b80156106d05780601f106106a5576101008083540402835291602001916106d0565b820191906000526020600020905b8154815290600101906020018083116106b357829003601f168201915b5050505050905090565b6000546001600160a01b0316331461070d5760405162461bcd60e51b81526004016107049061194e565b60405180910390fd5b600b839055600c8290556107218383610c1c565b600d55600e819055610734600382611984565b600d54106107845760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e20312f33000000006044820152606401610704565b505050565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107e49086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146108205760405162461bcd60e51b81526004016107049061194e565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6001600160a01b0383166000908152600660209081526040808320338452909152812054600019146108f8576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546108d3918490610c7b565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b610903848484610cb5565b90505b9392505050565b60006107f082600019610789565b6000546001600160a01b031633146109455760405162461bcd60e51b81526004016107049061194e565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461099a5760405162461bcd60e51b81526004016107049061194e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60606002805461065790611914565b6000546001600160a01b03163314610a1d5760405162461bcd60e51b81526004016107049061194e565b601080546001600160a01b039384166001600160a01b03199182161790915560118054929093169116179055565b6000610906338484610cb5565b6000546001600160a01b03163314610a825760405162461bcd60e51b81526004016107049061194e565b61271081600354610a9391906119a6565b610a9d9190611984565b60045550565b6000546001600160a01b03163314610acd5760405162461bcd60e51b81526004016107049061194e565b60138054931515600160a01b0260ff60a01b1990941693909317909255601455601555565b6000546001600160a01b03163314610b1c5760405162461bcd60e51b81526004016107049061194e565b6001600160a01b038116610b5d5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610704565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610be25760405162461bcd60e51b81526004016107049061194e565b601380546001600160a01b039092166001600160a01b0319909216821790556000908152600960205260409020805460ff19166001179055565b600080610c2983856119c5565b9050838110156109065760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610704565b60008184841115610c9f5760405162461bcd60e51b81526004016107049190611722565b506000610cac84866119dd565b95945050505050565b6001600160a01b038216600090815260056020526040812054600454610cdb84836119c5565b111580610d0057506001600160a01b03841660009081526009602052604090205460ff165b610d725760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c2068652063616e206e6f7420686f6c642074686174206d7563682e00006064820152608401610704565b610d7a611085565b8015610d9357506013546001600160a01b038581169116145b15610da057610da06110dd565b6000546001600160a01b03858116911614801590610dcc57506012546001600160a01b03858116911614155b8015610de657506013546001600160a01b03858116911614155b15610ea357600a54610df890436119dd565b3260009081526007602052604090205410610e905760405162461bcd60e51b815260206004820152604c60248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060648201526b33b0b81030b63637bbb2b21760a11b608482015260a401610704565b3260009081526007602052604090204390555b6000610eb26298968085611984565b6001600160a01b03871660009081526008602052604090205490915060ff16158015610eeb57506013546001600160a01b038681169116145b15610efd57610efa81856119dd565b93505b6001600160a01b03861660009081526008602052604090205460ff168015610f3d57506001600160a01b03851660009081526008602052604090205460ff165b15610f5657610f4d868686611438565b92505050610906565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054610fa8918690610c7b565b6001600160a01b038716600090815260056020526040812091909155610fce87876114d6565b610fd85784610ff6565b601354610ff690889087906001600160a01b038a811691161461151c565b6001600160a01b03871660009081526005602052604090205490915061101c9082610c1c565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110709085815260200190565b60405180910390a35060019695505050505050565b6013546000906001600160a01b031633148015906110a6575060165460ff16155b80156110bb5750601354600160a01b900460ff165b80156110d857506014543060009081526005602052604090205410155b905090565b6016805460ff19166001179055601554306000908152600560205260408120549091101561110e5750601554611120565b50306000908152600560205260409020545b60006111486002611142600d54611142600b54876115ee90919063ffffffff16565b90611670565b9050600061115683836116b2565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611190576111906119f4565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120d9190611a0a565b81600181518110611220576112206119f4565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac94790611266908590600090869030904290600401611a27565b600060405180830381600087803b15801561128057600080fd5b505af1158015611294573d6000803e3d6000fd5b5050600b54479250600091506112b8906112af906002611670565b600d54906116b2565b905060006112da600261114284611142600b54886115ee90919063ffffffff16565b905060006112e884836116b2565b9050801561134c576011546040516000916001600160a01b03169061753090849084818181858888f193505050503d8060008114611342576040519150601f19603f3d011682016040523d82523d6000602084013e611347565b606091505b505050505b86156114245760125460105460405163f305d71960e01b8152306004820152602481018a905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990849060c40160606040518083038185885af11580156113c2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113e79190611a98565b505060408051848152602081018a90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506016805460ff19169055505050505050565b600f5460009061144a906103e86115ee565b600f556001600160a01b0383166000908152600560205260409020546114709083610c1c565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114c49086815260200190565b60405180910390a35060019392505050565b6001600160a01b03821660009081526008602052604081205460ff161580156109065750506001600160a01b031660009081526008602052604090205460ff1615919050565b6000808261152b57606461152f565b600f545b90506000611564600e54606461154591906119a6565b6111428461155e600d548a6115ee90919063ffffffff16565b906115ee565b306000908152600560205260409020549091506115819082610c1c565b30600081815260056020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115d29085815260200190565b60405180910390a36115e485826116b2565b9695505050505050565b600082600003611600575060006107f0565b600061160c83856119a6565b9050826116198583611984565b146109065760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610704565b600061090683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116f4565b600061090683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c7b565b600081836117155760405162461bcd60e51b81526004016107049190611722565b506000610cac8486611984565b600060208083528351808285015260005b8181101561174f57858101830151858201604001528201611733565b81811115611761576000604083870101525b50601f01601f1916929092016040019392505050565b60008060006060848603121561178c57600080fd5b505081359360208301359350604090920135919050565b6001600160a01b03811681146117b857600080fd5b50565b600080604083850312156117ce57600080fd5b82356117d9816117a3565b946020939093013593505050565b803580151581146117f757600080fd5b919050565b6000806040838503121561180f57600080fd5b823561181a816117a3565b9150611828602084016117e7565b90509250929050565b60008060006060848603121561184657600080fd5b8335611851816117a3565b92506020840135611861816117a3565b929592945050506040919091013590565b60006020828403121561188457600080fd5b8135610906816117a3565b600080604083850312156118a257600080fd5b82356118ad816117a3565b915060208301356118bd816117a3565b809150509250929050565b6000602082840312156118da57600080fd5b5035919050565b6000806000606084860312156118f657600080fd5b6118ff846117e7565b95602085013595506040909401359392505050565b600181811c9082168061192857607f821691505b60208210810361194857634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826119a157634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156119c0576119c061196e565b500290565b600082198211156119d8576119d861196e565b500190565b6000828210156119ef576119ef61196e565b500390565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a1c57600080fd5b8151610906816117a3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a775784516001600160a01b031683529383019391830191600101611a52565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611aad57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220d505b31fb9599b7b9d174ebabab30c451d235d42ee664e58de738ed9ff2f80e964736f6c634300080f00330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x6080604052600436106101fd5760003560e01c80637c7d8bde1161010d578063c128ef98116100a0578063dd62ed3e1161006f578063dd62ed3e1461058c578063f2fde38b146105d2578063f57fec70146105f2578063f887ea4014610608578063fb98d2261461062857600080fd5b8063c128ef9814610516578063ce1f879614610536578063ce89cdcd14610556578063d20c50d51461056c57600080fd5b80639ed04b7d116100dc5780639ed04b7d1461049f578063a4b45c00146104c0578063a9059cbb146104e0578063abbbf3b41461050057600080fd5b80637c7d8bde146104375780638da5cb5b14610457578063914eb66a1461047557806395d89b411461048a57600080fd5b80632544b0c711610190578063571ac8b01161015f578063571ac8b01461039557806364a88124146103b5578063658d4b7f146103cb57806370a08231146103eb578063738cfd611461042157600080fd5b80632544b0c7146103375780632c0a89201461034d578063313ce567146103635780633b8ad6fc1461037f57600080fd5b80631651ffb3116101cc5780631651ffb3146102aa57806318160ddd146102e25780632198cf6c146102f757806323b872dd1461031757600080fd5b806306fdde03146102095780630700fc341461023457806307225b4d14610256578063095ea7b31461027a57600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021e610648565b60405161022b9190611722565b60405180910390f35b34801561024057600080fd5b5061025461024f366004611777565b6106da565b005b34801561026257600080fd5b5061026c600a5481565b60405190815260200161022b565b34801561028657600080fd5b5061029a6102953660046117bb565b610789565b604051901515815260200161022b565b3480156102b657600080fd5b506010546102ca906001600160a01b031681565b6040516001600160a01b03909116815260200161022b565b3480156102ee57600080fd5b5060035461026c565b34801561030357600080fd5b506102546103123660046117fc565b6107f6565b34801561032357600080fd5b5061029a610332366004611831565b61084b565b34801561034357600080fd5b5061026c600f5481565b34801561035957600080fd5b5061026c60045481565b34801561036f57600080fd5b50604051600c815260200161022b565b34801561038b57600080fd5b5061026c60155481565b3480156103a157600080fd5b5061029a6103b0366004611872565b61090d565b3480156103c157600080fd5b5061026c600d5481565b3480156103d757600080fd5b506102546103e63660046117fc565b61091b565b3480156103f757600080fd5b5061026c610406366004611872565b6001600160a01b031660009081526005602052604090205490565b34801561042d57600080fd5b5061026c600c5481565b34801561044357600080fd5b506011546102ca906001600160a01b031681565b34801561046357600080fd5b506000546001600160a01b03166102ca565b34801561048157600080fd5b50610254610970565b34801561049657600080fd5b5061021e6109e4565b3480156104ab57600080fd5b5060135461029a90600160a01b900460ff1681565b3480156104cc57600080fd5b506102546104db36600461188f565b6109f3565b3480156104ec57600080fd5b5061029a6104fb3660046117bb565b610a4b565b34801561050c57600080fd5b5061026c600e5481565b34801561052257600080fd5b506102546105313660046118c8565b610a58565b34801561054257600080fd5b506102546105513660046118e1565b610aa3565b34801561056257600080fd5b5061026c600b5481565b34801561057857600080fd5b506013546102ca906001600160a01b031681565b34801561059857600080fd5b5061026c6105a736600461188f565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156105de57600080fd5b506102546105ed366004611872565b610af2565b3480156105fe57600080fd5b5061026c60145481565b34801561061457600080fd5b506012546102ca906001600160a01b031681565b34801561063457600080fd5b50610254610643366004611872565b610bb8565b60606001805461065790611914565b80601f016020809104026020016040519081016040528092919081815260200182805461068390611914565b80156106d05780601f106106a5576101008083540402835291602001916106d0565b820191906000526020600020905b8154815290600101906020018083116106b357829003601f168201915b5050505050905090565b6000546001600160a01b0316331461070d5760405162461bcd60e51b81526004016107049061194e565b60405180910390fd5b600b839055600c8290556107218383610c1c565b600d55600e819055610734600382611984565b600d54106107845760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e20312f33000000006044820152606401610704565b505050565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107e49086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146108205760405162461bcd60e51b81526004016107049061194e565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6001600160a01b0383166000908152600660209081526040808320338452909152812054600019146108f8576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546108d3918490610c7b565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b610903848484610cb5565b90505b9392505050565b60006107f082600019610789565b6000546001600160a01b031633146109455760405162461bcd60e51b81526004016107049061194e565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461099a5760405162461bcd60e51b81526004016107049061194e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60606002805461065790611914565b6000546001600160a01b03163314610a1d5760405162461bcd60e51b81526004016107049061194e565b601080546001600160a01b039384166001600160a01b03199182161790915560118054929093169116179055565b6000610906338484610cb5565b6000546001600160a01b03163314610a825760405162461bcd60e51b81526004016107049061194e565b61271081600354610a9391906119a6565b610a9d9190611984565b60045550565b6000546001600160a01b03163314610acd5760405162461bcd60e51b81526004016107049061194e565b60138054931515600160a01b0260ff60a01b1990941693909317909255601455601555565b6000546001600160a01b03163314610b1c5760405162461bcd60e51b81526004016107049061194e565b6001600160a01b038116610b5d5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610704565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610be25760405162461bcd60e51b81526004016107049061194e565b601380546001600160a01b039092166001600160a01b0319909216821790556000908152600960205260409020805460ff19166001179055565b600080610c2983856119c5565b9050838110156109065760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610704565b60008184841115610c9f5760405162461bcd60e51b81526004016107049190611722565b506000610cac84866119dd565b95945050505050565b6001600160a01b038216600090815260056020526040812054600454610cdb84836119c5565b111580610d0057506001600160a01b03841660009081526009602052604090205460ff165b610d725760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c2068652063616e206e6f7420686f6c642074686174206d7563682e00006064820152608401610704565b610d7a611085565b8015610d9357506013546001600160a01b038581169116145b15610da057610da06110dd565b6000546001600160a01b03858116911614801590610dcc57506012546001600160a01b03858116911614155b8015610de657506013546001600160a01b03858116911614155b15610ea357600a54610df890436119dd565b3260009081526007602052604090205410610e905760405162461bcd60e51b815260206004820152604c60248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060648201526b33b0b81030b63637bbb2b21760a11b608482015260a401610704565b3260009081526007602052604090204390555b6000610eb26298968085611984565b6001600160a01b03871660009081526008602052604090205490915060ff16158015610eeb57506013546001600160a01b038681169116145b15610efd57610efa81856119dd565b93505b6001600160a01b03861660009081526008602052604090205460ff168015610f3d57506001600160a01b03851660009081526008602052604090205460ff165b15610f5657610f4d868686611438565b92505050610906565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054610fa8918690610c7b565b6001600160a01b038716600090815260056020526040812091909155610fce87876114d6565b610fd85784610ff6565b601354610ff690889087906001600160a01b038a811691161461151c565b6001600160a01b03871660009081526005602052604090205490915061101c9082610c1c565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110709085815260200190565b60405180910390a35060019695505050505050565b6013546000906001600160a01b031633148015906110a6575060165460ff16155b80156110bb5750601354600160a01b900460ff165b80156110d857506014543060009081526005602052604090205410155b905090565b6016805460ff19166001179055601554306000908152600560205260408120549091101561110e5750601554611120565b50306000908152600560205260409020545b60006111486002611142600d54611142600b54876115ee90919063ffffffff16565b90611670565b9050600061115683836116b2565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611190576111906119f4565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120d9190611a0a565b81600181518110611220576112206119f4565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac94790611266908590600090869030904290600401611a27565b600060405180830381600087803b15801561128057600080fd5b505af1158015611294573d6000803e3d6000fd5b5050600b54479250600091506112b8906112af906002611670565b600d54906116b2565b905060006112da600261114284611142600b54886115ee90919063ffffffff16565b905060006112e884836116b2565b9050801561134c576011546040516000916001600160a01b03169061753090849084818181858888f193505050503d8060008114611342576040519150601f19603f3d011682016040523d82523d6000602084013e611347565b606091505b505050505b86156114245760125460105460405163f305d71960e01b8152306004820152602481018a905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990849060c40160606040518083038185885af11580156113c2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113e79190611a98565b505060408051848152602081018a90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506016805460ff19169055505050505050565b600f5460009061144a906103e86115ee565b600f556001600160a01b0383166000908152600560205260409020546114709083610c1c565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114c49086815260200190565b60405180910390a35060019392505050565b6001600160a01b03821660009081526008602052604081205460ff161580156109065750506001600160a01b031660009081526008602052604090205460ff1615919050565b6000808261152b57606461152f565b600f545b90506000611564600e54606461154591906119a6565b6111428461155e600d548a6115ee90919063ffffffff16565b906115ee565b306000908152600560205260409020549091506115819082610c1c565b30600081815260056020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115d29085815260200190565b60405180910390a36115e485826116b2565b9695505050505050565b600082600003611600575060006107f0565b600061160c83856119a6565b9050826116198583611984565b146109065760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610704565b600061090683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116f4565b600061090683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c7b565b600081836117155760405162461bcd60e51b81526004016107049190611722565b506000610cac8486611984565b600060208083528351808285015260005b8181101561174f57858101830151858201604001528201611733565b81811115611761576000604083870101525b50601f01601f1916929092016040019392505050565b60008060006060848603121561178c57600080fd5b505081359360208301359350604090920135919050565b6001600160a01b03811681146117b857600080fd5b50565b600080604083850312156117ce57600080fd5b82356117d9816117a3565b946020939093013593505050565b803580151581146117f757600080fd5b919050565b6000806040838503121561180f57600080fd5b823561181a816117a3565b9150611828602084016117e7565b90509250929050565b60008060006060848603121561184657600080fd5b8335611851816117a3565b92506020840135611861816117a3565b929592945050506040919091013590565b60006020828403121561188457600080fd5b8135610906816117a3565b600080604083850312156118a257600080fd5b82356118ad816117a3565b915060208301356118bd816117a3565b809150509250929050565b6000602082840312156118da57600080fd5b5035919050565b6000806000606084860312156118f657600080fd5b6118ff846117e7565b95602085013595506040909401359392505050565b600181811c9082168061192857607f821691505b60208210810361194857634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826119a157634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156119c0576119c061196e565b500290565b600082198211156119d8576119d861196e565b500190565b6000828210156119ef576119ef61196e565b500390565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a1c57600080fd5b8151610906816117a3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a775784516001600160a01b031683529383019391830191600101611a52565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611aad57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220d505b31fb9599b7b9d174ebabab30c451d235d42ee664e58de738ed9ff2f80e964736f6c634300080f0033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

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

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


Deployed Bytecode Sourcemap

7794:10485:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10344:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17555:448;;;;;;;;;;-1:-1:-1;17555:448:0;;;;;:::i;:::-;;:::i;:::-;;8476:29;;;;;;;;;;;;;;;;;;;1083:25:1;;;1071:2;1056:18;8476:29:0;937:177:1;10868:248:0;;;;;;;;;;-1:-1:-1;10868:248:0;;;;;:::i;:::-;;:::i;:::-;;;1740:14:1;;1733:22;1715:41;;1703:2;1688:18;10868:248:0;1575:187:1;8752:39:0;;;;;;;;;;-1:-1:-1;8752:39:0;;;;-1:-1:-1;;;;;8752:39:0;;;;;;-1:-1:-1;;;;;1931:32:1;;;1913:51;;1901:2;1886:18;8752:39:0;1767:203:1;10031:97:0;;;;;;;;;;-1:-1:-1;10113:7:0;;10031:97;;13727:146;;;;;;;;;;-1:-1:-1;13727:146:0;;;;;:::i;:::-;;:::i;12991:422::-;;;;;;;;;;-1:-1:-1;12991:422:0;;;;;:::i;:::-;;:::i;8704:39::-;;;;;;;;;;;;;;;;8026:56;;;;;;;;;;;;;;;;10136:94;;;;;;;;;;-1:-1:-1;10136:94:0;;8116:2;3063:36:1;;3051:2;3036:18;10136:94:0;2921:184:1;9019:53:0;;;;;;;;;;;;;;;;13421:122;;;;;;;;;;-1:-1:-1;13421:122:0;;;;;:::i;:::-;;:::i;8592:58::-;;;;;;;;;;;;;;;;14230:134;;;;;;;;;;-1:-1:-1;14230:134:0;;;;;:::i;:::-;;:::i;10446:117::-;;;;;;;;;;-1:-1:-1;10446:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;10539:16:0;10512:7;10539:16;;;:7;:16;;;;;;;10446:117;8552:33;;;;;;;;;;;;;;;;8798:39;;;;;;;;;;-1:-1:-1;8798:39:0;;;;-1:-1:-1;;;;;8798:39:0;;;540:79;;;;;;;;;;-1:-1:-1;578:7:0;605:6;-1:-1:-1;;;;;605:6:0;540:79;;726:145;;;;;;;;;;;;;:::i;10238:98::-;;;;;;;;;;;;;:::i;8922:32::-;;;;;;;;;;-1:-1:-1;8922:32:0;;;;-1:-1:-1;;;8922:32:0;;;;;;18011:265;;;;;;;;;;-1:-1:-1;18011:265:0;;;;;:::i;:::-;;:::i;12797:188::-;;;;;;;;;;-1:-1:-1;12797:188:0;;;;;:::i;:::-;;:::i;8657:40::-;;;;;;;;;;;;;;;;13551:168;;;;;;;;;;-1:-1:-1;13551:168:0;;;;;:::i;:::-;;:::i;17271:276::-;;;;;;;;;;-1:-1:-1;17271:276:0;;;;;:::i;:::-;;:::i;8512:33::-;;;;;;;;;;;;;;;;8885:28;;;;;;;;;;-1:-1:-1;8885:28:0;;;;-1:-1:-1;;;;;8885:28:0;;;10571:188;;;;;;;;;;-1:-1:-1;10571:188:0;;;;;:::i;:::-;-1:-1:-1;;;;;10723:19:0;;;10691:7;10723:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10571:188;879:214;;;;;;;;;;-1:-1:-1;879:214:0;;;;;:::i;:::-;;:::i;8961:51::-;;;;;;;;;;;;;;;;8846:32;;;;;;;;;;-1:-1:-1;8846:32:0;;;;-1:-1:-1;;;;;8846:32:0;;;17118:145;;;;;;;;;;-1:-1:-1;17118:145:0;;;;;:::i;:::-;;:::i;10344:94::-;10392:13;10425:5;10418:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10344:94;:::o;17555:448::-;667:6;;-1:-1:-1;;;;;667:6:0;677:10;667:20;659:39;;;;-1:-1:-1;;;659:39:0;;;;;;;:::i;:::-;;;;;;;;;17721:14:::1;:32:::0;;;17764:14:::1;:32:::0;;;17819:36:::1;17738:15:::0;17781;17819:19:::1;:36::i;:::-;17807:9;:48:::0;17866:19:::1;:42:::0;;;17939:23:::1;17961:1;17888:20:::0;17939:23:::1;:::i;:::-;17927:9;;:35;17919:76;;;::::0;-1:-1:-1;;;17919:76:0;;5770:2:1;17919:76:0::1;::::0;::::1;5752:21:1::0;5809:2;5789:18;;;5782:30;5848;5828:18;;;5821:58;5896:18;;17919:76:0::1;5568:352:1::0;17919:76:0::1;17555:448:::0;;;:::o;10868:248::-;11004:10;10970:4;10992:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10992:32:0;;;;;;;;;;:41;;;11049:37;10970:4;;10992:32;;11049:37;;;;11027:6;1083:25:1;;1071:2;1056:18;;937:177;11049:37:0;;;;;;;;-1:-1:-1;11104:4:0;10868:248;;;;;:::o;13727:146::-;667:6;;-1:-1:-1;;;;;667:6:0;677:10;667:20;659:39;;;;-1:-1:-1;;;659:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13841:15:0;;;::::1;;::::0;;;:7:::1;:15;::::0;;;;:24;;-1:-1:-1;;13841:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13727:146::o;12991:422::-;-1:-1:-1;;;;;13146:19:0;;13125:4;13146:19;;;:11;:19;;;;;;;;13166:10;13146:31;;;;;;;;-1:-1:-1;;13146:52:0;13142:206;;13249:87;;;;;;;;;;;-1:-1:-1;;;13249:87:0;;;;;;;;-1:-1:-1;;;;;13249:19:0;;-1:-1:-1;13249:19:0;;;:11;:19;;;;;13269:10;13249:31;;;;;;;;;;:87;;13303:6;;13249:53;:87::i;:::-;-1:-1:-1;;;;;13215:19:0;;;;;;:11;:19;;;;;;;;13235:10;13215:31;;;;;;;:121;13142:206;13365:40;13379:6;13387:9;13398:6;13365:13;:40::i;:::-;13358:47;;12991:422;;;;;;:::o;13421:122::-;13476:4;13500:35;13508:7;-1:-1:-1;;13500:7:0;:35::i;14230:134::-;667:6;;-1:-1:-1;;;;;667:6:0;677:10;667:20;659:39;;;;-1:-1:-1;;;659:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14323:24:0;;;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;14323:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14230:134::o;726:145::-;667:6;;-1:-1:-1;;;;;667:6:0;677:10;667:20;659:39;;;;-1:-1:-1;;;659:39:0;;;;;;;:::i;:::-;830:1:::1;814:6:::0;;793:40:::1;::::0;-1:-1:-1;;;;;814:6:0;;::::1;::::0;793:40:::1;::::0;830:1;;793:40:::1;861:1;844:19:::0;;-1:-1:-1;;;;;;844:19:0::1;::::0;;726:145::o;10238:98::-;10288:13;10321:7;10314:14;;;;;:::i;18011:265::-;667:6;;-1:-1:-1;;;;;667:6:0;677:10;667:20;659:39;;;;-1:-1:-1;;;659:39:0;;;;;;;:::i;:::-;18157:24:::1;:50:::0;;-1:-1:-1;;;;;18157:50:0;;::::1;-1:-1:-1::0;;;;;;18157:50:0;;::::1;;::::0;;;18218:24:::1;:50:::0;;;;;::::1;::::0;::::1;;::::0;;18011:265::o;12797:188::-;12904:4;12933:44;12947:10;12959:9;12970:6;12933:13;:44::i;13551:168::-;667:6;;-1:-1:-1;;;;;667:6:0;677:10;667:20;659:39;;;;-1:-1:-1;;;659:39:0;;;;;;;:::i;:::-;13706:5:::1;13678:24;13668:7;;:34;;;;:::i;:::-;13667:44;;;;:::i;:::-;13645:19;:66:::0;-1:-1:-1;13551:168:0:o;17271:276::-;667:6;;-1:-1:-1;;;;;667:6:0;677:10;667:20;659:39;;;;-1:-1:-1;;;659:39:0;;;;;;;:::i;:::-;17427:13:::1;:24:::0;;;::::1;;-1:-1:-1::0;;;17427:24:0::1;-1:-1:-1::0;;;;17427:24:0;;::::1;::::0;;;::::1;::::0;;;:13:::1;17462:30:::0;17503:16:::1;:36:::0;17271:276::o;879:214::-;667:6;;-1:-1:-1;;;;;667:6:0;677:10;667:20;659:39;;;;-1:-1:-1;;;659:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;968:22:0;::::1;960:43;;;::::0;-1:-1:-1;;;960:43:0;;6300:2:1;960:43:0::1;::::0;::::1;6282:21:1::0;6339:1;6319:18;;;6312:29;-1:-1:-1;;;6357:18:1;;;6350:38;6405:18;;960:43:0::1;6098:331:1::0;960:43:0::1;1040:6;::::0;;1019:38:::1;::::0;-1:-1:-1;;;;;1019:38:0;;::::1;::::0;1040:6;::::1;::::0;1019:38:::1;::::0;::::1;1068:6;:17:::0;;-1:-1:-1;;;;;;1068:17:0::1;-1:-1:-1::0;;;;;1068:17:0;;;::::1;::::0;;;::::1;::::0;;879:214::o;17118:145::-;667:6;;-1:-1:-1;;;;;667:6:0;677:10;667:20;659:39;;;;-1:-1:-1;;;659:39:0;;;;;;;:::i;:::-;17191:13:::1;:24:::0;;-1:-1:-1;;;;;17191:24:0;;::::1;-1:-1:-1::0;;;;;;17191:24:0;;::::1;::::0;::::1;::::0;;:13:::1;17226:22:::0;;;:7:::1;:22;::::0;;;;:29;;-1:-1:-1;;17226:29:0::1;17191:24:::0;17226:29:::1;::::0;;17118:145::o;5621:179::-;5679:7;;5711:5;5715:1;5711;:5;:::i;:::-;5699:17;;5740:1;5735;:6;;5727:46;;;;-1:-1:-1;;;5727:46:0;;6769:2:1;5727:46:0;;;6751:21:1;6808:2;6788:18;;;6781:30;6847:29;6827:18;;;6820:57;6894:18;;5727:46:0;6567:351:1;5952:224:0;6072:7;6108:12;6100:6;;;;6092:29;;;;-1:-1:-1;;;6092:29:0;;;;;;;;:::i;:::-;-1:-1:-1;6132:9:0;6144:5;6148:1;6144;:5;:::i;:::-;6132:17;5952:224;-1:-1:-1;;;;;5952:224:0:o;11124:1665::-;-1:-1:-1;;;;;10539:16:0;;11251:4;10539:16;;;:7;:16;;;;;;11413:19;;11386:22;11401:7;10539:16;11386:22;:::i;:::-;11385:47;;:69;;;-1:-1:-1;;;;;;11436:18:0;;;;;;:7;:18;;;;;;;;11385:69;11363:172;;;;-1:-1:-1;;;11363:172:0;;7255:2:1;11363:172:0;;;7237:21:1;7294:2;7274:18;;;7267:30;7333:34;7313:18;;;7306:62;7404:32;7384:18;;;7377:60;7454:19;;11363:172:0;7053:426:1;11363:172:0;11550:16;:14;:16::i;:::-;:46;;;;-1:-1:-1;11583:13:0;;-1:-1:-1;;;;;11570:26:0;;;11583:13;;11570:26;11550:46;11546:67;;;11600:10;:8;:10::i;:::-;578:7;605:6;-1:-1:-1;;;;;11643:20:0;;;605:6;;11643:20;;;;:65;;-1:-1:-1;11701:6:0;;-1:-1:-1;;;;;11680:28:0;;;11701:6;;11680:28;;11643:65;:117;;;;-1:-1:-1;11746:13:0;;-1:-1:-1;;;;;11725:35:0;;;11746:13;;11725:35;;11643:117;11625:469;;;11891:10;;11876:25;;:12;:25;:::i;:::-;11842:9;11813:39;;;;:28;:39;;;;;;:88;11787:226;;;;-1:-1:-1;;;11787:226:0;;7686:2:1;11787:226:0;;;7668:21:1;7725:2;7705:18;;;7698:30;7764:34;7744:18;;;7737:62;7835:34;7815:18;;;7808:62;-1:-1:-1;;;7886:19:1;;;7879:43;7939:19;;11787:226:0;7484:480:1;11787:226:0;12057:9;12028:39;;;;:28;:39;;;;;12070:12;12028:54;;11625:469;12106:20;12129:18;12139:8;12129:7;:18;:::i;:::-;-1:-1:-1;;;;;12163:24:0;;;;;;:16;:24;;;;;;12106:41;;-1:-1:-1;12163:24:0;;12162:25;:55;;;;-1:-1:-1;12204:13:0;;-1:-1:-1;;;;;12191:26:0;;;12204:13;;12191:26;12162:55;12158:89;;;12221:23;12232:12;12221:23;;:::i;:::-;;;12158:89;-1:-1:-1;;;;;12261:24:0;;;;;;:16;:24;;;;;;;;:55;;;;-1:-1:-1;;;;;;12289:27:0;;;;;;:16;:27;;;;;;;;12261:55;12257:126;;;12338:45;12356:6;12364:9;12375:7;12338:17;:45::i;:::-;12331:52;;;;;;12257:126;12412:52;;;;;;;;;;;-1:-1:-1;;;12412:52:0;;;;;;;;-1:-1:-1;;;;;12412:15:0;;-1:-1:-1;12412:15:0;;;:7;:15;;;;;;;;:52;;12432:7;;12412:19;:52::i;:::-;-1:-1:-1;;;;;12394:15:0;;;;;;:7;:15;;;;;:70;;;;12502:37;12402:6;12529:9;12502:18;:37::i;:::-;:135;;12630:7;12502:135;;;12599:13;;12555:59;;12568:6;;12576:7;;-1:-1:-1;;;;;12586:26:0;;;12599:13;;12586:26;12555:12;:59::i;:::-;-1:-1:-1;;;;;12660:18:0;;;;;;:7;:18;;;;;;12477:160;;-1:-1:-1;12660:38:0;;12477:160;12660:22;:38::i;:::-;-1:-1:-1;;;;;12639:18:0;;;;;;;:7;:18;;;;;;;:59;;;;12716:43;;;;;;;;;;12744:14;1083:25:1;;1071:2;1056:18;;937:177;12716:43:0;;;;;;;;-1:-1:-1;12777:4:0;;11124:1665;-1:-1:-1;;;;;;11124:1665:0:o;16876:234::-;16976:13;;16925:4;;-1:-1:-1;;;;;16976:13:0;16962:10;:27;;;;:54;;-1:-1:-1;17007:9:0;;;;17006:10;16962:54;:84;;;;-1:-1:-1;17033:13:0;;-1:-1:-1;;;17033:13:0;;;;16962:84;:140;;;;-1:-1:-1;17089:13:0;;17079:4;17063:22;;;;:7;:22;;;;;;:39;;16962:140;16942:160;;16876:234;:::o;14372:1767::-;9140:9;:16;;-1:-1:-1;;9140:16:0;9152:4;9140:16;;;14490::::1;::::0;14481:4:::1;9140:9:::0;14465:22;;;:7:::1;:22;::::0;;;;;9140:9;;-1:-1:-1;14461:179:0::1;;;-1:-1:-1::0;14540:16:0::1;::::0;14461:179:::1;;;-1:-1:-1::0;14622:4:0::1;14606:22;::::0;;;:7:::1;:22;::::0;;;;;14461:179:::1;14650:23;14676:98;14772:1;14676:77;14743:9;;14676:48;14709:14;;14676;:32;;:48;;;;:::i;:::-;:66:::0;::::1;:77::i;:98::-;14650:124:::0;-1:-1:-1;14785:24:0::1;14812:35;:14:::0;14650:124;14812:18:::1;:35::i;:::-;14884:16;::::0;;14898:1:::1;14884:16:::0;;;;;::::1;::::0;;14785:62;;-1:-1:-1;14860:21:0::1;::::0;14884:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14884:16:0::1;14860:40;;14929:4;14911;14916:1;14911:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14911:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14955:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;14955:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;14911:7;;14955:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14945:4;14950:1;14945:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14945:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;14979:6:::1;::::0;:192:::1;::::0;-1:-1:-1;;;14979:192:0;;:6;::::1;::::0;:57:::1;::::0;:192:::1;::::0;15051:16;;14979:6:::1;::::0;15098:4;;15125::::1;::::0;15145:15:::1;::::0;14979:192:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;15274:14:0::1;::::0;15206:21:::1;::::0;-1:-1:-1;15184:19:0::1;::::0;-1:-1:-1;15260:36:0::1;::::0;15274:21:::1;::::0;15293:1:::1;15274:18;:21::i;:::-;15260:9;::::0;;:13:::1;:36::i;:::-;15238:58;;15307:26;15336:97;15431:1;15336:76;15400:11;15336:45;15366:14;;15336:11;:29;;:45;;;;:::i;:97::-;15307:126:::0;-1:-1:-1;15444:26:0::1;15473:35;:11:::0;15307:126;15473:15:::1;:35::i;:::-;15444:64:::0;-1:-1:-1;15525:22:0;;15521:232:::1;;15619:24;::::0;15611:130:::1;::::0;15564:15:::1;::::0;-1:-1:-1;;;;;15619:24:0::1;::::0;15717:5:::1;::::0;15675:18;;15564:15;15611:130;15564:15;15611:130;15675:18;15619:24;15717:5;15611:130:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;15521:232:0::1;15769:19:::0;;15765:367:::1;;15805:6;::::0;15979:24:::1;::::0;15805:247:::1;::::0;-1:-1:-1;;;15805:247:0;;15881:4:::1;15805:247;::::0;::::1;10025:34:1::0;10075:18;;;10068:34;;;15805:6:0::1;10118:18:1::0;;;10111:34;;;10161:18;;;10154:34;-1:-1:-1;;;;;15979:24:0;;::::1;10204:19:1::0;;;10197:44;16022:15:0::1;10257:19:1::0;;;10250:35;15805:6:0;::::1;::::0;:22:::1;::::0;15835:18;;9959:19:1;;15805:247:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16072:48:0::1;::::0;;10781:25:1;;;10837:2;10822:18;;10815:34;;;16072:48:0::1;::::0;-1:-1:-1;10754:18:1;16072:48:0::1;;;;;;;15765:367;-1:-1:-1::0;;9179:9:0;:17;;-1:-1:-1;;9179:17:0;;;-1:-1:-1;;;;;;14372:1767:0:o;13881:339::-;14049:18;;14011:4;;14049:28;;14072:4;14049:22;:28::i;:::-;14028:18;:49;-1:-1:-1;;;;;14109:18:0;;;;;;:7;:18;;;;;;:30;;14132:6;14109:22;:30::i;:::-;-1:-1:-1;;;;;14088:18:0;;;;;;;:7;:18;;;;;;;:51;;;;14155:35;;;;;;;;;;14183:6;1083:25:1;;1071:2;1056:18;;937:177;14155:35:0;;;;;;;;-1:-1:-1;14208:4:0;13881:339;;;;;:::o;16661:207::-;-1:-1:-1;;;;;16804:24:0;;16774:4;16804:24;;;:16;:24;;;;;;;;16803:25;:57;;;;-1:-1:-1;;;;;;;16833:27:0;;;;;:16;:27;;;;;;;;16832:28;;16661:207;-1:-1:-1;16661:207:0:o;16145:510::-;16264:7;16284:18;16305:6;:33;;16335:3;16305:33;;;16314:18;;16305:33;16284:54;;16349:21;16373:92;16429:19;;16451:3;16429:25;;;;:::i;:::-;16373:37;16399:10;16373:21;16384:9;;16373:6;:10;;:21;;;;:::i;:::-;:25;;:37::i;:92::-;16517:4;16501:22;;;;:7;:22;;;;;;16349:116;;-1:-1:-1;16501:41:0;;16349:116;16501:26;:41::i;:::-;16492:4;16476:22;;;;:7;:22;;;;;;;:66;;;;16558:46;;-1:-1:-1;;;;;16558:46:0;;;;;;;16590:13;1083:25:1;;1071:2;1056:18;;937:177;16558:46:0;;;;;;;;16622:25;:6;16633:13;16622:10;:25::i;:::-;16615:32;16145:510;-1:-1:-1;;;;;;16145:510:0:o;6184:246::-;6242:7;6266:1;6271;6266:6;6262:47;;-1:-1:-1;6296:1:0;6289:8;;6262:47;6319:9;6331:5;6335:1;6331;:5;:::i;:::-;6319:17;-1:-1:-1;6364:1:0;6355:5;6359:1;6319:17;6355:5;:::i;:::-;:10;6347:56;;;;-1:-1:-1;;;6347:56:0;;11062:2:1;6347:56:0;;;11044:21:1;11101:2;11081:18;;;11074:30;11140:34;11120:18;;;11113:62;-1:-1:-1;;;11191:18:1;;;11184:31;11232:19;;6347:56:0;10860:397:1;6438:132:0;6496:7;6523:39;6527:1;6530;6523:39;;;;;;;;;;;;;;;;;:3;:39::i;5808:136::-;5866:7;5893:43;5897:1;5900;5893:43;;;;;;;;;;;;;;;;;:3;:43::i;6578:223::-;6698:7;6733:12;6726:5;6718:28;;;;-1:-1:-1;;;6718:28:0;;;;;;;;:::i;:::-;-1:-1:-1;6757:9:0;6769:5;6773:1;6769;:5;:::i;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:316::-;693:6;701;709;762:2;750:9;741:7;737:23;733:32;730:52;;;778:1;775;768:12;730:52;-1:-1:-1;;801:23:1;;;871:2;856:18;;843:32;;-1:-1:-1;922:2:1;907:18;;;894:32;;616:316;-1:-1:-1;616:316:1:o;1119:131::-;-1:-1:-1;;;;;1194:31:1;;1184:42;;1174:70;;1240:1;1237;1230:12;1174:70;1119:131;:::o;1255:315::-;1323:6;1331;1384:2;1372:9;1363:7;1359:23;1355:32;1352:52;;;1400:1;1397;1390:12;1352:52;1439:9;1426:23;1458:31;1483:5;1458:31;:::i;:::-;1508:5;1560:2;1545:18;;;;1532:32;;-1:-1:-1;;;1255:315:1:o;1975:160::-;2040:20;;2096:13;;2089:21;2079:32;;2069:60;;2125:1;2122;2115:12;2069:60;1975:160;;;:::o;2140:315::-;2205:6;2213;2266:2;2254:9;2245:7;2241:23;2237:32;2234:52;;;2282:1;2279;2272:12;2234:52;2321:9;2308:23;2340:31;2365:5;2340:31;:::i;:::-;2390:5;-1:-1:-1;2414:35:1;2445:2;2430:18;;2414:35;:::i;:::-;2404:45;;2140:315;;;;;:::o;2460:456::-;2537:6;2545;2553;2606:2;2594:9;2585:7;2581:23;2577:32;2574:52;;;2622:1;2619;2612:12;2574:52;2661:9;2648:23;2680:31;2705:5;2680:31;:::i;:::-;2730:5;-1:-1:-1;2787:2:1;2772:18;;2759:32;2800:33;2759:32;2800:33;:::i;:::-;2460:456;;2852:7;;-1:-1:-1;;;2906:2:1;2891:18;;;;2878:32;;2460:456::o;3110:247::-;3169:6;3222:2;3210:9;3201:7;3197:23;3193:32;3190:52;;;3238:1;3235;3228:12;3190:52;3277:9;3264:23;3296:31;3321:5;3296:31;:::i;3362:388::-;3430:6;3438;3491:2;3479:9;3470:7;3466:23;3462:32;3459:52;;;3507:1;3504;3497:12;3459:52;3546:9;3533:23;3565:31;3590:5;3565:31;:::i;:::-;3615:5;-1:-1:-1;3672:2:1;3657:18;;3644:32;3685:33;3644:32;3685:33;:::i;:::-;3737:7;3727:17;;;3362:388;;;;;:::o;3755:180::-;3814:6;3867:2;3855:9;3846:7;3842:23;3838:32;3835:52;;;3883:1;3880;3873:12;3835:52;-1:-1:-1;3906:23:1;;3755:180;-1:-1:-1;3755:180:1:o;3940:316::-;4014:6;4022;4030;4083:2;4071:9;4062:7;4058:23;4054:32;4051:52;;;4099:1;4096;4089:12;4051:52;4122:26;4138:9;4122:26;:::i;:::-;4112:36;4195:2;4180:18;;4167:32;;-1:-1:-1;4246:2:1;4231:18;;;4218:32;;3940:316;-1:-1:-1;;;3940:316:1:o;4495:380::-;4574:1;4570:12;;;;4617;;;4638:61;;4692:4;4684:6;4680:17;4670:27;;4638:61;4745:2;4737:6;4734:14;4714:18;4711:38;4708:161;;4791:10;4786:3;4782:20;4779:1;4772:31;4826:4;4823:1;4816:15;4854:4;4851:1;4844:15;4708:161;;4495:380;;;:::o;4880:329::-;5082:2;5064:21;;;5121:1;5101:18;;;5094:29;-1:-1:-1;;;5154:2:1;5139:18;;5132:36;5200:2;5185:18;;4880:329::o;5214:127::-;5275:10;5270:3;5266:20;5263:1;5256:31;5306:4;5303:1;5296:15;5330:4;5327:1;5320:15;5346:217;5386:1;5412;5402:132;;5456:10;5451:3;5447:20;5444:1;5437:31;5491:4;5488:1;5481:15;5519:4;5516:1;5509:15;5402:132;-1:-1:-1;5548:9:1;;5346:217::o;5925:168::-;5965:7;6031:1;6027;6023:6;6019:14;6016:1;6013:21;6008:1;6001:9;5994:17;5990:45;5987:71;;;6038:18;;:::i;:::-;-1:-1:-1;6078:9:1;;5925:168::o;6434:128::-;6474:3;6505:1;6501:6;6498:1;6495:13;6492:39;;;6511:18;;:::i;:::-;-1:-1:-1;6547:9:1;;6434:128::o;6923:125::-;6963:4;6991:1;6988;6985:8;6982:34;;;6996:18;;:::i;:::-;-1:-1:-1;7033:9:1;;6923:125::o;8101:127::-;8162:10;8157:3;8153:20;8150:1;8143:31;8193:4;8190:1;8183:15;8217:4;8214:1;8207:15;8233:251;8303:6;8356:2;8344:9;8335:7;8331:23;8327:32;8324:52;;;8372:1;8369;8362:12;8324:52;8404:9;8398:16;8423:31;8448:5;8423:31;:::i;8489:980::-;8751:4;8799:3;8788:9;8784:19;8830:6;8819:9;8812:25;8856:2;8894:6;8889:2;8878:9;8874:18;8867:34;8937:3;8932:2;8921:9;8917:18;8910:31;8961:6;8996;8990:13;9027:6;9019;9012:22;9065:3;9054:9;9050:19;9043:26;;9104:2;9096:6;9092:15;9078:29;;9125:1;9135:195;9149:6;9146:1;9143:13;9135:195;;;9214:13;;-1:-1:-1;;;;;9210:39:1;9198:52;;9305:15;;;;9270:12;;;;9246:1;9164:9;9135:195;;;-1:-1:-1;;;;;;;9386:32:1;;;;9381:2;9366:18;;9359:60;-1:-1:-1;;;9450:3:1;9435:19;9428:35;9347:3;8489:980;-1:-1:-1;;;8489:980:1:o;10296:306::-;10384:6;10392;10400;10453:2;10441:9;10432:7;10428:23;10424:32;10421:52;;;10469:1;10466;10459:12;10421:52;10498:9;10492:16;10482:26;;10548:2;10537:9;10533:18;10527:25;10517:35;;10592:2;10581:9;10577:18;10571:25;10561:35;;10296:306;;;;;:::o

Swarm Source

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