ETH Price: $3,318.66 (+2.67%)
 

Overview

Max Total Supply

69,000,000,000,000,000,000,000 ZILLA

Holders

80

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
ArbZilla: ZILLA Token
Balance
83,742,364,987,419,719,599.286226299 ZILLA

Value
$0.00
0xd49752db69dbddfbf83710f1970b6207c3d1aed9
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

ArbZilla is a meme coin owned by a stong community and ran by the most experienced and hardest working team in crypto right now!

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ArbZilla

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: UNLICENSED


pragma solidity ^0.8.18;

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;
        return c;
    }
}

interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

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

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

contract Ownable is Context {
    address public _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

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

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

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

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

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

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

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

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

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

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

interface InterfaceLP {
    function sync() external;
}

contract ArbZilla is Ownable, IBEP20 {
    using SafeMath for uint256;

    address WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "ArbZilla";
    string constant _symbol = "ZILLA";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 69 * 10**21 * 10**_decimals;

    uint256 public _maxTxAmount = _totalSupply.mul(1).div(100);
    uint256 public _maxWalletToken = _totalSupply.mul(1).div(100);

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    bool public blacklistMode = true;
    mapping (address => bool) public isblacklisted;

    bool public whitelistMode = false;
    mapping (address => bool) iswhitelisted;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 private liquidityFee   = 0;
    uint256 private marketingFee   = 3;
    uint256 private devFee         = 0;
    uint256 private teamFee        = 0;
    uint256 public burnFee         = 0;
    uint256 public totalFee        = teamFee + marketingFee + liquidityFee + devFee + burnFee;
    uint256 public feeDenominator  = 100;

    uint256 sellMultiplier = 100;
    uint256 buyMultiplier = 100;
    uint256 transferMultiplier = 100;

    address private autoLiquidityReceiver;
    address private marketingFeeReceiver;
    address private devFeeReceiver;
    address private teamFeeReceiver;
    address public burnFeeReceiver;

    uint256 targetLiquidity = 25;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    address public pair;
   
    bool public tradingOpen = false;
    uint256 launchBlock;
              
    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 30 / 10000;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);        
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;
        isFeeExempt[marketingFeeReceiver] = true;
        isFeeExempt[devFeeReceiver] = true;
        iswhitelisted[msg.sender] = true;
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[pair] = true;
        isTxLimitExempt[marketingFeeReceiver] = true;
        isTxLimitExempt[devFeeReceiver] = true;

        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = 0xb1596Be825EcA9084649fc0087e644D91C0cE2B9;
        devFeeReceiver = msg.sender;
        teamFeeReceiver = msg.sender;
        burnFeeReceiver = DEAD; 

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable { }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) {return owner();}
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function setMaxHolderSize(uint256 maxWallPercent_base1000) external onlyOwner {
        require(maxWallPercent_base1000 >= 1,"Cannot set max wallet less than 0.1%");
        _maxWalletToken = (_totalSupply * maxWallPercent_base1000 ) / 1000;
    }

    function setMaxSell(uint256 maxTXPercentage_base1000) external onlyOwner {
        require(maxTXPercentage_base1000 >= 5,"Cannot set max transaction less than 0.5%");
        _maxTxAmount = (_totalSupply * maxTXPercentage_base1000 ) / 1000;
    }

        
    function setteamAddress(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
        isTxLimitExempt[holder] = exempt;
    }


    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(tradingOpen,"Trading not open yet");

        if(whitelistMode){
                require(iswhitelisted[recipient],"Not Whitelisted");    
            }
        }
        
        if(blacklistMode){
            require(!isblacklisted[sender],"blacklist");    
        }
        
        
        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != devFeeReceiver && recipient != marketingFeeReceiver && !isTxLimitExempt[recipient]){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}

      

        checkTxLimit(sender, amount);

        if(shouldSwapBack()){ swapBack(); }
       
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

         uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);
        _balances[recipient] = _balances[recipient].add(amountReceived);

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


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

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

     function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {

        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

        uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(burnTokens);

        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
        emit Transfer(sender, address(this), contractTokens);
        
        if(burnTokens > 0){
            emit Transfer(sender, burnFeeReceiver, burnTokens);    
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    
    }

    function clearForeignToken(address tokenAddress, uint256 tokens) public onlyOwner returns (bool) {
     if(tokens == 0){
            tokens = IBEP20 (tokenAddress).balanceOf(address(this));
        }
        return IBEP20 (tokenAddress).transfer(msg.sender, tokens);
    }

    function clearStuckETH(uint256 amountPercentage) external onlyOwner { //clear ETH CA balance to marketing receiver
        uint256 amountETH = address(this).balance;
        payable(msg.sender).transfer(amountETH * amountPercentage / 100);
        
    }    

    function Swapback() external onlyOwner {
           swapBack();

    }

    function updateMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
        transferMultiplier = _trans;   
      
    }

    // switch Trading
    function enableTrading() public onlyOwner {
        tradingOpen = true;
        launchBlock = block.number;
    }

   
    function manualTransfer() external { 
         payable(devFeeReceiver).transfer(address(this).balance);
        
    }

    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        uint256 balanceBefore = address(this).balance;

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

        uint256 amountETH = address(this).balance.sub(balanceBefore);

        uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
        
        uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHteam = amountETH.mul(teamFee).div(totalETHFee);
        uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}("");
        (tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHteam}("");
        
        
        tmpSuccess = false;

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function boolBlacklist(bool _status) public onlyOwner {
        blacklistMode = _status;
    }
    
    function whitelistSetting(bool _status) external onlyOwner {
        whitelistMode = _status;

    }

    function updateBlacklist(address[] calldata addresses, bool status) public onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            isblacklisted[addresses[i]] = status;
        }
    }

    function updatewhitelist(address[] calldata addresses, bool status) public onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            iswhitelisted[addresses[i]] = status;
        }
    }

    function addtoFeeExempt(address[] calldata addresses, bool status) external onlyOwner {
        require(addresses.length < 501,"GAS Error: max limit is 500 addresses");
        for (uint256 i; i < addresses.length; ++i) {
            isFeeExempt[addresses[i]] = status;
        }
    }

    function addtoTxLimitExempt(address[] calldata addresses, bool status) external onlyOwner {
        require(addresses.length < 501,"GAS Error: max limit is 500 addresses");
        for (uint256 i; i < addresses.length; ++i) {
            isTxLimitExempt[addresses[i]] = status;
        }
    }

    function setFees(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        teamFee = _teamFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        burnFee = _burnFee;
        totalFee = _liquidityFee.add(_teamFee).add(_marketingFee).add(_devFee).add(_burnFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/5, "Buy Fees cannot be more than 20%");
    }

    function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _teamFeeReceiver) external onlyOwner {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
        burnFeeReceiver = _burnFeeReceiver;
        teamFeeReceiver = _teamFeeReceiver;
    }

    function configSwapback(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function setTarget(uint256 _target, uint256 _denominator) external onlyOwner {
        targetLiquidity = _target;
        targetLiquidityDenominator = _denominator;
    }
    
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
  
    }

    
