ETH Price: $2,976.99 (+1.25%)
Gas: 5 Gwei

Token

Decentralized Bitcoin (DBTC)
 

Overview

Max Total Supply

120,363.544251763810330679 DBTC

Holders

4,985 (0.00%)

Market

Price

$5.85 @ 0.001964 ETH

Onchain Market Cap

$703,731.14

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
YFII.finance: YFII Token
Balance
0.09 DBTC

Value
$0.53 ( ~0.00017803226596165 Eth) [0.0001%]
0xa1d0e215a23d7030842fc67ce582a6afa3ccab83
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

DBTC is developing a decentralized DAPP based on Oracle.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DBTC

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-12-14
*/

/***
* 
*           _____                    _____                _____                    _____          
*          /\    \                  /\    \              /\    \                  /\    \         
*         /::\    \                /::\    \            /::\    \                /::\    \        
*        /::::\    \              /::::\    \           \:::\    \              /::::\    \       
*       /::::::\    \            /::::::\    \           \:::\    \            /::::::\    \      
*      /:::/\:::\    \          /:::/\:::\    \           \:::\    \          /:::/\:::\    \     
*     /:::/  \:::\    \        /:::/__\:::\    \           \:::\    \        /:::/  \:::\    \    
*    /:::/    \:::\    \      /::::\   \:::\    \          /::::\    \      /:::/    \:::\    \   
*   /:::/    / \:::\    \    /::::::\   \:::\    \        /::::::\    \    /:::/    / \:::\    \  
*  /:::/    /   \:::\ ___\  /:::/\:::\   \:::\ ___\      /:::/\:::\    \  /:::/    /   \:::\    \ 
* /:::/____/     \:::|    |/:::/__\:::\   \:::|    |    /:::/  \:::\____\/:::/____/     \:::\____\
* \:::\    \     /:::|____|\:::\   \:::\  /:::|____|   /:::/    \::/    /\:::\    \      \::/    /
*  \:::\    \   /:::/    /  \:::\   \:::\/:::/    /   /:::/    / \/____/  \:::\    \      \/____/ 
*   \:::\    \ /:::/    /    \:::\   \::::::/    /   /:::/    /            \:::\    \             
*    \:::\    /:::/    /      \:::\   \::::/    /   /:::/    /              \:::\    \            
*     \:::\  /:::/    /        \:::\  /:::/    /    \::/    /                \:::\    \           
*      \:::\/:::/    /          \:::\/:::/    /      \/____/                  \:::\    \          
*       \::::::/    /            \::::::/    /                                 \:::\    \         
*        \::::/    /              \::::/    /                                   \:::\____\        
*         \::/____/                \::/____/                                     \::/    /        
*          ~~                       ~~                                            \/____/         
*                                                                                                 
* 
*     
* https://dbtc.plus v1.0.1
*/

pragma solidity 0.5.17;   

library SafeMath {

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

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

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

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

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }

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

interface InterfaceDividend {
    function withdrawDividendsEverything() external returns(bool);
}


contract ownerShip
{
    address payable public owner;
    address payable public newOwner;

    event OwnershipTransferredEv(uint256 timeOfEv, address payable indexed previousOwner, address payable indexed newOwner);

    constructor() public 
    {
        owner = msg.sender;
    }

    modifier onlyOwner() 
    {
        require(msg.sender == owner);
        _;
    }


    function transferOwnership(address payable _newOwner) public onlyOwner 
    {
        newOwner = _newOwner;
    }

    function acceptOwnership() public 
    {
        require(msg.sender == newOwner);
        emit OwnershipTransferredEv(now, owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }

}

contract DBTC is ownerShip {
  
    using SafeMath for uint256;       
    string constant public name="Decentralized Bitcoin";
    string constant public symbol="DBTC";
    uint256 constant public decimals=18;
    uint256 public totalSupply = 210000 * ( 10 ** decimals);
    uint256 public minTotalSupply = 2100 * ( 10 ** decimals);
    uint256 public constant minSupply = 21 * ( 10 ** decimals);
    uint256 public  _burnPercent = 500;  // 500 = 5%
    uint256 public  _burnPercentAll = 1000;  // 1000 = 10%
    uint256 public constant _invite1Percent = 300;  // 300 = 3%
    uint256 public constant _invite2Percent = 200;  // 200 =2%
    address public constant uni = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public constant AirdropAddress = address(0x91De8F260f05d0aB3C51911d8B43793D82B84d66);
    address public constant CreateAddress = address(0x4b5d1ebFe85f399B728F655f77142459470549A6);
    address public TradeAddress;
    
    address public dividendContractAdderess;

    struct Miner {
      address address1;
      address address2;
    }

    mapping(address => Miner) public miners;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed approvedBy, address indexed spender, uint256 value);
    event WhitelistFrom(address _addr, bool _whitelisted);
    event WhitelistTo(address _addr, bool _whitelisted);

    mapping(address => bool) public whitelistFrom;
    mapping(address => bool) public whitelistTo;
  
    constructor( ) public
    {
        balanceOf[CreateAddress] = 170000 * ( 10 ** decimals);
        balanceOf[AirdropAddress] = 40000 * ( 10 ** decimals);
        emit Transfer(address(0), CreateAddress, 170000 * ( 10 ** decimals));
        emit Transfer(address(0), AirdropAddress, 40000 * ( 10 ** decimals));
    }
    
    function () payable external {}
    

    function _isWhitelisted(address _from, address _to) internal view returns (bool) {
        return whitelistFrom[_from]||whitelistTo[_to];
    }

    function setWhitelistedTo(address _addr, bool _whitelisted) external onlyOwner {
        emit WhitelistTo(_addr, _whitelisted);
        whitelistTo[_addr] = _whitelisted;
    }

    function setWhitelistedFrom(address _addr, bool _whitelisted) external onlyOwner {
        emit WhitelistFrom(_addr, _whitelisted);
        whitelistFrom[_addr] = _whitelisted;
    }

    function _transfer(address _from, address _to, uint _value) internal {
        require(_value <= balanceOf[_from], 'Not enough balance');  
        balanceOf[_from] = balanceOf[_from].sub(_value);    
        balanceOf[_to] = balanceOf[_to].add(_value);        

        emit Transfer(_from, _to, _value);
    }

    function transfer(address _to, uint256 _value) public returns (bool success) {

        if(totalSupply <= minTotalSupply){
            _burnPercent = 0;
            _burnPercentAll = 0;
        }

        uint256 invite1to = calculatePercentage(_value,_invite1Percent);
        uint256 invite2to = calculatePercentage(_value,_invite2Percent);
        uint256 tokensToBurn = calculatePercentage(_value,_burnPercent);
        uint256 tokensToBurnAll = calculatePercentage(_value,_burnPercentAll);

        if(_isWhitelisted(msg.sender, _to)){
            if ( _to != msg.sender && _to != TradeAddress && _to != uni && _to != AirdropAddress && _to != CreateAddress){
                if(miners[_to].address1 == address(0)){
                    miners[_to].address1 = msg.sender;
                }
            }
            _transfer(msg.sender, _to, _value - tokensToBurnAll);
            _burn(msg.sender, tokensToBurnAll);
            return true;
        }

        if(msg.sender == uni && _to == TradeAddress){
            _transfer(msg.sender, _to, _value);
            return true;
        } else if (msg.sender == TradeAddress && _to == uni){
            _transfer(msg.sender, _to, _value);
            return true;
        }

        if(msg.sender == TradeAddress  && _to != uni){
            if (miners[_to].address1 != address(0) && miners[_to].address2 != address(0)){
                if (balanceOf[miners[_to].address1] >= minSupply && balanceOf[miners[_to].address2] >= minSupply){
                    _transfer(msg.sender, _to, _value - invite1to - invite2to - tokensToBurn);
                    _transfer(msg.sender, miners[_to].address1,invite1to);
                    _transfer(msg.sender, miners[_to].address2,invite2to);
                    _burn(msg.sender, tokensToBurn);
                    return true;
                } else if (balanceOf[miners[_to].address1] >= minSupply && balanceOf[miners[_to].address2] < minSupply){
                    _transfer(msg.sender, _to, _value - invite1to - invite2to - tokensToBurn);
                    _transfer(msg.sender, miners[_to].address1,invite1to);
                    _burn(msg.sender, tokensToBurn + invite2to);
                    return true;
                } else if (balanceOf[miners[_to].address1] < minSupply && balanceOf[miners[_to].address2] >= minSupply){
                    _transfer(msg.sender, _to, _value - invite1to - invite2to - tokensToBurn);
                    _transfer(msg.sender, miners[_to].address2,invite2to);
                    _burn(msg.sender, tokensToBurn + invite1to);
                    return true;
                } else {
                    _transfer(msg.sender, _to, _value - tokensToBurnAll);
                    _burn(msg.sender, tokensToBurnAll);
                    return true;
                }
            } else if (miners[_to].address1 != address(0)){
                if (balanceOf[miners[_to].address1] >= minSupply){
                    _transfer(msg.sender, _to, _value - invite1to - invite2to - tokensToBurn );
                    _transfer(msg.sender, miners[_to].address1,invite1to);
                    _burn(msg.sender, tokensToBurn + invite2to);
                    return true;
                } else {
                    _transfer(msg.sender, _to, _value - tokensToBurnAll);
                    _burn(msg.sender, tokensToBurnAll);
                    return true;
                }
            }        
        }

        if (miners[msg.sender].address1 != address(0) && miners[msg.sender].address2 != address(0) && miners[_to].address1 != address(0)){
            if (balanceOf[miners[msg.sender].address1] >= minSupply && balanceOf[miners[msg.sender].address2] >= minSupply){
                _transfer(msg.sender, _to, _value - invite1to - invite2to - tokensToBurn);
                _transfer(msg.sender, miners[msg.sender].address1,invite1to);
                _transfer(msg.sender, miners[msg.sender].address2,invite2to);
                _burn(msg.sender, tokensToBurn);
                return true;
            } else if (balanceOf[miners[msg.sender].address1] >= minSupply && balanceOf[miners[msg.sender].address2] < minSupply){
                _transfer(msg.sender, _to, _value - invite1to - invite2to - tokensToBurn);
                _transfer(msg.sender, miners[msg.sender].address1,invite1to);
                _burn(msg.sender, tokensToBurn + invite2to);
                return true;
            } else if (balanceOf[miners[msg.sender].address1] < minSupply && balanceOf[miners[msg.sender].address2] >= minSupply){
                _transfer(msg.sender, _to, _value - invite1to - invite2to - tokensToBurn);
                _transfer(msg.sender, miners[msg.sender].address2,invite2to);
                _burn(msg.sender, tokensToBurn + invite1to);
                return true;
            } else {
                _transfer(msg.sender, _to, _value - tokensToBurnAll);
                _burn(msg.sender, tokensToBurnAll);
                return true;
            }
        } else if (miners[msg.sender].address1 != address(0) && miners[msg.sender].address2 != address(0) && miners[_to].address1 == address(0)){
            if (balanceOf[miners[msg.sender].address1] >= minSupply && balanceOf[miners[msg.sender].address2] >= minSupply){

                if ( _to != msg.sender && _to != TradeAddress && _to != uni && _to != AirdropAddress && _to != CreateAddress){
                    if(miners[_to].address1 == address(0)){
                        if(balanceOf[msg.sender] >= minSupply){
                        miners[_to].address1 = msg.sender;
                        miners[_to].address2 = miners[msg.sender].address1;
                        }
                    }
                }

                _transfer(msg.sender, _to, _value - invite1to - invite2to - tokensToBurn);
                _transfer(msg.sender, miners[msg.sender].address1,invite1to);
                _transfer(msg.sender, miners[msg.sender].address2,invite2to);
                _burn(msg.sender, tokensToBurn);
                return true;
            } else if (balanceOf[miners[msg.sender].address1] >= minSupply && balanceOf[miners[msg.sender].address2] < minSupply){

                if ( _to != msg.sender && _to != TradeAddress && _to != uni && _to != AirdropAddress && _to != CreateAddress){
                    if(miners[_to].address1 == address(0)){
                        if(balanceOf[msg.sender] >= minSupply){
                        miners[_to].address1 = msg.sender;
                        }
                    }
                }

                _transfer(msg.sender, _to, _value - invite1to - invite2to - tokensToBurn);
                _transfer(msg.sender, miners[msg.sender].address1,invite1to);
                _burn(msg.sender, tokensToBurn + invite2to);
                return true;
            } else if (balanceOf[miners[msg.sender].address1] < minSupply && balanceOf[miners[msg.sender].address2] >= minSupply){
                _transfer(msg.sender, _to, _value - invite1to - invite2to - tokensToBurn);
                _transfer(msg.sender, miners[msg.sender].address2,invite2to);
                _burn(msg.sender, tokensToBurn + invite1to );
                return true;
            } else {
                _transfer(msg.sender, _to, _value - tokensToBurnAll);
                _burn(msg.sender, tokensToBurnAll);
                return true;
            }
        } else if (miners[msg.sender].address1 != address(0) && miners[msg.sender].address2 == address(0) && miners[_to].address1 == address(0)){
            if (balanceOf[miners[msg.sender].address1] >= minSupply){

                if ( _to != msg.sender && _to != TradeAddress && _to != uni && _to != AirdropAddress && _to != CreateAddress){
                    if(balanceOf[msg.sender] >= minSupply){
                    miners[_to].address1 = msg.sender;
                    miners[_to].address2 = miners[msg.sender].address1;
                    }
                }

                _transfer(msg.sender, _to, _value - invite1to - invite2to - tokensToBurn);
                _transfer(msg.sender, miners[msg.sender].address1,invite1to);
                _burn(msg.sender, tokensToBurn + invite2to);
                return true;
            } else {
                _transfer(msg.sender, _to, _value - tokensToBurnAll );
                _burn(msg.sender, tokensToBurnAll);
                return true;
          }
        } else if (miners[msg.sender].address1 == address(0) && miners[msg.sender].address2 == address(0) && miners[_to].address1 == address(0)){

                if ( _to != msg.sender && _to != TradeAddress && _to != uni && _to != AirdropAddress && _to != CreateAddress){
                    if(balanceOf[msg.sender] >= minSupply){
                    miners[_to].address1 = msg.sender;
                    }
                }

                _transfer(msg.sender, _to, _value - tokensToBurnAll);
                _burn(msg.sender, tokensToBurnAll);
                return true;
        }

        if(miners[_to].address1 == address(0)){
            if(balanceOf[msg.sender] >= minSupply){
            miners[_to].address1 = msg.sender;
            }
        }

        _transfer(msg.sender, _to, _value - tokensToBurnAll);
        _burn(msg.sender, tokensToBurnAll);
        return true;

    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {

        if(totalSupply <= minTotalSupply){
            _burnPercent = 0;
            _burnPercentAll = 0;
        }

        uint256 tokensToBurn = calculatePercentage(_value,_burnPercent);
        uint256 invite1to = calculatePercentage(_value,_invite1Percent);
        uint256 invite2to = calculatePercentage(_value,_invite2Percent);
        uint256 tokensToBurnAll = calculatePercentage(_value,_burnPercentAll);
        
        allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value);

        if(_isWhitelisted(_from, _to)){
            if ( _to != _from && _to != TradeAddress && _to != uni && _to != AirdropAddress && _to != CreateAddress){
                if ( miners[_to].address1 == address(0) ){
                    miners[_to].address1 = _from;
                }
            }
            _transfer(_from, _to, _value - tokensToBurnAll);
            _burn(_from, tokensToBurnAll);
            return true;
        }

        if(_from == uni && _to == TradeAddress){
            _transfer(_from, _to, _value);
            return true;
        } else if (_from == TradeAddress && _to == uni){
            _transfer(_from, _to, _value);
            return true;
        } 

        if (miners[_from].address1 != address(0) && miners[_from].address2 != address(0)){
            if (balanceOf[miners[_from].address1] >= minSupply && balanceOf[miners[_from].address2] >= minSupply){
                _transfer(_from, _to, _value - invite1to - invite2to - tokensToBurn);
                _transfer(_from, miners[_from].address1,invite1to);
                _transfer(_from, miners[_from].address2,invite2to);
                _burn(_from, tokensToBurn);
                return true;
            } else if (balanceOf[miners[_from].address1] >= minSupply && balanceOf[miners[_from].address2] < minSupply){
                _transfer(_from, _to, _value - invite1to - invite2to - tokensToBurn);
                _transfer(_from, miners[_from].address1,invite1to);
                _burn(_from, tokensToBurn + invite2to);
                return true;
            } else if (balanceOf[miners[_from].address1] < minSupply && balanceOf[miners[_from].address2] >= minSupply){
                _transfer(_from, _to, _value - invite1to - invite2to - tokensToBurn);
                _transfer(_from, miners[_from].address2,invite2to);
                _burn(_from, tokensToBurn + invite1to);
                return true;
            } else {
                _transfer(_from, _to, _value - tokensToBurnAll);
                _burn(_from, tokensToBurnAll);
                return true;
            }
        } else if (miners[_from].address1 != address(0)){
            if (balanceOf[miners[_from].address1] >= minSupply){
                _transfer(_from, _to, _value - invite1to - invite2to - tokensToBurn );
                _transfer(_from, miners[_from].address1,invite1to);
                _burn(_from, tokensToBurn + invite2to);
                return true;
            } else {
                _transfer(_from, _to, _value - tokensToBurnAll);
                _burn(_from, tokensToBurnAll);
                return true;
            }
        }
        
        _transfer(_from, _to, _value - tokensToBurnAll);
        _burn(_from, tokensToBurnAll);
        return true;

    }

    function approve(address _spender, uint256 _value) public returns (bool success) {
        
        address user = msg.sender;  //local variable is gas cheaper than reading from storate multiple time

        require(_value <= balanceOf[user], 'Not enough balance');
        
        allowance[user][_spender] = _value;
        emit Approval(user, _spender, _value);
        return true;
    }
    
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
    
        uint256 newAmount = allowance[msg.sender][spender].add(addedValue);
        approve(spender, newAmount);
        
        return true;
    }
    
    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
    
        uint256 newAmount = allowance[msg.sender][spender].sub(subtractedValue);
        approve(spender, newAmount);
        
        return true;
    }

    function calculatePercentage(uint256 PercentOf, uint256 percentTo ) internal pure returns (uint256) 
    {
        uint256 factor = 10000;
        require(percentTo <= factor);
        uint256 c = PercentOf.mul(percentTo).div(factor);
        return c;
    }

    
    function setBurningRate(uint burnPercent) onlyOwner public returns(bool success)
    {
        _burnPercent = burnPercent;
        return true;
    }
    
    function updateMinimumTotalSupply(uint minimumTotalSupplyWEI) onlyOwner public returns(bool success)
    {
        minTotalSupply = minimumTotalSupplyWEI;
        return true;
    }
    
    
    
    function _burn(address account, uint256 amount) internal returns(bool) {
        if(totalSupply > minTotalSupply)
        {
          totalSupply = totalSupply.sub(amount);
          balanceOf[account] = balanceOf[account].sub(amount);
          emit Transfer(account, address(0), amount);
          return true;
        }
    }

    function burnToken(uint256 amount) public onlyOwner {
        _burn(msg.sender, amount);
    }

    function setTradeAddress(address addr) public onlyOwner {
        TradeAddress = addr;
    }

    function manualWithdrawTokens(uint256 tokenAmount) public onlyOwner returns(string memory){
        _transfer(address(this), owner, tokenAmount);
        return "Tokens withdrawn to owner wallet";
    }


    function manualWithdrawEther(uint256 amount) public onlyOwner returns(string memory){
        owner.transfer(amount);
        return "Ether withdrawn to owner wallet";
    }

    function updateDividendContractAddress(address dividendContract) public onlyOwner returns(string memory){
        dividendContractAdderess = dividendContract;
        return "dividend conract address updated successfully";
    }

    function airDrop(address[] memory recipients,uint[] memory tokenAmount) public onlyOwner returns (bool) {
        uint reciversLength  = recipients.length;
        require(reciversLength <= 150);
        for(uint i = 0; i < reciversLength; i++)
        {
            if (gasleft() < 100000)
            {
                break;
            }
              _transfer(owner, recipients[i], tokenAmount[i]);
              miners[recipients[i]].address1 = msg.sender;
        }
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"approvedBy","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timeOfEv","type":"uint256"},{"indexed":true,"internalType":"address payable","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address payable","name":"newOwner","type":"address"}],"name":"OwnershipTransferredEv","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_addr","type":"address"},{"indexed":false,"internalType":"bool","name":"_whitelisted","type":"bool"}],"name":"WhitelistFrom","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_addr","type":"address"},{"indexed":false,"internalType":"bool","name":"_whitelisted","type":"bool"}],"name":"WhitelistTo","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"AirdropAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CreateAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TradeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_burnPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_burnPercentAll","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_invite1Percent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_invite2Percent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"tokenAmount","type":"uint256[]"}],"name":"airDrop","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"dividendContractAdderess","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualWithdrawEther","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"manualWithdrawTokens","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"miners","outputs":[{"internalType":"address","name":"address1","type":"address"},{"internalType":"address","name":"address2","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"burnPercent","type":"uint256"}],"name":"setBurningRate","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setTradeAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_whitelisted","type":"bool"}],"name":"setWhitelistedFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_whitelisted","type":"bool"}],"name":"setWhitelistedTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"uni","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dividendContract","type":"address"}],"name":"updateDividendContractAddress","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"minimumTotalSupplyWEI","type":"uint256"}],"name":"updateMinimumTotalSupply","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelistFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelistTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}]

