ETH Price: $3,231.17 (-0.72%)
Gas: 1 Gwei

Token

DETECTIVE (PENGU)
 

Overview

Max Total Supply

100,000,000 PENGU

Holders

43

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
*💩️👨🏻‍⚕️.eth
Balance
1,899,999.050000000016877794 PENGU

Value
$0.00
0x3f46cb3461625fde3e15f55d8b740e0b6f6b77ee
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:
DETECTIVE

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*
https://t.me/detectivepenguin

https://twitter.com/detectpenguin

*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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

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

contract Ownable is Context {
    address private _owner;
    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 transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract DETECTIVE is Context, IERC20, Ownable {
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _walletExcluded;
    mapping(address => uint256) private _walletBlocked;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 100000000 * 10**_decimals;
    uint256 private constant minSwap = 4000 * 10**_decimals;
    uint256 private constant onePercent = 1000000 * 10**_decimals;
    uint256 private maxSwap = onePercent / 2;
    uint256 public maxTxAmount = onePercent;

    uint256 private launchBlock;

    uint256 public buyTax = 2;
    uint256 public sellTax = 2;
    
    string private constant _name = "DETECTIVE";
    string private constant _symbol = "PENGU";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address immutable public taxWallet;
    address immutable public ZachWallet;

    bool private launch = false;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        taxWallet = 0x7E4bD82C614a00E82b405FE2d1f8E64e7b70DC14;
        ZachWallet = 0x6eA158145907a1fAc74016087611913A96d96624;
        _balance[msg.sender] = _totalSupply;
        _walletExcluded[taxWallet] = 1;
        _walletExcluded[msg.sender] = 1;
        _walletExcluded[address(this)] = 1;

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if(currentAllowance != type(uint256).max) { 
            require(
                currentAllowance >= amount,
                "ERC20: transfer amount exceeds allowance"
            );
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }
        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");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }


    function enableTrading() external onlyOwner {
        launch = true;
        launchBlock = block.number;
    }

    function addExcludedWallet(address wallet) external onlyOwner {
        _walletExcluded[wallet] = 1;
    }

    function removeExcludedWallet(address wallet) external onlyOwner {
        _walletExcluded[wallet] = 0;
    }
    
    function blockActivity(address _wallet) external onlyOwner {
        require(_wallet != address(this) && _wallet != address(uniswapV2Pair) && _wallet != address(uniswapV2Router), "Invalid wallet");
        _walletBlocked[_wallet] = 1;
    }

    function releaseActivity(address _wallet) external onlyOwner {
        _walletBlocked[_wallet] = 0;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
    }

    function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax + newSellTax <= 70, "Tax too high");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function _tokenTransfer(address from, address to, uint256 amount, uint256 _tax) private {
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;

        emit Transfer(from, to, transferAmount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "ERC20: no tokens transferred");
        uint256 _tax = 0;
        if (_walletExcluded[from] == 0 && _walletExcluded[to] == 0)
        {
            require(launch, "Trading not open");
            require(_walletBlocked[from] == 0, "Please contact support");
            require(amount <= maxTxAmount, "MaxTx Enabled at launch");
            if (to != uniswapV2Pair && to != address(0xdead)) require(balanceOf(to) + amount <= maxTxAmount, "MaxTx Enabled at launch");
            if (block.number < launchBlock + 1) {_tax=75;} else {
                if (from == uniswapV2Pair) {
                    _tax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));
                    if (tokensToSwap > minSwap) { 
                        uint256 mxSw = maxSwap;
                        if (tokensToSwap > amount) tokensToSwap = amount;
                        if (tokensToSwap > mxSw) tokensToSwap = mxSw;
                        swapTokensForEth(tokensToSwap);
                    }
                    _tax = sellTax;
                }
            }
        }
        _tokenTransfer(from, to, amount, _tax);
    }

    function manualSendBalance() external {
        require(_msgSender() == taxWallet);
        bool success;
        (success, ) = ZachWallet.call{value: address(this).balance / 2}("");
        (success, ) = taxWallet.call{value: address(this).balance}("");
    } 

    function manualSwapTokens() external {
        require(_msgSender() == taxWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function setMaxSwap(uint256 _max) external onlyOwner {
        maxSwap = _max;
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        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
        );
        bool success;
        (success, ) = ZachWallet.call{value: address(this).balance / 2}("");
        (success, ) = taxWallet.call{value: address(this).balance}("");
    }
    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":"ZachWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"addExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"blockActivity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","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":"manualSendBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","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":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"releaseActivity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"removeExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_max","type":"uint256"}],"name":"setMaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526002620000146012600a6200046b565b6200002390620f424062000483565b6200002f91906200049d565b600555620000406012600a6200046b565b6200004f90620f424062000483565b60065560026008819055600955600b805460ff60a01b191690553480156200007657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200011d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001439190620004c0565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cc9190620004c0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200021a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002409190620004c0565b600b80546001600160a01b0319166001600160a01b0392909216919091179055737e4bd82c614a00e82b405fe2d1f8e64e7b70dc14608052736ea158145907a1fac74016087611913a96d9662460a0526200029e6012600a6200046b565b620002ae906305f5e10062000483565b336000818152600160208181526040808420959095556080516001600160a01b03168352600390528382208190559181528281208290553081529190912055620002f53390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200032f6012600a6200046b565b6200033f906305f5e10062000483565b60405190815260200160405180910390a3620004eb565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003ad57816000190482111562000391576200039162000356565b808516156200039f57918102915b93841c939080029062000371565b509250929050565b600082620003c65750600162000465565b81620003d55750600062000465565b8160018114620003ee5760028114620003f95762000419565b600191505062000465565b60ff8411156200040d576200040d62000356565b50506001821b62000465565b5060208310610133831016604e8410600b84101617156200043e575081810a62000465565b6200044a83836200036c565b806000190482111562000461576200046162000356565b0290505b92915050565b60006200047c60ff841683620003b5565b9392505050565b808202811582820484141762000465576200046562000356565b600082620004bb57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004d357600080fd5b81516001600160a01b03811681146200047c57600080fd5b60805160a0516117f96200053b6000396000818161036f0152818161079b01526111610152600081816103070152818161075d015281816108190152818161094001526111e901526117f96000f3fe6080604052600436106101bb5760003560e01c8063715018a6116100ec57806395d89b411161008a578063dba9d42011610064578063dba9d42014610509578063dd62ed3e14610529578063f2fde38b1461056f578063f38fea601461058f57600080fd5b806395d89b41146104a5578063a9059cbb146104d3578063cc1776d3146104f357600080fd5b80638a8c523c116100c65780638a8c523c1461043c5780638c0b5e22146104515780638da5cb5b146104675780639036ed4d1461048557600080fd5b8063715018a6146103fd578063751039fc146104125780637c4c75eb1461042757600080fd5b806328176f89116101595780633884f631116101335780633884f6311461035d57806349bd5a5e146103915780634f7041a5146103b157806370a08231146103c757600080fd5b806328176f89146102e05780632dc0562d146102f5578063313ce5671461034157600080fd5b806318160ddd1161019557806318160ddd1461025d578063198cd9fc146102805780631c3315f0146102a057806323b872dd146102c057600080fd5b806306fdde03146101c7578063095ea7b31461020b5780630e6e91d81461023b57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600981526844455445435449564560b81b60208201525b604051610202919061141a565b60405180910390f35b34801561021757600080fd5b5061022b61022636600461147d565b6105af565b6040519015158152602001610202565b34801561024757600080fd5b5061025b6102563660046114a9565b6105c6565b005b34801561026957600080fd5b506102726105fe565b604051908152602001610202565b34801561028c57600080fd5b5061025b61029b3660046114c2565b61061f565b3480156102ac57600080fd5b5061025b6102bb3660046114c2565b610663565b3480156102cc57600080fd5b5061022b6102db3660046114e6565b6106a7565b3480156102ec57600080fd5b5061025b61075a565b34801561030157600080fd5b506103297f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610202565b34801561034d57600080fd5b5060405160128152602001610202565b34801561036957600080fd5b506103297f000000000000000000000000000000000000000000000000000000000000000081565b34801561039d57600080fd5b50600b54610329906001600160a01b031681565b3480156103bd57600080fd5b5061027260085481565b3480156103d357600080fd5b506102726103e23660046114c2565b6001600160a01b031660009081526001602052604090205490565b34801561040957600080fd5b5061025b610880565b34801561041e57600080fd5b5061025b6108f4565b34801561043357600080fd5b5061025b61093d565b34801561044857600080fd5b5061025b61098e565b34801561045d57600080fd5b5061027260065481565b34801561047357600080fd5b506000546001600160a01b0316610329565b34801561049157600080fd5b5061025b6104a0366004611527565b6109d1565b3480156104b157600080fd5b5060408051808201909152600581526450454e475560d81b60208201526101f5565b3480156104df57600080fd5b5061022b6104ee36600461147d565b610a4f565b3480156104ff57600080fd5b5061027260095481565b34801561051557600080fd5b5061025b6105243660046114c2565b610a5c565b34801561053557600080fd5b50610272610544366004611549565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561057b57600080fd5b5061025b61058a3660046114c2565b610aa3565b34801561059b57600080fd5b5061025b6105aa3660046114c2565b610ad6565b60006105bc338484610b9b565b5060015b92915050565b6000546001600160a01b031633146105f95760405162461bcd60e51b81526004016105f090611582565b60405180910390fd5b600555565b600061060c6012600a6116b1565b61061a906305f5e1006116c0565b905090565b6000546001600160a01b031633146106495760405162461bcd60e51b81526004016105f090611582565b6001600160a01b0316600090815260046020526040812055565b6000546001600160a01b0316331461068d5760405162461bcd60e51b81526004016105f090611582565b6001600160a01b0316600090815260036020526040812055565b60006106b4848484610cbf565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019811461074f57828110156107425760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016105f0565b61074f8533858403610b9b565b506001949350505050565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461078f57600080fd5b60006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166107c66002476116d7565b604051600081818185875af1925050503d8060008114610802576040519150601f19603f3d011682016040523d82523d6000602084013e610807565b606091505b50506040519091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016904790600081818185875af1925050503d8060008114610875576040519150601f19603f3d011682016040523d82523d6000602084013e61087a565b606091505b50505050565b6000546001600160a01b031633146108aa5760405162461bcd60e51b81526004016105f090611582565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461091e5760405162461bcd60e51b81526004016105f090611582565b61092a6012600a6116b1565b610938906305f5e1006116c0565b600655565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461097257600080fd5b3060009081526001602052604090205461098b81611007565b50565b6000546001600160a01b031633146109b85760405162461bcd60e51b81526004016105f090611582565b600b805460ff60a01b1916600160a01b17905543600755565b6000546001600160a01b031633146109fb5760405162461bcd60e51b81526004016105f090611582565b6046610a0782846116f9565b1115610a445760405162461bcd60e51b815260206004820152600c60248201526b0a8c2f040e8dede40d0d2ced60a31b60448201526064016105f0565b600891909155600955565b60006105bc338484610cbf565b6000546001600160a01b03163314610a865760405162461bcd60e51b81526004016105f090611582565b6001600160a01b0316600090815260036020526040902060019055565b6000546001600160a01b03163314610acd5760405162461bcd60e51b81526004016105f090611582565b61098b81611252565b6000546001600160a01b03163314610b005760405162461bcd60e51b81526004016105f090611582565b6001600160a01b0381163014801590610b275750600b546001600160a01b03828116911614155b8015610b415750600a546001600160a01b03828116911614155b610b7e5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a59081dd85b1b195d60921b60448201526064016105f0565b6001600160a01b0316600090815260046020526040902060019055565b6001600160a01b038316610bfd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105f0565b6001600160a01b038216610c5e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105f0565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d235760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105f0565b60008111610d735760405162461bcd60e51b815260206004820152601c60248201527f45524332303a206e6f20746f6b656e73207472616e736665727265640000000060448201526064016105f0565b6001600160a01b038316600090815260036020526040812054158015610daf57506001600160a01b038316600090815260036020526040902054155b15610ffb57600b54600160a01b900460ff16610e005760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b60448201526064016105f0565b6001600160a01b03841660009081526004602052604090205415610e5f5760405162461bcd60e51b8152602060048201526016602482015275141b19585cd94818dbdb9d1858dd081cdd5c1c1bdc9d60521b60448201526064016105f0565b600654821115610eab5760405162461bcd60e51b815260206004820152601760248201527609ac2f0a8f0408adcc2c4d8cac840c2e840d8c2eadcc6d604b1b60448201526064016105f0565b600b546001600160a01b03848116911614801590610ed457506001600160a01b03831661dead14155b15610f4e5760065482610efc856001600160a01b031660009081526001602052604090205490565b610f0691906116f9565b1115610f4e5760405162461bcd60e51b815260206004820152601760248201527609ac2f0a8f0408adcc2c4d8cac840c2e840d8c2eadcc6d604b1b60448201526064016105f0565b600754610f5c9060016116f9565b431015610f6b5750604b610ffb565b600b546001600160a01b0390811690851603610f8a5750600854610ffb565b600b546001600160a01b0390811690841603610ffb5730600090815260016020526040902054610fbc6012600a6116b1565b610fc890610fa06116c0565b811115610ff55760055483821115610fde578391505b80821115610fea578091505b610ff382611007565b505b50506009545b61087a84848484611312565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061103c5761103c61170c565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b99190611722565b816001815181106110cc576110cc61170c565b6001600160a01b039283166020918202929092010152600a546110f29130911684610b9b565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061112b90859060009086903090429060040161173f565b600060405180830381600087803b15801561114557600080fd5b505af1158015611159573d6000803e3d6000fd5b5050505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660024761119691906116d7565b604051600081818185875af1925050503d80600081146111d2576040519150601f19603f3d011682016040523d82523d6000602084013e6111d7565b606091505b50506040519091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016904790600081818185875af1925050503d8060008114611245576040519150601f19603f3d011682016040523d82523d6000602084013e61124a565b606091505b505050505050565b6001600160a01b0381166112b75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000606461132083856116c0565b61132a91906116d7565b9050600061133882856117b0565b6001600160a01b03871660009081526001602052604090205490915061135f9085906117b0565b6001600160a01b03808816600090815260016020526040808220939093559087168152205461138f9082906116f9565b6001600160a01b0386166000908152600160205260408082209290925530815220546113bc9083906116f9565b3060009081526001602090815260409182902092909255518281526001600160a01b0387811692908916917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050505050565b600060208083528351808285015260005b818110156114475785810183015185820160400152820161142b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461098b57600080fd5b6000806040838503121561149057600080fd5b823561149b81611468565b946020939093013593505050565b6000602082840312156114bb57600080fd5b5035919050565b6000602082840312156114d457600080fd5b81356114df81611468565b9392505050565b6000806000606084860312156114fb57600080fd5b833561150681611468565b9250602084013561151681611468565b929592945050506040919091013590565b6000806040838503121561153a57600080fd5b50508035926020909101359150565b6000806040838503121561155c57600080fd5b823561156781611468565b9150602083013561157781611468565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116085781600019048211156115ee576115ee6115b7565b808516156115fb57918102915b93841c93908002906115d2565b509250929050565b60008261161f575060016105c0565b8161162c575060006105c0565b8160018114611642576002811461164c57611668565b60019150506105c0565b60ff84111561165d5761165d6115b7565b50506001821b6105c0565b5060208310610133831016604e8410600b841016171561168b575081810a6105c0565b61169583836115cd565b80600019048211156116a9576116a96115b7565b029392505050565b60006114df60ff841683611610565b80820281158282048414176105c0576105c06115b7565b6000826116f457634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105c0576105c06115b7565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561173457600080fd5b81516114df81611468565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561178f5784516001600160a01b03168352938301939183019160010161176a565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156105c0576105c06115b756fea2646970667358221220e3c06eb5af55cab6cf62a426d3a0730ecba8e7dc524080bf9a830eac57d8cc8364736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c8063715018a6116100ec57806395d89b411161008a578063dba9d42011610064578063dba9d42014610509578063dd62ed3e14610529578063f2fde38b1461056f578063f38fea601461058f57600080fd5b806395d89b41146104a5578063a9059cbb146104d3578063cc1776d3146104f357600080fd5b80638a8c523c116100c65780638a8c523c1461043c5780638c0b5e22146104515780638da5cb5b146104675780639036ed4d1461048557600080fd5b8063715018a6146103fd578063751039fc146104125780637c4c75eb1461042757600080fd5b806328176f89116101595780633884f631116101335780633884f6311461035d57806349bd5a5e146103915780634f7041a5146103b157806370a08231146103c757600080fd5b806328176f89146102e05780632dc0562d146102f5578063313ce5671461034157600080fd5b806318160ddd1161019557806318160ddd1461025d578063198cd9fc146102805780631c3315f0146102a057806323b872dd146102c057600080fd5b806306fdde03146101c7578063095ea7b31461020b5780630e6e91d81461023b57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600981526844455445435449564560b81b60208201525b604051610202919061141a565b60405180910390f35b34801561021757600080fd5b5061022b61022636600461147d565b6105af565b6040519015158152602001610202565b34801561024757600080fd5b5061025b6102563660046114a9565b6105c6565b005b34801561026957600080fd5b506102726105fe565b604051908152602001610202565b34801561028c57600080fd5b5061025b61029b3660046114c2565b61061f565b3480156102ac57600080fd5b5061025b6102bb3660046114c2565b610663565b3480156102cc57600080fd5b5061022b6102db3660046114e6565b6106a7565b3480156102ec57600080fd5b5061025b61075a565b34801561030157600080fd5b506103297f0000000000000000000000007e4bd82c614a00e82b405fe2d1f8e64e7b70dc1481565b6040516001600160a01b039091168152602001610202565b34801561034d57600080fd5b5060405160128152602001610202565b34801561036957600080fd5b506103297f0000000000000000000000006ea158145907a1fac74016087611913a96d9662481565b34801561039d57600080fd5b50600b54610329906001600160a01b031681565b3480156103bd57600080fd5b5061027260085481565b3480156103d357600080fd5b506102726103e23660046114c2565b6001600160a01b031660009081526001602052604090205490565b34801561040957600080fd5b5061025b610880565b34801561041e57600080fd5b5061025b6108f4565b34801561043357600080fd5b5061025b61093d565b34801561044857600080fd5b5061025b61098e565b34801561045d57600080fd5b5061027260065481565b34801561047357600080fd5b506000546001600160a01b0316610329565b34801561049157600080fd5b5061025b6104a0366004611527565b6109d1565b3480156104b157600080fd5b5060408051808201909152600581526450454e475560d81b60208201526101f5565b3480156104df57600080fd5b5061022b6104ee36600461147d565b610a4f565b3480156104ff57600080fd5b5061027260095481565b34801561051557600080fd5b5061025b6105243660046114c2565b610a5c565b34801561053557600080fd5b50610272610544366004611549565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561057b57600080fd5b5061025b61058a3660046114c2565b610aa3565b34801561059b57600080fd5b5061025b6105aa3660046114c2565b610ad6565b60006105bc338484610b9b565b5060015b92915050565b6000546001600160a01b031633146105f95760405162461bcd60e51b81526004016105f090611582565b60405180910390fd5b600555565b600061060c6012600a6116b1565b61061a906305f5e1006116c0565b905090565b6000546001600160a01b031633146106495760405162461bcd60e51b81526004016105f090611582565b6001600160a01b0316600090815260046020526040812055565b6000546001600160a01b0316331461068d5760405162461bcd60e51b81526004016105f090611582565b6001600160a01b0316600090815260036020526040812055565b60006106b4848484610cbf565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019811461074f57828110156107425760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016105f0565b61074f8533858403610b9b565b506001949350505050565b337f0000000000000000000000007e4bd82c614a00e82b405fe2d1f8e64e7b70dc146001600160a01b03161461078f57600080fd5b60006001600160a01b037f0000000000000000000000006ea158145907a1fac74016087611913a96d96624166107c66002476116d7565b604051600081818185875af1925050503d8060008114610802576040519150601f19603f3d011682016040523d82523d6000602084013e610807565b606091505b50506040519091506001600160a01b037f0000000000000000000000007e4bd82c614a00e82b405fe2d1f8e64e7b70dc1416904790600081818185875af1925050503d8060008114610875576040519150601f19603f3d011682016040523d82523d6000602084013e61087a565b606091505b50505050565b6000546001600160a01b031633146108aa5760405162461bcd60e51b81526004016105f090611582565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461091e5760405162461bcd60e51b81526004016105f090611582565b61092a6012600a6116b1565b610938906305f5e1006116c0565b600655565b337f0000000000000000000000007e4bd82c614a00e82b405fe2d1f8e64e7b70dc146001600160a01b03161461097257600080fd5b3060009081526001602052604090205461098b81611007565b50565b6000546001600160a01b031633146109b85760405162461bcd60e51b81526004016105f090611582565b600b805460ff60a01b1916600160a01b17905543600755565b6000546001600160a01b031633146109fb5760405162461bcd60e51b81526004016105f090611582565b6046610a0782846116f9565b1115610a445760405162461bcd60e51b815260206004820152600c60248201526b0a8c2f040e8dede40d0d2ced60a31b60448201526064016105f0565b600891909155600955565b60006105bc338484610cbf565b6000546001600160a01b03163314610a865760405162461bcd60e51b81526004016105f090611582565b6001600160a01b0316600090815260036020526040902060019055565b6000546001600160a01b03163314610acd5760405162461bcd60e51b81526004016105f090611582565b61098b81611252565b6000546001600160a01b03163314610b005760405162461bcd60e51b81526004016105f090611582565b6001600160a01b0381163014801590610b275750600b546001600160a01b03828116911614155b8015610b415750600a546001600160a01b03828116911614155b610b7e5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a59081dd85b1b195d60921b60448201526064016105f0565b6001600160a01b0316600090815260046020526040902060019055565b6001600160a01b038316610bfd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105f0565b6001600160a01b038216610c5e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105f0565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d235760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105f0565b60008111610d735760405162461bcd60e51b815260206004820152601c60248201527f45524332303a206e6f20746f6b656e73207472616e736665727265640000000060448201526064016105f0565b6001600160a01b038316600090815260036020526040812054158015610daf57506001600160a01b038316600090815260036020526040902054155b15610ffb57600b54600160a01b900460ff16610e005760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b60448201526064016105f0565b6001600160a01b03841660009081526004602052604090205415610e5f5760405162461bcd60e51b8152602060048201526016602482015275141b19585cd94818dbdb9d1858dd081cdd5c1c1bdc9d60521b60448201526064016105f0565b600654821115610eab5760405162461bcd60e51b815260206004820152601760248201527609ac2f0a8f0408adcc2c4d8cac840c2e840d8c2eadcc6d604b1b60448201526064016105f0565b600b546001600160a01b03848116911614801590610ed457506001600160a01b03831661dead14155b15610f4e5760065482610efc856001600160a01b031660009081526001602052604090205490565b610f0691906116f9565b1115610f4e5760405162461bcd60e51b815260206004820152601760248201527609ac2f0a8f0408adcc2c4d8cac840c2e840d8c2eadcc6d604b1b60448201526064016105f0565b600754610f5c9060016116f9565b431015610f6b5750604b610ffb565b600b546001600160a01b0390811690851603610f8a5750600854610ffb565b600b546001600160a01b0390811690841603610ffb5730600090815260016020526040902054610fbc6012600a6116b1565b610fc890610fa06116c0565b811115610ff55760055483821115610fde578391505b80821115610fea578091505b610ff382611007565b505b50506009545b61087a84848484611312565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061103c5761103c61170c565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b99190611722565b816001815181106110cc576110cc61170c565b6001600160a01b039283166020918202929092010152600a546110f29130911684610b9b565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061112b90859060009086903090429060040161173f565b600060405180830381600087803b15801561114557600080fd5b505af1158015611159573d6000803e3d6000fd5b5050505060007f0000000000000000000000006ea158145907a1fac74016087611913a96d966246001600160a01b031660024761119691906116d7565b604051600081818185875af1925050503d80600081146111d2576040519150601f19603f3d011682016040523d82523d6000602084013e6111d7565b606091505b50506040519091506001600160a01b037f0000000000000000000000007e4bd82c614a00e82b405fe2d1f8e64e7b70dc1416904790600081818185875af1925050503d8060008114611245576040519150601f19603f3d011682016040523d82523d6000602084013e61124a565b606091505b505050505050565b6001600160a01b0381166112b75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000606461132083856116c0565b61132a91906116d7565b9050600061133882856117b0565b6001600160a01b03871660009081526001602052604090205490915061135f9085906117b0565b6001600160a01b03808816600090815260016020526040808220939093559087168152205461138f9082906116f9565b6001600160a01b0386166000908152600160205260408082209290925530815220546113bc9083906116f9565b3060009081526001602090815260409182902092909255518281526001600160a01b0387811692908916917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050505050565b600060208083528351808285015260005b818110156114475785810183015185820160400152820161142b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461098b57600080fd5b6000806040838503121561149057600080fd5b823561149b81611468565b946020939093013593505050565b6000602082840312156114bb57600080fd5b5035919050565b6000602082840312156114d457600080fd5b81356114df81611468565b9392505050565b6000806000606084860312156114fb57600080fd5b833561150681611468565b9250602084013561151681611468565b929592945050506040919091013590565b6000806040838503121561153a57600080fd5b50508035926020909101359150565b6000806040838503121561155c57600080fd5b823561156781611468565b9150602083013561157781611468565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116085781600019048211156115ee576115ee6115b7565b808516156115fb57918102915b93841c93908002906115d2565b509250929050565b60008261161f575060016105c0565b8161162c575060006105c0565b8160018114611642576002811461164c57611668565b60019150506105c0565b60ff84111561165d5761165d6115b7565b50506001821b6105c0565b5060208310610133831016604e8410600b841016171561168b575081810a6105c0565b61169583836115cd565b80600019048211156116a9576116a96115b7565b029392505050565b60006114df60ff841683611610565b80820281158282048414176105c0576105c06115b7565b6000826116f457634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105c0576105c06115b7565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561173457600080fd5b81516114df81611468565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561178f5784516001600160a01b03168352938301939183019160010161176a565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156105c0576105c06115b756fea2646970667358221220e3c06eb5af55cab6cf62a426d3a0730ecba8e7dc524080bf9a830eac57d8cc8364736f6c63430008130033

