POL Price: $0.7011 (+0.91%)
Gas: 42 GWei
 

Overview

Max Total Supply

100,000,000,000,000 E8

Holders

3,117 (0.00%)

Market

Price

$0.00 @ 0.000000 POL (-7.00%)

Onchain Market Cap

$1,630,000.00

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 9 Decimals)

Balance
98,286,177,840.3751156 E8

Value
$1,602.06 ( ~2,285.0650 POL) [0.0983%]
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

PLAY AND EARN! PLAY COMPUTER GAMES AND EARN ENERGY 8!

Market

Volume (24H):$1,603.61
Market Capitalization:$0.00
Circulating Supply:0.00 E8
Market Data Source: Coinmarketcap

Contract Source Code Verified (Exact Match)

Contract Name:
Energy8

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 1337 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2021-06-29
*/

pragma solidity >=0.6.0 <0.8.0;

interface IERC20 {
  function name() external view returns (string memory);
  function symbol() external view returns (string memory);
  function decimals() external view returns (uint8);
  function totalSupply() external view returns (uint256);
  function balanceOf(address account) external view returns (uint256);
  function allowance(address owner, address spender) external view returns (uint256);
  
  function transfer(address recipient, uint256 amount) external returns (bool);
  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 msg.sender;
    }

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

abstract contract Ownable is Context {
  address private _owner;

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

  constructor () {
    _owner = _msgSender();
    emit OwnershipTransferred(address(0), _msgSender());
  }

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

  modifier onlyOwner() {
    require(_owner == _msgSender(), "-_-");
    _;
  }

  function transferOwnership(address newOwner) public onlyOwner {
    emit OwnershipTransferred(_owner, newOwner);
    _owner = newOwner;
  }
}

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

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

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

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

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

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract Energy8 is Context, Ownable, IERC20 {
  using SafeMath for uint256;
  mapping (address => mapping (address => uint256)) private _allowances;
  mapping (address => uint256) private _balances;
  mapping (address => uint256) private _startPeriodBalances;
  mapping (address => uint256) private _spentDuringPeriod;
  mapping (address => uint256) private _periodStartTime;
  mapping (address => bool) private _whitelist;
  mapping (address => bool) private _feeWhitelist;
  mapping (address => bool) private _blacklist;
  mapping (address => string) private _blacklistReasons;
  mapping (address => bool) private _sellers;
  mapping (address => bool) public admins;

  string private _name = "Energy8";
  string private _symbol = "E8";

  uint8 private _decimals = 9;
  uint256 private _totalSupply = 100000000000000 * 10**_decimals; // 100 000 000 000 000
  uint256 public periodDuration = 1 days;
  uint256 public minTokensForLiquidityGeneration = _totalSupply / 1000000; // 0.001% of total supply
  
  /*
    10000 - 100%
    1000 - 10%
    100 - 1%
    10 - 0.1%
    1 - 0.01%
  */
  // fees
  uint16 public fee = 0; // transfer fee 0%
  uint16 public buyFee = 0;  // buy fee 0%
  uint16 public sellFee = 0; // sell fee 0%
  uint16 public liquidityFee = 0; // transfer liquidity fee 0%
  uint16 public sellLiquidityFee = 600; // sell liquidity fee 6%
  uint16 public buyLiquidityFee = 500; // buy liquidity fee 5%
  uint16 public marketingFee = 200; // marketing fee 2%
  
  address public marketingWallet;
  address public feeWallet;
  
  uint16 public maxTransferPercent = 3000; // 30%
  uint16 public maxHodlPercent = 100; // 1%
  
  // AMM addresses
  IRouter public router;
  address public pair;
  address private mainTokenInPair;
  
  address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
  
  modifier onlyAdmin() {
    require(admins[_msgSender()], "Who are you?");
    _;
  }
  
  bool private isLocked;

  modifier lock {
    isLocked = true;
    _;
    isLocked = false;
  }

  constructor(IRouter _router) {
    _balances[_msgSender()] = _totalSupply;
    
    mainTokenInPair = _router.WETH();
    
    pair = IFactory(_router.factory()).createPair(address(this), mainTokenInPair);
    
    // add owner and this contract to the whitelist for disable transfer limitations and fees
    _whitelist[_msgSender()] = true;
    _whitelist[address(this)] = true;
    _feeWhitelist[_msgSender()] = true;
    _feeWhitelist[address(this)] = true;

    _sellers[pair] = true;
    _sellers[address(_router)] = true;
    
    router = _router;
    
    marketingWallet = _msgSender();
    feeWallet = DEAD;

    admins[_msgSender()] = true;
    
    emit Transfer(address(0), _msgSender(), _totalSupply);
  }

  function getOwner() external view returns (address) {
    return owner();
  }

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

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

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

  function totalSupply() external view override returns (uint256) {
    return _totalSupply;
  }
  
  function balanceOf(address account) external view override returns (uint256) {
    return _balances[account];
  }

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

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

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

  function transferFrom (address sender, address recipient, uint256 amount) public override returns (bool) {
    _transfer(sender, recipient, amount);
    _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, 'BEP20: transfer amount exceeds allowance'));
    return true;
  }
  
  function _approve(address owner, address spender, uint256 amount) internal {
    require(owner != address(0), "ERC20: approve from the zero address");
    require(spender != address(0), "ERC20: approve to the zero address");

    _allowances[owner][spender] = amount;
    emit Approval(owner, spender, amount);
  }
  
  receive() external payable {}

  function _transfer(address sender, address recipient, uint256 amount) internal {
    require(sender != address(0), "ERC20: transfer from the zero address");
    require(recipient != address(0), "ERC20: transfer to the zero address");
    require(sender != recipient, "ERC20: The sender cannot be the recipient");
    require(amount != 0, "ERC20: Transfer amount must be greater than zero");
    require(_balances[sender] >= amount, "ERC20: transfer amount exceeds balance");
    
    uint256 amountWithFee = amount;

    uint256 liquidityFeeInTokens;
    uint256 marketingFeeInTokens;
    uint256 feeInTokens;

    // buy tokens
    if (_sellers[sender]) {
      if (!_feeWhitelist[recipient]) {
        liquidityFeeInTokens = _getPercentage(amount, buyLiquidityFee);
        marketingFeeInTokens = _getPercentage(amount, marketingFee);
        feeInTokens = _getPercentage(amount, buyFee);
        amountWithFee = amountWithFee.sub(marketingFeeInTokens).sub(feeInTokens).sub(liquidityFeeInTokens);
      }
      
      if (!_whitelist[recipient]) {
        _checkHodlPercent(recipient, amountWithFee, "You cannot hold this amount of tokens. Looks like you are already a whale!");
      }
    // sell tokens
    } else if (_sellers[recipient]) {
      require(!_blacklist[sender], _blacklistReasons[sender]);

      if (!_feeWhitelist[sender]) {
        liquidityFeeInTokens = _getPercentage(amount, sellLiquidityFee);
        marketingFeeInTokens = _getPercentage(amount, marketingFee);
        feeInTokens = _getPercentage(amount, sellFee);
        amountWithFee = amountWithFee.sub(marketingFeeInTokens).sub(feeInTokens).sub(liquidityFeeInTokens);
      }
      
      if (!_whitelist[sender]) {
        _checkAndUpdatePeriod(sender, amount, "You can not sell this amount of tokens for the current period. Just relax and wait");
      }
    // transfer tokens between addresses
    } else {
      require(!_blacklist[sender] && !_blacklist[_msgSender()], _blacklistReasons[sender]);

      if (!_feeWhitelist[sender] && !_feeWhitelist[_msgSender()]) {
        liquidityFeeInTokens = _getPercentage(amount, liquidityFee);
        marketingFeeInTokens = _getPercentage(amount, marketingFee);
        feeInTokens = _getPercentage(amount, fee);
        amountWithFee = amountWithFee.sub(marketingFeeInTokens).sub(feeInTokens).sub(liquidityFeeInTokens);
      }
      
      if (!_whitelist[recipient] && !_whitelist[_msgSender()]) {
        _checkHodlPercent(recipient, amountWithFee, "Recipient cannot hold this amount of tokens. Looks like he's already a whale!");
      }
      
      if (!_whitelist[sender] && !_whitelist[_msgSender()]) {
        _checkAndUpdatePeriod(sender, amount, "You can not transfer this amount of tokens for the current period. Just relax and wait");
      }
    }
    
    if (marketingFeeInTokens > 0) {
        _balances[marketingWallet] = _balances[marketingWallet].add(marketingFeeInTokens);
        emit Transfer(sender, marketingWallet, marketingFeeInTokens);
    }
    
    if (feeInTokens > 0) {
        _balances[feeWallet] = _balances[feeWallet].add(feeInTokens);
        emit Transfer(sender, feeWallet, feeInTokens);
    }

    if (liquidityFeeInTokens > 0) {
        uint256 contractTokenBalance = _balances[address(this)].add(liquidityFeeInTokens);

        _balances[address(this)] = contractTokenBalance;
        emit Transfer(sender, address(this), liquidityFeeInTokens);
        
        if (
          !isLocked &&
          sender != pair &&
          contractTokenBalance >= minTokensForLiquidityGeneration
        ) {
            generateLiquidity(contractTokenBalance);
        }
    }
    
    _balances[sender] = _balances[sender].sub(amount);
    _balances[recipient] = _balances[recipient].add(amountWithFee);

    emit Transfer(sender, recipient, amountWithFee);
  }
  
  function generateLiquidity() external {
      generateLiquidity(_balances[address(this)]);
  }
  
  function generateLiquidity(uint256 amount) internal lock {
    uint256 tokensForSell = amount.div(2);
    uint256 tokensForLiquidity = amount.sub(tokensForSell);

    uint256 initialBalance = address(this).balance;

    address[] memory path = new address[](2);
    path[0] = address(this);
    path[1] = mainTokenInPair;
    
    _approve(address(this), address(router), amount);

    router.swapExactTokensForETHSupportingFeeOnTransferTokens(
        tokensForSell,
        0, // accept any amount
        path,
        address(this),
        block.timestamp
    );

    uint256 balance = address(this).balance.sub(initialBalance);

    router.addLiquidityETH{value: balance}(
        address(this),
        tokensForLiquidity,
        0, // slippage is unavoidable
        0, // slippage is unavoidable
        DEAD,
        block.timestamp
    );
  }
  
  function _checkAndUpdatePeriod(address account, uint256 amount, string memory errorMessage) internal {
    bool _isPeriodEnd = block.timestamp > (_periodStartTime[account] + periodDuration);

    if (_isPeriodEnd) {
        _periodStartTime[account] = block.timestamp;
        _startPeriodBalances[account] = _balances[account];
        _spentDuringPeriod[account] = 0;
    }

    uint256 newSpentDuringPeriod = _spentDuringPeriod[account] + amount;
    uint256 accountCanSpent = _getPercentage(_startPeriodBalances[account], maxTransferPercent);
    
    require(newSpentDuringPeriod <= accountCanSpent, errorMessage);
    
    _spentDuringPeriod[account] = newSpentDuringPeriod;
  }
  
  function _checkHodlPercent(address account, uint256 amount, string memory erorrMessage) internal view {
    uint256 oneAccountCanHodl = _getPercentage(_totalSupply, maxHodlPercent);

    require((_balances[account] + amount) <= oneAccountCanHodl, erorrMessage);
  }
  
  function setSeller(address account, bool value) external onlyAdmin {
    _sellers[account] = value;
  }
  
  function setWhitelist(address account, bool value) external onlyAdmin {
    _whitelist[account] = value;
  }
  
  function setFeeWhitelist(address account, bool value) external onlyAdmin {
    _feeWhitelist[account] = value;
  }
  
  function setBlacklist(address account, bool value, string memory reason) external onlyAdmin {
    _blacklist[account] = value;
    _blacklistReasons[account] = reason;
  }
  
  function setAdmin(address account, bool value) external onlyOwner {
    admins[account] = value;
  }
  
  function setMaxHodlPercent(uint16 percent) external onlyAdmin {
    require(percent > 0 && percent <= 10000); // >0% - 100%
    maxHodlPercent = percent;
  }
  
  function setMaxTransferPercent(uint16 percent) external onlyAdmin {
    require(percent >= 100 && percent <= 10000); // 1% - 100%
    maxTransferPercent = percent;
  }
  
  function setPeriodDuration(uint time) external onlyAdmin {
    require(time <= 14 days);
    periodDuration = time;
  }
  
  function setRouter(IRouter _router) external onlyOwner {
      router = _router;
  }
  
  function setPair(address _pair) external onlyOwner {
      pair = _pair;
  }
  
  function setMainTokenInPair(address token) external onlyOwner {
      mainTokenInPair = token;
  }
  
  function setMinTokensForLiquidityGeneration(uint256 amount) external onlyOwner {
      minTokensForLiquidityGeneration = amount;
  }
  
  function setTaxFees(uint16 _fee, uint16 _buyFee, uint16 _sellFee) external onlyOwner {
    require(
        _fee <= 1000 && // 0% - 10%
        _buyFee <= 1000 && // 0% - 10%
        _sellFee <= 1000 // 0% - 10%
    );
    fee = _fee;
    buyFee = _buyFee;
    sellFee = _sellFee;
  }
  
  function setLiquidityFees(uint16 _liquidityFee, uint16 _buyLiquidityFee, uint16 _sellLiquidityFee) public onlyOwner {
    require(
        _liquidityFee <= 1000 && // 0% - 10%
        _buyLiquidityFee <= 1000 && // 0% - 10%
        _sellLiquidityFee <= 1000 // 0% - 10%
    );
    liquidityFee = _liquidityFee;
    buyLiquidityFee = _buyLiquidityFee;
    sellLiquidityFee = _sellLiquidityFee;
  }
  
  function setMarketingFee(uint16 _marketingFee) external onlyOwner {
    require(_marketingFee <= 250); // 0% - 2.5%
    marketingFee = _marketingFee;
  }
  
  function setMarketingWallet(address _marketingWallet) external onlyOwner {
    require(_marketingWallet != feeWallet);
    marketingWallet = _marketingWallet;
  }

  function setFeeWallet(address _feeWallet) external onlyOwner {
    require(_feeWallet != owner() && _feeWallet != marketingWallet);
    feeWallet = _feeWallet;
  }
  
  function disableLiquidityGeneration() external onlyOwner {
    setLiquidityFees(0, 0, 0);
  }
  
  function isSeller(address account) external view returns (bool) {
      return _sellers[account];
  }
  
  function isWhitelisted(address account) external view returns (bool) {
      return _whitelist[account];
  }
  
  function isExcludedFromFee(address account) external view returns (bool) {
      return _feeWhitelist[account];
  }
  
  function isBlacklisted(address account) external view returns (bool) {
      return _blacklist[account];
  }
  
  function blacklistReason(address account) external view returns (string memory) {
      return _blacklistReasons[account];
  }
  
  function getAccountPeriodInfo(address account) external view returns (uint256 startBalance, uint256 startTime, uint256 spent) {
      startBalance = _startPeriodBalances[account];
      startTime = _periodStartTime[account];
      spent = _spentDuringPeriod[account];
  }
  
  function _getPercentage(uint256 number, uint16 percent) internal pure returns (uint256) {
    return (number * percent) / 10000;
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IRouter","name":"_router","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"internalType":"address","name":"","type":"address"}],"name":"admins","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"blacklistReason","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableLiquidityGeneration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"generateLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getAccountPeriodInfo","outputs":[{"internalType":"uint256","name":"startBalance","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"spent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isSeller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHodlPercent","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransferPercent","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokensForLiquidityGeneration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"name":"setBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_feeWallet","type":"address"}],"name":"setFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setFeeWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_liquidityFee","type":"uint16"},{"internalType":"uint16","name":"_buyLiquidityFee","type":"uint16"},{"internalType":"uint16","name":"_sellLiquidityFee","type":"uint16"}],"name":"setLiquidityFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"setMainTokenInPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_marketingFee","type":"uint16"}],"name":"setMarketingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"percent","type":"uint16"}],"name":"setMaxHodlPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"percent","type":"uint16"}],"name":"setMaxTransferPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMinTokensForLiquidityGeneration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"setPeriodDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRouter","name":"_router","type":"address"}],"name":"setRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setSeller","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_fee","type":"uint16"},{"internalType":"uint16","name":"_buyFee","type":"uint16"},{"internalType":"uint16","name":"_sellFee","type":"uint16"}],"name":"setTaxFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600760808190526608adccae4cef2760cb1b60a09081526200002a91600c91906200050f565b506040805180820190915260028082526108a760f31b60209092019182526200005691600d916200050f565b50600e8054600960ff19909116179081905560ff16600a0a655af3107a400002600f81905562015180601055620f42409004601155601280546001600160501b03191669025800000000000000001761ffff60501b1916607d60521b1761ffff60601b19166cc80000000000000000000000001790556014805461ffff60a01b191661017760a31b1761ffff60b01b1916601960b21b179055348015620000fc57600080fd5b50604051620036ab380380620036ab833981810160405260208110156200012257600080fd5b50516200012e6200050b565b600080546001600160a01b0319166001600160a01b0392909216919091179055620001586200050b565b6001600160a01b031660006001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600f5460026000620001a96200050b565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550806001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020757600080fd5b505afa1580156200021c573d6000803e3d6000fd5b505050506040513d60208110156200023357600080fd5b5051601780546001600160a01b0319166001600160a01b039283161790556040805163c45a015560e01b815290519183169163c45a015591600480820192602092909190829003018186803b1580156200028c57600080fd5b505afa158015620002a1573d6000803e3d6000fd5b505050506040513d6020811015620002b857600080fd5b5051601754604080516364e329cb60e11b81523060048201526001600160a01b0392831660248201529051919092169163c9c653969160448083019260209291908290030181600087803b1580156200031057600080fd5b505af115801562000325573d6000803e3d6000fd5b505050506040513d60208110156200033c57600080fd5b5051601680546001600160a01b0319166001600160a01b039092169190911790556001600660006200036d6200050b565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526006909252812080549092166001908117909255600790620003bd6200050b565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526007845282812080548616600190811790915560165483168252600a90945282812080548616851790559085168082529190208054909316909117909155601580546001600160a01b0319169091179055620004496200050b565b601380546001600160a01b03929092166001600160a01b03199283161790556014805490911661dead1790556001600b6000620004856200050b565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055620004b76200050b565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f546040518082815260200191505060405180910390a350620005bb565b3390565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928262000547576000855562000592565b82601f106200056257805160ff191683800117855562000592565b8280016001018555821562000592579182015b828111156200059257825182559160200191906001019062000575565b50620005a0929150620005a4565b5090565b5b80821115620005a05760008155600101620005a5565b6130e080620005cb6000396000f3fe60806040526004361061034e5760003560e01c806375f0a874116101bb578063c0d78655116100f7578063f1b30dea11610095578063f3b27b781161006f578063f3b27b7814610c88578063f637434214610cb2578063f887ea4014610cc7578063fe575a8714610cdc57610355565b8063f1b30dea14610c00578063f25f4b5614610c40578063f2fde38b14610c5557610355565b8063ddca3f43116100d1578063ddca3f4314610b68578063e29983c514610b7d578063ee95feaf14610bb8578063f11a24d314610beb57610355565b8063c0d7865514610aa9578063dc946bd314610adc578063dd62ed3e14610b2d57610355565b806395d89b4111610164578063a8aa1b311161013e578063a8aa1b3114610a18578063a9059cbb14610a2d578063b1baa81d14610a66578063b470aade14610a9457610355565b806395d89b41146109b357806397576786146109c857806398118cb414610a0357610355565b8063893d20e811610195578063893d20e8146109565780638da5cb5b1461096b57806390d49b9d1461098057610355565b806375f0a874146108c85780637c2d6e01146108f95780638187f5161461092357610355565b8063438f2e8b1161028a57806353d6fd59116102335780636abcca041161020d5780636abcca041461082b5780636ae1fbb51461086b5780636b67c4df1461088057806370a082311461089557610355565b806353d6fd59146107a8578063547bc05d146107e35780635d098b38146107f857610355565b806347e5b3041161026457806347e5b304146107075780634b0bddd21461073a5780635342acb41461077557610355565b8063438f2e8b1461069157806343d79670146106bf57806347062402146106f257610355565b8063245aa1e9116102f7578063313ce567116102d1578063313ce567146105eb5780633af32abf146106165780633d6dfa1e14610649578063429b62e51461065e57610355565b8063245aa1e9146105955780632b14ca56146105c15780632c3255c3146105d657610355565b806309fd64191161032857806309fd6419146104fd57806318160ddd1461052b57806323b872dd1461055257610355565b806304f140901461035a57806306fdde0314610426578063095ea7b3146104b057610355565b3661035557005b600080fd5b34801561036657600080fd5b506104246004803603606081101561037d57600080fd5b6001600160a01b038235169160208101351515918101906060810160408201356401000000008111156103af57600080fd5b8201836020820111156103c157600080fd5b803590602001918460018302840111640100000000831117156103e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d0f945050505050565b005b34801561043257600080fd5b5061043b610dba565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047557818101518382015260200161045d565b50505050905090810190601f1680156104a25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bc57600080fd5b506104e9600480360360408110156104d357600080fd5b506001600160a01b038135169060200135610e50565b604080519115158252519081900360200190f35b34801561050957600080fd5b506104246004803603602081101561052057600080fd5b503561ffff16610e6d565b34801561053757600080fd5b50610540610f14565b60408051918252519081900360200190f35b34801561055e57600080fd5b506104e96004803603606081101561057557600080fd5b506001600160a01b03813581169160208101359091169060400135610f1a565b3480156105a157600080fd5b506105aa610fa1565b6040805161ffff9092168252519081900360200190f35b3480156105cd57600080fd5b506105aa610fb2565b3480156105e257600080fd5b50610424610fc4565b3480156105f757600080fd5b50610600610fdf565b6040805160ff9092168252519081900360200190f35b34801561062257600080fd5b506104e96004803603602081101561063957600080fd5b50356001600160a01b0316610fe8565b34801561065557600080fd5b50610540611006565b34801561066a57600080fd5b506104e96004803603602081101561068157600080fd5b50356001600160a01b031661100c565b34801561069d57600080fd5b50610424600480360360208110156106b457600080fd5b503561ffff16611021565b3480156106cb57600080fd5b50610424600480360360208110156106e257600080fd5b50356001600160a01b03166110e9565b3480156106fe57600080fd5b506105aa611168565b34801561071357600080fd5b5061043b6004803603602081101561072a57600080fd5b50356001600160a01b0316611178565b34801561074657600080fd5b506104246004803603604081101561075d57600080fd5b506001600160a01b0381351690602001351515611223565b34801561078157600080fd5b506104e96004803603602081101561079857600080fd5b50356001600160a01b031661129e565b3480156107b457600080fd5b50610424600480360360408110156107cb57600080fd5b506001600160a01b03813516906020013515156112bc565b3480156107ef57600080fd5b506105aa611350565b34801561080457600080fd5b506104246004803603602081101561081b57600080fd5b50356001600160a01b0316611361565b34801561083757600080fd5b506104246004803603606081101561084e57600080fd5b5061ffff81358116916020810135821691604090910135166113fb565b34801561087757600080fd5b506104246114c4565b34801561088c57600080fd5b506105aa611521565b3480156108a157600080fd5b50610540600480360360208110156108b857600080fd5b50356001600160a01b031661153b565b3480156108d457600080fd5b506108dd611556565b604080516001600160a01b039092168252519081900360200190f35b34801561090557600080fd5b506104246004803603602081101561091c57600080fd5b5035611565565b34801561092f57600080fd5b506104246004803603602081101561094657600080fd5b50356001600160a01b03166115e3565b34801561096257600080fd5b506108dd611662565b34801561097757600080fd5b506108dd611671565b34801561098c57600080fd5b50610424600480360360208110156109a357600080fd5b50356001600160a01b0316611680565b3480156109bf57600080fd5b5061043b61173f565b3480156109d457600080fd5b50610424600480360360408110156109eb57600080fd5b506001600160a01b03813516906020013515156117a0565b348015610a0f57600080fd5b506105aa611834565b348015610a2457600080fd5b506108dd611848565b348015610a3957600080fd5b506104e960048036036040811015610a5057600080fd5b506001600160a01b038135169060200135611857565b348015610a7257600080fd5b5061042460048036036020811015610a8957600080fd5b503561ffff1661186b565b348015610aa057600080fd5b50610540611934565b348015610ab557600080fd5b5061042460048036036020811015610acc57600080fd5b50356001600160a01b031661193a565b348015610ae857600080fd5b50610b0f60048036036020811015610aff57600080fd5b50356001600160a01b03166119b9565b60408051938452602084019290925282820152519081900360600190f35b348015610b3957600080fd5b5061054060048036036040811015610b5057600080fd5b506001600160a01b03813581169160200135166119eb565b348015610b7457600080fd5b506105aa611a16565b348015610b8957600080fd5b5061042460048036036040811015610ba057600080fd5b506001600160a01b0381351690602001351515611a20565b348015610bc457600080fd5b506104e960048036036020811015610bdb57600080fd5b50356001600160a01b0316611ab4565b348015610bf757600080fd5b506105aa611ad2565b348015610c0c57600080fd5b5061042460048036036060811015610c2357600080fd5b5061ffff8135811691602081013582169160409091013516611aea565b348015610c4c57600080fd5b506108dd611bed565b348015610c6157600080fd5b5061042460048036036020811015610c7857600080fd5b50356001600160a01b0316611bfc565b348015610c9457600080fd5b5061042460048036036020811015610cab57600080fd5b5035611cb4565b348015610cbe57600080fd5b506105aa611d09565b348015610cd357600080fd5b506108dd611d1f565b348015610ce857600080fd5b506104e960048036036020811015610cff57600080fd5b50356001600160a01b0316611d2e565b600b6000610d1b611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16610d78576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b0383166000908152600860209081526040808320805460ff1916861515179055600982529091208251610db492840190612d95565b50505050565b600c8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610e465780601f10610e1b57610100808354040283529160200191610e46565b820191906000526020600020905b815481529060010190602001808311610e2957829003601f168201915b5050505050905090565b6000610e64610e5d611d4c565b8484611d50565b50600192915050565b610e75611d4c565b6000546001600160a01b03908116911614610ebd576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b60fa8161ffff161115610ecf57600080fd5b6012805461ffff9092166c01000000000000000000000000027fffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffff909216919091179055565b600f5490565b6000610f27848484611e3c565b610f9784610f33611d4c565b610f9285604051806060016040528060288152602001612ff0602891396001600160a01b038a16600090815260016020526040812090610f71611d4c565b6001600160a01b031681526020810191909152604001600020549190612756565b611d50565b5060019392505050565b601454600160b01b900461ffff1681565b601254640100000000900461ffff1681565b30600090815260026020526040902054610fdd906127ed565b565b600e5460ff1690565b6001600160a01b031660009081526006602052604090205460ff1690565b60115481565b600b6020526000908152604090205460ff1681565b600b600061102d611d4c565b6001600160a01b0316815260208101919091526040016000205460ff1661108a576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b60008161ffff161180156110a457506127108161ffff1611155b6110ad57600080fd5b6014805461ffff909216600160b01b027fffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6110f1611d4c565b6000546001600160a01b03908116911614611139576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6017805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60125462010000900461ffff1681565b6001600160a01b03811660009081526009602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156112175780601f106111ec57610100808354040283529160200191611217565b820191906000526020600020905b8154815290600101906020018083116111fa57829003601f168201915b50505050509050919050565b61122b611d4c565b6000546001600160a01b03908116911614611273576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526007602052604090205460ff1690565b600b60006112c8611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16611325576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b601454600160a01b900461ffff1681565b611369611d4c565b6000546001600160a01b039081169116146113b1576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6014546001600160a01b03828116911614156113cc57600080fd5b6013805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611403611d4c565b6000546001600160a01b0390811691161461144b576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6103e88361ffff161115801561146757506103e88261ffff1611155b801561147957506103e88161ffff1611155b61148257600080fd5b6012805461ffff191661ffff9485161763ffff0000191662010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6114cc611d4c565b6000546001600160a01b03908116911614611514576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b610fdd6000806000611aea565b6012546c01000000000000000000000000900461ffff1681565b6001600160a01b031660009081526002602052604090205490565b6013546001600160a01b031681565b600b6000611571611d4c565b6001600160a01b0316815260208101919091526040016000205460ff166115ce576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b621275008111156115de57600080fd5b601055565b6115eb611d4c565b6000546001600160a01b03908116911614611633576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6016805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600061166c611671565b905090565b6000546001600160a01b031690565b611688611d4c565b6000546001600160a01b039081169116146116d0576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6116d8611671565b6001600160a01b0316816001600160a01b03161415801561170757506013546001600160a01b03828116911614155b61171057600080fd5b6014805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600d8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610e465780601f10610e1b57610100808354040283529160200191610e46565b600b60006117ac611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16611809576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6012546601000000000000900461ffff1681565b6016546001600160a01b031681565b6000610e64611864611d4c565b8484611e3c565b600b6000611877611d4c565b6001600160a01b0316815260208101919091526040016000205460ff166118d4576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b60648161ffff16101580156118ef57506127108161ffff1611155b6118f857600080fd5b6014805461ffff909216600160a01b027fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60105481565b611942611d4c565b6000546001600160a01b0390811691161461198a576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6015805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b0316600090815260036020908152604080832054600583528184205460049093529220549192909190565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60125461ffff1681565b600b6000611a2c611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16611a89576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6001600160a01b03166000908152600a602052604090205460ff1690565b6012546a0100000000000000000000900461ffff1681565b611af2611d4c565b6000546001600160a01b03908116911614611b3a576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6103e88361ffff1611158015611b5657506103e88261ffff1611155b8015611b6857506103e88161ffff1611155b611b7157600080fd5b6012805467ffff0000000000001916660100000000000061ffff95861602177fffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff166a0100000000000000000000938516939093029290921769ffff00000000000000001916680100000000000000009190931602919091179055565b6014546001600160a01b031681565b611c04611d4c565b6000546001600160a01b03908116911614611c4c576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611cbc611d4c565b6000546001600160a01b03908116911614611d04576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b601155565b60125468010000000000000000900461ffff1681565b6015546001600160a01b031681565b6001600160a01b031660009081526008602052604090205460ff1690565b3390565b6001600160a01b038316611d955760405162461bcd60e51b81526004018080602001828103825260248152602001806130876024913960400191505060405180910390fd5b6001600160a01b038216611dda5760405162461bcd60e51b8152600401808060200182810382526022815260200180612edc6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316611e815760405162461bcd60e51b81526004018080602001828103825260258152602001806130626025913960400191505060405180910390fd5b6001600160a01b038216611ec65760405162461bcd60e51b8152600401808060200182810382526023815260200180612e376023913960400191505060405180910390fd5b816001600160a01b0316836001600160a01b03161415611f175760405162461bcd60e51b8152600401808060200182810382526029815260200180612fc76029913960400191505060405180910390fd5b80611f535760405162461bcd60e51b8152600401808060200182810382526030815260200180612e5a6030913960400191505060405180910390fd5b6001600160a01b038316600090815260026020526040902054811115611faa5760405162461bcd60e51b8152600401808060200182810382526026815260200180612fa16026913960400191505060405180910390fd5b6001600160a01b0383166000908152600a60205260408120548291908190819060ff16156120ad576001600160a01b03861660009081526007602052604090205460ff16612065576012546120129086906a0100000000000000000000900461ffff16612a99565b925061202e856012600c9054906101000a900461ffff16612a99565b915061204a85601260029054906101000a900461ffff16612a99565b90506120628361205c83818887612aab565b90612aab565b93505b6001600160a01b03861660009081526006602052604090205460ff166120a8576120a886856040518060800160405280604a8152602001613018604a9139612af4565b6124d3565b6001600160a01b0386166000908152600a602052604090205460ff1615612263576001600160a01b03871660009081526008602090815260408083205460099092529091209060ff16156121945760405162461bcd60e51b81526020600482019081528254600260001961010060018416150201909116046024830181905290918291604490910190849080156121855780601f1061215a57610100808354040283529160200191612185565b820191906000526020600020905b81548152906001019060200180831161216857829003601f168201915b50509250505060405180910390fd5b506001600160a01b03871660009081526007602052604090205460ff16612220576012546121d390869068010000000000000000900461ffff16612a99565b92506121ef856012600c9054906101000a900461ffff16612a99565b915061220b85601260049054906101000a900461ffff16612a99565b905061221d8361205c83818887612aab565b93505b6001600160a01b03871660009081526006602052604090205460ff166120a8576120a88786604051806080016040528060528152602001612e8a60529139612b86565b6001600160a01b03871660009081526008602052604090205460ff161580156122b2575060086000612293611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b6001600160a01b03881660009081526009602052604090209061232e5760405162461bcd60e51b81526020600482019081528254600260001961010060018416150201909116046024830181905290918291604490910190849080156121855780601f1061215a57610100808354040283529160200191612185565b506001600160a01b03871660009081526007602052604090205460ff1615801561237e57506007600061235f611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b156123e55760125461239f9086906601000000000000900461ffff16612a99565b92506123bb856012600c9054906101000a900461ffff16612a99565b6012549092506123d090869061ffff16612a99565b90506123e28361205c83818887612aab565b93505b6001600160a01b03861660009081526006602052604090205460ff16158015612434575060066000612415611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b1561245c5761245c86856040518060800160405280604d8152602001612efe604d9139612af4565b6001600160a01b03871660009081526006602052604090205460ff161580156124ab57506006600061248c611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b156124d3576124d38786604051806080016040528060568152602001612f4b60569139612b86565b811561255e576013546001600160a01b03166000908152600260205260409020546124fe9083612c99565b601380546001600160a01b039081166000908152600260209081526040918290209490945591548251868152925190821693918b16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a35b80156125e9576014546001600160a01b03166000908152600260205260409020546125899082612c99565b601480546001600160a01b039081166000908152600260209081526040918290209490945591548251858152925190821693918b16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a35b82156126a457306000908152600260205260408120546126099085612c99565b306000818152600260209081526040918290208490558151888152915193945091926001600160a01b038c16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef928290030190a3601754600160a01b900460ff1615801561268657506016546001600160a01b03898116911614155b801561269457506011548110155b156126a2576126a2816127ed565b505b6001600160a01b0387166000908152600260205260409020546126c79086612aab565b6001600160a01b0380891660009081526002602052604080822093909355908816815220546126f69085612c99565b6001600160a01b0380881660008181526002602090815260409182902094909455805188815290519193928b16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050505050565b600081848411156127e55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127aa578181015183820152602001612792565b50505050905090810190601f1680156127d75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b1790556000612828826002612cf3565b905060006128368383612aab565b6040805160028082526060820183529293504792600092602083019080368337019050509050308160008151811061286a57fe5b6001600160a01b03928316602091820292909201015260175482519116908290600190811061289557fe5b6001600160a01b0392831660209182029290920101526015546128bb9130911687611d50565b6015546040517f791ac947000000000000000000000000000000000000000000000000000000008152600481018681526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968c968a9594939092909160c40190602080880191028083838b5b8381101561295a578181015183820152602001612942565b505050509050019650505050505050600060405180830381600087803b15801561298357600080fd5b505af1158015612997573d6000803e3d6000fd5b5050505060006129b08347612aab90919063ffffffff16565b601554604080517ff305d71900000000000000000000000000000000000000000000000000000000815230600482015260248101889052600060448201819052606482015261dead60848201524260a482015290519293506001600160a01b039091169163f305d71991849160c480830192606092919082900301818588803b158015612a3c57600080fd5b505af1158015612a50573d6000803e3d6000fd5b50505050506040513d6060811015612a6757600080fd5b5050601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055505050505050565b61271061ffff91909116919091020490565b6000612aed83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612756565b9392505050565b600f54601454600091612b1191600160b01b900461ffff16612a99565b6001600160a01b03851660009081526002602052604090205490915082908401821015612b7f5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127aa578181015183820152602001612792565b5050505050565b6010546001600160a01b0384166000908152600560205260409020540142118015612be2576001600160a01b03841660009081526005602090815260408083204290556002825280832054600383528184205560049091528120555b6001600160a01b03841660009081526004602090815260408083205460039092528220546014549186019291612c239190600160a01b900461ffff16612a99565b90508381831115612c755760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127aa578181015183820152602001612792565b50506001600160a01b03909416600090815260046020526040902093909355505050565b600082820183811015612aed576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000612aed83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183612d7f5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127aa578181015183820152602001612792565b506000838581612d8b57fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282612dcb5760008555612e11565b82601f10612de457805160ff1916838001178555612e11565b82800160010185558215612e11579182015b82811115612e11578251825591602001919060010190612df6565b50612e1d929150612e21565b5090565b5b80821115612e1d5760008155600101612e2256fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a205472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f596f752063616e206e6f742073656c6c207468697320616d6f756e74206f6620746f6b656e7320666f72207468652063757272656e7420706572696f642e204a7573742072656c617820616e64207761697445524332303a20617070726f766520746f20746865207a65726f2061646472657373526563697069656e742063616e6e6f7420686f6c64207468697320616d6f756e74206f6620746f6b656e732e204c6f6f6b73206c696b65206865277320616c72656164792061207768616c6521596f752063616e206e6f74207472616e73666572207468697320616d6f756e74206f6620746f6b656e7320666f72207468652063757272656e7420706572696f642e204a7573742072656c617820616e64207761697445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a205468652073656e6465722063616e6e6f742062652074686520726563697069656e7442455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365596f752063616e6e6f7420686f6c64207468697320616d6f756e74206f6620746f6b656e732e204c6f6f6b73206c696b6520796f752061726520616c72656164792061207768616c652145524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212207f73e56fb53b08ed877f5621a3d7b6da65516a8ddd5247b886aed00688a87a2c64736f6c63430007060033000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff

