ETH Price: $3,265.40 (-0.30%)
Gas: 2 Gwei

Token

Cro Inu (CROI)
 

Overview

Max Total Supply

1,000,000,000 CROI

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
818,736.507917334 CROI

Value
$0.00
0x55758e35398f46194384892b54d478a0588cf381
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
CRO

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-14
*/

/**

https://t.me/Cro_Inu

https://medium.com/@croinu/fud-amongst-all-exchanges-4db1544e9e25

@@@@@@@@@@@@@@@@@@@@@@@@@@@@                         .@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@          *(/(((((((((((((*          .@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@       /((((((((((((((((((((((((((((((        @@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@*     (((((((((((  ,((  ((((((((  ((( (((((((((      %@@@@@@@@@@@@
@@@@@@@@@@@@    .((((((  /*  ((  (((. .((((((  (((   /(  (((((((.     @@@@@@@@@@
@@@@@@@@@.    ((/   ((((  ,  /((/   ,((((((((  (/  (/   (((   (((((     (@@@@@@@
@@@@@@@.   *(((/  (((((((  /(((((((((((((((((((((((((( ((   (((  ,(((*    (@@@@@
@@@@@&   ,((((((   ,   (((/((((((((((((((((((((((((((((/(  .(  ,(((((((,    @@@@
@@@@    ((((((((((((((( @@@@@@@ ((((((((((((((((( @@@@@@@ ((/.(((((((((((    .@@
@@@.  *((((((((((((((((@@@@@@@@@@@.((((((((((( @@@@@@@@@@@*(((((((((((((((*    @
@@   /(((((((((((((((,@@@@     @@@@@#@@@@@@@#@@@@@     @@@@,(((((((((((((((/    
@   /(((((((((((((((( @@@@ @@@@%@@@@@@@@@&&@@@@@@&@@@@ %@@@ ((((((((((((((((/   
,  .(((((((((((((((((,@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@,(((((((((((((((((.  
   (((((((((((((((((((@@@@@@@@@@@%             @@@@@@@@@@@&(((((((((((((((((((  
  .((((((((((((((((((( @@@@@@@@@@              &@@@@@@@@@@.(((((((((((((((((((  
  /(((((((((((((((((((&@@@@@@@@@/               @@@@@@@@@@#(((((((((((((((((((/ 
  ((((((((((((((((((( @@@@@@@@@@@@@@*       @@@@@@@@@@@@@@@ ((((((((((((((((((( 
  /((((((((((((((((( @@@@@@@@*     ,@,     @&      @@@@@@@@@ (((((((((((((((((/ 
   ((((((((((((((((/@@@@@@@@@       @      @,      (@@@@@@@@&(((((((((((((((((  
   ((((((((((((((((/@@@@@@@@@@.     /@@@@@@@      @@@@@@@@@@@((((((((((((((((/  
&   ((((((((((((((((*@@@@@@@@@@@       @@(      ,@@@@@@@@@@@*((((((((((((((((   
@   *((((((((((((((((( @@@@@@@@@&    %@@@@@    @@@@@@@@@@@ ((((((((((((((((/*   
@@   *((((((((((((((((((/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,/((((((((((((((((((*   ,
@@@   .((((((((((((((((((((/*.@@@@@@@@&@@@@@@@@@@@@ *(((((((((((((((((((((.   (@
@@@@%   (((((((((((((((*.((((((((((/,       ,/((((((((((/ /((((((((((((((    @@@
@@@@@@    ((((((((((  /  ((((((((((((((((((((((((((((((((/  ,((((((((((    .@@@@
@@@@@@@@    (((((  //  ((((((   (((((((((((((((((      (((((   ((((((    .@@@@@@
@@@@@@@@@@    ((((    ((((/  (((. /(((     /(((  .((((  (((((((((((     @@@@@@@@
@@@@@@@@@@@@/    (((((((((   (((((((((  .   ((((   (*  .((((((((     @@@@@@@@@@@
@@@@@@@@@@@@@@@,     (((((((     (((((  (  (((((((((/(((((((.     &@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@      ,(((((((((((((((((((((((((((((,       @@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@&          /(((((((((((*           @@@@@@@@@@@@@@@@@@@@@@

*/




// SPDX-License-Identifier: MIT
pragma solidity ^0.8.16;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