6080604052692c781f708c509f4000006002556871d75ab9b9205000006003556101f46004556103e860055534801561003757600080fd5b50600080546001600160a01b03191633178155600960209081526923ffb7ed6565d64000007fd50328fa7b4d3c46ed6a73658b89253d6609ffee62d161d6c96d90c461d580168190557391de8f260f05d0ab3c51911d8b43793d82b84d668352690878678326eac90000007ff32e332fd07fdee47e887759535b67e258053e7e045b7d3f6a5cc3b4d2075a25556040805191825251734b5d1ebfe85f399b728f655f77142459470549a69392600080516020612bb5833981519152928290030190a360408051690878678326eac9000000815290517391de8f260f05d0ab3c51911d8b43793d82b84d6691600091600080516020612bb58339815191529181900360200190a3612a698061014c6000396000f3fe60806040526004361061022f5760003560e01c806379ba50971161012e578063a9059cbb116100ab578063eee3ea471161006f578063eee3ea47146108df578063efa17cc214610909578063f2fde38b14610933578063fbde8d7514610966578063ff12bbf4146109905761022f565b8063a9059cbb14610817578063d4ee1d9014610850578063d4fdbc5714610865578063dd62ed3e1461088f578063edc9af95146108ca5761022f565b806395d89b41116100f257806395d89b411461076457806398a7cc30146107795780639e17e21d1461078e578063a457c2d7146107a3578063a486309d146107dc5761022f565b806379ba5097146106e657806379db6346146106fb5780637b47ec1a146107105780638da5cb5b1461073a5780638fe6cae31461074f5761022f565b806322016104116101bc5780634815ea59116101805780634815ea59146104de57806356213104146104f3578063648ec7b91461052657806365216a411461057f57806370a08231146106b35761022f565b8063220161041461040557806323b872dd1461041a578063313ce5671461045d578063395093511461047257806343684b21146104ab5761022f565b80631649c60c116102035780631649c60c1461034457806316b627d11461037557806318160ddd146103a8578063205d5c4f146103bd57806321a9cf34146103d25761022f565b80622590021461023157806306fdde0314610258578063095ea7b3146102e25780630dfe2a831461032f575b005b34801561023d57600080fd5b506102466109cb565b60408051918252519081900360200190f35b34801561026457600080fd5b5061026d6109d1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a757818101518382015260200161028f565b50505050905090810190601f1680156102d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102ee57600080fd5b5061031b6004803603604081101561030557600080fd5b506001600160a01b038135169060200135610a02565b604080519115158252519081900360200190f35b34801561033b57600080fd5b50610246610ac7565b34801561035057600080fd5b50610359610acd565b604080516001600160a01b039092168252519081900360200190f35b34801561038157600080fd5b5061031b6004803603602081101561039857600080fd5b50356001600160a01b0316610ae5565b3480156103b457600080fd5b50610246610afa565b3480156103c957600080fd5b50610246610b00565b3480156103de57600080fd5b5061022f600480360360208110156103f557600080fd5b50356001600160a01b0316610b05565b34801561041157600080fd5b50610246610b3e565b34801561042657600080fd5b5061031b6004803603606081101561043d57600080fd5b506001600160a01b03813581169160208101359091169060400135610b44565b34801561046957600080fd5b506102466110fc565b34801561047e57600080fd5b5061031b6004803603604081101561049557600080fd5b506001600160a01b038135169060200135611101565b3480156104b757600080fd5b5061031b600480360360208110156104ce57600080fd5b50356001600160a01b031661114e565b3480156104ea57600080fd5b50610359611163565b3480156104ff57600080fd5b5061026d6004803603602081101561051657600080fd5b50356001600160a01b0316611172565b34801561053257600080fd5b506105596004803603602081101561054957600080fd5b50356001600160a01b03166111c5565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b34801561058b57600080fd5b5061031b600480360360408110156105a257600080fd5b8101906020810181356401000000008111156105bd57600080fd5b8201836020820111156105cf57600080fd5b803590602001918460208302840111640100000000831117156105f157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561064157600080fd5b82018360208201111561065357600080fd5b8035906020019184602083028401116401000000008311171561067557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506111eb945050505050565b3480156106bf57600080fd5b50610246600480360360208110156106d657600080fd5b50356001600160a01b03166112c3565b3480156106f257600080fd5b5061022f6112d5565b34801561070757600080fd5b5061024661135d565b34801561071c57600080fd5b5061022f6004803603602081101561073357600080fd5b5035611363565b34801561074657600080fd5b50610359611388565b34801561075b57600080fd5b50610246611397565b34801561077057600080fd5b5061026d6113a4565b34801561078557600080fd5b506103596113c4565b34801561079a57600080fd5b506103596113d3565b3480156107af57600080fd5b5061031b600480360360408110156107c657600080fd5b506001600160a01b0381351690602001356113eb565b3480156107e857600080fd5b5061022f600480360360408110156107ff57600080fd5b506001600160a01b0381351690602001351515611421565b34801561082357600080fd5b5061031b6004803603604081101561083a57600080fd5b506001600160a01b0381351690602001356114a8565b34801561085c57600080fd5b506103596123e9565b34801561087157600080fd5b5061026d6004803603602081101561088857600080fd5b50356123f8565b34801561089b57600080fd5b50610246600480360360408110156108b257600080fd5b506001600160a01b0381358116916020013516612486565b3480156108d657600080fd5b506103596124a3565b3480156108eb57600080fd5b5061031b6004803603602081101561090257600080fd5b50356124bb565b34801561091557600080fd5b5061031b6004803603602081101561092c57600080fd5b50356124dc565b34801561093f57600080fd5b5061022f6004803603602081101561095657600080fd5b50356001600160a01b03166124fd565b34801561097257600080fd5b5061026d6004803603602081101561098957600080fd5b5035612536565b34801561099c57600080fd5b5061022f600480360360408110156109b357600080fd5b506001600160a01b03813516906020013515156125a1565b60055481565b604051806040016040528060158152602001742232b1b2b73a3930b634bd32b2102134ba31b7b4b760591b81525081565b33600081815260096020526040812054909190831115610a5e576040805162461bcd60e51b81526020600482015260126024820152714e6f7420656e6f7567682062616c616e636560701b604482015290519081900360640190fd5b6001600160a01b038082166000818152600a6020908152604080832094891680845294825291829020879055815187815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a360019150505b92915050565b60045481565b734b5d1ebfe85f399b728f655f77142459470549a681565b600c6020526000908152604090205460ff1681565b60025481565b60c881565b6000546001600160a01b03163314610b1c57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b61012c81565b600060035460025411610b5c57600060048190556005555b6000610b6a83600454612628565b90506000610b7a8461012c612628565b90506000610b898560c8612628565b90506000610b9986600554612628565b6001600160a01b0389166000908152600a60209081526040808320338452909152902054909150610bd0908763ffffffff61266516565b6001600160a01b0389166000908152600a60209081526040808320338452909152902055610bfe88886126c2565b15610d2657876001600160a01b0316876001600160a01b031614158015610c3357506006546001600160a01b03888116911614155b8015610c5c57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b8015610c8557506001600160a01b0387167391de8f260f05d0ab3c51911d8b43793d82b84d6614155b8015610cae57506001600160a01b038716734b5d1ebfe85f399b728f655f77142459470549a614155b15610d01576001600160a01b0387811660009081526008602052604090205416610d01576001600160a01b03878116600090815260086020526040902080546001600160a01b031916918a169190911790555b610d0e8888838903612705565b610d188882612821565b5060019450505050506110f5565b6001600160a01b038816737a250d5630b4cf539739df2c5dacb4c659f2488d148015610d5f57506006546001600160a01b038881169116145b15610d7c57610d6f888888612705565b60019450505050506110f5565b6006546001600160a01b038981169116148015610db557506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d145b15610dc557610d6f888888612705565b6001600160a01b038881166000908152600860205260409020541615801590610e0a57506001600160a01b038881166000908152600860205260409020600101541615155b1561106c576001600160a01b0380891660009081526008602090815260408083205490931682526009905220546801236efcbcbb34000011801590610e8257506001600160a01b0380891660009081526008602090815260408083206001015490931682526009905220546801236efcbcbb34000011155b15610ef357610e9888888685878b030303612705565b6001600160a01b03808916600090815260086020526040902054610ebf918a911685612705565b6001600160a01b03808916600090815260086020526040902060010154610ee9918a911684612705565b610d188885612821565b6001600160a01b0380891660009081526008602090815260408083205490931682526009905220546801236efcbcbb34000011801590610f6557506001600160a01b0380891660009081526008602090815260408083206001015490931682526009905220546801236efcbcbb340000115b15610fae57610f7b88888685878b030303612705565b6001600160a01b03808916600090815260086020526040902054610fa2918a911685612705565b610d1888838601612821565b6001600160a01b0380891660009081526008602090815260408083205490931682526009905220546801236efcbcbb34000011801561102057506001600160a01b0380891660009081526008602090815260408083206001015490931682526009905220546801236efcbcbb34000011155b15610d015761103688888685878b030303612705565b6001600160a01b03808916600090815260086020526040902060010154611060918a911684612705565b610d1888848601612821565b6001600160a01b0388811660009081526008602052604090205416156110d4576001600160a01b0380891660009081526008602090815260408083205490931682526009905220546801236efcbcbb34000011610d0157610f7b88888685878b030303612705565b6110e18888838903612705565b6110eb8882612821565b5060019450505050505b9392505050565b601281565b336000908152600a602090815260408083206001600160a01b03861684529091528120548190611137908463ffffffff6128c916565b90506111438482610a02565b506001949350505050565b600b6020526000908152604090205460ff1681565b6007546001600160a01b031681565b6000546060906001600160a01b0316331461118c57600080fd5b600780546001600160a01b0319166001600160a01b0384161790556040805160608101909152602d808252612a08602083013992915050565b600860205260009081526040902080546001909101546001600160a01b03918216911682565b600080546001600160a01b0316331461120357600080fd5b8251609681111561121357600080fd5b60005b8181101561114357620186a05a101561122e57611143565b600054855161126e916001600160a01b03169087908490811061124d57fe5b602002602001015186848151811061126157fe5b6020026020010151612705565b336008600087848151811061127f57fe5b6020908102919091018101516001600160a01b0390811683529082019290925260400160002080546001600160a01b03191692909116919091179055600101611216565b60096020526000908152604090205481565b6001546001600160a01b031633146112ec57600080fd5b6001546000546040805142815290516001600160a01b039384169392909216917fa3191545eda8c68c7b5fbe5f5a200244fd06d2448d03d464621b04c48538361f9181900360200190a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60035481565b6000546001600160a01b0316331461137a57600080fd5b6113843382612821565b5050565b6000546001600160a01b031681565b6801236efcbcbb34000081565b604051806040016040528060048152602001634442544360e01b81525081565b6006546001600160a01b031681565b7391de8f260f05d0ab3c51911d8b43793d82b84d6681565b336000908152600a602090815260408083206001600160a01b03861684529091528120548190611137908463ffffffff61266516565b6000546001600160a01b0316331461143857600080fd5b604080516001600160a01b0384168152821515602082015281517f88cf9b943f64811022537ee9f0141770d85e612eae3a3a39241abe5ca9f11382929181900390910190a16001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000600354600254116114c057600060048190556005555b60006114ce8361012c612628565b905060006114dd8460c8612628565b905060006114ed85600454612628565b905060006114fd86600554612628565b905061150933886126c2565b15611622576001600160a01b038716331480159061153557506006546001600160a01b03888116911614155b801561155e57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b801561158757506001600160a01b0387167391de8f260f05d0ab3c51911d8b43793d82b84d6614155b80156115b057506001600160a01b038716734b5d1ebfe85f399b728f655f77142459470549a614155b156115fd576001600160a01b03878116600090815260086020526040902054166115fd576001600160a01b038716600090815260086020526040902080546001600160a01b031916331790555b61160a3388838903612705565b6116143382612821565b506001945050505050610ac1565b33737a250d5630b4cf539739df2c5dacb4c659f2488d14801561165257506006546001600160a01b038881169116145b1561166f57611662338888612705565b6001945050505050610ac1565b6006546001600160a01b0316331480156116a557506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d145b156116b557611662338888612705565b6006546001600160a01b0316331480156116ec57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b15611a00576001600160a01b03878116600090815260086020526040902054161580159061173657506001600160a01b038781166000908152600860205260409020600101541615155b15611998576001600160a01b0380881660009081526008602090815260408083205490931682526009905220546801236efcbcbb340000118015906117ae57506001600160a01b0380881660009081526008602090815260408083206001015490931682526009905220546801236efcbcbb34000011155b1561181f576117c433888486888b030303612705565b6001600160a01b038088166000908152600860205260409020546117eb9133911686612705565b6001600160a01b038088166000908152600860205260409020600101546118159133911685612705565b6116143383612821565b6001600160a01b0380881660009081526008602090815260408083205490931682526009905220546801236efcbcbb3400001180159061189157506001600160a01b0380881660009081526008602090815260408083206001015490931682526009905220546801236efcbcbb340000115b156118da576118a733888486888b030303612705565b6001600160a01b038088166000908152600860205260409020546118ce9133911686612705565b61161433848401612821565b6001600160a01b0380881660009081526008602090815260408083205490931682526009905220546801236efcbcbb34000011801561194c57506001600160a01b0380881660009081526008602090815260408083206001015490931682526009905220546801236efcbcbb34000011155b156115fd5761196233888486888b030303612705565b6001600160a01b0380881660009081526008602052604090206001015461198c9133911685612705565b61161433858401612821565b6001600160a01b038781166000908152600860205260409020541615611a00576001600160a01b0380881660009081526008602090815260408083205490931682526009905220546801236efcbcbb340000116115fd576118a733888486888b030303612705565b336000908152600860205260409020546001600160a01b031615801590611a415750336000908152600860205260409020600101546001600160a01b031615155b8015611a6657506001600160a01b038781166000908152600860205260409020541615155b15611c8e57336000908152600860209081526040808320546001600160a01b0316835260099091529020546801236efcbcbb34000011801590611ada5750336000908152600860209081526040808320600101546001600160a01b0316835260099091529020546801236efcbcbb34000011155b15611b3b57611af033888486888b030303612705565b33600081815260086020526040902054611b1491906001600160a01b031686612705565b3360008181526008602052604090206001015461181591906001600160a01b031685612705565b336000908152600860209081526040808320546001600160a01b0316835260099091529020546801236efcbcbb34000011801590611ba95750336000908152600860209081526040808320600101546001600160a01b0316835260099091529020546801236efcbcbb340000115b15611be357611bbf33888486888b030303612705565b336000818152600860205260409020546118ce91906001600160a01b031686612705565b336000908152600860209081526040808320546001600160a01b0316835260099091529020546801236efcbcbb340000118015611c515750336000908152600860209081526040808320600101546001600160a01b0316835260099091529020546801236efcbcbb34000011155b156115fd57611c6733888486888b030303612705565b3360008181526008602052604090206001015461198c91906001600160a01b031685612705565b336000908152600860205260409020546001600160a01b031615801590611ccf5750336000908152600860205260409020600101546001600160a01b031615155b8015611cf357506001600160a01b0387811660009081526008602052604090205416155b1561203c57336000908152600860209081526040808320546001600160a01b0316835260099091529020546801236efcbcbb34000011801590611d675750336000908152600860209081526040808320600101546001600160a01b0316835260099091529020546801236efcbcbb34000011155b15611eaa576001600160a01b0387163314801590611d9357506006546001600160a01b03888116911614155b8015611dbc57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b8015611de557506001600160a01b0387167391de8f260f05d0ab3c51911d8b43793d82b84d6614155b8015611e0e57506001600160a01b038716734b5d1ebfe85f399b728f655f77142459470549a614155b15611e99576001600160a01b0387811660009081526008602052604090205416611e9957336000908152600960205260409020546801236efcbcbb34000011611e99576001600160a01b038781166000818152600860205260408082208054336001600160a01b03199182168117835584529183205493909252600190910180549290931691161790555b611af033888486888b030303612705565b336000908152600860209081526040808320546001600160a01b0316835260099091529020546801236efcbcbb34000011801590611f185750336000908152600860209081526040808320600101546001600160a01b0316835260099091529020546801236efcbcbb340000115b15611be3576001600160a01b0387163314801590611f4457506006546001600160a01b03888116911614155b8015611f6d57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b8015611f9657506001600160a01b0387167391de8f260f05d0ab3c51911d8b43793d82b84d6614155b8015611fbf57506001600160a01b038716734b5d1ebfe85f399b728f655f77142459470549a614155b1561202b576001600160a01b038781166000908152600860205260409020541661202b57336000908152600960205260409020546801236efcbcbb3400001161202b576001600160a01b038716600090815260086020526040902080546001600160a01b031916331790555b611bbf33888486888b030303612705565b336000908152600860205260409020546001600160a01b03161580159061207c5750336000908152600860205260409020600101546001600160a01b0316155b80156120a057506001600160a01b0387811660009081526008602052604090205416155b156121fa57336000908152600860209081526040808320546001600160a01b0316835260099091529020546801236efcbcbb340000116115fd576001600160a01b038716331480159061210157506006546001600160a01b03888116911614155b801561212a57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b801561215357506001600160a01b0387167391de8f260f05d0ab3c51911d8b43793d82b84d6614155b801561217c57506001600160a01b038716734b5d1ebfe85f399b728f655f77142459470549a614155b1561202b57336000908152600960205260409020546801236efcbcbb3400001161202b576001600160a01b0380881660008181526008602052604080822080546001600160a01b0319908116339081178355845291832054939092526001909101805490911691909216179055611bbf33888486888b030303612705565b336000908152600860205260409020546001600160a01b03161580156122395750336000908152600860205260409020600101546001600160a01b0316155b801561225d57506001600160a01b0387811660009081526008602052604090205416155b1561235d576001600160a01b038716331480159061228957506006546001600160a01b03888116911614155b80156122b257506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b80156122db57506001600160a01b0387167391de8f260f05d0ab3c51911d8b43793d82b84d6614155b801561230457506001600160a01b038716734b5d1ebfe85f399b728f655f77142459470549a614155b156115fd57336000908152600960205260409020546801236efcbcbb340000116115fd576001600160a01b038716600090815260086020526040902080546001600160a01b0319163317905561160a3388838903612705565b6001600160a01b03878116600090815260086020526040902054166123c457336000908152600960205260409020546801236efcbcbb340000116123c4576001600160a01b038716600090815260086020526040902080546001600160a01b031916331790555b6123d13388838903612705565b6123db3382612821565b506001979650505050505050565b6001546001600160a01b031681565b6000546060906001600160a01b0316331461241257600080fd5b600080546040516001600160a01b039091169184156108fc02918591818181858888f1935050505015801561244b573d6000803e3d6000fd5b505060408051808201909152601f81527f45746865722077697468647261776e20746f206f776e65722077616c6c6574006020820152919050565b600a60209081526000928352604080842090915290825290205481565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600080546001600160a01b031633146124d357600080fd5b50600455600190565b600080546001600160a01b031633146124f457600080fd5b50600355600190565b6000546001600160a01b0316331461251457600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546060906001600160a01b0316331461255057600080fd5b6000546125689030906001600160a01b031684612705565b50506040805180820190915260208082527f546f6b656e732077697468647261776e20746f206f776e65722077616c6c65749082015290565b6000546001600160a01b031633146125b857600080fd5b604080516001600160a01b0384168152821515602082015281517fc3d26c130d120a4bb874de56c8b5fb727ad2cfc3551ca49cd42ef248e893b69a929181900390910190a16001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b60006127108083111561263a57600080fd5b600061265c82612650878763ffffffff61292316565b9063ffffffff61297c16565b95945050505050565b6000828211156126bc576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152600b602052604081205460ff16806110f55750506001600160a01b03166000908152600c602052604090205460ff16919050565b6001600160a01b038316600090815260096020526040902054811115612767576040805162461bcd60e51b81526020600482015260126024820152714e6f7420656e6f7567682062616c616e636560701b604482015290519081900360640190fd5b6001600160a01b038316600090815260096020526040902054612790908263ffffffff61266516565b6001600160a01b0380851660009081526009602052604080822093909355908416815220546127c5908263ffffffff6128c916565b6001600160a01b0380841660008181526009602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60006003546002541115610ac157600254612842908363ffffffff61266516565b6002556001600160a01b03831660009081526009602052604090205461286e908363ffffffff61266516565b6001600160a01b0384166000818152600960209081526040808320949094558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610ac1565b6000828201838110156110f5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261293257506000610ac1565b8282028284828161293f57fe5b04146110f55760405162461bcd60e51b81526004018080602001828103825260218152602001806129e76021913960400191505060405180910390fd5b60008082116129d2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816129dd57fe5b0494935050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776469766964656e6420636f6e7261637420616464726573732075706461746564207375636365737366756c6c79a265627a7a72315820c0b45f6329ce78796b39d1fefb0675c791d86a3ccc6d347e3808e3e9c4b6155564736f6c63430005110032ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x60806040526004361061022f5760003560e01c806379ba50971161012e578063a9059cbb116100ab578063eee3ea471161006f578063eee3ea47146108df578063efa17cc214610909578063f2fde38b14610933578063fbde8d7514610966578063ff12bbf4146109905761022f565b8063a9059cbb14610817578063d4ee1d9014610850578063d4fdbc5714610865578063dd62ed3e1461088f578063edc9af95146108ca5761022f565b806395d89b41116100f257806395d89b411461076457806398a7cc30146107795780639e17e21d1461078e578063a457c2d7146107a3578063a486309d146107dc5761022f565b806379ba5097146106e657806379db6346146106fb5780637b47ec1a146107105780638da5cb5b1461073a5780638fe6cae31461074f5761022f565b806322016104116101bc5780634815ea59116101805780634815ea59146104de57806356213104146104f3578063648ec7b91461052657806365216a411461057f57806370a08231146106b35761022f565b8063220161041461040557806323b872dd1461041a578063313ce5671461045d578063395093511461047257806343684b21146104ab5761022f565b80631649c60c116102035780631649c60c1461034457806316b627d11461037557806318160ddd146103a8578063205d5c4f146103bd57806321a9cf34146103d25761022f565b80622590021461023157806306fdde0314610258578063095ea7b3146102e25780630dfe2a831461032f575b005b34801561023d57600080fd5b506102466109cb565b60408051918252519081900360200190f35b34801561026457600080fd5b5061026d6109d1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a757818101518382015260200161028f565b50505050905090810190601f1680156102d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102ee57600080fd5b5061031b6004803603604081101561030557600080fd5b506001600160a01b038135169060200135610a02565b604080519115158252519081900360200190f35b34801561033b57600080fd5b50610246610ac7565b34801561035057600080fd5b50610359610acd565b604080516001600160a01b039092168252519081900360200190f35b34801561038157600080fd5b5061031b6004803603602081101561039857600080fd5b50356001600160a01b0316610ae5565b3480156103b457600080fd5b50610246610afa565b3480156103c957600080fd5b50610246610b00565b3480156103de57600080fd5b5061022f600480360360208110156103f557600080fd5b50356001600160a01b0316610b05565b34801561041157600080fd5b50610246610b3e565b34801561042657600080fd5b5061031b6004803603606081101561043d57600080fd5b506001600160a01b03813581169160208101359091169060400135610b44565b34801561046957600080fd5b506102466110fc565b34801561047e57600080fd5b5061031b6004803603604081101561049557600080fd5b506001600160a01b038135169060200135611101565b3480156104b757600080fd5b5061031b600480360360208110156104ce57600080fd5b50356001600160a01b031661114e565b3480156104ea57600080fd5b50610359611163565b3480156104ff57600080fd5b5061026d6004803603602081101561051657600080fd5b50356001600160a01b0316611172565b34801561053257600080fd5b506105596004803603602081101561054957600080fd5b50356001600160a01b03166111c5565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b34801561058b57600080fd5b5061031b600480360360408110156105a257600080fd5b8101906020810181356401000000008111156105bd57600080fd5b8201836020820111156105cf57600080fd5b803590602001918460208302840111640100000000831117156105f157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561064157600080fd5b82018360208201111561065357600080fd5b8035906020019184602083028401116401000000008311171561067557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506111eb945050505050565b3480156106bf57600080fd5b50610246600480360360208110156106d657600080fd5b50356001600160a01b03166112c3565b3480156106f257600080fd5b5061022f6112d5565b34801561070757600080fd5b5061024661135d565b34801561071c57600080fd5b5061022f6004803603602081101561073357600080fd5b5035611363565b34801561074657600080fd5b50610359611388565b34801561075b57600080fd5b50610246611397565b34801561077057600080fd5b5061026d6113a4565b34801561078557600080fd5b506103596113c4565b34801561079a57600080fd5b506103596113d3565b3480156107af57600080fd5b5061031b600480360360408110156107c657600080fd5b506001600160a01b0381351690602001356113eb565b3480156107e857600080fd5b5061022f600480360360408110156107ff57600080fd5b506001600160a01b0381351690602001351515611421565b34801561082357600080fd5b5061031b6004803603604081101561083a57600080fd5b506001600160a01b0381351690602001356114a8565b34801561085c57600080fd5b506103596123e9565b34801561087157600080fd5b5061026d6004803603602081101561088857600080fd5b50356123f8565b34801561089b57600080fd5b50610246600480360360408110156108b257600080fd5b506001600160a01b0381358116916020013516612486565b3480156108d657600080fd5b506103596124a3565b3480156108eb57600080fd5b5061031b6004803603602081101561090257600080fd5b50356124bb565b34801561091557600080fd5b5061031b6004803603602081101561092c57600080fd5b50356124dc565b34801561093f57600080fd5b5061022f6004803603602081101561095657600080fd5b50356001600160a01b03166124fd565b34801561097257600080fd5b5061026d6004803603602081101561098957600080fd5b5035612536565b34801561099c57600080fd5b5061022f600480360360408110156109b357600080fd5b506001600160a01b03813516906020013515156125a1565b60055481565b604051806040016040528060158152602001742232b1b2b73a3930b634bd32b2102134ba31b7b4b760591b81525081565b33600081815260096020526040812054909190831115610a5e576040805162461bcd60e51b81526020600482015260126024820152714e6f7420656e6f7567682062616c616e636560701b604482015290519081900360640190fd5b6001600160a01b038082166000818152600a6020908152604080832094891680845294825291829020879055815187815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a360019150505b92915050565b60045481565b734b5d1ebfe85f399b728f655f77142459470549a681565b600c6020526000908152604090205460ff1681565b60025481565b60c881565b6000546001600160a01b03163314610b1c57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b61012c81565b600060035460025411610b5c57600060048190556005555b6000610b6a83600454612628565b90506000610b7a8461012c612628565b90506000610b898560c8612628565b90506000610b9986600554612628565b6001600160a01b0389166000908152600a60209081526040808320338452909152902054909150610bd0908763ffffffff61266516565b6001600160a01b0389166000908152600a60209081526040808320338452909152902055610bfe88886126c2565b15610d2657876001600160a01b0316876001600160a01b031614158015610c3357506006546001600160a01b03888116911614155b8015610c5c57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b8015610c8557506001600160a01b0387167391de8f260f05d0ab3c51911d8b43793d82b84d6614155b8015610cae57506001600160a01b038716734b5d1ebfe85f399b728f655f77142459470549a614155b15610d01576001600160a01b0387811660009081526008602052604090205416610d01576001600160a01b03878116600090815260086020526040902080546001600160a01b031916918a169190911790555b610d0e8888838903612705565b610d188882612821565b5060019450505050506110f5565b6001600160a01b038816737a250d5630b4cf539739df2c5dacb4c659f2488d148015610d5f57506006546001600160a01b038881169116145b15610d7c57610d6f888888612705565b60019450505050506110f5565b6006546001600160a01b038981169116148015610db557506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d145b15610dc557610d6f888888612705565b6001600160a01b038881166000908152600860205260409020541615801590610e0a57506001600160a01b038881166000908152600860205260409020600101541615155b1561106c576001600160a01b0380891660009081526008602090815260408083205490931682526009905220546801236efcbcbb34000011801590610e8257506001600160a01b0380891660009081526008602090815260408083206001015490931682526009905220546801236efcbcbb34000011155b15610ef357610e9888888685878b030303612705565b6001600160a01b03808916600090815260086020526040902054610ebf918a911685612705565b6001600160a01b03808916600090815260086020526040902060010154610ee9918a911684612705565b610d188885612821565b6001600160a01b0380891660009081526008602090815260408083205490931682526009905220546801236efcbcbb34000011801590610f6557506001600160a01b0380891660009081526008602090815260408083206001015490931682526009905220546801236efcbcbb340000115b15610fae57610f7b88888685878b030303612705565b6001600160a01b03808916600090815260086020526040902054610fa2918a911685612705565b610d1888838601612821565b6001600160a01b0380891660009081526008602090815260408083205490931682526009905220546801236efcbcbb34000011801561102057506001600160a01b0380891660009081526008602090815260408083206001015490931682526009905220546801236efcbcbb34000011155b15610d015761103688888685878b030303612705565b6001600160a01b03808916600090815260086020526040902060010154611060918a911684612705565b610d1888848601612821565b6001600160a01b0388811660009081526008602052604090205416156110d4576001600160a01b0380891660009081526008602090815260408083205490931682526009905220546801236efcbcbb34000011610d0157610f7b88888685878b030303612705565b6110e18888838903612705565b6110eb8882612821565b5060019450505050505b9392505050565b601281565b336000908152600a602090815260408083206001600160a01b03861684529091528120548190611137908463ffffffff6128c916565b90506111438482610a02565b506001949350505050565b600b6020526000908152604090205460ff1681565b6007546001600160a01b031681565b6000546060906001600160a01b0316331461118c57600080fd5b600780546001600160a01b0319166001600160a01b0384161790556040805160608101909152602d808252612a08602083013992915050565b600860205260009081526040902080546001909101546001600160a01b03918216911682565b600080546001600160a01b0316331461120357600080fd5b8251609681111561121357600080fd5b60005b8181101561114357620186a05a101561122e57611143565b600054855161126e916001600160a01b03169087908490811061124d57fe5b602002602001015186848151811061126157fe5b6020026020010151612705565b336008600087848151811061127f57fe5b6020908102919091018101516001600160a01b0390811683529082019290925260400160002080546001600160a01b03191692909116919091179055600101611216565b60096020526000908152604090205481565b6001546001600160a01b031633146112ec57600080fd5b6001546000546040805142815290516001600160a01b039384169392909216917fa3191545eda8c68c7b5fbe5f5a200244fd06d2448d03d464621b04c48538361f9181900360200190a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60035481565b6000546001600160a01b0316331461137a57600080fd5b6113843382612821565b5050565b6000546001600160a01b031681565b6801236efcbcbb34000081565b604051806040016040528060048152602001634442544360e01b81525081565b6006546001600160a01b031681565b7391de8f260f05d0ab3c51911d8b43793d82b84d6681565b336000908152600a602090815260408083206001600160a01b03861684529091528120548190611137908463ffffffff61266516565b6000546001600160a01b0316331461143857600080fd5b604080516001600160a01b0384168152821515602082015281517f88cf9b943f64811022537ee9f0141770d85e612eae3a3a39241abe5ca9f11382929181900390910190a16001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000600354600254116114c057600060048190556005555b60006114ce8361012c612628565b905060006114dd8460c8612628565b905060006114ed85600454612628565b905060006114fd86600554612628565b905061150933886126c2565b15611622576001600160a01b038716331480159061153557506006546001600160a01b03888116911614155b801561155e57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b801561158757506001600160a01b0387167391de8f260f05d0ab3c51911d8b43793d82b84d6614155b80156115b057506001600160a01b038716734b5d1ebfe85f399b728f655f77142459470549a614155b156115fd576001600160a01b03878116600090815260086020526040902054166115fd576001600160a01b038716600090815260086020526040902080546001600160a01b031916331790555b61160a3388838903612705565b6116143382612821565b506001945050505050610ac1565b33737a250d5630b4cf539739df2c5dacb4c659f2488d14801561165257506006546001600160a01b038881169116145b1561166f57611662338888612705565b6001945050505050610ac1565b6006546001600160a01b0316331480156116a557506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d145b156116b557611662338888612705565b6006546001600160a01b0316331480156116ec57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b15611a00576001600160a01b03878116600090815260086020526040902054161580159061173657506001600160a01b038781166000908152600860205260409020600101541615155b15611998576001600160a01b0380881660009081526008602090815260408083205490931682526009905220546801236efcbcbb340000118015906117ae57506001600160a01b0380881660009081526008602090815260408083206001015490931682526009905220546801236efcbcbb34000011155b1561181f576117c433888486888b030303612705565b6001600160a01b038088166000908152600860205260409020546117eb9133911686612705565b6001600160a01b038088166000908152600860205260409020600101546118159133911685612705565b6116143383612821565b6001600160a01b0380881660009081526008602090815260408083205490931682526009905220546801236efcbcbb3400001180159061189157506001600160a01b0380881660009081526008602090815260408083206001015490931682526009905220546801236efcbcbb340000115b156118da576118a733888486888b030303612705565b6001600160a01b038088166000908152600860205260409020546118ce9133911686612705565b61161433848401612821565b6001600160a01b0380881660009081526008602090815260408083205490931682526009905220546801236efcbcbb34000011801561194c57506001600160a01b0380881660009081526008602090815260408083206001015490931682526009905220546801236efcbcbb34000011155b156115fd5761196233888486888b030303612705565b6001600160a01b0380881660009081526008602052604090206001015461198c9133911685612705565b61161433858401612821565b6001600160a01b038781166000908152600860205260409020541615611a00576001600160a01b0380881660009081526008602090815260408083205490931682526009905220546801236efcbcbb340000116115fd576118a733888486888b030303612705565b336000908152600860205260409020546001600160a01b031615801590611a415750336000908152600860205260409020600101546001600160a01b031615155b8015611a6657506001600160a01b038781166000908152600860205260409020541615155b15611c8e57336000908152600860209081526040808320546001600160a01b0316835260099091529020546801236efcbcbb34000011801590611ada5750336000908152600860209081526040808320600101546001600160a01b0316835260099091529020546801236efcbcbb34000011155b15611b3b57611af033888486888b030303612705565b33600081815260086020526040902054611b1491906001600160a01b031686612705565b3360008181526008602052604090206001015461181591906001600160a01b031685612705565b336000908152600860209081526040808320546001600160a01b0316835260099091529020546801236efcbcbb34000011801590611ba95750336000908152600860209081526040808320600101546001600160a01b0316835260099091529020546801236efcbcbb340000115b15611be357611bbf33888486888b030303612705565b336000818152600860205260409020546118ce91906001600160a01b031686612705565b336000908152600860209081526040808320546001600160a01b0316835260099091529020546801236efcbcbb340000118015611c515750336000908152600860209081526040808320600101546001600160a01b0316835260099091529020546801236efcbcbb34000011155b156115fd57611c6733888486888b030303612705565b3360008181526008602052604090206001015461198c91906001600160a01b031685612705565b336000908152600860205260409020546001600160a01b031615801590611ccf5750336000908152600860205260409020600101546001600160a01b031615155b8015611cf357506001600160a01b0387811660009081526008602052604090205416155b1561203c57336000908152600860209081526040808320546001600160a01b0316835260099091529020546801236efcbcbb34000011801590611d675750336000908152600860209081526040808320600101546001600160a01b0316835260099091529020546801236efcbcbb34000011155b15611eaa576001600160a01b0387163314801590611d9357506006546001600160a01b03888116911614155b8015611dbc57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b8015611de557506001600160a01b0387167391de8f260f05d0ab3c51911d8b43793d82b84d6614155b8015611e0e57506001600160a01b038716734b5d1ebfe85f399b728f655f77142459470549a614155b15611e99576001600160a01b0387811660009081526008602052604090205416611e9957336000908152600960205260409020546801236efcbcbb34000011611e99576001600160a01b038781166000818152600860205260408082208054336001600160a01b03199182168117835584529183205493909252600190910180549290931691161790555b611af033888486888b030303612705565b336000908152600860209081526040808320546001600160a01b0316835260099091529020546801236efcbcbb34000011801590611f185750336000908152600860209081526040808320600101546001600160a01b0316835260099091529020546801236efcbcbb340000115b15611be3576001600160a01b0387163314801590611f4457506006546001600160a01b03888116911614155b8015611f6d57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b8015611f9657506001600160a01b0387167391de8f260f05d0ab3c51911d8b43793d82b84d6614155b8015611fbf57506001600160a01b038716734b5d1ebfe85f399b728f655f77142459470549a614155b1561202b576001600160a01b038781166000908152600860205260409020541661202b57336000908152600960205260409020546801236efcbcbb3400001161202b576001600160a01b038716600090815260086020526040902080546001600160a01b031916331790555b611bbf33888486888b030303612705565b336000908152600860205260409020546001600160a01b03161580159061207c5750336000908152600860205260409020600101546001600160a01b0316155b80156120a057506001600160a01b0387811660009081526008602052604090205416155b156121fa57336000908152600860209081526040808320546001600160a01b0316835260099091529020546801236efcbcbb340000116115fd576001600160a01b038716331480159061210157506006546001600160a01b03888116911614155b801561212a57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b801561215357506001600160a01b0387167391de8f260f05d0ab3c51911d8b43793d82b84d6614155b801561217c57506001600160a01b038716734b5d1ebfe85f399b728f655f77142459470549a614155b1561202b57336000908152600960205260409020546801236efcbcbb3400001161202b576001600160a01b0380881660008181526008602052604080822080546001600160a01b0319908116339081178355845291832054939092526001909101805490911691909216179055611bbf33888486888b030303612705565b336000908152600860205260409020546001600160a01b03161580156122395750336000908152600860205260409020600101546001600160a01b0316155b801561225d57506001600160a01b0387811660009081526008602052604090205416155b1561235d576001600160a01b038716331480159061228957506006546001600160a01b03888116911614155b80156122b257506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d14155b80156122db57506001600160a01b0387167391de8f260f05d0ab3c51911d8b43793d82b84d6614155b801561230457506001600160a01b038716734b5d1ebfe85f399b728f655f77142459470549a614155b156115fd57336000908152600960205260409020546801236efcbcbb340000116115fd576001600160a01b038716600090815260086020526040902080546001600160a01b0319163317905561160a3388838903612705565b6001600160a01b03878116600090815260086020526040902054166123c457336000908152600960205260409020546801236efcbcbb340000116123c4576001600160a01b038716600090815260086020526040902080546001600160a01b031916331790555b6123d13388838903612705565b6123db3382612821565b506001979650505050505050565b6001546001600160a01b031681565b6000546060906001600160a01b0316331461241257600080fd5b600080546040516001600160a01b039091169184156108fc02918591818181858888f1935050505015801561244b573d6000803e3d6000fd5b505060408051808201909152601f81527f45746865722077697468647261776e20746f206f776e65722077616c6c6574006020820152919050565b600a60209081526000928352604080842090915290825290205481565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600080546001600160a01b031633146124d357600080fd5b50600455600190565b600080546001600160a01b031633146124f457600080fd5b50600355600190565b6000546001600160a01b0316331461251457600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546060906001600160a01b0316331461255057600080fd5b6000546125689030906001600160a01b031684612705565b50506040805180820190915260208082527f546f6b656e732077697468647261776e20746f206f776e65722077616c6c65749082015290565b6000546001600160a01b031633146125b857600080fd5b604080516001600160a01b0384168152821515602082015281517fc3d26c130d120a4bb874de56c8b5fb727ad2cfc3551ca49cd42ef248e893b69a929181900390910190a16001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b60006127108083111561263a57600080fd5b600061265c82612650878763ffffffff61292316565b9063ffffffff61297c16565b95945050505050565b6000828211156126bc576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152600b602052604081205460ff16806110f55750506001600160a01b03166000908152600c602052604090205460ff16919050565b6001600160a01b038316600090815260096020526040902054811115612767576040805162461bcd60e51b81526020600482015260126024820152714e6f7420656e6f7567682062616c616e636560701b604482015290519081900360640190fd5b6001600160a01b038316600090815260096020526040902054612790908263ffffffff61266516565b6001600160a01b0380851660009081526009602052604080822093909355908416815220546127c5908263ffffffff6128c916565b6001600160a01b0380841660008181526009602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60006003546002541115610ac157600254612842908363ffffffff61266516565b6002556001600160a01b03831660009081526009602052604090205461286e908363ffffffff61266516565b6001600160a01b0384166000818152600960209081526040808320949094558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610ac1565b6000828201838110156110f5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261293257506000610ac1565b8282028284828161293f57fe5b04146110f55760405162461bcd60e51b81526004018080602001828103825260218152602001806129e76021913960400191505060405180910390fd5b60008082116129d2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816129dd57fe5b0494935050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776469766964656e6420636f6e7261637420616464726573732075706461746564207375636365737366756c6c79a265627a7a72315820c0b45f6329ce78796b39d1fefb0675c791d86a3ccc6d347e3808e3e9c4b6155564736f6c63430005110032

