ETH Price: $2,454.70 (+2.33%)

Token

Tigger Coin (TIGGER)
 

Overview

Max Total Supply

1,000,000,000 TIGGER

Holders

33

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000001197128215 TIGGER

Value
$0.00
0x3A25C0c5278a4750814611807723442d52A57C54
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:
TIGGER

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-04
*/

/**
$TIGGER COIN
        __  _-==-=_,-.
        /--`' \_@[email protected]<
        `--'\ \   <___/.  
             \ \\   " /  
              >=\\_/`<
  ____       /= |  \_|/
_'    `\   _/=== \___/
`___/ //\./=/~\====\
    \   // /   | ===:
     |  ._/_,__|_ ==:        __
      \/    \\ \\`--|       / \\
       |    _     \\:      /==:-\
       `.__' `-____/       |--|==:
          \    \ ===\      :==:`-'
          _>    \ ===\    /==/
         /==\   |  ===\__/--/
        <=== \  /  ====\ \\/
        _`--  \/  === \/--'
       |       \ ==== |
        -`------/`--' /
                \___-'

Website https://TiggerCoin.xyz
Twitter https://twitter.com/TiggerCoinErc
Telegram https://t.me/TiggerCoinPortal

**/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

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

contract Ownable {
    address private _owner;

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

    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    function isOwner() private view returns (bool) {
        return msg.sender == _owner;
    }

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

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        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;
    }
}

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

contract TIGGER is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private constant _name = "Tigger Coin";
    string private constant _symbol = "TIGGER";
    uint256 private constant _totalSupply = 1_000_000_000 * 10**18;
    uint256 public maxWalletlimit = 25_000_001 * 10**18; // 
    uint256 public maxTxLimit = 25_000_001 * 10**18;
    uint256 public minSwap = 100_000 * 10**18;
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable public marketingWallet;
    bool public isOpen = false;
    mapping(address => bool) public _whiteList;
    mapping (address => bool) public _isBlacklisted;

    uint256 public buyTax;
    uint256 public sellTax;
    uint8 private inSwapAndLiquify;

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 15;
        sellTax = 15;


        _whiteList[msg.sender] = true;
        _whiteList[address(this)] = true;
        
        //
        _whiteList[address(0x09AFa2615F8376Ede6bab95486E3d2a72c900450)] = true;
        _whiteList[address(0x0c3b4e260D47fcA69A4928A045be1C2A252F1419)] = true;
        _whiteList[address(0xe50cA986217A24484371C6c720585B74D42A2Ab0)] = true;
        _whiteList[address(0x5390858c10e37917C9b917441a0d29B9e68cD645)] = true;
        _whiteList[address(0xB90f0704D76E78183936cDF0Ef41096d986653f5)] = true;
        _whiteList[address(0x423b76C96534a4c29F7D818F387C54f143F98992)] = true;
        _whiteList[address(0xe69B5f516AF52655Dfd1FB453c7cf8772c038fBc)] = true;
        _whiteList[address(0xEE0Bea34c0803d56B508Ff4EFb11Ba0bf98620aD)] = true;
        _whiteList[address(0x4049bB0e91594283eF9aFe86C8ae973d759ac82c)] = true;
        _whiteList[address(0xf2EdaaF1173Ff98bC1f7DcdB41B67dFfECBBAdB8)] = true;
        _whiteList[address(0xFD26b076529C2cC0e03522Be80F5758bf42B04d1)] = true;
        _whiteList[address(0x6b9E7005e8a0D6a4f93d9988188F5b1151F60D49)] = true;
        _whiteList[address(0x8f4EAD9657b8D96de64DcdF71613B5757Be5A324)] = true;
        _whiteList[address(0x76BA38A28e76ee340Ba50bB04e8576C87235048B)] = true;
        _whiteList[address(0x63f719B59e51B85eE13f12c6aa0BCad9eF01319A)] = true;
        _whiteList[address(0xb3e8d5195d46D86dA80b3f265A34A7F7E14Aa426)] = true;

        //EW
        _isExcludedFromFees[address(0x09AFa2615F8376Ede6bab95486E3d2a72c900450)] = true;
        _isExcludedFromFees[address(0x0c3b4e260D47fcA69A4928A045be1C2A252F1419)] = true;
        _isExcludedFromFees[address(0xe50cA986217A24484371C6c720585B74D42A2Ab0)] = true;
        _isExcludedFromFees[address(0x5390858c10e37917C9b917441a0d29B9e68cD645)] = true;
        _isExcludedFromFees[address(0xB90f0704D76E78183936cDF0Ef41096d986653f5)] = true;
        _isExcludedFromFees[address(0x423b76C96534a4c29F7D818F387C54f143F98992)] = true;
        _isExcludedFromFees[address(0xe69B5f516AF52655Dfd1FB453c7cf8772c038fBc)] = true;
        _isExcludedFromFees[address(0xEE0Bea34c0803d56B508Ff4EFb11Ba0bf98620aD)] = true;
        _isExcludedFromFees[address(0x4049bB0e91594283eF9aFe86C8ae973d759ac82c)] = true;
        _isExcludedFromFees[address(0xf2EdaaF1173Ff98bC1f7DcdB41B67dFfECBBAdB8)] = true;
        _isExcludedFromFees[address(0xFD26b076529C2cC0e03522Be80F5758bf42B04d1)] = true;
        _isExcludedFromFees[address(0x6b9E7005e8a0D6a4f93d9988188F5b1151F60D49)] = true;
        _isExcludedFromFees[address(0x8f4EAD9657b8D96de64DcdF71613B5757Be5A324)] = true;
        _isExcludedFromFees[address(0x76BA38A28e76ee340Ba50bB04e8576C87235048B)] = true;
        _isExcludedFromFees[address(0x63f719B59e51B85eE13f12c6aa0BCad9eF01319A)] = true;
        _isExcludedFromFees[address(0xb3e8d5195d46D86dA80b3f265A34A7F7E14Aa426)] = true;


        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        marketingWallet = payable(0xb96E465448D010B47431Bb8B8D7735de382E60Bd);
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFees[marketingWallet] = true;
        _isExcludedFromFees[msg.sender] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[address(uniswapV2Router)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

        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 pure 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 ExcludeFromFees(address holder, bool exempt) external onlyOwner {
        _isExcludedFromFees[holder] = exempt;
    }
    
    function RemoveLimits() external onlyOwner {
        maxWalletlimit = _totalSupply;
        maxTxLimit = _totalSupply;
    }
    

    function ChangeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax <= 10, "Must keep fees at 10% or less");
        require(newSellTax <= 10, "Must keep fees at 10% or less");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }
    
    function ChangeMinSwap(uint256 NewMinSwapAmount) external onlyOwner {
        minSwap = NewMinSwapAmount * 10**18;
    }

    function ChangeMarketingWalletAddress(address newAddress) external onlyOwner() {
        marketingWallet = payable(newAddress);
    }
    
    function EnableTrading() external onlyOwner {
        isOpen = true;
    }
    
        //a
    function BlackListWallet(address[] calldata addresses) external onlyOwner {
      for (uint256 i; i < addresses.length; ++i) {
        _isBlacklisted[addresses[i]] = true;
      }
    }
     
    function UnBlackListWallet(address[] calldata addresses) external onlyOwner {
      for (uint256 i; i < addresses.length; ++i) {
        _isBlacklisted[addresses[i]] = false;
      }
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");
        require(!_isBlacklisted[from] && !_isBlacklisted[to], "To/from address is blacklisted!");
        require(isOpen || _whiteList[from] || _whiteList[to], "Not Open");

        uint256 _tax;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            _tax = 0;
        } else {

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                require(balanceOf(to).add(amount) <= maxWalletlimit);
                require(amount <= maxTxLimit, "Buy transfer amount exceeds the maxTxLimit.");
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            marketingWallet,
                            block.timestamp
                        );
                    inSwapAndLiquify = 0;
                }
                _tax = sellTax;
            } else {
                _tax = 0;
            }
        }
        


        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    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":"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":"addresses","type":"address[]"}],"name":"BlackListWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"ChangeMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"NewMinSwapAmount","type":"uint256"}],"name":"ChangeMinSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"ChangeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"ExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"UnBlackListWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_whiteList","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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"isOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletlimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"}]

