ETH Price: $3,245.15 (-3.12%)

Token

CryptoMoonPepe (CMP)
 

Overview

Max Total Supply

1,000,000,000,000 CMP

Holders

35

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
liuchang.eth
Balance
23,761,381,497.084479067 CMP

Value
$0.00
0xca833FCC545c8678F23514907e4CDB31073fAE41
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:
PEPEMOON

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 400 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-06
*/

/**
https://cryptomoonpepe.com/

https://t.me/cryptomoonpepe

https://twitter.com/CryptoMoonPepe

*/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

}

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract PEPEMOON is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private constant _name = "CryptoMoonPepe";
    string private constant _symbol = "CMP";
    uint8 private constant _decimals = 9;
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    address payable private _developmentAddress = payable(0x5863f486a5EA4b4FE3010b86e379505793983587);
    address payable private _marketingAddress = payable(0x5863f486a5EA4b4FE3010b86e379505793983587);
    uint256 private _taxFeeOnBuy = 0;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 0;
    uint256 private _redisFeeOnBuy = 0;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * 10**9;


    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool private inSwap = true;
    bool private swapEnabled = true;
    uint256 public _swapTokensAtAmount = 10000000 * 10**9;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

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

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
       
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function swapFees(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }
    


    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_swapTokensAtAmount","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"swapFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","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"}]

