ETH Price: $2,524.42 (-0.15%)

Token

VIDA Project (VIDA)
 

Overview

Max Total Supply

100,000,000 VIDA

Holders

61

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
downdreadful.eth
Balance
1,361,939.641785171 VIDA

Value
$0.00
0x1F2b6cE01434a1885CC1B3cc7ADC3b0aEb31Cf38
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:
VIDA

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-03
*/

/*

Vida is Education. Vida is Invention. Vida is DeFi. Vida is AI.

Website: https://vidaa.finance
Twitter: https://twitter.com/VidaETH
Telegram: https://t.me/VidaProject

*/

// SPDX-License-Identifier: NOLICENSE


pragma solidity ^0.8.6;

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 Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}



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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

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

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



contract VIDA is Context, IERC20, Ownable {
    using Address for address payable;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    mapping (address => bool) private _isBot;
    mapping (address => bool)  _allowedTransfer;

    address[] private _excluded;

    bool public swapEnabled;
    bool private swapping;
    bool public tradingEnabled;

    IRouter public router;
    address public pair;

    uint8 private constant _decimals = 9;
    uint256 private constant MAX = ~uint256(0);

    uint256 private _tTotal = 100_000_000 * 10**_decimals;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));

    uint256 public swapTokensAtAmount = 50000 * 10**_decimals;
    uint256 public maxWalletBalance = 40_000_000 * 10**_decimals;

    string private constant _name = "VIDA Project";
    string private constant _symbol = "VIDA";
    
    address public marketingWallet = 0xC798ad381A5b7fe6853014bD860318088c900887;

    struct Taxes {
      uint256 rfi;
      uint256 marketing;
      uint256 liquidity;
    }

    Taxes public buyTaxes = Taxes(0,6,0);
    Taxes public sellTaxes = Taxes(0,8,5); 

    struct TotFeesPaidStruct{
        uint256 rfi;
        uint256 marketing;
        uint256 liquidity;
    }
    TotFeesPaidStruct public totFeesPaid;

    struct valuesFromGetValues{
      uint256 rAmount;
      uint256 rTransferAmount;
      uint256 rRfi;
      uint256 rMarketing;
      uint256 rLiquidity;
      uint256 tTransferAmount;
      uint256 tRfi;
      uint256 tMarketing;
      uint256 tLiquidity;
    }

    event FeesChanged();
    event UpdatedRouter(address oldRouter, address newRouter);
    
    modifier antiSniper(address account){
        require(tradingEnabled || _allowedTransfer[account], "Trading not enabled yet");
        _;
    }


    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }

    constructor (address routerAddress) {
        IRouter _router = IRouter(routerAddress);
        address _pair = IFactory(_router.factory())
            .createPair(address(this), _router.WETH());

        router = _router;
        pair = _pair;

        excludeFromReward(pair);
        
        _rOwned[owner()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingWallet] = true;
        
        _allowedTransfer[owner()] = true;
        _allowedTransfer[marketingWallet] = true;
        _allowedTransfer[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) {
        if (_isExcluded[account]) return _tOwned[account];
        return tokenFromReflection(_rOwned[account]);
    }

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override antiSniper(sender) returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual antiSniper(msg.sender) returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        return true;
    }

    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferRfi) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferRfi) {
            valuesFromGetValues memory s = _getValues(tAmount, true, buyTaxes);
            return s.rAmount;
        } else {
            valuesFromGetValues memory s = _getValues(tAmount, true, buyTaxes);
            return s.rTransferAmount;
        }
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount/currentRate;
    }

    function excludeFromReward(address account) internal {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeInReward(address account) internal {
        require(_isExcluded[account], "Account is not excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
    
    function setAllowedTransfer(address account, bool value) external onlyOwner{
        _allowedTransfer[account] = value;
    }
    
    function setTradingEnabled(bool _enabled) external onlyOwner{
        tradingEnabled = _enabled;
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function _reflectRfi(uint256 rRfi, uint256 tRfi) private {
        _rTotal -=rRfi;
        totFeesPaid.rfi +=tRfi;
    }


    function _takeMarketing(uint256 rMarketing, uint256 tMarketing) private {
        totFeesPaid.marketing +=tMarketing;

        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tMarketing;
        }
        _rOwned[address(this)] +=rMarketing;
    }

    function _takeLiquidity(uint256 rLiquidity, uint256 tLiquidity) private {
        totFeesPaid.liquidity +=tLiquidity;

        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tLiquidity;
        }
        _rOwned[address(this)] +=rLiquidity;
    }

    function _getValues(uint256 tAmount, bool takeFee, Taxes memory temp) private view returns (valuesFromGetValues memory to_return) {
        to_return = _getTValues(tAmount, takeFee, temp);
        (to_return.rAmount, to_return.rTransferAmount, to_return.rRfi, to_return.rMarketing, to_return.rLiquidity) = _getRValues(to_return, tAmount, takeFee, _getRate());
        return to_return;
    }

    function _getTValues(uint256 tAmount, bool takeFee, Taxes memory temp) private pure returns (valuesFromGetValues memory s) {

        if(!takeFee) {
          s.tTransferAmount = tAmount;
          return s;
        }
        s.tRfi = tAmount*temp.rfi/100;
        s.tMarketing = tAmount*temp.marketing/100;
        s.tLiquidity = tAmount*temp.liquidity/100;
        s.tTransferAmount = tAmount-s.tRfi-s.tMarketing-s.tLiquidity;
        return s;
    }

    function _getRValues(valuesFromGetValues memory s, uint256 tAmount, bool takeFee, uint256 currentRate) private pure returns (uint256 rAmount, uint256 rTransferAmount, uint256 rRfi, uint256 rMarketing, uint256 rLiquidity) {
        rAmount = tAmount*currentRate;

        if(!takeFee) {
          return(rAmount, rAmount, 0,0,0);
        }

        rRfi = s.tRfi*currentRate;
        rMarketing = s.tMarketing*currentRate;
        rLiquidity = s.tLiquidity*currentRate;
        rTransferAmount =  rAmount-rRfi-rMarketing-rLiquidity;
        return (rAmount, rTransferAmount, rRfi,rMarketing,rLiquidity);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply/tSupply;
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply-_rOwned[_excluded[i]];
            tSupply = tSupply-_tOwned[_excluded[i]];
        }
        if (rSupply < _rTotal/_tTotal) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(amount <= balanceOf(from),"You are trying to transfer more than your balance");
        require(!_isBot[from] && !_isBot[to], "Bots are not allowed");

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to] && to != pair){
            require(balanceOf(to) + amount <= maxWalletBalance, "You are exceeding maxWalletBalance");
        }
    
        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= swapTokensAtAmount;
        if(!swapping && swapEnabled && canSwap && to == pair && !_isExcludedFromFee[from] &&  !_isExcludedFromFee[to]){
            swapAndLiquify(swapTokensAtAmount);
        }
        
        bool takeFee = false;
        if(!_isExcludedFromFee[from] &&  !_isExcludedFromFee[to] && to == pair || from == pair){
            takeFee = true;
        }

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


    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee) private {
        Taxes memory temp;
        if(takeFee){
            if(recipient == pair) temp = sellTaxes;
            else if(sender == pair) temp = buyTaxes;
        }
        valuesFromGetValues memory s = _getValues(tAmount, takeFee, temp);

        if (_isExcluded[sender] ) {  //from excluded
                _tOwned[sender] = _tOwned[sender]-tAmount;
        }
        if (_isExcluded[recipient]) { //to excluded
                _tOwned[recipient] = _tOwned[recipient]+s.tTransferAmount;
        }

        _rOwned[sender] = _rOwned[sender]-s.rAmount;
        _rOwned[recipient] = _rOwned[recipient]+s.rTransferAmount;
        if(s.rRfi > 0 || s.tRfi > 0) _reflectRfi(s.rRfi, s.tRfi);
        if(s.rMarketing > 0 || s.tMarketing > 0) _takeMarketing(s.rMarketing,s.tMarketing);
        if(s.rLiquidity > 0 || s.tLiquidity > 0) _takeLiquidity(s.rLiquidity, s.tLiquidity);
        emit Transfer(sender, recipient, s.tTransferAmount);
        emit Transfer(sender, address(this), s.tMarketing + s.tLiquidity);
    }

    function swapAndLiquify(uint256 contractBalance ) private lockTheSwap{
        // Split the contract balance into halves
            uint256 denominator = (sellTaxes.liquidity + sellTaxes.marketing) * 2;
            uint256 tokensToAddLiquidityWith = contractBalance * sellTaxes.liquidity / denominator;
            uint256 toSwap = contractBalance - tokensToAddLiquidityWith;
    
            uint256 initialBalance = address(this).balance;
    
            swapTokensForETH(toSwap);
    
            uint256 deltaBalance = address(this).balance - initialBalance;
            uint256 unitBalance= deltaBalance / (denominator - sellTaxes.liquidity);
            uint256 ethToAddLiquidityWith = unitBalance * sellTaxes.liquidity;
    
            if(ethToAddLiquidityWith > 0){
                // Add liquidity to pancake
                addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith);
            }
    
            uint256 marketingAmt = unitBalance * 2 * sellTaxes.marketing;
            if(marketingAmt > 0){
                payable(marketingWallet).sendValue(marketingAmt);
            }
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

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

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );

    }

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

        // add the liquidity
        router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }
    
    function updateMarketingWallet(address newWallet) external onlyOwner{
        marketingWallet = newWallet;
    }

    function updateSwapTokensAtAmount(uint256 amount) external onlyOwner{
        swapTokensAtAmount = amount * 10**_decimals;
    }

    function updateSwapEnabled(bool _enabled) external onlyOwner{
        swapEnabled = _enabled;
    }
    
    function setBot(address _user, bool value) external onlyOwner{
        _isBot[_user] = value;
    }

    function setBuyTaxes(uint256 rfi, uint256 liquidity, uint256 marketing) external onlyOwner{
        buyTaxes = Taxes(rfi, marketing, liquidity);
    }
    function setSellTaxes(uint256 rfi, uint256 liquidity, uint256 marketing) external onlyOwner{
        sellTaxes = Taxes(rfi, marketing, liquidity);
    }
    
    function setMaxWallet(uint256 amount) external onlyOwner{
        maxWalletBalance = amount * 10**_decimals;
    }
    
    function isBot(address _bot) external view returns(bool){
        return _isBot[_bot];
    }


    receive() external payable{
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"FeesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldRouter","type":"address"},{"indexed":false,"internalType":"address","name":"newRouter","type":"address"}],"name":"UpdatedRouter","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTaxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","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":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bot","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletBalance","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":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferRfi","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAllowedTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"name":"setSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setTradingEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totFeesPaid","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000958565b62000022906305f5e10062000969565b600b819055620000359060001962000999565b6200004390600019620009b0565b600c55620000546009600a62000958565b620000629061c35062000969565b600d55620000736009600a62000958565b62000083906302625a0062000969565b600e55600f80546001600160a01b03191673c798ad381a5b7fe6853014bd860318088c9008871790556040805160608082018352600080835260066020808501829052938501829052601082905560115560128190558351918201845280825260089282018390526005919093018190526013929092556014556015553480156200010d57600080fd5b50604051620031c6380380620031c68339810160408190526200013091620009c6565b6200013b3362000466565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000181573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a79190620009c6565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021b9190620009c6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000269573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028f9190620009c6565b600980546001600160a01b038086166301000000026301000000600160b81b031990921691909117909155600a80549183166001600160a01b031990921682179055909150620002df90620004b6565b600c5460016000620002f96000546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060016004600062000333620005e860201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600f54909116835290822080549093168117909255600790620003a36000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600f5490911681526007909252808220805484166001908117909155308352912080549092161790556200040d6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516200045591815260200190565b60405180910390a350505062000a3a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811660009081526005602052604090205460ff1615620005255760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064015b60405180910390fd5b6001600160a01b0381166000908152600160205260409020541562000582576001600160a01b0381166000908152600160205260409020546200056890620005f7565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b6000546001600160a01b031690565b6000600c54821115620006605760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016200051c565b60006200066c62000681565b90506200067a8184620009f1565b9392505050565b600080806200068f620006a7565b9092509050620006a08183620009f1565b9250505090565b600c54600b546000918291825b6008548110156200080f57826001600060088481548110620006da57620006da62000a08565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118062000749575081600260006008848154811062000722576200072262000a08565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156200076057600c54600b54945094505050509091565b60016000600883815481106200077a576200077a62000a08565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620007ab9084620009b0565b92506002600060088381548110620007c757620007c762000a08565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620007f89083620009b0565b915080620008068162000a1e565b915050620006b4565b50600b54600c54620008229190620009f1565b8210156200083a57600c54600b549350935050509091565b90939092509050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200089a5781600019048211156200087e576200087e62000843565b808516156200088c57918102915b93841c93908002906200085e565b509250929050565b600082620008b35750600162000952565b81620008c25750600062000952565b8160018114620008db5760028114620008e65762000906565b600191505062000952565b60ff841115620008fa57620008fa62000843565b50506001821b62000952565b5060208310610133831016604e8410600b84101617156200092b575081810a62000952565b62000937838362000859565b80600019048211156200094e576200094e62000843565b0290505b92915050565b60006200067a60ff841683620008a2565b808202811582820484141762000952576200095262000843565b634e487b7160e01b600052601260045260246000fd5b600082620009ab57620009ab62000983565b500690565b8181038181111562000952576200095262000843565b600060208284031215620009d957600080fd5b81516001600160a01b03811681146200067a57600080fd5b60008262000a035762000a0362000983565b500490565b634e487b7160e01b600052603260045260246000fd5b60006001820162000a335762000a3362000843565b5060010190565b61277c8062000a4a6000396000f3fe60806040526004361061023f5760003560e01c806375f0a8741161012e578063aacebbe3116100ab578063e2f456051161006f578063e2f4560514610771578063ea2f0b3714610787578063f2fde38b146107a7578063f66895a3146107c7578063f887ea40146107e657600080fd5b8063aacebbe3146106b5578063bbde77c1146106d5578063c2e5ec04146106eb578063d257b34f1461070b578063dd62ed3e1461072b57600080fd5b806395d89b41116100f257806395d89b41146106095780639ba5e4d514610636578063a457c2d714610655578063a8aa1b3114610675578063a9059cbb1461069557600080fd5b806375f0a87414610520578063864701a51461055857806388f82020146105925780638da5cb5b146105cb578063924de9b7146105e957600080fd5b80633bbac579116101bc5780635d0044ca116101805780635d0044ca1461049157806369c6a59c146104b15780636ddd1713146104d157806370a08231146104eb578063715018a61461050b57600080fd5b80633bbac579146103bf578063437823ec146103f85780634549b039146104185780634ada218b146104385780635342acb41461045857600080fd5b806323b872dd1161020357806323b872dd146103235780632d83811914610343578063313ce56714610363578063342aa8b51461037f578063395093511461039f57600080fd5b806306fdde031461024b5780630873321414610292578063095ea7b3146102b457806318160ddd146102e45780631870517a1461030357600080fd5b3661024657005b600080fd5b34801561025757600080fd5b5060408051808201909152600c81526b1592511048141c9bda9958dd60a21b60208201525b6040516102899190612294565b60405180910390f35b34801561029e57600080fd5b506102b26102ad3660046122e2565b61080d565b005b3480156102c057600080fd5b506102d46102cf366004612323565b610869565b6040519015158152602001610289565b3480156102f057600080fd5b50600b545b604051908152602001610289565b34801561030f57600080fd5b506102b261031e3660046122e2565b6108ce565b34801561032f57600080fd5b506102d461033e36600461234f565b610921565b34801561034f57600080fd5b506102f561035e366004612390565b610a21565b34801561036f57600080fd5b5060405160098152602001610289565b34801561038b57600080fd5b506102b261039a3660046123be565b610aa5565b3480156103ab57600080fd5b506102d46103ba366004612323565b610afa565b3480156103cb57600080fd5b506102d46103da3660046123f3565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561040457600080fd5b506102b26104133660046123f3565b610b80565b34801561042457600080fd5b506102f5610433366004612410565b610bce565b34801561044457600080fd5b506009546102d49062010000900460ff1681565b34801561046457600080fd5b506102d46104733660046123f3565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561049d57600080fd5b506102b26104ac366004612390565b610ca8565b3480156104bd57600080fd5b506102b26104cc3660046123be565b610cee565b3480156104dd57600080fd5b506009546102d49060ff1681565b3480156104f757600080fd5b506102f56105063660046123f3565b610d43565b34801561051757600080fd5b506102b2610da2565b34801561052c57600080fd5b50600f54610540906001600160a01b031681565b6040516001600160a01b039091168152602001610289565b34801561056457600080fd5b5060105460115460125461057792919083565b60408051938452602084019290925290820152606001610289565b34801561059e57600080fd5b506102d46105ad3660046123f3565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156105d757600080fd5b506000546001600160a01b0316610540565b3480156105f557600080fd5b506102b2610604366004612433565b610dd8565b34801561061557600080fd5b506040805180820190915260048152635649444160e01b602082015261027c565b34801561064257600080fd5b5060165460175460185461057792919083565b34801561066157600080fd5b506102d4610670366004612323565b610e15565b34801561068157600080fd5b50600a54610540906001600160a01b031681565b3480156106a157600080fd5b506102d46106b0366004612323565b610f01565b3480156106c157600080fd5b506102b26106d03660046123f3565b610f5c565b3480156106e157600080fd5b506102f5600e5481565b3480156106f757600080fd5b506102b2610706366004612433565b610fa8565b34801561071757600080fd5b506102b2610726366004612390565b610fee565b34801561073757600080fd5b506102f561074636600461244e565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561077d57600080fd5b506102f5600d5481565b34801561079357600080fd5b506102b26107a23660046123f3565b611034565b3480156107b357600080fd5b506102b26107c23660046123f3565b61107f565b3480156107d357600080fd5b5060135460145460155461057792919083565b3480156107f257600080fd5b5060095461054090630100000090046001600160a01b031681565b6000546001600160a01b031633146108405760405162461bcd60e51b815260040161083790612487565b60405180910390fd5b604080516060810182528481526020810183905201829052601392909255601491909155601555565b600954600090339062010000900460ff168061089d57506001600160a01b03811660009081526007602052604090205460ff165b6108b95760405162461bcd60e51b8152600401610837906124bc565b6108c433858561111a565b5060019392505050565b6000546001600160a01b031633146108f85760405162461bcd60e51b815260040161083790612487565b604080516060810182528481526020810183905201829052601092909255601191909155601255565b600954600090849062010000900460ff168061095557506001600160a01b03811660009081526007602052604090205460ff165b6109715760405162461bcd60e51b8152600401610837906124bc565b61097c85858561123e565b6001600160a01b038516600090815260036020908152604080832033845290915290205483811015610a015760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610837565b610a158633610a108785612509565b61111a565b50600195945050505050565b6000600c54821115610a885760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610837565b6000610a92611669565b9050610a9e818461251c565b9392505050565b6000546001600160a01b03163314610acf5760405162461bcd60e51b815260040161083790612487565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600954600090339062010000900460ff1680610b2e57506001600160a01b03811660009081526007602052604090205460ff165b610b4a5760405162461bcd60e51b8152600401610837906124bc565b3360008181526003602090815260408083206001600160a01b03891684529091529020546108c491908690610a1090879061253e565b6000546001600160a01b03163314610baa5760405162461bcd60e51b815260040161083790612487565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000600b54831115610c225760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610837565b81610c6357604080516060810182526010548152601154602082015260125491810191909152600090610c5990859060019061168c565b519150610ca29050565b604080516060810182526010548152601154602082015260125491810191909152600090610c9590859060019061168c565b602001519150610ca29050565b92915050565b6000546001600160a01b03163314610cd25760405162461bcd60e51b815260040161083790612487565b610cde6009600a612635565b610ce89082612644565b600e5550565b6000546001600160a01b03163314610d185760405162461bcd60e51b815260040161083790612487565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526005602052604081205460ff1615610d8057506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610ca290610a21565b6000546001600160a01b03163314610dcc5760405162461bcd60e51b815260040161083790612487565b610dd660006116d1565b565b6000546001600160a01b03163314610e025760405162461bcd60e51b815260040161083790612487565b6009805460ff1916911515919091179055565b600954600090339062010000900460ff1680610e4957506001600160a01b03811660009081526007602052604090205460ff165b610e655760405162461bcd60e51b8152600401610837906124bc565b3360009081526003602090815260408083206001600160a01b038816845290915290205483811015610ee75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610837565b610ef63386610a108785612509565b506001949350505050565b600954600090339062010000900460ff1680610f3557506001600160a01b03811660009081526007602052604090205460ff165b610f515760405162461bcd60e51b8152600401610837906124bc565b6108c433858561123e565b6000546001600160a01b03163314610f865760405162461bcd60e51b815260040161083790612487565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610fd25760405162461bcd60e51b815260040161083790612487565b60098054911515620100000262ff000019909216919091179055565b6000546001600160a01b031633146110185760405162461bcd60e51b815260040161083790612487565b6110246009600a612635565b61102e9082612644565b600d5550565b6000546001600160a01b0316331461105e5760405162461bcd60e51b815260040161083790612487565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146110a95760405162461bcd60e51b815260040161083790612487565b6001600160a01b03811661110e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610837565b611117816116d1565b50565b6001600160a01b03831661117c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610837565b6001600160a01b0382166111dd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610837565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112a25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610837565b6001600160a01b0382166113045760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610837565b600081116113665760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610837565b61136f83610d43565b8111156113d85760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610837565b6001600160a01b03831660009081526006602052604090205460ff1615801561141a57506001600160a01b03821660009081526006602052604090205460ff16155b61145d5760405162461bcd60e51b8152602060048201526014602482015273109bdd1cc8185c99481b9bdd08185b1b1bddd95960621b6044820152606401610837565b6001600160a01b03831660009081526004602052604090205460ff1615801561149f57506001600160a01b03821660009081526004602052604090205460ff16155b80156114b95750600a546001600160a01b03838116911614155b1561152e57600e54816114cb84610d43565b6114d5919061253e565b111561152e5760405162461bcd60e51b815260206004820152602260248201527f596f752061726520657863656564696e67206d617857616c6c657442616c616e604482015261636560f01b6064820152608401610837565b600061153930610d43565b600d5460095491925082101590610100900460ff1615801561155d575060095460ff165b80156115665750805b801561157f5750600a546001600160a01b038581169116145b80156115a457506001600160a01b03851660009081526004602052604090205460ff16155b80156115c957506001600160a01b03841660009081526004602052604090205460ff16155b156115d9576115d9600d54611721565b6001600160a01b03851660009081526004602052604081205460ff1615801561161b57506001600160a01b03851660009081526004602052604090205460ff16155b80156116345750600a546001600160a01b038681169116145b8061164c5750600a546001600160a01b038781169116145b15611655575060015b61166186868684611824565b505050505050565b6000806000611676611b4d565b9092509050611685818361251c565b9250505090565b611694612248565b61169f848484611cd0565b90506116b48185856116af611669565b611d80565b608086015260608501526040840152602083015281529392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6009805461ff0019166101001790556014546015546000916117429161253e565b61174d906002612644565b9050600081601360020154846117639190612644565b61176d919061251c565b9050600061177b8285612509565b90504761178782611e0d565b60006117938247612509565b6015549091506000906117a69087612509565b6117b0908361251c565b6015549091506000906117c39083612644565b905080156117d5576117d58682611f86565b6014546000906117e6846002612644565b6117f09190612644565b9050801561180e57600f5461180e906001600160a01b03168261206a565b50506009805461ff001916905550505050505050565b61184860405180606001604052806000815260200160008152602001600081525090565b81156118c457600a546001600160a01b039081169085160361188b57506040805160608101825260135481526014546020820152601554918101919091526118c4565b600a546001600160a01b03908116908616036118c457506040805160608101825260105481526011546020820152601254918101919091525b60006118d184848461168c565b6001600160a01b03871660009081526005602052604090205490915060ff1615611933576001600160a01b038616600090815260026020526040902054611919908590612509565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526005602052604090205460ff16156119965760a08101516001600160a01b03861660009081526002602052604090205461197c919061253e565b6001600160a01b0386166000908152600260205260409020555b80516001600160a01b0387166000908152600160205260409020546119bb9190612509565b6001600160a01b03808816600090815260016020908152604080832094909455840151918816815291909120546119f2919061253e565b6001600160a01b0386166000908152600160205260409081902091909155810151151580611a24575060008160c00151115b15611a3b57611a3b81604001518260c00151612188565b600081606001511180611a52575060008160e00151115b15611a6957611a6981606001518260e001516121bd565b600081608001511180611a8157506000816101000151115b15611a9957611a998160800151826101000151612233565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360a00151604051611ae291815260200190565b60405180910390a3306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361010001518460e00151611b34919061253e565b60405190815260200160405180910390a3505050505050565b600c54600b546000918291825b600854811015611c9f57826001600060088481548110611b7c57611b7c61265b565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611be75750816002600060088481548110611bc057611bc061265b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611bfd57600c54600b54945094505050509091565b6001600060088381548110611c1457611c1461265b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c439084612509565b92506002600060088381548110611c5c57611c5c61265b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c8b9083612509565b915080611c9781612671565b915050611b5a565b50600b54600c54611cb0919061251c565b821015611cc757600c54600b549350935050509091565b90939092509050565b611cd8612248565b82611ce95760a08101849052610a9e565b8151606490611cf89086612644565b611d02919061251c565b60c08201526020820151606490611d199086612644565b611d23919061251c565b60e08201526040820151606490611d3a9086612644565b611d44919061251c565b610100820181905260e082015160c0830151611d609087612509565b611d6a9190612509565b611d749190612509565b60a08201529392505050565b600080808080611d908689612644565b945086611da857508392506000915081905080611e02565b858960c00151611db89190612644565b9250858960e00151611dca9190612644565b915085896101000151611ddd9190612644565b90508082611deb8588612509565b611df59190612509565b611dff9190612509565b93505b945094509450945094565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611e4257611e4261265b565b60200260200101906001600160a01b031690816001600160a01b031681525050600960039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed9919061268a565b81600181518110611eec57611eec61265b565b6001600160a01b039283166020918202929092010152600954611f1991309163010000009004168461111a565b60095460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790611f589085906000908690309042906004016126a7565b600060405180830381600087803b158015611f7257600080fd5b505af1158015611661573d6000803e3d6000fd5b600954611fa5903090630100000090046001600160a01b03168461111a565b6009546001600160a01b0363010000009091041663f305d719823085600080611fd66000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561203e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120639190612718565b5050505050565b804710156120ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610837565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612107576040519150601f19603f3d011682016040523d82523d6000602084013e61210c565b606091505b50509050806121835760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610837565b505050565b81600c600082825461219a9190612509565b9091555050601680548291906000906121b490849061253e565b90915550505050565b80601660010160008282546121d2919061253e565b90915550503060009081526005602052604090205460ff161561221457306000908152600260205260408120805483929061220e90849061253e565b90915550505b30600090815260016020526040812080548492906121b490849061253e565b80601660020160008282546121d2919061253e565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208083528351808285015260005b818110156122c1578581018301518582016040015282016122a5565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806000606084860312156122f757600080fd5b505081359360208301359350604090920135919050565b6001600160a01b038116811461111757600080fd5b6000806040838503121561233657600080fd5b82356123418161230e565b946020939093013593505050565b60008060006060848603121561236457600080fd5b833561236f8161230e565b9250602084013561237f8161230e565b929592945050506040919091013590565b6000602082840312156123a257600080fd5b5035919050565b803580151581146123b957600080fd5b919050565b600080604083850312156123d157600080fd5b82356123dc8161230e565b91506123ea602084016123a9565b90509250929050565b60006020828403121561240557600080fd5b8135610a9e8161230e565b6000806040838503121561242357600080fd5b823591506123ea602084016123a9565b60006020828403121561244557600080fd5b610a9e826123a9565b6000806040838503121561246157600080fd5b823561246c8161230e565b9150602083013561247c8161230e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610ca257610ca26124f3565b60008261253957634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610ca257610ca26124f3565b600181815b8085111561258c578160001904821115612572576125726124f3565b8085161561257f57918102915b93841c9390800290612556565b509250929050565b6000826125a357506001610ca2565b816125b057506000610ca2565b81600181146125c657600281146125d0576125ec565b6001915050610ca2565b60ff8411156125e1576125e16124f3565b50506001821b610ca2565b5060208310610133831016604e8410600b841016171561260f575081810a610ca2565b6126198383612551565b806000190482111561262d5761262d6124f3565b029392505050565b6000610a9e60ff841683612594565b8082028115828204841417610ca257610ca26124f3565b634e487b7160e01b600052603260045260246000fd5b600060018201612683576126836124f3565b5060010190565b60006020828403121561269c57600080fd5b8151610a9e8161230e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126f75784516001600160a01b0316835293830193918301916001016126d2565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561272d57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220de14b3721d2c764c9157f52cb38dfda1a814916417c2b931114c9cf3d6ac3bf364736f6c634300081100330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x60806040526004361061023f5760003560e01c806375f0a8741161012e578063aacebbe3116100ab578063e2f456051161006f578063e2f4560514610771578063ea2f0b3714610787578063f2fde38b146107a7578063f66895a3146107c7578063f887ea40146107e657600080fd5b8063aacebbe3146106b5578063bbde77c1146106d5578063c2e5ec04146106eb578063d257b34f1461070b578063dd62ed3e1461072b57600080fd5b806395d89b41116100f257806395d89b41146106095780639ba5e4d514610636578063a457c2d714610655578063a8aa1b3114610675578063a9059cbb1461069557600080fd5b806375f0a87414610520578063864701a51461055857806388f82020146105925780638da5cb5b146105cb578063924de9b7146105e957600080fd5b80633bbac579116101bc5780635d0044ca116101805780635d0044ca1461049157806369c6a59c146104b15780636ddd1713146104d157806370a08231146104eb578063715018a61461050b57600080fd5b80633bbac579146103bf578063437823ec146103f85780634549b039146104185780634ada218b146104385780635342acb41461045857600080fd5b806323b872dd1161020357806323b872dd146103235780632d83811914610343578063313ce56714610363578063342aa8b51461037f578063395093511461039f57600080fd5b806306fdde031461024b5780630873321414610292578063095ea7b3146102b457806318160ddd146102e45780631870517a1461030357600080fd5b3661024657005b600080fd5b34801561025757600080fd5b5060408051808201909152600c81526b1592511048141c9bda9958dd60a21b60208201525b6040516102899190612294565b60405180910390f35b34801561029e57600080fd5b506102b26102ad3660046122e2565b61080d565b005b3480156102c057600080fd5b506102d46102cf366004612323565b610869565b6040519015158152602001610289565b3480156102f057600080fd5b50600b545b604051908152602001610289565b34801561030f57600080fd5b506102b261031e3660046122e2565b6108ce565b34801561032f57600080fd5b506102d461033e36600461234f565b610921565b34801561034f57600080fd5b506102f561035e366004612390565b610a21565b34801561036f57600080fd5b5060405160098152602001610289565b34801561038b57600080fd5b506102b261039a3660046123be565b610aa5565b3480156103ab57600080fd5b506102d46103ba366004612323565b610afa565b3480156103cb57600080fd5b506102d46103da3660046123f3565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561040457600080fd5b506102b26104133660046123f3565b610b80565b34801561042457600080fd5b506102f5610433366004612410565b610bce565b34801561044457600080fd5b506009546102d49062010000900460ff1681565b34801561046457600080fd5b506102d46104733660046123f3565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561049d57600080fd5b506102b26104ac366004612390565b610ca8565b3480156104bd57600080fd5b506102b26104cc3660046123be565b610cee565b3480156104dd57600080fd5b506009546102d49060ff1681565b3480156104f757600080fd5b506102f56105063660046123f3565b610d43565b34801561051757600080fd5b506102b2610da2565b34801561052c57600080fd5b50600f54610540906001600160a01b031681565b6040516001600160a01b039091168152602001610289565b34801561056457600080fd5b5060105460115460125461057792919083565b60408051938452602084019290925290820152606001610289565b34801561059e57600080fd5b506102d46105ad3660046123f3565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156105d757600080fd5b506000546001600160a01b0316610540565b3480156105f557600080fd5b506102b2610604366004612433565b610dd8565b34801561061557600080fd5b506040805180820190915260048152635649444160e01b602082015261027c565b34801561064257600080fd5b5060165460175460185461057792919083565b34801561066157600080fd5b506102d4610670366004612323565b610e15565b34801561068157600080fd5b50600a54610540906001600160a01b031681565b3480156106a157600080fd5b506102d46106b0366004612323565b610f01565b3480156106c157600080fd5b506102b26106d03660046123f3565b610f5c565b3480156106e157600080fd5b506102f5600e5481565b3480156106f757600080fd5b506102b2610706366004612433565b610fa8565b34801561071757600080fd5b506102b2610726366004612390565b610fee565b34801561073757600080fd5b506102f561074636600461244e565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561077d57600080fd5b506102f5600d5481565b34801561079357600080fd5b506102b26107a23660046123f3565b611034565b3480156107b357600080fd5b506102b26107c23660046123f3565b61107f565b3480156107d357600080fd5b5060135460145460155461057792919083565b3480156107f257600080fd5b5060095461054090630100000090046001600160a01b031681565b6000546001600160a01b031633146108405760405162461bcd60e51b815260040161083790612487565b60405180910390fd5b604080516060810182528481526020810183905201829052601392909255601491909155601555565b600954600090339062010000900460ff168061089d57506001600160a01b03811660009081526007602052604090205460ff165b6108b95760405162461bcd60e51b8152600401610837906124bc565b6108c433858561111a565b5060019392505050565b6000546001600160a01b031633146108f85760405162461bcd60e51b815260040161083790612487565b604080516060810182528481526020810183905201829052601092909255601191909155601255565b600954600090849062010000900460ff168061095557506001600160a01b03811660009081526007602052604090205460ff165b6109715760405162461bcd60e51b8152600401610837906124bc565b61097c85858561123e565b6001600160a01b038516600090815260036020908152604080832033845290915290205483811015610a015760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610837565b610a158633610a108785612509565b61111a565b50600195945050505050565b6000600c54821115610a885760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610837565b6000610a92611669565b9050610a9e818461251c565b9392505050565b6000546001600160a01b03163314610acf5760405162461bcd60e51b815260040161083790612487565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600954600090339062010000900460ff1680610b2e57506001600160a01b03811660009081526007602052604090205460ff165b610b4a5760405162461bcd60e51b8152600401610837906124bc565b3360008181526003602090815260408083206001600160a01b03891684529091529020546108c491908690610a1090879061253e565b6000546001600160a01b03163314610baa5760405162461bcd60e51b815260040161083790612487565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000600b54831115610c225760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610837565b81610c6357604080516060810182526010548152601154602082015260125491810191909152600090610c5990859060019061168c565b519150610ca29050565b604080516060810182526010548152601154602082015260125491810191909152600090610c9590859060019061168c565b602001519150610ca29050565b92915050565b6000546001600160a01b03163314610cd25760405162461bcd60e51b815260040161083790612487565b610cde6009600a612635565b610ce89082612644565b600e5550565b6000546001600160a01b03163314610d185760405162461bcd60e51b815260040161083790612487565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526005602052604081205460ff1615610d8057506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610ca290610a21565b6000546001600160a01b03163314610dcc5760405162461bcd60e51b815260040161083790612487565b610dd660006116d1565b565b6000546001600160a01b03163314610e025760405162461bcd60e51b815260040161083790612487565b6009805460ff1916911515919091179055565b600954600090339062010000900460ff1680610e4957506001600160a01b03811660009081526007602052604090205460ff165b610e655760405162461bcd60e51b8152600401610837906124bc565b3360009081526003602090815260408083206001600160a01b038816845290915290205483811015610ee75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610837565b610ef63386610a108785612509565b506001949350505050565b600954600090339062010000900460ff1680610f3557506001600160a01b03811660009081526007602052604090205460ff165b610f515760405162461bcd60e51b8152600401610837906124bc565b6108c433858561123e565b6000546001600160a01b03163314610f865760405162461bcd60e51b815260040161083790612487565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610fd25760405162461bcd60e51b815260040161083790612487565b60098054911515620100000262ff000019909216919091179055565b6000546001600160a01b031633146110185760405162461bcd60e51b815260040161083790612487565b6110246009600a612635565b61102e9082612644565b600d5550565b6000546001600160a01b0316331461105e5760405162461bcd60e51b815260040161083790612487565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146110a95760405162461bcd60e51b815260040161083790612487565b6001600160a01b03811661110e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610837565b611117816116d1565b50565b6001600160a01b03831661117c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610837565b6001600160a01b0382166111dd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610837565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112a25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610837565b6001600160a01b0382166113045760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610837565b600081116113665760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610837565b61136f83610d43565b8111156113d85760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610837565b6001600160a01b03831660009081526006602052604090205460ff1615801561141a57506001600160a01b03821660009081526006602052604090205460ff16155b61145d5760405162461bcd60e51b8152602060048201526014602482015273109bdd1cc8185c99481b9bdd08185b1b1bddd95960621b6044820152606401610837565b6001600160a01b03831660009081526004602052604090205460ff1615801561149f57506001600160a01b03821660009081526004602052604090205460ff16155b80156114b95750600a546001600160a01b03838116911614155b1561152e57600e54816114cb84610d43565b6114d5919061253e565b111561152e5760405162461bcd60e51b815260206004820152602260248201527f596f752061726520657863656564696e67206d617857616c6c657442616c616e604482015261636560f01b6064820152608401610837565b600061153930610d43565b600d5460095491925082101590610100900460ff1615801561155d575060095460ff165b80156115665750805b801561157f5750600a546001600160a01b038581169116145b80156115a457506001600160a01b03851660009081526004602052604090205460ff16155b80156115c957506001600160a01b03841660009081526004602052604090205460ff16155b156115d9576115d9600d54611721565b6001600160a01b03851660009081526004602052604081205460ff1615801561161b57506001600160a01b03851660009081526004602052604090205460ff16155b80156116345750600a546001600160a01b038681169116145b8061164c5750600a546001600160a01b038781169116145b15611655575060015b61166186868684611824565b505050505050565b6000806000611676611b4d565b9092509050611685818361251c565b9250505090565b611694612248565b61169f848484611cd0565b90506116b48185856116af611669565b611d80565b608086015260608501526040840152602083015281529392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6009805461ff0019166101001790556014546015546000916117429161253e565b61174d906002612644565b9050600081601360020154846117639190612644565b61176d919061251c565b9050600061177b8285612509565b90504761178782611e0d565b60006117938247612509565b6015549091506000906117a69087612509565b6117b0908361251c565b6015549091506000906117c39083612644565b905080156117d5576117d58682611f86565b6014546000906117e6846002612644565b6117f09190612644565b9050801561180e57600f5461180e906001600160a01b03168261206a565b50506009805461ff001916905550505050505050565b61184860405180606001604052806000815260200160008152602001600081525090565b81156118c457600a546001600160a01b039081169085160361188b57506040805160608101825260135481526014546020820152601554918101919091526118c4565b600a546001600160a01b03908116908616036118c457506040805160608101825260105481526011546020820152601254918101919091525b60006118d184848461168c565b6001600160a01b03871660009081526005602052604090205490915060ff1615611933576001600160a01b038616600090815260026020526040902054611919908590612509565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526005602052604090205460ff16156119965760a08101516001600160a01b03861660009081526002602052604090205461197c919061253e565b6001600160a01b0386166000908152600260205260409020555b80516001600160a01b0387166000908152600160205260409020546119bb9190612509565b6001600160a01b03808816600090815260016020908152604080832094909455840151918816815291909120546119f2919061253e565b6001600160a01b0386166000908152600160205260409081902091909155810151151580611a24575060008160c00151115b15611a3b57611a3b81604001518260c00151612188565b600081606001511180611a52575060008160e00151115b15611a6957611a6981606001518260e001516121bd565b600081608001511180611a8157506000816101000151115b15611a9957611a998160800151826101000151612233565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360a00151604051611ae291815260200190565b60405180910390a3306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361010001518460e00151611b34919061253e565b60405190815260200160405180910390a3505050505050565b600c54600b546000918291825b600854811015611c9f57826001600060088481548110611b7c57611b7c61265b565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611be75750816002600060088481548110611bc057611bc061265b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611bfd57600c54600b54945094505050509091565b6001600060088381548110611c1457611c1461265b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c439084612509565b92506002600060088381548110611c5c57611c5c61265b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c8b9083612509565b915080611c9781612671565b915050611b5a565b50600b54600c54611cb0919061251c565b821015611cc757600c54600b549350935050509091565b90939092509050565b611cd8612248565b82611ce95760a08101849052610a9e565b8151606490611cf89086612644565b611d02919061251c565b60c08201526020820151606490611d199086612644565b611d23919061251c565b60e08201526040820151606490611d3a9086612644565b611d44919061251c565b610100820181905260e082015160c0830151611d609087612509565b611d6a9190612509565b611d749190612509565b60a08201529392505050565b600080808080611d908689612644565b945086611da857508392506000915081905080611e02565b858960c00151611db89190612644565b9250858960e00151611dca9190612644565b915085896101000151611ddd9190612644565b90508082611deb8588612509565b611df59190612509565b611dff9190612509565b93505b945094509450945094565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611e4257611e4261265b565b60200260200101906001600160a01b031690816001600160a01b031681525050600960039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed9919061268a565b81600181518110611eec57611eec61265b565b6001600160a01b039283166020918202929092010152600954611f1991309163010000009004168461111a565b60095460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790611f589085906000908690309042906004016126a7565b600060405180830381600087803b158015611f7257600080fd5b505af1158015611661573d6000803e3d6000fd5b600954611fa5903090630100000090046001600160a01b03168461111a565b6009546001600160a01b0363010000009091041663f305d719823085600080611fd66000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561203e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120639190612718565b5050505050565b804710156120ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610837565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612107576040519150601f19603f3d011682016040523d82523d6000602084013e61210c565b606091505b50509050806121835760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610837565b505050565b81600c600082825461219a9190612509565b9091555050601680548291906000906121b490849061253e565b90915550505050565b80601660010160008282546121d2919061253e565b90915550503060009081526005602052604090205460ff161561221457306000908152600260205260408120805483929061220e90849061253e565b90915550505b30600090815260016020526040812080548492906121b490849061253e565b80601660020160008282546121d2919061253e565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208083528351808285015260005b818110156122c1578581018301518582016040015282016122a5565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806000606084860312156122f757600080fd5b505081359360208301359350604090920135919050565b6001600160a01b038116811461111757600080fd5b6000806040838503121561233657600080fd5b82356123418161230e565b946020939093013593505050565b60008060006060848603121561236457600080fd5b833561236f8161230e565b9250602084013561237f8161230e565b929592945050506040919091013590565b6000602082840312156123a257600080fd5b5035919050565b803580151581146123b957600080fd5b919050565b600080604083850312156123d157600080fd5b82356123dc8161230e565b91506123ea602084016123a9565b90509250929050565b60006020828403121561240557600080fd5b8135610a9e8161230e565b6000806040838503121561242357600080fd5b823591506123ea602084016123a9565b60006020828403121561244557600080fd5b610a9e826123a9565b6000806040838503121561246157600080fd5b823561246c8161230e565b9150602083013561247c8161230e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610ca257610ca26124f3565b60008261253957634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610ca257610ca26124f3565b600181815b8085111561258c578160001904821115612572576125726124f3565b8085161561257f57918102915b93841c9390800290612556565b509250929050565b6000826125a357506001610ca2565b816125b057506000610ca2565b81600181146125c657600281146125d0576125ec565b6001915050610ca2565b60ff8411156125e1576125e16124f3565b50506001821b610ca2565b5060208310610133831016604e8410600b841016171561260f575081810a610ca2565b6126198383612551565b806000190482111561262d5761262d6124f3565b029392505050565b6000610a9e60ff841683612594565b8082028115828204841417610ca257610ca26124f3565b634e487b7160e01b600052603260045260246000fd5b600060018201612683576126836124f3565b5060010190565b60006020828403121561269c57600080fd5b8151610a9e8161230e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126f75784516001600160a01b0316835293830193918301916001016126d2565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561272d57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220de14b3721d2c764c9157f52cb38dfda1a814916417c2b931114c9cf3d6ac3bf364736f6c63430008110033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

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

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


