ETH Price: $2,625.73 (-1.78%)

Token

Bobo 2.0 (BOBO2)
 

Overview

Max Total Supply

10,000,000,000 BOBO2

Holders

12

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
48,500,000 BOBO2

Value
$0.00
0x09d17f15d446222e8652739251f5a60ab902efdc
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:
BOBO2

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-28
*/

/*




                                .-. .-')              .-. .-')                                           
                                \  ( OO )             \  ( OO )                                          
                                ;-----.\  .-'),-----. ;-----.\  .-'),-----.        .-----.     .----.   
                                | .-.  | ( OO'  .-.  '| .-.  | ( OO'  .-.  '      / ,-.   \   /  ..  \  
                                | '-' /_)/   |  | |  || '-' /_)/   |  | |  |      '-'  |  |  .  /  \  . 
                                | .-. `. \_) |  |\|  || .-. `. \_) |  |\|  |         .'  /   |  |  '  | 
                                | |  \  |  \ |  | |  || |  \  |  \ |  | |  |       .'  /__   '  \  /  ' 
                                | '--'  /   `'  '-'  '| '--'  /   `'  '-'  '      |       |.-.\  `'  /  
                                `------'      `-----' `------'      `-----'       `-------'`-' `---''   


                                Telegram    :   https://t.me/bobo2eth

                                Twitter     :   https://twitter.com/bobo2ethcoin

                                Website     :   https://bobo20.vip/




*/

// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.10;
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) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

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


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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; 
        return msg.data;
    }
}


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");
        (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");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }


    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}



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 BOBO2 is Context, IERC20 { 
    using SafeMath for uint256;
    using Address for address;

    address private _owner;

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

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

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

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

    address payable public Wallet_Marketing = payable(0xb1489de784aE48C13723bA9DD4325520e2eAa5fe); 
    address payable public Wallet_Dev = payable(0xFA455F46c7ad8856E302E20638ED289Bb3C7Df4C);
    address payable public constant Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); 


    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 10**10 * 10**_decimals;
    string private constant _name = "Bobo 2.0"; 
    string private constant _symbol = unicode"BOBO2"; 

    uint8 private txCount = 0;
    uint8 private swapTrigger = 10; 

    uint256 public _Tax_On_Buy = 3;
    uint256 public _Tax_On_Sell = 3;

    uint256 public Percent_Marketing = 90;
    uint256 public Percent_Dev = 0;
    uint256 public Percent_Burn = 0;
    uint256 public Percent_AutoLP = 10; 

    uint256 public _maxWalletToken = _tTotal * 100 / 100;
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    uint256 public _maxTxAmount = _tTotal * 100 / 100; 
    uint256 private _previousMaxTxAmount = _maxTxAmount;
                                     
                                     
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    
    event SwapAndLiquifyEnabledUpdated(bool true_or_false);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {

        _owner = 0xFA455F46c7ad8856E302E20638ED289Bb3C7Df4C;
        emit OwnershipTransferred(address(0), _owner);

        _tOwned[owner()] = _tTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        //IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3); // Testnet
        
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[Wallet_Marketing] = true; 
        _isExcludedFromFee[Wallet_Burn] = true;

        emit Transfer(address(0), owner(), _tTotal);

    }


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

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

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

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

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

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

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

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

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

    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 only_Owner_Max(uint256 per) public onlyOwner returns (bool){
        _previousMaxWalletToken = _maxWalletToken;
        _maxWalletToken = _tTotal * per / 100;
        return true;
    }

    function only_Owner_Tx(uint256 per) public onlyOwner returns (bool){
        _previousMaxTxAmount = _maxTxAmount;
        _maxTxAmount = _tTotal * per / 100; 
        return true;
    }

    function only_Owner_Fee(uint256 buyFper, uint256 sellFper) public onlyOwner returns (bool){
        _Tax_On_Buy = buyFper;
        _Tax_On_Sell = sellFper;
        return true;
    }

    receive() external payable {}

    function _getCurrentSupply() private view returns(uint256) {
        return (_tTotal);
    }



    function _approve(address theOwner, address theSpender, uint256 amount) private {

        require(theOwner != address(0) && theSpender != address(0), "ERR: zero address");
        _allowances[theOwner][theSpender] = amount;
        emit Approval(theOwner, theSpender, amount);

    }
    
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {

        if (to != owner() &&
            to != Wallet_Burn &&
            to != address(this) &&
            to != uniswapV2Pair &&
            from != owner()){
            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit.");}

        if (from != owner())
            require(amount <= _maxTxAmount, "Over transaction limit.");


        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");   

        if(
            txCount >= swapTrigger && 
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled 
            )
        {  
            
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
            txCount = 0;
            swapAndLiquify(contractTokenBalance);
        }
        
        bool takeFee = true;
        bool isBuy;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        } else {
         
            if(from == uniswapV2Pair){
                isBuy = true;
            }

            txCount++;

        }

        _tokenTransfer(from, to, amount, takeFee, isBuy);

    }
    
    function sendToWallet(address payable wallet, uint256 amount) private {
            wallet.transfer(amount);

        }


    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {

            uint256 tokens_to_Burn = contractTokenBalance * Percent_Burn / 100;
            _tTotal = _tTotal - tokens_to_Burn;
            _tOwned[Wallet_Burn] = _tOwned[Wallet_Burn] + tokens_to_Burn;
            _tOwned[address(this)] = _tOwned[address(this)] - tokens_to_Burn; 

            uint256 tokens_to_M = contractTokenBalance * Percent_Marketing / 100;
            uint256 tokens_to_D = contractTokenBalance * Percent_Dev / 100;
            uint256 tokens_to_LP_Half = contractTokenBalance * Percent_AutoLP / 200;

            uint256 balanceBeforeSwap = address(this).balance;
            swapTokensForBNB(tokens_to_LP_Half + tokens_to_M + tokens_to_D);
            uint256 BNB_Total = address(this).balance - balanceBeforeSwap;

            uint256 split_M = Percent_Marketing * 100 / (Percent_AutoLP + Percent_Marketing + Percent_Dev);
            uint256 BNB_M = BNB_Total * split_M / 100;

            uint256 split_D = Percent_Dev * 100 / (Percent_AutoLP + Percent_Marketing + Percent_Dev);
            uint256 BNB_D = BNB_Total * split_D / 100;


            addLiquidity(tokens_to_LP_Half, (BNB_Total - BNB_M - BNB_D));
            emit SwapAndLiquify(tokens_to_LP_Half, (BNB_Total - BNB_M - BNB_D), tokens_to_LP_Half);

            sendToWallet(Wallet_Marketing, BNB_M);

            BNB_Total = address(this).balance;
            sendToWallet(Wallet_Dev, BNB_Total);

            }

    function swapTokensForBNB(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
        );
    }


    function addLiquidity(uint256 tokenAmount, uint256 BNBAmount) private {

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: BNBAmount}(
            address(this),
            tokenAmount,
            0, 
            0,
            Wallet_Burn, 
            block.timestamp
        );
    } 

    function remove_Random_Tokens(address random_Token_Address, uint256 percent_of_Tokens) public returns(bool _sent){
        require(random_Token_Address != address(this), "Can not remove native token");
        uint256 totalRandom = IERC20(random_Token_Address).balanceOf(address(this));
        uint256 removeRandom = totalRandom*percent_of_Tokens/100;
        _sent = IERC20(random_Token_Address).transfer(Wallet_Dev, removeRandom);

    }


    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private {
        
        
        if(!takeFee){

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tAmount;
            emit Transfer(sender, recipient, tAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tAmount;

            } else if (isBuy){

            uint256 buyFEE = tAmount*_Tax_On_Buy/100;
            uint256 tTransferAmount = tAmount-buyFEE;

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)]+buyFEE;   
            emit Transfer(sender, recipient, tTransferAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tTransferAmount;
            
            } else {

            uint256 sellFEE = tAmount*_Tax_On_Sell/100;
            uint256 tTransferAmount = tAmount-sellFEE;

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)]+sellFEE;   
            emit Transfer(sender, recipient, tTransferAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tTransferAmount;


            }

    }


}

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":"true_or_false","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":"Percent_AutoLP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Dev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Marketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Dev","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Sell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyFper","type":"uint256"},{"internalType":"uint256","name":"sellFper","type":"uint256"}],"name":"only_Owner_Fee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"per","type":"uint256"}],"name":"only_Owner_Max","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"per","type":"uint256"}],"name":"only_Owner_Tx","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"random_Token_Address","type":"address"},{"internalType":"uint256","name":"percent_of_Tokens","type":"uint256"}],"name":"remove_Random_Tokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","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":"pure","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":[],"name":"uniswapV2Pair","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"}]

