ETH Price: $3,453.37 (-0.97%)
Gas: 3 Gwei

Token

PIG 2.0 (PIG2.0)
 

Overview

Max Total Supply

77,000,000,000,000 PIG2.0

Holders

101

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
713,877,258,961.050800381085430351 PIG2.0

Value
$0.00
0x8fc439a8d790fb21f0ea9f26313861f795a23152
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:
PIG20

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-30
*/

// SPDX-License-Identifier: Unlicensed
                                                                               
pragma solidity 0.8.19;

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

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

// IERC20 interface 
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);
}


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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

// SafeMath library
library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }


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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

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

contract PIG20 is Context, IERC20, Ownable {

    using SafeMath for uint256;
   
    IUniswapV2Router02 public _uniswapV2Router; 
    address public _uniswapV2Pair; 
    
    string private _name     = "PIG 2.0";
    string private _symbol   = "PIG2.0";
    uint8  private _decimals = 18;
    
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) private _isExcludedFromFees;
    mapping (address => bool) private _isExcluded;
    address[] private _excluded;

    uint256 public reflectionFee = 150; // 1.5% 
    uint256 public marketingFee = 150; // 1.5%
    uint256 private _totalTax = reflectionFee.add(marketingFee);
    uint256 private _previousTaxFee;

    address payable public marketingWallet = payable(0x3cfdF5eD07D5958c6e8fB81192fD2cAbd991B937);

    uint256 public _maxTxAmount        = 770000000000 * 10**18; // 1% of total supply
    uint256 public maxWalletToken = 1540000000000 * (10**18); // 2% of total supply
    uint256 public _tokenSwapThreshold = 7700000000 * (10**18); // 0.01% of total supply

    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 77_000_000_000_000 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _totalReflections; // Total reflections

    bool swapping;
    bool public _enableSwap = true; 

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

    event MaxWalletAmountUpdated(uint256 prevValue, uint256 newValue);

    constructor (address _owner) {
        _rOwned[_owner] = _rTotal;
        
        // Exclude the owner, marketing wallet and the contract from paying fees
        _isExcludedFromFees[_owner] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[marketingWallet] = true;
        
        // Set up the uniswap V2 router
        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory())
            .createPair(address(this), uniswapV2Router.WETH());
        _uniswapV2Router = uniswapV2Router;
        
        emit Transfer(address(0), _owner, _tTotal);
    }

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

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

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

    function totalSupply() external 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) external override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

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

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

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

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

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

    function getTotalReflections() external view returns (uint256) {
        return _totalReflections;
    }
    
    function isExcludedFromFee(address account) external view returns(bool) {
        return _isExcludedFromFees[account];
    }
    
    function isExcludedFromReflection(address account) external view returns(bool) {
        return _isExcluded[account];
    }
    
    function excludeFromFee(address account) external onlyOwner() {
        _isExcludedFromFees[account] = true;
    }
    
    function includeInFee(address account) external onlyOwner() {
        _isExcludedFromFees[account] = false;
    }
    
    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,) = _getValues(tAmount);
            return rTransferAmount;
        }
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }
    
    function removeAllFees() private {
        if(_totalTax == 0) return;
        
        _previousTaxFee = _totalTax;
        _totalTax = 0;
    }
    
    function restoreAllFees() private {
        _totalTax = _previousTaxFee;
    }
    
    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount);
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, _getRate());
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee);
    }

    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = tAmount.mul(_totalTax).div(10000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee);
        return (rAmount, rTransferAmount, rFee);
    }


    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(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.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
    
    function excludeFromReward(address account) external onlyOwner() {
        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) external onlyOwner() {
        require(_isExcluded[account], "Account is already included");
        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 _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");
        
        // Only the owner of this contract can bypass the max transfer amount
        if(from != owner() && to != owner()) {
            require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
        }

        if (from==_uniswapV2Pair && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            uint256 contractBalanceRecepient = balanceOf(to);
            require(contractBalanceRecepient + amount <= maxWalletToken, "Exceeds maximum wallet token amount.");
        }

        uint256 tokenBalance = balanceOf(address(this));
        
        // swap the marketing collected tax for eth
        if (_enableSwap && tokenBalance >= _tokenSwapThreshold && !swapping && to == _uniswapV2Pair) {
            tokenBalance = _tokenSwapThreshold;
            swapTokensForEth(tokenBalance, marketingWallet);
        }

         // If any account belongs to _isExcludedFromFee account then remove the fee
        bool takeFee = true;
        if(_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        // For wallet-to-wallet transfers, takeFee is false
        if(from != _uniswapV2Pair && to != _uniswapV2Pair) {
            takeFee = false;
        }

        // Remove fees completely from the transfer if either wallet are excluded or if it's wallet-to-wallet transfer
        if (!takeFee) {
            removeAllFees();
        }
    
        // Transfer the token amount from sender to receipient.
        _tokenTransfer(from, to, amount);
    
        // If we removed the fees for this transaction, then restore them for future transactions
        if (!takeFee) {
            restoreAllFees();
        }
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 tAmount) private {
        // Calculate the values required to execute a transfer
        (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount);
        (uint256 rAmount, uint256 rTransferAmount,) = _getRValues(tAmount, tFee, _getRate());
        
        // Transfer from sender to recipient
		if (_isExcluded[sender]) {
		    _tOwned[sender] = _tOwned[sender].sub(tAmount);
		}
		_rOwned[sender] = _rOwned[sender].sub(rAmount);
		
		if (_isExcluded[recipient]) {
            _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
		}
		_rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
		
		if (tFee > 0) {
	    	uint256 marketingTokens = tFee.mul(marketingFee).div(_totalTax);
            uint256 reflectionTokens = tFee.mul(reflectionFee).div(_totalTax);

            // Reflect some of the taxed tokens 
    		_reflectTokens(reflectionTokens);
            
            // Take the rest of the taxed tokens for marketing wallet
            if(marketingTokens > 0) {
                _takeTokens(marketingTokens);
                emit Transfer(sender, marketingWallet, marketingTokens);
            }
		}
            
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _reflectTokens(uint256 tFee) private {
        uint256 rFee = tFee.mul(_getRate());
        _rTotal = _rTotal.sub(rFee);
        _totalReflections = _totalReflections.add(tFee);
    }
    
    function _takeTokens(uint256 tTakeAmount) private {
        uint256 currentRate = _getRate();
        uint256 rTakeAmount = tTakeAmount.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTakeAmount);
        if(_isExcluded[marketingWallet]) {
            _tOwned[address(this)] = _tOwned[address(this)].add(tTakeAmount);
        }
    }
   
    function reflect(uint256 tAmount) public {
        require(!_isExcluded[_msgSender()], "Excluded addresses cannot call this function");
        (uint256 rAmount,,,,) = _getValues(tAmount);
        _rOwned[_msgSender()] = _rOwned[_msgSender()].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
        _totalReflections = _totalReflections.add(tAmount);
    }

    function swapTokensForEth(uint256 tokenAmount, address _marketingWallet) private lockSwapping {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        if (_allowances[address(this)][address(_uniswapV2Router)] < tokenAmount) {
          _approve(address(this), address(_uniswapV2Router), ~uint256(0));
        }

        // make the swap
        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            _marketingWallet,
            block.timestamp
        );
        
    }

    function setTaxFeePercent(uint256 reflection, uint256 marketing) external onlyOwner() {
        reflectionFee = reflection;
        marketingFee = marketing;
        _totalTax = reflectionFee.add(marketingFee);
        require(_totalTax <= 300, "total tax must be 3% or below");
    }

    function setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() {
        _maxTxAmount = maxTxAmount;
        require(_maxTxAmount >= _tTotal.div(200), "cat't set below 0.5% of total supply");
    }

    function setMarketingWallet(address payable _markWallet) external onlyOwner() {
        marketingWallet = _markWallet;
    }

    function setMaxWalletToken(uint256 _newValue) external onlyOwner {
        uint256 prevValue = maxWalletToken;
  	    maxWalletToken = _newValue;
        require(maxWalletToken >= _tTotal.div(200), "cat't set below 0.5% of total supply");
        emit MaxWalletAmountUpdated(prevValue, _newValue);
  	}

      function setTokenSwapThreshold(uint256 tokenSwapThreshold) external onlyOwner() {
        _tokenSwapThreshold = tokenSwapThreshold;
    }

    function enableSwap(bool _enable) external onlyOwner() {
        _enableSwap = _enable;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"prevValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"MaxWalletAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_enableSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokenSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"enableSwap","outputs":[],"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":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTotalReflections","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","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":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReflection","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reflectionFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_markWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newValue","type":"uint256"}],"name":"setMaxWalletToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"reflection","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenSwapThreshold","type":"uint256"}],"name":"setTokenSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c06040526007608090815266050494720322e360cc1b60a052600390620000289082620004e0565b506040805180820190915260068152650504947322e360d41b6020820152600490620000559082620004e0565b506005805460ff191660121790556096600c819055600d8190556200007b90806200037c565b600e55601080546001600160a01b031916733cfdf5ed07d5958c6e8fb81192fd2cabd991b9371790556c09b8011258b121b731d00000006011556c13700224b162436e63a00000006012556b18e14a6c682bdb6e940000006013556d03cbe06b2aa5312b8f75400000006014819055620000f890600019620005ac565b6200010690600019620005e5565b6015556017805461ff0019166101001790553480156200012557600080fd5b50604051620028d6380380620028d68339810160408190526200014891620005fb565b6200015333620003eb565b6015546001600160a01b03828116600090815260066020908152604080832094909455600981528382208054600160ff19918216811790925530845285842080548216831790556010549094168352918490208054909316909117909155815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a0155926004808401938290030181865afa158015620001fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002239190620005fb565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000271573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002979190620005fb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030b9190620005fb565b600280546001600160a01b03199081166001600160a01b039384161790915560018054909116838316179055601454604051908152908316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350506200063c565b6000806200038b838562000626565b905083811015620003e25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200046657607f821691505b6020821081036200048757634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004db57600081815260208120601f850160051c81016020861015620004b65750805b601f850160051c820191505b81811015620004d757828155600101620004c2565b5050505b505050565b81516001600160401b03811115620004fc57620004fc6200043b565b62000514816200050d845462000451565b846200048d565b602080601f8311600181146200054c5760008415620005335750858301515b600019600386901b1c1916600185901b178555620004d7565b600085815260208120601f198616915b828110156200057d578886015182559484019460019091019084016200055c565b50858210156200059c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082620005ca57634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b81810381811115620003e557620003e5620005cf565b6000602082840312156200060e57600080fd5b81516001600160a01b0381168114620003e257600080fd5b80820180821115620003e557620003e5620005cf565b61228a806200064c6000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c8063715018a61161013b578063a9059cbb116100b8578063e6c75f711161007c578063e6c75f7114610514578063ea2f0b371461051d578063ec28438a14610530578063f16f07ae14610543578063f2fde38b1461054c57600080fd5b8063a9059cbb1461049b578063ae267735146104ae578063d2a09c71146104b6578063d4057d7e146104c9578063dd62ed3e146104db57600080fd5b80638da5cb5b116100ff5780638da5cb5b1461044957806391d55f411461045a57806395d89b411461046d5780639c74daf014610475578063a457c2d71461048857600080fd5b8063715018a6146103f057806375f0a874146103f85780637d1db4a51461040b5780637d459db31461041457806383ad79941461044057600080fd5b806339509351116101c9578063583e05681161018d578063583e05681461038357806359ecf39e146103ae5780635d098b38146103c15780636b67c4df146103d457806370a08231146103dd57600080fd5b8063395093511461030b578063437823ec1461031e5780634549b0391461033157806352390c02146103445780635342acb41461035757600080fd5b806323b872dd1161021057806323b872dd146102aa5780632d838119146102bd57806330b263ba146102d0578063313ce567146102e35780633685d419146102f857600080fd5b8063053ab1821461024257806306fdde0314610257578063095ea7b31461027557806318160ddd14610298575b600080fd5b610255610250366004611e4f565b61055f565b005b61025f61064d565b60405161026c9190611e68565b60405180910390f35b610288610283366004611ecb565b6106df565b604051901515815260200161026c565b6014545b60405190815260200161026c565b6102886102b8366004611ef7565b6106f6565b61029c6102cb366004611e4f565b61075f565b6102556102de366004611f38565b6107e3565b60055460405160ff909116815260200161026c565b610255610306366004611f5a565b61087b565b610288610319366004611ecb565b610a2d565b61025561032c366004611f5a565b610a63565b61029c61033f366004611f8c565b610ab1565b610255610352366004611f5a565b610b3c565b610288610365366004611f5a565b6001600160a01b031660009081526009602052604090205460ff1690565b600154610396906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b6102556103bc366004611e4f565b610c8f565b6102556103cf366004611f5a565b610cbe565b61029c600d5481565b61029c6103eb366004611f5a565b610d0a565b610255610d69565b601054610396906001600160a01b031681565b61029c60115481565b610288610422366004611f5a565b6001600160a01b03166000908152600a602052604090205460ff1690565b61029c600c5481565b6000546001600160a01b0316610396565b610255610468366004611e4f565b610d9f565b61025f610e3d565b600254610396906001600160a01b031681565b610288610496366004611ecb565b610e4c565b6102886104a9366004611ecb565b610e9b565b60165461029c565b6102556104c4366004611fb8565b610ea8565b60175461028890610100900460ff1681565b61029c6104e9366004611fd3565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b61029c60125481565b61025561052b366004611f5a565b610eec565b61025561053e366004611e4f565b610f37565b61029c60135481565b61025561055a366004611f5a565b610f98565b336000908152600a602052604090205460ff16156105d95760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084015b60405180910390fd5b60006105e482611030565b50505050905061061981600660006105f93390565b6001600160a01b0316815260208101919091526040016000205490611076565b336000908152600660205260409020556015546106369082611076565b60155560165461064690836110b8565b6016555050565b60606003805461065c9061200c565b80601f01602080910402602001604051908101604052809291908181526020018280546106889061200c565b80156106d55780601f106106aa576101008083540402835291602001916106d5565b820191906000526020600020905b8154815290600101906020018083116106b857829003601f168201915b5050505050905090565b60006106ec338484611117565b5060015b92915050565b600061070384848461123b565b610755843361075085604051806060016040528060288152602001612208602891396001600160a01b038a16600090815260086020908152604080832033845290915290205491906115ec565b611117565b5060019392505050565b60006015548211156107c65760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105d0565b60006107d0611626565b90506107dc8382611649565b9392505050565b6000546001600160a01b0316331461080d5760405162461bcd60e51b81526004016105d090612046565b600c829055600d81905561082182826110b8565b600e81905561012c10156108775760405162461bcd60e51b815260206004820152601d60248201527f746f74616c20746178206d757374206265203325206f722062656c6f7700000060448201526064016105d0565b5050565b6000546001600160a01b031633146108a55760405162461bcd60e51b81526004016105d090612046565b6001600160a01b0381166000908152600a602052604090205460ff1661090d5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c75646564000000000060448201526064016105d0565b60005b600b5481101561087757816001600160a01b0316600b82815481106109375761093761207b565b6000918252602090912001546001600160a01b031603610a1b57600b8054610961906001906120a7565b815481106109715761097161207b565b600091825260209091200154600b80546001600160a01b03909216918390811061099d5761099d61207b565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600782526040808220829055600a90925220805460ff19169055600b8054806109f5576109f56120ba565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610a25816120d0565b915050610910565b3360008181526008602090815260408083206001600160a01b038716845290915281205490916106ec91859061075090866110b8565b6000546001600160a01b03163314610a8d5760405162461bcd60e51b81526004016105d090612046565b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000601454831115610b055760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016105d0565b81610b23576000610b1584611030565b509294506106f09350505050565b6000610b2e84611030565b509194506106f09350505050565b6000546001600160a01b03163314610b665760405162461bcd60e51b81526004016105d090612046565b6001600160a01b0381166000908152600a602052604090205460ff1615610bcf5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016105d0565b6001600160a01b03811660009081526006602052604090205415610c29576001600160a01b038116600090815260066020526040902054610c0f9061075f565b6001600160a01b0382166000908152600760205260409020555b6001600160a01b03166000818152600a60205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b6000546001600160a01b03163314610cb95760405162461bcd60e51b81526004016105d090612046565b601355565b6000546001600160a01b03163314610ce85760405162461bcd60e51b81526004016105d090612046565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600a602052604081205460ff1615610d4757506001600160a01b031660009081526007602052604090205490565b6001600160a01b0382166000908152600660205260409020546106f09061075f565b6000546001600160a01b03163314610d935760405162461bcd60e51b81526004016105d090612046565b610d9d600061168b565b565b6000546001600160a01b03163314610dc95760405162461bcd60e51b81526004016105d090612046565b6012805490829055601454610ddf9060c8611649565b6012541015610e005760405162461bcd60e51b81526004016105d0906120e9565b60408051828152602081018490527f0a7c714b6801281a6e2610a6371ac6a5da9a5947616d74f4aa3ad1d289278e73910160405180910390a15050565b60606004805461065c9061200c565b60006106ec338461075085604051806060016040528060258152602001612230602591393360009081526008602090815260408083206001600160a01b038d16845290915290205491906115ec565b60006106ec33848461123b565b6000546001600160a01b03163314610ed25760405162461bcd60e51b81526004016105d090612046565b601780549115156101000261ff0019909216919091179055565b6000546001600160a01b03163314610f165760405162461bcd60e51b81526004016105d090612046565b6001600160a01b03166000908152600960205260409020805460ff19169055565b6000546001600160a01b03163314610f615760405162461bcd60e51b81526004016105d090612046565b6011819055601454610f749060c8611649565b6011541015610f955760405162461bcd60e51b81526004016105d0906120e9565b50565b6000546001600160a01b03163314610fc25760405162461bcd60e51b81526004016105d090612046565b6001600160a01b0381166110275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d0565b610f958161168b565b6000806000806000806000611044886116db565b91509150600080600061105f8b8561105a611626565b61171a565b919d909c50909a5094985092965092945050505050565b60006107dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115ec565b6000806110c5838561212d565b9050838110156107dc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105d0565b6001600160a01b0383166111795760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105d0565b6001600160a01b0382166111da5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105d0565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661129f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d0565b6001600160a01b0382166113015760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d0565b600081116113635760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105d0565b6000546001600160a01b0384811691161480159061138f57506000546001600160a01b03838116911614155b156113f7576011548111156113f75760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016105d0565b6002546001600160a01b03848116911614801561142d57506001600160a01b03831660009081526009602052604090205460ff16155b801561145257506001600160a01b03821660009081526009602052604090205460ff16155b156114ce57600061146283610d0a565b601254909150611472838361212d565b11156114cc5760405162461bcd60e51b8152602060048201526024808201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152633ab73a1760e11b60648201526084016105d0565b505b60006114d930610d0a565b601754909150610100900460ff1680156114f557506013548110155b8015611504575060175460ff16155b801561151d57506002546001600160a01b038481169116145b1561153d575060135460105461153d9082906001600160a01b0316611756565b6001600160a01b03841660009081526009602052604090205460019060ff168061157f57506001600160a01b03841660009081526009602052604090205460ff165b15611588575060005b6002546001600160a01b038681169116148015906115b457506002546001600160a01b03858116911614155b156115bd575060005b806115ca576115ca6118fa565b6115d5858585611913565b806115e5576115e5600f54600e55565b5050505050565b600081848411156116105760405162461bcd60e51b81526004016105d09190611e68565b50600061161d84866120a7565b95945050505050565b6000806000611633611b62565b90925090506116428282611649565b9250505090565b60006107dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ce4565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008060006117016127106116fb600e5487611d1290919063ffffffff16565b90611649565b9050600061170f8583611076565b959194509092505050565b60008080806117298786611d12565b905060006117378787611d12565b905060006117458383611076565b929992985090965090945050505050565b6017805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106117985761179861207b565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156117f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118159190612140565b816001815181106118285761182861207b565b6001600160a01b039283166020918202929092018101919091523060009081526008825260408082206001549094168252929091522054831115611880576001546118809030906001600160a01b0316600019611117565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906118b990869060009086908890429060040161215d565b600060405180830381600087803b1580156118d357600080fd5b505af11580156118e7573d6000803e3d6000fd5b50506017805460ff191690555050505050565b600e5460000361190657565b600e8054600f5560009055565b60008061191f836116db565b91509150600080611933858461105a611626565b506001600160a01b0389166000908152600a6020526040902054919350915060ff1615611997576001600160a01b03871660009081526007602052604090205461197d9086611076565b6001600160a01b0388166000908152600760205260409020555b6001600160a01b0387166000908152600660205260409020546119ba9083611076565b6001600160a01b038089166000908152600660209081526040808320949094559189168152600a909152205460ff1615611a2b576001600160a01b038616600090815260076020526040902054611a1190856110b8565b6001600160a01b0387166000908152600760205260409020555b6001600160a01b038616600090815260066020526040902054611a4e90826110b8565b6001600160a01b0387166000908152600660205260409020558215611b0c576000611a8a600e546116fb600d5487611d1290919063ffffffff16565b90506000611aa9600e546116fb600c5488611d1290919063ffffffff16565b9050611ab481611d94565b8115611b0957611ac382611db8565b6010546040518381526001600160a01b03918216918b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b50505b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611b5191815260200190565b60405180910390a350505050505050565b6015546014546000918291825b600b54811015611cb4578260066000600b8481548110611b9157611b9161207b565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611bfc57508160076000600b8481548110611bd557611bd561207b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611c1257601554601454945094505050509091565b611c5860066000600b8481548110611c2c57611c2c61207b565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611076565b9250611ca060076000600b8481548110611c7457611c7461207b565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611076565b915080611cac816120d0565b915050611b6f565b50601454601554611cc491611649565b821015611cdb576015546014549350935050509091565b90939092509050565b60008183611d055760405162461bcd60e51b81526004016105d09190611e68565b50600061161d84866121ce565b600082600003611d24575060006106f0565b6000611d3083856121f0565b905082611d3d85836121ce565b146107dc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105d0565b6000611da8611da1611626565b8390611d12565b6015549091506106369082611076565b6000611dc2611626565b90506000611dd08383611d12565b30600090815260066020526040902054909150611ded90826110b8565b306000908152600660209081526040808320939093556010546001600160a01b03168252600a9052205460ff1615611e4a5730600090815260076020526040902054611e3990846110b8565b306000908152600760205260409020555b505050565b600060208284031215611e6157600080fd5b5035919050565b600060208083528351808285015260005b81811015611e9557858101830151858201604001528201611e79565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f9557600080fd5b60008060408385031215611ede57600080fd5b8235611ee981611eb6565b946020939093013593505050565b600080600060608486031215611f0c57600080fd5b8335611f1781611eb6565b92506020840135611f2781611eb6565b929592945050506040919091013590565b60008060408385031215611f4b57600080fd5b50508035926020909101359150565b600060208284031215611f6c57600080fd5b81356107dc81611eb6565b80358015158114611f8757600080fd5b919050565b60008060408385031215611f9f57600080fd5b82359150611faf60208401611f77565b90509250929050565b600060208284031215611fca57600080fd5b6107dc82611f77565b60008060408385031215611fe657600080fd5b8235611ff181611eb6565b9150602083013561200181611eb6565b809150509250929050565b600181811c9082168061202057607f821691505b60208210810361204057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156106f0576106f0612091565b634e487b7160e01b600052603160045260246000fd5b6000600182016120e2576120e2612091565b5060010190565b60208082526024908201527f6361742774207365742062656c6f7720302e3525206f6620746f74616c20737560408201526370706c7960e01b606082015260800190565b808201808211156106f0576106f0612091565b60006020828403121561215257600080fd5b81516107dc81611eb6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121ad5784516001600160a01b031683529383019391830191600101612188565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826121eb57634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176106f0576106f061209156fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122075d9bfccbe8725ec0d5a4b42c2e4861a84360a82bb450f864952f75bc6d8560e64736f6c63430008130033000000000000000000000000dd892d4fde906b5350cb8f7cdc7ea9f64254ff1b

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061023d5760003560e01c8063715018a61161013b578063a9059cbb116100b8578063e6c75f711161007c578063e6c75f7114610514578063ea2f0b371461051d578063ec28438a14610530578063f16f07ae14610543578063f2fde38b1461054c57600080fd5b8063a9059cbb1461049b578063ae267735146104ae578063d2a09c71146104b6578063d4057d7e146104c9578063dd62ed3e146104db57600080fd5b80638da5cb5b116100ff5780638da5cb5b1461044957806391d55f411461045a57806395d89b411461046d5780639c74daf014610475578063a457c2d71461048857600080fd5b8063715018a6146103f057806375f0a874146103f85780637d1db4a51461040b5780637d459db31461041457806383ad79941461044057600080fd5b806339509351116101c9578063583e05681161018d578063583e05681461038357806359ecf39e146103ae5780635d098b38146103c15780636b67c4df146103d457806370a08231146103dd57600080fd5b8063395093511461030b578063437823ec1461031e5780634549b0391461033157806352390c02146103445780635342acb41461035757600080fd5b806323b872dd1161021057806323b872dd146102aa5780632d838119146102bd57806330b263ba146102d0578063313ce567146102e35780633685d419146102f857600080fd5b8063053ab1821461024257806306fdde0314610257578063095ea7b31461027557806318160ddd14610298575b600080fd5b610255610250366004611e4f565b61055f565b005b61025f61064d565b60405161026c9190611e68565b60405180910390f35b610288610283366004611ecb565b6106df565b604051901515815260200161026c565b6014545b60405190815260200161026c565b6102886102b8366004611ef7565b6106f6565b61029c6102cb366004611e4f565b61075f565b6102556102de366004611f38565b6107e3565b60055460405160ff909116815260200161026c565b610255610306366004611f5a565b61087b565b610288610319366004611ecb565b610a2d565b61025561032c366004611f5a565b610a63565b61029c61033f366004611f8c565b610ab1565b610255610352366004611f5a565b610b3c565b610288610365366004611f5a565b6001600160a01b031660009081526009602052604090205460ff1690565b600154610396906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b6102556103bc366004611e4f565b610c8f565b6102556103cf366004611f5a565b610cbe565b61029c600d5481565b61029c6103eb366004611f5a565b610d0a565b610255610d69565b601054610396906001600160a01b031681565b61029c60115481565b610288610422366004611f5a565b6001600160a01b03166000908152600a602052604090205460ff1690565b61029c600c5481565b6000546001600160a01b0316610396565b610255610468366004611e4f565b610d9f565b61025f610e3d565b600254610396906001600160a01b031681565b610288610496366004611ecb565b610e4c565b6102886104a9366004611ecb565b610e9b565b60165461029c565b6102556104c4366004611fb8565b610ea8565b60175461028890610100900460ff1681565b61029c6104e9366004611fd3565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b61029c60125481565b61025561052b366004611f5a565b610eec565b61025561053e366004611e4f565b610f37565b61029c60135481565b61025561055a366004611f5a565b610f98565b336000908152600a602052604090205460ff16156105d95760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084015b60405180910390fd5b60006105e482611030565b50505050905061061981600660006105f93390565b6001600160a01b0316815260208101919091526040016000205490611076565b336000908152600660205260409020556015546106369082611076565b60155560165461064690836110b8565b6016555050565b60606003805461065c9061200c565b80601f01602080910402602001604051908101604052809291908181526020018280546106889061200c565b80156106d55780601f106106aa576101008083540402835291602001916106d5565b820191906000526020600020905b8154815290600101906020018083116106b857829003601f168201915b5050505050905090565b60006106ec338484611117565b5060015b92915050565b600061070384848461123b565b610755843361075085604051806060016040528060288152602001612208602891396001600160a01b038a16600090815260086020908152604080832033845290915290205491906115ec565b611117565b5060019392505050565b60006015548211156107c65760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105d0565b60006107d0611626565b90506107dc8382611649565b9392505050565b6000546001600160a01b0316331461080d5760405162461bcd60e51b81526004016105d090612046565b600c829055600d81905561082182826110b8565b600e81905561012c10156108775760405162461bcd60e51b815260206004820152601d60248201527f746f74616c20746178206d757374206265203325206f722062656c6f7700000060448201526064016105d0565b5050565b6000546001600160a01b031633146108a55760405162461bcd60e51b81526004016105d090612046565b6001600160a01b0381166000908152600a602052604090205460ff1661090d5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c75646564000000000060448201526064016105d0565b60005b600b5481101561087757816001600160a01b0316600b82815481106109375761093761207b565b6000918252602090912001546001600160a01b031603610a1b57600b8054610961906001906120a7565b815481106109715761097161207b565b600091825260209091200154600b80546001600160a01b03909216918390811061099d5761099d61207b565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600782526040808220829055600a90925220805460ff19169055600b8054806109f5576109f56120ba565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610a25816120d0565b915050610910565b3360008181526008602090815260408083206001600160a01b038716845290915281205490916106ec91859061075090866110b8565b6000546001600160a01b03163314610a8d5760405162461bcd60e51b81526004016105d090612046565b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000601454831115610b055760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016105d0565b81610b23576000610b1584611030565b509294506106f09350505050565b6000610b2e84611030565b509194506106f09350505050565b6000546001600160a01b03163314610b665760405162461bcd60e51b81526004016105d090612046565b6001600160a01b0381166000908152600a602052604090205460ff1615610bcf5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016105d0565b6001600160a01b03811660009081526006602052604090205415610c29576001600160a01b038116600090815260066020526040902054610c0f9061075f565b6001600160a01b0382166000908152600760205260409020555b6001600160a01b03166000818152600a60205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b6000546001600160a01b03163314610cb95760405162461bcd60e51b81526004016105d090612046565b601355565b6000546001600160a01b03163314610ce85760405162461bcd60e51b81526004016105d090612046565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600a602052604081205460ff1615610d4757506001600160a01b031660009081526007602052604090205490565b6001600160a01b0382166000908152600660205260409020546106f09061075f565b6000546001600160a01b03163314610d935760405162461bcd60e51b81526004016105d090612046565b610d9d600061168b565b565b6000546001600160a01b03163314610dc95760405162461bcd60e51b81526004016105d090612046565b6012805490829055601454610ddf9060c8611649565b6012541015610e005760405162461bcd60e51b81526004016105d0906120e9565b60408051828152602081018490527f0a7c714b6801281a6e2610a6371ac6a5da9a5947616d74f4aa3ad1d289278e73910160405180910390a15050565b60606004805461065c9061200c565b60006106ec338461075085604051806060016040528060258152602001612230602591393360009081526008602090815260408083206001600160a01b038d16845290915290205491906115ec565b60006106ec33848461123b565b6000546001600160a01b03163314610ed25760405162461bcd60e51b81526004016105d090612046565b601780549115156101000261ff0019909216919091179055565b6000546001600160a01b03163314610f165760405162461bcd60e51b81526004016105d090612046565b6001600160a01b03166000908152600960205260409020805460ff19169055565b6000546001600160a01b03163314610f615760405162461bcd60e51b81526004016105d090612046565b6011819055601454610f749060c8611649565b6011541015610f955760405162461bcd60e51b81526004016105d0906120e9565b50565b6000546001600160a01b03163314610fc25760405162461bcd60e51b81526004016105d090612046565b6001600160a01b0381166110275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d0565b610f958161168b565b6000806000806000806000611044886116db565b91509150600080600061105f8b8561105a611626565b61171a565b919d909c50909a5094985092965092945050505050565b60006107dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115ec565b6000806110c5838561212d565b9050838110156107dc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105d0565b6001600160a01b0383166111795760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105d0565b6001600160a01b0382166111da5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105d0565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661129f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d0565b6001600160a01b0382166113015760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d0565b600081116113635760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105d0565b6000546001600160a01b0384811691161480159061138f57506000546001600160a01b03838116911614155b156113f7576011548111156113f75760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016105d0565b6002546001600160a01b03848116911614801561142d57506001600160a01b03831660009081526009602052604090205460ff16155b801561145257506001600160a01b03821660009081526009602052604090205460ff16155b156114ce57600061146283610d0a565b601254909150611472838361212d565b11156114cc5760405162461bcd60e51b8152602060048201526024808201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152633ab73a1760e11b60648201526084016105d0565b505b60006114d930610d0a565b601754909150610100900460ff1680156114f557506013548110155b8015611504575060175460ff16155b801561151d57506002546001600160a01b038481169116145b1561153d575060135460105461153d9082906001600160a01b0316611756565b6001600160a01b03841660009081526009602052604090205460019060ff168061157f57506001600160a01b03841660009081526009602052604090205460ff165b15611588575060005b6002546001600160a01b038681169116148015906115b457506002546001600160a01b03858116911614155b156115bd575060005b806115ca576115ca6118fa565b6115d5858585611913565b806115e5576115e5600f54600e55565b5050505050565b600081848411156116105760405162461bcd60e51b81526004016105d09190611e68565b50600061161d84866120a7565b95945050505050565b6000806000611633611b62565b90925090506116428282611649565b9250505090565b60006107dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ce4565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008060006117016127106116fb600e5487611d1290919063ffffffff16565b90611649565b9050600061170f8583611076565b959194509092505050565b60008080806117298786611d12565b905060006117378787611d12565b905060006117458383611076565b929992985090965090945050505050565b6017805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106117985761179861207b565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156117f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118159190612140565b816001815181106118285761182861207b565b6001600160a01b039283166020918202929092018101919091523060009081526008825260408082206001549094168252929091522054831115611880576001546118809030906001600160a01b0316600019611117565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906118b990869060009086908890429060040161215d565b600060405180830381600087803b1580156118d357600080fd5b505af11580156118e7573d6000803e3d6000fd5b50506017805460ff191690555050505050565b600e5460000361190657565b600e8054600f5560009055565b60008061191f836116db565b91509150600080611933858461105a611626565b506001600160a01b0389166000908152600a6020526040902054919350915060ff1615611997576001600160a01b03871660009081526007602052604090205461197d9086611076565b6001600160a01b0388166000908152600760205260409020555b6001600160a01b0387166000908152600660205260409020546119ba9083611076565b6001600160a01b038089166000908152600660209081526040808320949094559189168152600a909152205460ff1615611a2b576001600160a01b038616600090815260076020526040902054611a1190856110b8565b6001600160a01b0387166000908152600760205260409020555b6001600160a01b038616600090815260066020526040902054611a4e90826110b8565b6001600160a01b0387166000908152600660205260409020558215611b0c576000611a8a600e546116fb600d5487611d1290919063ffffffff16565b90506000611aa9600e546116fb600c5488611d1290919063ffffffff16565b9050611ab481611d94565b8115611b0957611ac382611db8565b6010546040518381526001600160a01b03918216918b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b50505b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611b5191815260200190565b60405180910390a350505050505050565b6015546014546000918291825b600b54811015611cb4578260066000600b8481548110611b9157611b9161207b565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611bfc57508160076000600b8481548110611bd557611bd561207b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611c1257601554601454945094505050509091565b611c5860066000600b8481548110611c2c57611c2c61207b565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611076565b9250611ca060076000600b8481548110611c7457611c7461207b565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611076565b915080611cac816120d0565b915050611b6f565b50601454601554611cc491611649565b821015611cdb576015546014549350935050509091565b90939092509050565b60008183611d055760405162461bcd60e51b81526004016105d09190611e68565b50600061161d84866121ce565b600082600003611d24575060006106f0565b6000611d3083856121f0565b905082611d3d85836121ce565b146107dc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105d0565b6000611da8611da1611626565b8390611d12565b6015549091506106369082611076565b6000611dc2611626565b90506000611dd08383611d12565b30600090815260066020526040902054909150611ded90826110b8565b306000908152600660209081526040808320939093556010546001600160a01b03168252600a9052205460ff1615611e4a5730600090815260076020526040902054611e3990846110b8565b306000908152600760205260409020555b505050565b600060208284031215611e6157600080fd5b5035919050565b600060208083528351808285015260005b81811015611e9557858101830151858201604001528201611e79565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f9557600080fd5b60008060408385031215611ede57600080fd5b8235611ee981611eb6565b946020939093013593505050565b600080600060608486031215611f0c57600080fd5b8335611f1781611eb6565b92506020840135611f2781611eb6565b929592945050506040919091013590565b60008060408385031215611f4b57600080fd5b50508035926020909101359150565b600060208284031215611f6c57600080fd5b81356107dc81611eb6565b80358015158114611f8757600080fd5b919050565b60008060408385031215611f9f57600080fd5b82359150611faf60208401611f77565b90509250929050565b600060208284031215611fca57600080fd5b6107dc82611f77565b60008060408385031215611fe657600080fd5b8235611ff181611eb6565b9150602083013561200181611eb6565b809150509250929050565b600181811c9082168061202057607f821691505b60208210810361204057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156106f0576106f0612091565b634e487b7160e01b600052603160045260246000fd5b6000600182016120e2576120e2612091565b5060010190565b60208082526024908201527f6361742774207365742062656c6f7720302e3525206f6620746f74616c20737560408201526370706c7960e01b606082015260800190565b808201808211156106f0576106f0612091565b60006020828403121561215257600080fd5b81516107dc81611eb6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121ad5784516001600160a01b031683529383019391830191600101612188565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826121eb57634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176106f0576106f061209156fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122075d9bfccbe8725ec0d5a4b42c2e4861a84360a82bb450f864952f75bc6d8560e64736f6c63430008130033

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