Deployed Bytecode Sourcemap

3396:16313:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6287:83;;;;;;;;;;-1:-1:-1;6357:5:0;;;;;;;;;;;;-1:-1:-1;;;6357:5:0;;;;6287:83;;;;;;;:::i;:::-;;;;;;;;19274:154;;;;;;;;;;-1:-1:-1;19274:154:0;;;;;:::i;:::-;;:::i;:::-;;7218:184;;;;;;;;;;-1:-1:-1;7218:184:0;;;;;:::i;:::-;;:::i;:::-;;;1509:14:1;;1502:22;1484:41;;1472:2;1457:18;7218:184:0;1344:187:1;6560:95:0;;;;;;;;;;-1:-1:-1;6640:7:0;;6560:95;;;1682:25:1;;;1670:2;1655:18;6560:95:0;1536:177:1;19116:152:0;;;;;;;;;;-1:-1:-1;19116:152:0;;;;;:::i;:::-;;:::i;7410:437::-;;;;;;;;;;-1:-1:-1;7410:437:0;;;;;:::i;:::-;;:::i;9117:248::-;;;;;;;;;;-1:-1:-1;9117:248:0;;;;;:::i;:::-;;:::i;6469:83::-;;;;;;;;;;-1:-1:-1;6469:83:0;;4095:1;2506:36:1;;2494:2;2479:18;6469:83:0;2364:184:1;19007:101:0;;;;;;;;;;-1:-1:-1;19007:101:0;;;;;:::i;:::-;;:::i;7855:236::-;;;;;;;;;;-1:-1:-1;7855:236:0;;;;;:::i;:::-;;:::i;19568:94::-;;;;;;;;;;-1:-1:-1;19568:94:0;;;;;:::i;:::-;-1:-1:-1;;;;;19642:12:0;19619:4;19642:12;;;:6;:12;;;;;;;;;19568:94;10175:111;;;;;;;;;;-1:-1:-1;10175:111:0;;;;;:::i;:::-;;:::i;8633:476::-;;;;;;;;;;-1:-1:-1;8633:476:0;;;;;:::i;:::-;;:::i;3969:26::-;;;;;;;;;;-1:-1:-1;3969:26:0;;;;;;;;;;;10667:123;;;;;;;;;;-1:-1:-1;10667:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10755:27:0;10731:4;10755:27;;;:18;:27;;;;;;;;;10667:123;19440:116;;;;;;;;;;-1:-1:-1;19440:116:0;;;;;:::i;:::-;;:::i;10416:127::-;;;;;;;;;;-1:-1:-1;10416:127:0;;;;;:::i;:::-;;:::i;3911:23::-;;;;;;;;;;-1:-1:-1;3911:23:0;;;;;;;;6663:198;;;;;;;;;;-1:-1:-1;6663:198:0;;;;;:::i;:::-;;:::i;2167:94::-;;;;;;;;;;;;;:::i;4511:75::-;;;;;;;;;;-1:-1:-1;4511:75:0;;;;-1:-1:-1;;;;;4511:75:0;;;;;;-1:-1:-1;;;;;3707:32:1;;;3689:51;;3677:2;3662:18;4511:75:0;3543:203:1;4696:36:0;;;;;;;;;;-1:-1:-1;4696:36:0;;;;;;;;;;;;;;;;3953:25:1;;;4009:2;3994:18;;3987:34;;;;4037:18;;;4030:34;3941:2;3926:18;4696:36:0;3751:319:1;8505:120:0;;;;;;;;;;-1:-1:-1;8505:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;8597:20:0;8573:4;8597:20;;;:11;:20;;;;;;;;;8505:120;1944:87;;;;;;;;;;-1:-1:-1;1990:7:0;2017:6;-1:-1:-1;;;;;2017:6:0;1944:87;;18894:101;;;;;;;;;;-1:-1:-1;18894:101:0;;;;;:::i;:::-;;:::i;6376:87::-;;;;;;;;;;-1:-1:-1;6448:7:0;;;;;;;;;;;;-1:-1:-1;;;6448:7:0;;;;6376:87;;4902:36;;;;;;;;;;-1:-1:-1;4902:36:0;;;;;;;;;;;;8099:398;;;;;;;;;;-1:-1:-1;8099:398:0;;;;;:::i;:::-;;:::i;4032:19::-;;;;;;;;;;-1:-1:-1;4032:19:0;;;;-1:-1:-1;;;;;4032:19:0;;;6869:190;;;;;;;;;;-1:-1:-1;6869:190:0;;;;;:::i;:::-;;:::i;18634:114::-;;;;;;;;;;-1:-1:-1;18634:114:0;;;;;:::i;:::-;;:::i;4336:60::-;;;;;;;;;;;;;;;;10555:104;;;;;;;;;;-1:-1:-1;10555:104:0;;;;;:::i;:::-;;:::i;18756:130::-;;;;;;;;;;-1:-1:-1;18756:130:0;;;;;:::i;:::-;;:::i;7067:143::-;;;;;;;;;;-1:-1:-1;7067:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7175:18:0;;;7148:7;7175:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7067:143;4272:57;;;;;;;;;;;;;;;;10294:110;;;;;;;;;;-1:-1:-1;10294:110:0;;;;;:::i;:::-;;:::i;2269:192::-;;;;;;;;;;-1:-1:-1;2269:192:0;;;;;:::i;:::-;;:::i;4739:37::-;;;;;;;;;;-1:-1:-1;4739:37:0;;;;;;;;;;;;4004:21;;;;;;;;;;-1:-1:-1;4004:21:0;;;;;;;-1:-1:-1;;;;;4004:21:0;;;19274:154;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;;;;;;;;;19388:32:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;19376:9:::1;:44:::0;;;;;;;;;;;19274:154::o;7218:184::-;5378:14;;7316:4;;7295:10;;5378:14;;;;;;:43;;-1:-1:-1;;;;;;5396:25:0;;;;;;:16;:25;;;;;;;;5378:43;5370:79;;;;-1:-1:-1;;;5370:79:0;;;;;;;:::i;:::-;7333:39:::1;1445:10:::0;7356:7:::1;7365:6;7333:8;:39::i;:::-;-1:-1:-1::0;7390:4:0::1;::::0;7218:184;-1:-1:-1;;;7218:184:0:o;19116:152::-;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;19228:32:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;19217:8:::1;:43:::0;;;;;;;;;;;19116:152::o;7410:437::-;5378:14;;7535:4;;7518:6;;5378:14;;;;;;:43;;-1:-1:-1;;;;;;5396:25:0;;;;;;:16;:25;;;;;;;;5378:43;5370:79;;;;-1:-1:-1;;;5370:79:0;;;;;;;:::i;:::-;7552:36:::1;7562:6;7570:9;7581:6;7552:9;:36::i;:::-;-1:-1:-1::0;;;;;7626:19:0;::::1;7599:24;7626:19:::0;;;:11:::1;:19;::::0;;;;;;;1445:10;7626:33;;;;;;;;7678:26;;::::1;;7670:79;;;::::0;-1:-1:-1;;;7670:79:0;;5791:2:1;7670:79:0::1;::::0;::::1;5773:21:1::0;5830:2;5810:18;;;5803:30;5869:34;5849:18;;;5842:62;-1:-1:-1;;;5920:18:1;;;5913:38;5968:19;;7670:79:0::1;5589:404:1::0;7670:79:0::1;7760:57;7769:6:::0;1445:10;7791:25:::1;7810:6:::0;7791:16;:25:::1;:::i;:::-;7760:8;:57::i;:::-;-1:-1:-1::0;7835:4:0::1;::::0;7410:437;-1:-1:-1;;;;;7410:437:0:o;9117:248::-;9183:7;9222;;9211;:18;;9203:73;;;;-1:-1:-1;;;9203:73:0;;6465:2:1;9203:73:0;;;6447:21:1;6504:2;6484:18;;;6477:30;6543:34;6523:18;;;6516:62;-1:-1:-1;;;6594:18:1;;;6587:40;6644:19;;9203:73:0;6263:406:1;9203:73:0;9287:19;9310:10;:8;:10::i;:::-;9287:33;-1:-1:-1;9338:19:0;9287:33;9338:7;:19;:::i;:::-;9331:26;9117:248;-1:-1:-1;;;9117:248:0:o;19007:101::-;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19079:13:0;;;::::1;;::::0;;;:6:::1;:13;::::0;;;;:21;;-1:-1:-1;;19079:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19007:101::o;7855:236::-;5378:14;;7966:4;;7945:10;;5378:14;;;;;;:43;;-1:-1:-1;;;;;;5396:25:0;;;;;;:16;:25;;;;;;;;5378:43;5370:79;;;;-1:-1:-1;;;5370:79:0;;;;;;;:::i;:::-;1445:10;8015:25:::1;::::0;;;:11:::1;:25;::::0;;;;;;;-1:-1:-1;;;;;8015:34:0;::::1;::::0;;;;;;;;7983:78:::1;::::0;1445:10;8006:7;;8015:45:::1;::::0;8050:10;;8015:45:::1;:::i;10175:111::-:0;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10244:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;10244:34:0::1;10274:4;10244:34;::::0;;10175:111::o;8633:476::-;8723:7;8762;;8751;:18;;8743:62;;;;-1:-1:-1;;;8743:62:0;;7228:2:1;8743:62:0;;;7210:21:1;7267:2;7247:18;;;7240:30;7306:33;7286:18;;;7279:61;7357:18;;8743:62:0;7026:355:1;8743:62:0;8821:17;8816:286;;8886:35;;;;;;;;8912:8;8886:35;;;;;;;;;;;;;;;;;;8855:28;;8886:35;;8897:7;;8906:4;;8886:10;:35::i;:::-;8943:9;;-1:-1:-1;8936:16:0;;-1:-1:-1;8936:16:0;8816:286;9016:35;;;;;;;;9042:8;9016:35;;;;;;;;;;;;;;;;;;8985:28;;9016:35;;9027:7;;9036:4;;9016:10;:35::i;:::-;9073:17;;;;-1:-1:-1;9066:24:0;;-1:-1:-1;9066:24:0;8816:286;8633:476;;;;:::o;19440:116::-;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;19535:13:::1;4095:1;19535:2;:13;:::i;:::-;19526:22;::::0;:6;:22:::1;:::i;:::-;19507:16;:41:::0;-1:-1:-1;19440:116:0:o;10416:127::-;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10502:25:0;;;::::1;;::::0;;;:16:::1;:25;::::0;;;;:33;;-1:-1:-1;;10502:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10416:127::o;6663:198::-;-1:-1:-1;;;;;6753:20:0;;6729:7;6753:20;;;:11;:20;;;;;;;;6749:49;;;-1:-1:-1;;;;;;6782:16:0;;;;;:7;:16;;;;;;;6663:198::o;6749:49::-;-1:-1:-1;;;;;6836:16:0;;;;;;:7;:16;;;;;;6816:37;;:19;:37::i;2167:94::-;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;2232:21:::1;2250:1;2232:9;:21::i;:::-;2167:94::o:0;18894:101::-;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;18965:11:::1;:22:::0;;-1:-1:-1;;18965:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18894:101::o;8099:398::-;5378:14;;8215:4;;8194:10;;5378:14;;;;;;:43;;-1:-1:-1;;;;;;5396:25:0;;;;;;:16;:25;;;;;;;;5378:43;5370:79;;;;-1:-1:-1;;;5370:79:0;;;;;;;:::i;:::-;1445:10;8232:24:::1;8259:25:::0;;;:11:::1;:25;::::0;;;;;;;-1:-1:-1;;;;;8259:34:0;::::1;::::0;;;;;;;;8312:35;;::::1;;8304:85;;;::::0;-1:-1:-1;;;8304:85:0;;9144:2:1;8304:85:0::1;::::0;::::1;9126:21:1::0;9183:2;9163:18;;;9156:30;9222:34;9202:18;;;9195:62;-1:-1:-1;;;9273:18:1;;;9266:35;9318:19;;8304:85:0::1;8942:401:1::0;8304:85:0::1;8400:67;1445:10:::0;8423:7;8432:34:::1;8451:15:::0;8432:16;:34:::1;:::i;8400:67::-;-1:-1:-1::0;8485:4:0::1;::::0;8099:398;-1:-1:-1;;;;8099:398:0:o;6869:190::-;5378:14;;6970:4;;6949:10;;5378:14;;;;;;:43;;-1:-1:-1;;;;;;5396:25:0;;;;;;:16;:25;;;;;;;;5378:43;5370:79;;;;-1:-1:-1;;;5370:79:0;;;;;;;:::i;:::-;6987:42:::1;1445:10:::0;7011:9:::1;7022:6;6987:9;:42::i;18634:114::-:0;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;18713:15:::1;:27:::0;;-1:-1:-1;;;;;;18713:27:0::1;-1:-1:-1::0;;;;;18713:27:0;;;::::1;::::0;;;::::1;::::0;;18634:114::o;10555:104::-;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;10626:14:::1;:25:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;10626:25:0;;::::1;::::0;;;::::1;::::0;;10555:104::o;18756:130::-;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;18865:13:::1;4095:1;18865:2;:13;:::i;:::-;18856:22;::::0;:6;:22:::1;:::i;:::-;18835:18;:43:::0;-1:-1:-1;18756:130:0:o;10294:110::-;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10361:27:0::1;10391:5;10361:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;10361:35:0::1;::::0;;10294:110::o;2269:192::-;1990:7;2017:6;-1:-1:-1;;;;;2017:6:0;1445:10;2079:23;2071:68;;;;-1:-1:-1;;;2071:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2358:22:0;::::1;2350:73;;;::::0;-1:-1:-1;;;2350:73:0;;9550:2:1;2350:73:0::1;::::0;::::1;9532:21:1::0;9589:2;9569:18;;;9562:30;9628:34;9608:18;;;9601:62;-1:-1:-1;;;9679:18:1;;;9672:36;9725:19;;2350:73:0::1;9348:402:1::0;2350:73:0::1;2434:19;2444:8;2434:9;:19::i;:::-;2269:192:::0;:::o;13731:335::-;-1:-1:-1;;;;;13824:19:0;;13816:68;;;;-1:-1:-1;;;13816:68:0;;9957:2:1;13816:68:0;;;9939:21:1;9996:2;9976:18;;;9969:30;10035:34;10015:18;;;10008:62;-1:-1:-1;;;10086:18:1;;;10079:34;10130:19;;13816:68:0;9755:400:1;13816:68:0;-1:-1:-1;;;;;13903:21:0;;13895:68;;;;-1:-1:-1;;;13895:68:0;;10362:2:1;13895:68:0;;;10344:21:1;10401:2;10381:18;;;10374:30;10440:34;10420:18;;;10413:62;-1:-1:-1;;;10491:18:1;;;10484:32;10533:19;;13895:68:0;10160:398:1;13895:68:0;-1:-1:-1;;;;;13974:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14026:32;;1682:25:1;;;14026:32:0;;1655:18:1;14026:32:0;;;;;;;13731:335;;;:::o;14074:1227::-;-1:-1:-1;;;;;14162:18:0;;14154:68;;;;-1:-1:-1;;;14154:68:0;;10765:2:1;14154:68:0;;;10747:21:1;10804:2;10784:18;;;10777:30;10843:34;10823:18;;;10816:62;-1:-1:-1;;;10894:18:1;;;10887:35;10939:19;;14154:68:0;10563:401:1;14154:68:0;-1:-1:-1;;;;;14241:16:0;;14233:64;;;;-1:-1:-1;;;14233:64:0;;11171:2:1;14233:64:0;;;11153:21:1;11210:2;11190:18;;;11183:30;11249:34;11229:18;;;11222:62;-1:-1:-1;;;11300:18:1;;;11293:33;11343:19;;14233:64:0;10969:399:1;14233:64:0;14325:1;14316:6;:10;14308:64;;;;-1:-1:-1;;;14308:64:0;;11575:2:1;14308:64:0;;;11557:21:1;11614:2;11594:18;;;11587:30;11653:34;11633:18;;;11626:62;-1:-1:-1;;;11704:18:1;;;11697:39;11753:19;;14308:64:0;11373:405:1;14308:64:0;14401:15;14411:4;14401:9;:15::i;:::-;14391:6;:25;;14383:86;;;;-1:-1:-1;;;14383:86:0;;11985:2:1;14383:86:0;;;11967:21:1;12024:2;12004:18;;;11997:30;12063:34;12043:18;;;12036:62;-1:-1:-1;;;12114:18:1;;;12107:47;12171:19;;14383:86:0;11783:413:1;14383:86:0;-1:-1:-1;;;;;14489:12:0;;;;;;:6;:12;;;;;;;;14488:13;:28;;;;-1:-1:-1;;;;;;14506:10:0;;;;;;:6;:10;;;;;;;;14505:11;14488:28;14480:61;;;;-1:-1:-1;;;14480:61:0;;12403:2:1;14480:61:0;;;12385:21:1;12442:2;12422:18;;;12415:30;-1:-1:-1;;;12461:18:1;;;12454:50;12521:18;;14480:61:0;12201:344:1;14480:61:0;-1:-1:-1;;;;;14558:24:0;;;;;;:18;:24;;;;;;;;14557:25;:52;;;;-1:-1:-1;;;;;;14587:22:0;;;;;;:18;:22;;;;;;;;14586:23;14557:52;:66;;;;-1:-1:-1;14619:4:0;;-1:-1:-1;;;;;14613:10:0;;;14619:4;;14613:10;;14557:66;14554:186;;;14673:16;;14663:6;14647:13;14657:2;14647:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;14639:89;;;;-1:-1:-1;;;14639:89:0;;12752:2:1;14639:89:0;;;12734:21:1;12791:2;12771:18;;;12764:30;12830:34;12810:18;;;12803:62;-1:-1:-1;;;12881:18:1;;;12874:32;12923:19;;14639:89:0;12550:398:1;14639:89:0;14756:28;14787:24;14805:4;14787:9;:24::i;:::-;14861:18;;14894:8;;14756:55;;-1:-1:-1;14837:42:0;;;;14894:8;;;;;14893:9;:24;;;;-1:-1:-1;14906:11:0;;;;14893:24;:35;;;;;14921:7;14893:35;:49;;;;-1:-1:-1;14938:4:0;;-1:-1:-1;;;;;14932:10:0;;;14938:4;;14932:10;14893:49;:78;;;;-1:-1:-1;;;;;;14947:24:0;;;;;;:18;:24;;;;;;;;14946:25;14893:78;:106;;;;-1:-1:-1;;;;;;14977:22:0;;;;;;:18;:22;;;;;;;;14976:23;14893:106;14890:171;;;15015:34;15030:18;;15015:14;:34::i;:::-;-1:-1:-1;;;;;15116:24:0;;15081:12;15116:24;;;:18;:24;;;;;;;;15115:25;:53;;;;-1:-1:-1;;;;;;15146:22:0;;;;;;:18;:22;;;;;;;;15145:23;15115:53;:67;;;;-1:-1:-1;15178:4:0;;-1:-1:-1;;;;;15172:10:0;;;15178:4;;15172:10;15115:67;:83;;;-1:-1:-1;15194:4:0;;-1:-1:-1;;;;;15186:12:0;;;15194:4;;15186:12;15115:83;15112:128;;;-1:-1:-1;15224:4:0;15112:128;15252:41;15267:4;15273:2;15277:6;15285:7;15252:14;:41::i;:::-;14143:1158;;;14074:1227;;;:::o;13017:158::-;13058:7;13079:15;13096;13115:19;:17;:19::i;:::-;13078:56;;-1:-1:-1;13078:56:0;-1:-1:-1;13152:15:0;13078:56;;13152:15;:::i;:::-;13145:22;;;;13017:158;:::o;11515:395::-;11607:36;;:::i;:::-;11668:35;11680:7;11689;11698:4;11668:11;:35::i;:::-;11656:47;;11823:52;11835:9;11846:7;11855;11864:10;:8;:10::i;:::-;11823:11;:52::i;:::-;11799:20;;;11714:161;11777:20;;;11714:161;11761:14;;;11714:161;11734:25;;;11714:161;;;11515:395;;;;;:::o;2469:173::-;2525:16;2544:6;;-1:-1:-1;;;;;2561:17:0;;;-1:-1:-1;;;;;;2561:17:0;;;;;;2594:40;;2544:6;;;;;;;2594:40;;2525:16;2594:40;2514:128;2469:173;:::o;16525:1135::-;5511:8;:15;;-1:-1:-1;;5511:15:0;;;;;16705:19;;16683;;5511:15;;16683:41:::1;::::0;::::1;:::i;:::-;16682:47;::::0;16728:1:::1;16682:47;:::i;:::-;16660:69;;16744:32;16819:11;16797:9;:19;;;16779:15;:37;;;;:::i;:::-;:51;;;;:::i;:::-;16744:86:::0;-1:-1:-1;16845:14:0::1;16862:42;16744:86:::0;16862:15;:42:::1;:::i;:::-;16845:59:::0;-1:-1:-1;16950:21:0::1;16992:24;16845:59:::0;16992:16:::1;:24::i;:::-;17037:20;17060:38;17084:14:::0;17060:21:::1;:38;:::i;:::-;17164:19:::0;;17037:61;;-1:-1:-1;17113:19:0::1;::::0;17150:33:::1;::::0;:11;:33:::1;:::i;:::-;17134:50;::::0;:12;:50:::1;:::i;:::-;17245:19:::0;;17113:71;;-1:-1:-1;17199:29:0::1;::::0;17231:33:::1;::::0;17113:71;17231:33:::1;:::i;:::-;17199:65:::0;-1:-1:-1;17288:25:0;;17285:170:::1;;17378:61;17391:24;17417:21;17378:12;:61::i;:::-;17516:19:::0;;17475:20:::1;::::0;17498:15:::1;:11:::0;17512:1:::1;17498:15;:::i;:::-;:37;;;;:::i;:::-;17475:60:::0;-1:-1:-1;17553:16:0;;17550:103:::1;;17597:15;::::0;17589:48:::1;::::0;-1:-1:-1;;;;;17597:15:0::1;17624:12:::0;17589:34:::1;:48::i;:::-;-1:-1:-1::0;;5549:8:0;:16;;-1:-1:-1;;5549:16:0;;;-1:-1:-1;;;;;;;16525:1135:0:o;15384:1133::-;15493:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;15493:17:0;15524:7;15521:130;;;15563:4;;-1:-1:-1;;;;;15563:4:0;;;15550:17;;;;15547:92;;-1:-1:-1;15569:16:0;;;;;;;;15576:9;15569:16;;;;;;;;;;;;;;;;;;15547:92;;;15618:4;;-1:-1:-1;;;;;15618:4:0;;;15608:14;;;;15605:34;;-1:-1:-1;15624:15:0;;;;;;;;15631:8;15624:15;;;;;;;;;;;;;;;;;;15605:34;15661:28;15692:34;15703:7;15712;15721:4;15692:10;:34::i;:::-;-1:-1:-1;;;;;15743:19:0;;;;;;:11;:19;;;;;;15661:65;;-1:-1:-1;15743:19:0;;15739:115;;;-1:-1:-1;;;;;15819:15:0;;;;;;:7;:15;;;;;;:23;;15835:7;;15819:23;:::i;:::-;-1:-1:-1;;;;;15801:15:0;;;;;;:7;:15;;;;;:41;15739:115;-1:-1:-1;;;;;15868:22:0;;;;;;:11;:22;;;;;;;;15864:130;;;15965:17;;;;-1:-1:-1;;;;;15946:18:0;;;;;;:7;:18;;;;;;:36;;15965:17;15946:36;:::i;:::-;-1:-1:-1;;;;;15925:18:0;;;;;;:7;:18;;;;;:57;15864:130;16040:9;;-1:-1:-1;;;;;16024:15:0;;16040:9;16024:15;;;:7;:15;;;;;;:25;;16040:9;16024:25;:::i;:::-;-1:-1:-1;;;;;16006:15:0;;;;;;;:7;:15;;;;;;;;:43;;;;16100:17;;;16081:18;;;;;;;;;;:36;;16100:17;16081:36;:::i;:::-;-1:-1:-1;;;;;16060:18:0;;;;;;:7;:18;;;;;;;:57;;;;16131:6;;;:10;;;:24;;;16154:1;16145;:6;;;:10;16131:24;16128:56;;;16157:27;16169:1;:6;;;16177:1;:6;;;16157:11;:27::i;:::-;16213:1;16198;:12;;;:16;:36;;;;16233:1;16218;:12;;;:16;16198:36;16195:82;;;16236:41;16251:1;:12;;;16264:1;:12;;;16236:14;:41::i;:::-;16306:1;16291;:12;;;:16;:36;;;;16326:1;16311;:12;;;:16;16291:36;16288:83;;;16329:42;16344:1;:12;;;16358:1;:12;;;16329:14;:42::i;:::-;16404:9;-1:-1:-1;;;;;16387:46:0;16396:6;-1:-1:-1;;;;;16387:46:0;;16415:1;:17;;;16387:46;;;;1682:25:1;;1670:2;1655:18;;1536:177;16387:46:0;;;;;;;;16474:4;-1:-1:-1;;;;;16449:60:0;16458:6;-1:-1:-1;;;;;16449:60:0;;16496:1;:12;;;16481:1;:12;;;:27;;;;:::i;:::-;16449:60;;1682:25:1;;;1670:2;1655:18;16449:60:0;;;;;;;15482:1035;;15384:1133;;;;:::o;13183:540::-;13280:7;;13316;;13233;;;;;13334:279;13358:9;:16;13354:20;;13334:279;;;13424:7;13400;:21;13408:9;13418:1;13408:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13408:12:0;13400:21;;;;;;;;;;;;;:31;;:66;;;13459:7;13435;:21;13443:9;13453:1;13443:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13443:12:0;13435:21;;;;;;;;;;;;;:31;13400:66;13396:97;;;13476:7;;13485;;13468:25;;;;;;;13183:540;;:::o;13396:97::-;13526:7;:21;13534:9;13544:1;13534:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13534:12:0;13526:21;;;;;;;;;;;;;13518:29;;:7;:29;:::i;:::-;13508:39;;13580:7;:21;13588:9;13598:1;13588:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13588:12:0;13580:21;;;;;;;;;;;;;13572:29;;:7;:29;:::i;:::-;13562:39;-1:-1:-1;13376:3:0;;;;:::i;:::-;;;;13334:279;;;;13645:7;;13637;;:15;;;;:::i;:::-;13627:7;:25;13623:56;;;13662:7;;13671;;13654:25;;;;;;13183:540;;:::o;13623:56::-;13698:7;;13707;;-1:-1:-1;13183:540:0;-1:-1:-1;13183:540:0:o;11918:463::-;12011:28;;:::i;:::-;12058:7;12054:86;;12080:17;;;:27;;;12120:8;;12054:86;12167:8;;12176:3;;12159:16;;:7;:16;:::i;:::-;:20;;;;:::i;:::-;12150:6;;;:29;12213:14;;;;12228:3;;12205:22;;:7;:22;:::i;:::-;:26;;;;:::i;:::-;12190:12;;;:41;12265:14;;;;12280:3;;12257:22;;:7;:22;:::i;:::-;:26;;;;:::i;:::-;12242:12;;;:41;;;12329:12;;;;12322:6;;;;12314:14;;:7;:14;:::i;:::-;:27;;;;:::i;:::-;:40;;;;:::i;:::-;12294:17;;;:60;11918:463;;;;;:::o;12389:620::-;12514:15;;;;;12631:19;12639:11;12631:7;:19;:::i;:::-;12621:29;;12667:7;12663:69;;-1:-1:-1;12696:7:0;;-1:-1:-1;12714:1:0;;-1:-1:-1;12714:1:0;;-1:-1:-1;12714:1:0;12689:31;;12663:69;12758:11;12751:1;:6;;;:18;;;;:::i;:::-;12744:25;;12806:11;12793:1;:12;;;:24;;;;:::i;:::-;12780:37;;12854:11;12841:1;:12;;;:24;;;;:::i;:::-;12828:37;-1:-1:-1;12828:37:0;12908:10;12895:12;12903:4;12895:7;:12;:::i;:::-;:23;;;;:::i;:::-;:34;;;;:::i;:::-;12876:53;;12389:620;;;;;;;;;;:::o;17668:451::-;17758:16;;;17772:1;17758:16;;;;;;;;17734:21;;17758:16;;;;;;;;;;-1:-1:-1;17758:16:0;17734:40;;17803:4;17785;17790:1;17785:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;17785:23:0;;;-1:-1:-1;;;;;17785:23:0;;;;;17829:6;;;;;;;;;-1:-1:-1;;;;;17829:6:0;-1:-1:-1;;;;;17829:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17819:4;17824:1;17819:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17819:23:0;;;:7;;;;;;;;;:23;17887:6;;17855:53;;17872:4;;17887:6;;;;17896:11;17855:8;:53::i;:::-;17921:6;;:188;;-1:-1:-1;;;17921:188:0;;:6;;;;-1:-1:-1;;;;;17921:6:0;;:57;;:188;;17993:11;;18019:1;;18036:4;;18063;;18083:15;;17921:188;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18127:495;18307:6;;18275:53;;18292:4;;18307:6;;;-1:-1:-1;;;;;18307:6:0;18316:11;18275:8;:53::i;:::-;18371:6;;-1:-1:-1;;;;;18371:6:0;;;;;:22;18401:9;18434:4;18454:11;18480:1;;18566:7;1990;2017:6;-1:-1:-1;;;;;2017:6:0;;1944:87;18566:7;18371:243;;;;;;-1:-1:-1;;;;;;18371:243:0;;;-1:-1:-1;;;;;14957:15:1;;;18371:243:0;;;14939:34:1;14989:18;;;14982:34;;;;15032:18;;;15025:34;;;;15075:18;;;15068:34;15139:15;;;15118:19;;;15111:44;18588:15:0;15171:19:1;;;15164:35;14873:19;;18371:243:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18127:495;;:::o;1004:317::-;1119:6;1094:21;:31;;1086:73;;;;-1:-1:-1;;;1086:73:0;;15723:2:1;1086:73:0;;;15705:21:1;15762:2;15742:18;;;15735:30;15801:31;15781:18;;;15774:59;15850:18;;1086:73:0;15521:353:1;1086:73:0;1173:12;1191:9;-1:-1:-1;;;;;1191:14:0;1213:6;1191:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1172:52;;;1243:7;1235:78;;;;-1:-1:-1;;;1235:78:0;;16291:2:1;1235:78:0;;;16273:21:1;16330:2;16310:18;;;16303:30;16369:34;16349:18;;;16342:62;16440:28;16420:18;;;16413:56;16486:19;;1235:78:0;16089:422:1;1235:78:0;1075:246;1004:317;;:::o;10798:123::-;10876:4;10866:7;;:14;;;;;;;:::i;:::-;;;;-1:-1:-1;;10891:11:0;:22;;10909:4;;10891:11;:15;;:22;;10909:4;;10891:22;:::i;:::-;;;;-1:-1:-1;;;;10798:123:0:o;10931:284::-;11038:10;11014:11;:21;;;:34;;;;;;;:::i;:::-;;;;-1:-1:-1;;11084:4:0;11064:26;;;;:11;:26;;;;;;;;11061:101;;;11132:4;11116:22;;;;:7;:22;;;;;:34;;11140:10;;11116:22;:34;;11140:10;;11116:34;:::i;:::-;;;;-1:-1:-1;;11061:101:0;11188:4;11172:22;;;;:7;:22;;;;;:35;;11197:10;;11172:22;:35;;11197:10;;11172:35;:::i;11223:284::-;11330:10;11306:11;:21;;;:34;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:316::-;644:6;652;660;713:2;701:9;692:7;688:23;684:32;681:52;;;729:1;726;719:12;681:52;-1:-1:-1;;752:23:1;;;822:2;807:18;;794:32;;-1:-1:-1;873:2:1;858:18;;;845:32;;567:316;-1:-1:-1;567:316:1:o;888:131::-;-1:-1:-1;;;;;963:31:1;;953:42;;943:70;;1009:1;1006;999:12;1024:315;1092:6;1100;1153:2;1141:9;1132:7;1128:23;1124:32;1121:52;;;1169:1;1166;1159:12;1121:52;1208:9;1195:23;1227:31;1252:5;1227:31;:::i;:::-;1277:5;1329:2;1314:18;;;;1301:32;;-1:-1:-1;;;1024:315:1:o;1718:456::-;1795:6;1803;1811;1864:2;1852:9;1843:7;1839:23;1835:32;1832:52;;;1880:1;1877;1870:12;1832:52;1919:9;1906:23;1938:31;1963:5;1938:31;:::i;:::-;1988:5;-1:-1:-1;2045:2:1;2030:18;;2017:32;2058:33;2017:32;2058:33;:::i;:::-;1718:456;;2110:7;;-1:-1:-1;;;2164:2:1;2149:18;;;;2136:32;;1718:456::o;2179:180::-;2238:6;2291:2;2279:9;2270:7;2266:23;2262:32;2259:52;;;2307:1;2304;2297:12;2259:52;-1:-1:-1;2330:23:1;;2179:180;-1:-1:-1;2179:180:1:o;2553:160::-;2618:20;;2674:13;;2667:21;2657:32;;2647:60;;2703:1;2700;2693:12;2647:60;2553:160;;;:::o;2718:315::-;2783:6;2791;2844:2;2832:9;2823:7;2819:23;2815:32;2812:52;;;2860:1;2857;2850:12;2812:52;2899:9;2886:23;2918:31;2943:5;2918:31;:::i;:::-;2968:5;-1:-1:-1;2992:35:1;3023:2;3008:18;;2992:35;:::i;:::-;2982:45;;2718:315;;;;;:::o;3038:247::-;3097:6;3150:2;3138:9;3129:7;3125:23;3121:32;3118:52;;;3166:1;3163;3156:12;3118:52;3205:9;3192:23;3224:31;3249:5;3224:31;:::i;3290:248::-;3355:6;3363;3416:2;3404:9;3395:7;3391:23;3387:32;3384:52;;;3432:1;3429;3422:12;3384:52;3468:9;3455:23;3445:33;;3497:35;3528:2;3517:9;3513:18;3497:35;:::i;4075:180::-;4131:6;4184:2;4172:9;4163:7;4159:23;4155:32;4152:52;;;4200:1;4197;4190:12;4152:52;4223:26;4239:9;4223:26;:::i;4260:388::-;4328:6;4336;4389:2;4377:9;4368:7;4364:23;4360:32;4357:52;;;4405:1;4402;4395:12;4357:52;4444:9;4431:23;4463:31;4488:5;4463:31;:::i;:::-;4513:5;-1:-1:-1;4570:2:1;4555:18;;4542:32;4583:33;4542:32;4583:33;:::i;:::-;4635:7;4625:17;;;4260:388;;;;;:::o;4876:356::-;5078:2;5060:21;;;5097:18;;;5090:30;5156:34;5151:2;5136:18;;5129:62;5223:2;5208:18;;4876:356::o;5237:347::-;5439:2;5421:21;;;5478:2;5458:18;;;5451:30;5517:25;5512:2;5497:18;;5490:53;5575:2;5560:18;;5237:347::o;5998:127::-;6059:10;6054:3;6050:20;6047:1;6040:31;6090:4;6087:1;6080:15;6114:4;6111:1;6104:15;6130:128;6197:9;;;6218:11;;;6215:37;;;6232:18;;:::i;6674:217::-;6714:1;6740;6730:132;;6784:10;6779:3;6775:20;6772:1;6765:31;6819:4;6816:1;6809:15;6847:4;6844:1;6837:15;6730:132;-1:-1:-1;6876:9:1;;6674:217::o;6896:125::-;6961:9;;;6982:10;;;6979:36;;;6995:18;;:::i;7386:422::-;7475:1;7518:5;7475:1;7532:270;7553:7;7543:8;7540:21;7532:270;;;7612:4;7608:1;7604:6;7600:17;7594:4;7591:27;7588:53;;;7621:18;;:::i;:::-;7671:7;7661:8;7657:22;7654:55;;;7691:16;;;;7654:55;7770:22;;;;7730:15;;;;7532:270;;;7536:3;7386:422;;;;;:::o;7813:806::-;7862:5;7892:8;7882:80;;-1:-1:-1;7933:1:1;7947:5;;7882:80;7981:4;7971:76;;-1:-1:-1;8018:1:1;8032:5;;7971:76;8063:4;8081:1;8076:59;;;;8149:1;8144:130;;;;8056:218;;8076:59;8106:1;8097:10;;8120:5;;;8144:130;8181:3;8171:8;8168:17;8165:43;;;8188:18;;:::i;:::-;-1:-1:-1;;8244:1:1;8230:16;;8259:5;;8056:218;;8358:2;8348:8;8345:16;8339:3;8333:4;8330:13;8326:36;8320:2;8310:8;8307:16;8302:2;8296:4;8293:12;8289:35;8286:77;8283:159;;;-1:-1:-1;8395:19:1;;;8427:5;;8283:159;8474:34;8499:8;8493:4;8474:34;:::i;:::-;8544:6;8540:1;8536:6;8532:19;8523:7;8520:32;8517:58;;;8555:18;;:::i;:::-;8593:20;;7813:806;-1:-1:-1;;;7813:806:1:o;8624:140::-;8682:5;8711:47;8752:4;8742:8;8738:19;8732:4;8711:47;:::i;8769:168::-;8842:9;;;8873;;8890:15;;;8884:22;;8870:37;8860:71;;8911:18;;:::i;12953:127::-;13014:10;13009:3;13005:20;13002:1;12995:31;13045:4;13042:1;13035:15;13069:4;13066:1;13059:15;13085:135;13124:3;13145:17;;;13142:43;;13165:18;;:::i;:::-;-1:-1:-1;13212:1:1;13201:13;;13085:135::o;13357:251::-;13427:6;13480:2;13468:9;13459:7;13455:23;13451:32;13448:52;;;13496:1;13493;13486:12;13448:52;13528:9;13522:16;13547:31;13572:5;13547:31;:::i;13613:980::-;13875:4;13923:3;13912:9;13908:19;13954:6;13943:9;13936:25;13980:2;14018:6;14013:2;14002:9;13998:18;13991:34;14061:3;14056:2;14045:9;14041:18;14034:31;14085:6;14120;14114:13;14151:6;14143;14136:22;14189:3;14178:9;14174:19;14167:26;;14228:2;14220:6;14216:15;14202:29;;14249:1;14259:195;14273:6;14270:1;14267:13;14259:195;;;14338:13;;-1:-1:-1;;;;;14334:39:1;14322:52;;14429:15;;;;14394:12;;;;14370:1;14288:9;14259:195;;;-1:-1:-1;;;;;;;14510:32:1;;;;14505:2;14490:18;;14483:60;-1:-1:-1;;;14574:3:1;14559:19;14552:35;14471:3;13613:980;-1:-1:-1;;;13613:980:1:o;15210:306::-;15298:6;15306;15314;15367:2;15355:9;15346:7;15342:23;15338:32;15335:52;;;15383:1;15380;15373:12;15335:52;15412:9;15406:16;15396:26;;15462:2;15451:9;15447:18;15441:25;15431:35;;15506:2;15495:9;15491:18;15485:25;15475:35;;15210:306;;;;;:::o

Swarm Source

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