Deployed Bytecode

0x60806040526004361061034e5760003560e01c806375f0a874116101bb578063c0d78655116100f7578063f1b30dea11610095578063f3b27b781161006f578063f3b27b7814610c88578063f637434214610cb2578063f887ea4014610cc7578063fe575a8714610cdc57610355565b8063f1b30dea14610c00578063f25f4b5614610c40578063f2fde38b14610c5557610355565b8063ddca3f43116100d1578063ddca3f4314610b68578063e29983c514610b7d578063ee95feaf14610bb8578063f11a24d314610beb57610355565b8063c0d7865514610aa9578063dc946bd314610adc578063dd62ed3e14610b2d57610355565b806395d89b4111610164578063a8aa1b311161013e578063a8aa1b3114610a18578063a9059cbb14610a2d578063b1baa81d14610a66578063b470aade14610a9457610355565b806395d89b41146109b357806397576786146109c857806398118cb414610a0357610355565b8063893d20e811610195578063893d20e8146109565780638da5cb5b1461096b57806390d49b9d1461098057610355565b806375f0a874146108c85780637c2d6e01146108f95780638187f5161461092357610355565b8063438f2e8b1161028a57806353d6fd59116102335780636abcca041161020d5780636abcca041461082b5780636ae1fbb51461086b5780636b67c4df1461088057806370a082311461089557610355565b806353d6fd59146107a8578063547bc05d146107e35780635d098b38146107f857610355565b806347e5b3041161026457806347e5b304146107075780634b0bddd21461073a5780635342acb41461077557610355565b8063438f2e8b1461069157806343d79670146106bf57806347062402146106f257610355565b8063245aa1e9116102f7578063313ce567116102d1578063313ce567146105eb5780633af32abf146106165780633d6dfa1e14610649578063429b62e51461065e57610355565b8063245aa1e9146105955780632b14ca56146105c15780632c3255c3146105d657610355565b806309fd64191161032857806309fd6419146104fd57806318160ddd1461052b57806323b872dd1461055257610355565b806304f140901461035a57806306fdde0314610426578063095ea7b3146104b057610355565b3661035557005b600080fd5b34801561036657600080fd5b506104246004803603606081101561037d57600080fd5b6001600160a01b038235169160208101351515918101906060810160408201356401000000008111156103af57600080fd5b8201836020820111156103c157600080fd5b803590602001918460018302840111640100000000831117156103e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d0f945050505050565b005b34801561043257600080fd5b5061043b610dba565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047557818101518382015260200161045d565b50505050905090810190601f1680156104a25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bc57600080fd5b506104e9600480360360408110156104d357600080fd5b506001600160a01b038135169060200135610e50565b604080519115158252519081900360200190f35b34801561050957600080fd5b506104246004803603602081101561052057600080fd5b503561ffff16610e6d565b34801561053757600080fd5b50610540610f14565b60408051918252519081900360200190f35b34801561055e57600080fd5b506104e96004803603606081101561057557600080fd5b506001600160a01b03813581169160208101359091169060400135610f1a565b3480156105a157600080fd5b506105aa610fa1565b6040805161ffff9092168252519081900360200190f35b3480156105cd57600080fd5b506105aa610fb2565b3480156105e257600080fd5b50610424610fc4565b3480156105f757600080fd5b50610600610fdf565b6040805160ff9092168252519081900360200190f35b34801561062257600080fd5b506104e96004803603602081101561063957600080fd5b50356001600160a01b0316610fe8565b34801561065557600080fd5b50610540611006565b34801561066a57600080fd5b506104e96004803603602081101561068157600080fd5b50356001600160a01b031661100c565b34801561069d57600080fd5b50610424600480360360208110156106b457600080fd5b503561ffff16611021565b3480156106cb57600080fd5b50610424600480360360208110156106e257600080fd5b50356001600160a01b03166110e9565b3480156106fe57600080fd5b506105aa611168565b34801561071357600080fd5b5061043b6004803603602081101561072a57600080fd5b50356001600160a01b0316611178565b34801561074657600080fd5b506104246004803603604081101561075d57600080fd5b506001600160a01b0381351690602001351515611223565b34801561078157600080fd5b506104e96004803603602081101561079857600080fd5b50356001600160a01b031661129e565b3480156107b457600080fd5b50610424600480360360408110156107cb57600080fd5b506001600160a01b03813516906020013515156112bc565b3480156107ef57600080fd5b506105aa611350565b34801561080457600080fd5b506104246004803603602081101561081b57600080fd5b50356001600160a01b0316611361565b34801561083757600080fd5b506104246004803603606081101561084e57600080fd5b5061ffff81358116916020810135821691604090910135166113fb565b34801561087757600080fd5b506104246114c4565b34801561088c57600080fd5b506105aa611521565b3480156108a157600080fd5b50610540600480360360208110156108b857600080fd5b50356001600160a01b031661153b565b3480156108d457600080fd5b506108dd611556565b604080516001600160a01b039092168252519081900360200190f35b34801561090557600080fd5b506104246004803603602081101561091c57600080fd5b5035611565565b34801561092f57600080fd5b506104246004803603602081101561094657600080fd5b50356001600160a01b03166115e3565b34801561096257600080fd5b506108dd611662565b34801561097757600080fd5b506108dd611671565b34801561098c57600080fd5b50610424600480360360208110156109a357600080fd5b50356001600160a01b0316611680565b3480156109bf57600080fd5b5061043b61173f565b3480156109d457600080fd5b50610424600480360360408110156109eb57600080fd5b506001600160a01b03813516906020013515156117a0565b348015610a0f57600080fd5b506105aa611834565b348015610a2457600080fd5b506108dd611848565b348015610a3957600080fd5b506104e960048036036040811015610a5057600080fd5b506001600160a01b038135169060200135611857565b348015610a7257600080fd5b5061042460048036036020811015610a8957600080fd5b503561ffff1661186b565b348015610aa057600080fd5b50610540611934565b348015610ab557600080fd5b5061042460048036036020811015610acc57600080fd5b50356001600160a01b031661193a565b348015610ae857600080fd5b50610b0f60048036036020811015610aff57600080fd5b50356001600160a01b03166119b9565b60408051938452602084019290925282820152519081900360600190f35b348015610b3957600080fd5b5061054060048036036040811015610b5057600080fd5b506001600160a01b03813581169160200135166119eb565b348015610b7457600080fd5b506105aa611a16565b348015610b8957600080fd5b5061042460048036036040811015610ba057600080fd5b506001600160a01b0381351690602001351515611a20565b348015610bc457600080fd5b506104e960048036036020811015610bdb57600080fd5b50356001600160a01b0316611ab4565b348015610bf757600080fd5b506105aa611ad2565b348015610c0c57600080fd5b5061042460048036036060811015610c2357600080fd5b5061ffff8135811691602081013582169160409091013516611aea565b348015610c4c57600080fd5b506108dd611bed565b348015610c6157600080fd5b5061042460048036036020811015610c7857600080fd5b50356001600160a01b0316611bfc565b348015610c9457600080fd5b5061042460048036036020811015610cab57600080fd5b5035611cb4565b348015610cbe57600080fd5b506105aa611d09565b348015610cd357600080fd5b506108dd611d1f565b348015610ce857600080fd5b506104e960048036036020811015610cff57600080fd5b50356001600160a01b0316611d2e565b600b6000610d1b611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16610d78576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b0383166000908152600860209081526040808320805460ff1916861515179055600982529091208251610db492840190612d95565b50505050565b600c8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610e465780601f10610e1b57610100808354040283529160200191610e46565b820191906000526020600020905b815481529060010190602001808311610e2957829003601f168201915b5050505050905090565b6000610e64610e5d611d4c565b8484611d50565b50600192915050565b610e75611d4c565b6000546001600160a01b03908116911614610ebd576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b60fa8161ffff161115610ecf57600080fd5b6012805461ffff9092166c01000000000000000000000000027fffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffff909216919091179055565b600f5490565b6000610f27848484611e3c565b610f9784610f33611d4c565b610f9285604051806060016040528060288152602001612ff0602891396001600160a01b038a16600090815260016020526040812090610f71611d4c565b6001600160a01b031681526020810191909152604001600020549190612756565b611d50565b5060019392505050565b601454600160b01b900461ffff1681565b601254640100000000900461ffff1681565b30600090815260026020526040902054610fdd906127ed565b565b600e5460ff1690565b6001600160a01b031660009081526006602052604090205460ff1690565b60115481565b600b6020526000908152604090205460ff1681565b600b600061102d611d4c565b6001600160a01b0316815260208101919091526040016000205460ff1661108a576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b60008161ffff161180156110a457506127108161ffff1611155b6110ad57600080fd5b6014805461ffff909216600160b01b027fffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6110f1611d4c565b6000546001600160a01b03908116911614611139576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6017805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60125462010000900461ffff1681565b6001600160a01b03811660009081526009602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156112175780601f106111ec57610100808354040283529160200191611217565b820191906000526020600020905b8154815290600101906020018083116111fa57829003601f168201915b50505050509050919050565b61122b611d4c565b6000546001600160a01b03908116911614611273576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526007602052604090205460ff1690565b600b60006112c8611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16611325576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b601454600160a01b900461ffff1681565b611369611d4c565b6000546001600160a01b039081169116146113b1576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6014546001600160a01b03828116911614156113cc57600080fd5b6013805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611403611d4c565b6000546001600160a01b0390811691161461144b576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6103e88361ffff161115801561146757506103e88261ffff1611155b801561147957506103e88161ffff1611155b61148257600080fd5b6012805461ffff191661ffff9485161763ffff0000191662010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6114cc611d4c565b6000546001600160a01b03908116911614611514576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b610fdd6000806000611aea565b6012546c01000000000000000000000000900461ffff1681565b6001600160a01b031660009081526002602052604090205490565b6013546001600160a01b031681565b600b6000611571611d4c565b6001600160a01b0316815260208101919091526040016000205460ff166115ce576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b621275008111156115de57600080fd5b601055565b6115eb611d4c565b6000546001600160a01b03908116911614611633576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6016805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600061166c611671565b905090565b6000546001600160a01b031690565b611688611d4c565b6000546001600160a01b039081169116146116d0576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6116d8611671565b6001600160a01b0316816001600160a01b03161415801561170757506013546001600160a01b03828116911614155b61171057600080fd5b6014805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600d8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610e465780601f10610e1b57610100808354040283529160200191610e46565b600b60006117ac611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16611809576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6012546601000000000000900461ffff1681565b6016546001600160a01b031681565b6000610e64611864611d4c565b8484611e3c565b600b6000611877611d4c565b6001600160a01b0316815260208101919091526040016000205460ff166118d4576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b60648161ffff16101580156118ef57506127108161ffff1611155b6118f857600080fd5b6014805461ffff909216600160a01b027fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60105481565b611942611d4c565b6000546001600160a01b0390811691161461198a576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6015805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b0316600090815260036020908152604080832054600583528184205460049093529220549192909190565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60125461ffff1681565b600b6000611a2c611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16611a89576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6001600160a01b03166000908152600a602052604090205460ff1690565b6012546a0100000000000000000000900461ffff1681565b611af2611d4c565b6000546001600160a01b03908116911614611b3a576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6103e88361ffff1611158015611b5657506103e88261ffff1611155b8015611b6857506103e88161ffff1611155b611b7157600080fd5b6012805467ffff0000000000001916660100000000000061ffff95861602177fffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff166a0100000000000000000000938516939093029290921769ffff00000000000000001916680100000000000000009190931602919091179055565b6014546001600160a01b031681565b611c04611d4c565b6000546001600160a01b03908116911614611c4c576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611cbc611d4c565b6000546001600160a01b03908116911614611d04576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b601155565b60125468010000000000000000900461ffff1681565b6015546001600160a01b031681565b6001600160a01b031660009081526008602052604090205460ff1690565b3390565b6001600160a01b038316611d955760405162461bcd60e51b81526004018080602001828103825260248152602001806130876024913960400191505060405180910390fd5b6001600160a01b038216611dda5760405162461bcd60e51b8152600401808060200182810382526022815260200180612edc6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316611e815760405162461bcd60e51b81526004018080602001828103825260258152602001806130626025913960400191505060405180910390fd5b6001600160a01b038216611ec65760405162461bcd60e51b8152600401808060200182810382526023815260200180612e376023913960400191505060405180910390fd5b816001600160a01b0316836001600160a01b03161415611f175760405162461bcd60e51b8152600401808060200182810382526029815260200180612fc76029913960400191505060405180910390fd5b80611f535760405162461bcd60e51b8152600401808060200182810382526030815260200180612e5a6030913960400191505060405180910390fd5b6001600160a01b038316600090815260026020526040902054811115611faa5760405162461bcd60e51b8152600401808060200182810382526026815260200180612fa16026913960400191505060405180910390fd5b6001600160a01b0383166000908152600a60205260408120548291908190819060ff16156120ad576001600160a01b03861660009081526007602052604090205460ff16612065576012546120129086906a0100000000000000000000900461ffff16612a99565b925061202e856012600c9054906101000a900461ffff16612a99565b915061204a85601260029054906101000a900461ffff16612a99565b90506120628361205c83818887612aab565b90612aab565b93505b6001600160a01b03861660009081526006602052604090205460ff166120a8576120a886856040518060800160405280604a8152602001613018604a9139612af4565b6124d3565b6001600160a01b0386166000908152600a602052604090205460ff1615612263576001600160a01b03871660009081526008602090815260408083205460099092529091209060ff16156121945760405162461bcd60e51b81526020600482019081528254600260001961010060018416150201909116046024830181905290918291604490910190849080156121855780601f1061215a57610100808354040283529160200191612185565b820191906000526020600020905b81548152906001019060200180831161216857829003601f168201915b50509250505060405180910390fd5b506001600160a01b03871660009081526007602052604090205460ff16612220576012546121d390869068010000000000000000900461ffff16612a99565b92506121ef856012600c9054906101000a900461ffff16612a99565b915061220b85601260049054906101000a900461ffff16612a99565b905061221d8361205c83818887612aab565b93505b6001600160a01b03871660009081526006602052604090205460ff166120a8576120a88786604051806080016040528060528152602001612e8a60529139612b86565b6001600160a01b03871660009081526008602052604090205460ff161580156122b2575060086000612293611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b6001600160a01b03881660009081526009602052604090209061232e5760405162461bcd60e51b81526020600482019081528254600260001961010060018416150201909116046024830181905290918291604490910190849080156121855780601f1061215a57610100808354040283529160200191612185565b506001600160a01b03871660009081526007602052604090205460ff1615801561237e57506007600061235f611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b156123e55760125461239f9086906601000000000000900461ffff16612a99565b92506123bb856012600c9054906101000a900461ffff16612a99565b6012549092506123d090869061ffff16612a99565b90506123e28361205c83818887612aab565b93505b6001600160a01b03861660009081526006602052604090205460ff16158015612434575060066000612415611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b1561245c5761245c86856040518060800160405280604d8152602001612efe604d9139612af4565b6001600160a01b03871660009081526006602052604090205460ff161580156124ab57506006600061248c611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b156124d3576124d38786604051806080016040528060568152602001612f4b60569139612b86565b811561255e576013546001600160a01b03166000908152600260205260409020546124fe9083612c99565b601380546001600160a01b039081166000908152600260209081526040918290209490945591548251868152925190821693918b16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a35b80156125e9576014546001600160a01b03166000908152600260205260409020546125899082612c99565b601480546001600160a01b039081166000908152600260209081526040918290209490945591548251858152925190821693918b16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a35b82156126a457306000908152600260205260408120546126099085612c99565b306000818152600260209081526040918290208490558151888152915193945091926001600160a01b038c16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef928290030190a3601754600160a01b900460ff1615801561268657506016546001600160a01b03898116911614155b801561269457506011548110155b156126a2576126a2816127ed565b505b6001600160a01b0387166000908152600260205260409020546126c79086612aab565b6001600160a01b0380891660009081526002602052604080822093909355908816815220546126f69085612c99565b6001600160a01b0380881660008181526002602090815260409182902094909455805188815290519193928b16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050505050565b600081848411156127e55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127aa578181015183820152602001612792565b50505050905090810190601f1680156127d75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b1790556000612828826002612cf3565b905060006128368383612aab565b6040805160028082526060820183529293504792600092602083019080368337019050509050308160008151811061286a57fe5b6001600160a01b03928316602091820292909201015260175482519116908290600190811061289557fe5b6001600160a01b0392831660209182029290920101526015546128bb9130911687611d50565b6015546040517f791ac947000000000000000000000000000000000000000000000000000000008152600481018681526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968c968a9594939092909160c40190602080880191028083838b5b8381101561295a578181015183820152602001612942565b505050509050019650505050505050600060405180830381600087803b15801561298357600080fd5b505af1158015612997573d6000803e3d6000fd5b5050505060006129b08347612aab90919063ffffffff16565b601554604080517ff305d71900000000000000000000000000000000000000000000000000000000815230600482015260248101889052600060448201819052606482015261dead60848201524260a482015290519293506001600160a01b039091169163f305d71991849160c480830192606092919082900301818588803b158015612a3c57600080fd5b505af1158015612a50573d6000803e3d6000fd5b50505050506040513d6060811015612a6757600080fd5b5050601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055505050505050565b61271061ffff91909116919091020490565b6000612aed83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612756565b9392505050565b600f54601454600091612b1191600160b01b900461ffff16612a99565b6001600160a01b03851660009081526002602052604090205490915082908401821015612b7f5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127aa578181015183820152602001612792565b5050505050565b6010546001600160a01b0384166000908152600560205260409020540142118015612be2576001600160a01b03841660009081526005602090815260408083204290556002825280832054600383528184205560049091528120555b6001600160a01b03841660009081526004602090815260408083205460039092528220546014549186019291612c239190600160a01b900461ffff16612a99565b90508381831115612c755760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127aa578181015183820152602001612792565b50506001600160a01b03909416600090815260046020526040902093909355505050565b600082820183811015612aed576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000612aed83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183612d7f5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127aa578181015183820152602001612792565b506000838581612d8b57fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282612dcb5760008555612e11565b82601f10612de457805160ff1916838001178555612e11565b82800160010185558215612e11579182015b82811115612e11578251825591602001919060010190612df6565b50612e1d929150612e21565b5090565b5b80821115612e1d5760008155600101612e2256fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a205472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f596f752063616e206e6f742073656c6c207468697320616d6f756e74206f6620746f6b656e7320666f72207468652063757272656e7420706572696f642e204a7573742072656c617820616e64207761697445524332303a20617070726f766520746f20746865207a65726f2061646472657373526563697069656e742063616e6e6f7420686f6c64207468697320616d6f756e74206f6620746f6b656e732e204c6f6f6b73206c696b65206865277320616c72656164792061207768616c6521596f752063616e206e6f74207472616e73666572207468697320616d6f756e74206f6620746f6b656e7320666f72207468652063757272656e7420706572696f642e204a7573742072656c617820616e64207761697445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a205468652073656e6465722063616e6e6f742062652074686520726563697069656e7442455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365596f752063616e6e6f7420686f6c64207468697320616d6f756e74206f6620746f6b656e732e204c6f6f6b73206c696b6520796f752061726520616c72656164792061207768616c652145524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212207f73e56fb53b08ed877f5621a3d7b6da65516a8ddd5247b886aed00688a87a2c64736f6c63430007060033

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