Deployed Bytecode Sourcemap

2537:7773:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4246:83;;;;;;;;;;-1:-1:-1;4316:5:0;;;;;;;;;;;;-1:-1:-1;;;4316:5:0;;;;4246:83;;;;;;;:::i;:::-;;;;;;;;5080:160;;;;;;;;;;-1:-1:-1;5080:160:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5080:160:0;1023:187:1;9533:86:0;;;;;;;;;;-1:-1:-1;9533:86:0;;;;;:::i;:::-;;:::i;:::-;;4523:100;;;;;;;;;;;;;:::i;:::-;;;1546:25:1;;;1534:2;1519:18;4523:100:0;1400:177:1;6790:107:0;;;;;;;;;;-1:-1:-1;6790:107:0;;;;;:::i;:::-;;:::i;6416:111::-;;;;;;;;;;-1:-1:-1;6416:111:0;;;;;:::i;:::-;;:::i;5248:578::-;;;;;;;;;;-1:-1:-1;5248:578:0;;;;;:::i;:::-;;:::i;9056:265::-;;;;;;;;;;;;;:::i;3512:34::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2459:32:1;;;2441:51;;2429:2;2414:18;3512:34:0;2295:203:1;4432:83:0;;;;;;;;;;-1:-1:-1;4432:83:0;;2915:2;2645:36:1;;2633:2;2618:18;4432:83:0;2503:184:1;3553:35:0;;;;;;;;;;;;;;;3477:28;;;;;;;;;;-1:-1:-1;3477:28:0;;;;-1:-1:-1;;;;;3477:28:0;;;3257:25;;;;;;;;;;;;;;;;4631:118;;;;;;;;;;-1:-1:-1;4631:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;4724:17:0;4697:7;4724:17;;;:8;:17;;;;;;;4631:118;1866:148;;;;;;;;;;;;;:::i;6905:88::-;;;;;;;;;;;;;:::i;9330:195::-;;;;;;;;;;;;;:::i;6179:113::-;;;;;;;;;;;;;:::i;3173:39::-;;;;;;;;;;;;;;;;1298:79;;;;;;;;;;-1:-1:-1;1336:7:0;1363:6;-1:-1:-1;;;;;1363:6:0;1298:79;;7001:209;;;;;;;;;;-1:-1:-1;7001:209:0;;;;;:::i;:::-;;:::i;4337:87::-;;;;;;;;;;-1:-1:-1;4409:7:0;;;;;;;;;;;;-1:-1:-1;;;4409:7:0;;;;4337:87;;4757:165;;;;;;;;;;-1:-1:-1;4757:165:0;;;;;:::i;:::-;;:::i;3289:26::-;;;;;;;;;;;;;;;;6300:108;;;;;;;;;;-1:-1:-1;6300:108:0;;;;;:::i;:::-;;:::i;4930:142::-;;;;;;;;;;-1:-1:-1;4930:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;5037:18:0;;;5011:7;5037:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4930:142;1512:109;;;;;;;;;;-1:-1:-1;1512:109:0;;;;;:::i;:::-;;:::i;6539:243::-;;;;;;;;;;-1:-1:-1;6539:243:0;;;;;:::i;:::-;;:::i;5080:160::-;5155:4;5171:39;253:10;5194:7;5203:6;5171:8;:39::i;:::-;-1:-1:-1;5228:4:0;5080:160;;;;;:::o;9533:86::-;1425:6;;-1:-1:-1;;;;;1425:6:0;253:10;1425:22;1417:67;;;;-1:-1:-1;;;1417:67:0;;;;;;;:::i;:::-;;;;;;;;;9597:7:::1;:14:::0;9533:86::o;4523:100::-;4576:7;2976:13;2915:2;2976;:13;:::i;:::-;2964:25;;:9;:25;:::i;:::-;4596:19;;4523:100;:::o;6790:107::-;1425:6;;-1:-1:-1;;;;;1425:6:0;253:10;1425:22;1417:67;;;;-1:-1:-1;;;1417:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6862:23:0::1;6888:1;6862:23:::0;;;:14:::1;:23;::::0;;;;:27;6790:107::o;6416:111::-;1425:6;;-1:-1:-1;;;;;1425:6:0;253:10;1425:22;1417:67;;;;-1:-1:-1;;;1417:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6492:23:0::1;6518:1;6492:23:::0;;;:15:::1;:23;::::0;;;;:27;6416:111::o;5248:578::-;5346:4;5363:36;5373:6;5381:9;5392:6;5363:9;:36::i;:::-;-1:-1:-1;;;;;5439:19:0;;5412:24;5439:19;;;:11;:19;;;;;;;;253:10;5439:33;;;;;;;;-1:-1:-1;;5486:37:0;;5483:314;;5587:6;5567:16;:26;;5541:128;;;;-1:-1:-1;;;5541:128:0;;5589:2:1;5541:128:0;;;5571:21:1;5628:2;5608:18;;;5601:30;5667:34;5647:18;;;5640:62;-1:-1:-1;;;5718:18:1;;;5711:38;5766:19;;5541:128:0;5387:404:1;5541:128:0;5713:57;5722:6;253:10;5763:6;5744:16;:25;5713:8;:57::i;:::-;-1:-1:-1;5814:4:0;;5248:578;-1:-1:-1;;;;5248:578:0:o;9056:265::-;253:10;9129:9;-1:-1:-1;;;;;9113:25:0;;9105:34;;;;;;9150:12;-1:-1:-1;;;;;9187:10:0;:15;9210:25;9234:1;9210:21;:25;:::i;:::-;9187:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9265:48:0;;9173:67;;-1:-1:-1;;;;;;9265:9:0;:14;;9287:21;;9265:48;;;;9287:21;9265:14;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;9056:265:0:o;1866:148::-;1425:6;;-1:-1:-1;;;;;1425:6:0;253:10;1425:22;1417:67;;;;-1:-1:-1;;;1417:67:0;;;;;;;:::i;:::-;1973:1:::1;1957:6:::0;;1936:40:::1;::::0;-1:-1:-1;;;;;1957:6:0;;::::1;::::0;1936:40:::1;::::0;1973:1;;1936:40:::1;2004:1;1987:19:::0;;-1:-1:-1;;;;;;1987:19:0::1;::::0;;1866:148::o;6905:88::-;1425:6;;-1:-1:-1;;;;;1425:6:0;253:10;1425:22;1417:67;;;;-1:-1:-1;;;1417:67:0;;;;;;;:::i;:::-;2976:13:::1;2915:2;2976;:13;:::i;:::-;2964:25;::::0;:9:::1;:25;:::i;:::-;6959:11;:26:::0;6905:88::o;9330:195::-;253:10;9402:9;-1:-1:-1;;;;;9386:25:0;;9378:34;;;;;;9467:4;9423:23;4724:17;;;:8;:17;;;;;;9484:33;4724:17;9484:16;:33::i;:::-;9367:158;9330:195::o;6179:113::-;1425:6;;-1:-1:-1;;;;;1425:6:0;253:10;1425:22;1417:67;;;;-1:-1:-1;;;1417:67:0;;;;;;;:::i;:::-;6234:6:::1;:13:::0;;-1:-1:-1;;;;6234:13:0::1;-1:-1:-1::0;;;6234:13:0::1;::::0;;6272:12:::1;6258:11;:26:::0;6179:113::o;7001:209::-;1425:6;;-1:-1:-1;;;;;1425:6:0;253:10;1425:22;1417:67;;;;-1:-1:-1;;;1417:67:0;;;;;;;:::i;:::-;7123:2:::1;7097:22;7109:10:::0;7097:9;:22:::1;:::i;:::-;:28;;7089:53;;;::::0;-1:-1:-1;;;7089:53:0;;6560:2:1;7089:53:0::1;::::0;::::1;6542:21:1::0;6599:2;6579:18;;;6572:30;-1:-1:-1;;;6618:18:1;;;6611:42;6670:18;;7089:53:0::1;6358:336:1::0;7089:53:0::1;7153:6;:18:::0;;;;7182:7:::1;:20:::0;7001:209::o;4757:165::-;4834:4;4850:42;253:10;4874:9;4885:6;4850:9;:42::i;6300:108::-;1425:6;;-1:-1:-1;;;;;1425:6:0;253:10;1425:22;1417:67;;;;-1:-1:-1;;;1417:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6373:23:0::1;;::::0;;;:15:::1;:23;::::0;;;;6399:1:::1;6373:27:::0;;6300:108::o;1512:109::-;1425:6;;-1:-1:-1;;;;;1425:6:0;253:10;1425:22;1417:67;;;;-1:-1:-1;;;1417:67:0;;;;;;;:::i;:::-;1585:28:::1;1604:8;1585:18;:28::i;6539:243::-:0;1425:6;;-1:-1:-1;;;;;1425:6:0;253:10;1425:22;1417:67;;;;-1:-1:-1;;;1417:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6617:24:0;::::1;6636:4;6617:24;::::0;::::1;::::0;:61:::1;;-1:-1:-1::0;6664:13:0::1;::::0;-1:-1:-1;;;;;6645:33:0;;::::1;6664:13:::0;::::1;6645:33;;6617:61;:100;;;;-1:-1:-1::0;6701:15:0::1;::::0;-1:-1:-1;;;;;6682:35:0;;::::1;6701:15:::0;::::1;6682:35;;6617:100;6609:127;;;::::0;-1:-1:-1;;;6609:127:0;;6901:2:1;6609:127:0::1;::::0;::::1;6883:21:1::0;6940:2;6920:18;;;6913:30;-1:-1:-1;;;6959:18:1;;;6952:44;7013:18;;6609:127:0::1;6699:338:1::0;6609:127:0::1;-1:-1:-1::0;;;;;6747:23:0::1;;::::0;;;:14:::1;:23;::::0;;;;6773:1:::1;6747:27:::0;;6539:243::o;5834:335::-;-1:-1:-1;;;;;5927:19:0;;5919:68;;;;-1:-1:-1;;;5919:68:0;;7244:2:1;5919:68:0;;;7226:21:1;7283:2;7263:18;;;7256:30;7322:34;7302:18;;;7295:62;-1:-1:-1;;;7373:18:1;;;7366:34;7417:19;;5919:68:0;7042:400:1;5919:68:0;-1:-1:-1;;;;;6006:21:0;;5998:68;;;;-1:-1:-1;;;5998:68:0;;7649:2:1;5998:68:0;;;7631:21:1;7688:2;7668:18;;;7661:30;7727:34;7707:18;;;7700:62;-1:-1:-1;;;7778:18:1;;;7771:32;7820:19;;5998:68:0;7447:398:1;5998:68:0;-1:-1:-1;;;;;6077:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6129:32;;1546:25:1;;;6129:32:0;;1519:18:1;6129:32:0;;;;;;;5834:335;;;:::o;7660:1388::-;-1:-1:-1;;;;;7748:18:0;;7740:68;;;;-1:-1:-1;;;7740:68:0;;8052:2:1;7740:68:0;;;8034:21:1;8091:2;8071:18;;;8064:30;8130:34;8110:18;;;8103:62;-1:-1:-1;;;8181:18:1;;;8174:35;8226:19;;7740:68:0;7850:401:1;7740:68:0;7836:1;7827:6;:10;7819:51;;;;-1:-1:-1;;;7819:51:0;;8458:2:1;7819:51:0;;;8440:21:1;8497:2;8477:18;;;8470:30;8536;8516:18;;;8509:58;8584:18;;7819:51:0;8256:352:1;7819:51:0;-1:-1:-1;;;;;7912:21:0;;7881:12;7912:21;;;:15;:21;;;;;;:26;:54;;;;-1:-1:-1;;;;;;7942:19:0;;;;;;:15;:19;;;;;;:24;7912:54;7908:1084;;;8000:6;;-1:-1:-1;;;8000:6:0;;;;7992:35;;;;-1:-1:-1;;;7992:35:0;;8815:2:1;7992:35:0;;;8797:21:1;8854:2;8834:18;;;8827:30;-1:-1:-1;;;8873:18:1;;;8866:46;8929:18;;7992:35:0;8613:340:1;7992:35:0;-1:-1:-1;;;;;8050:20:0;;;;;;:14;:20;;;;;;:25;8042:60;;;;-1:-1:-1;;;8042:60:0;;9160:2:1;8042:60:0;;;9142:21:1;9199:2;9179:18;;;9172:30;-1:-1:-1;;;9218:18:1;;;9211:52;9280:18;;8042:60:0;8958:346:1;8042:60:0;8135:11;;8125:6;:21;;8117:57;;;;-1:-1:-1;;;8117:57:0;;9511:2:1;8117:57:0;;;9493:21:1;9550:2;9530:18;;;9523:30;-1:-1:-1;;;9569:18:1;;;9562:53;9632:18;;8117:57:0;9309:347:1;8117:57:0;8199:13;;-1:-1:-1;;;;;8193:19:0;;;8199:13;;8193:19;;;;:44;;-1:-1:-1;;;;;;8216:21:0;;8230:6;8216:21;;8193:44;8189:123;;;8273:11;;8263:6;8247:13;8257:2;-1:-1:-1;;;;;4724:17:0;4697:7;4724:17;;;:8;:17;;;;;;;4631:118;8247:13;:22;;;;:::i;:::-;:37;;8239:73;;;;-1:-1:-1;;;8239:73:0;;9511:2:1;8239:73:0;;;9493:21:1;9550:2;9530:18;;;9523:30;-1:-1:-1;;;9569:18:1;;;9562:53;9632:18;;8239:73:0;9309:347:1;8239:73:0;8346:11;;:15;;8360:1;8346:15;:::i;:::-;8331:12;:30;8327:654;;;-1:-1:-1;8369:2:0;8327:654;;;8410:13;;-1:-1:-1;;;;;8410:13:0;;;8402:21;;;;8398:568;;-1:-1:-1;8455:6:0;;8398:568;;;8497:13;;-1:-1:-1;;;;;8497:13:0;;;8491:19;;;;8487:479;;8576:4;8535:20;4724:17;;;:8;:17;;;;;;3038:13;2915:2;3038;:13;:::i;:::-;3031:20;;:4;:20;:::i;:::-;8609:12;:22;8605:305;;;8676:7;;8714:21;;;8710:48;;;8752:6;8737:21;;8710:48;8804:4;8789:12;:19;8785:44;;;8825:4;8810:19;;8785:44;8856:30;8873:12;8856:16;:30::i;:::-;8633:277;8605:305;-1:-1:-1;;8939:7:0;;8487:479;9002:38;9017:4;9023:2;9027:6;9035:4;9002:14;:38::i;9627:645::-;9717:16;;;9731:1;9717:16;;;;;;;;9693:21;;9717:16;;;;;;;;;;-1:-1:-1;9717:16:0;9693:40;;9762:4;9744;9749:1;9744:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9744:23:0;;;:7;;;;;;;;;;:23;;;;9788:15;;:22;;;-1:-1:-1;;;9788:22:0;;;;:15;;;;;:20;;:22;;;;;9744:7;;9788:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9778:4;9783:1;9778:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9778:32:0;;;:7;;;;;;;;;:32;9853:15;;9821:62;;9838:4;;9853:15;9871:11;9821:8;:62::i;:::-;9894:15;;:196;;-1:-1:-1;;;9894:196:0;;-1:-1:-1;;;;;9894:15:0;;;;:66;;:196;;9975:11;;9894:15;;10017:4;;10044;;10064:15;;9894:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10101:12;10138:10;-1:-1:-1;;;;;10138:15:0;10185:1;10161:21;:25;;;;:::i;:::-;10138:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10216:48:0;;10124:67;;-1:-1:-1;;;;;;10216:9:0;:14;;10238:21;;10216:48;;;;10238:21;10216:14;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9627:645:0:o;1629:229::-;-1:-1:-1;;;;;1703:22:0;;1695:73;;;;-1:-1:-1;;;1695:73:0;;11368:2:1;1695:73:0;;;11350:21:1;11407:2;11387:18;;;11380:30;11446:34;11426:18;;;11419:62;-1:-1:-1;;;11497:18:1;;;11490:36;11543:19;;1695:73:0;11166:402:1;1695:73:0;1805:6;;;1784:38;;-1:-1:-1;;;;;1784:38:0;;;;1805:6;;;1784:38;;;1833:6;:17;;-1:-1:-1;;;;;;1833:17:0;-1:-1:-1;;;;;1833:17:0;;;;;;;;;;1629:229::o;7218:434::-;7317:17;7355:3;7338:13;7347:4;7338:6;:13;:::i;:::-;7337:21;;;;:::i;:::-;7317:41;-1:-1:-1;7369:22:0;7394:18;7317:41;7394:6;:18;:::i;:::-;-1:-1:-1;;;;;7442:14:0;;;;;;:8;:14;;;;;;7369:43;;-1:-1:-1;7442:23:0;;7459:6;;7442:23;:::i;:::-;-1:-1:-1;;;;;7425:14:0;;;;;;;:8;:14;;;;;;:40;;;;7491:12;;;;;;;:29;;7506:14;;7491:29;:::i;:::-;-1:-1:-1;;;;;7476:12:0;;;;;;:8;:12;;;;;;:44;;;;7574:4;7557:23;;;;:35;;7583:9;;7557:35;:::i;:::-;7548:4;7531:23;;;;:8;:23;;;;;;;;;:61;;;;7610:34;1546:25:1;;;-1:-1:-1;;;;;7610:34:0;;;;;;;;;;1519:18:1;7610:34:0;;;;;;;7306:346;;7218:434;;;;:::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;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;1215:180::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;-1:-1:-1;1366:23:1;;1215:180;-1:-1:-1;1215:180:1:o;1582:247::-;1641:6;1694:2;1682:9;1673:7;1669:23;1665:32;1662:52;;;1710:1;1707;1700:12;1662:52;1749:9;1736:23;1768:31;1793:5;1768:31;:::i;:::-;1818:5;1582:247;-1:-1:-1;;;1582:247:1:o;1834:456::-;1911:6;1919;1927;1980:2;1968:9;1959:7;1955:23;1951:32;1948:52;;;1996:1;1993;1986:12;1948:52;2035:9;2022:23;2054:31;2079:5;2054:31;:::i;:::-;2104:5;-1:-1:-1;2161:2:1;2146:18;;2133:32;2174:33;2133:32;2174:33;:::i;:::-;1834:456;;2226:7;;-1:-1:-1;;;2280:2:1;2265:18;;;;2252:32;;1834:456::o;2692:248::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;-1:-1:-1;;2860:23:1;;;2930:2;2915:18;;;2902:32;;-1:-1:-1;2692:248:1:o;2945:388::-;3013:6;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;3310:17;;;2945:388;;;;;:::o;3338:356::-;3540:2;3522:21;;;3559:18;;;3552:30;3618:34;3613:2;3598:18;;3591:62;3685:2;3670:18;;3338:356::o;3699:127::-;3760:10;3755:3;3751:20;3748:1;3741:31;3791:4;3788:1;3781:15;3815:4;3812:1;3805:15;3831:422;3920:1;3963:5;3920:1;3977:270;3998:7;3988:8;3985:21;3977:270;;;4057:4;4053:1;4049:6;4045:17;4039:4;4036:27;4033:53;;;4066:18;;:::i;:::-;4116:7;4106:8;4102:22;4099:55;;;4136:16;;;;4099:55;4215:22;;;;4175:15;;;;3977:270;;;3981:3;3831:422;;;;;:::o;4258:806::-;4307:5;4337:8;4327:80;;-1:-1:-1;4378:1:1;4392:5;;4327:80;4426:4;4416:76;;-1:-1:-1;4463:1:1;4477:5;;4416:76;4508:4;4526:1;4521:59;;;;4594:1;4589:130;;;;4501:218;;4521:59;4551:1;4542:10;;4565:5;;;4589:130;4626:3;4616:8;4613:17;4610:43;;;4633:18;;:::i;:::-;-1:-1:-1;;4689:1:1;4675:16;;4704:5;;4501:218;;4803:2;4793:8;4790:16;4784:3;4778:4;4775:13;4771:36;4765:2;4755:8;4752:16;4747:2;4741:4;4738:12;4734:35;4731:77;4728:159;;;-1:-1:-1;4840:19:1;;;4872:5;;4728:159;4919:34;4944:8;4938:4;4919:34;:::i;:::-;4989:6;4985:1;4981:6;4977:19;4968:7;4965:32;4962:58;;;5000:18;;:::i;:::-;5038:20;;4258:806;-1:-1:-1;;;4258:806:1:o;5069:140::-;5127:5;5156:47;5197:4;5187:8;5183:19;5177:4;5156:47;:::i;5214:168::-;5287:9;;;5318;;5335:15;;;5329:22;;5315:37;5305:71;;5356:18;;:::i;5796:217::-;5836:1;5862;5852:132;;5906:10;5901:3;5897:20;5894:1;5887:31;5941:4;5938:1;5931:15;5969:4;5966:1;5959:15;5852:132;-1:-1:-1;5998:9:1;;5796:217::o;6228:125::-;6293:9;;;6314:10;;;6311:36;;;6327:18;;:::i;9793:127::-;9854:10;9849:3;9845:20;9842:1;9835:31;9885:4;9882:1;9875:15;9909:4;9906:1;9899:15;9925:251;9995:6;10048:2;10036:9;10027:7;10023:23;10019:32;10016:52;;;10064:1;10061;10054:12;10016:52;10096:9;10090:16;10115:31;10140:5;10115:31;:::i;10181:980::-;10443:4;10491:3;10480:9;10476:19;10522:6;10511:9;10504:25;10548:2;10586:6;10581:2;10570:9;10566:18;10559:34;10629:3;10624:2;10613:9;10609:18;10602:31;10653:6;10688;10682:13;10719:6;10711;10704:22;10757:3;10746:9;10742:19;10735:26;;10796:2;10788:6;10784:15;10770:29;;10817:1;10827:195;10841:6;10838:1;10835:13;10827:195;;;10906:13;;-1:-1:-1;;;;;10902:39:1;10890:52;;10997:15;;;;10962:12;;;;10938:1;10856:9;10827:195;;;-1:-1:-1;;;;;;;11078:32:1;;;;11073:2;11058:18;;11051:60;-1:-1:-1;;;11142:3:1;11127:19;11120:35;11039:3;10181:980;-1:-1:-1;;;10181:980:1:o;11573:128::-;11640:9;;;11661:11;;;11658:37;;;11675:18;;:::i

Swarm Source

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