event AutoLiquify(uint256 amountETH, uint256 amountTokens);

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","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":"Swapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"addtoFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"addtoTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"blacklistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"boolBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearForeignToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"configSwapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isblacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualTransfer","outputs":[],"stateMutability":"nonpayable","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxHolderSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"setMaxSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTarget","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setteamAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","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":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"updateBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"updateMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"updatewhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"whitelistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"whitelistSetting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620006d8565b6200002890690e9c7f5bd65501200000620006e9565b6003556200006260646200004e6001600354620004a860201b620016001790919060201c565b6200053f60201b620016821790919060201c565b6004556200008860646200004e6001600354620004a860201b620016001790919060201c565b6005556008805460ff19908116600117909155600a805490911690556000600e8190556003600f81905560108290556011829055601282905581908190620000d1908262000703565b620000dd919062000703565b620000e9919062000703565b620000f5919062000703565b601355606460148190556015819055601681905560178190556019601d55601e9081556020805460ff60a01b191690556022805460ff1916600117905560035461271091620001459190620006e9565b62000151919062000719565b6023553480156200016157600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000221573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024791906200073c565b600280546001600160a01b0319166001600160a01b03928316179055601f546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620002a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cc91906200073c565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af11580156200031e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034491906200073c565b602080546001600160a01b039283166001600160a01b0319918216178255306000908152600783526040808220601f54861683528452808220600019905533808352600c8552818320805460ff19908116600190811790925560198054891686528486208054831684179055601a80548a1687528587208054841685179055848752600b89528587208054841685179055600d8952858720805484168517905588548a168752858720805484168517905581548a16875285872080548416851790558054909916865284862080549092169092179055601880548616831790558054851673b1596be825eca9084649fc0087e644d91c0ce2b9179055855484168117909555601b8054841686179055601c805490931661dead17909255600354848252600684528282208190559151918252917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620007b7565b600082600003620004bc5750600062000539565b6000620004ca8385620006e9565b905082620004d9858362000719565b14620005365760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200053683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200058960201b60201c565b60008183620005ad5760405162461bcd60e51b81526004016200052d919062000767565b506000620005bc848662000719565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200061c578160001904821115620006005762000600620005c5565b808516156200060e57918102915b93841c9390800290620005e0565b509250929050565b600082620006355750600162000539565b81620006445750600062000539565b81600181146200065d5760028114620006685762000688565b600191505062000539565b60ff8411156200067c576200067c620005c5565b50506001821b62000539565b5060208310610133831016604e8410600b8410161715620006ad575081810a62000539565b620006b98383620005db565b8060001904821115620006d057620006d0620005c5565b029392505050565b60006200053660ff84168362000624565b8082028115828204841417620005395762000539620005c5565b80820180821115620005395762000539620005c5565b6000826200073757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200074f57600080fd5b81516001600160a01b03811681146200053657600080fd5b600060208083528351808285015260005b81811015620007965785810183015185820160400152820162000778565b506000604082860101526040601f19601f8301168501019250505092915050565b61287f80620007c76000396000f3fe6080604052600436106102e85760003560e01c806386f6c3c111610190578063d78e139d116100dc578063ed6a596511610095578063f2fde38b1161006f578063f2fde38b146108f3578063f887ea4014610913578063fce589d814610933578063ffb54a991461094957600080fd5b8063ed6a596514610883578063ef998cf0146108b3578063f0a9e365146108d357600080fd5b8063d78e139d1461079d578063dce8c61a146107bd578063dd0e19a1146107dd578063dd62ed3e146107fd578063e33624ab14610843578063e3763ded1461086357600080fd5b806395d89b4111610149578063b2bdfa7b11610123578063b2bdfa7b1461071d578063bb0e69e81461073d578063bdcf84e01461075d578063d51ed1c81461077d57600080fd5b806395d89b41146106af578063a8aa1b31146106dd578063a9059cbb146106fd57600080fd5b806386f6c3c1146105f05780638857203a14610610578063893d20e814610630578063896648c1146106625780638a8c523c1461067c5780638da5cb5b1461069157600080fd5b80632b112e491161024f57806370c757ec116102085780637d1db4a5116101e25780637d1db4a51461057a5780638350c3ab1461059057806384d56a7d146105b0578063857d99af146105d057600080fd5b806370c757ec14610535578063715018a61461054f57806378109e541461056457600080fd5b80632b112e491461047f578063313ce5671461049457806349dfa3c2146104b0578063571ac8b0146104c55780636ddd1713146104e557806370a08231146104ff57600080fd5b806318160ddd116102a157806318160ddd146103d457806318abb635146103e95780631c0fadef146104095780631d0f2c99146104295780631df4ccfc1461044957806323b872dd1461045f57600080fd5b80630445b667146102f457806306fdde031461031d578063095ea7b3146103575780630c7cc32c146103875780631161ae391461039e578063180b0d7e146103be57600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061030a60235481565b6040519081526020015b60405180910390f35b34801561032957600080fd5b506040805180820190915260088152674172625a696c6c6160c01b60208201525b6040516103149190612303565b34801561036357600080fd5b5061037761037236600461236d565b61096a565b6040519015158152602001610314565b34801561039357600080fd5b5061039c6109d7565b005b3480156103aa57600080fd5b506103776103b9366004612397565b610a14565b3480156103ca57600080fd5b5061030a60145481565b3480156103e057600080fd5b5060035461030a565b3480156103f557600080fd5b5061039c6104043660046123b9565b610a28565b34801561041557600080fd5b5061039c61042436600461241e565b610ab1565b34801561043557600080fd5b5061039c610444366004612397565b610b59565b34801561045557600080fd5b5061030a60135481565b34801561046b57600080fd5b5061037761047a366004612437565b610b8e565b34801561048b57600080fd5b5061030a610c50565b3480156104a057600080fd5b5060405160098152602001610314565b3480156104bc57600080fd5b5061039c610cc1565b3480156104d157600080fd5b506103776104e0366004612473565b610cfd565b3480156104f157600080fd5b506022546103779060ff1681565b34801561050b57600080fd5b5061030a61051a366004612473565b6001600160a01b031660009081526006602052604090205490565b34801561054157600080fd5b50600a546103779060ff1681565b34801561055b57600080fd5b5061039c610d0b565b34801561057057600080fd5b5061030a60055481565b34801561058657600080fd5b5061030a60045481565b34801561059c57600080fd5b5061039c6105ab36600461249c565b610d7f565b3480156105bc57600080fd5b5061039c6105cb3660046124d3565b610de7565b3480156105dc57600080fd5b5061039c6105eb3660046124d3565b610e24565b3480156105fc57600080fd5b5061039c61060b3660046124f0565b610e61565b34801561061c57600080fd5b5061039c61062b366004612533565b610f27565b34801561063c57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610314565b34801561066e57600080fd5b506008546103779060ff1681565b34801561068857600080fd5b5061039c610fc6565b34801561069d57600080fd5b506000546001600160a01b031661064a565b3480156106bb57600080fd5b506040805180820190915260058152645a494c4c4160d81b602082015261034a565b3480156106e957600080fd5b5060205461064a906001600160a01b031681565b34801561070957600080fd5b5061037761071836600461236d565b611009565b34801561072957600080fd5b5060005461064a906001600160a01b031681565b34801561074957600080fd5b5061039c610758366004612533565b611016565b34801561076957600080fd5b5061039c6107783660046125b9565b6110af565b34801561078957600080fd5b5061030a61079836600461241e565b6110ea565b3480156107a957600080fd5b5061039c6107b836600461241e565b611132565b3480156107c957600080fd5b5061039c6107d8366004612533565b6111a4565b3480156107e957600080fd5b5061039c6107f8366004612533565b61125e565b34801561080957600080fd5b5061030a6108183660046125e5565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561084f57600080fd5b5061039c61085e366004612618565b611318565b34801561086f57600080fd5b50601c5461064a906001600160a01b031681565b34801561088f57600080fd5b5061037761089e366004612473565b60096020526000908152604090205460ff1681565b3480156108bf57600080fd5b5061039c6108ce36600461241e565b611359565b3480156108df57600080fd5b506103776108ee36600461236d565b611407565b3480156108ff57600080fd5b5061039c61090e366004612473565b611516565b34801561091f57600080fd5b50601f5461064a906001600160a01b031681565b34801561093f57600080fd5b5061030a60125481565b34801561095557600080fd5b5060205461037790600160a01b900460ff1681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109c59086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610a0a5760405162461bcd60e51b8152600401610a0190612636565b60405180910390fd5b610a126116c4565b565b600082610a20836110ea565b119392505050565b6000546001600160a01b03163314610a525760405162461bcd60e51b8152600401610a0190612636565b601880546001600160a01b03199081166001600160a01b039788161790915560198054821695871695909517909455601a8054851693861693909317909255601c80548416918516919091179055601b80549092169216919091179055565b6000546001600160a01b03163314610adb5760405162461bcd60e51b8152600401610a0190612636565b6001811015610b385760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e312560e01b6064820152608401610a01565b6103e881600354610b499190612681565b610b539190612698565b60055550565b6000546001600160a01b03163314610b835760405162461bcd60e51b8152600401610a0190612636565b601d91909155601e55565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610c3b576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610c16918490611aab565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610c46848484611ae5565b90505b9392505050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22546003549192610cbc929091610cb69190611f27565b90611f27565b905090565b601a546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610cfa573d6000803e3d6000fd5b50565b60006109d18260001961096a565b6000546001600160a01b03163314610d355760405162461bcd60e51b8152600401610a0190612636565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610da95760405162461bcd60e51b8152600401610a0190612636565b6001600160a01b039091166000908152600c60209081526040808320805494151560ff199586168117909155600d9092529091208054909216179055565b6000546001600160a01b03163314610e115760405162461bcd60e51b8152600401610a0190612636565b600a805460ff1916911515919091179055565b6000546001600160a01b03163314610e4e5760405162461bcd60e51b8152600401610a0190612636565b6008805460ff1916911515919091179055565b6000546001600160a01b03163314610e8b5760405162461bcd60e51b8152600401610a0190612636565b600e8690556011859055600f84905560108390556012829055610ebc82610eb6858188818c8c611f69565b90611f69565b6013556014819055610ecf600582612698565b60135410610f1f5760405162461bcd60e51b815260206004820181905260248201527f42757920466565732063616e6e6f74206265206d6f7265207468616e203230256044820152606401610a01565b505050505050565b6000546001600160a01b03163314610f515760405162461bcd60e51b8152600401610a0190612636565b60005b82811015610fc05781600b6000868685818110610f7357610f736126ba565b9050602002016020810190610f889190612473565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610fb9816126d0565b9050610f54565b50505050565b6000546001600160a01b03163314610ff05760405162461bcd60e51b8152600401610a0190612636565b6020805460ff60a01b1916600160a01b17905543602155565b6000610c49338484611ae5565b6000546001600160a01b031633146110405760405162461bcd60e51b8152600401610a0190612636565b60005b82811015610fc0578160096000868685818110611062576110626126ba565b90506020020160208101906110779190612473565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556110a8816126d0565b9050611043565b6000546001600160a01b031633146110d95760405162461bcd60e51b8152600401610a0190612636565b601591909155601691909155601755565b60006109d16110f7610c50565b602080546001600160a01b031660009081526006909152604090205461112c90611125906002905b90611600565b8590611600565b90611682565b6000546001600160a01b0316331461115c5760405162461bcd60e51b8152600401610a0190612636565b47336108fc606461116d8585612681565b6111779190612698565b6040518115909202916000818181858888f1935050505015801561119f573d6000803e3d6000fd5b505050565b6000546001600160a01b031633146111ce5760405162461bcd60e51b8152600401610a0190612636565b6101f582106111ef5760405162461bcd60e51b8152600401610a01906126e9565b60005b82811015610fc05781600c6000868685818110611211576112116126ba565b90506020020160208101906112269190612473565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611257816126d0565b90506111f2565b6000546001600160a01b031633146112885760405162461bcd60e51b8152600401610a0190612636565b6101f582106112a95760405162461bcd60e51b8152600401610a01906126e9565b60005b82811015610fc05781600d60008686858181106112cb576112cb6126ba565b90506020020160208101906112e09190612473565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611311816126d0565b90506112ac565b6000546001600160a01b031633146113425760405162461bcd60e51b8152600401610a0190612636565b6022805460ff191692151592909217909155602355565b6000546001600160a01b031633146113835760405162461bcd60e51b8152600401610a0190612636565b60058110156113e65760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e352560b81b6064820152608401610a01565b6103e8816003546113f79190612681565b6114019190612698565b60045550565b600080546001600160a01b031633146114325760405162461bcd60e51b8152600401610a0190612636565b816000036114a5576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561147e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a2919061272e565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156114f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c499190612747565b6000546001600160a01b031633146115405760405162461bcd60e51b8152600401610a0190612636565b6001600160a01b0381166115a55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a01565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082600003611612575060006109d1565b600061161e8385612681565b90508261162b8583612698565b14610c495760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a01565b6000610c4983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fc8565b6024805460ff19166001179055601d54601e546000916116e391610a14565b6116ef57600e546116f2565b60005b90506000611716600261112c60135461112c8660235461160090919063ffffffff16565b9050600061172f82602354611f2790919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611769576117696126ba565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061179a5761179a6126ba565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b81524792919091169063791ac947906117e4908690600090879030904290600401612764565b600060405180830381600087803b1580156117fe57600080fd5b505af1158015611812573d6000803e3d6000fd5b50505050600061182b8247611f2790919063ffffffff16565b9050600061184661183d886002611682565b60135490611f27565b9050600061185b600261112c8481878d611600565b905060006118788361112c600f548761160090919063ffffffff16565b905060006118958461112c6011548861160090919063ffffffff16565b905060006118b28561112c6010548961160090919063ffffffff16565b6019546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611904576040519150601f19603f3d011682016040523d82523d6000602084013e611909565b606091505b5050601a546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611959576040519150601f19603f3d011682016040523d82523d6000602084013e61195e565b606091505b5050601b546040519192506001600160a01b0316908490600081818185875af1925050503d80600081146119ae576040519150601f19603f3d011682016040523d82523d6000602084013e6119b3565b606091505b5060009250508b159050611a9357601f5460185460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611a31573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a5691906127d5565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506024805460ff1916905550505050505050505050565b60008184841115611acf5760405162461bcd60e51b8152600401610a019190612303565b506000611adc8486612803565b95945050505050565b60245460009060ff1615611b0557611afe848484611ff6565b9050610c49565b6001600160a01b03841660009081526001602052604090205460ff16158015611b4757506001600160a01b03831660009081526001602052604090205460ff16155b15611c0157602054600160a01b900460ff16611b9c5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610a01565b600a5460ff1615611c01576001600160a01b0383166000908152600b602052604090205460ff16611c015760405162461bcd60e51b815260206004820152600f60248201526e139bdd0815da1a5d195b1a5cdd1959608a1b6044820152606401610a01565b60085460ff1615611c61576001600160a01b03841660009081526009602052604090205460ff1615611c615760405162461bcd60e51b8152602060048201526009602482015268189b1858dadb1a5cdd60ba1b6044820152606401610a01565b6001600160a01b03841660009081526001602052604090205460ff16158015611c9357506001600160a01b0383163014155b8015611caa57506001600160a01b03831661dead14155b8015611cc457506020546001600160a01b03848116911614155b8015611cde5750601c546001600160a01b03848116911614155b8015611cf85750601a546001600160a01b03848116911614155b8015611d1257506019546001600160a01b03848116911614155b8015611d3757506001600160a01b0383166000908152600d602052604090205460ff16155b15611dd8576001600160a01b038316600090815260066020526040902054600554611d628483612816565b1115611dd65760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610a01565b505b611de284836120ca565b611dea612137565b15611df757611df76116c4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054611e49918490611aab565b6001600160a01b038516600090815260066020908152604080832093909355600c90529081205460ff1680611e9657506001600160a01b0384166000908152600c602052604090205460ff165b611eaa57611ea5858486612186565b611eac565b825b6001600160a01b038516600090815260066020526040902054909150611ed29082611f69565b6001600160a01b03808616600081815260066020526040908190209390935591519087169060008051602061282a83398151915290611f149085815260200190565b60405180910390a3506001949350505050565b6000610c4983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611aab565b600080611f768385612816565b905083811015610c495760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a01565b60008183611fe95760405162461bcd60e51b8152600401610a019190612303565b506000611adc8486612698565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054612047918490611aab565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546120769083611f69565b6001600160a01b03808516600081815260066020526040908190209390935591519086169060008051602061282a833981519152906120b89086815260200190565b60405180910390a35060019392505050565b600454811115806120f357506001600160a01b0382166000908152600d602052604090205460ff165b6121335760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610a01565b5050565b6020546000906001600160a01b03163314801590612158575060245460ff16155b8015612166575060225460ff165b8015610cbc57505060235430600090815260066020526040902054101590565b601754602054600091906001600160a01b03908116908416036121ac57506015546121c7565b6020546001600160a01b03908116908616036121c757506016545b60006121f460145460646121db9190612681565b61112c8461111f6013548a61160090919063ffffffff16565b9050600061221360135461112c6012548561160090919063ffffffff16565b905060006122218383611f27565b3060009081526006602052604090205490915061223e9082611f69565b3060009081526006602052604080822092909255601c546001600160a01b03168152205461226c9083611f69565b601c546001600160a01b0390811660009081526006602090815260409182902093909355518381523092918b169160008051602061282a833981519152910160405180910390a381156122ed57601c546040518381526001600160a01b03918216918a169060008051602061282a8339815191529060200160405180910390a35b6122f78784611f27565b98975050505050505050565b600060208083528351808285015260005b8181101561233057858101830151858201604001528201612314565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461236857600080fd5b919050565b6000806040838503121561238057600080fd5b61238983612351565b946020939093013593505050565b600080604083850312156123aa57600080fd5b50508035926020909101359150565b600080600080600060a086880312156123d157600080fd5b6123da86612351565b94506123e860208701612351565b93506123f660408701612351565b925061240460608701612351565b915061241260808701612351565b90509295509295909350565b60006020828403121561243057600080fd5b5035919050565b60008060006060848603121561244c57600080fd5b61245584612351565b925061246360208501612351565b9150604084013590509250925092565b60006020828403121561248557600080fd5b610c4982612351565b8015158114610cfa57600080fd5b600080604083850312156124af57600080fd5b6124b883612351565b915060208301356124c88161248e565b809150509250929050565b6000602082840312156124e557600080fd5b8135610c498161248e565b60008060008060008060c0878903121561250957600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060006040848603121561254857600080fd5b833567ffffffffffffffff8082111561256057600080fd5b818601915086601f83011261257457600080fd5b81358181111561258357600080fd5b8760208260051b850101111561259857600080fd5b602092830195509350508401356125ae8161248e565b809150509250925092565b6000806000606084860312156125ce57600080fd5b505081359360208301359350604090920135919050565b600080604083850312156125f857600080fd5b61260183612351565b915061260f60208401612351565b90509250929050565b6000806040838503121561262b57600080fd5b82356123898161248e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176109d1576109d161266b565b6000826126b557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000600182016126e2576126e261266b565b5060010190565b60208082526025908201527f474153204572726f723a206d6178206c696d6974206973203530302061646472604082015264657373657360d81b606082015260800190565b60006020828403121561274057600080fd5b5051919050565b60006020828403121561275957600080fd5b8151610c498161248e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156127b45784516001600160a01b03168352938301939183019160010161278f565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156127ea57600080fd5b8351925060208401519150604084015190509250925092565b818103818111156109d1576109d161266b565b808201808211156109d1576109d161266b56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212203e503bbf2091ed540a13fb4e614b9aa5810999d5f9fc87346ca1eb6a15985cc064736f6c63430008120033

