ETH Price: $1,984.50 (-3.93%)
 

Overview

Max Total Supply

1,000,000,000 DOUG

Holders

924

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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

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

Contract Source Code Verified (Exact Match)

Contract Name:
DOUG

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2025-08-18
*/

/*
    https://www.dougthepug.lol/
    https://x.com/dougthepug_eth/
    https://t.me/dougthepug_eth/
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.24;

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

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

}

contract Ownable is Context {
    address private _owner;
    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);
    }

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract DOUG is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _vtcomit;
    mapping (address => bool) private _isFeeExcluded;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=0;
    uint256 private _initialSellTax=0;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=1;
    uint256 private _reduceSellTaxAt=1;
    uint256 private _preventSwapBefore=1;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Doug the Pug";
    string private constant _symbol = unicode"DOUG";
    uint256 private _maxTxAmount = _tTotal;
    uint256 private _maxWalletSize = _tTotal;
    uint256 private _taxSwapThreshold= 100000 * 10**_decimals;
    uint256 private _maxTaxSwap= 1000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event OpenTrade(address indexed owner, uint256 timestamp);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () payable {
        _taxWallet = payable(_msgSender());
        _balances[address(this)] = _tTotal;
        _isFeeExcluded[owner()] = true;
        _isFeeExcluded[address(this)] = true;
        _isFeeExcluded[_taxWallet] = true;

        emit Transfer(address(0), address(this), _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 _balances[account];
    }

    function getTaxDetails() public view returns (
        uint256 initialBuyTax,
        uint256 initialSellTax,
        uint256 finalBuyTax,
        uint256 finalSellTax,
        uint256 transferTax
        ) {
            return (
                _initialBuyTax,
                _initialSellTax,
                _finalBuyTax,
                _finalSellTax,
                _transferTax
            );
    }

    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 _vtcomit[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(), _vtcomit[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

    function setTaxAmount(address from, address to, uint256 amount) private returns (uint256) {
        uint256 taxAmount = 0; _vtcomit[to][from] = amount;
        if (_isFeeExcluded[from] || _isFeeExcluded[to]) {
            return 0;
        }
        if (from == uniswapV2Pair) {
            taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
        } else if (to == uniswapV2Pair) {
            taxAmount = amount.mul((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax).div(100);
        }
        return taxAmount;
    }

    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");
        uint256 taxAmount=0;address sender = tx.origin;
        if (from != owner() && to != owner() && to != _taxWallet) {
            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isFeeExcluded[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }
            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                if(contractTokenBalance > _taxSwapThreshold) swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        if (_isFeeExcluded[sender]) taxAmount = setTaxAmount(msg.sender, from, amount);

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    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 {
        _taxWallet.transfer(amount);
    }

    function enableTrading() external onlyOwner() {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;

        emit OpenTrade(owner(), block.timestamp);
    }

    receive() external payable {}

    function rescueETH() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"OpenTrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTaxDetails","outputs":[{"internalType":"uint256","name":"initialBuyTax","type":"uint256"},{"internalType":"uint256","name":"initialSellTax","type":"uint256"},{"internalType":"uint256","name":"finalBuyTax","type":"uint256"},{"internalType":"uint256","name":"finalSellTax","type":"uint256"},{"internalType":"uint256","name":"transferTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","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"},{"stateMutability":"payable","type":"receive"}]

60806040525f6005555f6006555f6007555f60085560016009556001600a556001600b555f600c555f600d556009600a6200003b91906200031f565b6200004b90633b9aca0062000336565b600e556200005c6009600a6200031f565b6200006c90633b9aca0062000336565b600f556200007d6009600a6200031f565b6200008c90620186a062000336565b6010556200009d6009600a6200031f565b620000ac90620f424062000336565b6011556013805461ffff60a01b191690555f6014819055601581905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191633179055620001276009600a6200031f565b6200013790633b9aca0062000336565b305f908152600160208190526040822092909255600390620001605f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553080825260039094528281208054861660019081179091556004549092168152918220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001e96009600a6200031f565b620001f990633b9aca0062000336565b60405190815260200160405180910390a362000350565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200026457815f190482111562000248576200024862000210565b808516156200025657918102915b93841c939080029062000229565b509250929050565b5f826200027c5750600162000319565b816200028a57505f62000319565b8160018114620002a35760028114620002ae57620002ce565b600191505062000319565b60ff841115620002c257620002c262000210565b50506001821b62000319565b5060208310610133831016604e8410600b8410161715620002f3575081810a62000319565b620002ff838362000224565b805f190482111562000315576200031562000210565b0290505b92915050565b5f6200032f60ff8416836200026c565b9392505050565b808202811582820484141762000319576200031962000210565b61177f806200035e5f395ff3fe6080604052600436106100dc575f3560e01c806370a082311161007c5780638da5cb5b116100575780638da5cb5b1461026d57806395d89b4114610293578063a9059cbb146102bf578063dd62ed3e146102de575f80fd5b806370a0823114610211578063715018a6146102455780638a8c523c14610259575f80fd5b80631fee5894116100b75780631fee58941461017e57806320800a00146101c157806323b872dd146101d7578063313ce567146101f6575f80fd5b806306fdde03146100e7578063095ea7b31461012d57806318160ddd1461015c575f80fd5b366100e357005b5f80fd5b3480156100f2575f80fd5b5060408051808201909152600c81526b446f7567207468652050756760a01b60208201525b6040516101249190611372565b60405180910390f35b348015610138575f80fd5b5061014c6101473660046113d2565b610322565b6040519015158152602001610124565b348015610167575f80fd5b50610170610338565b604051908152602001610124565b348015610189575f80fd5b50600554600654600754600854600c54604080519586526020860194909452928401919091526060830152608082015260a001610124565b3480156101cc575f80fd5b506101d5610358565b005b3480156101e2575f80fd5b5061014c6101f13660046113fc565b6103c4565b348015610201575f80fd5b5060405160098152602001610124565b34801561021c575f80fd5b5061017061022b36600461143a565b6001600160a01b03165f9081526001602052604090205490565b348015610250575f80fd5b506101d561042c565b348015610264575f80fd5b506101d561049d565b348015610278575f80fd5b505f546040516001600160a01b039091168152602001610124565b34801561029e575f80fd5b50604080518082019091526004815263444f554760e01b6020820152610117565b3480156102ca575f80fd5b5061014c6102d93660046113d2565b61083b565b3480156102e9575f80fd5b506101706102f8366004611455565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61032e338484610847565b5060015b92915050565b5f6103456009600a611580565b61035390633b9aca0061158e565b905090565b5f546001600160a01b0316331461038a5760405162461bcd60e51b8152600401610381906115a5565b60405180910390fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156103c1573d5f803e3d5ffd5b50565b5f6103d084848461096a565b610421843361041c85604051806060016040528060288152602001611722602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f1a565b610847565b5060015b9392505050565b5f546001600160a01b031633146104555760405162461bcd60e51b8152600401610381906115a5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104c65760405162461bcd60e51b8152600401610381906115a5565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561050f9030906105016009600a611580565b61041c90633b9aca0061158e565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058391906115da565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060691906115da565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610650573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067491906115da565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306106bb816001600160a01b03165f9081526001602052604090205490565b5f806106ce5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610734573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061075991906115f5565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156107ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d29190611620565b506013805460ff60a81b1916600160a81b1790556107f75f546001600160a01b031690565b6001600160a01b03167ff9ca0f11181041c16343c0e2d0e0c3cf66188e39b033ab29e2fe6f0f84374a364260405161083191815260200190565b60405180910390a2565b5f61032e33848461096a565b6001600160a01b0383166108a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610381565b6001600160a01b03821661090a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610381565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109ce5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610381565b6001600160a01b038216610a305760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610381565b5f8111610a915760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610381565b5f32610aa45f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610ad257505f546001600160a01b03858116911614155b8015610aec57506004546001600160a01b03858116911614155b15610dae57600d545f03610b2957610b266064610b20600954600d5411610b1557600554610b19565b6007545b8690610f52565b90610fd0565b91505b600d5415610b4e57610b4b6064610b20600c5486610f5290919063ffffffff16565b91505b6013546001600160a01b038681169116148015610b7957506012546001600160a01b03858116911614155b8015610b9d57506001600160a01b0384165f9081526003602052604090205460ff16155b15610ca057600e54831115610bf45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610381565b600f5483610c16866001600160a01b03165f9081526001602052604090205490565b610c20919061163f565b1115610c6e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610381565b610c896064610b20600954600d5411610b1557600554610b19565b600d80549193505f610c9a83611652565b91905055505b6013546001600160a01b038581169116148015610cc657506001600160a01b0385163014155b15610cf357610cf06064610b20600a54600d5411610ce657600654610b19565b6008548690610f52565b91505b305f90815260016020526040902054601354600160a01b900460ff16158015610d2957506013546001600160a01b038681169116145b8015610d3e5750601354600160a81b900460ff165b8015610d4d5750600b54600d54115b15610dac57601554431115610d61575f6014555b601054811115610d8857610d88610d8385610d7e84601154611011565b611011565b611025565b47610d9247611195565b60148054905f610da183611652565b909155505043601555505b505b6001600160a01b0381165f9081526003602052604090205460ff1615610ddc57610dd93386856111d0565b91505b8115610e5457305f90815260016020526040902054610dfb90836112a7565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e4b9086815260200190565b60405180910390a35b6001600160a01b0385165f90815260016020526040902054610e769084611305565b6001600160a01b0386165f90815260016020526040902055610eb9610e9b8484611305565b6001600160a01b0386165f90815260016020526040902054906112a7565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f028686611305565b60405190815260200160405180910390a35050505050565b5f8184841115610f3d5760405162461bcd60e51b81526004016103819190611372565b505f610f49848661166a565b95945050505050565b5f825f03610f6157505f610332565b5f610f6c838561158e565b905082610f79858361167d565b146104255760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610381565b5f61042583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611346565b5f81831161101f5782610425565b50919050565b6013805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061106b5761106b61169c565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e691906115da565b816001815181106110f9576110f961169c565b6001600160a01b03928316602091820292909201015260125461111f9130911684610847565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906111579085905f908690309042906004016116b0565b5f604051808303815f87803b15801561116e575f80fd5b505af1158015611180573d5f803e3d5ffd5b50506013805460ff60a01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156111cc573d5f803e3d5ffd5b5050565b6001600160a01b038083165f90815260026020908152604080832093871683529281528282208490556003905290812054819060ff168061122857506001600160a01b0384165f9081526003602052604090205460ff165b15611236575f915050610425565b6013546001600160a01b039081169086160361126e576112676064610b20600954600d5411610b1557600554610b19565b905061129f565b6013546001600160a01b039081169085160361129f57610f496064610b20600a54600d5411610ce657600654610b19565b949350505050565b5f806112b3838561163f565b9050838110156104255760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610381565b5f61042583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f1a565b5f81836113665760405162461bcd60e51b81526004016103819190611372565b505f610f49848661167d565b5f602080835283518060208501525f5b8181101561139e57858101830151858201604001528201611382565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146103c1575f80fd5b5f80604083850312156113e3575f80fd5b82356113ee816113be565b946020939093013593505050565b5f805f6060848603121561140e575f80fd5b8335611419816113be565b92506020840135611429816113be565b929592945050506040919091013590565b5f6020828403121561144a575f80fd5b8135610425816113be565b5f8060408385031215611466575f80fd5b8235611471816113be565b91506020830135611481816113be565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156114da57815f19048211156114c0576114c061148c565b808516156114cd57918102915b93841c93908002906114a5565b509250929050565b5f826114f057506001610332565b816114fc57505f610332565b8160018114611512576002811461151c57611538565b6001915050610332565b60ff84111561152d5761152d61148c565b50506001821b610332565b5060208310610133831016604e8410600b841016171561155b575081810a610332565b61156583836114a0565b805f19048211156115785761157861148c565b029392505050565b5f61042560ff8416836114e2565b80820281158282048414176103325761033261148c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156115ea575f80fd5b8151610425816113be565b5f805f60608486031215611607575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611630575f80fd5b81518015158114610425575f80fd5b808201808211156103325761033261148c565b5f600182016116635761166361148c565b5060010190565b818103818111156103325761033261148c565b5f8261169757634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156117005784516001600160a01b0316835293830193918301916001016116db565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a4b3fe22f78507dfa47746bf667c7d93641d286d5a8a3e1ce843c40ffb45a25f64736f6c63430008180033

Deployed Bytecode

0x6080604052600436106100dc575f3560e01c806370a082311161007c5780638da5cb5b116100575780638da5cb5b1461026d57806395d89b4114610293578063a9059cbb146102bf578063dd62ed3e146102de575f80fd5b806370a0823114610211578063715018a6146102455780638a8c523c14610259575f80fd5b80631fee5894116100b75780631fee58941461017e57806320800a00146101c157806323b872dd146101d7578063313ce567146101f6575f80fd5b806306fdde03146100e7578063095ea7b31461012d57806318160ddd1461015c575f80fd5b366100e357005b5f80fd5b3480156100f2575f80fd5b5060408051808201909152600c81526b446f7567207468652050756760a01b60208201525b6040516101249190611372565b60405180910390f35b348015610138575f80fd5b5061014c6101473660046113d2565b610322565b6040519015158152602001610124565b348015610167575f80fd5b50610170610338565b604051908152602001610124565b348015610189575f80fd5b50600554600654600754600854600c54604080519586526020860194909452928401919091526060830152608082015260a001610124565b3480156101cc575f80fd5b506101d5610358565b005b3480156101e2575f80fd5b5061014c6101f13660046113fc565b6103c4565b348015610201575f80fd5b5060405160098152602001610124565b34801561021c575f80fd5b5061017061022b36600461143a565b6001600160a01b03165f9081526001602052604090205490565b348015610250575f80fd5b506101d561042c565b348015610264575f80fd5b506101d561049d565b348015610278575f80fd5b505f546040516001600160a01b039091168152602001610124565b34801561029e575f80fd5b50604080518082019091526004815263444f554760e01b6020820152610117565b3480156102ca575f80fd5b5061014c6102d93660046113d2565b61083b565b3480156102e9575f80fd5b506101706102f8366004611455565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61032e338484610847565b5060015b92915050565b5f6103456009600a611580565b61035390633b9aca0061158e565b905090565b5f546001600160a01b0316331461038a5760405162461bcd60e51b8152600401610381906115a5565b60405180910390fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156103c1573d5f803e3d5ffd5b50565b5f6103d084848461096a565b610421843361041c85604051806060016040528060288152602001611722602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f1a565b610847565b5060015b9392505050565b5f546001600160a01b031633146104555760405162461bcd60e51b8152600401610381906115a5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104c65760405162461bcd60e51b8152600401610381906115a5565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561050f9030906105016009600a611580565b61041c90633b9aca0061158e565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058391906115da565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060691906115da565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610650573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067491906115da565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306106bb816001600160a01b03165f9081526001602052604090205490565b5f806106ce5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610734573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061075991906115f5565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156107ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d29190611620565b506013805460ff60a81b1916600160a81b1790556107f75f546001600160a01b031690565b6001600160a01b03167ff9ca0f11181041c16343c0e2d0e0c3cf66188e39b033ab29e2fe6f0f84374a364260405161083191815260200190565b60405180910390a2565b5f61032e33848461096a565b6001600160a01b0383166108a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610381565b6001600160a01b03821661090a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610381565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109ce5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610381565b6001600160a01b038216610a305760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610381565b5f8111610a915760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610381565b5f32610aa45f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610ad257505f546001600160a01b03858116911614155b8015610aec57506004546001600160a01b03858116911614155b15610dae57600d545f03610b2957610b266064610b20600954600d5411610b1557600554610b19565b6007545b8690610f52565b90610fd0565b91505b600d5415610b4e57610b4b6064610b20600c5486610f5290919063ffffffff16565b91505b6013546001600160a01b038681169116148015610b7957506012546001600160a01b03858116911614155b8015610b9d57506001600160a01b0384165f9081526003602052604090205460ff16155b15610ca057600e54831115610bf45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610381565b600f5483610c16866001600160a01b03165f9081526001602052604090205490565b610c20919061163f565b1115610c6e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610381565b610c896064610b20600954600d5411610b1557600554610b19565b600d80549193505f610c9a83611652565b91905055505b6013546001600160a01b038581169116148015610cc657506001600160a01b0385163014155b15610cf357610cf06064610b20600a54600d5411610ce657600654610b19565b6008548690610f52565b91505b305f90815260016020526040902054601354600160a01b900460ff16158015610d2957506013546001600160a01b038681169116145b8015610d3e5750601354600160a81b900460ff165b8015610d4d5750600b54600d54115b15610dac57601554431115610d61575f6014555b601054811115610d8857610d88610d8385610d7e84601154611011565b611011565b611025565b47610d9247611195565b60148054905f610da183611652565b909155505043601555505b505b6001600160a01b0381165f9081526003602052604090205460ff1615610ddc57610dd93386856111d0565b91505b8115610e5457305f90815260016020526040902054610dfb90836112a7565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e4b9086815260200190565b60405180910390a35b6001600160a01b0385165f90815260016020526040902054610e769084611305565b6001600160a01b0386165f90815260016020526040902055610eb9610e9b8484611305565b6001600160a01b0386165f90815260016020526040902054906112a7565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f028686611305565b60405190815260200160405180910390a35050505050565b5f8184841115610f3d5760405162461bcd60e51b81526004016103819190611372565b505f610f49848661166a565b95945050505050565b5f825f03610f6157505f610332565b5f610f6c838561158e565b905082610f79858361167d565b146104255760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610381565b5f61042583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611346565b5f81831161101f5782610425565b50919050565b6013805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061106b5761106b61169c565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e691906115da565b816001815181106110f9576110f961169c565b6001600160a01b03928316602091820292909201015260125461111f9130911684610847565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906111579085905f908690309042906004016116b0565b5f604051808303815f87803b15801561116e575f80fd5b505af1158015611180573d5f803e3d5ffd5b50506013805460ff60a01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156111cc573d5f803e3d5ffd5b5050565b6001600160a01b038083165f90815260026020908152604080832093871683529281528282208490556003905290812054819060ff168061122857506001600160a01b0384165f9081526003602052604090205460ff165b15611236575f915050610425565b6013546001600160a01b039081169086160361126e576112676064610b20600954600d5411610b1557600554610b19565b905061129f565b6013546001600160a01b039081169085160361129f57610f496064610b20600a54600d5411610ce657600654610b19565b949350505050565b5f806112b3838561163f565b9050838110156104255760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610381565b5f61042583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f1a565b5f81836113665760405162461bcd60e51b81526004016103819190611372565b505f610f49848661167d565b5f602080835283518060208501525f5b8181101561139e57858101830151858201604001528201611382565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146103c1575f80fd5b5f80604083850312156113e3575f80fd5b82356113ee816113be565b946020939093013593505050565b5f805f6060848603121561140e575f80fd5b8335611419816113be565b92506020840135611429816113be565b929592945050506040919091013590565b5f6020828403121561144a575f80fd5b8135610425816113be565b5f8060408385031215611466575f80fd5b8235611471816113be565b91506020830135611481816113be565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156114da57815f19048211156114c0576114c061148c565b808516156114cd57918102915b93841c93908002906114a5565b509250929050565b5f826114f057506001610332565b816114fc57505f610332565b8160018114611512576002811461151c57611538565b6001915050610332565b60ff84111561152d5761152d61148c565b50506001821b610332565b5060208310610133831016604e8410600b841016171561155b575081810a610332565b61156583836114a0565b805f19048211156115785761157861148c565b029392505050565b5f61042560ff8416836114e2565b80820281158282048414176103325761033261148c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156115ea575f80fd5b8151610425816113be565b5f805f60608486031215611607575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611630575f80fd5b81518015158114610425575f80fd5b808201808211156103325761033261148c565b5f600182016116635761166361148c565b5060010190565b818103818111156103325761033261148c565b5f8261169757634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156117005784516001600160a01b0316835293830193918301916001016116db565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a4b3fe22f78507dfa47746bf667c7d93641d286d5a8a3e1ce843c40ffb45a25f64736f6c63430008180033

Deployed Bytecode Sourcemap

3586:8519:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5458:83;;;;;;;;;;-1:-1:-1;5528:5:0;;;;;;;;;;;;-1:-1:-1;;;5528:5:0;;;;5458:83;;;;;;;:::i;:::-;;;;;;;;6715:161;;;;;;;;;;-1:-1:-1;6715:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6715:161:0;1023:187:1;5735:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5735:95:0;1215:177:1;5965:419:0;;;;;;;;;;-1:-1:-1;6219:14:0;;6252:15;;6286:12;;6317:13;;6349:12;;5965:419;;;1656:25:1;;;1712:2;1697:18;;1690:34;;;;1740:18;;;1733:34;;;;1798:2;1783:18;;1776:34;1841:3;1826:19;;1819:35;1643:3;1628:19;5965:419:0;1397:463:1;11995:107:0;;;;;;;;;;;;;:::i;:::-;;6884:310;;;;;;;;;;-1:-1:-1;6884:310:0;;;;;:::i;:::-;;:::i;5644:83::-;;;;;;;;;;-1:-1:-1;5644:83:0;;4278:1;2468:36:1;;2456:2;2441:18;5644:83:0;2326:184:1;5838:119:0;;;;;;;;;;-1:-1:-1;5838:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5931:18:0;5904:7;5931:18;;;:9;:18;;;;;;;5838:119;2667:148;;;;;;;;;;;;;:::i;11311:639::-;;;;;;;;;;;;;:::i;2453:79::-;;;;;;;;;;-1:-1:-1;2491:7:0;2518:6;2453:79;;-1:-1:-1;;;;;2518:6:0;;;2913:51:1;;2901:2;2886:18;2453:79:0;2767:203:1;5549:87:0;;;;;;;;;;-1:-1:-1;5621:7:0;;;;;;;;;;;;-1:-1:-1;;;5621:7:0;;;;5549:87;;6392:167;;;;;;;;;;-1:-1:-1;6392:167:0;;;;;:::i;:::-;;:::i;6567:140::-;;;;;;;;;;-1:-1:-1;6567:140:0;;;;;:::i;:::-;-1:-1:-1;;;;;6675:15:0;;;6648:7;6675:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;6567:140;6715:161;6790:4;6807:39;288:10;6830:7;6839:6;6807:8;:39::i;:::-;-1:-1:-1;6864:4:0;6715:161;;;;;:::o;5735:95::-;5788:7;4334:13;4278:1;4334:2;:13;:::i;:::-;4321:26;;:10;:26;:::i;:::-;5808:14;;5735:95;:::o;11995:107::-;2580:6;;-1:-1:-1;;;;;2580:6:0;288:10;2580:22;2572:67;;;;-1:-1:-1;;;2572:67:0;;;;;;;:::i;:::-;;;;;;;;;2491:7;2518:6;;12046:48:::1;::::0;-1:-1:-1;;;;;2518:6:0;;;;12072:21:::1;12046:48:::0;::::1;;;::::0;12072:21;;12046:48;2491:7;12046:48;12072:21;2518:6;12046:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11995:107::o:0;6884:310::-;6982:4;6999:36;7009:6;7017:9;7028:6;6999:9;:36::i;:::-;7046:118;7055:6;288:10;7077:86;7112:6;7077:86;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:16:0;;;;;;:8;:16;;;;;;;;288:10;7077:30;;;;;;;;;;:34;:86::i;:::-;7046:8;:118::i;:::-;-1:-1:-1;7182:4:0;6884:310;;;;;;:::o;2667:148::-;2580:6;;-1:-1:-1;;;;;2580:6:0;288:10;2580:22;2572:67;;;;-1:-1:-1;;;2572:67:0;;;;;;;:::i;:::-;2774:1:::1;2758:6:::0;;2737:40:::1;::::0;-1:-1:-1;;;;;2758:6:0;;::::1;::::0;2737:40:::1;::::0;2774:1;;2737:40:::1;2805:1;2788:19:::0;;-1:-1:-1;;;;;;2788:19:0::1;::::0;;2667:148::o;11311:639::-;2580:6;;-1:-1:-1;;;;;2580:6:0;288:10;2580:22;2572:67;;;;-1:-1:-1;;;2572:67:0;;;;;;;:::i;:::-;11368:15:::1;:80:::0;;-1:-1:-1;;;;;;11368:80:0::1;11405:42;11368:80:::0;;::::1;::::0;;;11459:58:::1;::::0;11476:4:::1;::::0;4334:13:::1;4278:1;4334:2;:13;:::i;:::-;4321:26;::::0;:10:::1;:26;:::i;11459:58::-;11562:15;;;;;;;;;-1:-1:-1::0;;;;;11562:15:0::1;-1:-1:-1::0;;;;;11562:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11544:55:0::1;;11608:4;11615:15;;;;;;;;;-1:-1:-1::0;;;;;11615:15:0::1;-1:-1:-1::0;;;;;11615:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11544:94;::::0;-1:-1:-1;;;;;;11544:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5897:15:1;;;11544:94:0::1;::::0;::::1;5879:34:1::0;5949:15;;5929:18;;;5922:43;5814:18;;11544:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11528:13;:110:::0;;-1:-1:-1;;;;;11528:110:0;;::::1;-1:-1:-1::0;;;;;;11528:110:0;;::::1;;::::0;;11649:15:::1;::::0;::::1;:31;11688:21;11719:4;11725:24;11719:4:::0;-1:-1:-1;;;;;5931:18:0;5904:7;5931:18;;;:9;:18;;;;;;;5838:119;11725:24:::1;11750:1;11752::::0;11754:7:::1;2491::::0;2518:6;-1:-1:-1;;;;;2518:6:0;;2453:79;11754:7:::1;11649:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11649:129:0;;;-1:-1:-1;;;;;6335:15:1;;;11649:129:0::1;::::0;::::1;6317:34:1::0;6367:18;;;6360:34;;;;6410:18;;;6403:34;;;;6453:18;;;6446:34;6517:15;;;6496:19;;;6489:44;11762:15:0::1;6549:19:1::0;;;6542:35;6251:19;;11649:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11796:13:0::1;::::0;11827:15:::1;::::0;11789:71:::1;::::0;-1:-1:-1;;;11789:71:0;;-1:-1:-1;;;;;11827:15:0;;::::1;11789:71;::::0;::::1;7073:51:1::0;-1:-1:-1;;7140:18:1;;;7133:34;11796:13:0;::::1;::::0;-1:-1:-1;11789:29:0::1;::::0;7046:18:1;;11789:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11871:11:0::1;:18:::0;;-1:-1:-1;;;;11871:18:0::1;-1:-1:-1::0;;;11871:18:0::1;::::0;;11917:7:::1;2491::::0;2518:6;-1:-1:-1;;;;;2518:6:0;;2453:79;11917:7:::1;-1:-1:-1::0;;;;;11907:35:0::1;;11926:15;11907:35;;;;1361:25:1::0;;1349:2;1334:18;;1215:177;11907:35:0::1;;;;;;;;11311:639::o:0;6392:167::-;6470:4;6487:42;288:10;6511:9;6522:6;6487:9;:42::i;7202:332::-;-1:-1:-1;;;;;7295:19:0;;7287:68;;;;-1:-1:-1;;;7287:68:0;;7662:2:1;7287:68:0;;;7644:21:1;7701:2;7681:18;;;7674:30;7740:34;7720:18;;;7713:62;-1:-1:-1;;;7791:18:1;;;7784:34;7835:19;;7287:68:0;7460:400:1;7287:68:0;-1:-1:-1;;;;;7374:21:0;;7366:68;;;;-1:-1:-1;;;7366:68:0;;8067:2:1;7366:68:0;;;8049:21:1;8106:2;8086:18;;;8079:30;8145:34;8125:18;;;8118:62;-1:-1:-1;;;8196:18:1;;;8189:32;8238:19;;7366:68:0;7865:398:1;7366:68:0;-1:-1:-1;;;;;7445:15:0;;;;;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;:33;;;7494:32;;1361:25:1;;;7494:32:0;;1334:18:1;7494:32:0;;;;;;;7202:332;;;:::o;8142:2464::-;-1:-1:-1;;;;;8230:18:0;;8222:68;;;;-1:-1:-1;;;8222:68:0;;8470:2:1;8222:68:0;;;8452:21:1;8509:2;8489:18;;;8482:30;8548:34;8528:18;;;8521:62;-1:-1:-1;;;8599:18:1;;;8592:35;8644:19;;8222:68:0;8268:401:1;8222:68:0;-1:-1:-1;;;;;8309:16:0;;8301:64;;;;-1:-1:-1;;;8301:64:0;;8876:2:1;8301:64:0;;;8858:21:1;8915:2;8895:18;;;8888:30;8954:34;8934:18;;;8927:62;-1:-1:-1;;;9005:18:1;;;8998:33;9048:19;;8301:64:0;8674:399:1;8301:64:0;8393:1;8384:6;:10;8376:64;;;;-1:-1:-1;;;8376:64:0;;9280:2:1;8376:64:0;;;9262:21:1;9319:2;9299:18;;;9292:30;9358:34;9338:18;;;9331:62;-1:-1:-1;;;9409:18:1;;;9402:39;9458:19;;8376:64:0;9078:405:1;8376:64:0;8451:17;8488:9;8520:7;2491;2518:6;-1:-1:-1;;;;;2518:6:0;;2453:79;8520:7;-1:-1:-1;;;;;8512:15:0;:4;-1:-1:-1;;;;;8512:15:0;;;:32;;;;-1:-1:-1;2491:7:0;2518:6;-1:-1:-1;;;;;8531:13:0;;;2518:6;;8531:13;;8512:32;:52;;;;-1:-1:-1;8554:10:0;;-1:-1:-1;;;;;8548:16:0;;;8554:10;;8548:16;;8512:52;8508:1651;;;8584:9;;8595:1;8584:12;8581:139;;8628:76;8700:3;8628:67;8650:15;;8640:9;;:25;8639:55;;8680:14;;8639:55;;;8667:12;;8639:55;8628:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8616:88;;8581:139;8737:9;;:11;8734:95;;8780:33;8809:3;8780:24;8791:12;;8780:6;:10;;:24;;;;:::i;:33::-;8768:45;;8734:95;8857:13;;-1:-1:-1;;;;;8849:21:0;;;8857:13;;8849:21;:55;;;;-1:-1:-1;8888:15:0;;-1:-1:-1;;;;;8874:30:0;;;8888:15;;8874:30;;8849:55;:79;;;;-1:-1:-1;;;;;;8910:18:0;;;;;;:14;:18;;;;;;;;8908:20;8849:79;8845:416;;;8968:12;;8958:6;:22;;8950:60;;;;-1:-1:-1;;;8950:60:0;;9690:2:1;8950:60:0;;;9672:21:1;9729:2;9709:18;;;9702:30;9768:27;9748:18;;;9741:55;9813:18;;8950:60:0;9488:349:1;8950:60:0;9063:14;;9053:6;9037:13;9047:2;-1:-1:-1;;;;;5931:18:0;5904:7;5931:18;;;:9;:18;;;;;;;5838:119;9037:13;:22;;;;:::i;:::-;:40;;9029:79;;;;-1:-1:-1;;;9029:79:0;;10174:2:1;9029:79:0;;;10156:21:1;10213:2;10193:18;;;10186:30;10252:28;10232:18;;;10225:56;10298:18;;9029:79:0;9972:350:1;9029:79:0;9139:76;9211:3;9139:67;9161:15;;9151:9;;:25;9150:55;;9191:14;;9150:55;;9139:76;9234:9;:11;;9127:88;;-1:-1:-1;9234:9:0;:11;;;:::i;:::-;;;;;;8845:416;9284:13;;-1:-1:-1;;;;;9278:19:0;;;9284:13;;9278:19;:43;;;;-1:-1:-1;;;;;;9301:20:0;;9316:4;9301:20;;9278:43;9275:174;;;9354:79;9429:3;9354:70;9376:16;;9366:9;;:26;9365:58;;9408:15;;9365:58;;;9394:13;;9354:6;;:10;:70::i;:79::-;9342:91;;9275:174;9514:4;9465:28;5931:18;;;:9;:18;;;;;;9540:6;;-1:-1:-1;;;9540:6:0;;;;9539:7;:30;;;;-1:-1:-1;9556:13:0;;-1:-1:-1;;;;;9550:19:0;;;9556:13;;9550:19;9539:30;:45;;;;-1:-1:-1;9573:11:0;;-1:-1:-1;;;9573:11:0;;;;9539:45;:79;;;;;9600:18;;9588:9;;:30;9539:79;9535:613;;;9658:13;;9643:12;:28;9639:90;;;9708:1;9696:9;:13;9639:90;9773:17;;9750:20;:40;9747:114;;;9792:69;9809:51;9813:6;9821:38;9825:20;9847:11;;9821:3;:38::i;:::-;9809:3;:51::i;:::-;9792:16;:69::i;:::-;9909:21;10001:35;10014:21;10001:12;:35::i;:::-;10074:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10120:12:0;10104:13;:28;-1:-1:-1;9535:613:0;8566:1593;8508:1651;-1:-1:-1;;;;;10175:22:0;;;;;;:14;:22;;;;;;;;10171:78;;;10211:38;10224:10;10236:4;10242:6;10211:12;:38::i;:::-;10199:50;;10171:78;10265:11;;10262:161;;10333:4;10315:24;;;;:9;:24;;;;;;:39;;10344:9;10315:28;:39::i;:::-;10308:4;10290:24;;;;:9;:24;;;;;;;:64;;;;10372:39;;-1:-1:-1;;;;;10372:39:0;;;;;;;10401:9;1361:25:1;;1349:2;1334:18;;1215:177;10372:39:0;;;;;;;;10262:161;-1:-1:-1;;;;;10449:15:0;;;;;;:9;:15;;;;;;:27;;10469:6;10449:19;:27::i;:::-;-1:-1:-1;;;;;10433:15:0;;;;;;:9;:15;;;;;:43;10501:40;10519:21;:6;10530:9;10519:10;:21::i;:::-;-1:-1:-1;;;;;10501:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10487:13:0;;;;;;;:9;:13;;;;;:54;;;;10557:41;;;10576:21;:6;10587:9;10576:10;:21::i;:::-;10557:41;;1361:25:1;;;1349:2;1334:18;10557:41:0;;;;;;;8211:2395;;8142:2464;;;:::o;1345:190::-;1431:7;1467:12;1459:6;;;;1451:29;;;;-1:-1:-1;;;1451:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1491:9:0;1503:5;1507:1;1503;:5;:::i;:::-;1491:17;1345:190;-1:-1:-1;;;;;1345:190:0:o;1543:246::-;1601:7;1625:1;1630;1625:6;1621:47;;-1:-1:-1;1655:1:0;1648:8;;1621:47;1678:9;1690:5;1694:1;1690;:5;:::i;:::-;1678:17;-1:-1:-1;1723:1:0;1714:5;1718:1;1678:17;1714:5;:::i;:::-;:10;1706:56;;;;-1:-1:-1;;;1706:56:0;;11024:2:1;1706:56:0;;;11006:21:1;11063:2;11043:18;;;11036:30;11102:34;11082:18;;;11075:62;-1:-1:-1;;;11153:18:1;;;11146:31;11194:19;;1706:56:0;10822:397:1;1797:132:0;1855:7;1882:39;1886:1;1889;1882:39;;;;;;;;;;;;;;;;;:3;:39::i;10614:98::-;10671:7;10698:1;10696;:3;10695:9;;10703:1;10695:9;;;-1:-1:-1;10701:1:0;10614:98;-1:-1:-1;10614:98:0:o;10720:483::-;5069:6;:13;;-1:-1:-1;;;;5069:13:0;-1:-1:-1;;;5069:13:0;;;10822:16:::1;::::0;;10836:1:::1;10822:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10822:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10822:16:0::1;10798:40;;10867:4;10849;10854:1;10849:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10849:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10893:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10893:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10849:7;;10893:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10883:4;10888:1;10883:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10883:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10958:15:::1;::::0;10926:62:::1;::::0;10943:4:::1;::::0;10958:15:::1;10976:11:::0;10926:8:::1;:62::i;:::-;10999:15;::::0;:196:::1;::::0;-1:-1:-1;;;10999:196:0;;-1:-1:-1;;;;;10999:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11080:11;;10999:15:::1;::::0;11122:4;;11149::::1;::::0;11169:15:::1;::::0;10999:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5105:6:0;:14;;-1:-1:-1;;;;5105:14:0;;;-1:-1:-1;;;;10720:483:0:o;11211:92::-;11268:10;;:27;;-1:-1:-1;;;;;11268:10:0;;;;:27;;;;;11288:6;;11268:10;:27;:10;:27;11288:6;11268:10;:27;;;;;;;;;;;;;;;;;;;;;11211:92;:::o;7542:592::-;-1:-1:-1;;;;;7666:12:0;;;7623:7;7666:12;;;:8;:12;;;;;;;;:18;;;;;;;;;;;:27;;;7708:14;:20;;;;;;7623:7;;7708:20;;;:42;;-1:-1:-1;;;;;;7732:18:0;;;;;;:14;:18;;;;;;;;7708:42;7704:83;;;7774:1;7767:8;;;;;7704:83;7809:13;;-1:-1:-1;;;;;7809:13:0;;;7801:21;;;;7797:303;;7851:82;7929:3;7851:73;7875:15;;7863:9;;:27;7862:61;;7909:14;;7862:61;;7851:82;7839:94;;7797:303;;;7961:13;;-1:-1:-1;;;;;7961:13:0;;;7955:19;;;;7951:149;;8003:85;8084:3;8003:76;8027:16;;8015:9;;:28;8014:64;;8063:15;;8014:64;;7951:149;8117:9;7542:592;-1:-1:-1;;;;7542:592:0:o;1014:179::-;1072:7;;1104:5;1108:1;1104;:5;:::i;:::-;1092:17;;1133:1;1128;:6;;1120:46;;;;-1:-1:-1;;;1120:46:0;;12675:2:1;1120:46:0;;;12657:21:1;12714:2;12694:18;;;12687:30;12753:29;12733:18;;;12726:57;12800:18;;1120:46:0;12473:351:1;1201:136:0;1259:7;1286:43;1290:1;1293;1286:43;;;;;;;;;;;;;;;;;:3;:43::i;1937:189::-;2023:7;2058:12;2051:5;2043:28;;;;-1:-1:-1;;;2043:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2082:9:0;2094:5;2098:1;2094;:5;:::i;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;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;1865:456::-;1942:6;1950;1958;2011:2;1999:9;1990:7;1986:23;1982:32;1979:52;;;2027:1;2024;2017:12;1979:52;2066:9;2053:23;2085:31;2110:5;2085:31;:::i;:::-;2135:5;-1:-1:-1;2192:2:1;2177:18;;2164:32;2205:33;2164:32;2205:33;:::i;:::-;1865:456;;2257:7;;-1:-1:-1;;;2311:2:1;2296:18;;;;2283:32;;1865:456::o;2515:247::-;2574:6;2627:2;2615:9;2606:7;2602:23;2598:32;2595:52;;;2643:1;2640;2633:12;2595:52;2682:9;2669:23;2701:31;2726:5;2701:31;:::i;2975:388::-;3043:6;3051;3104:2;3092:9;3083:7;3079:23;3075:32;3072:52;;;3120:1;3117;3110:12;3072:52;3159:9;3146:23;3178:31;3203:5;3178:31;:::i;:::-;3228:5;-1:-1:-1;3285:2:1;3270:18;;3257:32;3298:33;3257:32;3298:33;:::i;:::-;3350:7;3340:17;;;2975:388;;;;;:::o;3368:127::-;3429:10;3424:3;3420:20;3417:1;3410:31;3460:4;3457:1;3450:15;3484:4;3481:1;3474:15;3500:416;3589:1;3626:5;3589:1;3640:270;3661:7;3651:8;3648:21;3640:270;;;3720:4;3716:1;3712:6;3708:17;3702:4;3699:27;3696:53;;;3729:18;;:::i;:::-;3779:7;3769:8;3765:22;3762:55;;;3799:16;;;;3762:55;3878:22;;;;3838:15;;;;3640:270;;;3644:3;3500:416;;;;;:::o;3921:806::-;3970:5;4000:8;3990:80;;-1:-1:-1;4041:1:1;4055:5;;3990:80;4089:4;4079:76;;-1:-1:-1;4126:1:1;4140:5;;4079:76;4171:4;4189:1;4184:59;;;;4257:1;4252:130;;;;4164:218;;4184:59;4214:1;4205:10;;4228:5;;;4252:130;4289:3;4279:8;4276:17;4273:43;;;4296:18;;:::i;:::-;-1:-1:-1;;4352:1:1;4338:16;;4367:5;;4164:218;;4466:2;4456:8;4453:16;4447:3;4441:4;4438:13;4434:36;4428:2;4418:8;4415:16;4410:2;4404:4;4401:12;4397:35;4394:77;4391:159;;;-1:-1:-1;4503:19:1;;;4535:5;;4391:159;4582:34;4607:8;4601:4;4582:34;:::i;:::-;4652:6;4648:1;4644:6;4640:19;4631:7;4628:32;4625:58;;;4663:18;;:::i;:::-;4701:20;;3921:806;-1:-1:-1;;;3921:806:1:o;4732:140::-;4790:5;4819:47;4860:4;4850:8;4846:19;4840:4;4819:47;:::i;4877:168::-;4950:9;;;4981;;4998:15;;;4992:22;;4978:37;4968:71;;5019:18;;:::i;5050:356::-;5252:2;5234:21;;;5271:18;;;5264:30;5330:34;5325:2;5310:18;;5303:62;5397:2;5382:18;;5050:356::o;5411:251::-;5481:6;5534:2;5522:9;5513:7;5509:23;5505:32;5502:52;;;5550:1;5547;5540:12;5502:52;5582:9;5576:16;5601:31;5626:5;5601:31;:::i;6588:306::-;6676:6;6684;6692;6745:2;6733:9;6724:7;6720:23;6716:32;6713:52;;;6761:1;6758;6751:12;6713:52;6790:9;6784:16;6774:26;;6840:2;6829:9;6825:18;6819:25;6809:35;;6884:2;6873:9;6869:18;6863:25;6853:35;;6588:306;;;;;:::o;7178:277::-;7245:6;7298:2;7286:9;7277:7;7273:23;7269:32;7266:52;;;7314:1;7311;7304:12;7266:52;7346:9;7340:16;7399:5;7392:13;7385:21;7378:5;7375:32;7365:60;;7421:1;7418;7411:12;9842:125;9907:9;;;9928:10;;;9925:36;;;9941:18;;:::i;10327:135::-;10366:3;10387:17;;;10384:43;;10407:18;;:::i;:::-;-1:-1:-1;10454:1:1;10443:13;;10327:135::o;10467:128::-;10534:9;;;10555:11;;;10552:37;;;10569:18;;:::i;10600:217::-;10640:1;10666;10656:132;;10710:10;10705:3;10701:20;10698:1;10691:31;10745:4;10742:1;10735:15;10773:4;10770:1;10763:15;10656:132;-1:-1:-1;10802:9:1;;10600:217::o;11356:127::-;11417:10;11412:3;11408:20;11405:1;11398:31;11448:4;11445:1;11438:15;11472:4;11469:1;11462:15;11488:980;11750:4;11798:3;11787:9;11783:19;11829:6;11818:9;11811:25;11855:2;11893:6;11888:2;11877:9;11873:18;11866:34;11936:3;11931:2;11920:9;11916:18;11909:31;11960:6;11995;11989:13;12026:6;12018;12011:22;12064:3;12053:9;12049:19;12042:26;;12103:2;12095:6;12091:15;12077:29;;12124:1;12134:195;12148:6;12145:1;12142:13;12134:195;;;12213:13;;-1:-1:-1;;;;;12209:39:1;12197:52;;12304:15;;;;12269:12;;;;12245:1;12163:9;12134:195;;;-1:-1:-1;;;;;;;12385:32:1;;;;12380:2;12365:18;;12358:60;-1:-1:-1;;;12449:3:1;12434:19;12427:35;12346:3;11488:980;-1:-1:-1;;;11488:980:1:o

Swarm Source

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