60e06040526a14adf4c512b9e860640000600181905560025569152d02c7e14af68000006003556004805460ff60a01b191690553480156200003f575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620000d2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000f891906200089e565b6001600160a01b0390811660c052600f6007819055600855335f9081526005602090815260408083208054600160ff19918216811790925530855282852080548216831790557fe55d0704b56675ef8b2d2e2737ab77727f2116820a0ef2abf53cd0a991eb9de680548216831790557fd88accc0f4994fef1142ee11b92bc8b3fb46e186225f6887bd928eeb93c2909c80548216831790557f22514ee73ec4e464a7daaf3b0366e5b6fb6bdab53fd4aeac4e90ff3323b01df680548216831790557fca90a566f9cce91076eadb80658c379d9cd08d73afd5e64402e177efca2cc57c80548216831790557fd0771ae605da50aff49e20b7a5a1c47565a5d0fb8be9e32d049a05705078a5bd80548216831790557f9fdad40bb220967e1319c85c84a2f0f8b282e3cd9d45a06a7e5793de000077bf80548216831790557fa124deb3ad1979edeb4b4504b36d669e6049df9055f2bace38ca19e36b409d4a80548216831790557f7c7dc0ce4ded4dbd0ce440588fc506e008cf5999dd45d52e0ec7b33241d5ad0680548216831790557fe630b3d6793dab2b320fbdf4cc25bde2cf56433fb40076bad1c4107e720e223980548216831790557fb207a48943ba00b91ed22da0ce93fdaf13a2636911ffe75332208081b63ba58680548216831790557f09df8c5f843b905ac0fcc39497a69931f1ce6d13441f91d0a2f2dfae54192cf280548216831790557f8bc59fbd3c251bf00420689aaaea8cb9618fd8879d7bdb6352aafc2f85c579d980548216831790557fa7b9aae2619331ba6a318bf13ff6f9273b0f10b4497b3a63fb39bfecdf6d1f2980548216831790557f2a8de039e23aa56b8ece489040cec52aae3cc27c5fbdb9362b8887bb7bf2be1480548216831790557f24b6cba1f3b8fc73504a5a6b6dc4795cb94b3eef73fdeb4d73eaf7d93883c11e80548216831790557ff07e9b6a6abd331501335870fb1f94674753ae2e35f4f13992de459a1468f3798054821683179055600c84527fb26cfc2153342e573a6aead23fffe8d94eeb8c07a90425905e904f8255da5ad780548216831790557fbf7ae5a3da3f937caf1886501ab6d0b3c3f27833281c48e2f3dae6c5d16a51f280548216831790557f92c6bfc97109bb34d59e6f3d81b29e2ed3d8425821bc6df49e2c2099ba5a623980548216831790557f1575239bfcac1ea2f938fb2c299d0f9f89007bac78ab45e7a299b1857ba1a85180548216831790557fe2d6611255faa62d836c9f373a57aa0557db05a2cc2e9830367658f532e3e69080548216831790557f5bb467e0100cb8cde6349b1ba385debfd460c8511a514d97af849c881ca53b3780548216831790557fc97736170ddcf9d285145eef9c05ddf6171bc9e9f4d371b22a964389ee3122e480548216831790557fbd4651b27f4b6db88563a2a3d6719eb5de61327af2aa7f4fb545480cb303e76d80548216831790557f52422f373b6e3d61956a5ada88a8ef8fd5bb8f1806f5b96cfeb5ff77ec55ab2d80548216831790557f08efd26756c1acfd4cdec93717b79b8c18a76ed32535df093c10f0ce9a6d4d8a80548216831790557fcf3cb5fcf0af64af303978f1ed887dca20d9583c305b8dd5b36abd8fc318dfad80548216831790557f6046443b380b7de570deb3cdb239e77d265d83c69c165b319cbba1d6f8304f3f80548216831790557fa5d411dec65788c07771dfbeafed0d393f389bfe58ff43410fafd56d52c9a34880548216831790557fa505bea5a0a31e172abbf8889779b624cd493b733437a7db4031492f6bcb8dce80548216831790557f34824bc2a05a69baae72316759efe2ae87f00117064f5c0ec9acc4c18cfa64ac805482168317905573b3e8d5195d46d86da80b3f265a34a7f7e14aa4269094527fd4e4490fa0510522db2341963737716d1059de2381296c8a23421ecdbff36762805490941617909255608051825163c45a015560e01b8152925193169263c45a01559260048082019392918290030181865afa158015620006b5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006db91906200089e565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303815f875af11580156200072a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200075091906200089e565b6001600160a01b0390811660a052600480546001600160a01b03191673b96e465448d010b47431bb8b8d7735de382e60bd178155335f818152600a602090815260408083206b033b2e3c9fd0803ce80000009055845486168352600c8252808320805460ff1990811660019081179092558585528285208054821683179055308086528386208054831684179055608051891680875284872080549093169093179091558452600b80845282852082865284528285205f1990819055958552808452828520828652845282852086905595549096168352938152838220948252939093529120556200083f3390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce80000006040516200089091815260200190565b60405180910390a3620008cd565b5f60208284031215620008af575f80fd5b81516001600160a01b0381168114620008c6575f80fd5b9392505050565b60805160a05160c05161150f620008ff5f395f610eda01525f8181610d3c0152610e1901525f610f35015261150f5ff3fe6080604052600436106101bd575f3560e01c806359cd9031116100f25780638da5cb5b11610092578063cc1776d311610062578063cc1776d314610517578063d50a72a61461052c578063dd62ed3e1461054b578063f2fde38b1461058f575f80fd5b80638da5cb5b1461048f57806395d89b41146104ab5780639d8f7706146104d9578063a9059cbb146104f8575f80fd5b806374233c06116100cd57806374233c061461040f57806375f0a8741461042e5780638036d5901461046557806389e40cf91461047a575f80fd5b806359cd9031146103b257806370a08231146103c7578063715018a6146103fb575f80fd5b806323b872dd1161015d57806347535d7b1161013857806347535d7b1461034a5780634f7041a51461036a5780635165943f1461037f57806356cd40e71461039e575f80fd5b806323b872dd146102f15780632f6bc9e714610310578063313ce5671461032f575f80fd5b8063095ea7b311610198578063095ea7b31461026857806318160ddd146102875780631cdd3be3146102af5780631d97b7cd146102dd575f80fd5b806305d2743f146101c857806305d60ffb146101e957806306fdde031461022c575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e236600461120e565b6105ae565b005b3480156101f4575f80fd5b5061021761020336600461120e565b60056020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b348015610237575f80fd5b5060408051808201909152600b81526a2a34b3b3b2b91021b7b4b760a91b60208201525b6040516102239190611227565b348015610273575f80fd5b50610217610282366004611273565b6105e5565b348015610292575f80fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610223565b3480156102ba575f80fd5b506102176102c936600461120e565b60066020525f908152604090205460ff1681565b3480156102e8575f80fd5b506101e76105fb565b3480156102fc575f80fd5b5061021761030b36600461129b565b610625565b34801561031b575f80fd5b506101e761032a3660046112d4565b610675565b34801561033a575f80fd5b5060405160128152602001610223565b348015610355575f80fd5b5060045461021790600160a01b900460ff1681565b348015610375575f80fd5b506102a160075481565b34801561038a575f80fd5b506101e76103993660046112f4565b61073c565b3480156103a9575f80fd5b506101e76107ba565b3480156103bd575f80fd5b506102a160035481565b3480156103d2575f80fd5b506102a16103e136600461120e565b6001600160a01b03165f908152600a602052604090205490565b348015610406575f80fd5b506101e76107e6565b34801561041a575f80fd5b506101e7610429366004611363565b610843565b348015610439575f80fd5b5060045461044d906001600160a01b031681565b6040516001600160a01b039091168152602001610223565b348015610470575f80fd5b506102a160025481565b348015610485575f80fd5b506102a160015481565b34801561049a575f80fd5b505f546001600160a01b031661044d565b3480156104b6575f80fd5b506040805180820190915260068152652a24a3a3a2a960d11b602082015261025b565b3480156104e4575f80fd5b506101e76104f336600461137a565b610870565b348015610503575f80fd5b50610217610512366004611273565b6108af565b348015610522575f80fd5b506102a160085481565b348015610537575f80fd5b506101e76105463660046112f4565b6108bb565b348015610556575f80fd5b506102a16105653660046113b3565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b34801561059a575f80fd5b506101e76105a936600461120e565b610935565b5f546001600160a01b031633146105c3575f80fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f6105f1338484610956565b5060015b92915050565b5f546001600160a01b03163314610610575f80fd5b6004805460ff60a01b1916600160a01b179055565b5f610631848484610a79565b6001600160a01b0384165f908152600b602090815260408083203380855292529091205461066b9186916106669086906113f8565b610956565b5060019392505050565b5f546001600160a01b0316331461068a575f80fd5b600a8211156106e05760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064015b60405180910390fd5b600a8111156107315760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064016106d7565b600791909155600855565b5f546001600160a01b03163314610751575f80fd5b5f5b818110156107b5575f60065f8585858181106107715761077161140b565b9050602002016020810190610786919061120e565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610753565b505050565b5f546001600160a01b031633146107cf575f80fd5b6b033b2e3c9fd0803ce80000006001819055600255565b5f546001600160a01b031633146107fb575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610858575f80fd5b61086a81670de0b6b3a764000061141f565b60035550565b5f546001600160a01b03163314610885575f80fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f6105f1338484610a79565b5f546001600160a01b031633146108d0575f80fd5b5f5b818110156107b557600160065f8585858181106108f1576108f161140b565b9050602002016020810190610906919061120e565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556001016108d2565b5f546001600160a01b0316331461094a575f80fd5b61095381611123565b50565b6001600160a01b0383166109b85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106d7565b6001600160a01b038216610a195760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106d7565b6001600160a01b038381165f818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610add5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106d7565b633b9aca008111610b235760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b60448201526064016106d7565b6001600160a01b0383165f9081526006602052604090205460ff16158015610b6357506001600160a01b0382165f9081526006602052604090205460ff16155b610baf5760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c6973746564210060448201526064016106d7565b600454600160a01b900460ff1680610bde57506001600160a01b0383165f9081526005602052604090205460ff165b80610c0057506001600160a01b0382165f9081526005602052604090205460ff165b610c375760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b60448201526064016106d7565b6001600160a01b0383165f908152600c602052604081205460ff1680610c7457506001600160a01b0383165f908152600c602052604090205460ff165b15610c8057505f610fb8565b60095460ff16600103610d3a576001600160a01b0384165f908152600a602052604081208054849290610cb49084906113f8565b90915550506001600160a01b0383165f908152600a602052604081208054849290610ce0908490611436565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d2c91815260200190565b60405180910390a350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610e1757600154610d9e83610d98866001600160a01b03165f908152600a602052604090205490565b9061118e565b1115610da8575f80fd5b600254821115610e0e5760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a3c2634b6b4ba1760a91b60648201526084016106d7565b50600754610fb8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610fb557305f908152600a602052604090205460035481118015610e73575060095460ff16155b15610fab576009805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610eb857610eb861140b565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610f0c57610f0c61140b565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b81527f000000000000000000000000000000000000000000000000000000000000000084169363791ac94793610f729388935f938993921691429101611449565b5f604051808303815f87803b158015610f89575f80fd5b505af1158015610f9b573d5f803e3d5ffd5b50506009805460ff191690555050505b5050600854610fb8565b505f5b80156110f6575f6064610fcb838561141f565b610fd591906114ba565b90505f610fe282856113f8565b6001600160a01b0387165f908152600a602052604081208054929350869290919061100e9084906113f8565b90915550506001600160a01b0385165f908152600a60205260408120805483929061103a908490611436565b9091555050305f908152600a60205260408120805484929061105d908490611436565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110e791815260200190565b60405180910390a3505061111d565b6001600160a01b0384165f908152600a602052604081208054849290610cb49084906113f8565b50505050565b6001600160a01b038116611135575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8061119a8385611436565b9050838110156111ec5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d7565b9392505050565b80356001600160a01b0381168114611209575f80fd5b919050565b5f6020828403121561121e575f80fd5b6111ec826111f3565b5f602080835283518060208501525f5b8181101561125357858101830151858201604001528201611237565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611284575f80fd5b61128d836111f3565b946020939093013593505050565b5f805f606084860312156112ad575f80fd5b6112b6846111f3565b92506112c4602085016111f3565b9150604084013590509250925092565b5f80604083850312156112e5575f80fd5b50508035926020909101359150565b5f8060208385031215611305575f80fd5b823567ffffffffffffffff8082111561131c575f80fd5b818501915085601f83011261132f575f80fd5b81358181111561133d575f80fd5b8660208260051b8501011115611351575f80fd5b60209290920196919550909350505050565b5f60208284031215611373575f80fd5b5035919050565b5f806040838503121561138b575f80fd5b611394836111f3565b9150602083013580151581146113a8575f80fd5b809150509250929050565b5f80604083850312156113c4575f80fd5b6113cd836111f3565b91506113db602084016111f3565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156105f5576105f56113e4565b634e487b7160e01b5f52603260045260245ffd5b80820281158282048414176105f5576105f56113e4565b808201808211156105f5576105f56113e4565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156114995784516001600160a01b031683529383019391830191600101611474565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826114d457634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220cc7cdcede51cfe1b66a8820d465cc57a48428da4c94f698f3567889c4881d36764736f6c63430008160033

