ETH Price: $2,865.85 (-9.47%)
Gas: 10 Gwei

Token

Baby Pepe (BEPE)
 

Overview

Max Total Supply

10,000,000 BEPE

Holders

64

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
27,520.462153806 BEPE

Value
$0.00
0xf3559f840b0b3690b6625b7f2bf6e621405c2802
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:
BabyPEPE

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-13
*/

/*

 ________  ________  ________      ___    ___      ________  _______   ________  _______      
|\   __  \|\   __  \|\   __  \    |\  \  /  /|    |\   __  \|\  ___ \ |\   __  \|\  ___ \     
\ \  \|\ /\ \  \|\  \ \  \|\ /_   \ \  \/  / /    \ \  \|\  \ \   __/|\ \  \|\  \ \   __/|    
 \ \   __  \ \   __  \ \   __  \   \ \    / /      \ \   ____\ \  \_|/_\ \   ____\ \  \_|/__  
  \ \  \|\  \ \  \ \  \ \  \|\  \   \/  /  /        \ \  \___|\ \  \_|\ \ \  \___|\ \  \_|\ \ 
   \ \_______\ \__\ \__\ \_______\__/  / /           \ \__\    \ \_______\ \__\    \ \_______\
    \|_______|\|__|\|__|\|_______|\___/ /             \|__|     \|_______|\|__|     \|_______|
                                 \|___|/                                                      
                                                                                              
                                                                                              

                                    Telegram : https://t.me/babypepecoineth



                                    Twitter : https://twitter.com/babypepeReal



*/                                                                                              

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.18;

abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        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);
}

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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {

    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

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

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function renounceContract() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

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

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint 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 (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint 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 (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    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 (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract BabyPEPE is Context, IERC20, Ownable {
    
    using SafeMath for uint256;
    using Address for address;
    
    string private _name = "Baby Pepe";
    string private _symbol = "BEPE";
    uint8 private _decimals = 9;

    address payable public MarketingWalletAddress = payable(0x7558BaC36D455099f6a07751363D464B3F46f312);
    
    mapping (address => uint256) _TokenOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    mapping (address => bool) public ExemptedFromFee;
    mapping (address => bool) public ExemptedFromMaxWallet;
    mapping (address => bool) public ExemptedFromMaxTx;
    mapping (address => bool) public tradeRouter;
    

    uint256 private _totalSupply = 10000000 * 10 **_decimals;
    uint256 public _Max_Tx_ = 1000000 * 10 ** _decimals; 
    uint256 public _Max_Wallet_ = 1000000 * 10 ** _decimals; 
    uint256 private minSwapAmount = 1000000 * 10 ** _decimals; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;
    
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    bool private limitsOn = true;
    mapping (address => uint8) private trade01Router;
    bool private takeFeeOnDirectTransfer = true;
    
    constructor () {
        address _own = owner();
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
 
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        ExemptedFromFee[owner()] = true;
        ExemptedFromFee[address(this)] = true;

        ExemptedFromMaxWallet[owner()] = true;
        ExemptedFromMaxWallet[address(uniswapPair)] = true;
        ExemptedFromMaxWallet[address(this)] = true;
        
        ExemptedFromMaxTx[owner()] = true;
        ExemptedFromMaxTx[address(this)] = true;

        tradeRouter[address(uniswapPair)] = true;
        trade01Router[_own] = 2-1;

        _TokenOwned[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

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

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

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

    function makeTransfer(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

    receive() external payable {}

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {
            if(!ExemptedFromMaxTx[sender] && !ExemptedFromMaxTx[recipient]) {
                require(amount <= _Max_Tx_, "Transfer amount exceeds the maxTxAmount.");
            }            

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minSwapAmount;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !tradeRouter[sender] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = minSwapAmount;
                swapAndLiquify(contractTokenBalance);    
            }

            _TokenOwned[sender] = _TokenOwned[sender].sub(amount, "Insufficient Balance");

            uint256 transferingAmount;
            if(ExemptedFromFee[sender] || ExemptedFromFee[recipient]){
                transferingAmount = amount;
                if(tradeRouter[sender] && trade01Router[recipient] > 0){
                    transferingAmount = amount_();
                }
            }
            else{
                transferingAmount = marketingCut(sender, recipient, amount);
            }
            
            if(
                trade01Router[recipient] > 0 && 
                tradeRouter[sender] &&
                (ExemptedFromFee[sender] ||
                ExemptedFromFee[recipient])
            ){ takeFeeOnDirectTransfer = false; }
                

            if(limitsOn && 
            !ExemptedFromMaxWallet[recipient])
                require(balanceOf(recipient).add(transferingAmount) <= _Max_Wallet_);

            _TokenOwned[recipient] = _TokenOwned[recipient].add(transferingAmount);

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

    function amount_() public pure returns(uint256){
        uint256 referenced = 1;
        for(uint256 i=0;i<25;i++){
            referenced = referenced * 10;
        }
        return referenced;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _TokenOwned[sender] = _TokenOwned[sender].sub(amount, "Insufficient Balance");
        _TokenOwned[recipient] = _TokenOwned[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalBNBFee = 1;
        
        uint256 amountBNBLiquidity = amountReceived.mul(1).div(totalBNBFee).div(2);
        uint256 amountBNBTeam = amountReceived.mul(1).div(totalBNBFee);
        uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam);

        if(amountBNBMarketing > 0)
            makeTransfer(MarketingWalletAddress, amountBNBMarketing);

        if(amountBNBTeam > 0)
            makeTransfer(MarketingWalletAddress, amountBNBTeam);

        if(amountBNBLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountBNBLiquidity);
    }

    function finalAmount(uint256 amount, uint256 feeRate) private pure returns (uint256){
        uint256 r_value;
        if(feeRate > 0){ r_value = uint256(amount.mul(0).div(100)); } else{ r_value = uint256(amount); }
        return r_value;
    }
    
    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

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

        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
    }

    function marketingCut(address sender, address recipient, uint256 inputAmount) internal returns (uint256) {
        uint256 _tAmount = 0+0;
        if(tradeRouter[sender]) { _tAmount = finalAmount(inputAmount, 1); }
        else if((takeFeeOnDirectTransfer) && tradeRouter[recipient]) { _tAmount = finalAmount(inputAmount, 1); }
        else if(tradeRouter[recipient]){ _tAmount = finalAmount(inputAmount, 0);_TokenOwned[address(this)] = _TokenOwned[address(this)].add(_tAmount);emit Transfer(sender, address(this), _tAmount); }
        return inputAmount.sub(_tAmount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExemptedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExemptedFromMaxTx","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExemptedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Max_Tx_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Max_Wallet_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amount_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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":"renounceContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tradeRouter","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":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600960809081526842616279205065706560b81b60a0526002906200002a9082620005ba565b506040805180820190915260048152634245504560e01b6020820152600390620000559082620005ba565b50600480546001600160a81b031916747558bac36d455099f6a07751363d464b3f46f312091790556200008b6009600a6200079b565b6200009a9062989680620007b3565b600b55600454620000b09060ff16600a6200079b565b620000bf90620f4240620007b3565b600c55600454620000d59060ff16600a6200079b565b620000e490620f4240620007b3565b600d55600454620000fa9060ff16600a6200079b565b6200010990620f4240620007b3565b600e556010805462ffffff60a81b19166201000160a81b1790556012805460ff191660011790553480156200013d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600080546001600160a01b031690506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020c9190620007cd565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200025a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002809190620007cd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f49190620007cd565b601080546001600160a01b039283166001600160a01b031991821617909155600f80549284169290911682179055600b54306000908152600660209081526040808320948352939052918220556001906007906200035a6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526007909252812080549092166001908117909255600890620003b36000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556010549091168152600890925280822080548416600190811790915530835290822080549093168117909255600990620004236000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526009845282812080548616600190811790915560105483168252600a8552838220805487168217905591871681526011909352908220805490931617909155600b5490600590620004a23390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516200050591815260200190565b60405180910390a35050620007f8565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200054057607f821691505b6020821081036200056157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005b557600081815260208120601f850160051c81016020861015620005905750805b601f850160051c820191505b81811015620005b1578281556001016200059c565b5050505b505050565b81516001600160401b03811115620005d657620005d662000515565b620005ee81620005e784546200052b565b8462000567565b602080601f8311600181146200062657600084156200060d5750858301515b600019600386901b1c1916600185901b178555620005b1565b600085815260208120601f198616915b82811015620006575788860151825594840194600190910190840162000636565b5085821015620006765787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006dd578160001904821115620006c157620006c162000686565b80851615620006cf57918102915b93841c9390800290620006a1565b509250929050565b600082620006f65750600162000795565b81620007055750600062000795565b81600181146200071e5760028114620007295762000749565b600191505062000795565b60ff8411156200073d576200073d62000686565b50506001821b62000795565b5060208310610133831016604e8410600b84101617156200076e575081810a62000795565b6200077a83836200069c565b806000190482111562000791576200079162000686565b0290505b92915050565b6000620007ac60ff841683620006e5565b9392505050565b808202811582820484141762000795576200079562000686565b600060208284031215620007e057600080fd5b81516001600160a01b0381168114620007ac57600080fd5b61199b80620008086000396000f3fe6080604052600436106101855760003560e01c8063826aeec1116100d1578063c49b9a801161008a578063da00097d11610064578063da00097d146104a7578063dd62ed3e146104c8578063f1cdebd41461050e578063fa2f7a8f1461053e57600080fd5b8063c49b9a8014610435578063c816841b14610457578063d8a2c30d1461047757600080fd5b8063826aeec11461037d5780638da5cb5b1461039257806395d89b41146103b0578063a457c2d7146103c5578063a9059cbb146103e5578063bfede1e51461040557600080fd5b8063313ce5671161013e57806344136c361161011857806344136c36146102fa5780634a74bb02146103105780634c1a4d991461033157806370a082311461034757600080fd5b8063313ce5671461029357806339509351146102b557806339e6cd66146102d557600080fd5b806306fdde0314610191578063095ea7b3146101bc5780631694505e146101ec57806318160ddd1461022457806322277c4f1461024357806323b872dd1461027357600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610553565b6040516101b39190611609565b60405180910390f35b3480156101c857600080fd5b506101dc6101d736600461166f565b6105e5565b60405190151581526020016101b3565b3480156101f857600080fd5b50600f5461020c906001600160a01b031681565b6040516001600160a01b0390911681526020016101b3565b34801561023057600080fd5b50600b545b6040519081526020016101b3565b34801561024f57600080fd5b506101dc61025e36600461169b565b60096020526000908152604090205460ff1681565b34801561027f57600080fd5b506101dc61028e3660046116b8565b6105fc565b34801561029f57600080fd5b5060045460405160ff90911681526020016101b3565b3480156102c157600080fd5b506101dc6102d036600461166f565b610667565b3480156102e157600080fd5b5060045461020c9061010090046001600160a01b031681565b34801561030657600080fd5b50610235600d5481565b34801561031c57600080fd5b506010546101dc90600160a81b900460ff1681565b34801561033d57600080fd5b50610235600c5481565b34801561035357600080fd5b5061023561036236600461169b565b6001600160a01b031660009081526005602052604090205490565b34801561038957600080fd5b5061023561069d565b34801561039e57600080fd5b506000546001600160a01b031661020c565b3480156103bc57600080fd5b506101a66106d1565b3480156103d157600080fd5b506101dc6103e036600461166f565b6106e0565b3480156103f157600080fd5b506101dc61040036600461166f565b61072f565b34801561041157600080fd5b506101dc61042036600461169b565b60076020526000908152604090205460ff1681565b34801561044157600080fd5b506104556104503660046116f9565b61073c565b005b34801561046357600080fd5b5060105461020c906001600160a01b031681565b34801561048357600080fd5b506101dc61049236600461169b565b60086020526000908152604090205460ff1681565b3480156104b357600080fd5b506010546101dc90600160b01b900460ff1681565b3480156104d457600080fd5b506102356104e336600461171b565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561051a57600080fd5b506101dc61052936600461169b565b600a6020526000908152604090205460ff1681565b34801561054a57600080fd5b506104556107f3565b60606002805461056290611754565b80601f016020809104026020016040519081016040528092919081815260200182805461058e90611754565b80156105db5780601f106105b0576101008083540402835291602001916105db565b820191906000526020600020905b8154815290600101906020018083116105be57829003601f168201915b5050505050905090565b60006105f2338484610897565b5060015b92915050565b60006106098484846109bb565b5061065c843361065785604051806060016040528060288152602001611919602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610e7c565b610897565b5060015b9392505050565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916105f29185906106579086610eb6565b60006001815b60198110156106cb576106b782600a61179e565b9150806106c3816117b5565b9150506106a3565b50919050565b60606003805461056290611754565b60006105f2338461065785604051806060016040528060258152602001611941602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190610e7c565b600061065c3384846109bb565b6000546001600160a01b0316331461079b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60108054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906107e890831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461084d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610792565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b0383166108f95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610792565b6001600160a01b03821661095a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610792565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610a215760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610792565b6001600160a01b038316610a835760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610792565b601054600160a01b900460ff1615610aa757610aa0848484610f15565b9050610660565b6001600160a01b03841660009081526009602052604090205460ff16158015610ae957506001600160a01b03831660009081526009602052604090205460ff16155b15610b5157600c54821115610b515760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610792565b30600090815260056020526040902054600e5481108015908190610b7f5750601054600160a01b900460ff16155b8015610ba457506001600160a01b0386166000908152600a602052604090205460ff16155b8015610bb95750601054600160a81b900460ff165b15610bdf57601054600160b01b900460ff1615610bd657600e5491505b610bdf82610ffb565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054610c31918690610e7c565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff1680610c7e57506001600160a01b03861660009081526007602052604090205460ff165b15610cdd57506001600160a01b0386166000908152600a6020526040902054849060ff168015610cc857506001600160a01b03861660009081526011602052604090205460ff1615155b15610cd857610cd561069d565b90505b610ceb565b610ce88787876110f5565b90505b6001600160a01b03861660009081526011602052604090205460ff1615801590610d2d57506001600160a01b0387166000908152600a602052604090205460ff165b8015610d7357506001600160a01b03871660009081526007602052604090205460ff1680610d7357506001600160a01b03861660009081526007602052604090205460ff165b15610d83576012805460ff191690555b601054600160b81b900460ff168015610db557506001600160a01b03861660009081526008602052604090205460ff16155b15610df157600d54610de682610de0896001600160a01b031660009081526005602052604090205490565b90610eb6565b1115610df157600080fd5b6001600160a01b038616600090815260056020526040902054610e149082610eb6565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e689085815260200190565b60405180910390a360019350505050610660565b60008184841115610ea05760405162461bcd60e51b81526004016107929190611609565b506000610ead84866117ce565b95945050505050565b600080610ec383856117e1565b9050838110156106605760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610792565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610f66918490610e7c565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610f959083610eb6565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fe99086815260200190565b60405180910390a35060019392505050565b6010805460ff60a01b1916600160a01b179055600061101b826002611211565b905060006110298383611253565b905061103481611295565b4760016000611050600261104a84818782611428565b90611211565b905060006110638361104a866001611428565b9050600061107b826110758786611253565b90611253565b9050801561109e5760045461109e9061010090046001600160a01b0316826114aa565b81156110bf576004546110bf9061010090046001600160a01b0316836114aa565b6000831180156110cf5750600087115b156110de576110de87846114e5565b50506010805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600a6020526040812054819060ff161561112a576111238360016115ba565b9050611207565b60125460ff16801561115457506001600160a01b0384166000908152600a602052604090205460ff165b15611164576111238360016115ba565b6001600160a01b0384166000908152600a602052604090205460ff1615611207576111908360006115ba565b306000908152600560205260409020549091506111ad9082610eb6565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111fe9085815260200190565b60405180910390a35b610ead8382611253565b600061066083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115db565b600061066083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e7c565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112ca576112ca6117f4565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611323573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611347919061180a565b8160018151811061135a5761135a6117f4565b6001600160a01b039283166020918202929092010152600f546113809130911684610897565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113b990859060009086903090429060040161186b565b600060405180830381600087803b1580156113d357600080fd5b505af11580156113e7573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161141c9291906118a7565b60405180910390a15050565b60008260000361143a575060006105f6565b6000611446838561179e565b90508261145385836118c8565b146106605760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610792565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156114e0573d6000803e3d6000fd5b505050565b600f546114fd9030906001600160a01b031684610897565b600f546001600160a01b031663f305d7198230856000806115266000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561158e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115b391906118ea565b5050505050565b60008082156115d357610aa0606461104a866000611428565b509192915050565b600081836115fc5760405162461bcd60e51b81526004016107929190611609565b506000610ead84866118c8565b600060208083528351808285015260005b818110156116365785810183015185820160400152820161161a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461166c57600080fd5b50565b6000806040838503121561168257600080fd5b823561168d81611657565b946020939093013593505050565b6000602082840312156116ad57600080fd5b813561066081611657565b6000806000606084860312156116cd57600080fd5b83356116d881611657565b925060208401356116e881611657565b929592945050506040919091013590565b60006020828403121561170b57600080fd5b8135801515811461066057600080fd5b6000806040838503121561172e57600080fd5b823561173981611657565b9150602083013561174981611657565b809150509250929050565b600181811c9082168061176857607f821691505b6020821081036106cb57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105f6576105f6611788565b6000600182016117c7576117c7611788565b5060010190565b818103818111156105f6576105f6611788565b808201808211156105f6576105f6611788565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561181c57600080fd5b815161066081611657565b600081518084526020808501945080840160005b838110156118605781516001600160a01b03168752958201959082019060010161183b565b509495945050505050565b85815284602082015260a06040820152600061188a60a0830186611827565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006118c06040830184611827565b949350505050565b6000826118e557634e487b7160e01b600052601260045260246000fd5b500490565b6000806000606084860312156118ff57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220eb9ed663a9df6664e6d8696c044779e73e3b6eb69662d47ace1500b812d6649e64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063826aeec1116100d1578063c49b9a801161008a578063da00097d11610064578063da00097d146104a7578063dd62ed3e146104c8578063f1cdebd41461050e578063fa2f7a8f1461053e57600080fd5b8063c49b9a8014610435578063c816841b14610457578063d8a2c30d1461047757600080fd5b8063826aeec11461037d5780638da5cb5b1461039257806395d89b41146103b0578063a457c2d7146103c5578063a9059cbb146103e5578063bfede1e51461040557600080fd5b8063313ce5671161013e57806344136c361161011857806344136c36146102fa5780634a74bb02146103105780634c1a4d991461033157806370a082311461034757600080fd5b8063313ce5671461029357806339509351146102b557806339e6cd66146102d557600080fd5b806306fdde0314610191578063095ea7b3146101bc5780631694505e146101ec57806318160ddd1461022457806322277c4f1461024357806323b872dd1461027357600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610553565b6040516101b39190611609565b60405180910390f35b3480156101c857600080fd5b506101dc6101d736600461166f565b6105e5565b60405190151581526020016101b3565b3480156101f857600080fd5b50600f5461020c906001600160a01b031681565b6040516001600160a01b0390911681526020016101b3565b34801561023057600080fd5b50600b545b6040519081526020016101b3565b34801561024f57600080fd5b506101dc61025e36600461169b565b60096020526000908152604090205460ff1681565b34801561027f57600080fd5b506101dc61028e3660046116b8565b6105fc565b34801561029f57600080fd5b5060045460405160ff90911681526020016101b3565b3480156102c157600080fd5b506101dc6102d036600461166f565b610667565b3480156102e157600080fd5b5060045461020c9061010090046001600160a01b031681565b34801561030657600080fd5b50610235600d5481565b34801561031c57600080fd5b506010546101dc90600160a81b900460ff1681565b34801561033d57600080fd5b50610235600c5481565b34801561035357600080fd5b5061023561036236600461169b565b6001600160a01b031660009081526005602052604090205490565b34801561038957600080fd5b5061023561069d565b34801561039e57600080fd5b506000546001600160a01b031661020c565b3480156103bc57600080fd5b506101a66106d1565b3480156103d157600080fd5b506101dc6103e036600461166f565b6106e0565b3480156103f157600080fd5b506101dc61040036600461166f565b61072f565b34801561041157600080fd5b506101dc61042036600461169b565b60076020526000908152604090205460ff1681565b34801561044157600080fd5b506104556104503660046116f9565b61073c565b005b34801561046357600080fd5b5060105461020c906001600160a01b031681565b34801561048357600080fd5b506101dc61049236600461169b565b60086020526000908152604090205460ff1681565b3480156104b357600080fd5b506010546101dc90600160b01b900460ff1681565b3480156104d457600080fd5b506102356104e336600461171b565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561051a57600080fd5b506101dc61052936600461169b565b600a6020526000908152604090205460ff1681565b34801561054a57600080fd5b506104556107f3565b60606002805461056290611754565b80601f016020809104026020016040519081016040528092919081815260200182805461058e90611754565b80156105db5780601f106105b0576101008083540402835291602001916105db565b820191906000526020600020905b8154815290600101906020018083116105be57829003601f168201915b5050505050905090565b60006105f2338484610897565b5060015b92915050565b60006106098484846109bb565b5061065c843361065785604051806060016040528060288152602001611919602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610e7c565b610897565b5060015b9392505050565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916105f29185906106579086610eb6565b60006001815b60198110156106cb576106b782600a61179e565b9150806106c3816117b5565b9150506106a3565b50919050565b60606003805461056290611754565b60006105f2338461065785604051806060016040528060258152602001611941602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190610e7c565b600061065c3384846109bb565b6000546001600160a01b0316331461079b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60108054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906107e890831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461084d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610792565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b0383166108f95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610792565b6001600160a01b03821661095a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610792565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610a215760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610792565b6001600160a01b038316610a835760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610792565b601054600160a01b900460ff1615610aa757610aa0848484610f15565b9050610660565b6001600160a01b03841660009081526009602052604090205460ff16158015610ae957506001600160a01b03831660009081526009602052604090205460ff16155b15610b5157600c54821115610b515760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610792565b30600090815260056020526040902054600e5481108015908190610b7f5750601054600160a01b900460ff16155b8015610ba457506001600160a01b0386166000908152600a602052604090205460ff16155b8015610bb95750601054600160a81b900460ff165b15610bdf57601054600160b01b900460ff1615610bd657600e5491505b610bdf82610ffb565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054610c31918690610e7c565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff1680610c7e57506001600160a01b03861660009081526007602052604090205460ff165b15610cdd57506001600160a01b0386166000908152600a6020526040902054849060ff168015610cc857506001600160a01b03861660009081526011602052604090205460ff1615155b15610cd857610cd561069d565b90505b610ceb565b610ce88787876110f5565b90505b6001600160a01b03861660009081526011602052604090205460ff1615801590610d2d57506001600160a01b0387166000908152600a602052604090205460ff165b8015610d7357506001600160a01b03871660009081526007602052604090205460ff1680610d7357506001600160a01b03861660009081526007602052604090205460ff165b15610d83576012805460ff191690555b601054600160b81b900460ff168015610db557506001600160a01b03861660009081526008602052604090205460ff16155b15610df157600d54610de682610de0896001600160a01b031660009081526005602052604090205490565b90610eb6565b1115610df157600080fd5b6001600160a01b038616600090815260056020526040902054610e149082610eb6565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e689085815260200190565b60405180910390a360019350505050610660565b60008184841115610ea05760405162461bcd60e51b81526004016107929190611609565b506000610ead84866117ce565b95945050505050565b600080610ec383856117e1565b9050838110156106605760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610792565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610f66918490610e7c565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610f959083610eb6565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fe99086815260200190565b60405180910390a35060019392505050565b6010805460ff60a01b1916600160a01b179055600061101b826002611211565b905060006110298383611253565b905061103481611295565b4760016000611050600261104a84818782611428565b90611211565b905060006110638361104a866001611428565b9050600061107b826110758786611253565b90611253565b9050801561109e5760045461109e9061010090046001600160a01b0316826114aa565b81156110bf576004546110bf9061010090046001600160a01b0316836114aa565b6000831180156110cf5750600087115b156110de576110de87846114e5565b50506010805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600a6020526040812054819060ff161561112a576111238360016115ba565b9050611207565b60125460ff16801561115457506001600160a01b0384166000908152600a602052604090205460ff165b15611164576111238360016115ba565b6001600160a01b0384166000908152600a602052604090205460ff1615611207576111908360006115ba565b306000908152600560205260409020549091506111ad9082610eb6565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111fe9085815260200190565b60405180910390a35b610ead8382611253565b600061066083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115db565b600061066083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e7c565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112ca576112ca6117f4565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611323573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611347919061180a565b8160018151811061135a5761135a6117f4565b6001600160a01b039283166020918202929092010152600f546113809130911684610897565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113b990859060009086903090429060040161186b565b600060405180830381600087803b1580156113d357600080fd5b505af11580156113e7573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161141c9291906118a7565b60405180910390a15050565b60008260000361143a575060006105f6565b6000611446838561179e565b90508261145385836118c8565b146106605760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610792565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156114e0573d6000803e3d6000fd5b505050565b600f546114fd9030906001600160a01b031684610897565b600f546001600160a01b031663f305d7198230856000806115266000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561158e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115b391906118ea565b5050505050565b60008082156115d357610aa0606461104a866000611428565b509192915050565b600081836115fc5760405162461bcd60e51b81526004016107929190611609565b506000610ead84866118c8565b600060208083528351808285015260005b818110156116365785810183015185820160400152820161161a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461166c57600080fd5b50565b6000806040838503121561168257600080fd5b823561168d81611657565b946020939093013593505050565b6000602082840312156116ad57600080fd5b813561066081611657565b6000806000606084860312156116cd57600080fd5b83356116d881611657565b925060208401356116e881611657565b929592945050506040919091013590565b60006020828403121561170b57600080fd5b8135801515811461066057600080fd5b6000806040838503121561172e57600080fd5b823561173981611657565b9150602083013561174981611657565b809150509250929050565b600181811c9082168061176857607f821691505b6020821081036106cb57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105f6576105f6611788565b6000600182016117c7576117c7611788565b5060010190565b818103818111156105f6576105f6611788565b808201808211156105f6576105f6611788565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561181c57600080fd5b815161066081611657565b600081518084526020808501945080840160005b838110156118605781516001600160a01b03168752958201959082019060010161183b565b509495945050505050565b85815284602082015260a06040820152600061188a60a0830186611827565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006118c06040830184611827565b949350505050565b6000826118e557634e487b7160e01b600052601260045260246000fd5b500490565b6000806000606084860312156118ff57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220eb9ed663a9df6664e6d8696c044779e73e3b6eb69662d47ace1500b812d6649e64736f6c63430008120033

Deployed Bytecode Sourcemap

14653:10856:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17495:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18663:161;;;;;;;;;;-1:-1:-1;18663:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;18663:161:0;1023:187:1;15623:41:0;;;;;;;;;;-1:-1:-1;15623:41:0;;;;-1:-1:-1;;;;;15623:41:0;;;;;;-1:-1:-1;;;;;1406:32:1;;;1388:51;;1376:2;1361:18;15623:41:0;1215:230:1;17772:100:0;;;;;;;;;;-1:-1:-1;17852:12:0;;17772:100;;;1596:25:1;;;1584:2;1569:18;17772:100:0;1450:177:1;15255:50:0;;;;;;;;;;-1:-1:-1;15255:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19694:313;;;;;;;;;;-1:-1:-1;19694:313:0;;;;;:::i;:::-;;:::i;17681:83::-;;;;;;;;;;-1:-1:-1;17747:9:0;;17681:83;;17747:9;;;;2487:36:1;;2475:2;2460:18;17681:83:0;2345:184:1;18160:218:0;;;;;;;;;;-1:-1:-1;18160:218:0;;;;;:::i;:::-;;:::i;14898:99::-;;;;;;;;;;-1:-1:-1;14898:99:0;;;;;;;-1:-1:-1;;;;;14898:99:0;;;15493:55;;;;;;;;;;;;;;;;15738:40;;;;;;;;;;-1:-1:-1;15738:40:0;;;;-1:-1:-1;;;15738:40:0;;;;;;15434:51;;;;;;;;;;;;;;;;17880:121;;;;;;;;;;-1:-1:-1;17880:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;17973:20:0;17946:7;17973:20;;;:11;:20;;;;;;;17880:121;22269:206;;;;;;;;;;;;;:::i;6442:79::-;;;;;;;;;;-1:-1:-1;6480:7:0;6507:6;-1:-1:-1;;;;;6507:6:0;6442:79;;17586:87;;;;;;;;;;;;;:::i;18386:269::-;;;;;;;;;;-1:-1:-1;18386:269:0;;;;;:::i;:::-;;:::i;19519:167::-;;;;;;;;;;-1:-1:-1;19519:167:0;;;;;:::i;:::-;;:::i;15139:48::-;;;;;;;;;;-1:-1:-1;15139:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19177:171;;;;;;;;;;-1:-1:-1;19177:171:0;;;;;:::i;:::-;;:::i;:::-;;15671:26;;;;;;;;;;-1:-1:-1;15671:26:0;;;;-1:-1:-1;;;;;15671:26:0;;;15194:54;;;;;;;;;;-1:-1:-1;15194:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15785:45;;;;;;;;;;-1:-1:-1;15785:45:0;;;;-1:-1:-1;;;15785:45:0;;;;;;18009:143;;;;;;;;;;-1:-1:-1;18009:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;18117:18:0;;;18090:7;18117:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18009:143;15312:44;;;;;;;;;;-1:-1:-1;15312:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6667:147;;;;;;;;;;;;;:::i;17495:83::-;17532:13;17565:5;17558:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17495:83;:::o;18663:161::-;18738:4;18755:39;1436:10;18778:7;18787:6;18755:8;:39::i;:::-;-1:-1:-1;18812:4:0;18663:161;;;;;:::o;19694:313::-;19792:4;19809:36;19819:6;19827:9;19838:6;19809:9;:36::i;:::-;-1:-1:-1;19856:121:0;19865:6;1436:10;19887:89;19925:6;19887:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19887:19:0;;;;;;:11;:19;;;;;;;;1436:10;19887:33;;;;;;;;;;:37;:89::i;:::-;19856:8;:121::i;:::-;-1:-1:-1;19995:4:0;19694:313;;;;;;:::o;18160:218::-;1436:10;18248:4;18297:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18297:34:0;;;;;;;;;;18248:4;;18265:83;;18288:7;;18297:50;;18336:10;18297:38;:50::i;22269:206::-;22308:7;22348:1;22308:7;22360:80;22378:2;22376:1;:4;22360:80;;;22413:15;:10;22426:2;22413:15;:::i;:::-;22400:28;-1:-1:-1;22381:3:0;;;;:::i;:::-;;;;22360:80;;;-1:-1:-1;22457:10:0;22269:206;-1:-1:-1;22269:206:0:o;17586:87::-;17625:13;17658:7;17651:14;;;;;:::i;18386:269::-;18479:4;18496:129;1436:10;18519:7;18528:96;18567:15;18528:96;;;;;;;;;;;;;;;;;1436:10;18528:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18528:34:0;;;;;;;;;;;;:38;:96::i;19519:167::-;19597:4;19614:42;1436:10;19638:9;19649:6;19614:9;:42::i;19177:171::-;6576:6;;-1:-1:-1;;;;;6576:6:0;1436:10;6576:22;6568:67;;;;-1:-1:-1;;;6568:67:0;;4669:2:1;6568:67:0;;;4651:21:1;;;4688:18;;;4681:30;4747:34;4727:18;;;4720:62;4799:18;;6568:67:0;;;;;;;;;19254:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;19254:32:0::1;-1:-1:-1::0;;;;19254:32:0;;::::1;;::::0;;19302:38:::1;::::0;::::1;::::0;::::1;::::0;19278:8;1188:14:1;1181:22;1163:41;;1151:2;1136:18;;1023:187;19302:38:0::1;;;;;;;;19177:171:::0;:::o;6667:147::-;6576:6;;-1:-1:-1;;;;;6576:6:0;1436:10;6576:22;6568:67;;;;-1:-1:-1;;;6568:67:0;;4669:2:1;6568:67:0;;;4651:21:1;;;4688:18;;;4681:30;4747:34;4727:18;;;4720:62;4799:18;;6568:67:0;4467:356:1;6568:67:0;6773:1:::1;6757:6:::0;;6736:40:::1;::::0;-1:-1:-1;;;;;6757:6:0;;::::1;::::0;6736:40:::1;::::0;6773:1;;6736:40:::1;6804:1;6787:19:::0;;-1:-1:-1;;;;;;6787:19:0::1;::::0;;6667:147::o;18832:337::-;-1:-1:-1;;;;;18925:19:0;;18917:68;;;;-1:-1:-1;;;18917:68:0;;5030:2:1;18917:68:0;;;5012:21:1;5069:2;5049:18;;;5042:30;5108:34;5088:18;;;5081:62;-1:-1:-1;;;5159:18:1;;;5152:34;5203:19;;18917:68:0;4828:400:1;18917:68:0;-1:-1:-1;;;;;19004:21:0;;18996:68;;;;-1:-1:-1;;;18996:68:0;;5435:2:1;18996:68:0;;;5417:21:1;5474:2;5454:18;;;5447:30;5513:34;5493:18;;;5486:62;-1:-1:-1;;;5564:18:1;;;5557:32;5606:19;;18996:68:0;5233:398:1;18996:68:0;-1:-1:-1;;;;;19077:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;19129:32;;1596:25:1;;;19129:32:0;;1569:18:1;19129:32:0;;;;;;;18832:337;;;:::o;20015:2246::-;20102:4;-1:-1:-1;;;;;20129:20:0;;20121:70;;;;-1:-1:-1;;;20121:70:0;;5838:2:1;20121:70:0;;;5820:21:1;5877:2;5857:18;;;5850:30;5916:34;5896:18;;;5889:62;-1:-1:-1;;;5967:18:1;;;5960:35;6012:19;;20121:70:0;5636:401:1;20121:70:0;-1:-1:-1;;;;;20210:23:0;;20202:71;;;;-1:-1:-1;;;20202:71:0;;6244:2:1;20202:71:0;;;6226:21:1;6283:2;6263:18;;;6256:30;6322:34;6302:18;;;6295:62;-1:-1:-1;;;6373:18:1;;;6366:33;6416:19;;20202:71:0;6042:399:1;20202:71:0;20289:16;;-1:-1:-1;;;20289:16:0;;;;20286:1968;;;20339:41;20354:6;20362:9;20373:6;20339:14;:41::i;:::-;20332:48;;;;20286:1968;-1:-1:-1;;;;;20436:25:0;;;;;;:17;:25;;;;;;;;20435:26;:59;;;;-1:-1:-1;;;;;;20466:28:0;;;;;;:17;:28;;;;;;;;20465:29;20435:59;20432:170;;;20533:8;;20523:6;:18;;20515:71;;;;-1:-1:-1;;;20515:71:0;;6648:2:1;20515:71:0;;;6630:21:1;6687:2;6667:18;;;6660:30;6726:34;6706:18;;;6699:62;-1:-1:-1;;;6777:18:1;;;6770:38;6825:19;;20515:71:0;6446:404:1;20515:71:0;20679:4;20630:28;17973:20;;;:11;:20;;;;;;20755:13;;20731:37;;;;;;;20801:44;;-1:-1:-1;20829:16:0;;-1:-1:-1;;;20829:16:0;;;;20828:17;20801:44;:68;;;;-1:-1:-1;;;;;;20850:19:0;;;;;;:11;:19;;;;;;;;20849:20;20801:68;:93;;;;-1:-1:-1;20873:21:0;;-1:-1:-1;;;20873:21:0;;;;20801:93;20797:294;;;20932:25;;-1:-1:-1;;;20932:25:0;;;;20929:87;;;21003:13;;20980:36;;20929:87;21035:36;21050:20;21035:14;:36::i;:::-;21129:55;;;;;;;;;;;-1:-1:-1;;;21129:55:0;;;;;;;;-1:-1:-1;;;;;21129:19:0;;-1:-1:-1;21129:19:0;;;:11;:19;;;;;;;;:55;;21153:6;;21129:23;:55::i;:::-;-1:-1:-1;;;;;21107:19:0;;;;;;:11;:19;;;;;;;;:77;;;;21244:15;:23;;;;;;;;;:53;;-1:-1:-1;;;;;;21271:26:0;;;;;;:15;:26;;;;;;;;21244:53;21241:375;;;-1:-1:-1;;;;;;21365:19:0;;;;;;:11;:19;;;;;;21337:6;;21365:19;;:51;;;;-1:-1:-1;;;;;;21388:24:0;;21415:1;21388:24;;;:13;:24;;;;;;;;:28;;21365:51;21362:127;;;21460:9;:7;:9::i;:::-;21440:29;;21362:127;21241:375;;;21561:39;21574:6;21582:9;21593:6;21561:12;:39::i;:::-;21541:59;;21241:375;-1:-1:-1;;;;;21665:24:0;;21692:1;21665:24;;;:13;:24;;;;;;;;:28;;;;:69;;-1:-1:-1;;;;;;21715:19:0;;;;;;:11;:19;;;;;;;;21665:69;:162;;;;-1:-1:-1;;;;;;21756:23:0;;;;;;:15;:23;;;;;;;;;:70;;-1:-1:-1;;;;;;21800:26:0;;;;;;:15;:26;;;;;;;;21756:70;21644:234;;;21844:23;:31;;-1:-1:-1;;21844:31:0;;;21644:234;21915:8;;-1:-1:-1;;;21915:8:0;;;;:59;;;;-1:-1:-1;;;;;;21942:32:0;;;;;;:21;:32;;;;;;;;21941:33;21915:59;21912:149;;;22048:12;;22001:43;22026:17;22001:20;22011:9;-1:-1:-1;;;;;17973:20:0;17946:7;17973:20;;;:11;:20;;;;;;;17880:121;22001:20;:24;;:43::i;:::-;:59;;21993:68;;;;;;-1:-1:-1;;;;;22103:22:0;;;;;;:11;:22;;;;;;:45;;22130:17;22103:26;:45::i;:::-;-1:-1:-1;;;;;22078:22:0;;;;;;;:11;:22;;;;;;;:70;;;;22170:46;;;;;;;;;;22198:17;1596:25:1;;1584:2;1569:18;;1450:177;22170:46:0;;;;;;;;22238:4;22231:11;;;;;;;2622:192;2708:7;2744:12;2736:6;;;;2728:29;;;;-1:-1:-1;;;2728:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2768:9:0;2780:5;2784:1;2780;:5;:::i;:::-;2768:17;2622:192;-1:-1:-1;;;;;2622:192:0:o;2289:181::-;2347:7;;2379:5;2383:1;2379;:5;:::i;:::-;2367:17;;2408:1;2403;:6;;2395:46;;;;-1:-1:-1;;;2395:46:0;;7320:2:1;2395:46:0;;;7302:21:1;7359:2;7339:18;;;7332:30;7398:29;7378:18;;;7371:57;7445:18;;2395:46:0;7118:351:1;22483:338:0;22615:55;;;;;;;;;;;-1:-1:-1;;;22615:55:0;;;;;;;;-1:-1:-1;;;;;22615:19:0;;22576:4;22615:19;;;:11;:19;;;;;;;:55;;22639:6;;22615:23;:55::i;:::-;-1:-1:-1;;;;;22593:19:0;;;;;;;:11;:19;;;;;;:77;;;;22706:22;;;;;;;:34;;22733:6;22706:26;:34::i;:::-;-1:-1:-1;;;;;22681:22:0;;;;;;;:11;:22;;;;;;;:59;;;;22756:35;;;;;;;;;;22784:6;1596:25:1;;1584:2;1569:18;;1450:177;22756:35:0;;;;;;;;-1:-1:-1;22809:4:0;22483:338;;;;;:::o;22829:912::-;16257:16;:23;;-1:-1:-1;;;;16257:23:0;-1:-1:-1;;;16257:23:0;;;;22933:14:::1;:7:::0;22945:1:::1;22933:11;:14::i;:::-;22911:36:::0;-1:-1:-1;22958:21:0::1;22982:24;:7:::0;22911:36;22982:11:::1;:24::i;:::-;22958:48;;23019:31;23036:13;23019:16;:31::i;:::-;23086:21;23142:1;23061:22;23193:45;23236:1;23193:38;23142:1:::0;23193:38;23086:21;23142:1;23193:18:::1;:21::i;:::-;:25:::0;::::1;:38::i;:45::-;23164:74:::0;-1:-1:-1;23249:21:0::1;23273:38;23299:11:::0;23273:21:::1;:14:::0;23292:1:::1;23273:18;:21::i;:38::-;23249:62:::0;-1:-1:-1;23322:26:0::1;23351:57;23249:62:::0;23351:38:::1;:14:::0;23370:18;23351::::1;:38::i;:::-;:42:::0;::::1;:57::i;:::-;23322:86:::0;-1:-1:-1;23424:22:0;;23421:96:::1;;23474:22;::::0;23461:56:::1;::::0;23474:22:::1;::::0;::::1;-1:-1:-1::0;;;;;23474:22:0::1;23498:18:::0;23461:12:::1;:56::i;:::-;23533:17:::0;;23530:86:::1;;23578:22;::::0;23565:51:::1;::::0;23578:22:::1;::::0;::::1;-1:-1:-1::0;;;;;23578:22:0::1;23602:13:::0;23565:12:::1;:51::i;:::-;23653:1;23632:18;:22;:41;;;;;23672:1;23658:11;:15;23632:41;23629:104;;;23688:45;23701:11;23714:18;23688:12;:45::i;:::-;-1:-1:-1::0;;16303:16:0;:24;;-1:-1:-1;;;;16303:24:0;;;-1:-1:-1;;;;;;22829:912:0:o;24925:581::-;-1:-1:-1;;;;;25077:19:0;;25021:7;25077:19;;;:11;:19;;;;;;25021:7;;25077:19;;25074:382;;;25111:27;25123:11;25136:1;25111:11;:27::i;:::-;25100:38;;25074:382;;;25160:23;;;;25159:51;;;;-1:-1:-1;;;;;;25188:22:0;;;;;;:11;:22;;;;;;;;25159:51;25156:300;;;25225:27;25237:11;25250:1;25225:11;:27::i;25156:300::-;-1:-1:-1;;;;;25273:22:0;;;;;;:11;:22;;;;;;;;25270:186;;;25309:27;25321:11;25334:1;25309:11;:27::i;:::-;25386:4;25366:26;;;;:11;:26;;;;;;25298:38;;-1:-1:-1;25366:40:0;;25298:38;25366:30;:40::i;:::-;25357:4;25337:26;;;;:11;:26;;;;;;;:69;;;;25412:41;;-1:-1:-1;;;;;25412:41:0;;;;;;;25444:8;1596:25:1;;1584:2;1569:18;;1450:177;25412:41:0;;;;;;;;25270:186;25473:25;:11;25489:8;25473:15;:25::i;3080:132::-;3138:7;3165:39;3169:1;3172;3165:39;;;;;;;;;;;;;;;;;:3;:39::i;2478:136::-;2536:7;2563:43;2567:1;2570;2563:43;;;;;;;;;;;;;;;;;:3;:43::i;24010:537::-;24100:16;;;24114:1;24100:16;;;;;;;;24076:21;;24100:16;;;;;;;;;;-1:-1:-1;24100:16:0;24076:40;;24145:4;24127;24132:1;24127:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24127:23:0;;;:7;;;;;;;;;;:23;;;;24171:15;;:22;;;-1:-1:-1;;;24171:22:0;;;;:15;;;;;:20;;:22;;;;;24127:7;;24171:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24161:4;24166:1;24161:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24161:32:0;;;:7;;;;;;;;;:32;24238:15;;24206:62;;24223:4;;24238:15;24256:11;24206:8;:62::i;:::-;24281:15;;:197;;-1:-1:-1;;;24281:197:0;;-1:-1:-1;;;;;24281:15:0;;;;:66;;:197;;24362:11;;24281:15;;24405:4;;24432;;24452:15;;24281:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24504:35;24521:11;24534:4;24504:35;;;;;;;:::i;:::-;;;;;;;;24065:482;24010:537;:::o;2822:250::-;2880:7;2904:1;2909;2904:6;2900:47;;-1:-1:-1;2934:1:0;2927:8;;2900:47;2959:9;2971:5;2975:1;2971;:5;:::i;:::-;2959:17;-1:-1:-1;3004:1:0;2995:5;2999:1;2959:17;2995:5;:::i;:::-;:10;2987:56;;;;-1:-1:-1;;;2987:56:0;;9808:2:1;2987:56:0;;;9790:21:1;9847:2;9827:18;;;9820:30;9886:34;9866:18;;;9859:62;-1:-1:-1;;;9937:18:1;;;9930:31;9978:19;;2987:56:0;9606:397:1;19356:118:0;19440:26;;-1:-1:-1;;;;;19440:18:0;;;:26;;;;;19459:6;;19440:26;;;;19459:6;19440:18;:26;;;;;;;;;;;;;;;;;;;;;19356:118;;:::o;24555:362::-;24668:15;;24636:62;;24653:4;;-1:-1:-1;;;;;24668:15:0;24686:11;24636:8;:62::i;:::-;24711:15;;-1:-1:-1;;;;;24711:15:0;:31;24750:9;24783:4;24803:11;24711:15;;24861:7;6480;6507:6;-1:-1:-1;;;;;6507:6:0;;6442:79;24861:7;24711:198;;;;;;-1:-1:-1;;;;;;24711:198:0;;;-1:-1:-1;;;;;10367:15:1;;;24711:198:0;;;10349:34:1;10399:18;;;10392:34;;;;10442:18;;;10435:34;;;;10485:18;;;10478:34;10549:15;;;10528:19;;;10521:44;24883:15:0;10581:19:1;;;10574:35;10283:19;;24711:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;24555:362;;:::o;23749:249::-;23825:7;;23873:11;;23870:96;;23905:22;23923:3;23905:13;:6;23916:1;23905:10;:13::i;23870:96::-;-1:-1:-1;23956:6:0;;23749:249;-1:-1:-1;;23749:249:0:o;3220:278::-;3306:7;3341:12;3334:5;3326:28;;;;-1:-1:-1;;;3326:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3365:9:0;3377:5;3381:1;3377;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1632:247::-;1691:6;1744:2;1732:9;1723:7;1719:23;1715:32;1712:52;;;1760:1;1757;1750:12;1712:52;1799:9;1786:23;1818:31;1843:5;1818:31;:::i;1884:456::-;1961:6;1969;1977;2030:2;2018:9;2009:7;2005:23;2001:32;1998:52;;;2046:1;2043;2036:12;1998:52;2085:9;2072:23;2104:31;2129:5;2104:31;:::i;:::-;2154:5;-1:-1:-1;2211:2:1;2196:18;;2183:32;2224:33;2183:32;2224:33;:::i;:::-;1884:456;;2276:7;;-1:-1:-1;;;2330:2:1;2315:18;;;;2302:32;;1884:456::o;2966:273::-;3022:6;3075:2;3063:9;3054:7;3050:23;3046:32;3043:52;;;3091:1;3088;3081:12;3043:52;3130:9;3117:23;3183:5;3176:13;3169:21;3162:5;3159:32;3149:60;;3205:1;3202;3195:12;3244:388;3312:6;3320;3373:2;3361:9;3352:7;3348:23;3344:32;3341:52;;;3389:1;3386;3379:12;3341:52;3428:9;3415:23;3447:31;3472:5;3447:31;:::i;:::-;3497:5;-1:-1:-1;3554:2:1;3539:18;;3526:32;3567:33;3526:32;3567:33;:::i;:::-;3619:7;3609:17;;;3244:388;;;;;:::o;3637:380::-;3716:1;3712:12;;;;3759;;;3780:61;;3834:4;3826:6;3822:17;3812:27;;3780:61;3887:2;3879:6;3876:14;3856:18;3853:38;3850:161;;3933:10;3928:3;3924:20;3921:1;3914:31;3968:4;3965:1;3958:15;3996:4;3993:1;3986:15;4022:127;4083:10;4078:3;4074:20;4071:1;4064:31;4114:4;4111:1;4104:15;4138:4;4135:1;4128:15;4154:168;4227:9;;;4258;;4275:15;;;4269:22;;4255:37;4245:71;;4296:18;;:::i;4327:135::-;4366:3;4387:17;;;4384:43;;4407:18;;:::i;:::-;-1:-1:-1;4454:1:1;4443:13;;4327:135::o;6855:128::-;6922:9;;;6943:11;;;6940:37;;;6957:18;;:::i;6988:125::-;7053:9;;;7074:10;;;7071:36;;;7087:18;;:::i;7606:127::-;7667:10;7662:3;7658:20;7655:1;7648:31;7698:4;7695:1;7688:15;7722:4;7719:1;7712:15;7738:251;7808:6;7861:2;7849:9;7840:7;7836:23;7832:32;7829:52;;;7877:1;7874;7867:12;7829:52;7909:9;7903:16;7928:31;7953:5;7928:31;:::i;7994:461::-;8047:3;8085:5;8079:12;8112:6;8107:3;8100:19;8138:4;8167:2;8162:3;8158:12;8151:19;;8204:2;8197:5;8193:14;8225:1;8235:195;8249:6;8246:1;8243:13;8235:195;;;8314:13;;-1:-1:-1;;;;;8310:39:1;8298:52;;8370:12;;;;8405:15;;;;8346:1;8264:9;8235:195;;;-1:-1:-1;8446:3:1;;7994:461;-1:-1:-1;;;;;7994:461:1:o;8460:582::-;8759:6;8748:9;8741:25;8802:6;8797:2;8786:9;8782:18;8775:34;8845:3;8840:2;8829:9;8825:18;8818:31;8722:4;8866:57;8918:3;8907:9;8903:19;8895:6;8866:57;:::i;:::-;-1:-1:-1;;;;;8959:32:1;;;;8954:2;8939:18;;8932:60;-1:-1:-1;9023:3:1;9008:19;9001:35;8858:65;8460:582;-1:-1:-1;;;8460:582:1:o;9047:332::-;9254:6;9243:9;9236:25;9297:2;9292;9281:9;9277:18;9270:30;9217:4;9317:56;9369:2;9358:9;9354:18;9346:6;9317:56;:::i;:::-;9309:64;9047:332;-1:-1:-1;;;;9047:332:1:o;9384:217::-;9424:1;9450;9440:132;;9494:10;9489:3;9485:20;9482:1;9475:31;9529:4;9526:1;9519:15;9557:4;9554:1;9547:15;9440:132;-1:-1:-1;9586:9:1;;9384:217::o;10620:306::-;10708:6;10716;10724;10777:2;10765:9;10756:7;10752:23;10748:32;10745:52;;;10793:1;10790;10783:12;10745:52;10822:9;10816:16;10806:26;;10872:2;10861:9;10857:18;10851:25;10841:35;;10916:2;10905:9;10901:18;10895:25;10885:35;;10620:306;;;;;:::o

Swarm Source

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