000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff

-----Decoded View---------------
Arg [0] : _router (address): 0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff

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


Deployed Bytecode Sourcemap

3926:14377:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14751:174;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14751:174:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14751:174:0;;-1:-1:-1;14751:174:0;;-1:-1:-1;;;;;14751:174:0:i;:::-;;7036:89;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7666:153;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7666:153:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;16663:156;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16663:156:0;;;;:::i;7131:96::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7825:300;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7825:300:0;;;;;;;;;;;;;;;;;:::i;5566:34::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5147:25;;;;;;;;;;;;;:::i;12416:96::-;;;;;;;;;;;;;:::i;6844:88::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17386:110;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17386:110:0;-1:-1:-1;;;;;17386:110:0;;:::i;4851:71::-;;;;;;;;;;;;;:::i;4567:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4567:39:0;-1:-1:-1;;;;;4567:39:0;;:::i;15043:160::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15043:160:0;;;;:::i;15699:100::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15699:100:0;-1:-1:-1;;;;;15699:100:0;;:::i;5103:24::-;;;;;;;;;;;;;:::i;17747:128::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17747:128:0;-1:-1:-1;;;;;17747:128:0;;:::i;14933:102::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14933:102:0;;;;;;;;;;:::i;17504:117::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17504:117:0;-1:-1:-1;;;;;17504:117:0;;:::i;14509:110::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14509:110:0;;;;;;;;;;:::i;5515:39::-;;;;;;;;;;;;;:::i;16827:165::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16827:165:0;-1:-1:-1;;;;;16827:165:0;;:::i;15949:293::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15949:293:0;;;;;;;;;;;;;;;;;;;;:::i;17172:95::-;;;;;;;;;;;;;:::i;5386:32::-;;;;;;;;;;;;;:::i;7235:115::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7235:115:0;-1:-1:-1;;;;;7235:115:0;;:::i;5447:30::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;5447:30:0;;;;;;;;;;;;;;15389:122;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15389:122:0;;:::i;15613:78::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15613:78:0;-1:-1:-1;;;;;15613:78:0;;:::i;6759:79::-;;;;;;;;;;;;;:::i;1403:73::-;;;;;;;;;;;;;:::i;16998:166::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16998:166:0;-1:-1:-1;;;;;16998:166:0;;:::i;6938:92::-;;;;;;;;;;;;;:::i;14627:116::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14627:116:0;;;;;;;;;;:::i;5192:30::-;;;;;;;;;;;;;:::i;5661:19::-;;;;;;;;;;;;;:::i;7356:159::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7356:159:0;;;;;;;;:::i;15211:170::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15211:170:0;;;;:::i;4808:38::-;;;;;;;;;;;;;:::i;15519:86::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15519:86:0;-1:-1:-1;;;;;15519:86:0;;:::i;17883:275::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17883:275:0;-1:-1:-1;;;;;17883:275:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;7521:139;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7521:139:0;;;;;;;;;;:::i;5058:21::-;;;;;;;;;;;;;:::i;14396:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14396:105:0;;;;;;;;;;:::i;17275:103::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17275:103:0;-1:-1:-1;;;;;17275:103:0;;:::i;5322:35::-;;;;;;;;;;;;;:::i;16250:405::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16250:405:0;;;;;;;;;;;;;;;;;;;;:::i;5482:24::-;;;;;;;;;;;;;:::i;1568:142::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1568:142:0;-1:-1:-1;;;;;1568:142:0;;:::i;15807:134::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15807:134:0;;:::i;5256:36::-;;;;;;;;;;;;;:::i;5635:21::-;;;;;;;;;;;;;:::i;17629:110::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17629:110:0;-1:-1:-1;;;;;17629:110:0;;:::i;14751:174::-;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14850:19:0;::::1;;::::0;;;:10:::1;:19;::::0;;;;;;;:27;;-1:-1:-1;;14850:27:0::1;::::0;::::1;;;::::0;;14884:17:::1;:26:::0;;;;;:35;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;14751:174:::0;;;:::o;7036:89::-;7114:5;7107:12;;;;;;;;-1:-1:-1;;7107:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7084:13;;7107:12;;7114:5;;7107:12;;7114:5;7107:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7036:89;:::o;7666:153::-;7743:4;7756:39;7765:12;:10;:12::i;:::-;7779:7;7788:6;7756:8;:39::i;:::-;-1:-1:-1;7809:4:0;7666:153;;;;:::o;16663:156::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;16761:3:::1;16744:13;:20;;;;16736:29;;;::::0;::::1;;16785:12;:28:::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;16663:156::o;7131:96::-;7209:12;;7131:96;:::o;7825:300::-;7924:4;7937:36;7947:6;7955:9;7966:6;7937:9;:36::i;:::-;7980:121;7989:6;7997:12;:10;:12::i;:::-;8011:89;8049:6;8011:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8011:19:0;;;;;;:11;:19;;;;;;8031:12;:10;:12::i;:::-;-1:-1:-1;;;;;8011:33:0;;;;;;;;;;;;-1:-1:-1;8011:33:0;;;:89;:37;:89::i;:::-;7980:8;:121::i;:::-;-1:-1:-1;8115:4:0;7825:300;;;;;:::o;5566:34::-;;;-1:-1:-1;;;5566:34:0;;;;;:::o;5147:25::-;;;;;;;;;:::o;12416:96::-;12499:4;12481:24;;;;:9;:24;;;;;;12463:43;;:17;:43::i;:::-;12416:96::o;6844:88::-;6917:9;;;;6844:88;:::o;17386:110::-;-1:-1:-1;;;;;17471:19:0;17449:4;17471:19;;;:10;:19;;;;;;;;;17386:110::o;4851:71::-;;;;:::o;4567:39::-;;;;;;;;;;;;;;;:::o;15043:160::-;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;15130:1:::1;15120:7;:11;;;:31;;;;;15146:5;15135:7;:16;;;;15120:31;15112:40;;;::::0;::::1;;15173:14;:24:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;;15173:24:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;15043:160::o;15699:100::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;15770:15:::1;:23:::0;;-1:-1:-1;;15770:23:0::1;-1:-1:-1::0;;;;;15770:23:0;;;::::1;::::0;;;::::1;::::0;;15699:100::o;5103:24::-;;;;;;;;;:::o;17747:128::-;-1:-1:-1;;;;;17843:26:0;;;;;;:17;:26;;;;;;;;;17836:33;;;;;;-1:-1:-1;;17836:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17812:13;;17836:33;;;17843:26;17836:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17747:128;;;:::o;14933:102::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;15006:15:0;;;::::1;;::::0;;;:6:::1;:15;::::0;;;;:23;;-1:-1:-1;;15006:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14933:102::o;17504:117::-;-1:-1:-1;;;;;17593:22:0;17571:4;17593:22;;;:13;:22;;;;;;;;;17504:117::o;14509:110::-;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14586:19:0;;;::::1;;::::0;;;:10:::1;:19;::::0;;;;:27;;-1:-1:-1;;14586:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14509:110::o;5515:39::-;;;-1:-1:-1;;;5515:39:0;;;;;:::o;16827:165::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;16935:9:::1;::::0;-1:-1:-1;;;;;16915:29:0;;::::1;16935:9:::0;::::1;16915:29;;16907:38;;;::::0;::::1;;16952:15;:34:::0;;-1:-1:-1;;16952:34:0::1;-1:-1:-1::0;;;;;16952:34:0;;;::::1;::::0;;;::::1;::::0;;16827:165::o;15949:293::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;16067:4:::1;16059;:12;;;;:52;;;;;16107:4;16096:7;:15;;;;16059:52;:93;;;;;16148:4;16136:8;:16;;;;16059:93;16041:130;;;::::0;::::1;;16178:3;:10:::0;;-1:-1:-1;;16178:10:0::1;;::::0;;::::1;;-1:-1:-1::0;;16195:16:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;16218:18:0::1;::::0;;;;::::1;;::::0;;;::::1;::::0;;15949:293::o;17172:95::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;17236:25:::1;17253:1;17256::::0;17259::::1;17236:16;:25::i;5386:32::-:0;;;;;;;;;:::o;7235:115::-;-1:-1:-1;;;;;7326:18:0;7303:7;7326:18;;;:9;:18;;;;;;;7235:115::o;5447:30::-;;;-1:-1:-1;;;;;5447:30:0;;:::o;15389:122::-;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;15469:7:::1;15461:4;:15;;15453:24;;;::::0;::::1;;15484:14;:21:::0;15389:122::o;15613:78::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;15673:4:::1;:12:::0;;-1:-1:-1;;15673:12:0::1;-1:-1:-1::0;;;;;15673:12:0;;;::::1;::::0;;;::::1;::::0;;15613:78::o;6759:79::-;6802:7;6825;:5;:7::i;:::-;6818:14;;6759:79;:::o;1403:73::-;1441:7;1464:6;-1:-1:-1;;;;;1464:6:0;1403:73;:::o;16998:166::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;17088:7:::1;:5;:7::i;:::-;-1:-1:-1::0;;;;;17074:21:0::1;:10;-1:-1:-1::0;;;;;17074:21:0::1;;;:54;;;;-1:-1:-1::0;17113:15:0::1;::::0;-1:-1:-1;;;;;17099:29:0;;::::1;17113:15:::0;::::1;17099:29;;17074:54;17066:63;;;::::0;::::1;;17136:9;:22:::0;;-1:-1:-1;;17136:22:0::1;-1:-1:-1::0;;;;;17136:22:0;;;::::1;::::0;;;::::1;::::0;;16998:166::o;6938:92::-;7017:7;7010:14;;;;;;;;-1:-1:-1;;7010:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6988:13;;7010:14;;7017:7;;7010:14;;7017:7;7010:14;;;;;;;;;;;;;;;;;;;;;;;;14627:116;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14707:22:0;;;::::1;;::::0;;;:13:::1;:22;::::0;;;;:30;;-1:-1:-1;;14707:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14627:116::o;5192:30::-;;;;;;;;;:::o;5661:19::-;;;-1:-1:-1;;;;;5661:19:0;;:::o;7356:159::-;7436:4;7449:42;7459:12;:10;:12::i;:::-;7473:9;7484:6;7449:9;:42::i;15211:170::-;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;15303:3:::1;15292:7;:14;;;;:34;;;;;15321:5;15310:7;:16;;;;15292:34;15284:43;;;::::0;::::1;;15347:18;:28:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;;15347:28:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;15211:170::o;4808:38::-;;;;:::o;15519:86::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;15583:6:::1;:16:::0;;-1:-1:-1;;15583:16:0::1;-1:-1:-1::0;;;;;15583:16:0;;;::::1;::::0;;;::::1;::::0;;15519:86::o;17883:275::-;-1:-1:-1;;;;;18033:29:0;17953:20;18033:29;;;:20;:29;;;;;;;;;18083:16;:25;;;;;;18125:18;:27;;;;;;18033:29;;18083:25;;18125:27;17883:275::o;7521:139::-;-1:-1:-1;;;;;7627:18:0;;;7604:7;7627:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7521:139::o;5058:21::-;;;;;;:::o;14396:105::-;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14470:17:0;;;::::1;;::::0;;;:8:::1;:17;::::0;;;;:25;;-1:-1:-1;;14470:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14396:105::o;17275:103::-;-1:-1:-1;;;;;17355:17:0;17333:4;17355:17;;;:8;:17;;;;;;;;;17275:103::o;5322:35::-;;;;;;;;;:::o;16250:405::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;16408:4:::1;16391:13;:21;;;;:70;;;;;16457:4;16437:16;:24;;;;16391:70;:120;;;;;16507:4;16486:17;:25;;;;16391:120;16373:157;;;::::0;::::1;;16537:12;:28:::0;;-1:-1:-1;;16537:28:0::1;::::0;::::1;::::0;;::::1;;;16572:34:::0;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;16613:36:0::1;::::0;;;;::::1;;::::0;;;::::1;::::0;;16250:405::o;5482:24::-;;;-1:-1:-1;;;;;5482:24:0;;:::o;1568:142::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;1663:6:::1;::::0;;1642:38:::1;::::0;-1:-1:-1;;;;;1642:38:0;;::::1;::::0;1663:6;::::1;::::0;1642:38:::1;::::0;::::1;1687:6;:17:::0;;-1:-1:-1;;1687:17:0::1;-1:-1:-1::0;;;;;1687:17:0;;;::::1;::::0;;;::::1;::::0;;1568:142::o;15807:134::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;15895:31:::1;:40:::0;15807:134::o;5256:36::-;;;;;;;;;:::o;5635:21::-;;;-1:-1:-1;;;;;5635:21:0;;:::o;17629:110::-;-1:-1:-1;;;;;17714:19:0;17692:4;17714:19;;;:10;:19;;;;;;;;;17629:110::o;909:106::-;997:10;909:106;:::o;8133:320::-;-1:-1:-1;;;;;8223:19:0;;8215:68;;;;-1:-1:-1;;;8215:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8298:21:0;;8290:68;;;;-1:-1:-1;;;8290:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8367:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8415:32;;;;;;;;;;;;;;;;;8133:320;;;:::o;8496:3912::-;-1:-1:-1;;;;;8590:20:0;;8582:70;;;;-1:-1:-1;;;8582:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8667:23:0;;8659:71;;;;-1:-1:-1;;;8659:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8755:9;-1:-1:-1;;;;;8745:19:0;:6;-1:-1:-1;;;;;8745:19:0;;;8737:73;;;;-1:-1:-1;;;8737:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8825:11;8817:72;;;;-1:-1:-1;;;8817:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8904:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;8904:27:0;8896:78;;;;-1:-1:-1;;;8896:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9147:16:0;;8987:21;9147:16;;;:8;:16;;;;;;9011:6;;8987:21;;;;;9147:16;;9143:2203;;;-1:-1:-1;;;;;9179:24:0;;;;;;:13;:24;;;;;;;;9174:348;;9262:15;;9239:39;;9254:6;;9262:15;;;;;9239:14;:39::i;:::-;9216:62;;9312:36;9327:6;9335:12;;;;;;;;;;;9312:14;:36::i;:::-;9289:59;;9373:30;9388:6;9396;;;;;;;;;;;9373:14;:30::i;:::-;9359:44;-1:-1:-1;9430:82:0;9491:20;9430:56;9359:44;9430:56;:13;9448:20;9430:17;:39::i;:::-;:43;;:56::i;:82::-;9414:98;;9174:348;-1:-1:-1;;;;;9543:21:0;;;;;;:10;:21;;;;;;;;9538:170;;9577:121;9595:9;9606:13;9577:121;;;;;;;;;;;;;;;;;:17;:121::i;:::-;9143:2203;;;-1:-1:-1;;;;;9745:19:0;;;;;;:8;:19;;;;;;;;9741:1605;;;-1:-1:-1;;;;;9784:18:0;;;;;;:10;:18;;;;;;;;;9804:17;:25;;;;;;;9784:18;;9783:19;9775:55;;;;-1:-1:-1;;;9775:55:0;;;;;;;;;;;;-1:-1:-1;;9775:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9846:21:0;;;;;;:13;:21;;;;;;;;9841:347;;9926:16;;9903:40;;9918:6;;9926:16;;;;;9903:14;:40::i;:::-;9880:63;;9977:36;9992:6;10000:12;;;;;;;;;;;9977:14;:36::i;:::-;9954:59;;10038:31;10053:6;10061:7;;;;;;;;;;;10038:14;:31::i;:::-;10024:45;-1:-1:-1;10096:82:0;10157:20;10096:56;10024:45;10096:56;:13;10114:20;10096:17;:39::i;:82::-;10080:98;;9841:347;-1:-1:-1;;;;;10209:18:0;;;;;;:10;:18;;;;;;;;10204:169;;10240:123;10262:6;10270;10240:123;;;;;;;;;;;;;;;;;:21;:123::i;9741:1605::-;-1:-1:-1;;;;;10446:18:0;;;;;;:10;:18;;;;;;;;10445:19;:48;;;;;10469:10;:24;10480:12;:10;:12::i;:::-;-1:-1:-1;;;;;10469:24:0;;;;;;;;;;;;-1:-1:-1;10469:24:0;;;;10468:25;10445:48;-1:-1:-1;;;;;10495:25:0;;;;;;:17;:25;;;;;;10437:84;;;;-1:-1:-1;;;10437:84:0;;;;;;;;;;;;-1:-1:-1;;10437:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10537:21:0;;;;;;:13;:21;;;;;;;;10536:22;:54;;;;;10563:13;:27;10577:12;:10;:12::i;:::-;-1:-1:-1;;;;;10563:27:0;;;;;;;;;;;;-1:-1:-1;10563:27:0;;;;10562:28;10536:54;10532:371;;;10649:12;;10626:36;;10641:6;;10649:12;;;;;10626:14;:36::i;:::-;10603:59;;10696:36;10711:6;10719:12;;;;;;;;;;;10696:14;:36::i;:::-;10780:3;;10673:59;;-1:-1:-1;10757:27:0;;10772:6;;10780:3;;10757:14;:27::i;:::-;10743:41;-1:-1:-1;10811:82:0;10872:20;10811:56;10743:41;10811:56;:13;10829:20;10811:17;:39::i;:82::-;10795:98;;10532:371;-1:-1:-1;;;;;10924:21:0;;;;;;:10;:21;;;;;;;;10923:22;:51;;;;;10950:10;:24;10961:12;:10;:12::i;:::-;-1:-1:-1;;;;;10950:24:0;;;;;;;;;;;;-1:-1:-1;10950:24:0;;;;10949:25;10923:51;10919:202;;;10987:124;11005:9;11016:13;10987:124;;;;;;;;;;;;;;;;;:17;:124::i;:::-;-1:-1:-1;;;;;11142:18:0;;;;;;:10;:18;;;;;;;;11141:19;:48;;;;;11165:10;:24;11176:12;:10;:12::i;:::-;-1:-1:-1;;;;;11165:24:0;;;;;;;;;;;;-1:-1:-1;11165:24:0;;;;11164:25;11141:48;11137:202;;;11202:127;11224:6;11232;11202:127;;;;;;;;;;;;;;;;;:21;:127::i;:::-;11362:24;;11358:201;;11438:15;;-1:-1:-1;;;;;11438:15:0;11428:26;;;;:9;:26;;;;;;:52;;11459:20;11428:30;:52::i;:::-;11409:15;;;-1:-1:-1;;;;;11409:15:0;;;11399:26;;;;:9;:26;;;;;;;;;:81;;;;11513:15;;11496:55;;;;;;;11513:15;;;;11496:55;;;;;;;;;;;;;11358:201;11575:15;;11571:156;;11636:9;;-1:-1:-1;;;;;11636:9:0;11626:20;;;;:9;:20;;;;;;:37;;11651:11;11626:24;:37::i;:::-;11613:9;;;-1:-1:-1;;;;;11613:9:0;;;11603:20;;;;:9;:20;;;;;;;;;:60;;;;11696:9;;11679:40;;;;;;;11696:9;;;;11679:40;;;;;;;;;;;;;11571:156;11739:24;;11735:481;;11825:4;11776:28;11807:24;;;:9;:24;;;;;;:50;;11836:20;11807:28;:50::i;:::-;11888:4;11870:24;;;;:9;:24;;;;;;;;;:47;;;11933:53;;;;;;;11776:81;;-1:-1:-1;11888:4:0;;-1:-1:-1;;;;;11933:53:0;;;;;;;;;;;12024:8;;-1:-1:-1;;;12024:8:0;;;;12023:9;:38;;;;-1:-1:-1;12057:4:0;;-1:-1:-1;;;;;12047:14:0;;;12057:4;;12047:14;;12023:38;:108;;;;;12100:31;;12076:20;:55;;12023:108;12007:202;;;12158:39;12176:20;12158:17;:39::i;:::-;11735:481;;-1:-1:-1;;;;;12248:17:0;;;;;;:9;:17;;;;;;:29;;12270:6;12248:21;:29::i;:::-;-1:-1:-1;;;;;12228:17:0;;;;;;;:9;:17;;;;;;:49;;;;12307:20;;;;;;;:39;;12332:13;12307:24;:39::i;:::-;-1:-1:-1;;;;;12284:20:0;;;;;;;:9;:20;;;;;;;;;:62;;;;12360:42;;;;;;;12284:20;;12360:42;;;;;;;;;;;;;8496:3912;;;;;;;:::o;2074:192::-;2160:7;2196:12;2188:6;;;;2180:29;;;;-1:-1:-1;;;2180:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2232:5:0;;;2074:192::o;12520:884::-;5952:8;:15;;;;-1:-1:-1;;;5952:15:0;;;;12608:13:::1;:6:::0;12619:1:::1;12608:10;:13::i;:::-;12584:37:::0;-1:-1:-1;12628:26:0::1;12657:25;:6:::0;12584:37;12657:10:::1;:25::i;:::-;12770:16;::::0;;12784:1:::1;12770:16:::0;;;;;::::1;::::0;;12628:54;;-1:-1:-1;12716:21:0::1;::::0;12691:22:::1;::::0;12770:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12770:16:0::1;12746:40;;12811:4;12793;12798:1;12793:7;;;;;;;;-1:-1:-1::0;;;;;12793:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;12833:15:::1;::::0;12823:7;;12833:15;::::1;::::0;12823:4;;12833:15;;12823:7;::::1;;;;;-1:-1:-1::0;;;;;12823:25:0;;::::1;:7;::::0;;::::1;::::0;;;;;:25;12893:6:::1;::::0;12861:48:::1;::::0;12878:4:::1;::::0;12893:6:::1;12902::::0;12861:8:::1;:48::i;:::-;12918:6;::::0;:186:::1;::::0;;;;::::1;::::0;::::1;::::0;;;:6:::1;:186:::0;;;;;;13066:4:::1;12918:186:::0;;;;;;13082:15:::1;12918:186:::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12918:6:0;;::::1;::::0;:57:::1;::::0;12986:13;;13043:4;;13066;13082:15;12918:186;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:6;:186:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13113:15;13131:41;13157:14;13131:21;:25;;:41;;;;:::i;:::-;13181:6;::::0;:217:::1;::::0;;;;;13238:4:::1;13181:217;::::0;::::1;::::0;;;;;;;:6:::1;:217:::0;;;;;;;;;;5757:42:::1;13181:217:::0;;;;13376:15:::1;13181:217:::0;;;;;;13113:59;;-1:-1:-1;;;;;;13181:6:0;;::::1;::::0;:22:::1;::::0;13113:59;;13181:217;;;;;::::1;::::0;;;;;;;;13113:59;13181:6;:217;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;5982:8:0;:16;;;;;;-1:-1:-1;;;;;;12520:884:0:o;18166:134::-;18289:5;18269:16;;;;;;;;;18268:26;;18166:134::o;1930:136::-;1988:7;2015:43;2019:1;2022;2015:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2008:50;1930:136;-1:-1:-1;;;1930:136:0:o;14119:269::-;14271:12;;14285:14;;14228:25;;14256:44;;-1:-1:-1;;;14285:14:0;;;;14256;:44::i;:::-;-1:-1:-1;;;;;14318:18:0;;;;;;:9;:18;;;;;;14228:72;;-1:-1:-1;14369:12:0;;14318:27;;14317:50;-1:-1:-1;14317:50:0;14309:73;;;;-1:-1:-1;;;14309:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14119:269;;;;:::o;13412:699::-;13587:14;;-1:-1:-1;;;;;13559:25:0;;13520:17;13559:25;;;:16;:25;;;;;;:42;13540:15;:62;13611:183;;;;-1:-1:-1;;;;;13640:25:0;;;;;;:16;:25;;;;;;;;13668:15;13640:43;;13726:9;:18;;;;;;13694:20;:29;;;;;:50;13755:18;:27;;;;;:31;13611:183;-1:-1:-1;;;;;13833:27:0;;13802:28;13833:27;;;:18;:27;;;;;;;;;13917:20;:29;;;;;;13948:18;;13833:36;;;;13802:28;13902:65;;13917:29;-1:-1:-1;;;13948:18:0;;;;13902:14;:65::i;:::-;13876:91;-1:-1:-1;14029:12:0;13988:39;;;;13980:62;;;;-1:-1:-1;;;13980:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;14055:27:0;;;;;;;:18;:27;;;;;:50;;;;-1:-1:-1;;;13412:699:0:o;1741:181::-;1799:7;1831:5;;;1855:6;;;;1847:46;;;;;-1:-1:-1;;;1847:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2532:132;2590:7;2617:39;2621:1;2624;2617:39;;;;;;;;;;;;;;;;;2758:7;2793:12;2786:5;2778:28;;;;-1:-1:-1;;;2778:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2817:9;2833:1;2829;:5;;;;;;;2672:191;-1:-1:-1;;;;;2672:191:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;

Swarm Source

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