6080604052600480546001600160a01b031990811673b1489de784ae48c13723ba9dd4325520e2eaa5fe179091556005805490911673fa455f46c7ad8856e302e20638ed289bb3c7df4c1790556200005a6009600a6200054e565b6200006b906402540be40062000566565b60068190556007805461ffff1916610a0017905560036008819055600955605a600a9081556000600b819055600c55600d55606490620000ac908262000566565b620000b8919062000588565b600e55600e54600f5560646006546064620000d4919062000566565b620000e0919062000588565b60108190556011556013805460ff60a81b1916600160a81b1790553480156200010857600080fd5b50600080546001600160a01b03191673fa455f46c7ad8856e302e20638ed289bb3c7df4c90811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360065460016000620001766000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002189190620005ab565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000266573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028c9190620005ab565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002da573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003009190620005ab565b601380546001600160a01b03199081166001600160a01b039384161790915560128054909116918316919091179055600160036000620003486000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004549091168352908220805484168217905561dead9091527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054909216179055620003e26000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200042a91815260200190565b60405180910390a350620005d6565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200049057816000190482111562000474576200047462000439565b808516156200048257918102915b93841c939080029062000454565b509250929050565b600082620004a95750600162000548565b81620004b85750600062000548565b8160018114620004d15760028114620004dc57620004fc565b600191505062000548565b60ff841115620004f057620004f062000439565b50506001821b62000548565b5060208310610133831016604e8410600b841016171562000521575081810a62000548565b6200052d83836200044f565b806000190482111562000544576200054462000439565b0290505b92915050565b60006200055f60ff84168362000498565b9392505050565b600081600019048311821515161562000583576200058362000439565b500290565b600082620005a657634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005be57600080fd5b81516001600160a01b03811681146200055f57600080fd5b6119f180620005e66000396000f3fe6080604052600436106101e75760003560e01c806370a0823111610102578063a9059cbb11610095578063c6618d6011610064578063c6618d601461059d578063dafd18e9146105b3578063dd62ed3e146105d3578063e1b3eff31461061957600080fd5b8063a9059cbb14610527578063b1cb158214610547578063b43665e21461055d578063bbb9f61f1461057d57600080fd5b8063805c0e0f116100d1578063805c0e0f146104a55780638da5cb5b146104bb57806395d89b41146104d9578063a457c2d71461050757600080fd5b806370a0823114610413578063768dc7101461044957806378109e54146104795780637d1db4a51461048f57600080fd5b8063364d528e1161017a57806349bd5a5e1161014957806349bd5a5e146103a65780634a74bb02146103c657806360317625146103e757806361c9a0dc146103fd57600080fd5b8063364d528e14610330578063385176eb1461035057806339509351146103705780633f70a4951461039057600080fd5b806321dbd9eb116101b657806321dbd9eb146102bd578063220f6696146102d357806323b872dd146102f4578063313ce5671461031457600080fd5b806306fdde03146101f3578063095ea7b3146102365780631694505e1461026657806318160ddd1461029e57600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b506040805180820190915260088152670426f626f20322e360c41b60208201525b60405161022d919061161b565b60405180910390f35b34801561024257600080fd5b50610256610251366004611688565b610639565b604051901515815260200161022d565b34801561027257600080fd5b50601254610286906001600160a01b031681565b6040516001600160a01b03909116815260200161022d565b3480156102aa57600080fd5b506006545b60405190815260200161022d565b3480156102c957600080fd5b506102af600c5481565b3480156102df57600080fd5b5060135461025690600160a01b900460ff1681565b34801561030057600080fd5b5061025661030f3660046116b4565b61064f565b34801561032057600080fd5b506040516009815260200161022d565b34801561033c57600080fd5b5061025661034b3660046116f5565b6106b8565b34801561035c57600080fd5b5061025661036b366004611717565b6106fb565b34801561037c57600080fd5b5061025661038b366004611688565b610752565b34801561039c57600080fd5b506102af60085481565b3480156103b257600080fd5b50601354610286906001600160a01b031681565b3480156103d257600080fd5b5060135461025690600160a81b900460ff1681565b3480156103f357600080fd5b506102af600a5481565b34801561040957600080fd5b506102af600d5481565b34801561041f57600080fd5b506102af61042e366004611730565b6001600160a01b031660009081526001602052604090205490565b34801561045557600080fd5b50610256610464366004611730565b60036020526000908152604090205460ff1681565b34801561048557600080fd5b506102af600e5481565b34801561049b57600080fd5b506102af60105481565b3480156104b157600080fd5b5061028661dead81565b3480156104c757600080fd5b506000546001600160a01b0316610286565b3480156104e557600080fd5b506040805180820190915260058152642127a1279960d91b6020820152610220565b34801561051357600080fd5b50610256610522366004611688565b610788565b34801561053357600080fd5b50610256610542366004611688565b6107d7565b34801561055357600080fd5b506102af60095481565b34801561056957600080fd5b50600454610286906001600160a01b031681565b34801561058957600080fd5b50600554610286906001600160a01b031681565b3480156105a957600080fd5b506102af600b5481565b3480156105bf57600080fd5b506102566105ce366004611688565b6107e4565b3480156105df57600080fd5b506102af6105ee36600461174d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561062557600080fd5b50610256610634366004611717565b610946565b600061064633848461099d565b50600192915050565b600061065c848484610a5e565b6106ae84336106a98560405180606001604052806028815260200161196f602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610da3565b61099d565b5060019392505050565b600080546001600160a01b031633146106ec5760405162461bcd60e51b81526004016106e390611786565b60405180910390fd5b50600891909155600955600190565b600080546001600160a01b031633146107265760405162461bcd60e51b81526004016106e390611786565b600e54600f5560065460649061073d9084906117d1565b61074791906117f0565b600e55506001919050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106469185906106a99086610dcf565b600061064633846106a985604051806060016040528060258152602001611997602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610da3565b6000610646338484610a5e565b60006001600160a01b03831630141561083f5760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e000000000060448201526064016106e3565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610886573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108aa9190611812565b9050600060646108ba85846117d1565b6108c491906117f0565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015610919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093d919061182b565b95945050505050565b600080546001600160a01b031633146109715760405162461bcd60e51b81526004016106e390611786565b6010546011556006546064906109889084906117d1565b61099291906117f0565b601055506001919050565b6001600160a01b038316158015906109bd57506001600160a01b03821615155b6109fd5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016106e3565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b03838116911614801590610a8757506001600160a01b03821661dead14155b8015610a9c57506001600160a01b0382163014155b8015610ab657506013546001600160a01b03838116911614155b8015610ad057506000546001600160a01b03848116911614155b15610b40576001600160a01b038216600090815260016020526040902054600e54610afb838361184d565b1115610b3e5760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b60448201526064016106e3565b505b6000546001600160a01b03848116911614610ba757601054811115610ba75760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e00000000000000000060448201526064016106e3565b6001600160a01b03831615801590610bc757506001600160a01b03821615155b610c0b5760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016106e3565b60008111610c695760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016106e3565b60075460ff61010082048116911610801590610c8f5750601354600160a01b900460ff16155b8015610ca957506013546001600160a01b03848116911614155b8015610cbe5750601354600160a81b900460ff165b15610cf75730600090815260016020526040902054601054811115610ce257506010545b6007805460ff19169055610cf581610de2565b505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610d3a57506001600160a01b03841660009081526003602052604090205460ff165b15610d485760009150610d8f565b6013546001600160a01b0386811691161415610d62575060015b6007805460ff16906000610d7583611865565b91906101000a81548160ff021916908360ff160217905550505b610d9c8585858585611094565b5050505050565b60008184841115610dc75760405162461bcd60e51b81526004016106e3919061161b565b505050900390565b6000610ddb828461184d565b9392505050565b6013805460ff60a01b1916600160a01b179055600c54600090606490610e0890846117d1565b610e1291906117f0565b905080600654610e229190611885565b60065561dead60005260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54610e5d90829061184d565b60016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d553060009081526040902054610e9a908290611885565b30600090815260016020526040812091909155600a54606490610ebd90856117d1565b610ec791906117f0565b905060006064600b5485610edb91906117d1565b610ee591906117f0565b9050600060c8600d5486610ef991906117d1565b610f0391906117f0565b905047610f2383610f14868561184d565b610f1e919061184d565b6113db565b6000610f2f8247611885565b90506000600b54600a54600d54610f46919061184d565b610f50919061184d565b600a54610f5e9060646117d1565b610f6891906117f0565b905060006064610f7883856117d1565b610f8291906117f0565b90506000600b54600a54600d54610f99919061184d565b610fa3919061184d565b600b54610fb19060646117d1565b610fbb91906117f0565b905060006064610fcb83876117d1565b610fd591906117f0565b9050610ff58782610fe68689611885565b610ff09190611885565b611535565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56187826110228689611885565b61102c9190611885565b604080519283526020830191909152810189905260600160405180910390a1600454611061906001600160a01b0316846115e0565b60055447955061107a906001600160a01b0316866115e0565b50506013805460ff60a01b19169055505050505050505050565b81611173576001600160a01b0385166000908152600160205260409020546110bd908490611885565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546110ed90849061184d565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111419087815260200190565b60405180910390a36001600160a01b03841661dead141561116e578260065461116a9190611885565b6006555b610d9c565b80156112a957600060646008548561118b91906117d1565b61119591906117f0565b905060006111a38286611885565b6001600160a01b0388166000908152600160205260409020549091506111ca908690611885565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546111fa90829061184d565b6001600160a01b03871660009081526001602052604080822092909255308152205461122790839061184d565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001600160a01b03861661dead14156112a2578060065461129e9190611885565b6006555b5050610d9c565b60006064600954856112bb91906117d1565b6112c591906117f0565b905060006112d38286611885565b6001600160a01b0388166000908152600160205260409020549091506112fa908690611885565b6001600160a01b03808916600090815260016020526040808220939093559088168152205461132a90829061184d565b6001600160a01b03871660009081526001602052604080822092909255308152205461135790839061184d565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001600160a01b03861661dead14156113d257806006546113ce9190611885565b6006555b50505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114105761141061189c565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611469573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148d91906118b2565b816001815181106114a0576114a061189c565b6001600160a01b0392831660209182029290920101526012546114c6913091168461099d565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906114ff9085906000908690309042906004016118cf565b600060405180830381600087803b15801561151957600080fd5b505af115801561152d573d6000803e3d6000fd5b505050505050565b60125461154d9030906001600160a01b03168461099d565b60125460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156115bb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d9c9190611940565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611616573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b818110156116485785810183015185820160400152820161162c565b8181111561165a576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461168557600080fd5b50565b6000806040838503121561169b57600080fd5b82356116a681611670565b946020939093013593505050565b6000806000606084860312156116c957600080fd5b83356116d481611670565b925060208401356116e481611670565b929592945050506040919091013590565b6000806040838503121561170857600080fd5b50508035926020909101359150565b60006020828403121561172957600080fd5b5035919050565b60006020828403121561174257600080fd5b8135610ddb81611670565b6000806040838503121561176057600080fd5b823561176b81611670565b9150602083013561177b81611670565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156117eb576117eb6117bb565b500290565b60008261180d57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561182457600080fd5b5051919050565b60006020828403121561183d57600080fd5b81518015158114610ddb57600080fd5b60008219821115611860576118606117bb565b500190565b600060ff821660ff81141561187c5761187c6117bb565b60010192915050565b600082821015611897576118976117bb565b500390565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118c457600080fd5b8151610ddb81611670565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561191f5784516001600160a01b0316835293830193918301916001016118fa565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561195557600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f85adee7af69ef9a6bed5bc675f266e698301553f2cda541acf8ee22de7b180464736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101e75760003560e01c806370a0823111610102578063a9059cbb11610095578063c6618d6011610064578063c6618d601461059d578063dafd18e9146105b3578063dd62ed3e146105d3578063e1b3eff31461061957600080fd5b8063a9059cbb14610527578063b1cb158214610547578063b43665e21461055d578063bbb9f61f1461057d57600080fd5b8063805c0e0f116100d1578063805c0e0f146104a55780638da5cb5b146104bb57806395d89b41146104d9578063a457c2d71461050757600080fd5b806370a0823114610413578063768dc7101461044957806378109e54146104795780637d1db4a51461048f57600080fd5b8063364d528e1161017a57806349bd5a5e1161014957806349bd5a5e146103a65780634a74bb02146103c657806360317625146103e757806361c9a0dc146103fd57600080fd5b8063364d528e14610330578063385176eb1461035057806339509351146103705780633f70a4951461039057600080fd5b806321dbd9eb116101b657806321dbd9eb146102bd578063220f6696146102d357806323b872dd146102f4578063313ce5671461031457600080fd5b806306fdde03146101f3578063095ea7b3146102365780631694505e1461026657806318160ddd1461029e57600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b506040805180820190915260088152670426f626f20322e360c41b60208201525b60405161022d919061161b565b60405180910390f35b34801561024257600080fd5b50610256610251366004611688565b610639565b604051901515815260200161022d565b34801561027257600080fd5b50601254610286906001600160a01b031681565b6040516001600160a01b03909116815260200161022d565b3480156102aa57600080fd5b506006545b60405190815260200161022d565b3480156102c957600080fd5b506102af600c5481565b3480156102df57600080fd5b5060135461025690600160a01b900460ff1681565b34801561030057600080fd5b5061025661030f3660046116b4565b61064f565b34801561032057600080fd5b506040516009815260200161022d565b34801561033c57600080fd5b5061025661034b3660046116f5565b6106b8565b34801561035c57600080fd5b5061025661036b366004611717565b6106fb565b34801561037c57600080fd5b5061025661038b366004611688565b610752565b34801561039c57600080fd5b506102af60085481565b3480156103b257600080fd5b50601354610286906001600160a01b031681565b3480156103d257600080fd5b5060135461025690600160a81b900460ff1681565b3480156103f357600080fd5b506102af600a5481565b34801561040957600080fd5b506102af600d5481565b34801561041f57600080fd5b506102af61042e366004611730565b6001600160a01b031660009081526001602052604090205490565b34801561045557600080fd5b50610256610464366004611730565b60036020526000908152604090205460ff1681565b34801561048557600080fd5b506102af600e5481565b34801561049b57600080fd5b506102af60105481565b3480156104b157600080fd5b5061028661dead81565b3480156104c757600080fd5b506000546001600160a01b0316610286565b3480156104e557600080fd5b506040805180820190915260058152642127a1279960d91b6020820152610220565b34801561051357600080fd5b50610256610522366004611688565b610788565b34801561053357600080fd5b50610256610542366004611688565b6107d7565b34801561055357600080fd5b506102af60095481565b34801561056957600080fd5b50600454610286906001600160a01b031681565b34801561058957600080fd5b50600554610286906001600160a01b031681565b3480156105a957600080fd5b506102af600b5481565b3480156105bf57600080fd5b506102566105ce366004611688565b6107e4565b3480156105df57600080fd5b506102af6105ee36600461174d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561062557600080fd5b50610256610634366004611717565b610946565b600061064633848461099d565b50600192915050565b600061065c848484610a5e565b6106ae84336106a98560405180606001604052806028815260200161196f602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610da3565b61099d565b5060019392505050565b600080546001600160a01b031633146106ec5760405162461bcd60e51b81526004016106e390611786565b60405180910390fd5b50600891909155600955600190565b600080546001600160a01b031633146107265760405162461bcd60e51b81526004016106e390611786565b600e54600f5560065460649061073d9084906117d1565b61074791906117f0565b600e55506001919050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106469185906106a99086610dcf565b600061064633846106a985604051806060016040528060258152602001611997602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610da3565b6000610646338484610a5e565b60006001600160a01b03831630141561083f5760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e000000000060448201526064016106e3565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610886573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108aa9190611812565b9050600060646108ba85846117d1565b6108c491906117f0565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015610919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093d919061182b565b95945050505050565b600080546001600160a01b031633146109715760405162461bcd60e51b81526004016106e390611786565b6010546011556006546064906109889084906117d1565b61099291906117f0565b601055506001919050565b6001600160a01b038316158015906109bd57506001600160a01b03821615155b6109fd5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016106e3565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b03838116911614801590610a8757506001600160a01b03821661dead14155b8015610a9c57506001600160a01b0382163014155b8015610ab657506013546001600160a01b03838116911614155b8015610ad057506000546001600160a01b03848116911614155b15610b40576001600160a01b038216600090815260016020526040902054600e54610afb838361184d565b1115610b3e5760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b60448201526064016106e3565b505b6000546001600160a01b03848116911614610ba757601054811115610ba75760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e00000000000000000060448201526064016106e3565b6001600160a01b03831615801590610bc757506001600160a01b03821615155b610c0b5760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016106e3565b60008111610c695760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016106e3565b60075460ff61010082048116911610801590610c8f5750601354600160a01b900460ff16155b8015610ca957506013546001600160a01b03848116911614155b8015610cbe5750601354600160a81b900460ff165b15610cf75730600090815260016020526040902054601054811115610ce257506010545b6007805460ff19169055610cf581610de2565b505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610d3a57506001600160a01b03841660009081526003602052604090205460ff165b15610d485760009150610d8f565b6013546001600160a01b0386811691161415610d62575060015b6007805460ff16906000610d7583611865565b91906101000a81548160ff021916908360ff160217905550505b610d9c8585858585611094565b5050505050565b60008184841115610dc75760405162461bcd60e51b81526004016106e3919061161b565b505050900390565b6000610ddb828461184d565b9392505050565b6013805460ff60a01b1916600160a01b179055600c54600090606490610e0890846117d1565b610e1291906117f0565b905080600654610e229190611885565b60065561dead60005260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54610e5d90829061184d565b60016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d553060009081526040902054610e9a908290611885565b30600090815260016020526040812091909155600a54606490610ebd90856117d1565b610ec791906117f0565b905060006064600b5485610edb91906117d1565b610ee591906117f0565b9050600060c8600d5486610ef991906117d1565b610f0391906117f0565b905047610f2383610f14868561184d565b610f1e919061184d565b6113db565b6000610f2f8247611885565b90506000600b54600a54600d54610f46919061184d565b610f50919061184d565b600a54610f5e9060646117d1565b610f6891906117f0565b905060006064610f7883856117d1565b610f8291906117f0565b90506000600b54600a54600d54610f99919061184d565b610fa3919061184d565b600b54610fb19060646117d1565b610fbb91906117f0565b905060006064610fcb83876117d1565b610fd591906117f0565b9050610ff58782610fe68689611885565b610ff09190611885565b611535565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56187826110228689611885565b61102c9190611885565b604080519283526020830191909152810189905260600160405180910390a1600454611061906001600160a01b0316846115e0565b60055447955061107a906001600160a01b0316866115e0565b50506013805460ff60a01b19169055505050505050505050565b81611173576001600160a01b0385166000908152600160205260409020546110bd908490611885565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546110ed90849061184d565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111419087815260200190565b60405180910390a36001600160a01b03841661dead141561116e578260065461116a9190611885565b6006555b610d9c565b80156112a957600060646008548561118b91906117d1565b61119591906117f0565b905060006111a38286611885565b6001600160a01b0388166000908152600160205260409020549091506111ca908690611885565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546111fa90829061184d565b6001600160a01b03871660009081526001602052604080822092909255308152205461122790839061184d565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001600160a01b03861661dead14156112a2578060065461129e9190611885565b6006555b5050610d9c565b60006064600954856112bb91906117d1565b6112c591906117f0565b905060006112d38286611885565b6001600160a01b0388166000908152600160205260409020549091506112fa908690611885565b6001600160a01b03808916600090815260016020526040808220939093559088168152205461132a90829061184d565b6001600160a01b03871660009081526001602052604080822092909255308152205461135790839061184d565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001600160a01b03861661dead14156113d257806006546113ce9190611885565b6006555b50505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114105761141061189c565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611469573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148d91906118b2565b816001815181106114a0576114a061189c565b6001600160a01b0392831660209182029290920101526012546114c6913091168461099d565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906114ff9085906000908690309042906004016118cf565b600060405180830381600087803b15801561151957600080fd5b505af115801561152d573d6000803e3d6000fd5b505050505050565b60125461154d9030906001600160a01b03168461099d565b60125460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156115bb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d9c9190611940565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611616573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b818110156116485785810183015185820160400152820161162c565b8181111561165a576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461168557600080fd5b50565b6000806040838503121561169b57600080fd5b82356116a681611670565b946020939093013593505050565b6000806000606084860312156116c957600080fd5b83356116d481611670565b925060208401356116e481611670565b929592945050506040919091013590565b6000806040838503121561170857600080fd5b50508035926020909101359150565b60006020828403121561172957600080fd5b5035919050565b60006020828403121561174257600080fd5b8135610ddb81611670565b6000806040838503121561176057600080fd5b823561176b81611670565b9150602083013561177b81611670565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156117eb576117eb6117bb565b500290565b60008261180d57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561182457600080fd5b5051919050565b60006020828403121561183d57600080fd5b81518015158114610ddb57600080fd5b60008219821115611860576118606117bb565b500190565b600060ff821660ff81141561187c5761187c6117bb565b60010192915050565b600082821015611897576118976117bb565b500390565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118c457600080fd5b8151610ddb81611670565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561191f5784516001600160a01b0316835293830193918301916001016118fa565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561195557600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f85adee7af69ef9a6bed5bc675f266e698301553f2cda541acf8ee22de7b180464736f6c634300080a0033