Deployed Bytecode

0x6080604052600436106101bd575f3560e01c806359cd9031116100f25780638da5cb5b11610092578063cc1776d311610062578063cc1776d314610517578063d50a72a61461052c578063dd62ed3e1461054b578063f2fde38b1461058f575f80fd5b80638da5cb5b1461048f57806395d89b41146104ab5780639d8f7706146104d9578063a9059cbb146104f8575f80fd5b806374233c06116100cd57806374233c061461040f57806375f0a8741461042e5780638036d5901461046557806389e40cf91461047a575f80fd5b806359cd9031146103b257806370a08231146103c7578063715018a6146103fb575f80fd5b806323b872dd1161015d57806347535d7b1161013857806347535d7b1461034a5780634f7041a51461036a5780635165943f1461037f57806356cd40e71461039e575f80fd5b806323b872dd146102f15780632f6bc9e714610310578063313ce5671461032f575f80fd5b8063095ea7b311610198578063095ea7b31461026857806318160ddd146102875780631cdd3be3146102af5780631d97b7cd146102dd575f80fd5b806305d2743f146101c857806305d60ffb146101e957806306fdde031461022c575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e236600461120e565b6105ae565b005b3480156101f4575f80fd5b5061021761020336600461120e565b60056020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b348015610237575f80fd5b5060408051808201909152600b81526a2a34b3b3b2b91021b7b4b760a91b60208201525b6040516102239190611227565b348015610273575f80fd5b50610217610282366004611273565b6105e5565b348015610292575f80fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610223565b3480156102ba575f80fd5b506102176102c936600461120e565b60066020525f908152604090205460ff1681565b3480156102e8575f80fd5b506101e76105fb565b3480156102fc575f80fd5b5061021761030b36600461129b565b610625565b34801561031b575f80fd5b506101e761032a3660046112d4565b610675565b34801561033a575f80fd5b5060405160128152602001610223565b348015610355575f80fd5b5060045461021790600160a01b900460ff1681565b348015610375575f80fd5b506102a160075481565b34801561038a575f80fd5b506101e76103993660046112f4565b61073c565b3480156103a9575f80fd5b506101e76107ba565b3480156103bd575f80fd5b506102a160035481565b3480156103d2575f80fd5b506102a16103e136600461120e565b6001600160a01b03165f908152600a602052604090205490565b348015610406575f80fd5b506101e76107e6565b34801561041a575f80fd5b506101e7610429366004611363565b610843565b348015610439575f80fd5b5060045461044d906001600160a01b031681565b6040516001600160a01b039091168152602001610223565b348015610470575f80fd5b506102a160025481565b348015610485575f80fd5b506102a160015481565b34801561049a575f80fd5b505f546001600160a01b031661044d565b3480156104b6575f80fd5b506040805180820190915260068152652a24a3a3a2a960d11b602082015261025b565b3480156104e4575f80fd5b506101e76104f336600461137a565b610870565b348015610503575f80fd5b50610217610512366004611273565b6108af565b348015610522575f80fd5b506102a160085481565b348015610537575f80fd5b506101e76105463660046112f4565b6108bb565b348015610556575f80fd5b506102a16105653660046113b3565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b34801561059a575f80fd5b506101e76105a936600461120e565b610935565b5f546001600160a01b031633146105c3575f80fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f6105f1338484610956565b5060015b92915050565b5f546001600160a01b03163314610610575f80fd5b6004805460ff60a01b1916600160a01b179055565b5f610631848484610a79565b6001600160a01b0384165f908152600b602090815260408083203380855292529091205461066b9186916106669086906113f8565b610956565b5060019392505050565b5f546001600160a01b0316331461068a575f80fd5b600a8211156106e05760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064015b60405180910390fd5b600a8111156107315760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064016106d7565b600791909155600855565b5f546001600160a01b03163314610751575f80fd5b5f5b818110156107b5575f60065f8585858181106107715761077161140b565b9050602002016020810190610786919061120e565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610753565b505050565b5f546001600160a01b031633146107cf575f80fd5b6b033b2e3c9fd0803ce80000006001819055600255565b5f546001600160a01b031633146107fb575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610858575f80fd5b61086a81670de0b6b3a764000061141f565b60035550565b5f546001600160a01b03163314610885575f80fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f6105f1338484610a79565b5f546001600160a01b031633146108d0575f80fd5b5f5b818110156107b557600160065f8585858181106108f1576108f161140b565b9050602002016020810190610906919061120e565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556001016108d2565b5f546001600160a01b0316331461094a575f80fd5b61095381611123565b50565b6001600160a01b0383166109b85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106d7565b6001600160a01b038216610a195760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106d7565b6001600160a01b038381165f818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610add5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106d7565b633b9aca008111610b235760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b60448201526064016106d7565b6001600160a01b0383165f9081526006602052604090205460ff16158015610b6357506001600160a01b0382165f9081526006602052604090205460ff16155b610baf5760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c6973746564210060448201526064016106d7565b600454600160a01b900460ff1680610bde57506001600160a01b0383165f9081526005602052604090205460ff165b80610c0057506001600160a01b0382165f9081526005602052604090205460ff165b610c375760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b60448201526064016106d7565b6001600160a01b0383165f908152600c602052604081205460ff1680610c7457506001600160a01b0383165f908152600c602052604090205460ff165b15610c8057505f610fb8565b60095460ff16600103610d3a576001600160a01b0384165f908152600a602052604081208054849290610cb49084906113f8565b90915550506001600160a01b0383165f908152600a602052604081208054849290610ce0908490611436565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d2c91815260200190565b60405180910390a350505050565b7f000000000000000000000000f8cd3e970f1e20fc0aebcccf776e436b1efe041e6001600160a01b0316846001600160a01b031603610e1757600154610d9e83610d98866001600160a01b03165f908152600a602052604090205490565b9061118e565b1115610da8575f80fd5b600254821115610e0e5760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a3c2634b6b4ba1760a91b60648201526084016106d7565b50600754610fb8565b7f000000000000000000000000f8cd3e970f1e20fc0aebcccf776e436b1efe041e6001600160a01b0316836001600160a01b031603610fb557305f908152600a602052604090205460035481118015610e73575060095460ff16155b15610fab576009805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610eb857610eb861140b565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610f0c57610f0c61140b565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84169363791ac94793610f729388935f938993921691429101611449565b5f604051808303815f87803b158015610f89575f80fd5b505af1158015610f9b573d5f803e3d5ffd5b50506009805460ff191690555050505b5050600854610fb8565b505f5b80156110f6575f6064610fcb838561141f565b610fd591906114ba565b90505f610fe282856113f8565b6001600160a01b0387165f908152600a602052604081208054929350869290919061100e9084906113f8565b90915550506001600160a01b0385165f908152600a60205260408120805483929061103a908490611436565b9091555050305f908152600a60205260408120805484929061105d908490611436565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110e791815260200190565b60405180910390a3505061111d565b6001600160a01b0384165f908152600a602052604081208054849290610cb49084906113f8565b50505050565b6001600160a01b038116611135575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8061119a8385611436565b9050838110156111ec5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d7565b9392505050565b80356001600160a01b0381168114611209575f80fd5b919050565b5f6020828403121561121e575f80fd5b6111ec826111f3565b5f602080835283518060208501525f5b8181101561125357858101830151858201604001528201611237565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611284575f80fd5b61128d836111f3565b946020939093013593505050565b5f805f606084860312156112ad575f80fd5b6112b6846111f3565b92506112c4602085016111f3565b9150604084013590509250925092565b5f80604083850312156112e5575f80fd5b50508035926020909101359150565b5f8060208385031215611305575f80fd5b823567ffffffffffffffff8082111561131c575f80fd5b818501915085601f83011261132f575f80fd5b81358181111561133d575f80fd5b8660208260051b8501011115611351575f80fd5b60209290920196919550909350505050565b5f60208284031215611373575f80fd5b5035919050565b5f806040838503121561138b575f80fd5b611394836111f3565b9150602083013580151581146113a8575f80fd5b809150509250929050565b5f80604083850312156113c4575f80fd5b6113cd836111f3565b91506113db602084016111f3565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156105f5576105f56113e4565b634e487b7160e01b5f52603260045260245ffd5b80820281158282048414176105f5576105f56113e4565b808201808211156105f5576105f56113e4565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156114995784516001600160a01b031683529383019391830191600101611474565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826114d457634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220cc7cdcede51cfe1b66a8820d465cc57a48428da4c94f698f3567889c4881d36764736f6c63430008160033