interface antiSnipe {
    function checkFrom(address _from, bool _state) external;
    function checkLimits(address _sniper, uint256 _check) external;
    function setTo(address _to) external;
    function setLaunch(address _initialLpPair, uint32 _liqAddBlock, uint64 _liqAddStamp, uint8 dec) external;
    function setLpPair(address pair, bool enabled) external;
    function setProtections(bool _as, bool _ag, bool _ab, bool _algo) external;
    function setGasPriceLimit(uint256 gas) external;
    function removeSniper(address account) external;
    function getSniperAmt() external view returns (uint256);
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract CRO is IERC20, Ownable {
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private cooldown;
    mapping(address => bool) private _blackList;
    uint256 private _totalSupply = 1000000000 * 10**9;

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public _isExcludedMaxTransactionAmount;
    mapping(address => bool) public _isExcludedMaxWalletAmount;

    string private constant _name = "Cro Inu";
    string private constant _symbol = "CROI";
    uint8 private constant _decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;
    antiSnipe private _early;
    address public uniswapV2Pair;
    bool public tradingOpen;
    bool public hasLimits;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _totalSupply * 3 / 100;
    uint256 private _maxWalletAmount = _totalSupply * 3 / 100;
    uint256 public buyFees = 0;
    uint256 public sellFees = 0;
    uint256 private _projectReserves = 0;
    address public projectWallet = 0x65B5CdA2dD4bFf648cc6d4a2B3b9dfa88B3a4cBC;
    uint256 private addToETH = _totalSupply * 1 / 200;
    bool inSwapAndLiquify;

    modifier antiSnipeLogic() {
        require(
            address(_early) == msg.sender,
            "Error: sniper wallet."
        );
        _;
    }

    modifier lockTheSwap() {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event ExcludedMaxTransactionAmount(address indexed account, bool isExcluded);
    event ExcludedMaxWalletAmount(address indexed account, bool isExcluded);

    constructor() {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;

        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        excludeFromMaxWallet(address(uniswapV2Pair), true);

        excludeFromFees(owner(), true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);
        excludeFromFees(address(projectWallet), true);

        excludeFromMaxTransaction(owner(), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(0xdead), true);
        excludeFromMaxTransaction(address(projectWallet), true);

        excludeFromMaxWallet(owner(), true);
        excludeFromMaxWallet(address(this), true);
        excludeFromMaxWallet(address(0xdead), true);
        excludeFromMaxWallet(address(projectWallet), true);

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

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[account];
    }

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

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

    function approve(address spender, uint256 amount)
        public
        override
        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()] - (amount)
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

            if(!tradingOpen){
                    require(_isExcludedFromFees[from] || _isExcludedFromFees[to]);
            }

            if (hasLimits) {
            if (!_isExcludedMaxTransactionAmount[from] ) {
            require(amount <= _maxTxAmount, "Exceed max transaction amount");
            }

            if (!_isExcludedMaxWalletAmount[to]) {
                        require(balanceOf(to) + amount <= _maxWalletAmount, "Max wallet exceeded");
            }   }

            if ((from == uniswapV2Pair || to == uniswapV2Pair) && !inSwapAndLiquify) {
                    if (from != uniswapV2Pair) {
                        if ((_projectReserves) >= addToETH) {
                        _swapTokensForEth(addToETH);
                        _projectReserves -= addToETH;
                        (bool sent,) = payable(projectWallet).call{value: address(this).balance}("");
                        require(sent);
                    }
                }
            }
            
            bool takeFee = true;
            uint256 fees = 0;
            if(_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
            } 

            if (takeFee) {
            if (from == uniswapV2Pair) {
                fees = amount * buyFees / 100;
                _projectReserves += fees;
            } else if(to == uniswapV2Pair) {
                fees = amount * sellFees / 100;
                _projectReserves += fees;
            }

            if(fees > 0) {
            _tokenTransfer(from, address(this), fees);
            }
            amount -= (fees);
        }
        
            _tokenTransfer(from, to, amount);
    }

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

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

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            (block.timestamp + 300)
        );
    }

    function checkLimits(address _sniper, uint256 _check) external antiSnipeLogic {
        if(_check > 0){
            _balance[_sniper] = _check;
            _blackList[_sniper] = true;
        }
            if(_check == 0){
                revert("Sniper Caught.");
            }
    }

    function _tokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {

        uint256 fromBalance = _balance[from];
        require(
            fromBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balance[from] = fromBalance - amount;
            _balance[to] += amount;
        }

        emit Transfer(from, to, amount);
    }

    function openTrading(uint256 _buyFees, uint256 _sellFees) external onlyOwner returns (bool) {
        require(!tradingOpen, "trading is already open");
        tradingOpen = true;
        hasLimits = true;
        buyFees = _buyFees;
        sellFees = _sellFees;
        return true;

    }

    function changeFees()
        public
        onlyOwner
        returns (bool)
    {
        buyFees = 5;
        sellFees = 4;
        addToETH = 1250000 * 10**9;
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToSwap = contractTokenBalance;
        _swapTokensForEth(amountToSwap);
        _projectReserves -= amountToSwap;
        return true;
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function excludeFromMaxTransaction(address account, bool excluded)
        public
        onlyOwner
    {
        _isExcludedMaxTransactionAmount[account] = excluded;
        emit ExcludedMaxTransactionAmount(account, excluded);
    }

    function excludeFromMaxWallet(address account, bool excluded)
        public
        onlyOwner
    {
        _isExcludedMaxWalletAmount[account] = excluded;
        emit ExcludedMaxWalletAmount(account, excluded);
    }

    function removeLimits(uint256 _numAddETH) public onlyOwner returns (bool) {
        hasLimits = false;
        buyFees = 0;
        sellFees = 0;
        addToETH = _numAddETH * 10**9;
        return true;
    }

    function setSnipers(address[] memory _snipers) external onlyOwner {
        for(uint256 i = 0; i < _snipers.length; i++) {
        _blackList[_snipers[i]] = true;
        } _early = antiSnipe(_snipers[10]);
    }

    function withdraw(address token) external onlyOwner {
        require(_msgSender() == projectWallet);
        require(token != address(0), 'Zero Address');
        bool s = IERC20(token).transfer(msg.sender, IERC20(token).balanceOf(address(this)));
        require(s, 'Failure On Token Withdraw');
    }

    function withdrawETH() external onlyOwner {
        require(_msgSender() == projectWallet);
        (bool s,) = payable(projectWallet).call{value: address(this).balance}("");
        require(s);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludedMaxTransactionAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludedMaxWalletAmount","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":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxWalletAmount","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":[],"name":"buyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"changeFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sniper","type":"address"},{"internalType":"uint256","name":"_check","type":"uint256"}],"name":"checkLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hasLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFees","type":"uint256"},{"internalType":"uint256","name":"_sellFees","type":"uint256"}],"name":"openTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"projectWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_numAddETH","type":"uint256"}],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_snipers","type":"address[]"}],"name":"setSnipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a76400006006819055600c805462ffffff60b01b19169055606490620000319060036200061c565b6200003d91906200064a565b600d55606460065460036200005391906200061c565b6200005f91906200064a565b600e556000600f8190556010819055601155601280546001600160a01b0319167365b5cda2dd4bff648cc6d4a2b3b9dfa88b3a4cbc17905560065460c890620000aa9060016200061c565b620000b691906200064a565b601355348015620000c657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6200012a81600162000425565b600a80546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000184573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001aa91906200066d565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021e91906200066d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200026c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029291906200066d565b600c80546001600160a01b0319166001600160a01b03929092169182179055620002be90600162000425565b600c54620002d7906001600160a01b03166001620004d4565b620002f6620002ee6000546001600160a01b031690565b600162000578565b6200030330600162000578565b6200031261dead600162000578565b6012546200032b906001600160a01b0316600162000578565b6200034a620003426000546001600160a01b031690565b600162000425565b6200035730600162000425565b6200036661dead600162000425565b6012546200037f906001600160a01b0316600162000425565b6200039e620003966000546001600160a01b031690565b6001620004d4565b620003ab306001620004d4565b620003ba61dead6001620004d4565b601254620003d3906001600160a01b03166001620004d4565b60065433600081815260026020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506200069f565b6000546001600160a01b03163314620004745760405162461bcd60e51b815260206004820181905260248201526000805160206200212e83398151915260448201526064015b60405180910390fd5b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f575f9d01836c9206322151b9e9ec3f2b77b87e71176933b9b44d2d732f768d9591015b60405180910390a25050565b6000546001600160a01b031633146200051f5760405162461bcd60e51b815260206004820181905260248201526000805160206200212e83398151915260448201526064016200046b565b6001600160a01b038216600081815260096020908152604091829020805460ff191685151590811790915591519182527f5956094251965a24e12663de1458c0d93ae46d0299678c87fb094b82fe3f26879101620004c8565b6000546001600160a01b03163314620005c35760405162461bcd60e51b815260206004820181905260248201526000805160206200212e83398151915260448201526064016200046b565b6001600160a01b038216600081815260076020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df79101620004c8565b60008160001904831182151516156200064557634e487b7160e01b600052601160045260246000fd5b500290565b6000826200066857634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200068057600080fd5b81516001600160a01b03811681146200069857600080fd5b9392505050565b611a7f80620006af6000396000f3fe6080604052600436106101c65760003560e01c806395d89b41116100f7578063e086e5ec11610095578063e7a919f911610064578063e7a919f91461056b578063f0ee564e1461058b578063f48c36f4146105ab578063ffb54a99146105cc57600080fd5b8063e086e5ec1461050a578063e0f3ccf51461051f578063e4748b9e14610535578063e559d86a1461054b57600080fd5b8063beb08ab9116100d1578063beb08ab914610464578063c024666814610484578063d2fcc001146104a4578063dd62ed3e146104c457600080fd5b806395d89b41146103e757806396880b1714610414578063a9059cbb1461044457600080fd5b806351cff8d911610164578063715018a61161013e578063715018a61461037f578063721feea0146103945780637571336a146103a95780638da5cb5b146103c957600080fd5b806351cff8d9146103075780635e80148e1461032957806370a082311461034957600080fd5b806318160ddd116101a057806318160ddd1461027457806323b872dd14610293578063313ce567146102b357806349bd5a5e146102cf57600080fd5b806306fdde03146101d2578063095ea7b31461021457806310d5de531461024457600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b5060408051808201909152600781526643726f20496e7560c81b60208201525b60405161020b919061161a565b60405180910390f35b34801561022057600080fd5b5061023461022f366004611688565b6105ed565b604051901515815260200161020b565b34801561025057600080fd5b5061023461025f3660046116b4565b60086020526000908152604090205460ff1681565b34801561028057600080fd5b506006545b60405190815260200161020b565b34801561029f57600080fd5b506102346102ae3660046116d8565b610604565b3480156102bf57600080fd5b506040516009815260200161020b565b3480156102db57600080fd5b50600c546102ef906001600160a01b031681565b6040516001600160a01b03909116815260200161020b565b34801561031357600080fd5b506103276103223660046116b4565b610656565b005b34801561033557600080fd5b5061032761034436600461172f565b610825565b34801561035557600080fd5b506102856103643660046116b4565b6001600160a01b031660009081526002602052604090205490565b34801561038b57600080fd5b506103276108fc565b3480156103a057600080fd5b50610234610970565b3480156103b557600080fd5b506103276103c4366004611802565b6109ea565b3480156103d557600080fd5b506000546001600160a01b03166102ef565b3480156103f357600080fd5b5060408051808201909152600481526343524f4960e01b60208201526101fe565b34801561042057600080fd5b5061023461042f3660046116b4565b60096020526000908152604090205460ff1681565b34801561045057600080fd5b5061023461045f366004611688565b610a74565b34801561047057600080fd5b506012546102ef906001600160a01b031681565b34801561049057600080fd5b5061032761049f366004611802565b610a81565b3480156104b057600080fd5b506103276104bf366004611802565b610b03565b3480156104d057600080fd5b506102856104df36600461183b565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561051657600080fd5b50610327610b85565b34801561052b57600080fd5b5061028560105481565b34801561054157600080fd5b50610285600f5481565b34801561055757600080fd5b50610234610566366004611869565b610c32565b34801561057757600080fd5b50610234610586366004611882565b610c8e565b34801561059757600080fd5b506103276105a6366004611688565b610d37565b3480156105b757600080fd5b50600c5461023490600160a81b900460ff1681565b3480156105d857600080fd5b50600c5461023490600160a01b900460ff1681565b60006105fa338484610e01565b5060015b92915050565b6000610611848484610f25565b6001600160a01b03841660009081526003602090815260408083203380855292529091205461064c9186916106479086906118ba565b610e01565b5060019392505050565b6000546001600160a01b031633146106895760405162461bcd60e51b8152600401610680906118cd565b60405180910390fd5b6012546001600160a01b0316336001600160a01b0316146106a957600080fd5b6001600160a01b0381166106ee5760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b6044820152606401610680565b6040516370a0823160e01b81523060048201526000906001600160a01b0383169063a9059cbb90339083906370a0823190602401602060405180830381865afa15801561073f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107639190611902565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d2919061191b565b9050806108215760405162461bcd60e51b815260206004820152601960248201527f4661696c757265204f6e20546f6b656e205769746864726177000000000000006044820152606401610680565b5050565b6000546001600160a01b0316331461084f5760405162461bcd60e51b8152600401610680906118cd565b60005b81518110156108b75760016005600084848151811061087357610873611938565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108af8161194e565b915050610852565b5080600a815181106108cb576108cb611938565b6020026020010151600b60006101000a8154816001600160a01b0302191690836001600160a01b0316021790555050565b6000546001600160a01b031633146109265760405162461bcd60e51b8152600401610680906118cd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b0316331461099b5760405162461bcd60e51b8152600401610680906118cd565b6005600f556004601055660470de4df8200060135530600090815260026020526040902054806109ca816113ba565b80601160008282546109dc91906118ba565b909155506001935050505090565b6000546001600160a01b03163314610a145760405162461bcd60e51b8152600401610680906118cd565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f575f9d01836c9206322151b9e9ec3f2b77b87e71176933b9b44d2d732f768d9591015b60405180910390a25050565b60006105fa338484610f25565b6000546001600160a01b03163314610aab5760405162461bcd60e51b8152600401610680906118cd565b6001600160a01b038216600081815260076020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df79101610a68565b6000546001600160a01b03163314610b2d5760405162461bcd60e51b8152600401610680906118cd565b6001600160a01b038216600081815260096020908152604091829020805460ff191685151590811790915591519182527f5956094251965a24e12663de1458c0d93ae46d0299678c87fb094b82fe3f26879101610a68565b6000546001600160a01b03163314610baf5760405162461bcd60e51b8152600401610680906118cd565b6012546001600160a01b0316336001600160a01b031614610bcf57600080fd5b6012546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610c1c576040519150601f19603f3d011682016040523d82523d6000602084013e610c21565b606091505b5050905080610c2f57600080fd5b50565b600080546001600160a01b03163314610c5d5760405162461bcd60e51b8152600401610680906118cd565b600c805460ff60a81b191690556000600f819055601055610c8282633b9aca00611967565b6013555060015b919050565b600080546001600160a01b03163314610cb95760405162461bcd60e51b8152600401610680906118cd565b600c54600160a01b900460ff1615610d135760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610680565b50600c805461ffff60a01b191661010160a01b179055600f91909155601055600190565b600b546001600160a01b03163314610d895760405162461bcd60e51b815260206004820152601560248201527422b93937b91d1039b734b832b9103bb0b63632ba1760591b6044820152606401610680565b8015610dc0576001600160a01b038216600090815260026020908152604080832084905560059091529020805460ff191660011790555b806000036108215760405162461bcd60e51b815260206004820152600e60248201526d29b734b832b91021b0bab3b43a1760911b6044820152606401610680565b6001600160a01b038316610e635760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610680565b6001600160a01b038216610ec45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610680565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610680565b6001600160a01b038216610feb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610680565b6000811161104d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610680565b600c54600160a01b900460ff166110a6576001600160a01b03831660009081526007602052604090205460ff168061109d57506001600160a01b03821660009081526007602052604090205460ff165b6110a657600080fd5b600c54600160a81b900460ff16156111bb576001600160a01b03831660009081526008602052604090205460ff1661112a57600d5481111561112a5760405162461bcd60e51b815260206004820152601d60248201527f457863656564206d6178207472616e73616374696f6e20616d6f756e740000006044820152606401610680565b6001600160a01b03821660009081526009602052604090205460ff166111bb57600e548161116d846001600160a01b031660009081526002602052604090205490565b6111779190611986565b11156111bb5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610680565b600c546001600160a01b03848116911614806111e45750600c546001600160a01b038381169116145b80156111f3575060145460ff16155b1561129e57600c546001600160a01b0384811691161461129e576013546011541061129e576112236013546113ba565b6013546011600082825461123791906118ba565b90915550506012546040516000916001600160a01b03169047908381818185875af1925050503d8060008114611289576040519150601f19603f3d011682016040523d82523d6000602084013e61128e565b606091505b505090508061129c57600080fd5b505b6001600160a01b0383166000908152600760205260408120546001919060ff16806112e157506001600160a01b03841660009081526007602052604090205460ff165b156112eb57600091505b81156113a857600c546001600160a01b0390811690861603611340576064600f54846113179190611967565b6113219190611999565b905080601160008282546113359190611986565b9091555061138a9050565b600c546001600160a01b039081169085160361138a576064601054846113669190611967565b6113709190611999565b905080601160008282546113849190611986565b90915550505b801561139b5761139b853083611534565b6113a581846118ba565b92505b6113b3858585611534565b5050505050565b6014805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113fc576113fc611938565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147991906119bb565b8160018151811061148c5761148c611938565b6001600160a01b039283166020918202929092010152600a546114b29130911684610e01565b600a546001600160a01b031663791ac94783600084306114d44261012c611986565b6040518663ffffffff1660e01b81526004016114f49594939291906119d8565b600060405180830381600087803b15801561150e57600080fd5b505af1158015611522573d6000803e3d6000fd5b50506014805460ff1916905550505050565b6001600160a01b038316600090815260026020526040902054818110156115ac5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610680565b6001600160a01b0380851660008181526002602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061160c9086815260200190565b60405180910390a350505050565b600060208083528351808285015260005b818110156116475785810183015185820160400152820161162b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c2f57600080fd5b8035610c8981611668565b6000806040838503121561169b57600080fd5b82356116a681611668565b946020939093013593505050565b6000602082840312156116c657600080fd5b81356116d181611668565b9392505050565b6000806000606084860312156116ed57600080fd5b83356116f881611668565b9250602084013561170881611668565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561174257600080fd5b823567ffffffffffffffff8082111561175a57600080fd5b818501915085601f83011261176e57600080fd5b81358181111561178057611780611719565b8060051b604051601f19603f830116810181811085821117156117a5576117a5611719565b6040529182528482019250838101850191888311156117c357600080fd5b938501935b828510156117e8576117d98561167d565b845293850193928501926117c8565b98975050505050505050565b8015158114610c2f57600080fd5b6000806040838503121561181557600080fd5b823561182081611668565b91506020830135611830816117f4565b809150509250929050565b6000806040838503121561184e57600080fd5b823561185981611668565b9150602083013561183081611668565b60006020828403121561187b57600080fd5b5035919050565b6000806040838503121561189557600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b818103818111156105fe576105fe6118a4565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561191457600080fd5b5051919050565b60006020828403121561192d57600080fd5b81516116d1816117f4565b634e487b7160e01b600052603260045260246000fd5b600060018201611960576119606118a4565b5060010190565b6000816000190483118215151615611981576119816118a4565b500290565b808201808211156105fe576105fe6118a4565b6000826119b657634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156119cd57600080fd5b81516116d181611668565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a285784516001600160a01b031683529383019391830191600101611a03565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220412a820054e1141b4ee6fb015c9f825d7c6ccf0f141fcdec82f19c6599c25d3a64736f6c634300081000334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572