Deployed Bytecode

0x6080604052600436106102e85760003560e01c806386f6c3c111610190578063d78e139d116100dc578063ed6a596511610095578063f2fde38b1161006f578063f2fde38b146108f3578063f887ea4014610913578063fce589d814610933578063ffb54a991461094957600080fd5b8063ed6a596514610883578063ef998cf0146108b3578063f0a9e365146108d357600080fd5b8063d78e139d1461079d578063dce8c61a146107bd578063dd0e19a1146107dd578063dd62ed3e146107fd578063e33624ab14610843578063e3763ded1461086357600080fd5b806395d89b4111610149578063b2bdfa7b11610123578063b2bdfa7b1461071d578063bb0e69e81461073d578063bdcf84e01461075d578063d51ed1c81461077d57600080fd5b806395d89b41146106af578063a8aa1b31146106dd578063a9059cbb146106fd57600080fd5b806386f6c3c1146105f05780638857203a14610610578063893d20e814610630578063896648c1146106625780638a8c523c1461067c5780638da5cb5b1461069157600080fd5b80632b112e491161024f57806370c757ec116102085780637d1db4a5116101e25780637d1db4a51461057a5780638350c3ab1461059057806384d56a7d146105b0578063857d99af146105d057600080fd5b806370c757ec14610535578063715018a61461054f57806378109e541461056457600080fd5b80632b112e491461047f578063313ce5671461049457806349dfa3c2146104b0578063571ac8b0146104c55780636ddd1713146104e557806370a08231146104ff57600080fd5b806318160ddd116102a157806318160ddd146103d457806318abb635146103e95780631c0fadef146104095780631d0f2c99146104295780631df4ccfc1461044957806323b872dd1461045f57600080fd5b80630445b667146102f457806306fdde031461031d578063095ea7b3146103575780630c7cc32c146103875780631161ae391461039e578063180b0d7e146103be57600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061030a60235481565b6040519081526020015b60405180910390f35b34801561032957600080fd5b506040805180820190915260088152674172625a696c6c6160c01b60208201525b6040516103149190612303565b34801561036357600080fd5b5061037761037236600461236d565b61096a565b6040519015158152602001610314565b34801561039357600080fd5b5061039c6109d7565b005b3480156103aa57600080fd5b506103776103b9366004612397565b610a14565b3480156103ca57600080fd5b5061030a60145481565b3480156103e057600080fd5b5060035461030a565b3480156103f557600080fd5b5061039c6104043660046123b9565b610a28565b34801561041557600080fd5b5061039c61042436600461241e565b610ab1565b34801561043557600080fd5b5061039c610444366004612397565b610b59565b34801561045557600080fd5b5061030a60135481565b34801561046b57600080fd5b5061037761047a366004612437565b610b8e565b34801561048b57600080fd5b5061030a610c50565b3480156104a057600080fd5b5060405160098152602001610314565b3480156104bc57600080fd5b5061039c610cc1565b3480156104d157600080fd5b506103776104e0366004612473565b610cfd565b3480156104f157600080fd5b506022546103779060ff1681565b34801561050b57600080fd5b5061030a61051a366004612473565b6001600160a01b031660009081526006602052604090205490565b34801561054157600080fd5b50600a546103779060ff1681565b34801561055b57600080fd5b5061039c610d0b565b34801561057057600080fd5b5061030a60055481565b34801561058657600080fd5b5061030a60045481565b34801561059c57600080fd5b5061039c6105ab36600461249c565b610d7f565b3480156105bc57600080fd5b5061039c6105cb3660046124d3565b610de7565b3480156105dc57600080fd5b5061039c6105eb3660046124d3565b610e24565b3480156105fc57600080fd5b5061039c61060b3660046124f0565b610e61565b34801561061c57600080fd5b5061039c61062b366004612533565b610f27565b34801561063c57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610314565b34801561066e57600080fd5b506008546103779060ff1681565b34801561068857600080fd5b5061039c610fc6565b34801561069d57600080fd5b506000546001600160a01b031661064a565b3480156106bb57600080fd5b506040805180820190915260058152645a494c4c4160d81b602082015261034a565b3480156106e957600080fd5b5060205461064a906001600160a01b031681565b34801561070957600080fd5b5061037761071836600461236d565b611009565b34801561072957600080fd5b5060005461064a906001600160a01b031681565b34801561074957600080fd5b5061039c610758366004612533565b611016565b34801561076957600080fd5b5061039c6107783660046125b9565b6110af565b34801561078957600080fd5b5061030a61079836600461241e565b6110ea565b3480156107a957600080fd5b5061039c6107b836600461241e565b611132565b3480156107c957600080fd5b5061039c6107d8366004612533565b6111a4565b3480156107e957600080fd5b5061039c6107f8366004612533565b61125e565b34801561080957600080fd5b5061030a6108183660046125e5565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561084f57600080fd5b5061039c61085e366004612618565b611318565b34801561086f57600080fd5b50601c5461064a906001600160a01b031681565b34801561088f57600080fd5b5061037761089e366004612473565b60096020526000908152604090205460ff1681565b3480156108bf57600080fd5b5061039c6108ce36600461241e565b611359565b3480156108df57600080fd5b506103776108ee36600461236d565b611407565b3480156108ff57600080fd5b5061039c61090e366004612473565b611516565b34801561091f57600080fd5b50601f5461064a906001600160a01b031681565b34801561093f57600080fd5b5061030a60125481565b34801561095557600080fd5b5060205461037790600160a01b900460ff1681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109c59086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610a0a5760405162461bcd60e51b8152600401610a0190612636565b60405180910390fd5b610a126116c4565b565b600082610a20836110ea565b119392505050565b6000546001600160a01b03163314610a525760405162461bcd60e51b8152600401610a0190612636565b601880546001600160a01b03199081166001600160a01b039788161790915560198054821695871695909517909455601a8054851693861693909317909255601c80548416918516919091179055601b80549092169216919091179055565b6000546001600160a01b03163314610adb5760405162461bcd60e51b8152600401610a0190612636565b6001811015610b385760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e312560e01b6064820152608401610a01565b6103e881600354610b499190612681565b610b539190612698565b60055550565b6000546001600160a01b03163314610b835760405162461bcd60e51b8152600401610a0190612636565b601d91909155601e55565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610c3b576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610c16918490611aab565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610c46848484611ae5565b90505b9392505050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22546003549192610cbc929091610cb69190611f27565b90611f27565b905090565b601a546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610cfa573d6000803e3d6000fd5b50565b60006109d18260001961096a565b6000546001600160a01b03163314610d355760405162461bcd60e51b8152600401610a0190612636565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610da95760405162461bcd60e51b8152600401610a0190612636565b6001600160a01b039091166000908152600c60209081526040808320805494151560ff199586168117909155600d9092529091208054909216179055565b6000546001600160a01b03163314610e115760405162461bcd60e51b8152600401610a0190612636565b600a805460ff1916911515919091179055565b6000546001600160a01b03163314610e4e5760405162461bcd60e51b8152600401610a0190612636565b6008805460ff1916911515919091179055565b6000546001600160a01b03163314610e8b5760405162461bcd60e51b8152600401610a0190612636565b600e8690556011859055600f84905560108390556012829055610ebc82610eb6858188818c8c611f69565b90611f69565b6013556014819055610ecf600582612698565b60135410610f1f5760405162461bcd60e51b815260206004820181905260248201527f42757920466565732063616e6e6f74206265206d6f7265207468616e203230256044820152606401610a01565b505050505050565b6000546001600160a01b03163314610f515760405162461bcd60e51b8152600401610a0190612636565b60005b82811015610fc05781600b6000868685818110610f7357610f736126ba565b9050602002016020810190610f889190612473565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610fb9816126d0565b9050610f54565b50505050565b6000546001600160a01b03163314610ff05760405162461bcd60e51b8152600401610a0190612636565b6020805460ff60a01b1916600160a01b17905543602155565b6000610c49338484611ae5565b6000546001600160a01b031633146110405760405162461bcd60e51b8152600401610a0190612636565b60005b82811015610fc0578160096000868685818110611062576110626126ba565b90506020020160208101906110779190612473565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556110a8816126d0565b9050611043565b6000546001600160a01b031633146110d95760405162461bcd60e51b8152600401610a0190612636565b601591909155601691909155601755565b60006109d16110f7610c50565b602080546001600160a01b031660009081526006909152604090205461112c90611125906002905b90611600565b8590611600565b90611682565b6000546001600160a01b0316331461115c5760405162461bcd60e51b8152600401610a0190612636565b47336108fc606461116d8585612681565b6111779190612698565b6040518115909202916000818181858888f1935050505015801561119f573d6000803e3d6000fd5b505050565b6000546001600160a01b031633146111ce5760405162461bcd60e51b8152600401610a0190612636565b6101f582106111ef5760405162461bcd60e51b8152600401610a01906126e9565b60005b82811015610fc05781600c6000868685818110611211576112116126ba565b90506020020160208101906112269190612473565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611257816126d0565b90506111f2565b6000546001600160a01b031633146112885760405162461bcd60e51b8152600401610a0190612636565b6101f582106112a95760405162461bcd60e51b8152600401610a01906126e9565b60005b82811015610fc05781600d60008686858181106112cb576112cb6126ba565b90506020020160208101906112e09190612473565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611311816126d0565b90506112ac565b6000546001600160a01b031633146113425760405162461bcd60e51b8152600401610a0190612636565b6022805460ff191692151592909217909155602355565b6000546001600160a01b031633146113835760405162461bcd60e51b8152600401610a0190612636565b60058110156113e65760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e352560b81b6064820152608401610a01565b6103e8816003546113f79190612681565b6114019190612698565b60045550565b600080546001600160a01b031633146114325760405162461bcd60e51b8152600401610a0190612636565b816000036114a5576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561147e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a2919061272e565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156114f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c499190612747565b6000546001600160a01b031633146115405760405162461bcd60e51b8152600401610a0190612636565b6001600160a01b0381166115a55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a01565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082600003611612575060006109d1565b600061161e8385612681565b90508261162b8583612698565b14610c495760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a01565b6000610c4983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fc8565b6024805460ff19166001179055601d54601e546000916116e391610a14565b6116ef57600e546116f2565b60005b90506000611716600261112c60135461112c8660235461160090919063ffffffff16565b9050600061172f82602354611f2790919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611769576117696126ba565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061179a5761179a6126ba565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b81524792919091169063791ac947906117e4908690600090879030904290600401612764565b600060405180830381600087803b1580156117fe57600080fd5b505af1158015611812573d6000803e3d6000fd5b50505050600061182b8247611f2790919063ffffffff16565b9050600061184661183d886002611682565b60135490611f27565b9050600061185b600261112c8481878d611600565b905060006118788361112c600f548761160090919063ffffffff16565b905060006118958461112c6011548861160090919063ffffffff16565b905060006118b28561112c6010548961160090919063ffffffff16565b6019546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611904576040519150601f19603f3d011682016040523d82523d6000602084013e611909565b606091505b5050601a546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611959576040519150601f19603f3d011682016040523d82523d6000602084013e61195e565b606091505b5050601b546040519192506001600160a01b0316908490600081818185875af1925050503d80600081146119ae576040519150601f19603f3d011682016040523d82523d6000602084013e6119b3565b606091505b5060009250508b159050611a9357601f5460185460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611a31573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a5691906127d5565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506024805460ff1916905550505050505050505050565b60008184841115611acf5760405162461bcd60e51b8152600401610a019190612303565b506000611adc8486612803565b95945050505050565b60245460009060ff1615611b0557611afe848484611ff6565b9050610c49565b6001600160a01b03841660009081526001602052604090205460ff16158015611b4757506001600160a01b03831660009081526001602052604090205460ff16155b15611c0157602054600160a01b900460ff16611b9c5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610a01565b600a5460ff1615611c01576001600160a01b0383166000908152600b602052604090205460ff16611c015760405162461bcd60e51b815260206004820152600f60248201526e139bdd0815da1a5d195b1a5cdd1959608a1b6044820152606401610a01565b60085460ff1615611c61576001600160a01b03841660009081526009602052604090205460ff1615611c615760405162461bcd60e51b8152602060048201526009602482015268189b1858dadb1a5cdd60ba1b6044820152606401610a01565b6001600160a01b03841660009081526001602052604090205460ff16158015611c9357506001600160a01b0383163014155b8015611caa57506001600160a01b03831661dead14155b8015611cc457506020546001600160a01b03848116911614155b8015611cde5750601c546001600160a01b03848116911614155b8015611cf85750601a546001600160a01b03848116911614155b8015611d1257506019546001600160a01b03848116911614155b8015611d3757506001600160a01b0383166000908152600d602052604090205460ff16155b15611dd8576001600160a01b038316600090815260066020526040902054600554611d628483612816565b1115611dd65760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610a01565b505b611de284836120ca565b611dea612137565b15611df757611df76116c4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054611e49918490611aab565b6001600160a01b038516600090815260066020908152604080832093909355600c90529081205460ff1680611e9657506001600160a01b0384166000908152600c602052604090205460ff165b611eaa57611ea5858486612186565b611eac565b825b6001600160a01b038516600090815260066020526040902054909150611ed29082611f69565b6001600160a01b03808616600081815260066020526040908190209390935591519087169060008051602061282a83398151915290611f149085815260200190565b60405180910390a3506001949350505050565b6000610c4983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611aab565b600080611f768385612816565b905083811015610c495760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a01565b60008183611fe95760405162461bcd60e51b8152600401610a019190612303565b506000611adc8486612698565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054612047918490611aab565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546120769083611f69565b6001600160a01b03808516600081815260066020526040908190209390935591519086169060008051602061282a833981519152906120b89086815260200190565b60405180910390a35060019392505050565b600454811115806120f357506001600160a01b0382166000908152600d602052604090205460ff165b6121335760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610a01565b5050565b6020546000906001600160a01b03163314801590612158575060245460ff16155b8015612166575060225460ff165b8015610cbc57505060235430600090815260066020526040902054101590565b601754602054600091906001600160a01b03908116908416036121ac57506015546121c7565b6020546001600160a01b03908116908616036121c757506016545b60006121f460145460646121db9190612681565b61112c8461111f6013548a61160090919063ffffffff16565b9050600061221360135461112c6012548561160090919063ffffffff16565b905060006122218383611f27565b3060009081526006602052604090205490915061223e9082611f69565b3060009081526006602052604080822092909255601c546001600160a01b03168152205461226c9083611f69565b601c546001600160a01b0390811660009081526006602090815260409182902093909355518381523092918b169160008051602061282a833981519152910160405180910390a381156122ed57601c546040518381526001600160a01b03918216918a169060008051602061282a8339815191529060200160405180910390a35b6122f78784611f27565b98975050505050505050565b600060208083528351808285015260005b8181101561233057858101830151858201604001528201612314565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461236857600080fd5b919050565b6000806040838503121561238057600080fd5b61238983612351565b946020939093013593505050565b600080604083850312156123aa57600080fd5b50508035926020909101359150565b600080600080600060a086880312156123d157600080fd5b6123da86612351565b94506123e860208701612351565b93506123f660408701612351565b925061240460608701612351565b915061241260808701612351565b90509295509295909350565b60006020828403121561243057600080fd5b5035919050565b60008060006060848603121561244c57600080fd5b61245584612351565b925061246360208501612351565b9150604084013590509250925092565b60006020828403121561248557600080fd5b610c4982612351565b8015158114610cfa57600080fd5b600080604083850312156124af57600080fd5b6124b883612351565b915060208301356124c88161248e565b809150509250929050565b6000602082840312156124e557600080fd5b8135610c498161248e565b60008060008060008060c0878903121561250957600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060006040848603121561254857600080fd5b833567ffffffffffffffff8082111561256057600080fd5b818601915086601f83011261257457600080fd5b81358181111561258357600080fd5b8760208260051b850101111561259857600080fd5b602092830195509350508401356125ae8161248e565b809150509250925092565b6000806000606084860312156125ce57600080fd5b505081359360208301359350604090920135919050565b600080604083850312156125f857600080fd5b61260183612351565b915061260f60208401612351565b90509250929050565b6000806040838503121561262b57600080fd5b82356123898161248e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176109d1576109d161266b565b6000826126b557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000600182016126e2576126e261266b565b5060010190565b60208082526025908201527f474153204572726f723a206d6178206c696d6974206973203530302061646472604082015264657373657360d81b606082015260800190565b60006020828403121561274057600080fd5b5051919050565b60006020828403121561275957600080fd5b8151610c498161248e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156127b45784516001600160a01b03168352938301939183019160010161278f565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156127ea57600080fd5b8351925060208401519150604084015190509250925092565b818103818111156109d1576109d161266b565b808201808211156109d1576109d161266b56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212203e503bbf2091ed540a13fb4e614b9aa5810999d5f9fc87346ca1eb6a15985cc064736f6c63430008120033