60806040526200001b683635c9adc5dea0000060001962000359565b62000029906000196200037c565b600555600e80546007819055600f80546008819055600992909255600a91909155600b8054735863f486a5ea4b4fe3010b86e3795057939835876001600160a01b03199182168117909255600c805490911690911790556000600d819055918290558190556010556013805461ffff60a01b191661010160a01b179055662386f26fc10000601455348015620000be57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506005543360009081526002602090815260409182902092909255601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa1580156200017c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a29190620003a2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002169190620003a2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028a9190620003a2565b601380546001600160a01b0319166001600160a01b03928316179055600080548216815260116020526040808220805460ff1990811660019081179092553084528284208054821683179055600b54851684528284208054821683179055600c54909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200034a91815260200190565b60405180910390a350620003d4565b6000826200037757634e487b7160e01b600052601260045260246000fd5b500690565b6000828210156200039d57634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620003b557600080fd5b81516001600160a01b0381168114620003cd57600080fd5b9392505050565b61137280620003e46000396000f3fe6080604052600436106100ec5760003560e01c8063313ce5671161008a5780638da5cb5b116100595780638da5cb5b1461029857806395d89b41146102b6578063a9059cbb146102e2578063dd62ed3e1461030257600080fd5b8063313ce5671461022757806349bd5a5e1461024357806370a0823114610263578063715018a61461028357600080fd5b80631694505e116100c65780631694505e1461019357806318160ddd146101cb57806323b872dd146101f15780632fd689e31461021157600080fd5b806306fdde03146100f8578063095ea7b31461014157806311ecfa2c1461017157600080fd5b366100f357005b600080fd5b34801561010457600080fd5b5060408051808201909152600e81526d43727970746f4d6f6f6e5065706560901b60208201525b6040516101389190611088565b60405180910390f35b34801561014d57600080fd5b5061016161015c3660046110f5565b610348565b6040519015158152602001610138565b34801561017d57600080fd5b5061019161018c366004611121565b61035f565b005b34801561019f57600080fd5b506012546101b3906001600160a01b031681565b6040516001600160a01b039091168152602001610138565b3480156101d757600080fd5b50683635c9adc5dea000005b604051908152602001610138565b3480156101fd57600080fd5b5061016161020c366004611153565b6103d2565b34801561021d57600080fd5b506101e360145481565b34801561023357600080fd5b5060405160098152602001610138565b34801561024f57600080fd5b506013546101b3906001600160a01b031681565b34801561026f57600080fd5b506101e361027e366004611194565b61043b565b34801561028f57600080fd5b5061019161045d565b3480156102a457600080fd5b506000546001600160a01b03166101b3565b3480156102c257600080fd5b506040805180820190915260038152620434d560ec1b602082015261012b565b3480156102ee57600080fd5b506101616102fd3660046110f5565b61050e565b34801561030e57600080fd5b506101e361031d3660046111b1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b600061035533848461051b565b5060015b92915050565b6000546001600160a01b031633146103be5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b601093909355600e91909155600d55600f55565b60006103df84848461063f565b610431843361042c85604051806060016040528060288152602001611315602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061096d565b61051b565b5060019392505050565b6001600160a01b038116600090815260026020526040812054610359906109a7565b6000546001600160a01b031633146104b75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103b5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600061035533848461063f565b6001600160a01b03831661057d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b5565b6001600160a01b0382166105de5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b5565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166106a35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b5565b6001600160a01b0382166107055760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b5565b600081116107675760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b5565b6000546001600160a01b0384811691161480159061079357506000546001600160a01b03838116911614155b156108605760006107a33061043b565b601454909150811080159081906107c45750601354600160a01b900460ff16155b80156107de57506013546001600160a01b03868116911614155b80156107f35750601354600160a81b900460ff165b801561081857506001600160a01b03851660009081526011602052604090205460ff16155b801561083d57506001600160a01b03841660009081526011602052604090205460ff16155b1561085d5761084b82610a2b565b47801561085b5761085b47610ba5565b505b50505b6001600160a01b03831660009081526011602052604090205460019060ff16806108a257506001600160a01b03831660009081526011602052604090205460ff165b806108d457506013546001600160a01b038581169116148015906108d457506013546001600160a01b03848116911614155b156108e15750600061095b565b6013546001600160a01b03858116911614801561090c57506012546001600160a01b03848116911614155b1561091e57601054600755600d546008555b6013546001600160a01b03848116911614801561094957506012546001600160a01b03858116911614155b1561095b57600e54600755600f546008555b61096784848484610be3565b50505050565b600081848411156109915760405162461bcd60e51b81526004016103b59190611088565b50600061099e8486611200565b95945050505050565b6000600554821115610a0e5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016103b5565b6000610a18610bfb565b9050610a248382610c1e565b9392505050565b6013805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610a7357610a73611217565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af0919061122d565b81600181518110610b0357610b03611217565b6001600160a01b039283166020918202929092010152601254610b29913091168461051b565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610b6290859060009086903090429060040161124a565b600060405180830381600087803b158015610b7c57600080fd5b505af1158015610b90573d6000803e3d6000fd5b50506013805460ff60a01b1916905550505050565b600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610bdf573d6000803e3d6000fd5b5050565b80610bf057610bf0610c60565b610967848484610c8e565b6000806000610c08610d85565b9092509050610c178282610c1e565b9250505090565b6000610a2483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610dc7565b600754158015610c705750600854155b15610c7757565b6007805460095560088054600a5560009182905555565b600080600080600080610ca087610df5565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610cd29087610e52565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610d019086610e94565b6001600160a01b038916600090815260026020526040902055610d2381610ef3565b610d2d8483610f3d565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610d7291815260200190565b60405180910390a3505050505050505050565b6005546000908190683635c9adc5dea00000610da18282610c1e565b821015610dbe57505060055492683635c9adc5dea0000092509050565b90939092509050565b60008183610de85760405162461bcd60e51b81526004016103b59190611088565b50600061099e84866112bb565b6000806000806000806000806000610e128a600754600854610f61565b9250925092506000610e22610bfb565b90506000806000610e358e878787610fb6565b919e509c509a509598509396509194505050505091939550919395565b6000610a2483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061096d565b600080610ea183856112dd565b905083811015610a245760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b5565b6000610efd610bfb565b90506000610f0b8383611006565b30600090815260026020526040902054909150610f289082610e94565b30600090815260026020526040902055505050565b600554610f4a9083610e52565b600555600654610f5a9082610e94565b6006555050565b6000808080610f7b6064610f758989611006565b90610c1e565b90506000610f8e6064610f758a89611006565b90506000610fa682610fa08b86610e52565b90610e52565b9992985090965090945050505050565b6000808080610fc58886611006565b90506000610fd38887611006565b90506000610fe18888611006565b90506000610ff382610fa08686610e52565b939b939a50919850919650505050505050565b60008260000361101857506000610359565b600061102483856112f5565b90508261103185836112bb565b14610a245760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b5565b600060208083528351808285015260005b818110156110b557858101830151858201604001528201611099565b818111156110c7576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146110f257600080fd5b50565b6000806040838503121561110857600080fd5b8235611113816110dd565b946020939093013593505050565b6000806000806080858703121561113757600080fd5b5050823594602084013594506040840135936060013592509050565b60008060006060848603121561116857600080fd5b8335611173816110dd565b92506020840135611183816110dd565b929592945050506040919091013590565b6000602082840312156111a657600080fd5b8135610a24816110dd565b600080604083850312156111c457600080fd5b82356111cf816110dd565b915060208301356111df816110dd565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015611212576112126111ea565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561123f57600080fd5b8151610a24816110dd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561129a5784516001600160a01b031683529383019391830191600101611275565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826112d857634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156112f0576112f06111ea565b500190565b600081600019048311821515161561130f5761130f6111ea565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220688290f6cfa284f3178f20c7879013647880a0e04a65f6dd6dc98ba82607298964736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106100ec5760003560e01c8063313ce5671161008a5780638da5cb5b116100595780638da5cb5b1461029857806395d89b41146102b6578063a9059cbb146102e2578063dd62ed3e1461030257600080fd5b8063313ce5671461022757806349bd5a5e1461024357806370a0823114610263578063715018a61461028357600080fd5b80631694505e116100c65780631694505e1461019357806318160ddd146101cb57806323b872dd146101f15780632fd689e31461021157600080fd5b806306fdde03146100f8578063095ea7b31461014157806311ecfa2c1461017157600080fd5b366100f357005b600080fd5b34801561010457600080fd5b5060408051808201909152600e81526d43727970746f4d6f6f6e5065706560901b60208201525b6040516101389190611088565b60405180910390f35b34801561014d57600080fd5b5061016161015c3660046110f5565b610348565b6040519015158152602001610138565b34801561017d57600080fd5b5061019161018c366004611121565b61035f565b005b34801561019f57600080fd5b506012546101b3906001600160a01b031681565b6040516001600160a01b039091168152602001610138565b3480156101d757600080fd5b50683635c9adc5dea000005b604051908152602001610138565b3480156101fd57600080fd5b5061016161020c366004611153565b6103d2565b34801561021d57600080fd5b506101e360145481565b34801561023357600080fd5b5060405160098152602001610138565b34801561024f57600080fd5b506013546101b3906001600160a01b031681565b34801561026f57600080fd5b506101e361027e366004611194565b61043b565b34801561028f57600080fd5b5061019161045d565b3480156102a457600080fd5b506000546001600160a01b03166101b3565b3480156102c257600080fd5b506040805180820190915260038152620434d560ec1b602082015261012b565b3480156102ee57600080fd5b506101616102fd3660046110f5565b61050e565b34801561030e57600080fd5b506101e361031d3660046111b1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b600061035533848461051b565b5060015b92915050565b6000546001600160a01b031633146103be5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b601093909355600e91909155600d55600f55565b60006103df84848461063f565b610431843361042c85604051806060016040528060288152602001611315602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061096d565b61051b565b5060019392505050565b6001600160a01b038116600090815260026020526040812054610359906109a7565b6000546001600160a01b031633146104b75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103b5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600061035533848461063f565b6001600160a01b03831661057d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b5565b6001600160a01b0382166105de5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b5565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166106a35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b5565b6001600160a01b0382166107055760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b5565b600081116107675760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b5565b6000546001600160a01b0384811691161480159061079357506000546001600160a01b03838116911614155b156108605760006107a33061043b565b601454909150811080159081906107c45750601354600160a01b900460ff16155b80156107de57506013546001600160a01b03868116911614155b80156107f35750601354600160a81b900460ff165b801561081857506001600160a01b03851660009081526011602052604090205460ff16155b801561083d57506001600160a01b03841660009081526011602052604090205460ff16155b1561085d5761084b82610a2b565b47801561085b5761085b47610ba5565b505b50505b6001600160a01b03831660009081526011602052604090205460019060ff16806108a257506001600160a01b03831660009081526011602052604090205460ff165b806108d457506013546001600160a01b038581169116148015906108d457506013546001600160a01b03848116911614155b156108e15750600061095b565b6013546001600160a01b03858116911614801561090c57506012546001600160a01b03848116911614155b1561091e57601054600755600d546008555b6013546001600160a01b03848116911614801561094957506012546001600160a01b03858116911614155b1561095b57600e54600755600f546008555b61096784848484610be3565b50505050565b600081848411156109915760405162461bcd60e51b81526004016103b59190611088565b50600061099e8486611200565b95945050505050565b6000600554821115610a0e5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016103b5565b6000610a18610bfb565b9050610a248382610c1e565b9392505050565b6013805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610a7357610a73611217565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af0919061122d565b81600181518110610b0357610b03611217565b6001600160a01b039283166020918202929092010152601254610b29913091168461051b565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610b6290859060009086903090429060040161124a565b600060405180830381600087803b158015610b7c57600080fd5b505af1158015610b90573d6000803e3d6000fd5b50506013805460ff60a01b1916905550505050565b600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610bdf573d6000803e3d6000fd5b5050565b80610bf057610bf0610c60565b610967848484610c8e565b6000806000610c08610d85565b9092509050610c178282610c1e565b9250505090565b6000610a2483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610dc7565b600754158015610c705750600854155b15610c7757565b6007805460095560088054600a5560009182905555565b600080600080600080610ca087610df5565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610cd29087610e52565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610d019086610e94565b6001600160a01b038916600090815260026020526040902055610d2381610ef3565b610d2d8483610f3d565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610d7291815260200190565b60405180910390a3505050505050505050565b6005546000908190683635c9adc5dea00000610da18282610c1e565b821015610dbe57505060055492683635c9adc5dea0000092509050565b90939092509050565b60008183610de85760405162461bcd60e51b81526004016103b59190611088565b50600061099e84866112bb565b6000806000806000806000806000610e128a600754600854610f61565b9250925092506000610e22610bfb565b90506000806000610e358e878787610fb6565b919e509c509a509598509396509194505050505091939550919395565b6000610a2483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061096d565b600080610ea183856112dd565b905083811015610a245760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b5565b6000610efd610bfb565b90506000610f0b8383611006565b30600090815260026020526040902054909150610f289082610e94565b30600090815260026020526040902055505050565b600554610f4a9083610e52565b600555600654610f5a9082610e94565b6006555050565b6000808080610f7b6064610f758989611006565b90610c1e565b90506000610f8e6064610f758a89611006565b90506000610fa682610fa08b86610e52565b90610e52565b9992985090965090945050505050565b6000808080610fc58886611006565b90506000610fd38887611006565b90506000610fe18888611006565b90506000610ff382610fa08686610e52565b939b939a50919850919650505050505050565b60008260000361101857506000610359565b600061102483856112f5565b90508261103185836112bb565b14610a245760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b5565b600060208083528351808285015260005b818110156110b557858101830151858201604001528201611099565b818111156110c7576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146110f257600080fd5b50565b6000806040838503121561110857600080fd5b8235611113816110dd565b946020939093013593505050565b6000806000806080858703121561113757600080fd5b5050823594602084013594506040840135936060013592509050565b60008060006060848603121561116857600080fd5b8335611173816110dd565b92506020840135611183816110dd565b929592945050506040919091013590565b6000602082840312156111a657600080fd5b8135610a24816110dd565b600080604083850312156111c457600080fd5b82356111cf816110dd565b915060208301356111df816110dd565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015611212576112126111ea565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561123f57600080fd5b8151610a24816110dd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561129a5784516001600160a01b031683529383019391830191600101611275565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826112d857634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156112f0576112f06111ea565b500190565b600081600019048311821515161561130f5761130f6111ea565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220688290f6cfa284f3178f20c7879013647880a0e04a65f6dd6dc98ba82607298964736f6c634300080e0033

