ETH Price: $3,284.71 (+0.25%)

Token

Only Possible On Ethereum (OPOE)
 

Overview

Max Total Supply

10,000,000,000 OPOE

Holders

26

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 OPOE

Value
$0.00
0xf00ad38fd6ed819ec78da2094f002d150a579999
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:
OPOE

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 9999999 runs

Other Settings:
paris EvmVersion
File 1 of 1 : opoe.sol
/*

Only Possible On Ethereum
Website : https://www.onlypossibleonethereum.com/
X : https://x.com/OPOE2024
TG : https://t.me/onlypossibleonethereum

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.25;

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

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

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 OPOE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private isExile;
    mapping(address => bool) public marketPair;
    mapping(uint256 => uint256) private perBuyCount;
    address payable private _taxWallet;
    uint256 private firstBlock = 0;

    uint256 private _initialBuyTax = 20;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;

    uint256 private _reduceBuyTaxAt = 30;

    uint256 private _reduceSellTaxAt = 35;
    uint256 private _preventSwapBefore = 35;
    uint256 private _buyCount = 0;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10000000000 * 10 ** _decimals;
    string private constant _name = unicode"Only Possible On Ethereum";
    string private constant _symbol = unicode"OPOE";
    uint256 public _maxTxAmount = 1000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 1000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 1000000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 1000000 * 10 ** _decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    uint256 private sellsPerBlock = 3;
    uint256 private buysFirstBlock = 10;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

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

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

        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
                address(this),
                uniswapV2Router.WETH()
            );
        marketPair[address(uniswapV2Pair)] = true;
        isExile[address(uniswapV2Pair)] = true;
    }

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

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

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

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

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

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

        if (from != owner() && to != owner()) {
            taxAmount = amount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);

            if (block.number == firstBlock) {
                require(
                    perBuyCount[block.number] < buysFirstBlock,
                    "Exceeds buys on the first block."
                );
                perBuyCount[block.number]++;
            }

            if (
                marketPair[from] &&
                to != address(uniswapV2Router) &&
                !isExile[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                _buyCount++;
            }

            if (!marketPair[to] && !isExile[to]) {
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
            }

            if (marketPair[to] && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            if (!marketPair[from] && !marketPair[to] && from != address(this)) {
                taxAmount = 0;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                marketPair[to] &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore
            ) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < sellsPerBlock);
                swapTokensForEth(
                    min(amount, min(contractTokenBalance, _maxTaxSwap))
                );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFeeOnEth(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            } else if (
                !inSwap &&
                marketPair[to] &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore
            ) {
                swapTokensForEth(
                    min(amount, min(contractTokenBalance, _maxTaxSwap))
                );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFeeOnEth(address(this).balance);
                }
            }
        }

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

    function rescueETHonEth() external {
        require(_msgSender() == _taxWallet);
        payable(_taxWallet).transfer(address(this).balance);
    }

    function rescueTokensOnEth(address _tokenAddr, uint _amount) external {
        require(_msgSender() == _taxWallet);
        IERC20(_tokenAddr).transfer(_taxWallet, _amount);
    }

    function isNotRestrictedOnEth() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function enableTradingOnEth() external onlyOwner {
        require(!tradingOpen, "trading is only possible on ETH");
        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;
        tradingOpen = true;
        firstBlock = block.number;
    }

    receive() external payable {}
}

Settings
{
  "viaIR": true,
  "optimizer": {
    "enabled": true,
    "runs": 9999999
  },
  "evmVersion": "paris",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTradingOnEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isNotRestrictedOnEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"rescueETHonEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueTokensOnEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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"}]

60806040908082523461032c5760018060a01b03196000338282541617815533817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3806007556014600855601460095580600a5580600b55601e600c556023600d556023600e5580600f55806010558060115566038d7ea4c680008060125580601355806014556015556003601855600a60195561ffff19601a5416601a5533826006541617600655338152600191602090838252678ac7230489e8000090818785205560018060a01b0391828554168552600384528785209660ff199787898254161790553086528886208789825416179055836017541686528886208789825416179055818152857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef863393a3737a250d5630b4cf539739df2c5dacb4c659f2488d908183601654161760165530156102dc57308652600285528886208287528552808987205588519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925853092a38160165416875163c45a015560e01b81528481600481855afa9081156102b257859087926102bc575b5089516315ab88c960e31b81529192829060049082905afa9081156102b2576044869286928991610295575b5088838d5196879586946364e329cb60e11b8652306004870152166024850152165af190811561028b579183600394928796948b989161025e575b501680916017541617601755845260048252848420868882541617905560175416835252209182541617905551611ebf908161038a8239f35b61027e9150853d8711610284575b6102768183610331565b81019061036a565b38610225565b503d61026c565b88513d87823e3d90fd5b6102ac9150843d8611610284576102768183610331565b386101ea565b89513d88823e3d90fd5b600492506102d690823d8411610284576102768183610331565b916101be565b885162461bcd60e51b8152600481018690526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b600080fd5b601f909101601f19168101906001600160401b0382119082101761035457604052565b634e487b7160e01b600052604160045260246000fd5b9081602091031261032c57516001600160a01b038116810361032c579056fe60806040818152600480361015610021575b505050361561001f57600080fd5b005b600092833560e01c90816306fdde0314610c9f57508063095ea7b314610c575780630faee56f14610c1a57806318160ddd14610bd957806323b872dd14610aef578063313ce56714610ab557806349bd5a5e14610a625780634c3f9ae9146109e65780634d3607431461095657806355dcd6fd1461089057806370a082311461082e578063715018a61461078c5780637d1db4a51461074f5780638da5cb5b146106fe5780638f9a55c0146106c157806395d89b411461064a57806395f9891f146103c3578063a9059cbb14610374578063bf474bed14610337578063dd62ed3e146102bf578063f2fde38b146101845763f5b3c3bf0361001157346101805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610180578160209360ff9273ffffffffffffffffffffffffffffffffffffffff61016f610d74565b168252855220541690519015158152f35b8280fd5b50346101805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610180576101bc610d74565b83549173ffffffffffffffffffffffffffffffffffffffff808416926101e3338514610e7b565b1693841561023c57505090827fffffffffffffffffffffffff0000000000000000000000000000000000000000927f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a31617815580f35b90602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b50503461033357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033357806020926102fb610d74565b610303610d9c565b73ffffffffffffffffffffffffffffffffffffffff91821683526002865283832091168252845220549051908152f35b5080fd5b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020906014549051908152f35b50503461033357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020906103bc6103b2610d74565b602435903361113b565b5160018152f35b50903461018057827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101805773ffffffffffffffffffffffffffffffffffffffff9182845416610418338214610e7b565b60ff60175460a01c166105ed57606084601654169160c44730895260016020528689205490875195869485937ff305d719000000000000000000000000000000000000000000000000000000008552308a86015260248501528b60448501528b606485015260848401524260a48401525af180156105e3576105b4575b506020906044846017541694601654169186855196879485937f095ea7b30000000000000000000000000000000000000000000000000000000085528401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248401525af19081156105ab575061057c575b506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff601a541617601a55740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff60175416176017554360075580f35b61059d9060203d6020116105a4575b6105958183610e3a565b810190610ee0565b5038610509565b503d61058b565b513d84823e3d90fd5b606090813d83116105dc575b6105ca8183610e3a565b810103126105d85738610495565b8380fd5b503d6105c0565b83513d87823e3d90fd5b50602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601f60248201527f74726164696e67206973206f6e6c7920706f737369626c65206f6e20455448006044820152fd5b50903461018057827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610180576106bd925080519161068b83610e02565b82527f4f504f450000000000000000000000000000000000000000000000000000000060208301525191829182610d0e565b0390f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020906013549051908152f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103335773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020906012549051908152f35b833461082b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261082b577fffffffffffffffffffffffff000000000000000000000000000000000000000081548273ffffffffffffffffffffffffffffffffffffffff8216610801338214610e7b565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a316815580f35b80fd5b5050346103335760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333578060209273ffffffffffffffffffffffffffffffffffffffff610880610d74565b1681526001845220549051908152f35b50903461018057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018057826108c9610d74565b9273ffffffffffffffffffffffffffffffffffffffff8060065416918233036105d857602093604492865197889586947fa9059cbb0000000000000000000000000000000000000000000000000000000086528501526024356024850152165af19081156105ab575061093a575080f35b6109529060203d6020116105a4576105958183610e3a565b5080f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103335760207f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf916109cc73ffffffffffffffffffffffffffffffffffffffff8554163314610e7b565b678ac7230489e8000090816012558160135551908152a180f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333578173ffffffffffffffffffffffffffffffffffffffff6006541680330361033357818080924790828215610a59575bf115610a4f575080f35b51903d90823e3d90fd5b506108fc610a45565b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103335760209073ffffffffffffffffffffffffffffffffffffffff601754169051908152f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020905160098152f35b5050346103335760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576103bc602092610bd1610b31610d74565b9184610b3b610d9c565b91610b4a60443580948761113b565b73ffffffffffffffffffffffffffffffffffffffff85168152600288528181203382528852205490855191610b7e83610e1e565b602883527f45524332303a207472616e7366657220616d6f756e7420657863656564732061888401527f6c6c6f77616e636500000000000000000000000000000000000000000000000087840152611c90565b903390610ef8565b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103335760209051678ac7230489e800008152f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020906015549051908152f35b50503461033357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020906103bc610c95610d74565b6024359033610ef8565b8490843461018057827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610180576106bd9250610cde82610e02565b601982527f4f6e6c7920506f737369626c65204f6e20457468657265756d00000000000000602083015251918291825b60208082528251818301819052939260005b858110610d60575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610d20565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610d9757565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610d9757565b67ffffffffffffffff8111610dd357604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610dd357604052565b6060810190811067ffffffffffffffff821117610dd357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610dd357604052565b15610e8257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b90816020910312610d9757518015158103610d975790565b73ffffffffffffffffffffffffffffffffffffffff809116918215610fea5716918215610f665760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260028252604060002085600052825280604060002055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461109a5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9190820180921161109a57565b156110dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152fd5b60009273ffffffffffffffffffffffffffffffffffffffff809216928315611c0c578216938415611b88578115611b0457809280825416808614159081611af9575b5061129c575b509061125f83927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef94611267575b85815260209360018552604093848320549261120286516111d181610e02565b601e8152837f536166654d6174683a207375627472616374696f6e206f766572666c6f77000096878b840152611c90565b89825260018852868220558981528561123c81832054611236835161122681610e02565b601e8152888c8201528787611c90565b90611e16565b918b815260018952205584519261125284610e02565b601e845286840152611c90565b9051908152a3565b308152600160205261127d846040832054611e16565b30825260016020526040822055604051848152868660203093a36111b1565b9250600f8054600c5410600014611aee576112ba600a545b84611cdf565b906040918251926112ca84610e02565b601a938481527f536166654d6174683a206469766973696f6e206279207a65726f00000000000097886020809301526064809404986007544314611a64575b8a88528b60049687855260ff9283878c20541680611a56575b80611a42575b6119b0575b828b52888652868b8d8683832054161580611999575b611974575b508491505288865283878c2054168061196a575b611927575b508c8a5287855282868b2054161580611917575b8061190d575b611903575b8590308b5260018652818b2054938a54938c828087161595869283976118f0575b505050806118e4575b806118d9575b806118cd575b15611628575050505050601154431161161f575b601054601854111561161b57601554908181111561161457505b8089111561160c57935b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009560018789541617885584519361142585610e1e565b6002855280850193863686373061143b87611d86565b52806016541687517fad5c464800000000000000000000000000000000000000000000000000000000815283818681855afa90811561160257908a918e916115c2575b5091611498928461148e8b611dc2565b9116905230610ef8565b806016541695863b156115be579794928b9694928851998a977f791ac94700000000000000000000000000000000000000000000000000000000895260a489019389015288602489015260a060448901525180925260c48701949288905b83821061159e5750505050508380928692309083015242608483015203925af19081156115955750611581575b5081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92919061125f9047611573575b61156260105461106d565b601055436011555b91929350611183565b61157c47611dd2565b611557565b61158b8491610dbf565b6101805738611523565b513d86823e3d90fd5b8451811687528e99508b98509582019593820193600191909101906114f6565b8b80fd5b809250858092503d83116115fb575b6115db8183610e3a565b810103126115f7575182811681036115f757899061149861147e565b8c80fd5b503d6115d1565b89513d8f823e3d90fd5b5087936113ee565b90506113e4565b8780fd5b876010556113ca565b9399989493836118ba575b50826118ac575b50816118a0575b81611893575b50611681575b50505050505050509061125f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef939261156a565b601554908181111561188c57505b808a111561188457945b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008098161788558451936116ce85610e1e565b600285528085019386368637306116e487611d86565b52806016541687517fad5c464800000000000000000000000000000000000000000000000000000000815283818681855afa90811561160257908a918e91611848575b5091611737928461148e8b611dc2565b806016541695863b156115be579794928b9694928851998a977f791ac94700000000000000000000000000000000000000000000000000000000895260a489019389015288602489015260a060448901525180925260c48701949288905b8382106118285750505050508380928692309083015242608483015203925af190811561159557509161125f93917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef97969593611815575b50815416905547611807575b91929338808080808061164d565b61181047611dd2565b6117f9565b61182190939193610dbf565b91386117ed565b8451811687528e99508b9850958201959382019360019190910190611795565b809250858092503d831161187d575b6118618183610e3a565b810103126115f7575182811681036115f7578990611737611727565b503d611857565b508894611699565b905061168f565b905054600e541038611647565b60145483119150611641565b60088a901c1691503861163a565b8c52888752878c2054811692508f611633565b508254600e54106113b6565b5060145486116113b0565b50818560081c166113aa565b8481528e8c522054169050828a8f6113a1565b989a508a98611380565b50308d141561137b565b50818a5282868b20541615611375565b8188929d5054600d541060001461195f57611945600b545b8d611cdf565b9086885161195281610e02565b8c81520152049a38611361565b61194560095461193f565b508d30141561135c565b611991926119879260018b5220546110c9565b60135410156110d6565b868b8d611348565b5050505060038652868b8d86838320541615611343565b9091506012548b116119e757908d916119d66119878d898e87815260018b5220546110c9565b6119e0825461106d565b825561132d565b8688868851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152fd5b50828b526003865283878c20541615611328565b508460165416831415611322565b43885260058352838820546019541115611a935743885260058352838820611a8c815461106d565b9055611309565b50509051907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f457863656564732062757973206f6e2074686520666972737420626c6f636b2e6044820152fd5b6112ba6008546112b4565b90508614153861117d565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b91828211611ca55750810390811161109a5790565b611cdb906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260048301610d0e565b0390fd5b908115611d7f5780820291820480820361109a5703611cfb5790565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f77000000000000000000000000000000000000000000000000000000000000006064820152fd5b5050600090565b805115611d935760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805160011015611d935760400190565b60008080809373ffffffffffffffffffffffffffffffffffffffff60065416828215611e0d575bf115611e0157565b6040513d6000823e3d90fd5b506108fc611df9565b90611e2190826110c9565b908110611e2b5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152fdfea2646970667358221220b64ca034118beb1ea536500507d99adbef51bc4c8cffb841524ac294a436e3f264736f6c63430008190033

Deployed Bytecode

0x60806040818152600480361015610021575b505050361561001f57600080fd5b005b600092833560e01c90816306fdde0314610c9f57508063095ea7b314610c575780630faee56f14610c1a57806318160ddd14610bd957806323b872dd14610aef578063313ce56714610ab557806349bd5a5e14610a625780634c3f9ae9146109e65780634d3607431461095657806355dcd6fd1461089057806370a082311461082e578063715018a61461078c5780637d1db4a51461074f5780638da5cb5b146106fe5780638f9a55c0146106c157806395d89b411461064a57806395f9891f146103c3578063a9059cbb14610374578063bf474bed14610337578063dd62ed3e146102bf578063f2fde38b146101845763f5b3c3bf0361001157346101805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610180578160209360ff9273ffffffffffffffffffffffffffffffffffffffff61016f610d74565b168252855220541690519015158152f35b8280fd5b50346101805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610180576101bc610d74565b83549173ffffffffffffffffffffffffffffffffffffffff808416926101e3338514610e7b565b1693841561023c57505090827fffffffffffffffffffffffff0000000000000000000000000000000000000000927f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a31617815580f35b90602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b50503461033357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033357806020926102fb610d74565b610303610d9c565b73ffffffffffffffffffffffffffffffffffffffff91821683526002865283832091168252845220549051908152f35b5080fd5b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020906014549051908152f35b50503461033357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020906103bc6103b2610d74565b602435903361113b565b5160018152f35b50903461018057827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101805773ffffffffffffffffffffffffffffffffffffffff9182845416610418338214610e7b565b60ff60175460a01c166105ed57606084601654169160c44730895260016020528689205490875195869485937ff305d719000000000000000000000000000000000000000000000000000000008552308a86015260248501528b60448501528b606485015260848401524260a48401525af180156105e3576105b4575b506020906044846017541694601654169186855196879485937f095ea7b30000000000000000000000000000000000000000000000000000000085528401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248401525af19081156105ab575061057c575b506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff601a541617601a55740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff60175416176017554360075580f35b61059d9060203d6020116105a4575b6105958183610e3a565b810190610ee0565b5038610509565b503d61058b565b513d84823e3d90fd5b606090813d83116105dc575b6105ca8183610e3a565b810103126105d85738610495565b8380fd5b503d6105c0565b83513d87823e3d90fd5b50602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601f60248201527f74726164696e67206973206f6e6c7920706f737369626c65206f6e20455448006044820152fd5b50903461018057827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610180576106bd925080519161068b83610e02565b82527f4f504f450000000000000000000000000000000000000000000000000000000060208301525191829182610d0e565b0390f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020906013549051908152f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103335773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020906012549051908152f35b833461082b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261082b577fffffffffffffffffffffffff000000000000000000000000000000000000000081548273ffffffffffffffffffffffffffffffffffffffff8216610801338214610e7b565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a316815580f35b80fd5b5050346103335760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333578060209273ffffffffffffffffffffffffffffffffffffffff610880610d74565b1681526001845220549051908152f35b50903461018057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018057826108c9610d74565b9273ffffffffffffffffffffffffffffffffffffffff8060065416918233036105d857602093604492865197889586947fa9059cbb0000000000000000000000000000000000000000000000000000000086528501526024356024850152165af19081156105ab575061093a575080f35b6109529060203d6020116105a4576105958183610e3a565b5080f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103335760207f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf916109cc73ffffffffffffffffffffffffffffffffffffffff8554163314610e7b565b678ac7230489e8000090816012558160135551908152a180f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333578173ffffffffffffffffffffffffffffffffffffffff6006541680330361033357818080924790828215610a59575bf115610a4f575080f35b51903d90823e3d90fd5b506108fc610a45565b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103335760209073ffffffffffffffffffffffffffffffffffffffff601754169051908152f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020905160098152f35b5050346103335760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576103bc602092610bd1610b31610d74565b9184610b3b610d9c565b91610b4a60443580948761113b565b73ffffffffffffffffffffffffffffffffffffffff85168152600288528181203382528852205490855191610b7e83610e1e565b602883527f45524332303a207472616e7366657220616d6f756e7420657863656564732061888401527f6c6c6f77616e636500000000000000000000000000000000000000000000000087840152611c90565b903390610ef8565b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103335760209051678ac7230489e800008152f35b50503461033357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020906015549051908152f35b50503461033357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610333576020906103bc610c95610d74565b6024359033610ef8565b8490843461018057827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610180576106bd9250610cde82610e02565b601982527f4f6e6c7920506f737369626c65204f6e20457468657265756d00000000000000602083015251918291825b60208082528251818301819052939260005b858110610d60575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610d20565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610d9757565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610d9757565b67ffffffffffffffff8111610dd357604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610dd357604052565b6060810190811067ffffffffffffffff821117610dd357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610dd357604052565b15610e8257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b90816020910312610d9757518015158103610d975790565b73ffffffffffffffffffffffffffffffffffffffff809116918215610fea5716918215610f665760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260028252604060002085600052825280604060002055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461109a5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9190820180921161109a57565b156110dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152fd5b60009273ffffffffffffffffffffffffffffffffffffffff809216928315611c0c578216938415611b88578115611b0457809280825416808614159081611af9575b5061129c575b509061125f83927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef94611267575b85815260209360018552604093848320549261120286516111d181610e02565b601e8152837f536166654d6174683a207375627472616374696f6e206f766572666c6f77000096878b840152611c90565b89825260018852868220558981528561123c81832054611236835161122681610e02565b601e8152888c8201528787611c90565b90611e16565b918b815260018952205584519261125284610e02565b601e845286840152611c90565b9051908152a3565b308152600160205261127d846040832054611e16565b30825260016020526040822055604051848152868660203093a36111b1565b9250600f8054600c5410600014611aee576112ba600a545b84611cdf565b906040918251926112ca84610e02565b601a938481527f536166654d6174683a206469766973696f6e206279207a65726f00000000000097886020809301526064809404986007544314611a64575b8a88528b60049687855260ff9283878c20541680611a56575b80611a42575b6119b0575b828b52888652868b8d8683832054161580611999575b611974575b508491505288865283878c2054168061196a575b611927575b508c8a5287855282868b2054161580611917575b8061190d575b611903575b8590308b5260018652818b2054938a54938c828087161595869283976118f0575b505050806118e4575b806118d9575b806118cd575b15611628575050505050601154431161161f575b601054601854111561161b57601554908181111561161457505b8089111561160c57935b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009560018789541617885584519361142585610e1e565b6002855280850193863686373061143b87611d86565b52806016541687517fad5c464800000000000000000000000000000000000000000000000000000000815283818681855afa90811561160257908a918e916115c2575b5091611498928461148e8b611dc2565b9116905230610ef8565b806016541695863b156115be579794928b9694928851998a977f791ac94700000000000000000000000000000000000000000000000000000000895260a489019389015288602489015260a060448901525180925260c48701949288905b83821061159e5750505050508380928692309083015242608483015203925af19081156115955750611581575b5081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92919061125f9047611573575b61156260105461106d565b601055436011555b91929350611183565b61157c47611dd2565b611557565b61158b8491610dbf565b6101805738611523565b513d86823e3d90fd5b8451811687528e99508b98509582019593820193600191909101906114f6565b8b80fd5b809250858092503d83116115fb575b6115db8183610e3a565b810103126115f7575182811681036115f757899061149861147e565b8c80fd5b503d6115d1565b89513d8f823e3d90fd5b5087936113ee565b90506113e4565b8780fd5b876010556113ca565b9399989493836118ba575b50826118ac575b50816118a0575b81611893575b50611681575b50505050505050509061125f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef939261156a565b601554908181111561188c57505b808a111561188457945b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008098161788558451936116ce85610e1e565b600285528085019386368637306116e487611d86565b52806016541687517fad5c464800000000000000000000000000000000000000000000000000000000815283818681855afa90811561160257908a918e91611848575b5091611737928461148e8b611dc2565b806016541695863b156115be579794928b9694928851998a977f791ac94700000000000000000000000000000000000000000000000000000000895260a489019389015288602489015260a060448901525180925260c48701949288905b8382106118285750505050508380928692309083015242608483015203925af190811561159557509161125f93917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef97969593611815575b50815416905547611807575b91929338808080808061164d565b61181047611dd2565b6117f9565b61182190939193610dbf565b91386117ed565b8451811687528e99508b9850958201959382019360019190910190611795565b809250858092503d831161187d575b6118618183610e3a565b810103126115f7575182811681036115f7578990611737611727565b503d611857565b508894611699565b905061168f565b905054600e541038611647565b60145483119150611641565b60088a901c1691503861163a565b8c52888752878c2054811692508f611633565b508254600e54106113b6565b5060145486116113b0565b50818560081c166113aa565b8481528e8c522054169050828a8f6113a1565b989a508a98611380565b50308d141561137b565b50818a5282868b20541615611375565b8188929d5054600d541060001461195f57611945600b545b8d611cdf565b9086885161195281610e02565b8c81520152049a38611361565b61194560095461193f565b508d30141561135c565b611991926119879260018b5220546110c9565b60135410156110d6565b868b8d611348565b5050505060038652868b8d86838320541615611343565b9091506012548b116119e757908d916119d66119878d898e87815260018b5220546110c9565b6119e0825461106d565b825561132d565b8688868851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152fd5b50828b526003865283878c20541615611328565b508460165416831415611322565b43885260058352838820546019541115611a935743885260058352838820611a8c815461106d565b9055611309565b50509051907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f457863656564732062757973206f6e2074686520666972737420626c6f636b2e6044820152fd5b6112ba6008546112b4565b90508614153861117d565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b91828211611ca55750810390811161109a5790565b611cdb906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260048301610d0e565b0390fd5b908115611d7f5780820291820480820361109a5703611cfb5790565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f77000000000000000000000000000000000000000000000000000000000000006064820152fd5b5050600090565b805115611d935760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805160011015611d935760400190565b60008080809373ffffffffffffffffffffffffffffffffffffffff60065416828215611e0d575bf115611e0157565b6040513d6000823e3d90fd5b506108fc611df9565b90611e2190826110c9565b908110611e2b5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152fdfea2646970667358221220b64ca034118beb1ea536500507d99adbef51bc4c8cffb841524ac294a436e3f264736f6c63430008190033

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.