Deployed Bytecode Sourcemap

4982:14830:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6851:56;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6851:56:0;;;;;;;;8325:80;;;;;;;;;;-1:-1:-1;8397:5:0;;;;;;;;;;;;-1:-1:-1;;;8397:5:0;;;;8325:80;;;;;;;:::i;8747:216::-;;;;;;;;;;-1:-1:-1;8747:216:0;;;;;:::i;:::-;;:::i;:::-;;;1351:14:1;;1344:22;1326:41;;1314:2;1299:18;8747:216:0;1186:187:1;14187:73:0;;;;;;;;;;;;;:::i;:::-;;19584:154;;;;;;;;;;-1:-1:-1;19584:154:0;;;;;:::i;:::-;;:::i;6232:36::-;;;;;;;;;;;;;;;;8055:88;;;;;;;;;;-1:-1:-1;8128:12:0;;8055:88;;18465:437;;;;;;;;;;-1:-1:-1;18465:437:0;;;;;:::i;:::-;;:::i;9643:250::-;;;;;;;;;;-1:-1:-1;9643:250:0;;;;;:::i;:::-;;:::i;19068:173::-;;;;;;;;;;-1:-1:-1;19068:173:0;;;;;:::i;:::-;;:::i;6136:89::-;;;;;;;;;;;;;;;;9265:370;;;;;;;;;;-1:-1:-1;9265:370:0;;;;;:::i;:::-;;:::i;19259:142::-;;;;;;;;;;;;;:::i;8149:80::-;;;;;;;;;;-1:-1:-1;8149:80:0;;5336:1;2780:36:1;;2768:2;2753:18;8149:80:0;2638:184:1;14640:121:0;;;;;;;;;;;;;:::i;8971:122::-;;;;;;;;;;-1:-1:-1;8971:122:0;;;;;:::i;:::-;;:::i;6814:30::-;;;;;;;;;;-1:-1:-1;6814:30:0;;;;;;;;8495:105;;;;;;;;;;-1:-1:-1;8495:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8579:18:0;8561:7;8579:18;;;:9;:18;;;;;;;8495:105;5749:33;;;;;;;;;;-1:-1:-1;5749:33:0;;;;;;;;3039:148;;;;;;;;;;;;;:::i;5470:61::-;;;;;;;;;;;;;;;;5405:58;;;;;;;;;;;;;;;;10168:162;;;;;;;;;;-1:-1:-1;10168:162:0;;;;;:::i;:::-;;:::i;16756:103::-;;;;;;;;;;-1:-1:-1;16756:103:0;;;;;:::i;:::-;;:::i;16648:96::-;;;;;;;;;;-1:-1:-1;16648:96:0;;;;;:::i;:::-;;:::i;17905:552::-;;;;;;;;;;-1:-1:-1;17905:552:0;;;;;:::i;:::-;;:::i;17084:209::-;;;;;;;;;;-1:-1:-1;17084:209:0;;;;;:::i;:::-;;:::i;8411:78::-;;;;;;;;;;-1:-1:-1;8463:7:0;2890:6;-1:-1:-1;;;;;2890:6:0;8411:78;;;-1:-1:-1;;;;;5154:32:1;;;5136:51;;5124:2;5109:18;8411:78:0;4990:203:1;5655:32:0;;;;;;;;;;-1:-1:-1;5655:32:0;;;;;;;;14511:116;;;;;;;;;;;;;:::i;2825:79::-;;;;;;;;;;-1:-1:-1;2863:7:0;2890:6;-1:-1:-1;;;;;2890:6:0;2825:79;;8235:84;;;;;;;;;;-1:-1:-1;8309:7:0;;;;;;;;;;;;-1:-1:-1;;;8309:7:0;;;;8235:84;;6703:19;;;;;;;;;;-1:-1:-1;6703:19:0;;;;-1:-1:-1;;;;;6703:19:0;;;9101:156;;;;;;;;;;-1:-1:-1;9101:156:0;;;;;:::i;:::-;;:::i;2445:21::-;;;;;;;;;;-1:-1:-1;2445:21:0;;;;-1:-1:-1;;;;;2445:21:0;;;16867:209;;;;;;;;;;-1:-1:-1;16867:209:0;;;;;:::i;:::-;;:::i;14268:212::-;;;;;;;;;;-1:-1:-1;14268:212:0;;;;;:::i;:::-;;:::i;19409:167::-;;;;;;;;;;-1:-1:-1;19409:167:0;;;;;:::i;:::-;;:::i;13917:258::-;;;;;;;;;;-1:-1:-1;13917:258:0;;;;;:::i;:::-;;:::i;17301:290::-;;;;;;;;;;-1:-1:-1;17301:290:0;;;;;:::i;:::-;;:::i;17599:298::-;;;;;;;;;;-1:-1:-1;17599:298:0;;;;;:::i;:::-;;:::i;8606:133::-;;;;;;;;;;-1:-1:-1;8606:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8708:19:0;;;8690:7;8708:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8606:133;18910:150;;;;;;;;;;-1:-1:-1;18910:150:0;;;;;:::i;:::-;;:::i;6549:30::-;;;;;;;;;;-1:-1:-1;6549:30:0;;;;-1:-1:-1;;;;;6549:30:0;;;5694:46;;;;;;;;;;-1:-1:-1;5694:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9901:249;;;;;;;;;;-1:-1:-1;9901:249:0;;;;;:::i;:::-;;:::i;13632:277::-;;;;;;;;;;-1:-1:-1;13632:277:0;;;;;:::i;:::-;;:::i;3195:244::-;;;;;;;;;;-1:-1:-1;3195:244:0;;;;;:::i;:::-;;:::i;6672:24::-;;;;;;;;;;-1:-1:-1;6672:24:0;;;;-1:-1:-1;;;;;6672:24:0;;;6095:34;;;;;;;;;;;;;;;;6734:31;;;;;;;;;;-1:-1:-1;6734:31:0;;;;-1:-1:-1;;;6734:31:0;;;;;;8747:216;8851:10;8822:4;8839:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8839:32:0;;;;;;;;;;:41;;;8896:37;8822:4;;8839:32;;8896:37;;;;8874:6;160:25:1;;148:2;133:18;;14:177;8896:37:0;;;;;;;;-1:-1:-1;8951:4:0;8747:216;;;;;:::o;14187:73::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;;;;;;;;;14240:10:::1;:8;:10::i;:::-;14187:73::o:0;19584:154::-;19664:4;19720:6;19688:29;19708:8;19688:19;:29::i;:::-;:38;;19584:154;-1:-1:-1;;;19584:154:0:o;18465:437::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;18660:21:::1;:46:::0;;-1:-1:-1;;;;;;18660:46:0;;::::1;-1:-1:-1::0;;;;;18660:46:0;;::::1;;::::0;;;18717:20:::1;:44:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18772:14:::1;:32:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18815:15:::1;:34:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;18860:15:::1;:34:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;18465:437::o;9643:250::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;9767:1:::1;9740:23;:28;;9732:76;;;::::0;-1:-1:-1;;;9732:76:0;;6887:2:1;9732:76:0::1;::::0;::::1;6869:21:1::0;6926:2;6906:18;;;6899:30;6965:34;6945:18;;;6938:62;-1:-1:-1;;;7016:18:1;;;7009:34;7060:19;;9732:76:0::1;6685:400:1::0;9732:76:0::1;9881:4;9853:23;9838:12;;:38;;;;:::i;:::-;9837:48;;;;:::i;:::-;9819:15;:66:::0;-1:-1:-1;9643:250:0:o;19068:173::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;19156:15:::1;:25:::0;;;;19192:26:::1;:41:::0;19068:173::o;9265:370::-;-1:-1:-1;;;;;9385:19:0;;9365:4;9385:19;;;:11;:19;;;;;;;;9405:10;9385:31;;;;;;;;-1:-1:-1;;9385:52:0;9382:186;;9487:69;;;;;;;;;;;-1:-1:-1;;;9487:69:0;;;;;;;;-1:-1:-1;;;;;9487:19:0;;-1:-1:-1;9487:19:0;;;:11;:19;;;;;9507:10;9487:31;;;;;;;;;;:69;;9523:6;;9487:35;:69::i;:::-;-1:-1:-1;;;;;9453:19:0;;;;;;:11;:19;;;;;;;;9473:10;9453:31;;;;;;;:103;9382:186;9587:40;9601:6;9609:9;9620:6;9587:13;:40::i;:::-;9580:47;;9265:370;;;;;;:::o;19259:142::-;8579:9;:18;;;;5104:42;19312:7;8579:18;;;;;19339:12;;19312:7;;19339:54;;8579:18;;19339:33;;:12;:16;:33::i;:::-;:37;;:54::i;:::-;19332:61;;19259:142;:::o;14640:121::-;14696:14;;14688:55;;-1:-1:-1;;;;;14696:14:0;;;;14721:21;14688:55;;;;;14696:14;14688:55;14696:14;14688:55;14721:21;14696:14;14688:55;;;;;;;;;;;;;;;;;;;;;14640:121::o;8971:122::-;9026:4;9050:35;9058:7;-1:-1:-1;;9050:7:0;:35::i;3039:148::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;3146:1:::1;3130:6:::0;;3109:40:::1;::::0;-1:-1:-1;;;;;3130:6:0;;::::1;::::0;3109:40:::1;::::0;3146:1;;3109:40:::1;3177:1;3160:19:::0;;-1:-1:-1;;;;;;3160:19:0::1;::::0;;3039:148::o;10168:162::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10251:19:0;;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;:28;;;::::1;;-1:-1:-1::0;;10251:28:0;;::::1;::::0;::::1;::::0;;;10290:15:::1;:23:::0;;;;;;:32;;;;::::1;;::::0;;10168:162::o;16756:103::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;16826:13:::1;:23:::0;;-1:-1:-1;;16826:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16756:103::o;16648:96::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;16713:13:::1;:23:::0;;-1:-1:-1;;16713:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16648:96::o;17905:552::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;18076:12:::1;:28:::0;;;18115:7:::1;:18:::0;;;18144:12:::1;:28:::0;;;18183:6:::1;:16:::0;;;18210:7:::1;:18:::0;;;18250:73:::1;18220:8:::0;18250:59:::1;18192:7:::0;18250:59;18159:13;18250:59;18091:13;18125:8;18250:17:::1;:27::i;:::-;:31:::0;::::1;:46::i;:73::-;18239:8;:84:::0;18334:14:::1;:32:::0;;;18396:16:::1;18411:1;18351:15:::0;18396:16:::1;:::i;:::-;18385:8;;:27;18377:72;;;::::0;-1:-1:-1;;;18377:72:0;;7819:2:1;18377:72:0::1;::::0;::::1;7801:21:1::0;;;7838:18;;;7831:30;7897:34;7877:18;;;7870:62;7949:18;;18377:72:0::1;7617:356:1::0;18377:72:0::1;17905:552:::0;;;;;;:::o;17084:209::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;17185:9:::1;17180:106;17196:20:::0;;::::1;17180:106;;;17268:6;17238:13;:27;17252:9;;17262:1;17252:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17238:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17238:27:0;:36;;-1:-1:-1;;17238:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17218:3:::1;::::0;::::1;:::i;:::-;;;17180:106;;;;17084:209:::0;;;:::o;14511:116::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;14564:11:::1;:18:::0;;-1:-1:-1;;;;14564:18:0::1;-1:-1:-1::0;;;14564:18:0::1;::::0;;14607:12:::1;14593:11;:26:::0;14511:116::o;9101:156::-;9181:4;9205:44;9219:10;9231:9;9242:6;9205:13;:44::i;16867:209::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;16968:9:::1;16963:106;16979:20:::0;;::::1;16963:106;;;17051:6;17021:13;:27;17035:9;;17045:1;17035:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17021:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17021:27:0;:36;;-1:-1:-1;;17021:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17001:3:::1;::::0;::::1;:::i;:::-;;;16963:106;;14268:212:::0;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;14370:14:::1;:22:::0;;;;14403:13:::1;:20:::0;;;;14434:18:::1;:27:::0;14268:212::o;19409:167::-;19477:7;19504:64;19545:22;:20;:22::i;:::-;19527:4;;;-1:-1:-1;;;;;19527:4:0;8561:7;8579:18;;;:9;:18;;;;;;;19504:36;;19517:22;;19537:1;;19517:15;:19;;:22::i;:::-;19504:8;;:12;:36::i;:::-;:40;;:64::i;13917:258::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;14061:21:::1;14101:10;14093:64;14153:3;14122:28;14134:16:::0;14061:21;14122:28:::1;:::i;:::-;:34;;;;:::i;:::-;14093:64;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13985:190;13917:258:::0;:::o;17301:290::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;17425:3:::1;17406:22:::0;::::1;17398:71;;;;-1:-1:-1::0;;;17398:71:0::1;;;;;;;:::i;:::-;17485:9;17480:104;17496:20:::0;;::::1;17480:104;;;17566:6;17538:11;:25;17550:9;;17560:1;17550:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17538:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17538:25:0;:34;;-1:-1:-1;;17538:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17518:3:::1;::::0;::::1;:::i;:::-;;;17480:104;;17599:298:::0;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;17727:3:::1;17708:22:::0;::::1;17700:71;;;;-1:-1:-1::0;;;17700:71:0::1;;;;;;;:::i;:::-;17787:9;17782:108;17798:20:::0;;::::1;17782:108;;;17872:6;17840:15;:29;17856:9;;17866:1;17856:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17840:29:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17840:29:0;:38;;-1:-1:-1;;17840:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17820:3:::1;::::0;::::1;:::i;:::-;;;17782:108;;18910:150:::0;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;18996:11:::1;:22:::0;;-1:-1:-1;;18996:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;19029:13:::1;:23:::0;18910:150::o;9901:249::-;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;10021:1:::1;9993:24;:29;;9985:82;;;::::0;-1:-1:-1;;;9985:82:0;;8858:2:1;9985:82:0::1;::::0;::::1;8840:21:1::0;8897:2;8877:18;;;8870:30;8936:34;8916:18;;;8909:62;-1:-1:-1;;;8987:18:1;;;8980:39;9036:19;;9985:82:0::1;8656:405:1::0;9985:82:0::1;10138:4;10109:24;10094:12;;:39;;;;:::i;:::-;10093:49;;;;:::i;:::-;10078:12;:64:::0;-1:-1:-1;9901:249:0:o;13632:277::-;13723:4;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;13740:6:::1;13750:1;13740:11:::0;13737:97:::1;;13776:46;::::0;-1:-1:-1;;;13776:46:0;;13816:4:::1;13776:46;::::0;::::1;5136:51:1::0;-1:-1:-1;;;;;13776:31:0;::::1;::::0;::::1;::::0;5109:18:1;;13776:46:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13767:55;;13737:97;13851:50;::::0;-1:-1:-1;;;13851:50:0;;13882:10:::1;13851:50;::::0;::::1;9429:51:1::0;9496:18;;;9489:34;;;-1:-1:-1;;;;;13851:30:0;::::1;::::0;::::1;::::0;9402:18:1;;13851:50:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3195:244::-:0;2952:6;;-1:-1:-1;;;;;2952:6:0;2262:10;2952:22;2944:67;;;;-1:-1:-1;;;2944:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3284:22:0;::::1;3276:73;;;::::0;-1:-1:-1;;;3276:73:0;;9986:2:1;3276:73:0::1;::::0;::::1;9968:21:1::0;10025:2;10005:18;;;9998:30;10064:34;10044:18;;;10037:62;-1:-1:-1;;;10115:18:1;;;10108:36;10161:19;;3276:73:0::1;9784:402:1::0;3276:73:0::1;3386:6;::::0;;3365:38:::1;::::0;-1:-1:-1;;;;;3365:38:0;;::::1;::::0;3386:6;::::1;::::0;3365:38:::1;::::0;::::1;3414:6;:17:::0;;-1:-1:-1;;;;;;3414:17:0::1;-1:-1:-1::0;;;;;3414:17:0;;;::::1;::::0;;;::::1;::::0;;3195:244::o;623:250::-;681:7;705:1;710;705:6;701:47;;-1:-1:-1;735:1:0;728:8;;701:47;760:9;772:5;776:1;772;:5;:::i;:::-;760:17;-1:-1:-1;805:1:0;796:5;800:1;760:17;796:5;:::i;:::-;:10;788:56;;;;-1:-1:-1;;;788:56:0;;10393:2:1;788:56:0;;;10375:21:1;10432:2;10412:18;;;10405:30;10471:34;10451:18;;;10444:62;-1:-1:-1;;;10522:18:1;;;10515:31;10563:19;;788:56:0;10191:397:1;879:132:0;937:7;964:39;968:1;971;964:39;;;;;;;;;;;;;;;;;:3;:39::i;14769:1871::-;6954:6;:13;;-1:-1:-1;;6954:13:0;6963:4;6954:13;;;14864:15:::1;::::0;14881:26:::1;::::0;6954:6;;14848:60:::1;::::0;:15:::1;:60::i;:::-;:79;;14915:12;;14848:79;;;14911:1;14848:79;14818:109;;14938:23;14964:59;15021:1;14964:52;15007:8;;14964:38;14982:19;14964:13;;:17;;:38;;;;:::i;:59::-;14938:85;;15034:20;15057:34;15075:15;15057:13;;:17;;:34;;;;:::i;:::-;15128:16;::::0;;15142:1:::1;15128:16:::0;;;;;::::1;::::0;;15034:57;;-1:-1:-1;15104:21:0::1;::::0;15128:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15128:16:0::1;15104:40;;15173:4;15155;15160:1;15155:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15155:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15199:4:::1;::::0;15189:7;;15199:4;::::1;::::0;15189;;15199;;15189:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15189:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15274:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15274:188:0;;15240:21:::1;::::0;15274:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15346:12;;15216:21:::1;::::0;15389:4;;15416::::1;::::0;15436:15:::1;::::0;15274:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15475:17;15495:40;15521:13;15495:21;:25;;:40;;;;:::i;:::-;15475:60:::0;-1:-1:-1;15548:19:0::1;15570:40;15583:26;:19:::0;15607:1:::1;15583:23;:26::i;:::-;15570:8;::::0;;:12:::1;:40::i;:::-;15548:62:::0;-1:-1:-1;15631:26:0::1;15660:58;15716:1;15660:51;15548:62:::0;15660:51;:9;15674:19;15660:13:::1;:34::i;:58::-;15631:87;;15729:26;15758:44;15790:11;15758:27;15772:12;;15758:9;:13;;:27;;;;:::i;:44::-;15729:73;;15813:21;15837:39;15864:11;15837:22;15851:7;;15837:9;:13;;:22;;;;:::i;:39::-;15813:63;;15887:20;15910:38;15936:11;15910:21;15924:6;;15910:9;:13;;:21;;;;:::i;:38::-;15990:20;::::0;15982:65:::1;::::0;15887:61;;-1:-1:-1;15962:15:0::1;::::0;-1:-1:-1;;;;;15990:20:0;;::::1;::::0;16024:18;;15962:15;15982:65;15962:15;15982:65;16024:18;15990:20;15982:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16082:14:0::1;::::0;16074:53:::1;::::0;15961:86;;-1:-1:-1;;;;;;16082:14:0::1;::::0;16110:12;;16074:53:::1;::::0;;;16110:12;16082:14;16074:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16162:15:0::1;::::0;16154:55:::1;::::0;16058:69;;-1:-1:-1;;;;;;16162:15:0::1;::::0;16191:13;;16154:55:::1;::::0;;;16191:13;16162:15;16154:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16253:5:0::1;::::0;-1:-1:-1;;16274:19:0;;;-1:-1:-1;16271:362:0::1;;16309:6;::::0;16483:21:::1;::::0;16309:244:::1;::::0;-1:-1:-1;;;16309:244:0;;16385:4:::1;16309:244;::::0;::::1;12261:34:1::0;12311:18;;;12304:34;;;16309:6:0::1;12354:18:1::0;;;12347:34;;;12397:18;;;12390:34;-1:-1:-1;;;;;16483:21:0;;::::1;12440:19:1::0;;;12433:44;16523:15:0::1;12493:19:1::0;;;12486:35;16309:6:0;::::1;::::0;:22:::1;::::0;16339:18;;12195:19:1;;16309:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16573:48:0::1;::::0;;13017:25:1;;;13073:2;13058:18;;13051:34;;;16573:48:0::1;::::0;-1:-1:-1;12990:18:1;16573:48:0::1;;;;;;;16271:362;-1:-1:-1::0;;6972:6:0;:14;;-1:-1:-1;;6972:14:0;;;-1:-1:-1;;;;;;;;;;14769:1871:0:o;425:192::-;511:7;547:12;539:6;;;;531:29;;;;-1:-1:-1;;;531:29:0;;;;;;;;:::i;:::-;-1:-1:-1;571:9:0;583:5;587:1;583;:5;:::i;:::-;571:17;425:192;-1:-1:-1;;;;;425:192:0:o;10340:1492::-;10452:6;;10432:4;;10452:6;;10449:63;;;10468:41;10483:6;10491:9;10502:6;10468:14;:41::i;:::-;10461:48;;;;10449:63;-1:-1:-1;;;;;10528:22:0;;;;;;:14;:22;;;;;;;;10527:23;:53;;;;-1:-1:-1;;;;;;10555:25:0;;;;;;:14;:25;;;;;;;;10554:26;10527:53;10524:246;;;10604:11;;-1:-1:-1;;;10604:11:0;;;;10596:43;;;;-1:-1:-1;;;10596:43:0;;13431:2:1;10596:43:0;;;13413:21:1;13470:2;13450:18;;;13443:30;-1:-1:-1;;;13489:18:1;;;13482:50;13549:18;;10596:43:0;13229:344:1;10596:43:0;10655:13;;;;10652:107;;;-1:-1:-1;;;;;10696:24:0;;;;;;:13;:24;;;;;;;;10688:51;;;;-1:-1:-1;;;10688:51:0;;13780:2:1;10688:51:0;;;13762:21:1;13819:2;13799:18;;;13792:30;-1:-1:-1;;;13838:18:1;;;13831:45;13893:18;;10688:51:0;13578:339:1;10688:51:0;10793:13;;;;10790:91;;;-1:-1:-1;;;;;10831:21:0;;;;;;:13;:21;;;;;;;;10830:22;10822:43;;;;-1:-1:-1;;;10822:43:0;;14124:2:1;10822:43:0;;;14106:21:1;14163:1;14143:18;;;14136:29;-1:-1:-1;;;14181:18:1;;;14174:39;14230:18;;10822:43:0;13922:332:1;10822:43:0;-1:-1:-1;;;;;10916:22:0;;;;;;:14;:22;;;;;;;;10915:23;:53;;;;-1:-1:-1;;;;;;10942:26:0;;10963:4;10942:26;;10915:53;:84;;;;-1:-1:-1;;;;;;10973:26:0;;5104:42;10973:26;;10915:84;:105;;;;-1:-1:-1;11016:4:0;;-1:-1:-1;;;;;11003:17:0;;;11016:4;;11003:17;;10915:105;:137;;;;-1:-1:-1;11037:15:0;;-1:-1:-1;;;;;11024:28:0;;;11037:15;;11024:28;;10915:137;:168;;;;-1:-1:-1;11069:14:0;;-1:-1:-1;;;;;11056:27:0;;;11069:14;;11056:27;;10915:168;:205;;;;-1:-1:-1;11100:20:0;;-1:-1:-1;;;;;11087:33:0;;;11100:20;;11087:33;;10915:205;:236;;;;-1:-1:-1;;;;;;11125:26:0;;;;;;:15;:26;;;;;;;;11124:27;10915:236;10911:428;;;-1:-1:-1;;;;;8579:18:0;;11167;8579;;;:9;:18;;;;;;11256:15;;11232:19;11245:6;8579:18;11232:19;:::i;:::-;11231:40;;11223:114;;;;-1:-1:-1;;;11223:114:0;;14591:2:1;11223:114:0;;;14573:21:1;14630:2;14610:18;;;14603:30;14669:34;14649:18;;;14642:62;14740:32;14720:18;;;14713:60;14790:19;;11223:114:0;14389:426:1;11223:114:0;11152:187;10911:428;11361:28;11374:6;11382;11361:12;:28::i;:::-;11405:16;:14;:16::i;:::-;11402:35;;;11424:10;:8;:10::i;:::-;11476:53;;;;;;;;;;;-1:-1:-1;;;11476:53:0;;;;;;;;-1:-1:-1;;;;;11476:17:0;;-1:-1:-1;11476:17:0;;;:9;:17;;;;;;;;:53;;11498:6;;11476:21;:53::i;:::-;-1:-1:-1;;;;;11456:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11569:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;11592:22:0;;;;;;:11;:22;;;;;;;;11569:45;11568:93;;11627:34;11635:6;11643;11651:9;11627:7;:34::i;:::-;11568:93;;;11618:6;11568:93;-1:-1:-1;;;;;11695:20:0;;;;;;:9;:20;;;;;;11543:118;;-1:-1:-1;11695:40:0;;11543:118;11695:24;:40::i;:::-;-1:-1:-1;;;;;11672:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11753:43;;;;;;-1:-1:-1;;;;;;;;;;;11753:43:0;;;11781:14;160:25:1;;148:2;133:18;;14:177;11753:43:0;;;;;;;;-1:-1:-1;11814:4:0;;10340:1492;-1:-1:-1;;;;10340:1492:0:o;283:136::-;341:7;368:43;372:1;375;368:43;;;;;;;;;;;;;;;;;:3;:43::i;96:181::-;154:7;;186:5;190:1;186;:5;:::i;:::-;174:17;;215:1;210;:6;;202:46;;;;-1:-1:-1;;;202:46:0;;15022:2:1;202:46:0;;;15004:21:1;15061:2;15041:18;;;15034:30;15100:29;15080:18;;;15073:57;15147:18;;202:46:0;14820:351:1;1017:189:0;1103:7;1138:12;1131:5;1123:28;;;;-1:-1:-1;;;1123:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1162:9:0;1174:5;1178:1;1174;:5;:::i;11842:330::-;11972:53;;;;;;;;;;;-1:-1:-1;;;11972:53:0;;;;;;;;-1:-1:-1;;;;;11972:17:0;;11935:4;11972:17;;;:9;:17;;;;;;;:53;;11994:6;;11972:21;:53::i;:::-;-1:-1:-1;;;;;11952:17:0;;;;;;;:9;:17;;;;;;:73;;;;12059:20;;;;;;;:32;;12084:6;12059:24;:32::i;:::-;-1:-1:-1;;;;;12036:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12107:35;;;;;;-1:-1:-1;;;;;;;;;;;12107:35:0;;;12135:6;160:25:1;;148:2;133:18;;14:177;12107:35:0;;;;;;;;-1:-1:-1;12160:4:0;11842:330;;;;;:::o;12180:166::-;12277:12;;12267:6;:22;;:49;;;-1:-1:-1;;;;;;12293:23:0;;;;;;:15;:23;;;;;;;;12267:49;12259:79;;;;-1:-1:-1;;;12259:79:0;;15378:2:1;12259:79:0;;;15360:21:1;15417:2;15397:18;;;15390:30;-1:-1:-1;;;15436:18:1;;;15429:47;15493:18;;12259:79:0;15176:341:1;12259:79:0;12180:166;;:::o;13421:203::-;13508:4;;13470;;-1:-1:-1;;;;;13508:4:0;13494:10;:18;;;;:38;;-1:-1:-1;13526:6:0;;;;13525:7;13494:38;:62;;;;-1:-1:-1;13545:11:0;;;;13494:62;:116;;;;-1:-1:-1;;13597:13:0;;13587:4;13569:24;;;;:9;:24;;;;;;:41;;;13421:203::o;12477:936::-;12606:18;;12653:4;;12563:7;;12606:18;-1:-1:-1;;;;;12653:4:0;;;12640:17;;;;12637:154;;-1:-1:-1;12687:14:0;;12637:154;;;12732:4;;-1:-1:-1;;;;;12732:4:0;;;12722:14;;;;12719:72;;-1:-1:-1;12766:13:0;;12719:72;12803:17;12823:62;12864:14;;12881:3;12864:20;;;;:::i;:::-;12823:36;12848:10;12823:20;12834:8;;12823:6;:10;;:20;;;;:::i;:62::-;12803:82;;12898:18;12919:36;12946:8;;12919:22;12933:7;;12919:9;:13;;:22;;;;:::i;:36::-;12898:57;-1:-1:-1;12966:22:0;12991:25;:9;12898:57;12991:13;:25::i;:::-;13074:4;13056:24;;;;:9;:24;;;;;;12966:50;;-1:-1:-1;13056:44:0;;12966:50;13056:28;:44::i;:::-;13047:4;13029:24;;;;:9;:24;;;;;;:71;;;;13150:15;;-1:-1:-1;;;;;13150:15:0;13140:26;;;;:42;;13171:10;13140:30;:42::i;:::-;13121:15;;-1:-1:-1;;;;;13121:15:0;;;13111:26;;;;:9;:26;;;;;;;;;:71;;;;13198:47;160:25:1;;;13223:4:0;;13198:47;;;;-1:-1:-1;;;;;;;;;;;13198:47:0;133:18:1;13198:47:0;;;;;;;13269:14;;13266:99;;13321:15;;13304:45;;160:25:1;;;-1:-1:-1;;;;;13321:15:0;;;;13304:45;;;-1:-1:-1;;;;;;;;;;;13304:45:0;148:2:1;133:18;13304:45:0;;;;;;;13266:99;13384:21;:6;13395:9;13384:10;:21::i;:::-;13377:28;12477:936;-1:-1:-1;;;;;;;;12477:936:0:o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:173::-;817:20;;-1:-1:-1;;;;;866:31:1;;856:42;;846:70;;912:1;909;902:12;846:70;749:173;;;:::o;927:254::-;995:6;1003;1056:2;1044:9;1035:7;1031:23;1027:32;1024:52;;;1072:1;1069;1062:12;1024:52;1095:29;1114:9;1095:29;:::i;:::-;1085:39;1171:2;1156:18;;;;1143:32;;-1:-1:-1;;;927:254:1:o;1378:248::-;1446:6;1454;1507:2;1495:9;1486:7;1482:23;1478:32;1475:52;;;1523:1;1520;1513:12;1475:52;-1:-1:-1;;1546:23:1;;;1616:2;1601:18;;;1588:32;;-1:-1:-1;1378:248:1:o;1631:484::-;1726:6;1734;1742;1750;1758;1811:3;1799:9;1790:7;1786:23;1782:33;1779:53;;;1828:1;1825;1818:12;1779:53;1851:29;1870:9;1851:29;:::i;:::-;1841:39;;1899:38;1933:2;1922:9;1918:18;1899:38;:::i;:::-;1889:48;;1956:38;1990:2;1979:9;1975:18;1956:38;:::i;:::-;1946:48;;2013:38;2047:2;2036:9;2032:18;2013:38;:::i;:::-;2003:48;;2070:39;2104:3;2093:9;2089:19;2070:39;:::i;:::-;2060:49;;1631:484;;;;;;;;:::o;2120:180::-;2179:6;2232:2;2220:9;2211:7;2207:23;2203:32;2200:52;;;2248:1;2245;2238:12;2200:52;-1:-1:-1;2271:23:1;;2120:180;-1:-1:-1;2120:180:1:o;2305:328::-;2382:6;2390;2398;2451:2;2439:9;2430:7;2426:23;2422:32;2419:52;;;2467:1;2464;2457:12;2419:52;2490:29;2509:9;2490:29;:::i;:::-;2480:39;;2538:38;2572:2;2561:9;2557:18;2538:38;:::i;:::-;2528:48;;2623:2;2612:9;2608:18;2595:32;2585:42;;2305:328;;;;;:::o;2827:186::-;2886:6;2939:2;2927:9;2918:7;2914:23;2910:32;2907:52;;;2955:1;2952;2945:12;2907:52;2978:29;2997:9;2978:29;:::i;3018:118::-;3104:5;3097:13;3090:21;3083:5;3080:32;3070:60;;3126:1;3123;3116:12;3141:315;3206:6;3214;3267:2;3255:9;3246:7;3242:23;3238:32;3235:52;;;3283:1;3280;3273:12;3235:52;3306:29;3325:9;3306:29;:::i;:::-;3296:39;;3385:2;3374:9;3370:18;3357:32;3398:28;3420:5;3398:28;:::i;:::-;3445:5;3435:15;;;3141:315;;;;;:::o;3461:241::-;3517:6;3570:2;3558:9;3549:7;3545:23;3541:32;3538:52;;;3586:1;3583;3576:12;3538:52;3625:9;3612:23;3644:28;3666:5;3644:28;:::i;3707:523::-;3811:6;3819;3827;3835;3843;3851;3904:3;3892:9;3883:7;3879:23;3875:33;3872:53;;;3921:1;3918;3911:12;3872:53;-1:-1:-1;;3944:23:1;;;4014:2;3999:18;;3986:32;;-1:-1:-1;4065:2:1;4050:18;;4037:32;;4116:2;4101:18;;4088:32;;-1:-1:-1;4167:3:1;4152:19;;4139:33;;-1:-1:-1;4219:3:1;4204:19;4191:33;;-1:-1:-1;3707:523:1;-1:-1:-1;3707:523:1:o;4235:750::-;4327:6;4335;4343;4396:2;4384:9;4375:7;4371:23;4367:32;4364:52;;;4412:1;4409;4402:12;4364:52;4452:9;4439:23;4481:18;4522:2;4514:6;4511:14;4508:34;;;4538:1;4535;4528:12;4508:34;4576:6;4565:9;4561:22;4551:32;;4621:7;4614:4;4610:2;4606:13;4602:27;4592:55;;4643:1;4640;4633:12;4592:55;4683:2;4670:16;4709:2;4701:6;4698:14;4695:34;;;4725:1;4722;4715:12;4695:34;4780:7;4773:4;4763:6;4760:1;4756:14;4752:2;4748:23;4744:34;4741:47;4738:67;;;4801:1;4798;4791:12;4738:67;4832:4;4824:13;;;;-1:-1:-1;4856:6:1;-1:-1:-1;;4897:20:1;;4884:34;4927:28;4884:34;4927:28;:::i;:::-;4974:5;4964:15;;;4235:750;;;;;:::o;5198:316::-;5275:6;5283;5291;5344:2;5332:9;5323:7;5319:23;5315:32;5312:52;;;5360:1;5357;5350:12;5312:52;-1:-1:-1;;5383:23:1;;;5453:2;5438:18;;5425:32;;-1:-1:-1;5504:2:1;5489:18;;;5476:32;;5198:316;-1:-1:-1;5198:316:1:o;5519:260::-;5587:6;5595;5648:2;5636:9;5627:7;5623:23;5619:32;5616:52;;;5664:1;5661;5654:12;5616:52;5687:29;5706:9;5687:29;:::i;:::-;5677:39;;5735:38;5769:2;5758:9;5754:18;5735:38;:::i;:::-;5725:48;;5519:260;;;;;:::o;5784:309::-;5849:6;5857;5910:2;5898:9;5889:7;5885:23;5881:32;5878:52;;;5926:1;5923;5916:12;5878:52;5965:9;5952:23;5984:28;6006:5;5984:28;:::i;6324:356::-;6526:2;6508:21;;;6545:18;;;6538:30;6604:34;6599:2;6584:18;;6577:62;6671:2;6656:18;;6324:356::o;7090:127::-;7151:10;7146:3;7142:20;7139:1;7132:31;7182:4;7179:1;7172:15;7206:4;7203:1;7196:15;7222:168;7295:9;;;7326;;7343:15;;;7337:22;;7323:37;7313:71;;7364:18;;:::i;7395:217::-;7435:1;7461;7451:132;;7505:10;7500:3;7496:20;7493:1;7486:31;7540:4;7537:1;7530:15;7568:4;7565:1;7558:15;7451:132;-1:-1:-1;7597:9:1;;7395:217::o;7978:127::-;8039:10;8034:3;8030:20;8027:1;8020:31;8070:4;8067:1;8060:15;8094:4;8091:1;8084:15;8110:135;8149:3;8170:17;;;8167:43;;8190:18;;:::i;:::-;-1:-1:-1;8237:1:1;8226:13;;8110:135::o;8250:401::-;8452:2;8434:21;;;8491:2;8471:18;;;8464:30;8530:34;8525:2;8510:18;;8503:62;-1:-1:-1;;;8596:2:1;8581:18;;8574:35;8641:3;8626:19;;8250:401::o;9066:184::-;9136:6;9189:2;9177:9;9168:7;9164:23;9160:32;9157:52;;;9205:1;9202;9195:12;9157:52;-1:-1:-1;9228:16:1;;9066:184;-1:-1:-1;9066:184:1:o;9534:245::-;9601:6;9654:2;9642:9;9633:7;9629:23;9625:32;9622:52;;;9670:1;9667;9660:12;9622:52;9702:9;9696:16;9721:28;9743:5;9721:28;:::i;10725:980::-;10987:4;11035:3;11024:9;11020:19;11066:6;11055:9;11048:25;11092:2;11130:6;11125:2;11114:9;11110:18;11103:34;11173:3;11168:2;11157:9;11153:18;11146:31;11197:6;11232;11226:13;11263:6;11255;11248:22;11301:3;11290:9;11286:19;11279:26;;11340:2;11332:6;11328:15;11314:29;;11361:1;11371:195;11385:6;11382:1;11379:13;11371:195;;;11450:13;;-1:-1:-1;;;;;11446:39:1;11434:52;;11541:15;;;;11506:12;;;;11482:1;11400:9;11371:195;;;-1:-1:-1;;;;;;;11622:32:1;;;;11617:2;11602:18;;11595:60;-1:-1:-1;;;11686:3:1;11671:19;11664:35;11583:3;10725:980;-1:-1:-1;;;10725:980:1:o;12532:306::-;12620:6;12628;12636;12689:2;12677:9;12668:7;12664:23;12660:32;12657:52;;;12705:1;12702;12695:12;12657:52;12734:9;12728:16;12718:26;;12784:2;12773:9;12769:18;12763:25;12753:35;;12828:2;12817:9;12813:18;12807:25;12797:35;;12532:306;;;;;:::o;13096:128::-;13163:9;;;13184:11;;;13181:37;;;13198:18;;:::i;14259:125::-;14324:9;;;14345:10;;;14342:36;;;14358:18;;:::i

Swarm Source

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