Deployed Bytecode Sourcemap

3921:10643:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6108:83;;;;;;;;;;-1:-1:-1;6178:5:0;;;;;;;;;;;;-1:-1:-1;;;6178:5:0;;;;6108:83;;;;;;;:::i;:::-;;;;;;;;7033:193;;;;;;;;;;-1:-1:-1;7033:193:0;;;;;:::i;:::-;;:::i;:::-;;;1260:14:1;;1253:22;1235:41;;1223:2;1208:18;7033:193:0;1095:187:1;12804:293:0;;;;;;;;;;-1:-1:-1;12804:293:0;;;;;:::i;:::-;;:::i;:::-;;5154:41;;;;;;;;;;-1:-1:-1;5154:41:0;;;;-1:-1:-1;;;;;5154:41:0;;;;;;-1:-1:-1;;;;;1867:55:1;;;1849:74;;1837:2;1822:18;5154:41:0;1677:252:1;6385:95:0;;;;;;;;;;-1:-1:-1;5122:21:0;6385:95;;;2080:25:1;;;2068:2;2053:18;6385:95:0;1934:177:1;7234:446:0;;;;;;;;;;-1:-1:-1;7234:446:0;;;;;:::i;:::-;;:::i;5308:53::-;;;;;;;;;;;;;;;;6294:83;;;;;;;;;;-1:-1:-1;6294:83:0;;4145:1;2719:36:1;;2707:2;2692:18;6294:83:0;2577:184:1;5202:28:0;;;;;;;;;;-1:-1:-1;5202:28:0;;;;-1:-1:-1;;;;;5202:28:0;;;6488:138;;;;;;;;;;-1:-1:-1;6488:138:0;;;;;:::i;:::-;;:::i;1660:148::-;;;;;;;;;;;;;:::i;1446:79::-;;;;;;;;;;-1:-1:-1;1484:7:0;1511:6;-1:-1:-1;;;;;1511:6:0;1446:79;;6199:87;;;;;;;;;;-1:-1:-1;6271:7:0;;;;;;;;;;;;-1:-1:-1;;;6271:7:0;;;;6199:87;;6634:199;;;;;;;;;;-1:-1:-1;6634:199:0;;;;;:::i;:::-;;:::i;6841:184::-;;;;;;;;;;-1:-1:-1;6841:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6990:18:0;;;6958:7;6990:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6841:184;7033:193;7135:4;7157:39;285:10;7180:7;7189:6;7157:8;:39::i;:::-;-1:-1:-1;7214:4:0;7033:193;;;;;:::o;12804:293::-;1573:6;;-1:-1:-1;;;;;1573:6:0;285:10;1573:22;1565:67;;;;-1:-1:-1;;;1565:67:0;;3844:2:1;1565:67:0;;;3826:21:1;;;3863:18;;;3856:30;3922:34;3902:18;;;3895:62;3974:18;;1565:67:0;;;;;;;;;12940:14:::1;:30:::0;;;;12981:15:::1;:32:::0;;;;13024:12:::1;:26:::0;13061:13:::1;:28:::0;12804:293::o;7234:446::-;7366:4;7383:36;7393:6;7401:9;7412:6;7383:9;:36::i;:::-;7430:220;7453:6;285:10;7501:138;7557:6;7501:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7501:19:0;;;;;;:11;:19;;;;;;;;285:10;7501:33;;;;;;;;;;:37;:138::i;:::-;7430:8;:220::i;:::-;-1:-1:-1;7668:4:0;7234:446;;;;;:::o;6488:138::-;-1:-1:-1;;;;;6601:16:0;;6554:7;6601:16;;;:7;:16;;;;;;6581:37;;:19;:37::i;1660:148::-;1573:6;;-1:-1:-1;;;;;1573:6:0;285:10;1573:22;1565:67;;;;-1:-1:-1;;;1565:67:0;;3844:2:1;1565:67:0;;;3826:21:1;;;3863:18;;;3856:30;3922:34;3902:18;;;3895:62;3974:18;;1565:67:0;3642:356:1;1565:67:0;1767:1:::1;1751:6:::0;;1730:40:::1;::::0;-1:-1:-1;;;;;1751:6:0;;::::1;::::0;1730:40:::1;::::0;1767:1;;1730:40:::1;1798:1;1781:19:::0;;-1:-1:-1;;1781:19:0::1;::::0;;1660:148::o;6634:199::-;6739:4;6761:42;285:10;6785:9;6796:6;6761:9;:42::i;8246:369::-;-1:-1:-1;;;;;8373:19:0;;8365:68;;;;-1:-1:-1;;;8365:68:0;;4205:2:1;8365:68:0;;;4187:21:1;4244:2;4224:18;;;4217:30;4283:34;4263:18;;;4256:62;-1:-1:-1;;;4334:18:1;;;4327:34;4378:19;;8365:68:0;4003:400:1;8365:68:0;-1:-1:-1;;;;;8452:21:0;;8444:68;;;;-1:-1:-1;;;8444:68:0;;4610:2:1;8444:68:0;;;4592:21:1;4649:2;4629:18;;;4622:30;4688:34;4668:18;;;4661:62;-1:-1:-1;;;4739:18:1;;;4732:32;4781:19;;8444:68:0;4408:398:1;8444:68:0;-1:-1:-1;;;;;8523:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8575:32;;2080:25:1;;;8575:32:0;;2053:18:1;8575:32:0;;;;;;;8246:369;;;:::o;8623:1673::-;-1:-1:-1;;;;;8745:18:0;;8737:68;;;;-1:-1:-1;;;8737:68:0;;5013:2:1;8737:68:0;;;4995:21:1;5052:2;5032:18;;;5025:30;5091:34;5071:18;;;5064:62;-1:-1:-1;;;5142:18:1;;;5135:35;5187:19;;8737:68:0;4811:401:1;8737:68:0;-1:-1:-1;;;;;8824:16:0;;8816:64;;;;-1:-1:-1;;;8816:64:0;;5419:2:1;8816:64:0;;;5401:21:1;5458:2;5438:18;;;5431:30;5497:34;5477:18;;;5470:62;-1:-1:-1;;;5548:18:1;;;5541:33;5591:19;;8816:64:0;5217:399:1;8816:64:0;8908:1;8899:6;:10;8891:64;;;;-1:-1:-1;;;8891:64:0;;5823:2:1;8891:64:0;;;5805:21:1;5862:2;5842:18;;;5835:30;5901:34;5881:18;;;5874:62;-1:-1:-1;;;5952:18:1;;;5945:39;6001:19;;8891:64:0;5621:405:1;8891:64:0;1484:7;1511:6;-1:-1:-1;;;;;8972:15:0;;;1511:6;;8972:15;;;;:32;;-1:-1:-1;1484:7:0;1511:6;-1:-1:-1;;;;;8991:13:0;;;1511:6;;8991:13;;8972:32;8968:602;;;9021:28;9052:24;9070:4;9052:9;:24::i;:::-;9130:19;;9021:55;;-1:-1:-1;9106:43:0;;;;;;;9177:18;;-1:-1:-1;9189:6:0;;-1:-1:-1;;;9189:6:0;;;;9188:7;9177:18;:43;;;;-1:-1:-1;9207:13:0;;-1:-1:-1;;;;;9199:21:0;;;9207:13;;9199:21;;9177:43;:58;;;;-1:-1:-1;9224:11:0;;-1:-1:-1;;;9224:11:0;;;;9177:58;:87;;;;-1:-1:-1;;;;;;9240:24:0;;;;;;:18;:24;;;;;;;;9239:25;9177:87;:114;;;;-1:-1:-1;;;;;;9269:22:0;;;;;;:18;:22;;;;;;;;9268:23;9177:114;9173:386;;;9312:38;9329:20;9312:16;:38::i;:::-;9398:21;9442:22;;9438:106;;9489:35;9502:21;9489:12;:35::i;:::-;9293:266;9173:386;9006:564;;8968:602;-1:-1:-1;;;;;9646:24:0;;9582:12;9646:24;;;:18;:24;;;;;;9597:4;;9646:24;;;:50;;-1:-1:-1;;;;;;9674:22:0;;;;;;:18;:22;;;;;;;;9646:50;9645:102;;;-1:-1:-1;9710:13:0;;-1:-1:-1;;;;;9702:21:0;;;9710:13;;9702:21;;;;:44;;-1:-1:-1;9733:13:0;;-1:-1:-1;;;;;9727:19:0;;;9733:13;;9727:19;;9702:44;9641:594;;;-1:-1:-1;9774:5:0;9641:594;;;9857:13;;-1:-1:-1;;;;;9849:21:0;;;9857:13;;9849:21;:55;;;;-1:-1:-1;9888:15:0;;-1:-1:-1;;;;;9874:30:0;;;9888:15;;9874:30;;9849:55;9846:162;;;9937:14;;9925:9;:26;9980:12;;9970:7;:22;9846:162;10067:13;;-1:-1:-1;;;;;10061:19:0;;;10067:13;;10061:19;:55;;;;-1:-1:-1;10100:15:0;;-1:-1:-1;;;;;10084:32:0;;;10100:15;;10084:32;;10061:55;10057:165;;;10149:15;;10137:9;:27;10193:13;;10183:7;:23;10057:165;10247:41;10262:4;10268:2;10272:6;10280:7;10247:14;:41::i;:::-;8726:1570;8623:1673;;;:::o;2172:224::-;2292:7;2328:12;2320:6;;;;2312:29;;;;-1:-1:-1;;;2312:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2352:9:0;2364:5;2368:1;2364;:5;:::i;:::-;2352:17;2172:224;-1:-1:-1;;;;;2172:224:0:o;7688:323::-;7783:7;7841;;7830;:18;;7808:110;;;;-1:-1:-1;;;7808:110:0;;6495:2:1;7808:110:0;;;6477:21:1;6534:2;6514:18;;;6507:30;6573:34;6553:18;;;6546:62;-1:-1:-1;;;6624:18:1;;;6617:40;6674:19;;7808:110:0;6293:406:1;7808:110:0;7929:19;7951:10;:8;:10::i;:::-;7929:32;-1:-1:-1;7979:24:0;:7;7929:32;7979:11;:24::i;:::-;7972:31;7688:323;-1:-1:-1;;;7688:323:0:o;10304:483::-;5400:6;:13;;-1:-1:-1;;;;5400:13:0;-1:-1:-1;;;5400:13:0;;;10406:16:::1;::::0;;10420:1:::1;10406:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10406:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10406:16:0::1;10382:40;;10451:4;10433;10438:1;10433:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10433:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10477:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10477:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10433:7;;10477:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10467:4;10472:1;10467:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10467:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10542:15:::1;::::0;10510:62:::1;::::0;10527:4:::1;::::0;10542:15:::1;10560:11:::0;10510:8:::1;:62::i;:::-;10583:15;::::0;:196:::1;::::0;-1:-1:-1;;;10583:196:0;;-1:-1:-1;;;;;10583:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10664:11;;10583:15:::1;::::0;10706:4;;10733::::1;::::0;10753:15:::1;::::0;10583:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5436:6:0;:14;;-1:-1:-1;;;;5436:14:0;;;-1:-1:-1;;;;10304:483:0:o;10795:99::-;10852:17;;:34;;-1:-1:-1;;;;;10852:17:0;;;;:34;;;;;10879:6;;10852:17;:34;:17;:34;10879:6;10852:17;:34;;;;;;;;;;;;;;;;;;;;;10795:99;:::o;10902:242::-;11058:7;11053:28;;11067:14;:12;:14::i;:::-;11092:44;11110:6;11118:9;11129:6;11092:17;:44::i;14132:164::-;14174:7;14195:15;14212;14231:19;:17;:19::i;:::-;14194:56;;-1:-1:-1;14194:56:0;-1:-1:-1;14268:20:0;14194:56;;14268:11;:20::i;:::-;14261:27;;;;14132:164;:::o;2658:132::-;2716:7;2743:39;2747:1;2750;2743:39;;;;;;;;;;;;;;;;;:3;:39::i;8019:219::-;8066:9;;:14;:30;;;;-1:-1:-1;8084:7:0;;:12;8066:30;8062:43;;;8019:219::o;8062:43::-;8137:9;;;8117:17;:29;8175:7;;;8157:15;:25;-1:-1:-1;8195:13:0;;;;8219:11;8019:219::o;11152:610::-;11299:15;11329:23;11367:12;11394:23;11432:12;11459:13;11486:19;11497:7;11486:10;:19::i;:::-;-1:-1:-1;;;;;11534:15:0;;;;;;:7;:15;;;;;;11284:221;;-1:-1:-1;11284:221:0;;-1:-1:-1;11284:221:0;;-1:-1:-1;11284:221:0;-1:-1:-1;11284:221:0;-1:-1:-1;11284:221:0;-1:-1:-1;11534:28:0;;11284:221;11534:19;:28::i;:::-;-1:-1:-1;;;;;11516:15:0;;;;;;;:7;:15;;;;;;:46;;;;11594:18;;;;;;;:39;;11617:15;11594:22;:39::i;:::-;-1:-1:-1;;;;;11573:18:0;;;;;;:7;:18;;;;;:60;11644:16;11654:5;11644:9;:16::i;:::-;11671:23;11683:4;11689;11671:11;:23::i;:::-;11727:9;-1:-1:-1;;;;;11710:44:0;11719:6;-1:-1:-1;;;;;11710:44:0;;11738:15;11710:44;;;;2080:25:1;;2068:2;2053:18;;1934:177;11710:44:0;;;;;;;;11273:489;;;;;;11152:610;;;:::o;14304:257::-;14402:7;;14355;;;;5122:21;14470:20;14402:7;5122:21;14470:11;:20::i;:::-;14460:7;:30;14456:61;;;-1:-1:-1;;14500:7:0;;;5122:21;;-1:-1:-1;14304:257:0;-1:-1:-1;14304:257:0:o;14456:61::-;14536:7;;14545;;-1:-1:-1;14304:257:0;-1:-1:-1;14304:257:0:o;2798:223::-;2918:7;2953:12;2946:5;2938:28;;;;-1:-1:-1;;;2938:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2977:9:0;2989:5;2993:1;2989;:5;:::i;12181:615::-;12281:7;12303;12325;12347;12369;12391;12427:23;12452:12;12466:13;12496:40;12508:7;12517:9;;12528:7;;12496:11;:40::i;:::-;12426:110;;;;;;12547:19;12569:10;:8;:10::i;:::-;12547:32;;12591:15;12608:23;12633:12;12662:46;12674:7;12683:4;12689:5;12696:11;12662;:46::i;:::-;12590:118;;-1:-1:-1;12590:118:0;-1:-1:-1;12590:118:0;-1:-1:-1;12759:15:0;;-1:-1:-1;12776:4:0;;-1:-1:-1;12782:5:0;;-1:-1:-1;;;;;12181:615:0;;;;;;;:::o;2028:136::-;2086:7;2113:43;2117:1;2120;2113:43;;;;;;;;;;;;;;;;;:3;:43::i;1841:179::-;1899:7;;1931:5;1935:1;1931;:5;:::i;:::-;1919:17;;1960:1;1955;:6;;1947:46;;;;-1:-1:-1;;;1947:46:0;;8812:2:1;1947:46:0;;;8794:21:1;8851:2;8831:18;;;8824:30;8890:29;8870:18;;;8863:57;8937:18;;1947:46:0;8610:351:1;11770:211:0;11823:19;11845:10;:8;:10::i;:::-;11823:32;-1:-1:-1;11866:13:0;11882:22;:5;11823:32;11882:9;:22::i;:::-;11956:4;11940:22;;;;:7;:22;;;;;;11866:38;;-1:-1:-1;11940:33:0;;11866:38;11940:26;:33::i;:::-;11931:4;11915:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11770:211:0:o;11989:147::-;12067:7;;:17;;12079:4;12067:11;:17::i;:::-;12057:7;:27;12108:10;;:20;;12123:4;12108:14;:20::i;:::-;12095:10;:33;-1:-1:-1;;11989:147:0:o;13105:469::-;13274:7;;;;13368:30;13394:3;13368:21;:7;13380:8;13368:11;:21::i;:::-;:25;;:30::i;:::-;13353:45;-1:-1:-1;13409:13:0;13425:28;13449:3;13425:19;:7;13437:6;13425:11;:19::i;:28::-;13409:44;-1:-1:-1;13464:23:0;13490:28;13409:44;13490:17;:7;13502:4;13490:11;:17::i;:::-;:21;;:28::i;:::-;13464:54;13554:4;;-1:-1:-1;13560:5:0;;-1:-1:-1;13105:469:0;;-1:-1:-1;;;;;13105:469:0:o;13582:534::-;13776:7;;;;13873:24;:7;13885:11;13873;:24::i;:::-;13855:42;-1:-1:-1;13908:12:0;13923:21;:4;13932:11;13923:8;:21::i;:::-;13908:36;-1:-1:-1;13955:13:0;13971:22;:5;13981:11;13971:9;:22::i;:::-;13955:38;-1:-1:-1;14004:23:0;14030:28;13955:38;14030:17;:7;14042:4;14030:11;:17::i;:28::-;14077:7;;;;-1:-1:-1;14103:4:0;;-1:-1:-1;13582:534:0;;-1:-1:-1;;;;;;;13582:534:0:o;2404:246::-;2462:7;2486:1;2491;2486:6;2482:47;;-1:-1:-1;2516:1:0;2509:8;;2482:47;2539:9;2551:5;2555:1;2551;:5;:::i;:::-;2539:17;-1:-1:-1;2584:1:0;2575:5;2579:1;2539:17;2575:5;:::i;:::-;:10;2567:56;;;;-1:-1:-1;;;2567:56:0;;9341:2:1;2567:56:0;;;9323:21:1;9380:2;9360:18;;;9353:30;9419:34;9399:18;;;9392:62;-1:-1:-1;;;9470:18:1;;;9463:31;9511:19;;2567:56:0;9139:397:1;14:597;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:154::-;-1:-1:-1;;;;;695:5:1;691:54;684:5;681:65;671:93;;760:1;757;750:12;671:93;616:154;:::o;775:315::-;843:6;851;904:2;892:9;883:7;879:23;875:32;872:52;;;920:1;917;910:12;872:52;959:9;946:23;978:31;1003:5;978:31;:::i;:::-;1028:5;1080:2;1065:18;;;;1052:32;;-1:-1:-1;;;775:315:1:o;1287:385::-;1373:6;1381;1389;1397;1450:3;1438:9;1429:7;1425:23;1421:33;1418:53;;;1467:1;1464;1457:12;1418:53;-1:-1:-1;;1490:23:1;;;1560:2;1545:18;;1532:32;;-1:-1:-1;1611:2:1;1596:18;;1583:32;;1662:2;1647:18;1634:32;;-1:-1:-1;1287:385:1;-1:-1:-1;1287:385:1:o;2116:456::-;2193:6;2201;2209;2262:2;2250:9;2241:7;2237:23;2233:32;2230:52;;;2278:1;2275;2268:12;2230:52;2317:9;2304:23;2336:31;2361:5;2336:31;:::i;:::-;2386:5;-1:-1:-1;2443:2:1;2428:18;;2415:32;2456:33;2415:32;2456:33;:::i;:::-;2116:456;;2508:7;;-1:-1:-1;;;2562:2:1;2547:18;;;;2534:32;;2116:456::o;2997:247::-;3056:6;3109:2;3097:9;3088:7;3084:23;3080:32;3077:52;;;3125:1;3122;3115:12;3077:52;3164:9;3151:23;3183:31;3208:5;3183:31;:::i;3249:388::-;3317:6;3325;3378:2;3366:9;3357:7;3353:23;3349:32;3346:52;;;3394:1;3391;3384:12;3346:52;3433:9;3420:23;3452:31;3477:5;3452:31;:::i;:::-;3502:5;-1:-1:-1;3559:2:1;3544:18;;3531:32;3572:33;3531:32;3572:33;:::i;:::-;3624:7;3614:17;;;3249:388;;;;;:::o;6031:127::-;6092:10;6087:3;6083:20;6080:1;6073:31;6123:4;6120:1;6113:15;6147:4;6144:1;6137:15;6163:125;6203:4;6231:1;6228;6225:8;6222:34;;;6236:18;;:::i;:::-;-1:-1:-1;6273:9:1;;6163:125::o;6836:127::-;6897:10;6892:3;6888:20;6885:1;6878:31;6928:4;6925:1;6918:15;6952:4;6949:1;6942:15;6968:251;7038:6;7091:2;7079:9;7070:7;7066:23;7062:32;7059:52;;;7107:1;7104;7097:12;7059:52;7139:9;7133:16;7158:31;7183:5;7158:31;:::i;7224:1026::-;7486:4;7534:3;7523:9;7519:19;7565:6;7554:9;7547:25;7591:2;7629:6;7624:2;7613:9;7609:18;7602:34;7672:3;7667:2;7656:9;7652:18;7645:31;7696:6;7731;7725:13;7762:6;7754;7747:22;7800:3;7789:9;7785:19;7778:26;;7839:2;7831:6;7827:15;7813:29;;7860:1;7870:218;7884:6;7881:1;7878:13;7870:218;;;7949:13;;-1:-1:-1;;;;;7945:62:1;7933:75;;8063:15;;;;8028:12;;;;7906:1;7899:9;7870:218;;;-1:-1:-1;;;;;;;8144:55:1;;;;8139:2;8124:18;;8117:83;-1:-1:-1;;;8231:3:1;8216:19;8209:35;8105:3;7224:1026;-1:-1:-1;;;7224:1026:1:o;8255:217::-;8295:1;8321;8311:132;;8365:10;8360:3;8356:20;8353:1;8346:31;8400:4;8397:1;8390:15;8428:4;8425:1;8418:15;8311:132;-1:-1:-1;8457:9:1;;8255:217::o;8477:128::-;8517:3;8548:1;8544:6;8541:1;8538:13;8535:39;;;8554:18;;:::i;:::-;-1:-1:-1;8590:9:1;;8477:128::o;8966:168::-;9006:7;9072:1;9068;9064:6;9060:14;9057:1;9054:21;9049:1;9042:9;9035:17;9031:45;9028:71;;;9079:18;;:::i;:::-;-1:-1:-1;9119:9:1;;8966:168::o

Swarm Source

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