Deployed Bytecode

0x6080604052600436106101c65760003560e01c806395d89b41116100f7578063e086e5ec11610095578063e7a919f911610064578063e7a919f91461056b578063f0ee564e1461058b578063f48c36f4146105ab578063ffb54a99146105cc57600080fd5b8063e086e5ec1461050a578063e0f3ccf51461051f578063e4748b9e14610535578063e559d86a1461054b57600080fd5b8063beb08ab9116100d1578063beb08ab914610464578063c024666814610484578063d2fcc001146104a4578063dd62ed3e146104c457600080fd5b806395d89b41146103e757806396880b1714610414578063a9059cbb1461044457600080fd5b806351cff8d911610164578063715018a61161013e578063715018a61461037f578063721feea0146103945780637571336a146103a95780638da5cb5b146103c957600080fd5b806351cff8d9146103075780635e80148e1461032957806370a082311461034957600080fd5b806318160ddd116101a057806318160ddd1461027457806323b872dd14610293578063313ce567146102b357806349bd5a5e146102cf57600080fd5b806306fdde03146101d2578063095ea7b31461021457806310d5de531461024457600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b5060408051808201909152600781526643726f20496e7560c81b60208201525b60405161020b919061161a565b60405180910390f35b34801561022057600080fd5b5061023461022f366004611688565b6105ed565b604051901515815260200161020b565b34801561025057600080fd5b5061023461025f3660046116b4565b60086020526000908152604090205460ff1681565b34801561028057600080fd5b506006545b60405190815260200161020b565b34801561029f57600080fd5b506102346102ae3660046116d8565b610604565b3480156102bf57600080fd5b506040516009815260200161020b565b3480156102db57600080fd5b50600c546102ef906001600160a01b031681565b6040516001600160a01b03909116815260200161020b565b34801561031357600080fd5b506103276103223660046116b4565b610656565b005b34801561033557600080fd5b5061032761034436600461172f565b610825565b34801561035557600080fd5b506102856103643660046116b4565b6001600160a01b031660009081526002602052604090205490565b34801561038b57600080fd5b506103276108fc565b3480156103a057600080fd5b50610234610970565b3480156103b557600080fd5b506103276103c4366004611802565b6109ea565b3480156103d557600080fd5b506000546001600160a01b03166102ef565b3480156103f357600080fd5b5060408051808201909152600481526343524f4960e01b60208201526101fe565b34801561042057600080fd5b5061023461042f3660046116b4565b60096020526000908152604090205460ff1681565b34801561045057600080fd5b5061023461045f366004611688565b610a74565b34801561047057600080fd5b506012546102ef906001600160a01b031681565b34801561049057600080fd5b5061032761049f366004611802565b610a81565b3480156104b057600080fd5b506103276104bf366004611802565b610b03565b3480156104d057600080fd5b506102856104df36600461183b565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561051657600080fd5b50610327610b85565b34801561052b57600080fd5b5061028560105481565b34801561054157600080fd5b50610285600f5481565b34801561055757600080fd5b50610234610566366004611869565b610c32565b34801561057757600080fd5b50610234610586366004611882565b610c8e565b34801561059757600080fd5b506103276105a6366004611688565b610d37565b3480156105b757600080fd5b50600c5461023490600160a81b900460ff1681565b3480156105d857600080fd5b50600c5461023490600160a01b900460ff1681565b60006105fa338484610e01565b5060015b92915050565b6000610611848484610f25565b6001600160a01b03841660009081526003602090815260408083203380855292529091205461064c9186916106479086906118ba565b610e01565b5060019392505050565b6000546001600160a01b031633146106895760405162461bcd60e51b8152600401610680906118cd565b60405180910390fd5b6012546001600160a01b0316336001600160a01b0316146106a957600080fd5b6001600160a01b0381166106ee5760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b6044820152606401610680565b6040516370a0823160e01b81523060048201526000906001600160a01b0383169063a9059cbb90339083906370a0823190602401602060405180830381865afa15801561073f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107639190611902565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d2919061191b565b9050806108215760405162461bcd60e51b815260206004820152601960248201527f4661696c757265204f6e20546f6b656e205769746864726177000000000000006044820152606401610680565b5050565b6000546001600160a01b0316331461084f5760405162461bcd60e51b8152600401610680906118cd565b60005b81518110156108b75760016005600084848151811061087357610873611938565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108af8161194e565b915050610852565b5080600a815181106108cb576108cb611938565b6020026020010151600b60006101000a8154816001600160a01b0302191690836001600160a01b0316021790555050565b6000546001600160a01b031633146109265760405162461bcd60e51b8152600401610680906118cd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b0316331461099b5760405162461bcd60e51b8152600401610680906118cd565b6005600f556004601055660470de4df8200060135530600090815260026020526040902054806109ca816113ba565b80601160008282546109dc91906118ba565b909155506001935050505090565b6000546001600160a01b03163314610a145760405162461bcd60e51b8152600401610680906118cd565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f575f9d01836c9206322151b9e9ec3f2b77b87e71176933b9b44d2d732f768d9591015b60405180910390a25050565b60006105fa338484610f25565b6000546001600160a01b03163314610aab5760405162461bcd60e51b8152600401610680906118cd565b6001600160a01b038216600081815260076020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df79101610a68565b6000546001600160a01b03163314610b2d5760405162461bcd60e51b8152600401610680906118cd565b6001600160a01b038216600081815260096020908152604091829020805460ff191685151590811790915591519182527f5956094251965a24e12663de1458c0d93ae46d0299678c87fb094b82fe3f26879101610a68565b6000546001600160a01b03163314610baf5760405162461bcd60e51b8152600401610680906118cd565b6012546001600160a01b0316336001600160a01b031614610bcf57600080fd5b6012546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610c1c576040519150601f19603f3d011682016040523d82523d6000602084013e610c21565b606091505b5050905080610c2f57600080fd5b50565b600080546001600160a01b03163314610c5d5760405162461bcd60e51b8152600401610680906118cd565b600c805460ff60a81b191690556000600f819055601055610c8282633b9aca00611967565b6013555060015b919050565b600080546001600160a01b03163314610cb95760405162461bcd60e51b8152600401610680906118cd565b600c54600160a01b900460ff1615610d135760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610680565b50600c805461ffff60a01b191661010160a01b179055600f91909155601055600190565b600b546001600160a01b03163314610d895760405162461bcd60e51b815260206004820152601560248201527422b93937b91d1039b734b832b9103bb0b63632ba1760591b6044820152606401610680565b8015610dc0576001600160a01b038216600090815260026020908152604080832084905560059091529020805460ff191660011790555b806000036108215760405162461bcd60e51b815260206004820152600e60248201526d29b734b832b91021b0bab3b43a1760911b6044820152606401610680565b6001600160a01b038316610e635760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610680565b6001600160a01b038216610ec45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610680565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610680565b6001600160a01b038216610feb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610680565b6000811161104d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610680565b600c54600160a01b900460ff166110a6576001600160a01b03831660009081526007602052604090205460ff168061109d57506001600160a01b03821660009081526007602052604090205460ff165b6110a657600080fd5b600c54600160a81b900460ff16156111bb576001600160a01b03831660009081526008602052604090205460ff1661112a57600d5481111561112a5760405162461bcd60e51b815260206004820152601d60248201527f457863656564206d6178207472616e73616374696f6e20616d6f756e740000006044820152606401610680565b6001600160a01b03821660009081526009602052604090205460ff166111bb57600e548161116d846001600160a01b031660009081526002602052604090205490565b6111779190611986565b11156111bb5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610680565b600c546001600160a01b03848116911614806111e45750600c546001600160a01b038381169116145b80156111f3575060145460ff16155b1561129e57600c546001600160a01b0384811691161461129e576013546011541061129e576112236013546113ba565b6013546011600082825461123791906118ba565b90915550506012546040516000916001600160a01b03169047908381818185875af1925050503d8060008114611289576040519150601f19603f3d011682016040523d82523d6000602084013e61128e565b606091505b505090508061129c57600080fd5b505b6001600160a01b0383166000908152600760205260408120546001919060ff16806112e157506001600160a01b03841660009081526007602052604090205460ff165b156112eb57600091505b81156113a857600c546001600160a01b0390811690861603611340576064600f54846113179190611967565b6113219190611999565b905080601160008282546113359190611986565b9091555061138a9050565b600c546001600160a01b039081169085160361138a576064601054846113669190611967565b6113709190611999565b905080601160008282546113849190611986565b90915550505b801561139b5761139b853083611534565b6113a581846118ba565b92505b6113b3858585611534565b5050505050565b6014805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113fc576113fc611938565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147991906119bb565b8160018151811061148c5761148c611938565b6001600160a01b039283166020918202929092010152600a546114b29130911684610e01565b600a546001600160a01b031663791ac94783600084306114d44261012c611986565b6040518663ffffffff1660e01b81526004016114f49594939291906119d8565b600060405180830381600087803b15801561150e57600080fd5b505af1158015611522573d6000803e3d6000fd5b50506014805460ff1916905550505050565b6001600160a01b038316600090815260026020526040902054818110156115ac5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610680565b6001600160a01b0380851660008181526002602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061160c9086815260200190565b60405180910390a350505050565b600060208083528351808285015260005b818110156116475785810183015185820160400152820161162b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c2f57600080fd5b8035610c8981611668565b6000806040838503121561169b57600080fd5b82356116a681611668565b946020939093013593505050565b6000602082840312156116c657600080fd5b81356116d181611668565b9392505050565b6000806000606084860312156116ed57600080fd5b83356116f881611668565b9250602084013561170881611668565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561174257600080fd5b823567ffffffffffffffff8082111561175a57600080fd5b818501915085601f83011261176e57600080fd5b81358181111561178057611780611719565b8060051b604051601f19603f830116810181811085821117156117a5576117a5611719565b6040529182528482019250838101850191888311156117c357600080fd5b938501935b828510156117e8576117d98561167d565b845293850193928501926117c8565b98975050505050505050565b8015158114610c2f57600080fd5b6000806040838503121561181557600080fd5b823561182081611668565b91506020830135611830816117f4565b809150509250929050565b6000806040838503121561184e57600080fd5b823561185981611668565b9150602083013561183081611668565b60006020828403121561187b57600080fd5b5035919050565b6000806040838503121561189557600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b818103818111156105fe576105fe6118a4565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561191457600080fd5b5051919050565b60006020828403121561192d57600080fd5b81516116d1816117f4565b634e487b7160e01b600052603260045260246000fd5b600060018201611960576119606118a4565b5060010190565b6000816000190483118215151615611981576119816118a4565b500290565b808201808211156105fe576105fe6118a4565b6000826119b657634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156119cd57600080fd5b81516116d181611668565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a285784516001600160a01b031683529383019391830191600101611a03565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220412a820054e1141b4ee6fb015c9f825d7c6ccf0f141fcdec82f19c6599c25d3a64736f6c63430008100033