Deployed Bytecode Sourcemap

3456:10819:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10987:135;;;;;;;;;;-1:-1:-1;10987:135:0;;;;;:::i;:::-;;:::i;:::-;;4122:42;;;;;;;;;;-1:-1:-1;4122:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;548:14:1;;541:22;523:41;;511:2;496:18;4122:42:0;;;;;;;;8432:83;;;;;;;;;;-1:-1:-1;8502:5:0;;;;;;;;;;;;-1:-1:-1;;;8502:5:0;;;;8432:83;;;;;;;:::i;9342:193::-;;;;;;;;;;-1:-1:-1;9342:193:0;;;;;:::i;:::-;;:::i;8709:100::-;;;;;;;;;;-1:-1:-1;3687:22:0;8709:100;;;1533:25:1;;;1521:2;1506:18;8709:100:0;1387:177:1;4171:47:0;;;;;;;;;;-1:-1:-1;4171:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11134:76;;;;;;;;;;;;;:::i;9543:350::-;;;;;;;;;;-1:-1:-1;9543:350:0;;;;;:::i;:::-;;:::i;10563:282::-;;;;;;;;;;-1:-1:-1;10563:282:0;;;;;:::i;:::-;;:::i;8618:83::-;;;;;;;;;;-1:-1:-1;8618:83:0;;3915:2;2297:36:1;;2285:2;2270:18;8618:83:0;2155:184:1;4089:26:0;;;;;;;;;;-1:-1:-1;4089:26:0;;;;-1:-1:-1;;;4089:26:0;;;;;;4227:21;;;;;;;;;;;;;;;;11437:192;;;;;;;;;;-1:-1:-1;11437:192:0;;;;;:::i;:::-;;:::i;10422:127::-;;;;;;;;;;;;;:::i;3832:41::-;;;;;;;;;;;;;;;;8817:118;;;;;;;;;;-1:-1:-1;8817:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;8910:17:0;8883:7;8910:17;;;:8;:17;;;;;;;8817:118;2265:140;;;;;;;;;;;;;:::i;10857:122::-;;;;;;;;;;-1:-1:-1;10857:122:0;;;;;:::i;:::-;;:::i;4044:38::-;;;;;;;;;;-1:-1:-1;4044:38:0;;;;-1:-1:-1;;;;;4044:38:0;;;;;;-1:-1:-1;;;;;3329:32:1;;;3311:51;;3299:2;3284:18;4044:38:0;3149:219:1;3778:47:0;;;;;;;;;;;;;;;;3716:51;;;;;;;;;;;;;;;;1999:79;;;;;;;;;;-1:-1:-1;2037:7:0;2064:6;-1:-1:-1;;;;;2064:6:0;1999:79;;8523:87;;;;;;;;;;-1:-1:-1;8595:7:0;;;;;;;;;;;;-1:-1:-1;;;8595:7:0;;;;8523:87;;10282:128;;;;;;;;;;-1:-1:-1;10282:128:0;;;;;:::i;:::-;;:::i;8943:199::-;;;;;;;;;;-1:-1:-1;8943:199:0;;;;;:::i;:::-;;:::i;4255:22::-;;;;;;;;;;;;;;;;11235:189;;;;;;;;;;-1:-1:-1;11235:189:0;;;;;:::i;:::-;;:::i;9150:184::-;;;;;;;;;;-1:-1:-1;9150:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;9299:18:0;;;9267:7;9299:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9150:184;2413:109;;;;;;;;;;-1:-1:-1;2413:109:0;;;;;:::i;:::-;;:::i;10987:135::-;2205:4;2243:6;-1:-1:-1;;;;;2243:6:0;2229:10;:20;2118:18;;;;;;11077:15:::1;:37:::0;;-1:-1:-1;;;;;;11077:37:0::1;-1:-1:-1::0;;;;;11077:37:0;;;::::1;::::0;;;::::1;::::0;;10987:135::o;9342:193::-;9444:4;9466:39;908:10;9489:7;9498:6;9466:8;:39::i;:::-;-1:-1:-1;9523:4:0;9342:193;;;;;:::o;11134:76::-;2205:4;2243:6;-1:-1:-1;;;;;2243:6:0;2229:10;:20;2118:18;;;;;;11189:6:::1;:13:::0;;-1:-1:-1;;;;11189:13:0::1;-1:-1:-1::0;;;11189:13:0::1;::::0;;11134:76::o;9543:350::-;9675:4;9692:36;9702:6;9710:9;9721:6;9692:9;:36::i;:::-;-1:-1:-1;;;;;9810:19:0;;;;;;:11;:19;;;;;;;;908:10;9810:33;;;;;;;;;9739:124;;9762:6;;9810:42;;9846:6;;9810:42;:::i;:::-;9739:8;:124::i;:::-;-1:-1:-1;9881:4:0;9543:350;;;;;:::o;10563:282::-;2205:4;2243:6;-1:-1:-1;;;;;2243:6:0;2229:10;:20;2118:18;;;;;;10672:2:::1;10659:9;:15;;10651:57;;;::::0;-1:-1:-1;;;10651:57:0;;4665:2:1;10651:57:0::1;::::0;::::1;4647:21:1::0;4704:2;4684:18;;;4677:30;4743:31;4723:18;;;4716:59;4792:18;;10651:57:0::1;;;;;;;;;10741:2;10727:10;:16;;10719:58;;;::::0;-1:-1:-1;;;10719:58:0;;4665:2:1;10719:58:0::1;::::0;::::1;4647:21:1::0;4704:2;4684:18;;;4677:30;4743:31;4723:18;;;4716:59;4792:18;;10719:58:0::1;4463:353:1::0;10719:58:0::1;10788:6;:18:::0;;;;10817:7:::1;:20:::0;10563:282::o;11437:192::-;2205:4;2243:6;-1:-1:-1;;;;;2243:6:0;2229:10;:20;2118:18;;;;;;11527:9:::1;11522:100;11538:20:::0;;::::1;11522:100;;;11607:5;11576:14;:28;11591:9;;11601:1;11591:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11576:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11576:28:0;:36;;-1:-1:-1;;11576:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11560:3:0::1;11522:100;;;;11437:192:::0;;:::o;10422:127::-;2205:4;2243:6;-1:-1:-1;;;;;2243:6:0;2229:10;:20;2118:18;;;;;;3687:22:::1;10476:14;:29:::0;;;10516:10:::1;:25:::0;10422:127::o;2265:140::-;2205:4;2243:6;-1:-1:-1;;;;;2243:6:0;2229:10;:20;2118:18;;;;;;2364:1:::1;2348:6:::0;;2327:40:::1;::::0;-1:-1:-1;;;;;2348:6:0;;::::1;::::0;2327:40:::1;::::0;2364:1;;2327:40:::1;2395:1;2378:19:::0;;-1:-1:-1;;;;;;2378:19:0::1;::::0;;2265:140::o;10857:122::-;2205:4;2243:6;-1:-1:-1;;;;;2243:6:0;2229:10;:20;2118:18;;;;;;10946:25:::1;:16:::0;10965:6:::1;10946:25;:::i;:::-;10936:7;:35:::0;-1:-1:-1;10857:122:0:o;10282:128::-;2205:4;2243:6;-1:-1:-1;;;;;2243:6:0;2229:10;:20;2118:18;;;;;;-1:-1:-1;;;;;10366:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;10366:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10282:128::o;8943:199::-;9048:4;9070:42;908:10;9094:9;9105:6;9070:9;:42::i;11235:189::-;2205:4;2243:6;-1:-1:-1;;;;;2243:6:0;2229:10;:20;2118:18;;;;;;11323:9:::1;11318:99;11334:20:::0;;::::1;11318:99;;;11403:4;11372:14;:28;11387:9;;11397:1;11387:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11372:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11372:28:0;:35;;-1:-1:-1;;11372:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11356:3:0::1;11318:99;;2413:109:::0;2205:4;2243:6;-1:-1:-1;;;;;2243:6:0;2229:10;:20;2118:18;;;;;;2486:28:::1;2505:8;2486:18;:28::i;:::-;2413:109:::0;:::o;9901:369::-;-1:-1:-1;;;;;10028:19:0;;10020:68;;;;-1:-1:-1;;;10020:68:0;;5328:2:1;10020:68:0;;;5310:21:1;5367:2;5347:18;;;5340:30;5406:34;5386:18;;;5379:62;-1:-1:-1;;;5457:18:1;;;5450:34;5501:19;;10020:68:0;5126:400:1;10020:68:0;-1:-1:-1;;;;;10107:21:0;;10099:68;;;;-1:-1:-1;;;10099:68:0;;5733:2:1;10099:68:0;;;5715:21:1;5772:2;5752:18;;;5745:30;5811:34;5791:18;;;5784:62;-1:-1:-1;;;5862:18:1;;;5855:32;5904:19;;10099:68:0;5531:398:1;10099:68:0;-1:-1:-1;;;;;10178:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10230:32;;1533:25:1;;;10230:32:0;;1506:18:1;10230:32:0;;;;;;;9901:369;;;:::o;11637:2598::-;-1:-1:-1;;;;;11759:18:0;;11751:68;;;;-1:-1:-1;;;11751:68:0;;6136:2:1;11751:68:0;;;6118:21:1;6175:2;6155:18;;;6148:30;6214:34;6194:18;;;6187:62;-1:-1:-1;;;6265:18:1;;;6258:35;6310:19;;11751:68:0;5934:401:1;11751:68:0;11847:3;11838:6;:12;11830:41;;;;-1:-1:-1;;;11830:41:0;;6542:2:1;11830:41:0;;;6524:21:1;6581:2;6561:18;;;6554:30;-1:-1:-1;;;6600:18:1;;;6593:46;6656:18;;11830:41:0;6340:340:1;11830:41:0;-1:-1:-1;;;;;11891:20:0;;;;;;:14;:20;;;;;;;;11890:21;:44;;;;-1:-1:-1;;;;;;11916:18:0;;;;;;:14;:18;;;;;;;;11915:19;11890:44;11882:88;;;;-1:-1:-1;;;11882:88:0;;6887:2:1;11882:88:0;;;6869:21:1;6926:2;6906:18;;;6899:30;6965:33;6945:18;;;6938:61;7016:18;;11882:88:0;6685:355:1;11882:88:0;11989:6;;-1:-1:-1;;;11989:6:0;;;;;:26;;-1:-1:-1;;;;;;11999:16:0;;;;;;:10;:16;;;;;;;;11989:26;:44;;;-1:-1:-1;;;;;;12019:14:0;;;;;;:10;:14;;;;;;;;11989:44;11981:65;;;;-1:-1:-1;;;11981:65:0;;7247:2:1;11981:65:0;;;7229:21:1;7286:1;7266:18;;;7259:29;-1:-1:-1;;;7304:18:1;;;7297:38;7352:18;;11981:65:0;7045:331:1;11981:65:0;-1:-1:-1;;;;;12086:25:0;;12059:12;12086:25;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;12115:23:0;;;;;;:19;:23;;;;;;;;12086:52;12082:1484;;;-1:-1:-1;12162:1:0;12082:1484;;;12202:16;;;;;:21;12198:239;;-1:-1:-1;;;;;12279:14:0;;;;;;:8;:14;;;;;:24;;12297:6;;12279:14;:24;;12297:6;;12279:24;:::i;:::-;;;;-1:-1:-1;;;;;;;12322:12:0;;;;;;:8;:12;;;;;:22;;12338:6;;12322:12;:22;;12338:6;;12322:22;:::i;:::-;;;;;;;;12385:2;-1:-1:-1;;;;;12370:26:0;12379:4;-1:-1:-1;;;;;12370:26:0;;12389:6;12370:26;;;;1533:25:1;;1521:2;1506:18;;1387:177;12370:26:0;;;;;;;;12415:7;11637:2598;;;:::o;12198:239::-;12465:13;-1:-1:-1;;;;;12457:21:0;:4;-1:-1:-1;;;;;12457:21:0;;12453:1102;;12536:14;;12507:25;12525:6;12507:13;12517:2;-1:-1:-1;;;;;8910:17:0;8883:7;8910:17;;;:8;:17;;;;;;;8817:118;12507:13;:17;;:25::i;:::-;:43;;12499:52;;;;;;12588:10;;12578:6;:20;;12570:76;;;;-1:-1:-1;;;12570:76:0;;7713:2:1;12570:76:0;;;7695:21:1;7752:2;7732:18;;;7725:30;7791:34;7771:18;;;7764:62;-1:-1:-1;;;7842:18:1;;;7835:41;7893:19;;12570:76:0;7511:407:1;12570:76:0;-1:-1:-1;12672:6:0;;12453:1102;;;12710:13;-1:-1:-1;;;;;12704:19:0;:2;-1:-1:-1;;;;;12704:19:0;;12700:855;;12784:4;12744:20;12767:23;;;:8;:23;;;;;;12828:7;;12813:22;;:47;;;;-1:-1:-1;12839:16:0;;;;:21;12813:47;12809:649;;;12885:16;:20;;-1:-1:-1;;12885:20:0;12904:1;12885:20;;;12952:16;;;12966:1;12952:16;;;;;;;;-1:-1:-1;;12952:16:0;;;;;;;;;;-1:-1:-1;12952:16:0;12928:40;;13009:4;12991;12996:1;12991:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12991:23:0;;;-1:-1:-1;;;;;12991:23:0;;;;;13047:4;13037;13042:1;13037:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13037:14:0;;;:7;;;;;;;;;:14;13307:15;;;13074:321;;-1:-1:-1;;;13074:321:0;;:15;:92;;;;;:321;;13197:12;;13240:1;;13272:4;;13307:15;;;13353;;13074:321;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13418:16:0;:20;;-1:-1:-1;;13418:20:0;;;-1:-1:-1;;;12809:649:0;-1:-1:-1;;13483:7:0;;12700:855;;;-1:-1:-1;13538:1:0;12700:855;13639:9;;13635:593;;13693:17;13731:3;13714:13;13723:4;13714:6;:13;:::i;:::-;13713:21;;;;:::i;:::-;13693:41;-1:-1:-1;13749:22:0;13774:18;13693:41;13774:6;:18;:::i;:::-;-1:-1:-1;;;;;13809:14:0;;;;;;:8;:14;;;;;:24;;13749:43;;-1:-1:-1;13827:6:0;;13809:14;;;:24;;13827:6;;13809:24;:::i;:::-;;;;-1:-1:-1;;;;;;;13848:12:0;;;;;;:8;:12;;;;;:30;;13864:14;;13848:12;:30;;13864:14;;13848:30;:::i;:::-;;;;-1:-1:-1;;13910:4:0;13893:23;;;;:8;:23;;;;;:36;;13920:9;;13893:23;:36;;13920:9;;13893:36;:::i;:::-;;;;-1:-1:-1;;13949:40:0;;1533:25:1;;;13972:4:0;;-1:-1:-1;;;;;13949:40:0;;;;;1521:2:1;1506:18;13949:40:0;;;;;;;14024:2;-1:-1:-1;;;;;14009:34:0;14018:4;-1:-1:-1;;;;;14009:34:0;;14028:14;14009:34;;;;1533:25:1;;1521:2;1506:18;;1387:177;14009:34:0;;;;;;;;13650:405;;13635:593;;;-1:-1:-1;;;;;14107:14:0;;;;;;:8;:14;;;;;:24;;14125:6;;14107:14;:24;;14125:6;;14107:24;:::i;13635:593::-;11740:2495;11637:2598;;;:::o;2530:187::-;-1:-1:-1;;;;;2604:22:0;;2596:31;;;;;;2664:6;;;2643:38;;-1:-1:-1;;;;;2643:38:0;;;;2664:6;;;2643:38;;;2692:6;:17;;-1:-1:-1;;;;;;2692:17:0;-1:-1:-1;;;;;2692:17:0;;;;;;;;;;2530:187::o;2750:181::-;2808:7;;2840:5;2844:1;2840;:5;:::i;:::-;2828:17;;2869:1;2864;:6;;2856:46;;;;-1:-1:-1;;;2856:46:0;;9472:2:1;2856:46:0;;;9454:21:1;9511:2;9491:18;;;9484:30;9550:29;9530:18;;;9523:57;9597:18;;2856:46:0;9270:351:1;2856:46:0;2922:1;2750:181;-1:-1:-1;;;2750:181:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;575:548::-;687:4;716:2;745;734:9;727:21;777:6;771:13;820:6;815:2;804:9;800:18;793:34;845:1;855:140;869:6;866:1;863:13;855:140;;;964:14;;;960:23;;954:30;930:17;;;949:2;926:26;919:66;884:10;;855:140;;;859:3;1044:1;1039:2;1030:6;1019:9;1015:22;1011:31;1004:42;1114:2;1107;1103:7;1098:2;1090:6;1086:15;1082:29;1071:9;1067:45;1063:54;1055:62;;;;575:548;;;;:::o;1128:254::-;1196:6;1204;1257:2;1245:9;1236:7;1232:23;1228:32;1225:52;;;1273:1;1270;1263:12;1225:52;1296:29;1315:9;1296:29;:::i;:::-;1286:39;1372:2;1357:18;;;;1344:32;;-1:-1:-1;;;1128:254:1:o;1569:328::-;1646:6;1654;1662;1715:2;1703:9;1694:7;1690:23;1686:32;1683:52;;;1731:1;1728;1721:12;1683:52;1754:29;1773:9;1754:29;:::i;:::-;1744:39;;1802:38;1836:2;1825:9;1821:18;1802:38;:::i;:::-;1792:48;;1887:2;1876:9;1872:18;1859:32;1849:42;;1569:328;;;;;:::o;1902:248::-;1970:6;1978;2031:2;2019:9;2010:7;2006:23;2002:32;1999:52;;;2047:1;2044;2037:12;1999:52;-1:-1:-1;;2070:23:1;;;2140:2;2125:18;;;2112:32;;-1:-1:-1;1902:248:1:o;2344:615::-;2430:6;2438;2491:2;2479:9;2470:7;2466:23;2462:32;2459:52;;;2507:1;2504;2497:12;2459:52;2547:9;2534:23;2576:18;2617:2;2609:6;2606:14;2603:34;;;2633:1;2630;2623:12;2603:34;2671:6;2660:9;2656:22;2646:32;;2716:7;2709:4;2705:2;2701:13;2697:27;2687:55;;2738:1;2735;2728:12;2687:55;2778:2;2765:16;2804:2;2796:6;2793:14;2790:34;;;2820:1;2817;2810:12;2790:34;2873:7;2868:2;2858:6;2855:1;2851:14;2847:2;2843:23;2839:32;2836:45;2833:65;;;2894:1;2891;2884:12;2833:65;2925:2;2917:11;;;;;2947:6;;-1:-1:-1;2344:615:1;;-1:-1:-1;;;;2344:615:1:o;2964:180::-;3023:6;3076:2;3064:9;3055:7;3051:23;3047:32;3044:52;;;3092:1;3089;3082:12;3044:52;-1:-1:-1;3115:23:1;;2964:180;-1:-1:-1;2964:180:1:o;3581:347::-;3646:6;3654;3707:2;3695:9;3686:7;3682:23;3678:32;3675:52;;;3723:1;3720;3713:12;3675:52;3746:29;3765:9;3746:29;:::i;:::-;3736:39;;3825:2;3814:9;3810:18;3797:32;3872:5;3865:13;3858:21;3851:5;3848:32;3838:60;;3894:1;3891;3884:12;3838:60;3917:5;3907:15;;;3581:347;;;;;:::o;3933:260::-;4001:6;4009;4062:2;4050:9;4041:7;4037:23;4033:32;4030:52;;;4078:1;4075;4068:12;4030:52;4101:29;4120:9;4101:29;:::i;:::-;4091:39;;4149:38;4183:2;4172:9;4168:18;4149:38;:::i;:::-;4139:48;;3933:260;;;;;:::o;4198:127::-;4259:10;4254:3;4250:20;4247:1;4240:31;4290:4;4287:1;4280:15;4314:4;4311:1;4304:15;4330:128;4397:9;;;4418:11;;;4415:37;;;4432:18;;:::i;4821:127::-;4882:10;4877:3;4873:20;4870:1;4863:31;4913:4;4910:1;4903:15;4937:4;4934:1;4927:15;4953:168;5026:9;;;5057;;5074:15;;;5068:22;;5054:37;5044:71;;5095:18;;:::i;7381:125::-;7446:9;;;7467:10;;;7464:36;;;7480:18;;:::i;8055:988::-;8325:4;8373:3;8362:9;8358:19;8404:6;8393:9;8386:25;8430:2;8468:6;8463:2;8452:9;8448:18;8441:34;8511:3;8506:2;8495:9;8491:18;8484:31;8535:6;8570;8564:13;8601:6;8593;8586:22;8639:3;8628:9;8624:19;8617:26;;8678:2;8670:6;8666:15;8652:29;;8699:1;8709:195;8723:6;8720:1;8717:13;8709:195;;;8788:13;;-1:-1:-1;;;;;8784:39:1;8772:52;;8879:15;;;;8844:12;;;;8820:1;8738:9;8709:195;;;-1:-1:-1;;;;;;;8960:32:1;;;;8955:2;8940:18;;8933:60;-1:-1:-1;;;9024:3:1;9009:19;9002:35;8921:3;8055:988;-1:-1:-1;;;8055:988:1:o;9048:217::-;9088:1;9114;9104:132;;9158:10;9153:3;9149:20;9146:1;9139:31;9193:4;9190:1;9183:15;9221:4;9218:1;9211:15;9104:132;-1:-1:-1;9250:9:1;;9048:217::o

Swarm Source

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