Deployed Bytecode Sourcemap

4141:19145:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4606:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4606:38:0;;;:::i;:::-;;;;;;;;;;;;;;;;4219:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4219:51:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4219:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19992:402;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19992:402:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;19992:402:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4552:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4552:34:0;;;:::i;4982:91::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4982:91:0;;;:::i;:::-;;;;-1:-1:-1;;;;;4982:91:0;;;;;;;;;;;;;;5761:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5761:43:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5761:43:0;-1:-1:-1;;;;;5761:43:0;;:::i;4362:55::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4362:55:0;;;:::i;4731:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4731:45:0;;;:::i;22030:94::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22030:94:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22030:94:0;-1:-1:-1;;;;;22030:94:0;;:::i;4666:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4666:45:0;;;:::i;16536:3448::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16536:3448:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16536:3448:0;;;;;;;;;;;;;;;;;:::i;4320:35::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4320:35:0;;;:::i;20406:247::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20406:247:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20406:247:0;;;;;;;;:::i;5709:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5709:45:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5709:45:0;-1:-1:-1;;;;;5709:45:0;;:::i;5120:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5120:39:0;;;:::i;22531:231::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22531:231:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22531:231:0;-1:-1:-1;;;;;22531:231:0;;:::i;5247:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5247:39:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5247:39:0;-1:-1:-1;;;;;5247:39:0;;:::i;:::-;;;;-1:-1:-1;;;;;5247:39:0;;;;;;;;;;;;;;;;;;;;;;;;22770:513;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22770:513:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22770:513:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;22770:513:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22770:513:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;22770:513:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;22770:513:0;;;;;;;;-1:-1:-1;22770:513:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;22770:513:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22770:513:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;22770:513:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;22770:513:0;;-1:-1:-1;22770:513:0;;-1:-1:-1;;;;;22770:513:0:i;5295:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5295:45:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5295:45:0;-1:-1:-1;;;;;5295:45:0;;:::i;3923:209::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3923:209:0;;;:::i;4424:56::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4424:56:0;;;:::i;21926:96::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21926:96:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21926:96:0;;:::i;3428:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3428:28:0;;;:::i;4487:58::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4487:58:0;;;:::i;4277:36::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4277:36:0;;;:::i;5080:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5080:27:0;;;:::i;4883:92::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4883:92:0;;;:::i;20665:257::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20665:257:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20665:257:0;;;;;;;;:::i;6346:179::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6346:179:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6346:179:0;;;;;;;;;;:::i;7051:9477::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7051:9477:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7051:9477:0;;;;;;;;:::i;3463:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3463:31:0;;;:::i;22347:176::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22347:176:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22347:176:0;;:::i;5347:66::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5347:66:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5347:66:0;;;;;;;;;;:::i;4795:81::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4795:81:0;;;:::i;21208:153::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21208:153:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21208:153:0;;:::i;21373:185::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21373:185:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21373:185:0;;:::i;3799:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3799:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3799:116:0;-1:-1:-1;;;;;3799:116:0;;:::i;22132:205::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22132:205:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22132:205:0;;:::i;6533:185::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6533:185:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6533:185:0;;;;;;;;;;:::i;4606:38::-;;;;:::o;4219:51::-;;;;;;;;;;;;;;-1:-1:-1;;;4219:51:0;;;;:::o;19992:402::-;20109:10;20059:12;20223:15;;;:9;:15;;;;;;20059:12;;20109:10;20213:25;;;20205:56;;;;;-1:-1:-1;;;20205:56:0;;;;;;;;;;;;-1:-1:-1;;;20205:56:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;20282:15:0;;;;;;;:9;:15;;;;;;;;:25;;;;;;;;;;;;;:34;;;20332:32;;;;;;;;;;;;;;;;;20382:4;20375:11;;;19992:402;;;;;:::o;4552:34::-;;;;:::o;4982:91::-;5030:42;4982:91;:::o;5761:43::-;;;;;;;;;;;;;;;:::o;4362:55::-;;;;:::o;4731:45::-;4773:3;4731:45;:::o;22030:94::-;3763:5;;-1:-1:-1;;;;;3763:5:0;3749:10;:19;3741:28;;;;;;22097:12;:19;;-1:-1:-1;;;;;;22097:19:0;-1:-1:-1;;;;;22097:19:0;;;;;;;;;;22030:94::o;4666:45::-;4708:3;4666:45;:::o;16536:3448::-;16618:12;16663:14;;16648:11;;:29;16645:110;;16708:1;16693:12;:16;;;16724:15;:19;16645:110;16767:20;16790:40;16810:6;16817:12;;16790:19;:40::i;:::-;16767:63;;16841:17;16861:43;16881:6;4708:3;16861:19;:43::i;:::-;16841:63;;16915:17;16935:43;16955:6;4773:3;16935:19;:43::i;:::-;16915:63;;16989:23;17015:43;17035:6;17042:15;;17015:19;:43::i;:::-;-1:-1:-1;;;;;17110:16:0;;;;;;:9;:16;;;;;;;;17127:10;17110:28;;;;;;;;16989:69;;-1:-1:-1;17110:40:0;;17143:6;17110:40;:32;:40;:::i;:::-;-1:-1:-1;;;;;17079:16:0;;;;;;:9;:16;;;;;;;;17096:10;17079:28;;;;;;;:71;17166:26;17089:5;17188:3;17166:14;:26::i;:::-;17163:438;;;17220:5;-1:-1:-1;;;;;17213:12:0;:3;-1:-1:-1;;;;;17213:12:0;;;:35;;;;-1:-1:-1;17236:12:0;;-1:-1:-1;;;;;17229:19:0;;;17236:12;;17229:19;;17213:35;:49;;;;-1:-1:-1;;;;;;17252:10:0;;4833:42;17252:10;;17213:49;:74;;;;-1:-1:-1;;;;;;17266:21:0;;4932:42;17266:21;;17213:74;:98;;;;-1:-1:-1;;;;;;17291:20:0;;5030:42;17291:20;;17213:98;17208:250;;;-1:-1:-1;;;;;17336:11:0;;;17368:1;17336:11;;;:6;:11;;;;;:20;;17331:112;;-1:-1:-1;;;;;17395:11:0;;;;;;;:6;:11;;;;;:28;;-1:-1:-1;;;;;;17395:28:0;;;;;;;;;;17331:112;17472:47;17482:5;17489:3;17503:15;17494:6;:24;17472:9;:47::i;:::-;17534:29;17540:5;17547:15;17534:5;:29::i;:::-;;17585:4;17578:11;;;;;;;;17163:438;-1:-1:-1;;;;;17616:12:0;;4833:42;17616:12;:35;;;;-1:-1:-1;17639:12:0;;-1:-1:-1;;;;;17632:19:0;;;17639:12;;17632:19;17616:35;17613:249;;;17667:29;17677:5;17684:3;17689:6;17667:9;:29::i;:::-;17718:4;17711:11;;;;;;;;17613:249;17753:12;;-1:-1:-1;;;;;17744:21:0;;;17753:12;;17744:21;:35;;;;-1:-1:-1;;;;;;17769:10:0;;4833:42;17769:10;17744:35;17740:122;;;17795:29;17805:5;17812:3;17817:6;17795:9;:29::i;17740:122::-;-1:-1:-1;;;;;17879:13:0;;;17913:1;17879:13;;;:6;:13;;;;;:22;;:36;;;;:76;;-1:-1:-1;;;;;;17919:13:0;;;17953:1;17919:13;;;:6;:13;;;;;:22;;;;:36;;17879:76;17875:1970;;;-1:-1:-1;;;;;17985:13:0;;;17975:33;17985:13;;;:6;:13;;;;;;;;:22;;;;17975:33;;:9;:33;;;;4523:22;-1:-1:-1;17975:46:0;;;:96;;-1:-1:-1;;;;;;18035:13:0;;;18025:33;18035:13;;;:6;:13;;;;;;;;:22;;;;;;18025:33;;:9;:33;;;;4523:22;-1:-1:-1;18025:46:0;17975:96;17971:1313;;;18091:68;18101:5;18108:3;18146:12;18134:9;18122;18113:6;:18;:30;:45;18091:9;:68::i;:::-;-1:-1:-1;;;;;18195:13:0;;;;;;;:6;:13;;;;;:22;18178:50;;18188:5;;18195:22;18218:9;18178;:50::i;:::-;-1:-1:-1;;;;;18264:13:0;;;;;;;:6;:13;;;;;:22;;;18247:50;;18257:5;;18264:22;18287:9;18247;:50::i;:::-;18316:26;18322:5;18329:12;18316:5;:26::i;17971:1313::-;-1:-1:-1;;;;;18408:13:0;;;18398:33;18408:13;;;:6;:13;;;;;;;;:22;;;;18398:33;;:9;:33;;;;4523:22;-1:-1:-1;18398:46:0;;;:95;;-1:-1:-1;;;;;;18458:13:0;;;18448:33;18458:13;;;:6;:13;;;;;;;;:22;;;;;;18448:33;;:9;:33;;;;4523:22;-1:-1:-1;18398:95:0;18394:890;;;18513:68;18523:5;18530:3;18568:12;18556:9;18544;18535:6;:18;:30;:45;18513:9;:68::i;:::-;-1:-1:-1;;;;;18617:13:0;;;;;;;:6;:13;;;;;:22;18600:50;;18610:5;;18617:22;18640:9;18600;:50::i;:::-;18669:38;18675:5;18697:9;18682:12;:24;18669:5;:38::i;18394:890::-;-1:-1:-1;;;;;18773:13:0;;;18763:33;18773:13;;;:6;:13;;;;;;;;:22;;;;18763:33;;:9;:33;;;;4523:22;-1:-1:-1;18763:95:0;;;;-1:-1:-1;;;;;;18822:13:0;;;18812:33;18822:13;;;:6;:13;;;;;;;;:22;;;;;;18812:33;;:9;:33;;;;4523:22;-1:-1:-1;18812:46:0;18763:95;18759:525;;;18878:68;18888:5;18895:3;18933:12;18921:9;18909;18900:6;:18;:30;:45;18878:9;:68::i;:::-;-1:-1:-1;;;;;18982:13:0;;;;;;;:6;:13;;;;;:22;;;18965:50;;18975:5;;18982:22;19005:9;18965;:50::i;:::-;19034:38;19040:5;19062:9;19047:12;:24;19034:5;:38::i;17875:1970::-;-1:-1:-1;;;;;19305:13:0;;;19339:1;19305:13;;;:6;:13;;;;;:22;;:36;19301:544;;-1:-1:-1;;;;;19371:13:0;;;19361:33;19371:13;;;:6;:13;;;;;;;;:22;;;;19361:33;;:9;:33;;;;4523:22;-1:-1:-1;19357:477:0;;19427:69;19437:5;19444:3;19482:12;19470:9;19458;19449:6;:18;:30;:45;19427:9;:69::i;19357:477::-;19865:47;19875:5;19882:3;19896:15;19887:6;:24;19865:9;:47::i;:::-;19923:29;19929:5;19936:15;19923:5;:29::i;:::-;;19970:4;19963:11;;;;;;16536:3448;;;;;;:::o;4320:35::-;4353:2;4320:35;:::o;20406:247::-;20539:10;20486:4;20529:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;20529:30:0;;;;;;;;;;20486:4;;20529:46;;20564:10;20529:46;:34;:46;:::i;:::-;20509:66;;20586:27;20594:7;20603:9;20586:7;:27::i;:::-;-1:-1:-1;20641:4:0;;20406:247;-1:-1:-1;;;;20406:247:0:o;5709:45::-;;;;;;;;;;;;;;;:::o;5120:39::-;;;-1:-1:-1;;;;;5120:39:0;;:::o;22531:231::-;3763:5;;22621:13;;-1:-1:-1;;;;;3763:5:0;3749:10;:19;3741:28;;;;;;22646:24;:43;;-1:-1:-1;;;;;;22646:43:0;-1:-1:-1;;;;;22646:43:0;;;;;22700:54;;;;;;;;;;;;;;;;;;;22531:231;-1:-1:-1;;22531:231:0:o;5247:39::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5247:39:0;;;;;;:::o;22770:513::-;22868:4;3763:5;;-1:-1:-1;;;;;3763:5:0;3749:10;:19;3741:28;;;;;;22908:17;;22962:3;22944:21;;;22936:30;;;;;;22981:6;22977:277;22997:14;22993:1;:18;22977:277;;;23058:6;23046:9;:18;23042:77;;;23098:5;;23042:77;23145:5;;23152:13;;23135:47;;-1:-1:-1;;;;;23145:5:0;;23152:10;;23163:1;;23152:13;;;;;;;;;;;;23167:11;23179:1;23167:14;;;;;;;;;;;;;;23135:9;:47::i;:::-;23232:10;23199:6;:21;23206:10;23217:1;23206:13;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23199:21:0;;;;;;;;;;;;;;-1:-1:-1;23199:21:0;:43;;-1:-1:-1;;;;;;23199:43:0;;;;;;;;;;;-1:-1:-1;23013:3:0;22977:277;;5295:45;;;;;;;;;;;;;:::o;3923:209::-;3996:8;;-1:-1:-1;;;;;3996:8:0;3982:10;:22;3974:31;;;;;;4056:8;;;4049:5;4021:44;;;4044:3;4021:44;;;;-1:-1:-1;;;;;4056:8:0;;;;4049:5;;;;;4021:44;;;;;;;;;4084:8;;;;4076:16;;-1:-1:-1;;;;;;4076:16:0;;;-1:-1:-1;;;;;4084:8:0;;4076:16;;;;4103:21;;;3923:209::o;4424:56::-;;;;:::o;21926:96::-;3763:5;;-1:-1:-1;;;;;3763:5:0;3749:10;:19;3741:28;;;;;;21989:25;21995:10;22007:6;21989:5;:25::i;:::-;;21926:96;:::o;3428:28::-;;;-1:-1:-1;;;;;3428:28:0;;:::o;4487:58::-;4523:22;4487:58;:::o;4277:36::-;;;;;;;;;;;;;;-1:-1:-1;;;4277:36:0;;;;:::o;5080:27::-;;;-1:-1:-1;;;;;5080:27:0;;:::o;4883:92::-;4932:42;4883:92;:::o;20665:257::-;20803:10;20750:4;20793:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;20793:30:0;;;;;;;;;;20750:4;;20793:51;;20828:15;20793:51;:34;:51;:::i;6346:179::-;3763:5;;-1:-1:-1;;;;;3763:5:0;3749:10;:19;3741:28;;;;;;6441:32;;;-1:-1:-1;;;;;6441:32:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6484:18:0;;;;;;;;:11;:18;;;;;:33;;-1:-1:-1;;6484:33:0;;;;;;;;;;6346:179::o;7051:9477::-;7114:12;7159:14;;7144:11;;:29;7141:110;;7204:1;7189:12;:16;;;7220:15;:19;7141:110;7263:17;7283:43;7303:6;4708:3;7283:19;:43::i;:::-;7263:63;;7337:17;7357:43;7377:6;4773:3;7357:19;:43::i;:::-;7337:63;;7411:20;7434:40;7454:6;7461:12;;7434:19;:40::i;:::-;7411:63;;7485:23;7511:43;7531:6;7538:15;;7511:19;:43::i;:::-;7485:69;;7570:31;7585:10;7597:3;7570:14;:31::i;:::-;7567:460;;;-1:-1:-1;;;;;7622:17:0;;7629:10;7622:17;;;;:40;;-1:-1:-1;7650:12:0;;-1:-1:-1;;;;;7643:19:0;;;7650:12;;7643:19;;7622:40;:54;;;;-1:-1:-1;;;;;;7666:10:0;;4833:42;7666:10;;7622:54;:79;;;;-1:-1:-1;;;;;;7680:21:0;;4932:42;7680:21;;7622:79;:103;;;;-1:-1:-1;;;;;;7705:20:0;;5030:42;7705:20;;7622:103;7617:257;;;-1:-1:-1;;;;;7748:11:0;;;7780:1;7748:11;;;:6;:11;;;;;:20;;7745:114;;-1:-1:-1;;;;;7806:11:0;;;;;;:6;:11;;;;;:33;;-1:-1:-1;;;;;;7806:33:0;7829:10;7806:33;;;7745:114;7888:52;7898:10;7910:3;7924:15;7915:6;:24;7888:9;:52::i;:::-;7955:34;7961:10;7973:15;7955:5;:34::i;:::-;;8011:4;8004:11;;;;;;;;7567:460;8042:10;4833:42;8042:17;:40;;;;-1:-1:-1;8070:12:0;;-1:-1:-1;;;;;8063:19:0;;;8070:12;;8063:19;8042:40;8039:269;;;8098:34;8108:10;8120:3;8125:6;8098:9;:34::i;:::-;8154:4;8147:11;;;;;;;;8039:269;8194:12;;-1:-1:-1;;;;;8194:12:0;8180:10;:26;:40;;;;-1:-1:-1;;;;;;8210:10:0;;4833:42;8210:10;8180:40;8176:132;;;8236:34;8246:10;8258:3;8263:6;8236:9;:34::i;8176:132::-;8337:12;;-1:-1:-1;;;;;8337:12:0;8323:10;:26;:41;;;;-1:-1:-1;;;;;;8354:10:0;;4833:42;8354:10;;8323:41;8320:2236;;;-1:-1:-1;;;;;8384:11:0;;;8416:1;8384:11;;;:6;:11;;;;;:20;;:34;;;;:72;;-1:-1:-1;;;;;;8422:11:0;;;8454:1;8422:11;;;:6;:11;;;;;:20;;;;:34;;8384:72;8380:2157;;;-1:-1:-1;;;;;8490:11:0;;;8480:31;8490:11;;;:6;:11;;;;;;;;:20;;;;8480:31;;:9;:31;;;;4523:22;-1:-1:-1;8480:44:0;;;:92;;-1:-1:-1;;;;;;8538:11:0;;;8528:31;8538:11;;;:6;:11;;;;;;;;:20;;;;;;8528:31;;:9;:31;;;;4523:22;-1:-1:-1;8528:44:0;8480:92;8476:1433;;;8596:73;8606:10;8618:3;8656:12;8644:9;8632;8623:6;:18;:30;:45;8596:9;:73::i;:::-;-1:-1:-1;;;;;8714:11:0;;;;;;;:6;:11;;;;;:20;8692:53;;8702:10;;8714:20;8735:9;8692;:53::i;:::-;-1:-1:-1;;;;;8790:11:0;;;;;;;:6;:11;;;;;:20;;;8768:53;;8778:10;;8790:20;8811:9;8768;:53::i;:::-;8844:31;8850:10;8862:12;8844:5;:31::i;8476:1433::-;-1:-1:-1;;;;;8949:11:0;;;8939:31;8949:11;;;:6;:11;;;;;;;;:20;;;;8939:31;;:9;:31;;;;4523:22;-1:-1:-1;8939:44:0;;;:91;;-1:-1:-1;;;;;;8997:11:0;;;8987:31;8997:11;;;:6;:11;;;;;;;;:20;;;;;;8987:31;;:9;:31;;;;4523:22;-1:-1:-1;8939:91:0;8935:974;;;9054:73;9064:10;9076:3;9114:12;9102:9;9090;9081:6;:18;:30;:45;9054:9;:73::i;:::-;-1:-1:-1;;;;;9172:11:0;;;;;;;:6;:11;;;;;:20;9150:53;;9160:10;;9172:20;9193:9;9150;:53::i;:::-;9226:43;9232:10;9259:9;9244:12;:24;9226:5;:43::i;8935:974::-;-1:-1:-1;;;;;9343:11:0;;;9333:31;9343:11;;;:6;:11;;;;;;;;:20;;;;9333:31;;:9;:31;;;;4523:22;-1:-1:-1;9333:91:0;;;;-1:-1:-1;;;;;;9390:11:0;;;9380:31;9390:11;;;:6;:11;;;;;;;;:20;;;;;;9380:31;;:9;:31;;;;4523:22;-1:-1:-1;9380:44:0;9333:91;9329:580;;;9448:73;9458:10;9470:3;9508:12;9496:9;9484;9475:6;:18;:30;:45;9448:9;:73::i;:::-;-1:-1:-1;;;;;9566:11:0;;;;;;;:6;:11;;;;;:20;;;9544:53;;9554:10;;9566:20;9587:9;9544;:53::i;:::-;9620:43;9626:10;9653:9;9638:12;:24;9620:5;:43::i;8380:2157::-;-1:-1:-1;;;;;9934:11:0;;;9966:1;9934:11;;;:6;:11;;;;;:20;;:34;9930:607;;-1:-1:-1;;;;;10002:11:0;;;9992:31;10002:11;;;:6;:11;;;;;;;;:20;;;;9992:31;;:9;:31;;;;4523:22;-1:-1:-1;9988:534:0;;10060:74;10070:10;10082:3;10120:12;10108:9;10096;10087:6;:18;:30;:45;10060:9;:74::i;9988:534::-;10579:10;10611:1;10572:18;;;:6;:18;;;;;:27;-1:-1:-1;;;;;10572:27:0;:41;;;;:86;;-1:-1:-1;10624:10:0;10656:1;10617:18;;;:6;:18;;;;;:27;;;-1:-1:-1;;;;;10617:27:0;:41;;10572:86;:124;;;;-1:-1:-1;;;;;;10662:11:0;;;10694:1;10662:11;;;:6;:11;;;;;:20;;:34;;10572:124;10568:5641;;;10733:10;10716:38;10726:18;;;:6;:18;;;;;;;;:27;-1:-1:-1;;;;;10726:27:0;10716:38;;:9;:38;;;;;;4523:22;-1:-1:-1;10716:51:0;;;:106;;-1:-1:-1;10788:10:0;10771:38;10781:18;;;:6;:18;;;;;;;;:27;;;-1:-1:-1;;;;;10781:27:0;10771:38;;:9;:38;;;;;;4523:22;-1:-1:-1;10771:51:0;10716:106;10712:1423;;;10842:73;10852:10;10864:3;10902:12;10890:9;10878;10869:6;:18;:30;:45;10842:9;:73::i;:::-;10944:10;10956:18;;;;:6;:18;;;;;:27;10934:60;;10944:10;-1:-1:-1;;;;;10956:27:0;10984:9;10934;:60::i;:::-;11023:10;11035:18;;;;:6;:18;;;;;:27;;;11013:60;;11023:10;-1:-1:-1;;;;;11035:27:0;11063:9;11013;:60::i;10712:1423::-;11196:10;11179:38;11189:18;;;:6;:18;;;;;;;;:27;-1:-1:-1;;;;;11189:27:0;11179:38;;:9;:38;;;;;;4523:22;-1:-1:-1;11179:51:0;;;:105;;-1:-1:-1;11251:10:0;11234:38;11244:18;;;:6;:18;;;;;;;;:27;;;-1:-1:-1;;;;;11244:27:0;11234:38;;:9;:38;;;;;;4523:22;-1:-1:-1;11179:105:0;11175:960;;;11304:73;11314:10;11326:3;11364:12;11352:9;11340;11331:6;:18;:30;:45;11304:9;:73::i;:::-;11406:10;11418:18;;;;:6;:18;;;;;:27;11396:60;;11406:10;-1:-1:-1;;;;;11418:27:0;11446:9;11396;:60::i;11175:960::-;11591:10;11574:38;11584:18;;;:6;:18;;;;;;;;:27;-1:-1:-1;;;;;11584:27:0;11574:38;;:9;:38;;;;;;4523:22;-1:-1:-1;11574:105:0;;;;-1:-1:-1;11645:10:0;11628:38;11638:18;;;:6;:18;;;;;;;;:27;;;-1:-1:-1;;;;;11638:27:0;11628:38;;:9;:38;;;;;;4523:22;-1:-1:-1;11628:51:0;11574:105;11570:565;;;11699:73;11709:10;11721:3;11759:12;11747:9;11735;11726:6;:18;:30;:45;11699:9;:73::i;:::-;11801:10;11813:18;;;;:6;:18;;;;;:27;;;11791:60;;11801:10;-1:-1:-1;;;;;11813:27:0;11841:9;11791;:60::i;10568:5641::-;12163:10;12195:1;12156:18;;;:6;:18;;;;;:27;-1:-1:-1;;;;;12156:27:0;:41;;;;:86;;-1:-1:-1;12208:10:0;12240:1;12201:18;;;:6;:18;;;;;:27;;;-1:-1:-1;;;;;12201:27:0;:41;;12156:86;:124;;;;-1:-1:-1;;;;;;12246:11:0;;;12278:1;12246:11;;;:6;:11;;;;;:20;;:34;12156:124;12152:4057;;;12317:10;12300:38;12310:18;;;:6;:18;;;;;;;;:27;-1:-1:-1;;;;;12310:27:0;12300:38;;:9;:38;;;;;;4523:22;-1:-1:-1;12300:51:0;;;:106;;-1:-1:-1;12372:10:0;12355:38;12365:18;;;:6;:18;;;;;;;;:27;;;-1:-1:-1;;;;;12365:27:0;12355:38;;:9;:38;;;;;;4523:22;-1:-1:-1;12355:51:0;12300:106;12296:2275;;;-1:-1:-1;;;;;12433:17:0;;12440:10;12433:17;;;;:40;;-1:-1:-1;12461:12:0;;-1:-1:-1;;;;;12454:19:0;;;12461:12;;12454:19;;12433:40;:54;;;;-1:-1:-1;;;;;;12477:10:0;;4833:42;12477:10;;12433:54;:79;;;;-1:-1:-1;;;;;;12491:21:0;;4932:42;12491:21;;12433:79;:103;;;;-1:-1:-1;;;;;;12516:20:0;;5030:42;12516:20;;12433:103;12428:442;;;-1:-1:-1;;;;;12563:11:0;;;12595:1;12563:11;;;:6;:11;;;;;:20;;12560:291;;12638:10;12628:21;;;;:9;:21;;;;;;4523:22;-1:-1:-1;12625:203:0;;-1:-1:-1;;;;;12690:11:0;;;;;;;:6;:11;;;;;;:33;;12713:10;-1:-1:-1;;;;;;12690:33:0;;;;;;;12773:18;;;;;:27;12750:11;;;;-1:-1:-1;12750:20:0;;;:50;;12773:27;;;;12750:50;;;;;12625:203;12890:73;12900:10;12912:3;12950:12;12938:9;12926;12917:6;:18;:30;:45;12890:9;:73::i;12296:2275::-;13244:10;13227:38;13237:18;;;:6;:18;;;;;;;;:27;-1:-1:-1;;;;;13237:27:0;13227:38;;:9;:38;;;;;;4523:22;-1:-1:-1;13227:51:0;;;:105;;-1:-1:-1;13299:10:0;13282:38;13292:18;;;:6;:18;;;;;;;;:27;;;-1:-1:-1;;;;;13292:27:0;13282:38;;:9;:38;;;;;;4523:22;-1:-1:-1;13227:105:0;13223:1348;;;-1:-1:-1;;;;;13359:17:0;;13366:10;13359:17;;;;:40;;-1:-1:-1;13387:12:0;;-1:-1:-1;;;;;13380:19:0;;;13387:12;;13380:19;;13359:40;:54;;;;-1:-1:-1;;;;;;13403:10:0;;4833:42;13403:10;;13359:54;:79;;;;-1:-1:-1;;;;;;13417:21:0;;4932:42;13417:21;;13359:79;:103;;;;-1:-1:-1;;;;;;13442:20:0;;5030:42;13442:20;;13359:103;13354:365;;;-1:-1:-1;;;;;13489:11:0;;;13521:1;13489:11;;;:6;:11;;;;;:20;;13486:214;;13564:10;13554:21;;;;:9;:21;;;;;;4523:22;-1:-1:-1;13551:126:0;;-1:-1:-1;;;;;13616:11:0;;;;;;:6;:11;;;;;:33;;-1:-1:-1;;;;;;13616:33:0;13639:10;13616:33;;;13551:126;13739:73;13749:10;13761:3;13799:12;13787:9;13775;13766:6;:18;:30;:45;13739:9;:73::i;12152:4057::-;14599:10;14631:1;14592:18;;;:6;:18;;;;;:27;-1:-1:-1;;;;;14592:27:0;:41;;;;:86;;-1:-1:-1;14644:10:0;14676:1;14637:18;;;:6;:18;;;;;:27;;;-1:-1:-1;;;;;14637:27:0;:41;14592:86;:124;;;;-1:-1:-1;;;;;;14682:11:0;;;14714:1;14682:11;;;:6;:11;;;;;:20;;:34;14592:124;14588:1621;;;14753:10;14736:38;14746:18;;;:6;:18;;;;;;;;:27;-1:-1:-1;;;;;14746:27:0;14736:38;;:9;:38;;;;;;4523:22;-1:-1:-1;14732:874:0;;-1:-1:-1;;;;;14814:17:0;;14821:10;14814:17;;;;:40;;-1:-1:-1;14842:12:0;;-1:-1:-1;;;;;14835:19:0;;;14842:12;;14835:19;;14814:40;:54;;;;-1:-1:-1;;;;;;14858:10:0;;4833:42;14858:10;;14814:54;:79;;;;-1:-1:-1;;;;;;14872:21:0;;4932:42;14872:21;;14814:79;:103;;;;-1:-1:-1;;;;;;14897:20:0;;5030:42;14897:20;;14814:103;14809:342;;;14954:10;14944:21;;;;:9;:21;;;;;;4523:22;-1:-1:-1;14941:191:0;;-1:-1:-1;;;;;15002:11:0;;;;;;;:6;:11;;;;;;:33;;-1:-1:-1;;;;;;15002:33:0;;;15025:10;15002:33;;;;;15081:18;;;;;:27;15058:11;;;;15002:33;15058:20;;;:50;;;;;15081:27;;;;15058:50;;;15171:73;15181:10;15193:3;15231:12;15219:9;15207;15198:6;:18;:30;:45;15171:9;:73::i;14588:1621::-;15634:10;15666:1;15627:18;;;:6;:18;;;;;:27;-1:-1:-1;;;;;15627:27:0;:41;:86;;;;-1:-1:-1;15679:10:0;15711:1;15672:18;;;:6;:18;;;;;:27;;;-1:-1:-1;;;;;15672:27:0;:41;15627:86;:124;;;;-1:-1:-1;;;;;;15717:11:0;;;15749:1;15717:11;;;:6;:11;;;;;:20;;:34;15627:124;15623:586;;;-1:-1:-1;;;;;15778:17:0;;15785:10;15778:17;;;;:40;;-1:-1:-1;15806:12:0;;-1:-1:-1;;;;;15799:19:0;;;15806:12;;15799:19;;15778:40;:54;;;;-1:-1:-1;;;;;;15822:10:0;;4833:42;15822:10;;15778:54;:79;;;;-1:-1:-1;;;;;;15836:21:0;;4932:42;15836:21;;15778:79;:103;;;;-1:-1:-1;;;;;;15861:20:0;;5030:42;15861:20;;15778:103;15773:269;;;15918:10;15908:21;;;;:9;:21;;;;;;4523:22;-1:-1:-1;15905:118:0;;-1:-1:-1;;;;;15966:11:0;;;;;;:6;:11;;;;;:33;;-1:-1:-1;;;;;;15966:33:0;15989:10;15966:33;;;16062:52;16072:10;16084:3;16098:15;16089:6;:24;16062:9;:52::i;15623:586::-;-1:-1:-1;;;;;16224:11:0;;;16256:1;16224:11;;;:6;:11;;;;;:20;;16221:166;;16287:10;16277:21;;;;:9;:21;;;;;;4523:22;-1:-1:-1;16274:102:0;;-1:-1:-1;;;;;16327:11:0;;;;;;:6;:11;;;;;:33;;-1:-1:-1;;;;;;16327:33:0;16350:10;16327:33;;;16274:102;16399:52;16409:10;16421:3;16435:15;16426:6;:24;16399:9;:52::i;:::-;16462:34;16468:10;16480:15;16462:5;:34::i;:::-;-1:-1:-1;16514:4:0;;7051:9477;-1:-1:-1;;;;;;;7051:9477:0:o;3463:31::-;;;-1:-1:-1;;;;;3463:31:0;;:::o;22347:176::-;3763:5;;22417:13;;-1:-1:-1;;;;;3763:5:0;3749:10;:19;3741:28;;;;;;22442:5;;;:22;;-1:-1:-1;;;;;22442:5:0;;;;:22;;;;;22457:6;;22442:22;:5;:22;22457:6;22442:5;:22;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;22475:40:0;;;;;;;;;;;;;;;;;22347:176;;;:::o;5347:66::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;4795:81::-;4833:42;4795:81;:::o;21208:153::-;21275:12;3763:5;;-1:-1:-1;;;;;3763:5:0;3749:10;:19;3741:28;;;;;;-1:-1:-1;21305:12:0;:26;21349:4;;21208:153::o;21373:185::-;21460:12;3763:5;;-1:-1:-1;;;;;3763:5:0;3749:10;:19;3741:28;;;;;;-1:-1:-1;21490:14:0;:38;21546:4;;21373:185::o;3799:116::-;3763:5;;-1:-1:-1;;;;;3763:5:0;3749:10;:19;3741:28;;;;;;3887:8;:20;;-1:-1:-1;;;;;;3887:20:0;-1:-1:-1;;;;;3887:20:0;;;;;;;;;;3799:116::o;22132:205::-;3763:5;;22208:13;;-1:-1:-1;;;;;3763:5:0;3749:10;:19;3741:28;;;;;;22258:5;;22233:44;;22251:4;;-1:-1:-1;;;;;22258:5:0;22265:11;22233:9;:44::i;:::-;-1:-1:-1;;22288:41:0;;;;;;;;;;;;;;;;;;;22132:205::o;6533:185::-;3763:5;;-1:-1:-1;;;;;3763:5:0;3749:10;:19;3741:28;;;;;;6630:34;;;-1:-1:-1;;;;;6630:34:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6675:20:0;;;;;;;;:13;:20;;;;;:35;;-1:-1:-1;;6675:35:0;;;;;;;;;;6533:185::o;20930:264::-;21021:7;21064:5;21088:19;;;;21080:28;;;;;;21119:9;21131:36;21160:6;21131:24;:9;21145;21131:24;:13;:24;:::i;:::-;:28;:36;:28;:36;:::i;:::-;21119:48;20930:264;-1:-1:-1;;;;;20930:264:0:o;2501:184::-;2559:7;2592:1;2587;:6;;2579:49;;;;;-1:-1:-1;;;2579:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2651:5:0;;;2501:184::o;6193:145::-;-1:-1:-1;;;;;6292:20:0;;6268:4;6292:20;;;:13;:20;;;;;;;;;:38;;-1:-1:-1;;;;;;;6314:16:0;;;;;:11;:16;;;;;;;;;6285:45;-1:-1:-1;6193:145:0:o;6726:317::-;-1:-1:-1;;;;;6824:16:0;;;;;;:9;:16;;;;;;6814:26;;;6806:57;;;;;-1:-1:-1;;;6806:57:0;;;;;;;;;;;;-1:-1:-1;;;6806:57:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6895:16:0;;;;;;:9;:16;;;;;;:28;;6916:6;6895:28;:20;:28;:::i;:::-;-1:-1:-1;;;;;6876:16:0;;;;;;;:9;:16;;;;;;:47;;;;6955:14;;;;;;;:26;;6974:6;6955:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;6938:14:0;;;;;;;:9;:14;;;;;;;;;:43;;;;7007:28;;;;;;;6938:14;;7007:28;;;;;;;;;;;;;6726:317;;;:::o;21582:336::-;21647:4;21681:14;;21667:11;;:28;21664:247;;;21733:11;;:23;;21749:6;21733:23;:15;:23;:::i;:::-;21719:11;:37;-1:-1:-1;;;;;21790:18:0;;;;;;:9;:18;;;;;;:30;;21813:6;21790:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;21769:18:0;;;;;;:9;:18;;;;;;;;:51;;;;21838:37;;;;;;;21769:18;;21838:37;;;;;;;;;;;-1:-1:-1;21895:4:0;21888:11;;2312:181;2370:7;2402:5;;;2426:6;;;;2418:46;;;;;-1:-1:-1;;;2418:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2693:250;2751:7;2775:6;2771:47;;-1:-1:-1;2805:1:0;2798:8;;2771:47;2842:5;;;2846:1;2842;:5;:1;2866:5;;;;;:10;2858:56;;;;-1:-1:-1;;;2858:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2951:177;3009:7;3041:1;3037;:5;3029:44;;;;;-1:-1:-1;;;3029:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3084:9;3100:1;3096;:5;;;;;;;2951:177;-1:-1:-1;;;;2951:177:0:o

Swarm Source

bzzr://c0b45f6329ce78796b39d1fefb0675c791d86a3ccc6d347e3808e3e9c4b61555
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.