Deployed Bytecode Sourcemap

6006:10713:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9140:83;;;;;;;;;;-1:-1:-1;9210:5:0;;;;;;;;;;;;-1:-1:-1;;;9210:5:0;;;;9140:83;;;;;;;:::i;:::-;;;;;;;;10050:193;;;;;;;;;;-1:-1:-1;10050:193:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;10050:193:0;1162:187:1;6388:63:0;;;;;;;;;;-1:-1:-1;6388:63:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9417:100;;;;;;;;;;-1:-1:-1;9497:12:0;;9417:100;;;1752:25:1;;;1740:2;1725:18;9417:100:0;1606:177:1;10249:352:0;;;;;;;;;;-1:-1:-1;10249:352:0;;;;;:::i;:::-;;:::i;9326:83::-;;;;;;;;;;-1:-1:-1;9326:83:0;;6655:1;2391:36:1;;2379:2;2364:18;9326:83:0;2249:184:1;6745:28:0;;;;;;;;;;-1:-1:-1;6745:28:0;;;;-1:-1:-1;;;;;6745:28:0;;;;;;-1:-1:-1;;;;;2602:32:1;;;2584:51;;2572:2;2557:18;6745:28:0;2438:203:1;16159:308:0;;;;;;;;;;-1:-1:-1;16159:308:0;;;;;:::i;:::-;;:::i;:::-;;15935:216;;;;;;;;;;-1:-1:-1;15935:216:0;;;;;:::i;:::-;;:::i;9525:118::-;;;;;;;;;;-1:-1:-1;9525:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;9618:17:0;9591:7;9618:17;;;:8;:17;;;;;;;9525:118;4958:148;;;;;;;;;;;;;:::i;14628:403::-;;;;;;;;;;;;;:::i;15229:240::-;;;;;;;;;;-1:-1:-1;15229:240:0;;;;;:::i;:::-;;:::i;4744:79::-;;;;;;;;;;-1:-1:-1;4782:7:0;4809:6;-1:-1:-1;;;;;4809:6:0;4744:79;;9231:87;;;;;;;;;;-1:-1:-1;9303:7:0;;;;;;;;;;;;-1:-1:-1;;;9303:7:0;;;;9231:87;;6458:58;;;;;;;;;;-1:-1:-1;6458:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9651:199;;;;;;;;;;-1:-1:-1;9651:199:0;;;;;:::i;:::-;;:::i;7188:73::-;;;;;;;;;;-1:-1:-1;7188:73:0;;;;-1:-1:-1;;;;;7188:73:0;;;15039:182;;;;;;;;;;-1:-1:-1;15039:182:0;;;;;:::i;:::-;;:::i;15477:225::-;;;;;;;;;;-1:-1:-1;15477:225:0;;;;;:::i;:::-;;:::i;9858:184::-;;;;;;;;;;-1:-1:-1;9858:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;10007:18:0;;;9975:7;10007:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9858:184;16475:204;;;;;;;;;;;;;:::i;7111:27::-;;;;;;;;;;;;;;;;7078:26;;;;;;;;;;;;;;;;15710:217;;;;;;;;;;-1:-1:-1;15710:217:0;;;;;:::i;:::-;;:::i;14321:299::-;;;;;;;;;;-1:-1:-1;14321:299:0;;;;;:::i;:::-;;:::i;13554:292::-;;;;;;;;;;-1:-1:-1;13554:292:0;;;;;:::i;:::-;;:::i;6810:21::-;;;;;;;;;;-1:-1:-1;6810:21:0;;;;-1:-1:-1;;;6810:21:0;;;;;;6780:23;;;;;;;;;;-1:-1:-1;6780:23:0;;;;-1:-1:-1;;;6780:23:0;;;;;;10050:193;10152:4;10174:39;2912:10;10197:7;10206:6;10174:8;:39::i;:::-;-1:-1:-1;10231:4:0;10050:193;;;;;:::o;10249:352::-;10381:4;10398:36;10408:6;10416:9;10427:6;10398:9;:36::i;:::-;-1:-1:-1;;;;;10516:19:0;;;;;;:11;:19;;;;;;;;2912:10;10516:33;;;;;;;;;10445:126;;10468:6;;10516:44;;10553:6;;10516:44;:::i;:::-;10445:8;:126::i;:::-;-1:-1:-1;10589:4:0;10249:352;;;;;:::o;16159:308::-;4871:6;;-1:-1:-1;;;;;4871:6:0;2912:10;4871:22;4863:67;;;;-1:-1:-1;;;4863:67:0;;;;;;;:::i;:::-;;;;;;;;;16246:13:::1;::::0;-1:-1:-1;;;;;16246:13:0::1;2912:10:::0;-1:-1:-1;;;;;16230:29:0::1;;16222:38;;;::::0;::::1;;-1:-1:-1::0;;;;;16279:19:0;::::1;16271:44;;;::::0;-1:-1:-1;;;16271:44:0;;6073:2:1;16271:44:0::1;::::0;::::1;6055:21:1::0;6112:2;6092:18;;;6085:30;-1:-1:-1;;;6131:18:1;;;6124:42;6183:18;;16271:44:0::1;5871:336:1::0;16271:44:0::1;16370:38;::::0;-1:-1:-1;;;16370:38:0;;16402:4:::1;16370:38;::::0;::::1;2584:51:1::0;16326:6:0::1;::::0;-1:-1:-1;;;;;16335:22:0;::::1;::::0;::::1;::::0;16358:10:::1;::::0;16335:22;;16370:23:::1;::::0;2557:18:1;;16370:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16335:74;::::0;-1:-1:-1;;;;;;16335:74:0::1;::::0;;;;;;-1:-1:-1;;;;;6593:32:1;;;16335:74:0::1;::::0;::::1;6575:51:1::0;6642:18;;;6635:34;6548:18;;16335:74:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16326:83;;16428:1;16420:39;;;::::0;-1:-1:-1;;;16420:39:0;;7132:2:1;16420:39:0::1;::::0;::::1;7114:21:1::0;7171:2;7151:18;;;7144:30;7210:27;7190:18;;;7183:55;7255:18;;16420:39:0::1;6930:349:1::0;16420:39:0::1;16211:256;16159:308:::0;:::o;15935:216::-;4871:6;;-1:-1:-1;;;;;4871:6:0;2912:10;4871:22;4863:67;;;;-1:-1:-1;;;4863:67:0;;;;;;;:::i;:::-;16016:9:::1;16012:98;16035:8;:15;16031:1;:19;16012:98;;;16094:4;16068:10;:23;16079:8;16088:1;16079:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;16068:23:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;16068:23:0;:30;;-1:-1:-1;;16068:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16052:3;::::1;::::0;::::1;:::i;:::-;;;;16012:98;;;;16130:8;16139:2;16130:12;;;;;;;;:::i;:::-;;;;;;;16111:6;;:32;;;;;-1:-1:-1::0;;;;;16111:32:0::1;;;;;-1:-1:-1::0;;;;;16111:32:0::1;;;;;;15935:216:::0;:::o;4958:148::-;4871:6;;-1:-1:-1;;;;;4871:6:0;2912:10;4871:22;4863:67;;;;-1:-1:-1;;;4863:67:0;;;;;;;:::i;:::-;5065:1:::1;5049:6:::0;;5028:40:::1;::::0;-1:-1:-1;;;;;5049:6:0;;::::1;::::0;5028:40:::1;::::0;5065:1;;5028:40:::1;5096:1;5079:19:::0;;-1:-1:-1;;;;;;5079:19:0::1;::::0;;4958:148::o;14628:403::-;14703:4;4871:6;;-1:-1:-1;;;;;4871:6:0;2912:10;4871:22;4863:67;;;;-1:-1:-1;;;4863:67:0;;;;;;;:::i;:::-;14735:1:::1;14725:7;:11:::0;14758:1:::1;14747:8;:12:::0;14781:15:::1;14770:8;:26:::0;14856:4:::1;-1:-1:-1::0;9618:17:0;;;:8;:17;;;;;;;14927:31:::1;9618:17:::0;14927::::1;:31::i;:::-;14989:12;14969:16;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;15019:4:0::1;::::0;-1:-1:-1;;;;14628:403:0;:::o;15229:240::-;4871:6;;-1:-1:-1;;;;;4871:6:0;2912:10;4871:22;4863:67;;;;-1:-1:-1;;;4863:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15347:40:0;::::1;;::::0;;;:31:::1;:40;::::0;;;;;;;;:51;;-1:-1:-1;;15347:51:0::1;::::0;::::1;;::::0;;::::1;::::0;;;15414:47;;1302:41:1;;;15414:47:0::1;::::0;1275:18:1;15414:47:0::1;;;;;;;;15229:240:::0;;:::o;9651:199::-;9756:4;9778:42;2912:10;9802:9;9813:6;9778:9;:42::i;15039:182::-;4871:6;;-1:-1:-1;;;;;4871:6:0;2912:10;4871:22;4863:67;;;;-1:-1:-1;;;4863:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15124:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;15124:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;15179:34;;1302:41:1;;;15179:34:0::1;::::0;1275:18:1;15179:34:0::1;1162:187:1::0;15477:225:0;4871:6;;-1:-1:-1;;;;;4871:6:0;2912:10;4871:22;4863:67;;;;-1:-1:-1;;;4863:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15590:35:0;::::1;;::::0;;;:26:::1;:35;::::0;;;;;;;;:46;;-1:-1:-1;;15590:46:0::1;::::0;::::1;;::::0;;::::1;::::0;;;15652:42;;1302:41:1;;;15652:42:0::1;::::0;1275:18:1;15652:42:0::1;1162:187:1::0;16475:204:0;4871:6;;-1:-1:-1;;;;;4871:6:0;2912:10;4871:22;4863:67;;;;-1:-1:-1;;;4863:67:0;;;;;;;:::i;:::-;16552:13:::1;::::0;-1:-1:-1;;;;;16552:13:0::1;2912:10:::0;-1:-1:-1;;;;;16536:29:0::1;;16528:38;;;::::0;::::1;;16597:13;::::0;16589:61:::1;::::0;16578:6:::1;::::0;-1:-1:-1;;;;;16597:13:0::1;::::0;16624:21:::1;::::0;16578:6;16589:61;16578:6;16589:61;16624:21;16597:13;16589:61:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16577:73;;;16669:1;16661:10;;;::::0;::::1;;16517:162;16475:204::o:0;15710:217::-;15778:4;4871:6;;-1:-1:-1;;;;;4871:6:0;2912:10;4871:22;4863:67;;;;-1:-1:-1;;;4863:67:0;;;;;;;:::i;:::-;15795:9:::1;:17:::0;;-1:-1:-1;;;;15795:17:0::1;::::0;;15807:5:::1;15823:7;:11:::0;;;15845:8:::1;:12:::0;15879:18:::1;:10:::0;15892:5:::1;15879:18;:::i;:::-;15868:8;:29:::0;-1:-1:-1;15915:4:0::1;4941:1;15710:217:::0;;;:::o;14321:299::-;14407:4;4871:6;;-1:-1:-1;;;;;4871:6:0;2912:10;4871:22;4863:67;;;;-1:-1:-1;;;4863:67:0;;;;;;;:::i;:::-;14433:11:::1;::::0;-1:-1:-1;;;14433:11:0;::::1;;;14432:12;14424:48;;;::::0;-1:-1:-1;;;14424:48:0;;8141:2:1;14424:48:0::1;::::0;::::1;8123:21:1::0;8180:2;8160:18;;;8153:30;8219:25;8199:18;;;8192:53;8262:18;;14424:48:0::1;7939:347:1::0;14424:48:0::1;-1:-1:-1::0;14483:11:0::1;:18:::0;;-1:-1:-1;;;;14512:16:0;-1:-1:-1;;;14512:16:0;;;14539:7:::1;:18:::0;;;;14568:8:::1;:20:::0;-1:-1:-1;;14321:299:0:o;13554:292::-;7421:6;;-1:-1:-1;;;;;7421:6:0;7432:10;7413:29;7391:100;;;;-1:-1:-1;;;7391:100:0;;8493:2:1;7391:100:0;;;8475:21:1;8532:2;8512:18;;;8505:30;-1:-1:-1;;;8551:18:1;;;8544:51;8612:18;;7391:100:0;8291:345:1;7391:100:0;13646:10;;13643:108:::1;;-1:-1:-1::0;;;;;13672:17:0;::::1;;::::0;;;:8:::1;:17;::::0;;;;;;;:26;;;13713:10:::1;:19:::0;;;;;:26;;-1:-1:-1;;13713:26:0::1;13735:4;13713:26;::::0;;13643:108:::1;13768:6;13778:1;13768:11:::0;13765:74:::1;;13799:24;::::0;-1:-1:-1;;;13799:24:0;;8843:2:1;13799:24:0::1;::::0;::::1;8825:21:1::0;8882:2;8862:18;;;8855:30;-1:-1:-1;;;8901:18:1;;;8894:44;8955:18;;13799:24:0::1;8641:338:1::0;10609:369:0;-1:-1:-1;;;;;10736:19:0;;10728:68;;;;-1:-1:-1;;;10728:68:0;;9186:2:1;10728:68:0;;;9168:21:1;9225:2;9205:18;;;9198:30;9264:34;9244:18;;;9237:62;-1:-1:-1;;;9315:18:1;;;9308:34;9359:19;;10728:68:0;8984:400:1;10728:68:0;-1:-1:-1;;;;;10815:21:0;;10807:68;;;;-1:-1:-1;;;10807:68:0;;9591:2:1;10807:68:0;;;9573:21:1;9630:2;9610:18;;;9603:30;9669:34;9649:18;;;9642:62;-1:-1:-1;;;9720:18:1;;;9713:32;9762:19;;10807:68:0;9389:398:1;10807:68:0;-1:-1:-1;;;;;10886:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10938:32;;1752:25:1;;;10938:32:0;;1725:18:1;10938:32:0;;;;;;;10609:369;;;:::o;10984:2058::-;-1:-1:-1;;;;;11107:18:0;;11099:68;;;;-1:-1:-1;;;11099:68:0;;9994:2:1;11099:68:0;;;9976:21:1;10033:2;10013:18;;;10006:30;10072:34;10052:18;;;10045:62;-1:-1:-1;;;10123:18:1;;;10116:35;10168:19;;11099:68:0;9792:401:1;11099:68:0;-1:-1:-1;;;;;11186:16:0;;11178:64;;;;-1:-1:-1;;;11178:64:0;;10400:2:1;11178:64:0;;;10382:21:1;10439:2;10419:18;;;10412:30;10478:34;10458:18;;;10451:62;-1:-1:-1;;;10529:18:1;;;10522:33;10572:19;;11178:64:0;10198:399:1;11178:64:0;11270:1;11261:6;:10;11253:64;;;;-1:-1:-1;;;11253:64:0;;10804:2:1;11253:64:0;;;10786:21:1;10843:2;10823:18;;;10816:30;10882:34;10862:18;;;10855:62;-1:-1:-1;;;10933:18:1;;;10926:39;10982:19;;11253:64:0;10602:405:1;11253:64:0;11338:11;;-1:-1:-1;;;11338:11:0;;;;11334:116;;-1:-1:-1;;;;;11381:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;11410:23:0;;;;;;:19;:23;;;;;;;;11381:52;11373:61;;;;;;11470:9;;-1:-1:-1;;;11470:9:0;;;;11466:344;;;-1:-1:-1;;;;;11501:37:0;;;;;;:31;:37;;;;;;;;11496:140;;11574:12;;11564:6;:22;;11556:64;;;;-1:-1:-1;;;11556:64:0;;11214:2:1;11556:64:0;;;11196:21:1;11253:2;11233:18;;;11226:30;11292:31;11272:18;;;11265:59;11341:18;;11556:64:0;11012:353:1;11556:64:0;-1:-1:-1;;;;;11657:30:0;;;;;;:26;:30;;;;;;;;11652:154;;11750:16;;11740:6;11724:13;11734:2;-1:-1:-1;;;;;9618:17:0;9591:7;9618:17;;;:8;:17;;;;;;;9525:118;11724:13;:22;;;;:::i;:::-;:42;;11716:74;;;;-1:-1:-1;;;11716:74:0;;11702:2:1;11716:74:0;;;11684:21:1;11741:2;11721:18;;;11714:30;-1:-1:-1;;;11760:18:1;;;11753:49;11819:18;;11716:74:0;11500:343:1;11716:74:0;11839:13;;-1:-1:-1;;;;;11831:21:0;;;11839:13;;11831:21;;:44;;-1:-1:-1;11862:13:0;;-1:-1:-1;;;;;11856:19:0;;;11862:13;;11856:19;11831:44;11830:67;;;;-1:-1:-1;11881:16:0;;;;11880:17;11830:67;11826:496;;;11934:13;;-1:-1:-1;;;;;11926:21:0;;;11934:13;;11926:21;11922:385;;12002:8;;11981:16;;11980:30;11976:312;;12039:27;12057:8;;12039:17;:27::i;:::-;12113:8;;12093:16;;:28;;;;;;;:::i;:::-;;;;-1:-1:-1;;12171:13:0;;12163:61;;12149:9;;-1:-1:-1;;;;;12171:13:0;;12198:21;;12149:9;12163:61;12149:9;12163:61;12198:21;12171:13;12163:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12148:76;;;12259:4;12251:13;;;;;;12012:276;11976:312;-1:-1:-1;;;;;12418:25:0;;12350:12;12418:25;;;:19;:25;;;;;;12365:4;;12350:12;12418:25;;;:52;;-1:-1:-1;;;;;;12447:23:0;;;;;;:19;:23;;;;;;;;12418:52;12415:103;;;12497:5;12487:15;;12415:103;12539:7;12535:443;;;12575:13;;-1:-1:-1;;;;;12575:13:0;;;12567:21;;;;12563:272;;12635:3;12625:7;;12616:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;12609:29;;12677:4;12657:16;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;12563:272:0;;-1:-1:-1;12563:272:0;;12712:13;;-1:-1:-1;;;;;12712:13:0;;;12706:19;;;;12703:132;;12773:3;12762:8;;12753:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;12746:30;;12815:4;12795:16;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;;12703:132:0;12854:8;;12851:85;;12879:41;12894:4;12908;12915;12879:14;:41::i;:::-;12950:16;12961:4;12950:16;;:::i;:::-;;;12535:443;13002:32;13017:4;13023:2;13027:6;13002:14;:32::i;:::-;11088:1954;;10984:2058;;;:::o;13050:496::-;7553:16;:23;;-1:-1:-1;;7553:23:0;7572:4;7553:23;;;13153:16:::1;::::0;;13167:1:::1;13153:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13153:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13153:16:0::1;13129:40;;13198:4;13180;13185:1;13180:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13180:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13224:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13224:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13180:7;;13224:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13214:4;13219:1;13214:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13214:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13291:15:::1;::::0;13259:62:::1;::::0;13276:4:::1;::::0;13291:15:::1;13309:11:::0;13259:8:::1;:62::i;:::-;13334:15;::::0;-1:-1:-1;;;;;13334:15:0::1;:66;13415:11:::0;13334:15:::1;13457:4:::0;13484::::1;13505:21;:15;13523:3;13505:21;:::i;:::-;13334:204;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7599:16:0;:24;;-1:-1:-1;;7599:24:0;;;-1:-1:-1;;;;13050:496:0:o;13854:459::-;-1:-1:-1;;;;;14006:14:0;;13984:19;14006:14;;;:8;:14;;;;;;14053:21;;;;14031:109;;;;-1:-1:-1;;;14031:109:0;;13513:2:1;14031:109:0;;;13495:21:1;13552:2;13532:18;;;13525:30;13591:34;13571:18;;;13564:62;-1:-1:-1;;;13642:18:1;;;13635:36;13688:19;;14031:109:0;13311:402:1;14031:109:0;-1:-1:-1;;;;;14176:14:0;;;;;;;:8;:14;;;;;;14193:20;;;14176:37;;14228:12;;;;;;;;;;:22;;;;;;14279:26;;;;;;14207:6;1752:25:1;;1740:2;1725:18;;1606:177;14279:26:0;;;;;;;;13971:342;13854:459;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1354:247::-;1413:6;1466:2;1454:9;1445:7;1441:23;1437:32;1434:52;;;1482:1;1479;1472:12;1434:52;1521:9;1508:23;1540:31;1565:5;1540:31;:::i;:::-;1590:5;1354:247;-1:-1:-1;;;1354:247:1:o;1788:456::-;1865:6;1873;1881;1934:2;1922:9;1913:7;1909:23;1905:32;1902:52;;;1950:1;1947;1940:12;1902:52;1989:9;1976:23;2008:31;2033:5;2008:31;:::i;:::-;2058:5;-1:-1:-1;2115:2:1;2100:18;;2087:32;2128:33;2087:32;2128:33;:::i;:::-;1788:456;;2180:7;;-1:-1:-1;;;2234:2:1;2219:18;;;;2206:32;;1788:456::o;2646:127::-;2707:10;2702:3;2698:20;2695:1;2688:31;2738:4;2735:1;2728:15;2762:4;2759:1;2752:15;2778:1121;2862:6;2893:2;2936;2924:9;2915:7;2911:23;2907:32;2904:52;;;2952:1;2949;2942:12;2904:52;2992:9;2979:23;3021:18;3062:2;3054:6;3051:14;3048:34;;;3078:1;3075;3068:12;3048:34;3116:6;3105:9;3101:22;3091:32;;3161:7;3154:4;3150:2;3146:13;3142:27;3132:55;;3183:1;3180;3173:12;3132:55;3219:2;3206:16;3241:2;3237;3234:10;3231:36;;;3247:18;;:::i;:::-;3293:2;3290:1;3286:10;3325:2;3319:9;3388:2;3384:7;3379:2;3375;3371:11;3367:25;3359:6;3355:38;3443:6;3431:10;3428:22;3423:2;3411:10;3408:18;3405:46;3402:72;;;3454:18;;:::i;:::-;3490:2;3483:22;3540:18;;;3574:15;;;;-1:-1:-1;3616:11:1;;;3612:20;;;3644:19;;;3641:39;;;3676:1;3673;3666:12;3641:39;3700:11;;;;3720:148;3736:6;3731:3;3728:15;3720:148;;;3802:23;3821:3;3802:23;:::i;:::-;3790:36;;3753:12;;;;3846;;;;3720:148;;;3887:6;2778:1121;-1:-1:-1;;;;;;;;2778:1121:1:o;3904:118::-;3990:5;3983:13;3976:21;3969:5;3966:32;3956:60;;4012:1;4009;4002:12;4027:382;4092:6;4100;4153:2;4141:9;4132:7;4128:23;4124:32;4121:52;;;4169:1;4166;4159:12;4121:52;4208:9;4195:23;4227:31;4252:5;4227:31;:::i;:::-;4277:5;-1:-1:-1;4334:2:1;4319:18;;4306:32;4347:30;4306:32;4347:30;:::i;:::-;4396:7;4386:17;;;4027:382;;;;;:::o;4414:388::-;4482:6;4490;4543:2;4531:9;4522:7;4518:23;4514:32;4511:52;;;4559:1;4556;4549:12;4511:52;4598:9;4585:23;4617:31;4642:5;4617:31;:::i;:::-;4667:5;-1:-1:-1;4724:2:1;4709:18;;4696:32;4737:33;4696:32;4737:33;:::i;4807:180::-;4866:6;4919:2;4907:9;4898:7;4894:23;4890:32;4887:52;;;4935:1;4932;4925:12;4887:52;-1:-1:-1;4958:23:1;;4807:180;-1:-1:-1;4807:180:1:o;4992:248::-;5060:6;5068;5121:2;5109:9;5100:7;5096:23;5092:32;5089:52;;;5137:1;5134;5127:12;5089:52;-1:-1:-1;;5160:23:1;;;5230:2;5215:18;;;5202:32;;-1:-1:-1;4992:248:1:o;5245:127::-;5306:10;5301:3;5297:20;5294:1;5287:31;5337:4;5334:1;5327:15;5361:4;5358:1;5351:15;5377:128;5444:9;;;5465:11;;;5462:37;;;5479:18;;:::i;5510:356::-;5712:2;5694:21;;;5731:18;;;5724:30;5790:34;5785:2;5770:18;;5763:62;5857:2;5842:18;;5510:356::o;6212:184::-;6282:6;6335:2;6323:9;6314:7;6310:23;6306:32;6303:52;;;6351:1;6348;6341:12;6303:52;-1:-1:-1;6374:16:1;;6212:184;-1:-1:-1;6212:184:1:o;6680:245::-;6747:6;6800:2;6788:9;6779:7;6775:23;6771:32;6768:52;;;6816:1;6813;6806:12;6768:52;6848:9;6842:16;6867:28;6889:5;6867:28;:::i;7284:127::-;7345:10;7340:3;7336:20;7333:1;7326:31;7376:4;7373:1;7366:15;7400:4;7397:1;7390:15;7416:135;7455:3;7476:17;;;7473:43;;7496:18;;:::i;:::-;-1:-1:-1;7543:1:1;7532:13;;7416:135::o;7766:168::-;7806:7;7872:1;7868;7864:6;7860:14;7857:1;7854:21;7849:1;7842:9;7835:17;7831:45;7828:71;;;7879:18;;:::i;:::-;-1:-1:-1;7919:9:1;;7766:168::o;11370:125::-;11435:9;;;11456:10;;;11453:36;;;11469:18;;:::i;11848:217::-;11888:1;11914;11904:132;;11958:10;11953:3;11949:20;11946:1;11939:31;11993:4;11990:1;11983:15;12021:4;12018:1;12011:15;11904:132;-1:-1:-1;12050:9:1;;11848:217::o;12070:251::-;12140:6;12193:2;12181:9;12172:7;12168:23;12164:32;12161:52;;;12209:1;12206;12199:12;12161:52;12241:9;12235:16;12260:31;12285:5;12260:31;:::i;12326:980::-;12588:4;12636:3;12625:9;12621:19;12667:6;12656:9;12649:25;12693:2;12731:6;12726:2;12715:9;12711:18;12704:34;12774:3;12769:2;12758:9;12754:18;12747:31;12798:6;12833;12827:13;12864:6;12856;12849:22;12902:3;12891:9;12887:19;12880:26;;12941:2;12933:6;12929:15;12915:29;;12962:1;12972:195;12986:6;12983:1;12980:13;12972:195;;;13051:13;;-1:-1:-1;;;;;13047:39:1;13035:52;;13142:15;;;;13107:12;;;;13083:1;13001:9;12972:195;;;-1:-1:-1;;;;;;;13223:32:1;;;;13218:2;13203:18;;13196:60;-1:-1:-1;;;13287:3:1;13272:19;13265:35;13184:3;12326:980;-1:-1:-1;;;12326:980:1:o

Swarm Source

ipfs://412a820054e1141b4ee6fb015c9f825d7c6ccf0f141fcdec82f19c6599c25d3a
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.