000000000000000000000000dd892d4fde906b5350cb8f7cdc7ea9f64254ff1b

-----Decoded View---------------
Arg [0] : _owner (address): 0xdd892D4fde906B5350cb8f7cdC7EA9F64254ff1b

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000dd892d4fde906b5350cb8f7cdc7ea9f64254ff1b


Deployed Bytecode Sourcemap

4371:15121:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17161:368;;;;;;:::i;:::-;;:::i;:::-;;6772:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7696:163;;;;;;:::i;:::-;;:::i;:::-;;;1373:14:1;;1366:22;1348:41;;1336:2;1321:18;7696:163:0;1208:187:1;7055:97:0;7137:7;;7055:97;;;1546:25:1;;;1534:2;1519:18;7055:97:0;1400:177:1;7867:315:0;;;;;;:::i;:::-;;:::i;10132:253::-;;;;;;:::i;:::-;;:::i;18286:289::-;;;;;;:::i;:::-;;:::i;6962:85::-;7030:9;;6962:85;;7030:9;;;;2438:36:1;;2426:2;2411:18;6962:85:0;2296:184:1;12703:479:0;;;;;;:::i;:::-;;:::i;8190:220::-;;;;;;:::i;:::-;;:::i;9435:116::-;;;;;;:::i;:::-;;:::i;9690:434::-;;;;;;:::i;:::-;;:::i;12360:335::-;;;;;;:::i;:::-;;:::i;9160:126::-;;;;;;:::i;:::-;-1:-1:-1;;;;;9250:28:0;9226:4;9250:28;;;:19;:28;;;;;;;;;9160:126;4461:42;;;;;-1:-1:-1;;;;;4461:42:0;;;;;;-1:-1:-1;;;;;3345:32:1;;;3327:51;;3315:2;3300:18;4461:42:0;3155:229:1;19245:139:0;;;;;;:::i;:::-;;:::i;18794:126::-;;;;;;:::i;:::-;;:::i;5059:33::-;;;;;;7160:198;;;;;;:::i;:::-;;:::i;849:94::-;;;:::i;5213:92::-;;;;;-1:-1:-1;;;;;5213:92:0;;;5314:58;;;;;;9298:125;;;;;;:::i;:::-;-1:-1:-1;;;;;9395:20:0;9371:4;9395:20;;;:11;:20;;;;;;;;;9298:125;5009:34;;;;;;626:87;672:7;699:6;-1:-1:-1;;;;;699:6:0;626:87;;18928:307;;;;;;:::i;:::-;;:::i;6865:89::-;;;:::i;4511:29::-;;;;;-1:-1:-1;;;;;4511:29:0;;;8418:271;;;;;;:::i;:::-;;:::i;7366:169::-;;;;;;:::i;:::-;;:::i;9042:106::-;9123:17;;9042:106;;19392:95;;;;;;:::i;:::-;;:::i;5826:30::-;;;;;;;;;;;;7543:145;;;;;;:::i;:::-;-1:-1:-1;;;;;7653:18:0;;;7626:7;7653:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7543:145;5401:56;;;;;;9563:115;;;;;;:::i;:::-;;:::i;18583:203::-;;;;;;:::i;:::-;;:::i;5486:58::-;;;;;;951:192;;;;;;:::i;:::-;;:::i;17161:368::-;261:10;17222:25;;;;:11;:25;;;;;;;;17221:26;17213:83;;;;-1:-1:-1;;;17213:83:0;;4861:2:1;17213:83:0;;;4843:21:1;4900:2;4880:18;;;4873:30;4939:34;4919:18;;;4912:62;-1:-1:-1;;;4990:18:1;;;4983:42;5042:19;;17213:83:0;;;;;;;;;17308:15;17331:19;17342:7;17331:10;:19::i;:::-;17307:43;;;;;;17385:34;17411:7;17385;:21;17393:12;261:10;;181:98;17393:12;-1:-1:-1;;;;;17385:21:0;;;;;;;;;;;;-1:-1:-1;17385:21:0;;;:25;:34::i;:::-;261:10;17361:21;;;;:7;:21;;;;;:58;17440:7;;:20;;17452:7;17440:11;:20::i;:::-;17430:7;:30;17491:17;;:30;;17513:7;17491:21;:30::i;:::-;17471:17;:50;-1:-1:-1;;17161:368:0:o;6772:85::-;6811:13;6844:5;6837:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6772:85;:::o;7696:163::-;7773:4;7790:39;261:10;7813:7;7822:6;7790:8;:39::i;:::-;-1:-1:-1;7847:4:0;7696:163;;;;;:::o;7867:315::-;7967:4;7984:36;7994:6;8002:9;8013:6;7984:9;:36::i;:::-;8031:121;8040:6;261:10;8062:89;8100:6;8062:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8062:19:0;;;;;;:11;:19;;;;;;;;261:10;8062:33;;;;;;;;;;:37;:89::i;:::-;8031:8;:121::i;:::-;-1:-1:-1;8170:4:0;7867:315;;;;;:::o;10132:253::-;10198:7;10237;;10226;:18;;10218:73;;;;-1:-1:-1;;;10218:73:0;;5659:2:1;10218:73:0;;;5641:21:1;5698:2;5678:18;;;5671:30;5737:34;5717:18;;;5710:62;-1:-1:-1;;;5788:18:1;;;5781:40;5838:19;;10218:73:0;5457:406:1;10218:73:0;10302:19;10325:10;:8;:10::i;:::-;10302:33;-1:-1:-1;10353:24:0;:7;10302:33;10353:11;:24::i;:::-;10346:31;10132:253;-1:-1:-1;;;10132:253:0:o;18286:289::-;672:7;699:6;-1:-1:-1;;;;;699:6:0;261:10;761:23;753:68;;;;-1:-1:-1;;;753:68:0;;;;;;;:::i;:::-;18383:13:::1;:26:::0;;;18420:12:::1;:24:::0;;;18467:31:::1;18399:10:::0;18435:9;18467:17:::1;:31::i;:::-;18455:9;:43:::0;;;18530:3:::1;-1:-1:-1::0;18517:16:0::1;18509:58;;;::::0;-1:-1:-1;;;18509:58:0;;6431:2:1;18509:58:0::1;::::0;::::1;6413:21:1::0;6470:2;6450:18;;;6443:30;6509:31;6489:18;;;6482:59;6558:18;;18509:58:0::1;6229:353:1::0;18509:58:0::1;18286:289:::0;;:::o;12703:479::-;672:7;699:6;-1:-1:-1;;;;;699:6:0;261:10;761:23;753:68;;;;-1:-1:-1;;;753:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12785:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;12777:60;;;::::0;-1:-1:-1;;;12777:60:0;;6789:2:1;12777:60:0::1;::::0;::::1;6771:21:1::0;6828:2;6808:18;;;6801:30;6867:29;6847:18;;;6840:57;6914:18;;12777:60:0::1;6587:351:1::0;12777:60:0::1;12853:9;12848:327;12872:9;:16:::0;12868:20;::::1;12848:327;;;12930:7;-1:-1:-1::0;;;;;12914:23:0::1;:9;12924:1;12914:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;12914:12:0::1;:23:::0;12910:254:::1;;12973:9;12983:16:::0;;:20:::1;::::0;13002:1:::1;::::0;12983:20:::1;:::i;:::-;12973:31;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;12958:9:::1;:12:::0;;-1:-1:-1;;;;;12973:31:0;;::::1;::::0;12968:1;;12958:12;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;12958:46:0::1;-1:-1:-1::0;;;;;12958:46:0;;::::1;;::::0;;13023:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;13062:11:::1;:20:::0;;;;:28;;-1:-1:-1;;13062:28:0::1;::::0;;13109:9:::1;:15:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;13109:15:0;;;;;-1:-1:-1;;;;;;13109:15:0::1;::::0;;;;;18286:289;;:::o;12910:254::-:1;12890:3:::0;::::1;::::0;::::1;:::i;:::-;;;;12848:327;;8190:220:::0;261:10;8280:4;8329:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8329:34:0;;;;;;;;;;8280:4;;8297:83;;8320:7;;8329:50;;8368:10;8329:38;:50::i;9435:116::-;672:7;699:6;-1:-1:-1;;;;;699:6:0;261:10;761:23;753:68;;;;-1:-1:-1;;;753:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9508:28:0::1;;::::0;;;:19:::1;:28;::::0;;;;:35;;-1:-1:-1;;9508:35:0::1;9539:4;9508:35;::::0;;9435:116::o;9690:434::-;9780:7;9819;;9808;:18;;9800:62;;;;-1:-1:-1;;;9800:62:0;;7814:2:1;9800:62:0;;;7796:21:1;7853:2;7833:18;;;7826:30;7892:33;7872:18;;;7865:61;7943:18;;9800:62:0;7612:355:1;9800:62:0;9878:17;9873:244;;9913:15;9936:19;9947:7;9936:10;:19::i;:::-;-1:-1:-1;9912:43:0;;-1:-1:-1;9970:14:0;;-1:-1:-1;;;;9970:14:0;9873:244;10019:23;10049:19;10060:7;10049:10;:19::i;:::-;-1:-1:-1;10017:51:0;;-1:-1:-1;10083:22:0;;-1:-1:-1;;;;10083:22:0;12360:335;672:7;699:6;-1:-1:-1;;;;;699:6:0;261:10;761:23;753:68;;;;-1:-1:-1;;;753:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12445:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;12444:21;12436:61;;;::::0;-1:-1:-1;;;12436:61:0;;8174:2:1;12436:61:0::1;::::0;::::1;8156:21:1::0;8213:2;8193:18;;;8186:30;8252:29;8232:18;;;8225:57;8299:18;;12436:61:0::1;7972:351:1::0;12436:61:0::1;-1:-1:-1::0;;;;;12511:16:0;::::1;12530:1;12511:16:::0;;;:7:::1;:16;::::0;;;;;:20;12508:108:::1;;-1:-1:-1::0;;;;;12587:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;12567:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;12548:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;12508:108:::1;-1:-1:-1::0;;;;;12626:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;12626:27:0::1;12649:4;12626:27:::0;;::::1;::::0;;;12664:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;12664:23:0::1;::::0;;::::1;::::0;;12360:335::o;19245:139::-;672:7;699:6;-1:-1:-1;;;;;699:6:0;261:10;761:23;753:68;;;;-1:-1:-1;;;753:68:0;;;;;;;:::i;:::-;19336:19:::1;:40:::0;19245:139::o;18794:126::-;672:7;699:6;-1:-1:-1;;;;;699:6:0;261:10;761:23;753:68;;;;-1:-1:-1;;;753:68:0;;;;;;;:::i;:::-;18883:15:::1;:29:::0;;-1:-1:-1;;;;;;18883:29:0::1;-1:-1:-1::0;;;;;18883:29:0;;;::::1;::::0;;;::::1;::::0;;18794:126::o;7160:198::-;-1:-1:-1;;;;;7250:20:0;;7226:7;7250:20;;;:11;:20;;;;;;;;7246:49;;;-1:-1:-1;;;;;;7279:16:0;;;;;:7;:16;;;;;;;7160:198::o;7246:49::-;-1:-1:-1;;;;;7333:16:0;;;;;;:7;:16;;;;;;7313:37;;:19;:37::i;849:94::-;672:7;699:6;-1:-1:-1;;;;;699:6:0;261:10;761:23;753:68;;;;-1:-1:-1;;;753:68:0;;;;;;;:::i;:::-;914:21:::1;932:1;914:9;:21::i;:::-;849:94::o:0;18928:307::-;672:7;699:6;-1:-1:-1;;;;;699:6:0;261:10;761:23;753:68;;;;-1:-1:-1;;;753:68:0;;;;;;;:::i;:::-;19024:14:::1;::::0;;19048:26;;;;19111:7:::1;::::0;:16:::1;::::0;19123:3:::1;19111:11;:16::i;:::-;19093:14;;:34;;19085:83;;;;-1:-1:-1::0;;;19085:83:0::1;;;;;;;:::i;:::-;19184:44;::::0;;8907:25:1;;;8963:2;8948:18;;8941:34;;;19184:44:0::1;::::0;8880:18:1;19184:44:0::1;;;;;;;18993:242;18928:307:::0;:::o;6865:89::-;6906:13;6939:7;6932:14;;;;;:::i;8418:271::-;8513:4;8530:129;261:10;8553:7;8562:96;8601:15;8562:96;;;;;;;;;;;;;;;;;261:10;8562:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8562:34:0;;;;;;;;;;;;:38;:96::i;7366:169::-;7446:4;7463:42;261:10;7487:9;7498:6;7463:9;:42::i;19392:95::-;672:7;699:6;-1:-1:-1;;;;;699:6:0;261:10;761:23;753:68;;;;-1:-1:-1;;;753:68:0;;;;;;;:::i;:::-;19458:11:::1;:21:::0;;;::::1;;;;-1:-1:-1::0;;19458:21:0;;::::1;::::0;;;::::1;::::0;;19392:95::o;9563:115::-;672:7;699:6;-1:-1:-1;;;;;699:6:0;261:10;761:23;753:68;;;;-1:-1:-1;;;753:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9634:28:0::1;9665:5;9634:28:::0;;;:19:::1;:28;::::0;;;;:36;;-1:-1:-1;;9634:36:0::1;::::0;;9563:115::o;18583:203::-;672:7;699:6;-1:-1:-1;;;;;699:6:0;261:10;761:23;753:68;;;;-1:-1:-1;;;753:68:0;;;;;;;:::i;:::-;18660:12:::1;:26:::0;;;18721:7:::1;::::0;:16:::1;::::0;18733:3:::1;18721:11;:16::i;:::-;18705:12;;:32;;18697:81;;;;-1:-1:-1::0;;;18697:81:0::1;;;;;;;:::i;:::-;18583:203:::0;:::o;951:192::-;672:7;699:6;-1:-1:-1;;;;;699:6:0;261:10;761:23;753:68;;;;-1:-1:-1;;;753:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1040:22:0;::::1;1032:73;;;::::0;-1:-1:-1;;;1032:73:0;;9188:2:1;1032:73:0::1;::::0;::::1;9170:21:1::0;9227:2;9207:18;;;9200:30;9266:34;9246:18;;;9239:62;-1:-1:-1;;;9317:18:1;;;9310:36;9363:19;;1032:73:0::1;8986:402:1::0;1032:73:0::1;1116:19;1126:8;1116:9;:19::i;10650:366::-:0;10709:7;10718;10727;10736;10745;10766:23;10791:12;10807:20;10819:7;10807:11;:20::i;:::-;10765:62;;;;10839:15;10856:23;10881:12;10897:38;10909:7;10918:4;10924:10;:8;:10::i;:::-;10897:11;:38::i;:::-;10838:97;;;;-1:-1:-1;10838:97:0;;-1:-1:-1;10986:15:0;;-1:-1:-1;11003:4:0;;-1:-1:-1;10650:366:0;;-1:-1:-1;;;;;10650:366:0:o;3030:136::-;3088:7;3115:43;3119:1;3122;3115:43;;;;;;;;;;;;;;;;;:3;:43::i;2841:181::-;2899:7;;2931:5;2935:1;2931;:5;:::i;:::-;2919:17;;2960:1;2955;:6;;2947:46;;;;-1:-1:-1;;;2947:46:0;;9725:2:1;2947:46:0;;;9707:21:1;9764:2;9744:18;;;9737:30;9803:29;9783:18;;;9776:57;9850:18;;2947:46:0;9523:351:1;8697:337:0;-1:-1:-1;;;;;8790:19:0;;8782:68;;;;-1:-1:-1;;;8782:68:0;;10081:2:1;8782:68:0;;;10063:21:1;10120:2;10100:18;;;10093:30;10159:34;10139:18;;;10132:62;-1:-1:-1;;;10210:18:1;;;10203:34;10254:19;;8782:68:0;9879:400:1;8782:68:0;-1:-1:-1;;;;;8869:21:0;;8861:68;;;;-1:-1:-1;;;8861:68:0;;10486:2:1;8861:68:0;;;10468:21:1;10525:2;10505:18;;;10498:30;10564:34;10544:18;;;10537:62;-1:-1:-1;;;10615:18:1;;;10608:32;10657:19;;8861:68:0;10284:398:1;8861:68:0;-1:-1:-1;;;;;8942:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8994:32;;1546:25:1;;;8994:32:0;;1519:18:1;8994:32:0;;;;;;;8697:337;;;:::o;13194:2046::-;-1:-1:-1;;;;;13282:18:0;;13274:68;;;;-1:-1:-1;;;13274:68:0;;10889:2:1;13274:68:0;;;10871:21:1;10928:2;10908:18;;;10901:30;10967:34;10947:18;;;10940:62;-1:-1:-1;;;11018:18:1;;;11011:35;11063:19;;13274:68:0;10687:401:1;13274:68:0;-1:-1:-1;;;;;13361:16:0;;13353:64;;;;-1:-1:-1;;;13353:64:0;;11295:2:1;13353:64:0;;;11277:21:1;11334:2;11314:18;;;11307:30;11373:34;11353:18;;;11346:62;-1:-1:-1;;;11424:18:1;;;11417:33;11467:19;;13353:64:0;11093:399:1;13353:64:0;13445:1;13436:6;:10;13428:64;;;;-1:-1:-1;;;13428:64:0;;11699:2:1;13428:64:0;;;11681:21:1;11738:2;11718:18;;;11711:30;11777:34;11757:18;;;11750:62;-1:-1:-1;;;11828:18:1;;;11821:39;11877:19;;13428:64:0;11497:405:1;13428:64:0;672:7;699:6;-1:-1:-1;;;;;13595:15:0;;;699:6;;13595:15;;;;:32;;-1:-1:-1;672:7:0;699:6;-1:-1:-1;;;;;13614:13:0;;;699:6;;13614:13;;13595:32;13592:139;;;13662:12;;13652:6;:22;;13644:75;;;;-1:-1:-1;;;13644:75:0;;12109:2:1;13644:75:0;;;12091:21:1;12148:2;12128:18;;;12121:30;12187:34;12167:18;;;12160:62;-1:-1:-1;;;12238:18:1;;;12231:38;12286:19;;13644:75:0;11907:404:1;13644:75:0;13753:14;;-1:-1:-1;;;;;13747:20:0;;;13753:14;;13747:20;:50;;;;-1:-1:-1;;;;;;13772:25:0;;;;;;:19;:25;;;;;;;;13771:26;13747:50;:78;;;;-1:-1:-1;;;;;;13802:23:0;;;;;;:19;:23;;;;;;;;13801:24;13747:78;13743:274;;;13842:32;13877:13;13887:2;13877:9;:13::i;:::-;13950:14;;13842:48;;-1:-1:-1;13913:33:0;13940:6;13842:48;13913:33;:::i;:::-;:51;;13905:100;;;;-1:-1:-1;;;13905:100:0;;12518:2:1;13905:100:0;;;12500:21:1;12557:2;12537:18;;;12530:30;12596:34;12576:18;;;12569:62;-1:-1:-1;;;12647:18:1;;;12640:34;12691:19;;13905:100:0;12316:400:1;13905:100:0;13827:190;13743:274;14029:20;14052:24;14070:4;14052:9;:24::i;:::-;14154:11;;14029:47;;-1:-1:-1;14154:11:0;;;;;:50;;;;;14185:19;;14169:12;:35;;14154:50;:63;;;;-1:-1:-1;14209:8:0;;;;14208:9;14154:63;:87;;;;-1:-1:-1;14227:14:0;;-1:-1:-1;;;;;14221:20:0;;;14227:14;;14221:20;14154:87;14150:216;;;-1:-1:-1;14273:19:0;;14338:15;;14307:47;;14273:19;;-1:-1:-1;;;;;14338:15:0;14307:16;:47::i;:::-;-1:-1:-1;;;;;14497:25:0;;14464:12;14497:25;;;:19;:25;;;;;;14479:4;;14497:25;;;:52;;-1:-1:-1;;;;;;14526:23:0;;;;;;:19;:23;;;;;;;;14497:52;14494:99;;;-1:-1:-1;14576:5:0;14494:99;14677:14;;-1:-1:-1;;;;;14669:22:0;;;14677:14;;14669:22;;;;:46;;-1:-1:-1;14701:14:0;;-1:-1:-1;;;;;14695:20:0;;;14701:14;;14695:20;;14669:46;14666:93;;;-1:-1:-1;14742:5:0;14666:93;14896:7;14891:56;;14920:15;:13;:15::i;:::-;15028:32;15043:4;15049:2;15053:6;15028:14;:32::i;:::-;15181:7;15176:57;;15205:16;10615:15;;10603:9;:27;10558:80;15205:16;13263:1977;;13194:2046;;;:::o;3174:192::-;3260:7;3296:12;3288:6;;;;3280:29;;;;-1:-1:-1;;;3280:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3320:9:0;3332:5;3336:1;3332;:5;:::i;:::-;3320:17;3174:192;-1:-1:-1;;;;;3174:192:0:o;11616:163::-;11657:7;11678:15;11695;11714:19;:17;:19::i;:::-;11677:56;;-1:-1:-1;11677:56:0;-1:-1:-1;11751:20:0;11677:56;;11751:11;:20::i;:::-;11744:27;;;;11616:163;:::o;3634:132::-;3692:7;3719:39;3723:1;3726;3719:39;;;;;;;;;;;;;;;;;:3;:39::i;1151:173::-;1207:16;1226:6;;-1:-1:-1;;;;;1243:17:0;;;-1:-1:-1;;;;;;1243:17:0;;;;;;1276:40;;1226:6;;;;;;;1276:40;;1207:16;1276:40;1196:128;1151:173;:::o;11024:240::-;11084:7;11093;11113:12;11128:33;11155:5;11128:22;11140:9;;11128:7;:11;;:22;;;;:::i;:::-;:26;;:33::i;:::-;11113:48;-1:-1:-1;11172:23:0;11198:17;:7;11113:48;11198:11;:17::i;:::-;11172:43;11251:4;;-1:-1:-1;11024:240:0;;-1:-1:-1;;;11024:240:0:o;11272:334::-;11367:7;;;;11423:24;:7;11435:11;11423;:24::i;:::-;11405:42;-1:-1:-1;11458:12:0;11473:21;:4;11482:11;11473:8;:21::i;:::-;11458:36;-1:-1:-1;11505:23:0;11531:17;:7;11458:36;11531:11;:17::i;:::-;11567:7;;;;-1:-1:-1;11593:4:0;;-1:-1:-1;11272:334:0;;-1:-1:-1;;;;;11272:334:0:o;17537:741::-;5899:8;:15;;-1:-1:-1;;5899:15:0;5910:4;5899:15;;;17726:16:::1;::::0;;17740:1:::1;17726:16:::0;;;;;::::1;::::0;;-1:-1:-1;;17726:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;17726:16:0::1;17702:40;;17771:4;17753;17758:1;17753:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17753:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;17797:16:::1;::::0;:23:::1;::::0;;-1:-1:-1;;;17797:23:0;;;;:16;;;::::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;17753:7;;17797:23;;;;;:16;:23:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17787:4;17792:1;17787:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17787:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:33;;;;17857:4:::1;17837:26;::::0;;;:11:::1;:26:::0;;;;;;17872:16:::1;::::0;;;::::1;17837:53:::0;;;;;;;;:67;-1:-1:-1;17833:161:0::1;;;17951:16;::::0;17919:63:::1;::::0;17936:4:::1;::::0;-1:-1:-1;;;;;17951:16:0::1;-1:-1:-1::0;;17919:8:0::1;:63::i;:::-;18032:16;::::0;:228:::1;::::0;-1:-1:-1;;;18032:228:0;;-1:-1:-1;;;;;18032:16:0;;::::1;::::0;:67:::1;::::0;:228:::1;::::0;18114:11;;18032:16:::1;::::0;18184:4;;18203:16;;18234:15:::1;::::0;18032:228:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5937:8:0;:16;;-1:-1:-1;;5937:16:0;;;-1:-1:-1;;;;;17537:741:0:o;10397:149::-;10444:9;;10457:1;10444:14;10441:26;;10397:149::o;10441:26::-;10505:9;;;10487:15;:27;-1:-1:-1;10525:13:0;;10397:149::o;15252:1311::-;15412:23;15437:12;15453:20;15465:7;15453:11;:20::i;:::-;15411:62;;;;15485:15;15502:23;15530:38;15542:7;15551:4;15557:10;:8;:10::i;15530:38::-;-1:-1:-1;;;;;;15633:19:0;;;;;;:11;:19;;;;;;15484:84;;-1:-1:-1;15484:84:0;-1:-1:-1;15633:19:0;;15629:86;;;-1:-1:-1;;;;;15681:15:0;;;;;;:7;:15;;;;;;:28;;15701:7;15681:19;:28::i;:::-;-1:-1:-1;;;;;15663:15:0;;;;;;:7;:15;;;;;:46;15629:86;-1:-1:-1;;;;;15737:15:0;;;;;;:7;:15;;;;;;:28;;15757:7;15737:19;:28::i;:::-;-1:-1:-1;;;;;15719:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;15778:22;;;;;:11;:22;;;;;;;15774:109;;;-1:-1:-1;;;;;15838:18:0;;;;;;:7;:18;;;;;;:39;;15861:15;15838:22;:39::i;:::-;-1:-1:-1;;;;;15817:18:0;;;;;;:7;:18;;;;;:60;15774:109;-1:-1:-1;;;;;15908:18:0;;;;;;:7;:18;;;;;;:39;;15931:15;15908:22;:39::i;:::-;-1:-1:-1;;;;;15887:18:0;;;;;;:7;:18;;;;;:60;15961:8;;15957:525;;15980:23;16006:37;16033:9;;16006:22;16015:12;;16006:4;:8;;:22;;;;:::i;:37::-;15980:63;;16058:24;16085:38;16113:9;;16085:23;16094:13;;16085:4;:8;;:23;;;;:::i;:38::-;16058:65;;16184:32;16199:16;16184:14;:32::i;:::-;16319:19;;16316:161;;16359:28;16371:15;16359:11;:28::i;:::-;16428:15;;16411:50;;1546:25:1;;;-1:-1:-1;;;;;16428:15:0;;;;16411:50;;;;;1534:2:1;1519:18;16411:50:0;;;;;;;16316:161;15971:511;;15957:525;16528:9;-1:-1:-1;;;;;16511:44:0;16520:6;-1:-1:-1;;;;;16511:44:0;;16539:15;16511:44;;;;1546:25:1;;1534:2;1519:18;;1400:177;16511:44:0;;;;;;;;15336:1227;;;;15252:1311;;;:::o;11787:561::-;11884:7;;11920;;11837;;;;;11944:289;11968:9;:16;11964:20;;11944:289;;;12034:7;12010;:21;12018:9;12028:1;12018:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12018:12:0;12010:21;;;;;;;;;;;;;:31;;:66;;;12069:7;12045;:21;12053:9;12063:1;12053:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12053:12:0;12045:21;;;;;;;;;;;;;:31;12010:66;12006:97;;;12086:7;;12095;;12078:25;;;;;;;11787:561;;:::o;12006:97::-;12128:34;12140:7;:21;12148:9;12158:1;12148:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12148:12:0;12140:21;;;;;;;;;;;;;12128:7;;:11;:34::i;:::-;12118:44;;12187:34;12199:7;:21;12207:9;12217:1;12207:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12207:12:0;12199:21;;;;;;;;;;;;;12187:7;;:11;:34::i;:::-;12177:44;-1:-1:-1;11986:3:0;;;;:::i;:::-;;;;11944:289;;;-1:-1:-1;12269:7:0;;12257;;:20;;:11;:20::i;:::-;12247:7;:30;12243:61;;;12287:7;;12296;;12279:25;;;;;;11787:561;;:::o;12243:61::-;12323:7;;12332;;-1:-1:-1;11787:561:0;-1:-1:-1;11787:561:0:o;3774:278::-;3860:7;3895:12;3888:5;3880:28;;;;-1:-1:-1;;;3880:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3919:9:0;3931:5;3935:1;3931;:5;:::i;3374:250::-;3432:7;3456:1;3461;3456:6;3452:47;;-1:-1:-1;3486:1:0;3479:8;;3452:47;3511:9;3523:5;3527:1;3523;:5;:::i;:::-;3511:17;-1:-1:-1;3556:1:0;3547:5;3551:1;3511:17;3547:5;:::i;:::-;:10;3539:56;;;;-1:-1:-1;;;3539:56:0;;14691:2:1;3539:56:0;;;14673:21:1;14730:2;14710:18;;;14703:30;14769:34;14749:18;;;14742:62;-1:-1:-1;;;14820:18:1;;;14813:31;14861:19;;3539:56:0;14489:397:1;16571:196:0;16628:12;16643:20;16652:10;:8;:10::i;:::-;16643:4;;:8;:20::i;:::-;16684:7;;16628:35;;-1:-1:-1;16684:17:0;;16628:35;16684:11;:17::i;16779:371::-;16840:19;16862:10;:8;:10::i;:::-;16840:32;-1:-1:-1;16883:19:0;16905:28;:11;16840:32;16905:15;:28::i;:::-;16985:4;16969:22;;;;:7;:22;;;;;;16883:50;;-1:-1:-1;16969:39:0;;16883:50;16969:26;:39::i;:::-;16960:4;16944:22;;;;:7;:22;;;;;;;;:64;;;;17034:15;;-1:-1:-1;;;;;17034:15:0;17022:28;;:11;:28;;;;;;17019:124;;;17108:4;17092:22;;;;:7;:22;;;;;;:39;;17119:11;17092:26;:39::i;:::-;17083:4;17067:22;;;;:7;:22;;;;;:64;17019:124;16829:321;;16779:371;:::o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:548::-;311:4;340:2;369;358:9;351:21;401:6;395:13;444:6;439:2;428:9;424:18;417:34;469:1;479:140;493:6;490:1;487:13;479:140;;;588:14;;;584:23;;578:30;554:17;;;573:2;550:26;543:66;508:10;;479:140;;;483:3;668:1;663:2;654:6;643:9;639:22;635:31;628:42;738:2;731;727:7;722:2;714:6;710:15;706:29;695:9;691:45;687:54;679:62;;;;199:548;;;;:::o;752:131::-;-1:-1:-1;;;;;827:31:1;;817:42;;807:70;;873:1;870;863:12;888:315;956:6;964;1017:2;1005:9;996:7;992:23;988:32;985:52;;;1033:1;1030;1023:12;985:52;1072:9;1059:23;1091:31;1116:5;1091:31;:::i;:::-;1141:5;1193:2;1178:18;;;;1165:32;;-1:-1:-1;;;888:315:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2043:248::-;2111:6;2119;2172:2;2160:9;2151:7;2147:23;2143:32;2140:52;;;2188:1;2185;2178:12;2140:52;-1:-1:-1;;2211:23:1;;;2281:2;2266:18;;;2253:32;;-1:-1:-1;2043:248:1:o;2485:247::-;2544:6;2597:2;2585:9;2576:7;2572:23;2568:32;2565:52;;;2613:1;2610;2603:12;2565:52;2652:9;2639:23;2671:31;2696:5;2671:31;:::i;2737:160::-;2802:20;;2858:13;;2851:21;2841:32;;2831:60;;2887:1;2884;2877:12;2831:60;2737:160;;;:::o;2902:248::-;2967:6;2975;3028:2;3016:9;3007:7;3003:23;2999:32;2996:52;;;3044:1;3041;3034:12;2996:52;3080:9;3067:23;3057:33;;3109:35;3140:2;3129:9;3125:18;3109:35;:::i;:::-;3099:45;;2902:248;;;;;:::o;4081:180::-;4137:6;4190:2;4178:9;4169:7;4165:23;4161:32;4158:52;;;4206:1;4203;4196:12;4158:52;4229:26;4245:9;4229:26;:::i;4266:388::-;4334:6;4342;4395:2;4383:9;4374:7;4370:23;4366:32;4363:52;;;4411:1;4408;4401:12;4363:52;4450:9;4437:23;4469:31;4494:5;4469:31;:::i;:::-;4519:5;-1:-1:-1;4576:2:1;4561:18;;4548:32;4589:33;4548:32;4589:33;:::i;:::-;4641:7;4631:17;;;4266:388;;;;;:::o;5072:380::-;5151:1;5147:12;;;;5194;;;5215:61;;5269:4;5261:6;5257:17;5247:27;;5215:61;5322:2;5314:6;5311:14;5291:18;5288:38;5285:161;;5368:10;5363:3;5359:20;5356:1;5349:31;5403:4;5400:1;5393:15;5431:4;5428:1;5421:15;5285:161;;5072:380;;;:::o;5868:356::-;6070:2;6052:21;;;6089:18;;;6082:30;6148:34;6143:2;6128:18;;6121:62;6215:2;6200:18;;5868:356::o;6943:127::-;7004:10;6999:3;6995:20;6992:1;6985:31;7035:4;7032:1;7025:15;7059:4;7056:1;7049:15;7075:127;7136:10;7131:3;7127:20;7124:1;7117:31;7167:4;7164:1;7157:15;7191:4;7188:1;7181:15;7207:128;7274:9;;;7295:11;;;7292:37;;;7309:18;;:::i;7340:127::-;7401:10;7396:3;7392:20;7389:1;7382:31;7432:4;7429:1;7422:15;7456:4;7453:1;7446:15;7472:135;7511:3;7532:17;;;7529:43;;7552:18;;:::i;:::-;-1:-1:-1;7599:1:1;7588:13;;7472:135::o;8328:400::-;8530:2;8512:21;;;8569:2;8549:18;;;8542:30;8608:34;8603:2;8588:18;;8581:62;-1:-1:-1;;;8674:2:1;8659:18;;8652:34;8718:3;8703:19;;8328:400::o;9393:125::-;9458:9;;;9479:10;;;9476:36;;;9492:18;;:::i;12853:251::-;12923:6;12976:2;12964:9;12955:7;12951:23;12947:32;12944:52;;;12992:1;12989;12982:12;12944:52;13024:9;13018:16;13043:31;13068:5;13043:31;:::i;13109:980::-;13371:4;13419:3;13408:9;13404:19;13450:6;13439:9;13432:25;13476:2;13514:6;13509:2;13498:9;13494:18;13487:34;13557:3;13552:2;13541:9;13537:18;13530:31;13581:6;13616;13610:13;13647:6;13639;13632:22;13685:3;13674:9;13670:19;13663:26;;13724:2;13716:6;13712:15;13698:29;;13745:1;13755:195;13769:6;13766:1;13763:13;13755:195;;;13834:13;;-1:-1:-1;;;;;13830:39:1;13818:52;;13925:15;;;;13890:12;;;;13866:1;13784:9;13755:195;;;-1:-1:-1;;;;;;;14006:32:1;;;;14001:2;13986:18;;13979:60;-1:-1:-1;;;14070:3:1;14055:19;14048:35;13967:3;13109:980;-1:-1:-1;;;13109:980:1:o;14094:217::-;14134:1;14160;14150:132;;14204:10;14199:3;14195:20;14192:1;14185:31;14239:4;14236:1;14229:15;14267:4;14264:1;14257:15;14150:132;-1:-1:-1;14296:9:1;;14094:217::o;14316:168::-;14389:9;;;14420;;14437:15;;;14431:22;;14417:37;14407:71;;14458:18;;:::i

Swarm Source

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