ETH Price: $3,179.68 (+1.40%)

Token

DMAGA (DMAGA)
 

Overview

Max Total Supply

42,000,000,000,000 DMAGA

Holders

196

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 DMAGA

Value
$0.00
0x0e2e7cf443bd13f4c67c93d0c5754864499525be
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:
Token

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-09-08
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.20;

/*

web: https://dmaga.online/
tg: https://t.me/DARKMAGA_ETH
x: https://x.com/darkmaga_ETH 

*/


interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IUniswapRouter {

    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

interface IUniswapFactory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

abstract contract Ownable {
    address internal _owner;

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

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

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "you are not owner");
        _;
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract Token is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address payable public mkt;
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    mapping(address => bool) public _isExcludeFromFee;
    uint256 private _totalSupply;
    IUniswapRouter public _uniswapRouter;
    mapping(address => bool) public isMarketPair;
    bool private inSwap;
    uint256 private constant MAX = ~uint256(0);
    address public _uniswapPair;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (){

        _name = "DMAGA";
        _symbol = "DMAGA";

        _decimals = 9;
        uint256 Supply = 42000000000000;

        _totalSupply = Supply * 10 ** _decimals;
        swapAtAmount = _totalSupply / 20000;

        address receiveAddr = msg.sender;
        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);

        mkt = payable(receiveAddr);

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[mkt] = true;

        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        _uniswapPair = swapFactory.createPair(address(this), swapRouter.WETH());

        isMarketPair[_uniswapPair] = true;
        IERC20(_uniswapRouter.WETH()).approve(
            address(address(_uniswapRouter)),
            ~uint256(0)
        );
        _isExcludeFromFee[address(swapRouter)] = true;

    }

    function setMKT(
        address payable newMKT
    ) public onlyOwner{
        mkt = newMKT;
    }

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

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

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

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

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    uint256 public _buyCount=0;
    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=20;
    uint256 private _finalSellTax=20;
    uint256 private _reduceBuyTaxAt=29;
    uint256 private _reduceSellTaxAt=29;
    uint256 private _preventSwapBefore=40;

    function recuseTax(
        uint256 newBuy,
        uint256 newSell,
        uint256 newReduceBuy,
        uint256 newReduceSell,
        uint256 newPreventSwapBefore
    ) public onlyOwner {
        _finalBuyTax = newBuy;
        _finalSellTax = newSell;
        _reduceBuyTaxAt = newReduceBuy;
        _reduceSellTaxAt = newReduceSell;
        _preventSwapBefore = newPreventSwapBefore;
    }

    uint256 swapAtAmount;
    function setSwapAtAmount(
        uint256 newValue
    ) public onlyOwner{
        swapAtAmount = newValue;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        if (inSwap){
            _basicTransfer(from, to, amount);
            return;
        }

        bool takeFee;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to] && _buyCount > _preventSwapBefore) {
            uint256 _numSellToken = amount;
            if (_numSellToken > balanceOf(address(this))){
                _numSellToken = _balances[address(this)];
            }
            if (_numSellToken > swapAtAmount){
                swapTokenForETH(_numSellToken);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            require(startTradeBlock > 0);
            takeFee = true;
            
            // buyCount
            if (isMarketPair[from] && to != address(_uniswapRouter) && !_isExcludeFromFee[to]) {
                _buyCount++;
            }

        }

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

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            uint256 taxFee;
            if (isMarketPair[recipient]) {
                taxFee = _buyCount > _reduceSellTaxAt ? _finalSellTax : _initialSellTax;
            } else if (isMarketPair[sender]) {
                taxFee = _buyCount > _reduceBuyTaxAt ? _finalBuyTax : _initialBuyTax;
            }
            uint256 swapAmount = tAmount * taxFee / 100;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);

    }


    uint256 public startTradeBlock;
    function startTrade() public onlyOwner {
        require(startTradeBlock == 0, "already start");
        startTradeBlock = block.number;
    }

    function antiBotTrade() public onlyOwner{
        startTradeBlock = 0;
    }

    function removeERC20(address _token) external {
        require(msg.sender == mkt);
        IERC20(_token).transfer(mkt, IERC20(_token).balanceOf(address(this)));
        mkt.transfer(address(this).balance);
    }

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

        uint256 _bal = address(this).balance;
        if (_bal > 0.01 ether){
            mkt.transfer(_bal);
        }
    }

    function setMarketingFreeTrade(address account, bool value) public onlyOwner{
        _isExcludeFromFee[account] = value;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"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":[],"name":"antiBotTrade","outputs":[],"stateMutability":"nonpayable","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mkt","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[{"internalType":"uint256","name":"newBuy","type":"uint256"},{"internalType":"uint256","name":"newSell","type":"uint256"},{"internalType":"uint256","name":"newReduceBuy","type":"uint256"},{"internalType":"uint256","name":"newReduceSell","type":"uint256"},{"internalType":"uint256","name":"newPreventSwapBefore","type":"uint256"}],"name":"recuseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMKT","type":"address"}],"name":"setMKT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setMarketingFreeTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradeBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040525f600c556014600d556014600e556014600f556014601055601d601155601d601255602860135534801562000037575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350604080518082019091526005815264444d41474160d81b6020820152600490620000a3908262000525565b5060408051808201909152600580825264444d41474160d81b602083015290620000ce908262000525565b506006805460ff19166009908117909155652632e314a00090620000f490600a62000700565b62000100908262000717565b60088190556200011490614e209062000731565b601455600854335f81815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b03199081166001600160a01b038481169182178455305f818152600760209081526040808320805460ff199081166001908117909255968452818420805488168217905597549094168252838220805490951690961790935560098054737a250d5630b4cf539739df2c5dacb4c659f2488d95168517905582526002845280822083835284528082205f199055805163c45a015560e01b8152905192939192849263c45a015592600480820193918290030181865afa15801562000232573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000258919062000751565b9050806001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002cd919062000751565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000318573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200033e919062000751565b600b8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481165f908152600a6020908152604091829020805460ff1916600117905560095482516315ab88c960e31b8152925193169263ad5c46489260048082019392918290030181865afa158015620003bf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003e5919062000751565b60095460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af115801562000435573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200045b919062000779565b50506001600160a01b03165f908152600760205260409020805460ff19166001179055506200079a9050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620004b057607f821691505b602082108103620004cf57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200052057805f5260205f20601f840160051c81016020851015620004fc5750805b601f840160051c820191505b818110156200051d575f815560010162000508565b50505b505050565b81516001600160401b0381111562000541576200054162000487565b62000559816200055284546200049b565b84620004d5565b602080601f8311600181146200058f575f8415620005775750858301515b5f19600386901b1c1916600185901b178555620005e9565b5f85815260208120601f198616915b82811015620005bf578886015182559484019460019091019084016200059e565b5085821015620005dd57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200064557815f1904821115620006295762000629620005f1565b808516156200063757918102915b93841c93908002906200060a565b509250929050565b5f826200065d57506001620006fa565b816200066b57505f620006fa565b81600181146200068457600281146200068f57620006af565b6001915050620006fa565b60ff841115620006a357620006a3620005f1565b50506001821b620006fa565b5060208310610133831016604e8410600b8410161715620006d4575081810a620006fa565b620006e0838362000605565b805f1904821115620006f657620006f6620005f1565b0290505b92915050565b5f6200071060ff8416836200064d565b9392505050565b8082028115828204841417620006fa57620006fa620005f1565b5f826200074c57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000762575f80fd5b81516001600160a01b038116811462000710575f80fd5b5f602082840312156200078a575f80fd5b8151801515811462000710575f80fd5b6114c080620007a85f395ff3fe60806040526004361061017e575f3560e01c80636402511e116100cd5780638da5cb5b11610087578063a67755c211610062578063a67755c21461045e578063a9059cbb1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b80638da5cb5b1461040f57806395d89b411461042b578063a266e55e1461043f575f80fd5b80636402511e1461035657806365b61b77146103755780636c5808011461039457806370a08231146103a8578063715018a6146103dc5780637cc5b1e6146103f0575f80fd5b8063313ce567116101385780633ecad271116101135780633ecad271146102b85780633f80b6d7146102e65780634bf28fd014610305578063553193ca14610341575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633e0cdeb114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa9190611122565b60405180910390f35b3480156101be575f80fd5b506101d26101cd366004611185565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506008545b6040519081526020016101aa565b348015610221575f80fd5b506101d26102303660046111af565b6105dd565b348015610240575f80fd5b50610208600c5481565b348015610255575f80fd5b5060065460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d26102853660046111ed565b60076020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101f66102b33660046111ed565b61066f565b3480156102c3575f80fd5b506101d26102d23660046111ed565b600a6020525f908152604090205460ff1681565b3480156102f1575f80fd5b506101f661030036600461120f565b6106ba565b348015610310575f80fd5b50600b546103299061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561034c575f80fd5b5061020860155481565b348015610361575f80fd5b506101f6610370366004611246565b6106fa565b348015610380575f80fd5b50600954610329906001600160a01b031681565b34801561039f575f80fd5b506101f6610728565b3480156103b3575f80fd5b506102086103c23660046111ed565b6001600160a01b03165f9081526001602052604090205490565b3480156103e7575f80fd5b506101f6610797565b3480156103fb575f80fd5b50600354610329906001600160a01b031681565b34801561041a575f80fd5b505f546001600160a01b0316610329565b348015610436575f80fd5b5061019d610808565b34801561044a575f80fd5b506101f661045936600461126a565b610817565b348015610469575f80fd5b506101f66104783660046111ed565b61086a565b348015610488575f80fd5b506101d2610497366004611185565b61099c565b3480156104a7575f80fd5b506102086104b63660046112a1565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa3660046111ed565b6109a8565b60606004805461050e906112cd565b80601f016020809104026020016040519081016040528092919081815260200182805461053a906112cd565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610a6b565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce90611305565b60405180910390fd5b5f601555565b5f6105e9848484610acb565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f908152600260209081526040808320338452909152902054610641908390611344565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce90611305565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146106e35760405162461bcd60e51b81526004016105ce90611305565b600f94909455601092909255601155601255601355565b5f546001600160a01b031633146107235760405162461bcd60e51b81526004016105ce90611305565b601455565b5f546001600160a01b031633146107515760405162461bcd60e51b81526004016105ce90611305565b601554156107915760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481cdd185c9d609a1b60448201526064016105ce565b43601555565b5f546001600160a01b031633146107c05760405162461bcd60e51b81526004016105ce90611305565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606005805461050e906112cd565b5f546001600160a01b031633146108405760405162461bcd60e51b81526004016105ce90611305565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610880575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa1580156108d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f59190611357565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561093d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610961919061136e565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610998573d5f803e3d5ffd5b5050565b5f61059b338484610acb565b5f546001600160a01b031633146109d15760405162461bcd60e51b81526004016105ce90611305565b6001600160a01b038116610a125760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610b265760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600b5460ff1615610b4357610b3c848484610ceb565b5050505050565b6001600160a01b0383165f908152600a602052604081205460ff168015610b6d5750600b5460ff16155b8015610b9157506001600160a01b0385165f9081526007602052604090205460ff16155b8015610bb557506001600160a01b0384165f9081526007602052604090205460ff16155b8015610bc45750601354600c54115b15610c0757305f908152600160205260409020548390811115610bf25750305f908152600160205260409020545b601454811115610c0557610c0581610d9e565b505b6001600160a01b0385165f9081526007602052604090205460ff16158015610c4757506001600160a01b0384165f9081526007602052604090205460ff16155b8015610c565750600b5460ff16155b15610cdf575f60155411610c68575f80fd5b506001600160a01b0384165f908152600a602052604090205460019060ff168015610ca157506009546001600160a01b03858116911614155b8015610cc557506001600160a01b0384165f9081526007602052604090205460ff16155b15610cdf57600c8054905f610cd983611389565b91905055505b610b3c85858584610f37565b6001600160a01b0383165f90815260016020526040812080548391908390610d14908490611344565b90915550506001600160a01b0383165f9081526001602052604081208054849290610d409084906113a1565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d8c91815260200190565b60405180910390a35060019392505050565b600b805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610dde57610dde6113b4565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5991906113c8565b81600181518110610e6c57610e6c6113b4565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac94790610eb19085905f908690309042906004016113e3565b5f604051808303815f87803b158015610ec8575f80fd5b505af1158015610eda573d5f803e3d5ffd5b504792505050662386f26fc10000811115610f28576003546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610f26573d5f803e3d5ffd5b505b5050600b805460ff1916905550565b6001600160a01b0384165f90815260016020526040902054610f5a908390611344565b6001600160a01b0385165f908152600160205260408120919091558115611095576001600160a01b0384165f908152600a602052604081205460ff1615610fb957601254600c5411610fae57600e54610fb2565b6010545b9050610ff3565b6001600160a01b0386165f908152600a602052604090205460ff1615610ff357601154600c5411610fec57600d54610ff0565b600f545b90505b5f60646110008387611454565b61100a919061146b565b905080156110925761101c81846113a1565b305f908152600160205260409020549093506110399082906113a1565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110899085815260200190565b60405180910390a35b50505b61109f8184611344565b6001600160a01b0385165f908152600160205260409020546110c191906113a1565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61110a8487611344565b60405190815260200160405180910390a35050505050565b5f602080835283518060208501525f5b8181101561114e57858101830151858201604001528201611132565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611182575f80fd5b50565b5f8060408385031215611196575f80fd5b82356111a18161116e565b946020939093013593505050565b5f805f606084860312156111c1575f80fd5b83356111cc8161116e565b925060208401356111dc8161116e565b929592945050506040919091013590565b5f602082840312156111fd575f80fd5b81356112088161116e565b9392505050565b5f805f805f60a08688031215611223575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f60208284031215611256575f80fd5b5035919050565b8015158114611182575f80fd5b5f806040838503121561127b575f80fd5b82356112868161116e565b915060208301356112968161125d565b809150509250929050565b5f80604083850312156112b2575f80fd5b82356112bd8161116e565b915060208301356112968161116e565b600181811c908216806112e157607f821691505b6020821081036112ff57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f611330565b5f60208284031215611367575f80fd5b5051919050565b5f6020828403121561137e575f80fd5b81516112088161125d565b5f6001820161139a5761139a611330565b5060010190565b8082018082111561059f5761059f611330565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156113d8575f80fd5b81516112088161116e565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156114335784516001600160a01b03168352938301939183019160010161140e565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761059f5761059f611330565b5f8261148557634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220b6e0b45075c4d6116b62322456514677de314e8b18b0e509e4e7e20937237dd264736f6c63430008170033

Deployed Bytecode

0x60806040526004361061017e575f3560e01c80636402511e116100cd5780638da5cb5b11610087578063a67755c211610062578063a67755c21461045e578063a9059cbb1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b80638da5cb5b1461040f57806395d89b411461042b578063a266e55e1461043f575f80fd5b80636402511e1461035657806365b61b77146103755780636c5808011461039457806370a08231146103a8578063715018a6146103dc5780637cc5b1e6146103f0575f80fd5b8063313ce567116101385780633ecad271116101135780633ecad271146102b85780633f80b6d7146102e65780634bf28fd014610305578063553193ca14610341575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633e0cdeb114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa9190611122565b60405180910390f35b3480156101be575f80fd5b506101d26101cd366004611185565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506008545b6040519081526020016101aa565b348015610221575f80fd5b506101d26102303660046111af565b6105dd565b348015610240575f80fd5b50610208600c5481565b348015610255575f80fd5b5060065460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d26102853660046111ed565b60076020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101f66102b33660046111ed565b61066f565b3480156102c3575f80fd5b506101d26102d23660046111ed565b600a6020525f908152604090205460ff1681565b3480156102f1575f80fd5b506101f661030036600461120f565b6106ba565b348015610310575f80fd5b50600b546103299061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561034c575f80fd5b5061020860155481565b348015610361575f80fd5b506101f6610370366004611246565b6106fa565b348015610380575f80fd5b50600954610329906001600160a01b031681565b34801561039f575f80fd5b506101f6610728565b3480156103b3575f80fd5b506102086103c23660046111ed565b6001600160a01b03165f9081526001602052604090205490565b3480156103e7575f80fd5b506101f6610797565b3480156103fb575f80fd5b50600354610329906001600160a01b031681565b34801561041a575f80fd5b505f546001600160a01b0316610329565b348015610436575f80fd5b5061019d610808565b34801561044a575f80fd5b506101f661045936600461126a565b610817565b348015610469575f80fd5b506101f66104783660046111ed565b61086a565b348015610488575f80fd5b506101d2610497366004611185565b61099c565b3480156104a7575f80fd5b506102086104b63660046112a1565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa3660046111ed565b6109a8565b60606004805461050e906112cd565b80601f016020809104026020016040519081016040528092919081815260200182805461053a906112cd565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610a6b565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce90611305565b60405180910390fd5b5f601555565b5f6105e9848484610acb565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f908152600260209081526040808320338452909152902054610641908390611344565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce90611305565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146106e35760405162461bcd60e51b81526004016105ce90611305565b600f94909455601092909255601155601255601355565b5f546001600160a01b031633146107235760405162461bcd60e51b81526004016105ce90611305565b601455565b5f546001600160a01b031633146107515760405162461bcd60e51b81526004016105ce90611305565b601554156107915760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481cdd185c9d609a1b60448201526064016105ce565b43601555565b5f546001600160a01b031633146107c05760405162461bcd60e51b81526004016105ce90611305565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606005805461050e906112cd565b5f546001600160a01b031633146108405760405162461bcd60e51b81526004016105ce90611305565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610880575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa1580156108d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f59190611357565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561093d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610961919061136e565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610998573d5f803e3d5ffd5b5050565b5f61059b338484610acb565b5f546001600160a01b031633146109d15760405162461bcd60e51b81526004016105ce90611305565b6001600160a01b038116610a125760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610b265760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600b5460ff1615610b4357610b3c848484610ceb565b5050505050565b6001600160a01b0383165f908152600a602052604081205460ff168015610b6d5750600b5460ff16155b8015610b9157506001600160a01b0385165f9081526007602052604090205460ff16155b8015610bb557506001600160a01b0384165f9081526007602052604090205460ff16155b8015610bc45750601354600c54115b15610c0757305f908152600160205260409020548390811115610bf25750305f908152600160205260409020545b601454811115610c0557610c0581610d9e565b505b6001600160a01b0385165f9081526007602052604090205460ff16158015610c4757506001600160a01b0384165f9081526007602052604090205460ff16155b8015610c565750600b5460ff16155b15610cdf575f60155411610c68575f80fd5b506001600160a01b0384165f908152600a602052604090205460019060ff168015610ca157506009546001600160a01b03858116911614155b8015610cc557506001600160a01b0384165f9081526007602052604090205460ff16155b15610cdf57600c8054905f610cd983611389565b91905055505b610b3c85858584610f37565b6001600160a01b0383165f90815260016020526040812080548391908390610d14908490611344565b90915550506001600160a01b0383165f9081526001602052604081208054849290610d409084906113a1565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d8c91815260200190565b60405180910390a35060019392505050565b600b805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610dde57610dde6113b4565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5991906113c8565b81600181518110610e6c57610e6c6113b4565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac94790610eb19085905f908690309042906004016113e3565b5f604051808303815f87803b158015610ec8575f80fd5b505af1158015610eda573d5f803e3d5ffd5b504792505050662386f26fc10000811115610f28576003546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610f26573d5f803e3d5ffd5b505b5050600b805460ff1916905550565b6001600160a01b0384165f90815260016020526040902054610f5a908390611344565b6001600160a01b0385165f908152600160205260408120919091558115611095576001600160a01b0384165f908152600a602052604081205460ff1615610fb957601254600c5411610fae57600e54610fb2565b6010545b9050610ff3565b6001600160a01b0386165f908152600a602052604090205460ff1615610ff357601154600c5411610fec57600d54610ff0565b600f545b90505b5f60646110008387611454565b61100a919061146b565b905080156110925761101c81846113a1565b305f908152600160205260409020549093506110399082906113a1565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110899085815260200190565b60405180910390a35b50505b61109f8184611344565b6001600160a01b0385165f908152600160205260409020546110c191906113a1565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61110a8487611344565b60405190815260200160405180910390a35050505050565b5f602080835283518060208501525f5b8181101561114e57858101830151858201604001528201611132565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611182575f80fd5b50565b5f8060408385031215611196575f80fd5b82356111a18161116e565b946020939093013593505050565b5f805f606084860312156111c1575f80fd5b83356111cc8161116e565b925060208401356111dc8161116e565b929592945050506040919091013590565b5f602082840312156111fd575f80fd5b81356112088161116e565b9392505050565b5f805f805f60a08688031215611223575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f60208284031215611256575f80fd5b5035919050565b8015158114611182575f80fd5b5f806040838503121561127b575f80fd5b82356112868161116e565b915060208301356112968161125d565b809150509250929050565b5f80604083850312156112b2575f80fd5b82356112bd8161116e565b915060208301356112968161116e565b600181811c908216806112e157607f821691505b6020821081036112ff57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f611330565b5f60208284031215611367575f80fd5b5051919050565b5f6020828403121561137e575f80fd5b81516112088161125d565b5f6001820161139a5761139a611330565b5060010190565b8082018082111561059f5761059f611330565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156113d8575f80fd5b81516112088161116e565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156114335784516001600160a01b03168352938301939183019160010161140e565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761059f5761059f611330565b5f8261148557634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220b6e0b45075c4d6116b62322456514677de314e8b18b0e509e4e7e20937237dd264736f6c63430008170033

Deployed Bytecode Sourcemap

3105:8132:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5188:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5951:159;;;;;;;;;;-1:-1:-1;5951:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5951:159:0;1023:187:1;10216:78:0;;;;;;;;;;;;;:::i;:::-;;5392:100;;;;;;;;;;-1:-1:-1;5472:12:0;;5392:100;;;1361:25:1;;;1349:2;1334:18;5392:100:0;1215:177:1;6118:336:0;;;;;;;;;;-1:-1:-1;6118:336:0;;;;;:::i;:::-;;:::i;6914:26::-;;;;;;;;;;;;;;;;5290:94;;;;;;;;;;-1:-1:-1;5367:9:0;;5290:94;;5367:9;;;;2000:36:1;;1988:2;1973:18;5290:94:0;1858:184:1;3393:49:0;;;;;;;;;;-1:-1:-1;3393:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4971:103;;;;;;;;;;-1:-1:-1;4971:103:0;;;;;:::i;:::-;;:::i;3527:44::-;;;;;;;;;;-1:-1:-1;3527:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7234:406;;;;;;;;;;-1:-1:-1;7234:406:0;;;;;:::i;:::-;;:::i;3653:27::-;;;;;;;;;;-1:-1:-1;3653:27:0;;;;;;;-1:-1:-1;;;;;3653:27:0;;;;;;-1:-1:-1;;;;;3182:32:1;;;3164:51;;3152:2;3137:18;3653:27:0;3018:203:1;10026:30:0;;;;;;;;;;;;;;;;7675:117;;;;;;;;;;-1:-1:-1;7675:117:0;;;;;:::i;:::-;;:::i;3484:36::-;;;;;;;;;;-1:-1:-1;3484:36:0;;;;-1:-1:-1;;;;;3484:36:0;;;10063:145;;;;;;;;;;;;;:::i;5500:119::-;;;;;;;;;;-1:-1:-1;5500:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5593:18:0;5566:7;5593:18;;;:9;:18;;;;;;;5500:119;2728:148;;;;;;;;;;;;;:::i;3274:26::-;;;;;;;;;;-1:-1:-1;3274:26:0;;;;-1:-1:-1;;;;;3274:26:0;;;2531:79;;;;;;;;;;-1:-1:-1;2569:7:0;2596:6;-1:-1:-1;;;;;2596:6:0;2531:79;;5082:98;;;;;;;;;;;;;:::i;11068:129::-;;;;;;;;;;-1:-1:-1;11068:129:0;;;;;:::i;:::-;;:::i;10302:217::-;;;;;;;;;;-1:-1:-1;10302:217:0;;;;;:::i;:::-;;:::i;5627:165::-;;;;;;;;;;-1:-1:-1;5627:165:0;;;;;:::i;:::-;;:::i;5800:143::-;;;;;;;;;;-1:-1:-1;5800:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5908:18:0;;;5881:7;5908:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5800:143;2884:214;;;;;;;;;;-1:-1:-1;2884:214:0;;;;;:::i;:::-;;:::i;5188:94::-;5236:13;5269:5;5262:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5188:94;:::o;5951:159::-;6026:4;6043:37;6052:10;6064:7;6073:6;6043:8;:37::i;:::-;-1:-1:-1;6098:4:0;5951:159;;;;;:::o;10216:78::-;2658:6;;-1:-1:-1;;;;;2658:6:0;2668:10;2658:20;2650:50;;;;-1:-1:-1;;;2650:50:0;;;;;;;:::i;:::-;;;;;;;;;10285:1:::1;10267:15;:19:::0;10216:78::o;6118:336::-;6216:4;6233:36;6243:6;6251:9;6262:6;6233:9;:36::i;:::-;-1:-1:-1;;;;;6284:19:0;;3644:1;6284:19;;;:11;:19;;;;;;;;6304:10;6284:31;;;;;;;;-1:-1:-1;;6284:38:0;6280:145;;-1:-1:-1;;;;;6373:19:0;;;;;;:11;:19;;;;;;;;6393:10;6373:31;;;;;;;;:40;;6407:6;;6373:40;:::i;:::-;-1:-1:-1;;;;;6339:19:0;;;;;;:11;:19;;;;;;;;6359:10;6339:31;;;;;;;:74;6280:145;-1:-1:-1;6442:4:0;6118:336;;;;;:::o;4971:103::-;2658:6;;-1:-1:-1;;;;;2658:6:0;2668:10;2658:20;2650:50;;;;-1:-1:-1;;;2650:50:0;;;;;;;:::i;:::-;5054:3:::1;:12:::0;;-1:-1:-1;;;;;;5054:12:0::1;-1:-1:-1::0;;;;;5054:12:0;;;::::1;::::0;;;::::1;::::0;;4971:103::o;7234:406::-;2658:6;;-1:-1:-1;;;;;2658:6:0;2668:10;2658:20;2650:50;;;;-1:-1:-1;;;2650:50:0;;;;;;;:::i;:::-;7441:12:::1;:21:::0;;;;7473:13:::1;:23:::0;;;;7507:15:::1;:30:::0;7548:16:::1;:32:::0;7591:18:::1;:41:::0;7234:406::o;7675:117::-;2658:6;;-1:-1:-1;;;;;2658:6:0;2668:10;2658:20;2650:50;;;;-1:-1:-1;;;2650:50:0;;;;;;;:::i;:::-;7761:12:::1;:23:::0;7675:117::o;10063:145::-;2658:6;;-1:-1:-1;;;;;2658:6:0;2668:10;2658:20;2650:50;;;;-1:-1:-1;;;2650:50:0;;;;;;;:::i;:::-;10121:15:::1;::::0;:20;10113:46:::1;;;::::0;-1:-1:-1;;;10113:46:0;;5966:2:1;10113:46:0::1;::::0;::::1;5948:21:1::0;6005:2;5985:18;;;5978:30;-1:-1:-1;;;6024:18:1;;;6017:43;6077:18;;10113:46:0::1;5764:337:1::0;10113:46:0::1;10188:12;10170:15;:30:::0;10063:145::o;2728:148::-;2658:6;;-1:-1:-1;;;;;2658:6:0;2668:10;2658:20;2650:50;;;;-1:-1:-1;;;2650:50:0;;;;;;;:::i;:::-;2835:1:::1;2819:6:::0;;2798:40:::1;::::0;-1:-1:-1;;;;;2819:6:0;;::::1;::::0;2798:40:::1;::::0;2835:1;;2798:40:::1;2866:1;2849:19:::0;;-1:-1:-1;;;;;;2849:19:0::1;::::0;;2728:148::o;5082:98::-;5132:13;5165:7;5158:14;;;;;:::i;11068:129::-;2658:6;;-1:-1:-1;;;;;2658:6:0;2668:10;2658:20;2650:50;;;;-1:-1:-1;;;2650:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11155:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;11155:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11068:129::o;10302:217::-;10381:3;;-1:-1:-1;;;;;10381:3:0;10367:10;:17;10359:26;;;;;;10420:3;;10425:39;;-1:-1:-1;;;10425:39:0;;10458:4;10425:39;;;3164:51:1;-1:-1:-1;;;;;10396:23:0;;;;;;10420:3;;;10396:23;;10425:24;;3137:18:1;;10425:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10396:69;;-1:-1:-1;;;;;;10396:69:0;;;;;;;-1:-1:-1;;;;;6495:32:1;;;10396:69:0;;;6477:51:1;6544:18;;;6537:34;6450:18;;10396:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10476:3:0;;:35;;-1:-1:-1;;;;;10476:3:0;;;;10489:21;10476:35;;;;;:3;:35;:3;:35;10489:21;10476:3;:35;;;;;;;;;;;;;;;;;;;;;10302:217;:::o;5627:165::-;5705:4;5722:40;5732:10;5744:9;5755:6;5722:9;:40::i;2884:214::-;2658:6;;-1:-1:-1;;;;;2658:6:0;2668:10;2658:20;2650:50;;;;-1:-1:-1;;;2650:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2973:22:0;::::1;2965:43;;;::::0;-1:-1:-1;;;2965:43:0;;7034:2:1;2965:43:0::1;::::0;::::1;7016:21:1::0;7073:1;7053:18;;;7046:29;-1:-1:-1;;;7091:18:1;;;7084:38;7139:18;;2965:43:0::1;6832:331:1::0;2965:43:0::1;3045:6;::::0;;3024:38:::1;::::0;-1:-1:-1;;;;;3024:38:0;;::::1;::::0;3045:6;::::1;::::0;3024:38:::1;::::0;::::1;3073:6;:17:::0;;-1:-1:-1;;;;;;3073:17:0::1;-1:-1:-1::0;;;;;3073:17:0;;;::::1;::::0;;;::::1;::::0;;2884:214::o;6462:177::-;-1:-1:-1;;;;;6547:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6599:32;;1361:25:1;;;6599:32:0;;1334:18:1;6599:32:0;;;;;;;6462:177;;;:::o;7800:1177::-;-1:-1:-1;;;;;5593:18:0;;7914:15;5593:18;;;:9;:18;;;;;;7966:17;;;;7958:46;;;;-1:-1:-1;;;7958:46:0;;7370:2:1;7958:46:0;;;7352:21:1;7409:2;7389:18;;;7382:30;-1:-1:-1;;;7428:18:1;;;7421:46;7484:18;;7958:46:0;7168:340:1;7958:46:0;8021:6;;;;8017:91;;;8043:32;8058:4;8064:2;8068:6;8043:14;:32::i;:::-;;8090:7;7800:1177;;;:::o;8017:91::-;-1:-1:-1;;;;;8149:16:0;;8120:12;8149:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;8170:6:0;;;;8169:7;8149:27;:55;;;;-1:-1:-1;;;;;;8181:23:0;;;;;;:17;:23;;;;;;;;8180:24;8149:55;:81;;;;-1:-1:-1;;;;;;8209:21:0;;;;;;:17;:21;;;;;;;;8208:22;8149:81;:115;;;;;8246:18;;8234:9;;:30;8149:115;8145:424;;;8364:4;5566:7;5593:18;;;:9;:18;;;;;;8305:6;;8330:13;:40;8326:120;;;-1:-1:-1;8424:4:0;8406:24;;;;:9;:24;;;;;;8326:120;8480:12;;8464:13;:28;8460:98;;;8512:30;8528:13;8512:15;:30::i;:::-;8266:303;8145:424;-1:-1:-1;;;;;8586:23:0;;;;;;:17;:23;;;;;;;;8585:24;:50;;;;-1:-1:-1;;;;;;8614:21:0;;;;;;:17;:21;;;;;;;;8613:22;8585:50;:61;;;;-1:-1:-1;8640:6:0;;;;8639:7;8585:61;8581:335;;;8689:1;8671:15;;:19;8663:28;;;;;;-1:-1:-1;;;;;;8778:18:0;;;;;;:12;:18;;;;;;8716:4;;8778:18;;:51;;;;-1:-1:-1;8814:14:0;;-1:-1:-1;;;;;8800:29:0;;;8814:14;;8800:29;;8778:51;:77;;;;-1:-1:-1;;;;;;8834:21:0;;;;;;:17;:21;;;;;;;;8833:22;8778:77;8774:129;;;8876:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8774:129;8928:41;8943:4;8949:2;8953:6;8961:7;8928:14;:41::i;6647:259::-;-1:-1:-1;;;;;6757:17:0;;6740:4;6757:17;;;:9;:17;;;;;:27;;6778:6;;6757:17;6740:4;;6757:27;;6778:6;;6757:27;:::i;:::-;;;;-1:-1:-1;;;;;;;6795:20:0;;;;;;:9;:20;;;;;:30;;6819:6;;6795:20;:30;;6819:6;;6795:30;:::i;:::-;;;;;;;;6858:9;-1:-1:-1;;;;;6841:35:0;6850:6;-1:-1:-1;;;;;6841:35:0;;6869:6;6841:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;6841:35:0;;;;;;;;-1:-1:-1;6894:4:0;6647:259;;;;;:::o;10527:533::-;3719:6;:13;;-1:-1:-1;;3719:13:0;3728:4;3719:13;;;10628:16:::1;::::0;;10642:1:::1;10628:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10628:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10628:16:0::1;10604:40;;10673:4;10655;10660:1;10655:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10655:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10699:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;10699:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;10655:7;;10699:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10689:4;10694:1;10689:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10689:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;10731:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;10731:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;10811:11;;10731:14:::1;::::0;10853:4;;10880::::1;::::0;10900:15:::1;::::0;10731:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;10954:21:0::1;::::0;-1:-1:-1;;;10997:10:0::1;10990:17:::0;::::1;10986:67;;;11023:3;::::0;:18:::1;::::0;-1:-1:-1;;;;;11023:3:0;;::::1;::::0;:18;::::1;;;::::0;11036:4;;11023:3:::1;:18:::0;:3;:18;11036:4;11023:3;:18;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10986:67;-1:-1:-1::0;;3755:6:0;:14;;-1:-1:-1;;3755:14:0;;;-1:-1:-1;10527:533:0:o;8985:1031::-;-1:-1:-1;;;;;9157:17:0;;;;;;:9;:17;;;;;;:27;;9177:7;;9157:27;:::i;:::-;-1:-1:-1;;;;;9137:17:0;;;;;;:9;:17;;;;;:47;;;;9225:638;;;;-1:-1:-1;;;;;9286:23:0;;9253:14;9286:23;;;:12;:23;;;;;;;;9282:270;;;9351:16;;9339:9;;:28;:62;;9386:15;;9339:62;;;9370:13;;9339:62;9330:71;;9282:270;;;-1:-1:-1;;;;;9427:20:0;;;;;;:12;:20;;;;;;;;9423:129;;;9489:15;;9477:9;;:27;:59;;9522:14;;9477:59;;;9507:12;;9477:59;9468:68;;9423:129;9566:18;9606:3;9587:16;9597:6;9587:7;:16;:::i;:::-;:22;;;;:::i;:::-;9566:43;-1:-1:-1;9628:14:0;;9624:228;;9663:23;9676:10;9663:23;;:::i;:::-;9750:4;9732:24;;;;:9;:24;;;;;;9663:23;;-1:-1:-1;9732:37:0;;9759:10;;9732:37;:::i;:::-;9723:4;9705:24;;;;:9;:24;;;;;;;:64;;;;9793:43;;-1:-1:-1;;;;;9793:43:0;;;;;;;9825:10;1361:25:1;;1349:2;1334:18;;1215:177;9793:43:0;;;;;;;;9624:228;9238:625;;9225:638;9922:19;9932:9;9922:7;:19;:::i;:::-;-1:-1:-1;;;;;9898:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;9875:20:0;;;;;;;:9;:20;;;;;:67;;;;9958:48;;;9986:19;9996:9;9986:7;:19;:::i;:::-;9958:48;;1361:25:1;;;1349:2;1334:18;9958:48:0;;;;;;;9126:890;8985:1031;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;:::-;2283:5;2047:247;-1:-1:-1;;;2047:247:1:o;2559:454::-;2654:6;2662;2670;2678;2686;2739:3;2727:9;2718:7;2714:23;2710:33;2707:53;;;2756:1;2753;2746:12;2707:53;-1:-1:-1;;2779:23:1;;;2849:2;2834:18;;2821:32;;-1:-1:-1;2900:2:1;2885:18;;2872:32;;2951:2;2936:18;;2923:32;;-1:-1:-1;3002:3:1;2987:19;2974:33;;-1:-1:-1;2559:454:1;-1:-1:-1;2559:454:1:o;3226:180::-;3285:6;3338:2;3326:9;3317:7;3313:23;3309:32;3306:52;;;3354:1;3351;3344:12;3306:52;-1:-1:-1;3377:23:1;;3226:180;-1:-1:-1;3226:180:1:o;3865:118::-;3951:5;3944:13;3937:21;3930:5;3927:32;3917:60;;3973:1;3970;3963:12;3988:382;4053:6;4061;4114:2;4102:9;4093:7;4089:23;4085:32;4082:52;;;4130:1;4127;4120:12;4082:52;4169:9;4156:23;4188:31;4213:5;4188:31;:::i;:::-;4238:5;-1:-1:-1;4295:2:1;4280:18;;4267:32;4308:30;4267:32;4308:30;:::i;:::-;4357:7;4347:17;;;3988:382;;;;;:::o;4375:388::-;4443:6;4451;4504:2;4492:9;4483:7;4479:23;4475:32;4472:52;;;4520:1;4517;4510:12;4472:52;4559:9;4546:23;4578:31;4603:5;4578:31;:::i;:::-;4628:5;-1:-1:-1;4685:2:1;4670:18;;4657:32;4698:33;4657:32;4698:33;:::i;4768:380::-;4847:1;4843:12;;;;4890;;;4911:61;;4965:4;4957:6;4953:17;4943:27;;4911:61;5018:2;5010:6;5007:14;4987:18;4984:38;4981:161;;5064:10;5059:3;5055:20;5052:1;5045:31;5099:4;5096:1;5089:15;5127:4;5124:1;5117:15;4981:161;;4768:380;;;:::o;5153:341::-;5355:2;5337:21;;;5394:2;5374:18;;;5367:30;-1:-1:-1;;;5428:2:1;5413:18;;5406:47;5485:2;5470:18;;5153:341::o;5499:127::-;5560:10;5555:3;5551:20;5548:1;5541:31;5591:4;5588:1;5581:15;5615:4;5612:1;5605:15;5631:128;5698:9;;;5719:11;;;5716:37;;;5733:18;;:::i;6106:184::-;6176:6;6229:2;6217:9;6208:7;6204:23;6200:32;6197:52;;;6245:1;6242;6235:12;6197:52;-1:-1:-1;6268:16:1;;6106:184;-1:-1:-1;6106:184:1:o;6582:245::-;6649:6;6702:2;6690:9;6681:7;6677:23;6673:32;6670:52;;;6718:1;6715;6708:12;6670:52;6750:9;6744:16;6769:28;6791:5;6769:28;:::i;7513:135::-;7552:3;7573:17;;;7570:43;;7593:18;;:::i;:::-;-1:-1:-1;7640:1:1;7629:13;;7513:135::o;7653:125::-;7718:9;;;7739:10;;;7736:36;;;7752:18;;:::i;7915:127::-;7976:10;7971:3;7967:20;7964:1;7957:31;8007:4;8004:1;7997:15;8031:4;8028:1;8021:15;8047:251;8117:6;8170:2;8158:9;8149:7;8145:23;8141:32;8138:52;;;8186:1;8183;8176:12;8138:52;8218:9;8212:16;8237:31;8262:5;8237:31;:::i;8303:980::-;8565:4;8613:3;8602:9;8598:19;8644:6;8633:9;8626:25;8670:2;8708:6;8703:2;8692:9;8688:18;8681:34;8751:3;8746:2;8735:9;8731:18;8724:31;8775:6;8810;8804:13;8841:6;8833;8826:22;8879:3;8868:9;8864:19;8857:26;;8918:2;8910:6;8906:15;8892:29;;8939:1;8949:195;8963:6;8960:1;8957:13;8949:195;;;9028:13;;-1:-1:-1;;;;;9024:39:1;9012:52;;9119:15;;;;9084:12;;;;9060:1;8978:9;8949:195;;;-1:-1:-1;;;;;;;9200:32:1;;;;9195:2;9180:18;;9173:60;-1:-1:-1;;;9264:3:1;9249:19;9242:35;9161:3;8303:980;-1:-1:-1;;;8303:980:1:o;9288:168::-;9361:9;;;9392;;9409:15;;;9403:22;;9389:37;9379:71;;9430:18;;:::i;9461:217::-;9501:1;9527;9517:132;;9571:10;9566:3;9562:20;9559:1;9552:31;9606:4;9603:1;9596:15;9634:4;9631:1;9624:15;9517:132;-1:-1:-1;9663:9:1;;9461:217::o

Swarm Source

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