Deployed Bytecode Sourcemap

14270:12049:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17495:83;;;;;;;;;;-1:-1:-1;17565:5:0;;;;;;;;;;;;-1:-1:-1;;;17565:5:0;;;;17495:83;;;;;;;:::i;:::-;;;;;;;;18338:161;;;;;;;;;;-1:-1:-1;18338:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;18338:161:0;1072:187:1;16102:41:0;;;;;;;;;;-1:-1:-1;16102:41:0;;;;-1:-1:-1;;;;;16102:41:0;;;;;;-1:-1:-1;;;;;1455:32:1;;;1437:51;;1425:2;1410:18;16102:41:0;1264:230:1;17772:95:0;;;;;;;;;;-1:-1:-1;17852:7:0;;17772:95;;;1645:25:1;;;1633:2;1618:18;17772:95:0;1499:177:1;15702:31:0;;;;;;;;;;;;;;;;16185:28;;;;;;;;;;-1:-1:-1;16185:28:0;;;;-1:-1:-1;;;16185:28:0;;;;;;18507:313;;;;;;;;;;-1:-1:-1;18507:313:0;;;;;:::i;:::-;;:::i;17681:83::-;;;;;;;;;;-1:-1:-1;17681:83:0;;15301:1;2284:36:1;;2272:2;2257:18;17681:83:0;2142:184:1;19734:186:0;;;;;;;;;;-1:-1:-1;19734:186:0;;;;;:::i;:::-;;:::i;19331:198::-;;;;;;;;;;-1:-1:-1;19331:198:0;;;;;:::i;:::-;;:::i;18828:218::-;;;;;;;;;;-1:-1:-1;18828:218:0;;;;;:::i;:::-;;:::i;15544:30::-;;;;;;;;;;;;;;;;16150:28;;;;;;;;;;-1:-1:-1;16150:28:0;;;;-1:-1:-1;;;;;16150:28:0;;;16220:40;;;;;;;;;;-1:-1:-1;16220:40:0;;;;-1:-1:-1;;;16220:40:0;;;;;;15621:37;;;;;;;;;;;;;;;;15740:34;;;;;;;;;;;;;;;;17875:117;;;;;;;;;;-1:-1:-1;17875:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;17968:16:0;17941:7;17968:16;;;:7;:16;;;;;;;17875:117;14852:51;;;;;;;;;;-1:-1:-1;14852:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15784:52;;;;;;;;;;;;;;;;15909:49;;;;;;;;;;;;;;;;15108:97;;;;;;;;;;;;15162:42;15108:97;;14502:87;;;;;;;;;;-1:-1:-1;14548:7:0;14575:6;-1:-1:-1;;;;;14575:6:0;14502:87;;17586;;;;;;;;;;-1:-1:-1;17658:7:0;;;;;;;;;;;;-1:-1:-1;;;17658:7:0;;;;17586:87;;19054:269;;;;;;;;;;-1:-1:-1;19054:269:0;;;;;:::i;:::-;;:::i;18000:167::-;;;;;;;;;;-1:-1:-1;18000:167:0;;;;;:::i;:::-;;:::i;15581:31::-;;;;;;;;;;;;;;;;14913:93;;;;;;;;;;-1:-1:-1;14913:93:0;;;;-1:-1:-1;;;;;14913:93:0;;;15014:87;;;;;;;;;;-1:-1:-1;15014:87:0;;;;-1:-1:-1;;;;;15014:87:0;;;15665:30;;;;;;;;;;;;;;;;24404:446;;;;;;;;;;-1:-1:-1;24404:446:0;;;;;:::i;:::-;;:::i;18175:155::-;;;;;;;;;;-1:-1:-1;18175:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;18289:21:0;;;18262:7;18289:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;18175:155;19537:189;;;;;;;;;;-1:-1:-1;19537:189:0;;;;;:::i;:::-;;:::i;18338:161::-;18413:4;18430:39;2973:10;18453:7;18462:6;18430:8;:39::i;:::-;-1:-1:-1;18487:4:0;18338:161;;;;:::o;18507:313::-;18605:4;18622:36;18632:6;18640:9;18651:6;18622:9;:36::i;:::-;18669:121;18678:6;2973:10;18700:89;18738:6;18700:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18700:19:0;;;;;;:11;:19;;;;;;;;2973:10;18700:33;;;;;;;;;;:37;:89::i;:::-;18669:8;:121::i;:::-;-1:-1:-1;18808:4:0;18507:313;;;;;:::o;19734:186::-;19819:4;14575:6;;-1:-1:-1;;;;;14575:6:0;2973:10;14637:23;14629:68;;;;-1:-1:-1;;;14629:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;19835:11:0::1;:21:::0;;;;19867:12:::1;:23:::0;19908:4:::1;::::0;19734:186::o;19331:198::-;19394:4;14575:6;;-1:-1:-1;;;;;14575:6:0;2973:10;14637:23;14629:68;;;;-1:-1:-1;;;14629:68:0;;;;;;;:::i;:::-;19436:15:::1;::::0;19410:23:::1;:41:::0;19480:7:::1;::::0;19496:3:::1;::::0;19480:13:::1;::::0;19490:3;;19480:13:::1;:::i;:::-;:19;;;;:::i;:::-;19462:15;:37:::0;-1:-1:-1;19517:4:0::1;19331:198:::0;;;:::o;18828:218::-;2973:10;18916:4;18965:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18965:34:0;;;;;;;;;;18916:4;;18933:83;;18956:7;;18965:50;;19004:10;18965:38;:50::i;19054:269::-;19147:4;19164:129;2973:10;19187:7;19196:96;19235:15;19196:96;;;;;;;;;;;;;;;;;2973:10;19196:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19196:34:0;;;;;;;;;;;;:38;:96::i;18000:167::-;18078:4;18095:42;2973:10;18119:9;18130:6;18095:9;:42::i;24404:446::-;24506:10;-1:-1:-1;;;;;24536:37:0;;24568:4;24536:37;;24528:77;;;;-1:-1:-1;;;24528:77:0;;4936:2:1;24528:77:0;;;4918:21:1;4975:2;4955:18;;;4948:30;5014:29;4994:18;;;4987:57;5061:18;;24528:77:0;4734:351:1;24528:77:0;24638:53;;-1:-1:-1;;;24638:53:0;;24685:4;24638:53;;;1437:51:1;24616:19:0;;-1:-1:-1;;;;;24638:38:0;;;;;1410:18:1;;24638:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24616:75;-1:-1:-1;24702:20:0;24755:3;24725:29;24737:17;24616:75;24725:29;:::i;:::-;:33;;;;:::i;:::-;24815:10;;24777:63;;-1:-1:-1;;;24777:63:0;;-1:-1:-1;;;;;24815:10:0;;;24777:63;;;5461:51:1;5528:18;;;5521:34;;;24702:56:0;;-1:-1:-1;24777:37:0;;;;;5434:18:1;;24777:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24769:71;24404:446;-1:-1:-1;;;;;24404:446:0:o;19537:189::-;19599:4;14575:6;;-1:-1:-1;;;;;14575:6:0;2973:10;14637:23;14629:68;;;;-1:-1:-1;;;14629:68:0;;;;;;;:::i;:::-;19638:12:::1;::::0;19615:20:::1;:35:::0;19676:7:::1;::::0;19692:3:::1;::::0;19676:13:::1;::::0;19686:3;;19676:13:::1;:::i;:::-;:19;;;;:::i;:::-;19661:12;:34:::0;-1:-1:-1;19714:4:0::1;19537:189:::0;;;:::o;20071:290::-;-1:-1:-1;;;;;20172:22:0;;;;;;:50;;-1:-1:-1;;;;;;20198:24:0;;;;20172:50;20164:80;;;;-1:-1:-1;;;20164:80:0;;6050:2:1;20164:80:0;;;6032:21:1;6089:2;6069:18;;;6062:30;-1:-1:-1;;;6108:18:1;;;6101:47;6165:18;;20164:80:0;5848:341:1;20164:80:0;-1:-1:-1;;;;;20255:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;20313:38;;1645:25:1;;;20313:38:0;;1618:18:1;20313:38:0;;;;;;;20071:290;;;:::o;20373:1509::-;14548:7;14575:6;-1:-1:-1;;;;;20493:13:0;;;14575:6;;20493:13;;;;:47;;-1:-1:-1;;;;;;20523:17:0;;15162:42;20523:17;;20493:47;:83;;;;-1:-1:-1;;;;;;20557:19:0;;20571:4;20557:19;;20493:83;:119;;;;-1:-1:-1;20599:13:0;;-1:-1:-1;;;;;20593:19:0;;;20599:13;;20593:19;;20493:119;:151;;;;-1:-1:-1;14548:7:0;14575:6;-1:-1:-1;;;;;20629:15:0;;;14575:6;;20629:15;;20493:151;20489:292;;;-1:-1:-1;;;;;17968:16:0;;20660:18;17968:16;;;:7;:16;;;;;;20742:15;;20718:19;20731:6;17968:16;20718:19;:::i;:::-;20717:40;;20709:70;;;;-1:-1:-1;;;20709:70:0;;6529:2:1;20709:70:0;;;6511:21:1;6568:2;6548:18;;;6541:30;-1:-1:-1;;;6587:18:1;;;6580:48;6645:18;;20709:70:0;6327:342:1;20709:70:0;20645:136;20489:292;14548:7;14575:6;-1:-1:-1;;;;;20797:15:0;;;14575:6;;20797:15;20793:92;;20845:12;;20835:6;:22;;20827:58;;;;-1:-1:-1;;;20827:58:0;;6876:2:1;20827:58:0;;;6858:21:1;6915:2;6895:18;;;6888:30;6954:25;6934:18;;;6927:53;6997:18;;20827:58:0;6674:347:1;20827:58:0;-1:-1:-1;;;;;20908:18:0;;;;;;:38;;-1:-1:-1;;;;;;20930:16:0;;;;20908:38;20900:72;;;;-1:-1:-1;;;20900:72:0;;7228:2:1;20900:72:0;;;7210:21:1;7267:2;7247:18;;;7240:30;-1:-1:-1;;;7286:18:1;;;7279:51;7347:18;;20900:72:0;7026:345:1;20900:72:0;21000:1;20991:6;:10;20983:60;;;;-1:-1:-1;;;20983:60:0;;7578:2:1;20983:60:0;;;7560:21:1;7617:2;7597:18;;;7590:30;7656:34;7636:18;;;7629:62;-1:-1:-1;;;7707:18:1;;;7700:35;7752:19;;20983:60:0;7376:401:1;20983:60:0;21087:11;;;;;;;;21076:7;;:22;;;;:57;;-1:-1:-1;21117:16:0;;-1:-1:-1;;;21117:16:0;;;;21116:17;21076:57;:95;;;;-1:-1:-1;21158:13:0;;-1:-1:-1;;;;;21150:21:0;;;21158:13;;21150:21;;21076:95;:133;;;;-1:-1:-1;21188:21:0;;-1:-1:-1;;;21188:21:0;;;;21076:133;21059:443;;;21315:4;21266:28;17968:16;;;:7;:16;;;;;;21362:12;;21339:35;;21336:78;;;-1:-1:-1;21400:12:0;;21336:78;21428:7;:11;;-1:-1:-1;;21428:11:0;;;21454:36;21469:20;21454:14;:36::i;:::-;21235:267;21059:443;-1:-1:-1;;;;;21576:24:0;;21522:12;21576:24;;;:18;:24;;;;;;21537:4;;21522:12;21576:24;;;:50;;-1:-1:-1;;;;;;21604:22:0;;;;;;:18;:22;;;;;;;;21576:50;21573:239;;;21652:5;21642:15;;21573:239;;;21712:13;;-1:-1:-1;;;;;21704:21:0;;;21712:13;;21704:21;21701:72;;;-1:-1:-1;21753:4:0;21701:72;21789:7;:9;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;21573:239;21824:48;21839:4;21845:2;21849:6;21857:7;21866:5;21824:14;:48::i;:::-;20476:1406;;20373:1509;;;:::o;2422:206::-;2508:7;2569:12;2561:6;;;;2553:29;;;;-1:-1:-1;;;2553:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2604:5:0;;;2422:206::o;1994:98::-;2052:7;2079:5;2083:1;2079;:5;:::i;:::-;2072:12;1994:98;-1:-1:-1;;;1994:98:0:o;22026:1509::-;16515:16;:23;;-1:-1:-1;;;;16515:23:0;-1:-1:-1;;;16515:23:0;;;22165:12:::1;::::0;16515:23;;22180:3:::1;::::0;22142:35:::1;::::0;:20;:35:::1;:::i;:::-;:41;;;;:::i;:::-;22117:66;;22218:14;22208:7;;:24;;;;:::i;:::-;22198:7;:34:::0;15162:42:::1;22270:20;::::0;:7:::1;:20;::::0;;;:37:::1;::::0;22293:14;;22270:37:::1;:::i;:::-;22247:7;:20;::::0;;:60;22363:4:::1;22247:20;22347:22:::0;;;22247:20;22347:22;;;:39:::1;::::0;22372:14;;22347:39:::1;:::i;:::-;22338:4;22322:22;::::0;;;:7:::1;:22;::::0;;;;:64;;;;22449:17:::1;::::0;22469:3:::1;::::0;22426:40:::1;::::0;:20;:40:::1;:::i;:::-;:46;;;;:::i;:::-;22404:68;;22487:19;22546:3;22532:11;;22509:20;:34;;;;:::i;:::-;:40;;;;:::i;:::-;22487:62;;22564:25;22632:3;22615:14;;22592:20;:37;;;;:::i;:::-;:43;;;;:::i;:::-;22564:71:::0;-1:-1:-1;22680:21:0::1;22716:63;22767:11:::0;22733:31:::1;22753:11:::0;22564:71;22733:31:::1;:::i;:::-;:45;;;;:::i;:::-;22716:16;:63::i;:::-;22794:17;22814:41;22838:17:::0;22814:21:::1;:41;:::i;:::-;22794:61;;22872:15;22954:11;;22934:17;;22917:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;22890:17;::::0;:23:::1;::::0;22910:3:::1;22890:23;:::i;:::-;:76;;;;:::i;:::-;22872:94:::0;-1:-1:-1;22981:13:0::1;23019:3;22997:19;22872:94:::0;22997:9;:19:::1;:::i;:::-;:25;;;;:::i;:::-;22981:41;;23039:15;23115:11;;23095:17;;23078:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;23057:11;::::0;:17:::1;::::0;23071:3:::1;23057:17;:::i;:::-;:70;;;;:::i;:::-;23039:88:::0;-1:-1:-1;23142:13:0::1;23180:3;23158:19;23039:88:::0;23158:9;:19:::1;:::i;:::-;:25;;;;:::i;:::-;23142:41:::0;-1:-1:-1;23202:60:0::1;23215:17:::0;23142:41;23235:17:::1;23247:5:::0;23235:9;:17:::1;:::i;:::-;:25;;;;:::i;:::-;23202:12;:60::i;:::-;23282:81;23297:17:::0;23337:5;23317:17:::1;23329:5:::0;23317:9;:17:::1;:::i;:::-;:25;;;;:::i;:::-;23282:81;::::0;;8294:25:1;;;8350:2;8335:18;;8328:34;;;;8378:18;;8371:34;;;8282:2;8267:18;23282:81:0::1;;;;;;;23393:16;::::0;23380:37:::1;::::0;-1:-1:-1;;;;;23393:16:0::1;23411:5:::0;23380:12:::1;:37::i;:::-;23495:10;::::0;23446:21:::1;::::0;-1:-1:-1;23482:35:0::1;::::0;-1:-1:-1;;;;;23495:10:0::1;23446:21:::0;23482:12:::1;:35::i;:::-;-1:-1:-1::0;;16561:16:0;:24;;-1:-1:-1;;;;16561:24:0;;;-1:-1:-1;;;;;;;;;22026:1509:0:o;24860:1452::-;25005:7;25001:1302;;-1:-1:-1;;;;;25048:15:0;;;;;;:7;:15;;;;;;:23;;25064:7;;25048:23;:::i;:::-;-1:-1:-1;;;;;25030:15:0;;;;;;;:7;:15;;;;;;:41;;;;25107:18;;;;;;;:26;;25126:7;;25107:26;:::i;:::-;-1:-1:-1;;;;;25086:18:0;;;;;;;:7;:18;;;;;;;:47;;;;25153:36;;;;;;;;;;25181:7;1645:25:1;;1633:2;1618:18;;1499:177;25153:36:0;;;;;;;;-1:-1:-1;;;;;25209:24:0;;15162:42;25209:24;25206:67;;;25266:7;25258;;:15;;;;:::i;:::-;25248:7;:25;25206:67;25001:1302;;;25301:5;25297:1006;;;25324:14;25361:3;25349:11;;25341:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;25324:40;-1:-1:-1;25379:23:0;25405:14;25324:40;25405:7;:14;:::i;:::-;-1:-1:-1;;;;;25454:15:0;;;;;;:7;:15;;;;;;25379:40;;-1:-1:-1;25454:23:0;;25470:7;;25454:23;:::i;:::-;-1:-1:-1;;;;;25436:15:0;;;;;;;:7;:15;;;;;;:41;;;;25513:18;;;;;;;:34;;25532:15;;25513:34;:::i;:::-;-1:-1:-1;;;;;25492:18:0;;;;;;:7;:18;;;;;;:55;;;;25603:4;25587:22;;;;:29;;25610:6;;25587:29;:::i;:::-;25578:4;25562:22;;;;:7;:22;;;;;;;;;:54;;;;25639:44;1645:25:1;;;-1:-1:-1;;;;;25639:44:0;;;;;;;;;;1618:18:1;25639:44:0;;;;;;;-1:-1:-1;;;;;25703:24:0;;15162:42;25703:24;25700:75;;;25760:15;25752:7;;:23;;;;:::i;:::-;25742:7;:33;25700:75;25307:498;;25297:1006;;;25828:15;25867:3;25854:12;;25846:7;:20;;;;:::i;:::-;:24;;;;:::i;:::-;25828:42;-1:-1:-1;25885:23:0;25911:15;25828:42;25911:7;:15;:::i;:::-;-1:-1:-1;;;;;25961:15:0;;;;;;:7;:15;;;;;;25885:41;;-1:-1:-1;25961:23:0;;25977:7;;25961:23;:::i;:::-;-1:-1:-1;;;;;25943:15:0;;;;;;;:7;:15;;;;;;:41;;;;26020:18;;;;;;;:34;;26039:15;;26020:34;:::i;:::-;-1:-1:-1;;;;;25999:18:0;;;;;;:7;:18;;;;;;:55;;;;26110:4;26094:22;;;;:30;;26117:7;;26094:30;:::i;:::-;26085:4;26069:22;;;;:7;:22;;;;;;;;;:55;;;;26147:44;1645:25:1;;;-1:-1:-1;;;;;26147:44:0;;;;;;;;;;1618:18:1;26147:44:0;;;;;;;-1:-1:-1;;;;;26211:24:0;;15162:42;26211:24;26208:75;;;26268:15;26260:7;;:23;;;;:::i;:::-;26250:7;:33;26208:75;25811:492;;24860:1452;;;;;:::o;23543:474::-;23635:16;;;23649:1;23635:16;;;;;;;;23611:21;;23635:16;;;;;;;;;;-1:-1:-1;23635:16:0;23611:40;;23680:4;23662;23667:1;23662:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23662:23:0;;;:7;;;;;;;;;;:23;;;;23706:15;;:22;;;-1:-1:-1;;;23706:22:0;;;;:15;;;;;:20;;:22;;;;;23662:7;;23706:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23696:4;23701:1;23696:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23696:32:0;;;:7;;;;;;;;;:32;23771:15;;23739:62;;23756:4;;23771:15;23789:11;23739:8;:62::i;:::-;23812:15;;:197;;-1:-1:-1;;;23812:197:0;;-1:-1:-1;;;;;23812:15:0;;;;:66;;:197;;23893:11;;23812:15;;23936:4;;23963;;23983:15;;23812:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23598:419;23543:474;:::o;24027:368::-;24142:15;;24110:62;;24127:4;;-1:-1:-1;;;;;24142:15:0;24160:11;24110:8;:62::i;:::-;24183:15;;:204;;-1:-1:-1;;;24183:204:0;;24255:4;24183:204;;;10270:34:1;10320:18;;;10313:34;;;24183:15:0;10363:18:1;;;10356:34;;;10406:18;;;10399:34;15162:42:0;10449:19:1;;;10442:44;24361:15:0;10502:19:1;;;10495:35;-1:-1:-1;;;;;24183:15:0;;;;:31;;24222:9;;10204:19:1;;24183:204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;21894:122::-;21979:23;;-1:-1:-1;;;;;21979:15:0;;;:23;;;;;21995:6;;21979:23;;;;21995:6;21979:15;:23;;;;;;;;;;;;;;;;;;;;;21894:122;;:::o;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:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1681:456::-;1758:6;1766;1774;1827:2;1815:9;1806:7;1802:23;1798:32;1795:52;;;1843:1;1840;1833:12;1795:52;1882:9;1869:23;1901:31;1926:5;1901:31;:::i;:::-;1951:5;-1:-1:-1;2008:2:1;1993:18;;1980:32;2021:33;1980:32;2021:33;:::i;:::-;1681:456;;2073:7;;-1:-1:-1;;;2127:2:1;2112:18;;;;2099:32;;1681:456::o;2331:248::-;2399:6;2407;2460:2;2448:9;2439:7;2435:23;2431:32;2428:52;;;2476:1;2473;2466:12;2428:52;-1:-1:-1;;2499:23:1;;;2569:2;2554:18;;;2541:32;;-1:-1:-1;2331:248:1:o;2584:180::-;2643:6;2696:2;2684:9;2675:7;2671:23;2667:32;2664:52;;;2712:1;2709;2702:12;2664:52;-1:-1:-1;2735:23:1;;2584:180;-1:-1:-1;2584:180:1:o;2977:247::-;3036:6;3089:2;3077:9;3068:7;3064:23;3060:32;3057:52;;;3105:1;3102;3095:12;3057:52;3144:9;3131:23;3163:31;3188:5;3163:31;:::i;3453:388::-;3521:6;3529;3582:2;3570:9;3561:7;3557:23;3553:32;3550:52;;;3598:1;3595;3588:12;3550:52;3637:9;3624:23;3656:31;3681:5;3656:31;:::i;:::-;3706:5;-1:-1:-1;3763:2:1;3748:18;;3735:32;3776:33;3735:32;3776:33;:::i;:::-;3828:7;3818:17;;;3453:388;;;;;:::o;3846:356::-;4048:2;4030:21;;;4067:18;;;4060:30;4126:34;4121:2;4106:18;;4099:62;4193:2;4178:18;;3846:356::o;4207:127::-;4268:10;4263:3;4259:20;4256:1;4249:31;4299:4;4296:1;4289:15;4323:4;4320:1;4313:15;4339:168;4379:7;4445:1;4441;4437:6;4433:14;4430:1;4427:21;4422:1;4415:9;4408:17;4404:45;4401:71;;;4452:18;;:::i;:::-;-1:-1:-1;4492:9:1;;4339:168::o;4512:217::-;4552:1;4578;4568:132;;4622:10;4617:3;4613:20;4610:1;4603:31;4657:4;4654:1;4647:15;4685:4;4682:1;4675:15;4568:132;-1:-1:-1;4714:9:1;;4512:217::o;5090:184::-;5160:6;5213:2;5201:9;5192:7;5188:23;5184:32;5181:52;;;5229:1;5226;5219:12;5181:52;-1:-1:-1;5252:16:1;;5090:184;-1:-1:-1;5090:184:1:o;5566:277::-;5633:6;5686:2;5674:9;5665:7;5661:23;5657:32;5654:52;;;5702:1;5699;5692:12;5654:52;5734:9;5728:16;5787:5;5780:13;5773:21;5766:5;5763:32;5753:60;;5809:1;5806;5799:12;6194:128;6234:3;6265:1;6261:6;6258:1;6255:13;6252:39;;;6271:18;;:::i;:::-;-1:-1:-1;6307:9:1;;6194:128::o;7782:175::-;7819:3;7863:4;7856:5;7852:16;7892:4;7883:7;7880:17;7877:43;;;7900:18;;:::i;:::-;7949:1;7936:15;;7782:175;-1:-1:-1;;7782:175:1:o;7962:125::-;8002:4;8030:1;8027;8024:8;8021:34;;;8035:18;;:::i;:::-;-1:-1:-1;8072:9:1;;7962:125::o;8548:127::-;8609:10;8604:3;8600:20;8597:1;8590:31;8640:4;8637:1;8630:15;8664:4;8661:1;8654:15;8680:251;8750:6;8803:2;8791:9;8782:7;8778:23;8774:32;8771:52;;;8819:1;8816;8809:12;8771:52;8851:9;8845:16;8870:31;8895:5;8870:31;:::i;8936:980::-;9198:4;9246:3;9235:9;9231:19;9277:6;9266:9;9259:25;9303:2;9341:6;9336:2;9325:9;9321:18;9314:34;9384:3;9379:2;9368:9;9364:18;9357:31;9408:6;9443;9437:13;9474:6;9466;9459:22;9512:3;9501:9;9497:19;9490:26;;9551:2;9543:6;9539:15;9525:29;;9572:1;9582:195;9596:6;9593:1;9590:13;9582:195;;;9661:13;;-1:-1:-1;;;;;9657:39:1;9645:52;;9752:15;;;;9717:12;;;;9693:1;9611:9;9582:195;;;-1:-1:-1;;;;;;;9833:32:1;;;;9828:2;9813:18;;9806:60;-1:-1:-1;;;9897:3:1;9882:19;9875:35;9794:3;8936:980;-1:-1:-1;;;8936:980:1:o;10541:306::-;10629:6;10637;10645;10698:2;10686:9;10677:7;10673:23;10669:32;10666:52;;;10714:1;10711;10704:12;10666:52;10743:9;10737:16;10727:26;;10793:2;10782:9;10778:18;10772:25;10762:35;;10837:2;10826:9;10822:18;10816:25;10806:35;;10541:306;;;;;:::o

Swarm Source

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