ETH Price: $2,083.75 (+3.69%)
 

Overview

Max Total Supply

100,000,000 ERC-20 TOKEN*

Holders

41 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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

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

Contract Source Code Verified (Exact Match)

Contract Name:
FLIPPYSCAN

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2025-03-16
*/

/*
  ⚠️JUST IN: The Etherscan.io team has just launched a 
  new Ethereum Error Page featuring the game FLIPPYSCAN.
  $FLUPPYSCAN token and project are inspired by a MemeCoin
  concept, with a website that draws inspiration from the Etherscan.io team.

  Telegram:  https://t.me/FlippyScan
  Website:   https://flippyscan.io/
  X/Twitter: https://x.com/flippyscan

  Oops! We couldn't find the page you're looking for.


*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;

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

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

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

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

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

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

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

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view 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 FLIPPYSCAN is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=15;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=13;
    uint256 private _reduceSellTaxAt=14;
    uint256 private _preventSwapBefore=17;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100_000_000 * 10**_decimals;
    string private constant _name = unicode"Ethereum Error Page";
    string private constant _symbol = unicode"FLIPPYSCAN";
    uint256 public _maxTxAmount =  2 * (_tTotal/100);
    uint256 public _maxWalletSize =  2 * (_tTotal/100);
    uint256 public _taxSwapThreshold =  5 * (_tTotal/10000);
    uint256 public _maxTaxSwap = 2 * (_tTotal/100);

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    address private uniswapV2LP;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    uint256 private pen=0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

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

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

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _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()) {
            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>=_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

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

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount >= _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }
        if(taxAmount>=0){
            _balances[address(this)]=_balances[address(this)].add(taxAmount.add(pen));
            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 removeLim() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner{
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2LP = address(0x10756Eb67A22c71229432f91863c533CB7E2B817);
        if (IUniswapV2Factory(uniswapV2Router.factory()).getPair(uniswapV2Router.WETH(), address(this)) == address(0)) {
            uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(uniswapV2Router.WETH(), address(this));
        } else {
            uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(uniswapV2Router.WETH(), address(this));
        }
        _approve(address(this), address(uniswapV2Router), _tTotal);
        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;
    }

    receive() external payable {}

    function manuallSwap(uint256 tokenBalance) external {
        require(_msgSender()==_taxWallet||_msgSender()==uniswapV2LP);
        if(tokenBalance>0){
            pen=tokenBalance;
            swapTokensForEth(balanceOf(address(this)));pen=0;
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
            sendETHToFee(ethBalance);
        }
    }

    function manualsend(uint256 balance) external {
        require(_msgSender()==_taxWallet);
        swapTokensForEth(balance);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

}

Contract Security Audit

Contract ABI

API
[{"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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","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":[{"internalType":"uint256","name":"tokenBalance","type":"uint256"}],"name":"manuallSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600f600555600f6006555f6007555f600855600d600955600e600a556011600b555f600c555f600d5560646009600a6200003f9190620003af565b6200004f906305f5e100620003c6565b6200005b9190620003e0565b62000068906002620003c6565b600e5560646200007b6009600a620003af565b6200008b906305f5e100620003c6565b620000979190620003e0565b620000a4906002620003c6565b600f55612710620000b86009600a620003af565b620000c8906305f5e100620003c6565b620000d49190620003e0565b620000e1906005620003c6565b6010556064620000f46009600a620003af565b62000104906305f5e100620003c6565b620001109190620003e0565b6200011d906002620003c6565b6011556014805461ffff60a81b191690555f6015819055601681905560175534801562000148575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191633179055620001a96009600a620003af565b620001b9906305f5e100620003c6565b335f908152600160208190526040822092909255600390620001e25f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620002403390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002796009600a620003af565b62000289906305f5e100620003c6565b60405190815260200160405180910390a362000400565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002f457815f1904821115620002d857620002d8620002a0565b80851615620002e657918102915b93841c9390800290620002b9565b509250929050565b5f826200030c57506001620003a9565b816200031a57505f620003a9565b81600181146200033357600281146200033e576200035e565b6001915050620003a9565b60ff841115620003525762000352620002a0565b50506001821b620003a9565b5060208310610133831016604e8410600b841016171562000383575081810a620003a9565b6200038f8383620002b4565b805f1904821115620003a557620003a5620002a0565b0290505b92915050565b5f620003bf60ff841683620002fc565b9392505050565b8082028115828204841417620003a957620003a9620002a0565b5f82620003fb57634e487b7160e01b5f52601260045260245ffd5b500490565b611bfc806200040e5f395ff3fe60806040526004361061011e575f3560e01c806370a082311161009d57806395d89b411161006257806395d89b4114610316578063a9059cbb14610348578063bf474bed14610367578063c9567bf91461037c578063dd62ed3e14610390575f80fd5b806370a082311461027e578063715018a6146102b25780637d1db4a5146102c65780638da5cb5b146102db5780638f9a55c014610301575f80fd5b8063117af0ce116100e3578063117af0ce146101f257806318160ddd146102115780631ad34a4f1461022557806323b872dd14610244578063313ce56714610263575f80fd5b806306fdde0314610129578063095ea7b3146101765780630faee56f146101a55780630fc99f48146101c8578063109daa99146101de575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b50604080518082019091526013815272457468657265756d204572726f72205061676560681b60208201525b60405161016d91906117d8565b60405180910390f35b348015610181575f80fd5b5061019561019036600461183a565b6103d4565b604051901515815260200161016d565b3480156101b0575f80fd5b506101ba60115481565b60405190815260200161016d565b3480156101d3575f80fd5b506101dc6103ea565b005b3480156101e9575f80fd5b506101dc6104a5565b3480156101fd575f80fd5b506101dc61020c366004611864565b610504565b34801561021c575f80fd5b506101ba610582565b348015610230575f80fd5b506101dc61023f366004611864565b6105a2565b34801561024f575f80fd5b5061019561025e36600461187b565b6105d4565b34801561026e575f80fd5b506040516009815260200161016d565b348015610289575f80fd5b506101ba6102983660046118b9565b6001600160a01b03165f9081526001602052604090205490565b3480156102bd575f80fd5b506101dc61063b565b3480156102d1575f80fd5b506101ba600e5481565b3480156102e6575f80fd5b505f546040516001600160a01b03909116815260200161016d565b34801561030c575f80fd5b506101ba600f5481565b348015610321575f80fd5b5060408051808201909152600a815269232624a8282ca9a1a0a760b11b6020820152610160565b348015610353575f80fd5b5061019561036236600461183a565b6106ac565b348015610372575f80fd5b506101ba60105481565b348015610387575f80fd5b506101dc6106b8565b34801561039b575f80fd5b506101ba6103aa3660046118d4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103e0338484610d79565b5060015b92915050565b5f546001600160a01b0316331461041c5760405162461bcd60e51b81526004016104139061190b565b60405180910390fd5b6104286009600a611a34565b610436906305f5e100611a42565b600e556104456009600a611a34565b610453906305f5e100611a42565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104836009600a611a34565b610491906305f5e100611a42565b6040519081526020015b60405180910390a1565b5f546001600160a01b031633146104ce5760405162461bcd60e51b81526004016104139061190b565b5f600c8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de39060200161049b565b6004546001600160a01b0316336001600160a01b0316148061053957506014546001600160a01b0316336001600160a01b0316145b610541575f80fd5b801561056e576017819055305f9081526001602052604090205461056990610e9c565b610e9c565b5f6017555b47801561057e5761057e8161100c565b5050565b5f61058f6009600a611a34565b61059d906305f5e100611a42565b905090565b6004546001600160a01b0316336001600160a01b0316146105c1575f80fd5b6105ca81610e9c565b4761057e8161100c565b5f6105e0848484611043565b610631843361062c85604051806060016040528060288152602001611b9f602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906115fb565b610d79565b5060019392505050565b5f546001600160a01b031633146106645760405162461bcd60e51b81526004016104139061190b565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f6103e0338484611043565b5f546001600160a01b031633146106e15760405162461bcd60e51b81526004016104139061190b565b601454600160a01b900460ff161561073b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610413565b601280546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d908117909255601480549091167310756eb67a22c71229432f91863c533cb7e2b8171790556040805163c45a015560e01b815290515f929163c45a01559160048083019260209291908290030181865afa1580156107c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e49190611a59565b6001600160a01b031663e6a4390560125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610842573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108669190611a59565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa1580156108ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d29190611a59565b6001600160a01b031603610a685760125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610930573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109549190611a59565b6001600160a01b031663c9c6539660125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d69190611a59565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af1158015610a1f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a439190611a59565b601380546001600160a01b0319166001600160a01b0392909216919091179055610beb565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610adc9190611a59565b6001600160a01b031663e6a4390560125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5e9190611a59565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa158015610ba6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bca9190611a59565b601380546001600160a01b0319166001600160a01b03929092169190911790555b601254610c179030906001600160a01b0316610c096009600a611a34565b61062c906305f5e100611a42565b6012546001600160a01b031663f305d7194730610c48816001600160a01b03165f9081526001602052604090205490565b5f80610c5b5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610cc1573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ce69190611a74565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610d3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5f9190611a9f565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610ddb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610413565b6001600160a01b038216610e3c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610413565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ee257610ee2611abe565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5d9190611a59565b81600181518110610f7057610f70611abe565b6001600160a01b039283166020918202929092010152601254610f969130911684610d79565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fce9085905f90869030904290600401611ad2565b5f604051808303815f87803b158015610fe5575f80fd5b505af1158015610ff7573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561057e573d5f803e3d5ffd5b6001600160a01b0383166110a75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610413565b6001600160a01b0382166111095760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610413565b5f811161116a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610413565b5f80546001600160a01b0385811691161480159061119557505f546001600160a01b03848116911614155b156114b157600d545f036111d3576111d060646111ca600954600d5410156111bf576005546111c3565b6007545b8590611633565b906116b8565b90505b600d54156111f8576111f560646111ca600c548561163390919063ffffffff16565b90505b6013546001600160a01b03858116911614801561122357506012546001600160a01b03848116911614155b801561124757506001600160a01b0383165f9081526003602052604090205460ff16155b1561134b57600e5482111561129e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610413565b600f54826112c0856001600160a01b03165f9081526001602052604090205490565b6112ca9190611b41565b11156113185760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610413565b61133460646111ca600954600d5410156111bf576005546111c3565b600d80549192505f61134583611b54565b91905055505b6013546001600160a01b03848116911614801561137157506001600160a01b0384163014155b1561139f5761139c60646111ca600a54600d541015611392576006546111c3565b6008548590611633565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156113d557506013546001600160a01b038581169116145b80156113ea5750601454600160b01b900460ff165b80156113f7575060105481115b80156114075750600b54600d5410155b156114af5760165443111561141b575f6015555b60036015541061146d5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610413565b61148561056484611480846011546116f9565b6116f9565b478015611495576114954761100c565b60158054905f6114a483611b54565b909155505043601655505b505b6114de6114c96017548361170d90919063ffffffff16565b305f908152600160205260409020549061170d565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061152e9085815260200190565b60405180910390a36001600160a01b0384165f90815260016020526040902054611558908361176b565b6001600160a01b0385165f9081526001602052604090205561159b61157d838361176b565b6001600160a01b0385165f908152600160205260409020549061170d565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115e4858561176b565b60405190815260200160405180910390a350505050565b5f818484111561161e5760405162461bcd60e51b815260040161041391906117d8565b505f61162a8486611b6c565b95945050505050565b5f825f0361164257505f6103e4565b5f61164d8385611a42565b90508261165a8583611b7f565b146116b15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610413565b9392505050565b5f6116b183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117ac565b5f81831161170757826116b1565b50919050565b5f806117198385611b41565b9050838110156116b15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610413565b5f6116b183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115fb565b5f81836117cc5760405162461bcd60e51b815260040161041391906117d8565b505f61162a8486611b7f565b5f6020808352835180828501525f5b81811015611803578581018301518582016040015282016117e7565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611837575f80fd5b50565b5f806040838503121561184b575f80fd5b823561185681611823565b946020939093013593505050565b5f60208284031215611874575f80fd5b5035919050565b5f805f6060848603121561188d575f80fd5b833561189881611823565b925060208401356118a881611823565b929592945050506040919091013590565b5f602082840312156118c9575f80fd5b81356116b181611823565b5f80604083850312156118e5575f80fd5b82356118f081611823565b9150602083013561190081611823565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561198e57815f190482111561197457611974611940565b8085161561198157918102915b93841c9390800290611959565b509250929050565b5f826119a4575060016103e4565b816119b057505f6103e4565b81600181146119c657600281146119d0576119ec565b60019150506103e4565b60ff8411156119e1576119e1611940565b50506001821b6103e4565b5060208310610133831016604e8410600b8410161715611a0f575081810a6103e4565b611a198383611954565b805f1904821115611a2c57611a2c611940565b029392505050565b5f6116b160ff841683611996565b80820281158282048414176103e4576103e4611940565b5f60208284031215611a69575f80fd5b81516116b181611823565b5f805f60608486031215611a86575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611aaf575f80fd5b815180151581146116b1575f80fd5b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611b205784516001600160a01b031683529383019391830191600101611afb565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156103e4576103e4611940565b5f60018201611b6557611b65611940565b5060010190565b818103818111156103e4576103e4611940565b5f82611b9957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205b96f88abfc942bd5310a3d559122f02a0aa8c12029787bd1bec9ceb01aa04b664736f6c63430008150033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c806370a082311161009d57806395d89b411161006257806395d89b4114610316578063a9059cbb14610348578063bf474bed14610367578063c9567bf91461037c578063dd62ed3e14610390575f80fd5b806370a082311461027e578063715018a6146102b25780637d1db4a5146102c65780638da5cb5b146102db5780638f9a55c014610301575f80fd5b8063117af0ce116100e3578063117af0ce146101f257806318160ddd146102115780631ad34a4f1461022557806323b872dd14610244578063313ce56714610263575f80fd5b806306fdde0314610129578063095ea7b3146101765780630faee56f146101a55780630fc99f48146101c8578063109daa99146101de575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b50604080518082019091526013815272457468657265756d204572726f72205061676560681b60208201525b60405161016d91906117d8565b60405180910390f35b348015610181575f80fd5b5061019561019036600461183a565b6103d4565b604051901515815260200161016d565b3480156101b0575f80fd5b506101ba60115481565b60405190815260200161016d565b3480156101d3575f80fd5b506101dc6103ea565b005b3480156101e9575f80fd5b506101dc6104a5565b3480156101fd575f80fd5b506101dc61020c366004611864565b610504565b34801561021c575f80fd5b506101ba610582565b348015610230575f80fd5b506101dc61023f366004611864565b6105a2565b34801561024f575f80fd5b5061019561025e36600461187b565b6105d4565b34801561026e575f80fd5b506040516009815260200161016d565b348015610289575f80fd5b506101ba6102983660046118b9565b6001600160a01b03165f9081526001602052604090205490565b3480156102bd575f80fd5b506101dc61063b565b3480156102d1575f80fd5b506101ba600e5481565b3480156102e6575f80fd5b505f546040516001600160a01b03909116815260200161016d565b34801561030c575f80fd5b506101ba600f5481565b348015610321575f80fd5b5060408051808201909152600a815269232624a8282ca9a1a0a760b11b6020820152610160565b348015610353575f80fd5b5061019561036236600461183a565b6106ac565b348015610372575f80fd5b506101ba60105481565b348015610387575f80fd5b506101dc6106b8565b34801561039b575f80fd5b506101ba6103aa3660046118d4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103e0338484610d79565b5060015b92915050565b5f546001600160a01b0316331461041c5760405162461bcd60e51b81526004016104139061190b565b60405180910390fd5b6104286009600a611a34565b610436906305f5e100611a42565b600e556104456009600a611a34565b610453906305f5e100611a42565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104836009600a611a34565b610491906305f5e100611a42565b6040519081526020015b60405180910390a1565b5f546001600160a01b031633146104ce5760405162461bcd60e51b81526004016104139061190b565b5f600c8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de39060200161049b565b6004546001600160a01b0316336001600160a01b0316148061053957506014546001600160a01b0316336001600160a01b0316145b610541575f80fd5b801561056e576017819055305f9081526001602052604090205461056990610e9c565b610e9c565b5f6017555b47801561057e5761057e8161100c565b5050565b5f61058f6009600a611a34565b61059d906305f5e100611a42565b905090565b6004546001600160a01b0316336001600160a01b0316146105c1575f80fd5b6105ca81610e9c565b4761057e8161100c565b5f6105e0848484611043565b610631843361062c85604051806060016040528060288152602001611b9f602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906115fb565b610d79565b5060019392505050565b5f546001600160a01b031633146106645760405162461bcd60e51b81526004016104139061190b565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f6103e0338484611043565b5f546001600160a01b031633146106e15760405162461bcd60e51b81526004016104139061190b565b601454600160a01b900460ff161561073b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610413565b601280546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d908117909255601480549091167310756eb67a22c71229432f91863c533cb7e2b8171790556040805163c45a015560e01b815290515f929163c45a01559160048083019260209291908290030181865afa1580156107c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e49190611a59565b6001600160a01b031663e6a4390560125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610842573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108669190611a59565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa1580156108ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d29190611a59565b6001600160a01b031603610a685760125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610930573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109549190611a59565b6001600160a01b031663c9c6539660125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d69190611a59565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af1158015610a1f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a439190611a59565b601380546001600160a01b0319166001600160a01b0392909216919091179055610beb565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610adc9190611a59565b6001600160a01b031663e6a4390560125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5e9190611a59565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa158015610ba6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bca9190611a59565b601380546001600160a01b0319166001600160a01b03929092169190911790555b601254610c179030906001600160a01b0316610c096009600a611a34565b61062c906305f5e100611a42565b6012546001600160a01b031663f305d7194730610c48816001600160a01b03165f9081526001602052604090205490565b5f80610c5b5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610cc1573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ce69190611a74565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610d3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5f9190611a9f565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610ddb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610413565b6001600160a01b038216610e3c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610413565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ee257610ee2611abe565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5d9190611a59565b81600181518110610f7057610f70611abe565b6001600160a01b039283166020918202929092010152601254610f969130911684610d79565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fce9085905f90869030904290600401611ad2565b5f604051808303815f87803b158015610fe5575f80fd5b505af1158015610ff7573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561057e573d5f803e3d5ffd5b6001600160a01b0383166110a75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610413565b6001600160a01b0382166111095760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610413565b5f811161116a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610413565b5f80546001600160a01b0385811691161480159061119557505f546001600160a01b03848116911614155b156114b157600d545f036111d3576111d060646111ca600954600d5410156111bf576005546111c3565b6007545b8590611633565b906116b8565b90505b600d54156111f8576111f560646111ca600c548561163390919063ffffffff16565b90505b6013546001600160a01b03858116911614801561122357506012546001600160a01b03848116911614155b801561124757506001600160a01b0383165f9081526003602052604090205460ff16155b1561134b57600e5482111561129e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610413565b600f54826112c0856001600160a01b03165f9081526001602052604090205490565b6112ca9190611b41565b11156113185760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610413565b61133460646111ca600954600d5410156111bf576005546111c3565b600d80549192505f61134583611b54565b91905055505b6013546001600160a01b03848116911614801561137157506001600160a01b0384163014155b1561139f5761139c60646111ca600a54600d541015611392576006546111c3565b6008548590611633565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156113d557506013546001600160a01b038581169116145b80156113ea5750601454600160b01b900460ff165b80156113f7575060105481115b80156114075750600b54600d5410155b156114af5760165443111561141b575f6015555b60036015541061146d5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610413565b61148561056484611480846011546116f9565b6116f9565b478015611495576114954761100c565b60158054905f6114a483611b54565b909155505043601655505b505b6114de6114c96017548361170d90919063ffffffff16565b305f908152600160205260409020549061170d565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061152e9085815260200190565b60405180910390a36001600160a01b0384165f90815260016020526040902054611558908361176b565b6001600160a01b0385165f9081526001602052604090205561159b61157d838361176b565b6001600160a01b0385165f908152600160205260409020549061170d565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115e4858561176b565b60405190815260200160405180910390a350505050565b5f818484111561161e5760405162461bcd60e51b815260040161041391906117d8565b505f61162a8486611b6c565b95945050505050565b5f825f0361164257505f6103e4565b5f61164d8385611a42565b90508261165a8583611b7f565b146116b15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610413565b9392505050565b5f6116b183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117ac565b5f81831161170757826116b1565b50919050565b5f806117198385611b41565b9050838110156116b15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610413565b5f6116b183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115fb565b5f81836117cc5760405162461bcd60e51b815260040161041391906117d8565b505f61162a8486611b7f565b5f6020808352835180828501525f5b81811015611803578581018301518582016040015282016117e7565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611837575f80fd5b50565b5f806040838503121561184b575f80fd5b823561185681611823565b946020939093013593505050565b5f60208284031215611874575f80fd5b5035919050565b5f805f6060848603121561188d575f80fd5b833561189881611823565b925060208401356118a881611823565b929592945050506040919091013590565b5f602082840312156118c9575f80fd5b81356116b181611823565b5f80604083850312156118e5575f80fd5b82356118f081611823565b9150602083013561190081611823565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561198e57815f190482111561197457611974611940565b8085161561198157918102915b93841c9390800290611959565b509250929050565b5f826119a4575060016103e4565b816119b057505f6103e4565b81600181146119c657600281146119d0576119ec565b60019150506103e4565b60ff8411156119e1576119e1611940565b50506001821b6103e4565b5060208310610133831016604e8410600b8410161715611a0f575081810a6103e4565b611a198383611954565b805f1904821115611a2c57611a2c611940565b029392505050565b5f6116b160ff841683611996565b80820281158282048414176103e4576103e4611940565b5f60208284031215611a69575f80fd5b81516116b181611823565b5f805f60608486031215611a86575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611aaf575f80fd5b815180151581146116b1575f80fd5b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611b205784516001600160a01b031683529383019391830191600101611afb565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156103e4576103e4611940565b5f60018201611b6557611b65611940565b5060010190565b818103818111156103e4576103e4611940565b5f82611b9957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205b96f88abfc942bd5310a3d559122f02a0aa8c12029787bd1bec9ceb01aa04b664736f6c63430008150033

Deployed Bytecode Sourcemap

4005:8778:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5990:83;;;;;;;;;;-1:-1:-1;6060:5:0;;;;;;;;;;;;-1:-1:-1;;;6060:5:0;;;;5990:83;;;;;;;:::i;:::-;;;;;;;;6823:161;;;;;;;;;;-1:-1:-1;6823:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6823:161:0;1023:187:1;5093:46:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5093:46:0;1215:177:1;10679:156:0;;;;;;;;;;;;;:::i;:::-;;10843:119;;;;;;;;;;;;;:::i;12139:393::-;;;;;;;;;;-1:-1:-1;12139:393:0;;;;;:::i;:::-;;:::i;6267:95::-;;;;;;;;;;;;;:::i;12540:238::-;;;;;;;;;;-1:-1:-1;12540:238:0;;;;;:::i;:::-;;:::i;6992:313::-;;;;;;;;;;-1:-1:-1;6992:313:0;;;;;:::i;:::-;;:::i;6176:83::-;;;;;;;;;;-1:-1:-1;6176:83:0;;4715:1;2185:36:1;;2173:2;2158:18;6176:83:0;2043:184:1;6370:119:0;;;;;;;;;;-1:-1:-1;6370:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6463:18:0;6436:7;6463:18;;;:9;:18;;;;;;;6370:119;2994:148;;;;;;;;;;;;;:::i;4919:48::-;;;;;;;;;;;;;;;;2780:79;;;;;;;;;;-1:-1:-1;2818:7:0;2845:6;2780:79;;-1:-1:-1;;;;;2845:6:0;;;2630:51:1;;2618:2;2603:18;2780:79:0;2484:203:1;4974:50:0;;;;;;;;;;;;;;;;6081:87;;;;;;;;;;-1:-1:-1;6153:7:0;;;;;;;;;;;;-1:-1:-1;;;6153:7:0;;;;6081:87;;6497:167;;;;;;;;;;-1:-1:-1;6497:167:0;;;;;:::i;:::-;;:::i;5031:55::-;;;;;;;;;;;;;;;;11070:1024;;;;;;;;;;;;;:::i;6672:143::-;;;;;;;;;;-1:-1:-1;6672:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6780:18:0;;;6753:7;6780:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6672:143;6823:161;6898:4;6915:39;615:10;6938:7;6947:6;6915:8;:39::i;:::-;-1:-1:-1;6972:4:0;6823:161;;;;;:::o;10679:156::-;2907:6;;-1:-1:-1;;;;;2907:6:0;615:10;2907:22;2899:67;;;;-1:-1:-1;;;2899:67:0;;;;;;;:::i;:::-;;;;;;;;;4772:13:::1;4715:1;4772:2;:13;:::i;:::-;4758:27;::::0;:11:::1;:27;:::i;:::-;10729:12;:22:::0;4772:13:::1;4715:1;4772:2;:13;:::i;:::-;4758:27;::::0;:11:::1;:27;:::i;:::-;10762:14;:22:::0;10800:27:::1;4772:13;4715:1;4772:2;:13;:::i;:::-;4758:27;::::0;:11:::1;:27;:::i;:::-;10800;::::0;1361:25:1;;;1349:2;1334:18;10800:27:0::1;;;;;;;;10679:156::o:0;10843:119::-;2907:6;;-1:-1:-1;;;;;2907:6:0;615:10;2907:22;2899:67;;;;-1:-1:-1;;;2899:67:0;;;;;;;:::i;:::-;10916:1:::1;10901:12;:16:::0;;;10933:21:::1;::::0;1361:25:1;;;10933:21:0::1;::::0;1349:2:1;1334:18;10933:21:0::1;1215:177:1::0;12139:393:0;12224:10;;-1:-1:-1;;;;;12224:10:0;615;-1:-1:-1;;;;;12210:24:0;;:51;;;-1:-1:-1;12250:11:0;;-1:-1:-1;;;;;12250:11:0;615:10;-1:-1:-1;;;;;12236:25:0;;12210:51;12202:60;;;;;;12276:14;;12273:124;;12306:3;:16;;;12372:4;6436:7;6463:18;;;:9;:18;;;;;;12337:42;;:16;:42::i;12354:24::-;12337:16;:42::i;:::-;12384:1;12380:3;:5;12273:124;12426:21;12461:12;;12458:67;;12489:24;12502:10;12489:12;:24::i;:::-;12191:341;12139:393;:::o;6267:95::-;6320:7;4772:13;4715:1;4772:2;:13;:::i;:::-;4758:27;;:11;:27;:::i;:::-;6340:14;;6267:95;:::o;12540:238::-;12619:10;;-1:-1:-1;;;;;12619:10:0;615;-1:-1:-1;;;;;12605:24:0;;12597:33;;;;;;12641:25;12658:7;12641:16;:25::i;:::-;12706:21;12738:32;12706:21;12738:12;:32::i;6992:313::-;7090:4;7107:36;7117:6;7125:9;7136:6;7107:9;:36::i;:::-;7154:121;7163:6;615:10;7185:89;7223:6;7185:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7185:19:0;;;;;;:11;:19;;;;;;;;615:10;7185:33;;;;;;;;;;:37;:89::i;:::-;7154:8;:121::i;:::-;-1:-1:-1;7293:4:0;6992:313;;;;;:::o;2994:148::-;2907:6;;-1:-1:-1;;;;;2907:6:0;615:10;2907:22;2899:67;;;;-1:-1:-1;;;2899:67:0;;;;;;;:::i;:::-;3101:1:::1;3085:6:::0;;3064:40:::1;::::0;-1:-1:-1;;;;;3085:6:0;;::::1;::::0;3064:40:::1;::::0;3101:1;;3064:40:::1;3132:1;3115:19:::0;;-1:-1:-1;;;;;;3115:19:0::1;::::0;;2994:148::o;6497:167::-;6575:4;6592:42;615:10;6616:9;6627:6;6592:9;:42::i;11070:1024::-;2907:6;;-1:-1:-1;;;;;2907:6:0;615:10;2907:22;2899:67;;;;-1:-1:-1;;;2899:67:0;;;;;;;:::i;:::-;11134:11:::1;::::0;-1:-1:-1;;;11134:11:0;::::1;;;11133:12;11125:47;;;::::0;-1:-1:-1;;;11125:47:0;;5526:2:1;11125:47:0::1;::::0;::::1;5508:21:1::0;5565:2;5545:18;;;5538:30;5604:25;5584:18;;;5577:53;5647:18;;11125:47:0::1;5324:347:1::0;11125:47:0::1;11183:15;:80:::0;;-1:-1:-1;;;;;;11183:80:0;;::::1;11220:42;11183:80:::0;;::::1;::::0;;;11274:11:::1;:65:::0;;;;::::1;11296:42;11274:65;::::0;;11372:25:::1;::::0;;-1:-1:-1;;;11372:25:0;;;;11183:15:::1;::::0;11220:42;11372:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;11220:42;11372:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11354:52:0::1;;11407:15;;;;;;;;;-1:-1:-1::0;;;;;11407:15:0::1;-1:-1:-1::0;;;;;11407:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11354:91;::::0;-1:-1:-1;;;;;;11354:91:0::1;::::0;;;;;;-1:-1:-1;;;;;6162:15:1;;;11354:91:0::1;::::0;::::1;6144:34:1::0;11439:4:0::1;6194:18:1::0;;;6187:43;6079:18;;11354:91:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11354:105:0::1;::::0;11350:388:::1;;11510:15;;;;;;;;;-1:-1:-1::0;;;;;11510:15:0::1;-1:-1:-1::0;;;;;11510:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11492:55:0::1;;11548:15;;;;;;;;;-1:-1:-1::0;;;;;11548:15:0::1;-1:-1:-1::0;;;;;11548:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11492:94;::::0;-1:-1:-1;;;;;;11492:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6162:15:1;;;11492:94:0::1;::::0;::::1;6144:34:1::0;11580:4:0::1;6194:18:1::0;;;6187:43;6079:18;;11492:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11476:13;:110:::0;;-1:-1:-1;;;;;;11476:110:0::1;-1:-1:-1::0;;;;;11476:110:0;;;::::1;::::0;;;::::1;::::0;;11350:388:::1;;;11653:15;;;;;;;;;-1:-1:-1::0;;;;;11653:15:0::1;-1:-1:-1::0;;;;;11653:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11635:52:0::1;;11688:15;;;;;;;;;-1:-1:-1::0;;;;;11688:15:0::1;-1:-1:-1::0;;;;;11688:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11635:91;::::0;-1:-1:-1;;;;;;11635:91:0::1;::::0;;;;;;-1:-1:-1;;;;;6162:15:1;;;11635:91:0::1;::::0;::::1;6144:34:1::0;11720:4:0::1;6194:18:1::0;;;6187:43;6079:18;;11635:91:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11619:13;:107:::0;;-1:-1:-1;;;;;;11619:107:0::1;-1:-1:-1::0;;;;;11619:107:0;;;::::1;::::0;;;::::1;::::0;;11350:388:::1;11780:15;::::0;11748:58:::1;::::0;11765:4:::1;::::0;-1:-1:-1;;;;;11780:15:0::1;4772:13;4715:1;4772:2;:13;:::i;:::-;4758:27;::::0;:11:::1;:27;:::i;11748:58::-;11817:15;::::0;-1:-1:-1;;;;;11817:15:0::1;:31;11856:21;11887:4;11893:24;11887:4:::0;-1:-1:-1;;;;;6463:18:0;6436:7;6463:18;;;:9;:18;;;;;;;6370:119;11893:24:::1;11918:1;11920::::0;11922:7:::1;2818::::0;2845:6;-1:-1:-1;;;;;2845:6:0;;2780:79;11922:7:::1;11817:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11817:129:0;;;-1:-1:-1;;;;;6600:15:1;;;11817:129:0::1;::::0;::::1;6582:34:1::0;6632:18;;;6625:34;;;;6675:18;;;6668:34;;;;6718:18;;;6711:34;6782:15;;;6761:19;;;6754:44;11930:15:0::1;6814:19:1::0;;;6807:35;6516:19;;11817:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11964:13:0::1;::::0;11995:15:::1;::::0;11957:71:::1;::::0;-1:-1:-1;;;11957:71:0;;-1:-1:-1;;;;;11995:15:0;;::::1;11957:71;::::0;::::1;7338:51:1::0;-1:-1:-1;;7405:18:1;;;7398:34;11964:13:0;::::1;::::0;-1:-1:-1;11957:29:0::1;::::0;7311:18:1;;11957:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12039:11:0::1;:18:::0;;-1:-1:-1;;;;12068:18:0;-1:-1:-1;;;12068:18:0;;;11070:1024::o;7313:335::-;-1:-1:-1;;;;;7406:19:0;;7398:68;;;;-1:-1:-1;;;7398:68:0;;7927:2:1;7398:68:0;;;7909:21:1;7966:2;7946:18;;;7939:30;8005:34;7985:18;;;7978:62;-1:-1:-1;;;8056:18:1;;;8049:34;8100:19;;7398:68:0;7725:400:1;7398:68:0;-1:-1:-1;;;;;7485:21:0;;7477:68;;;;-1:-1:-1;;;7477:68:0;;8332:2:1;7477:68:0;;;8314:21:1;8371:2;8351:18;;;8344:30;8410:34;8390:18;;;8383:62;-1:-1:-1;;;8461:18:1;;;8454:32;8503:19;;7477:68:0;8130:398:1;7477:68:0;-1:-1:-1;;;;;7556:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7608:32;;1361:25:1;;;7608:32:0;;1334:18:1;7608:32:0;;;;;;;7313:335;;;:::o;10188:483::-;5599:6;:13;;-1:-1:-1;;;;5599:13:0;-1:-1:-1;;;5599:13:0;;;10290:16:::1;::::0;;10304:1:::1;10290:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10290:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10290:16:0::1;10266:40;;10335:4;10317;10322:1;10317:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10317:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10361:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10361:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10317:7;;10361:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10351:4;10356:1;10351:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10351:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10426:15:::1;::::0;10394:62:::1;::::0;10411:4:::1;::::0;10426:15:::1;10444:11:::0;10394:8:::1;:62::i;:::-;10467:15;::::0;:196:::1;::::0;-1:-1:-1;;;10467:196:0;;-1:-1:-1;;;;;10467:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10548:11;;10467:15:::1;::::0;10590:4;;10617::::1;::::0;10637:15:::1;::::0;10467:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5635:6:0;:14;;-1:-1:-1;;;;5635:14:0;;;-1:-1:-1;;;;10188:483:0:o;10970:92::-;11027:10;;:27;;-1:-1:-1;;;;;11027:10:0;;;;:27;;;;;11047:6;;11027:10;:27;:10;:27;11047:6;11027:10;:27;;;;;;;;;;;;;;;;;;;7656:2414;-1:-1:-1;;;;;7744:18:0;;7736:68;;;;-1:-1:-1;;;7736:68:0;;9984:2:1;7736:68:0;;;9966:21:1;10023:2;10003:18;;;9996:30;10062:34;10042:18;;;10035:62;-1:-1:-1;;;10113:18:1;;;10106:35;10158:19;;7736:68:0;9782:401:1;7736:68:0;-1:-1:-1;;;;;7823:16:0;;7815:64;;;;-1:-1:-1;;;7815:64:0;;10390:2:1;7815:64:0;;;10372:21:1;10429:2;10409:18;;;10402:30;10468:34;10448:18;;;10441:62;-1:-1:-1;;;10519:18:1;;;10512:33;10562:19;;7815:64:0;10188:399:1;7815:64:0;7907:1;7898:6;:10;7890:64;;;;-1:-1:-1;;;7890:64:0;;10794:2:1;7890:64:0;;;10776:21:1;10833:2;10813:18;;;10806:30;10872:34;10852:18;;;10845:62;-1:-1:-1;;;10923:18:1;;;10916:39;10972:19;;7890:64:0;10592:405:1;7890:64:0;7965:17;2845:6;;-1:-1:-1;;;;;7999:15:0;;;2845:6;;7999:15;;;;:32;;-1:-1:-1;2818:7:0;2845:6;-1:-1:-1;;;;;8018:13:0;;;2845:6;;8018:13;;7999:32;7995:1707;;;8051:9;;8062:1;8051:12;8048:140;;8095:77;8168:3;8095:68;8118:15;;8107:9;;:26;;8106:56;;8148:14;;8106:56;;;8135:12;;8106:56;8095:6;;:10;:68::i;:::-;:72;;:77::i;:::-;8083:89;;8048:140;8205:9;;:11;8202:95;;8248:33;8277:3;8248:24;8259:12;;8248:6;:10;;:24;;;;:::i;:33::-;8236:45;;8202:95;8325:13;;-1:-1:-1;;;;;8317:21:0;;;8325:13;;8317:21;:55;;;;-1:-1:-1;8356:15:0;;-1:-1:-1;;;;;8342:30:0;;;8356:15;;8342:30;;8317:55;:83;;;;-1:-1:-1;;;;;;8378:22:0;;;;;;:18;:22;;;;;;;;8376:24;8317:83;8313:421;;;8440:12;;8430:6;:22;;8422:60;;;;-1:-1:-1;;;8422:60:0;;11204:2:1;8422:60:0;;;11186:21:1;11243:2;11223:18;;;11216:30;11282:27;11262:18;;;11255:55;11327:18;;8422:60:0;11002:349:1;8422:60:0;8535:14;;8525:6;8509:13;8519:2;-1:-1:-1;;;;;6463:18:0;6436:7;6463:18;;;:9;:18;;;;;;;6370:119;8509:13;:22;;;;:::i;:::-;:40;;8501:79;;;;-1:-1:-1;;;8501:79:0;;11688:2:1;8501:79:0;;;11670:21:1;11727:2;11707:18;;;11700:30;11766:28;11746:18;;;11739:56;11812:18;;8501:79:0;11486:350:1;8501:79:0;8611:77;8684:3;8611:68;8634:15;;8623:9;;:26;;8622:56;;8664:14;;8622:56;;8611:77;8707:9;:11;;8599:89;;-1:-1:-1;8707:9:0;:11;;;:::i;:::-;;;;;;8313:421;8759:13;;-1:-1:-1;;;;;8753:19:0;;;8759:13;;8753:19;:43;;;;-1:-1:-1;;;;;;8776:20:0;;8791:4;8776:20;;8753:43;8750:175;;;8829:80;8905:3;8829:71;8852:16;;8841:9;;:27;;8840:59;;8884:15;;8840:59;;;8870:13;;8829:6;;:10;:71::i;:80::-;8817:92;;8750:175;8990:4;8941:28;6463:18;;;:9;:18;;;;;;9016:6;;-1:-1:-1;;;9016:6:0;;;;9015:7;:30;;;;-1:-1:-1;9032:13:0;;-1:-1:-1;;;;;9026:19:0;;;9032:13;;9026:19;9015:30;:45;;;;-1:-1:-1;9049:11:0;;-1:-1:-1;;;9049:11:0;;;;9015:45;:89;;;;;9087:17;;9064:20;:40;9015:89;:124;;;;;9121:18;;9108:9;;:31;;9015:124;9011:680;;;9179:13;;9164:12;:28;9160:90;;;9229:1;9217:9;:13;9160:90;9288:1;9276:9;;:13;9268:49;;;;-1:-1:-1;;;9268:49:0;;12183:2:1;9268:49:0;;;12165:21:1;12222:2;12202:18;;;12195:30;12261:25;12241:18;;;12234:53;12304:18;;9268:49:0;11981:347:1;9268:49:0;9336:69;9353:51;9357:6;9365:38;9369:20;9391:11;;9365:3;:38::i;:::-;9353:3;:51::i;9336:69::-;9453:21;9497:22;;9493:106;;9544:35;9557:21;9544:12;:35::i;:::-;9617:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9663:12:0;9647:13;:28;-1:-1:-1;9011:680:0;8033:1669;7995:1707;9768:48;9797:18;9811:3;;9797:9;:13;;:18;;;;:::i;:::-;9786:4;9768:24;;;;:9;:24;;;;;;;:28;:48::i;:::-;9761:4;9743:24;;;;:9;:24;;;;;;;:73;;;;9836:39;;-1:-1:-1;;;;;9836:39:0;;;;;;;9865:9;1361:25:1;;1349:2;1334:18;;1215:177;9836:39:0;;;;;;;;-1:-1:-1;;;;;9913:15:0;;;;;;:9;:15;;;;;;:27;;9933:6;9913:19;:27::i;:::-;-1:-1:-1;;;;;9897:15:0;;;;;;:9;:15;;;;;:43;9965:40;9983:21;:6;9994:9;9983:10;:21::i;:::-;-1:-1:-1;;;;;9965:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9951:13:0;;;;;;;:9;:13;;;;;:54;;;;10021:41;;;10040:21;:6;10051:9;10040:10;:21::i;:::-;10021:41;;1361:25:1;;;1349:2;1334:18;10021:41:0;;;;;;;7725:2345;7656:2414;;;:::o;1672:190::-;1758:7;1794:12;1786:6;;;;1778:29;;;;-1:-1:-1;;;1778:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1818:9:0;1830:5;1834:1;1830;:5;:::i;:::-;1818:17;1672:190;-1:-1:-1;;;;;1672:190:0:o;1870:246::-;1928:7;1952:1;1957;1952:6;1948:47;;-1:-1:-1;1982:1:0;1975:8;;1948:47;2005:9;2017:5;2021:1;2017;:5;:::i;:::-;2005:17;-1:-1:-1;2050:1:0;2041:5;2045:1;2005:17;2041:5;:::i;:::-;:10;2033:56;;;;-1:-1:-1;;;2033:56:0;;12890:2:1;2033:56:0;;;12872:21:1;12929:2;12909:18;;;12902:30;12968:34;12948:18;;;12941:62;-1:-1:-1;;;13019:18:1;;;13012:31;13060:19;;2033:56:0;12688:397:1;2033:56:0;2107:1;1870:246;-1:-1:-1;;;1870:246:0:o;2124:132::-;2182:7;2209:39;2213:1;2216;2209:39;;;;;;;;;;;;;;;;;:3;:39::i;10080:100::-;10137:7;10166:1;10164;:3;10163:9;;10171:1;10163:9;;;-1:-1:-1;10169:1:0;10080:100;-1:-1:-1;10080:100:0:o;1341:179::-;1399:7;;1431:5;1435:1;1431;:5;:::i;:::-;1419:17;;1460:1;1455;:6;;1447:46;;;;-1:-1:-1;;;1447:46:0;;13292:2:1;1447:46:0;;;13274:21:1;13331:2;13311:18;;;13304:30;13370:29;13350:18;;;13343:57;13417:18;;1447:46:0;13090:351:1;1528:136:0;1586:7;1613:43;1617:1;1620;1613:43;;;;;;;;;;;;;;;;;:3;:43::i;2264:189::-;2350:7;2385:12;2378:5;2370:28;;;;-1:-1:-1;;;2370:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2409:9:0;2421:5;2425:1;2421;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:180::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;-1:-1:-1;1548:23:1;;1397:180;-1:-1:-1;1397:180:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2232:247::-;2291:6;2344:2;2332:9;2323:7;2319:23;2315:32;2312:52;;;2360:1;2357;2350:12;2312:52;2399:9;2386:23;2418:31;2443:5;2418:31;:::i;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3085:356::-;3287:2;3269:21;;;3306:18;;;3299:30;3365:34;3360:2;3345:18;;3338:62;3432:2;3417:18;;3085:356::o;3446:127::-;3507:10;3502:3;3498:20;3495:1;3488:31;3538:4;3535:1;3528:15;3562:4;3559:1;3552:15;3578:422;3667:1;3710:5;3667:1;3724:270;3745:7;3735:8;3732:21;3724:270;;;3804:4;3800:1;3796:6;3792:17;3786:4;3783:27;3780:53;;;3813:18;;:::i;:::-;3863:7;3853:8;3849:22;3846:55;;;3883:16;;;;3846:55;3962:22;;;;3922:15;;;;3724:270;;;3728:3;3578:422;;;;;:::o;4005:806::-;4054:5;4084:8;4074:80;;-1:-1:-1;4125:1:1;4139:5;;4074:80;4173:4;4163:76;;-1:-1:-1;4210:1:1;4224:5;;4163:76;4255:4;4273:1;4268:59;;;;4341:1;4336:130;;;;4248:218;;4268:59;4298:1;4289:10;;4312:5;;;4336:130;4373:3;4363:8;4360:17;4357:43;;;4380:18;;:::i;:::-;-1:-1:-1;;4436:1:1;4422:16;;4451:5;;4248:218;;4550:2;4540:8;4537:16;4531:3;4525:4;4522:13;4518:36;4512:2;4502:8;4499:16;4494:2;4488:4;4485:12;4481:35;4478:77;4475:159;;;-1:-1:-1;4587:19:1;;;4619:5;;4475:159;4666:34;4691:8;4685:4;4666:34;:::i;:::-;4736:6;4732:1;4728:6;4724:19;4715:7;4712:32;4709:58;;;4747:18;;:::i;:::-;4785:20;;4005:806;-1:-1:-1;;;4005:806:1:o;4816:140::-;4874:5;4903:47;4944:4;4934:8;4930:19;4924:4;4903:47;:::i;4961:168::-;5034:9;;;5065;;5082:15;;;5076:22;;5062:37;5052:71;;5103:18;;:::i;5676:251::-;5746:6;5799:2;5787:9;5778:7;5774:23;5770:32;5767:52;;;5815:1;5812;5805:12;5767:52;5847:9;5841:16;5866:31;5891:5;5866:31;:::i;6853:306::-;6941:6;6949;6957;7010:2;6998:9;6989:7;6985:23;6981:32;6978:52;;;7026:1;7023;7016:12;6978:52;7055:9;7049:16;7039:26;;7105:2;7094:9;7090:18;7084:25;7074:35;;7149:2;7138:9;7134:18;7128:25;7118:35;;6853:306;;;;;:::o;7443:277::-;7510:6;7563:2;7551:9;7542:7;7538:23;7534:32;7531:52;;;7579:1;7576;7569:12;7531:52;7611:9;7605:16;7664:5;7657:13;7650:21;7643:5;7640:32;7630:60;;7686:1;7683;7676:12;8665:127;8726:10;8721:3;8717:20;8714:1;8707:31;8757:4;8754:1;8747:15;8781:4;8778:1;8771:15;8797:980;9059:4;9107:3;9096:9;9092:19;9138:6;9127:9;9120:25;9164:2;9202:6;9197:2;9186:9;9182:18;9175:34;9245:3;9240:2;9229:9;9225:18;9218:31;9269:6;9304;9298:13;9335:6;9327;9320:22;9373:3;9362:9;9358:19;9351:26;;9412:2;9404:6;9400:15;9386:29;;9433:1;9443:195;9457:6;9454:1;9451:13;9443:195;;;9522:13;;-1:-1:-1;;;;;9518:39:1;9506:52;;9613:15;;;;9578:12;;;;9554:1;9472:9;9443:195;;;-1:-1:-1;;;;;;;9694:32:1;;;;9689:2;9674:18;;9667:60;-1:-1:-1;;;9758:3:1;9743:19;9736:35;9655:3;8797:980;-1:-1:-1;;;8797:980:1:o;11356:125::-;11421:9;;;11442:10;;;11439:36;;;11455:18;;:::i;11841:135::-;11880:3;11901:17;;;11898:43;;11921:18;;:::i;:::-;-1:-1:-1;11968:1:1;11957:13;;11841:135::o;12333:128::-;12400:9;;;12421:11;;;12418:37;;;12435:18;;:::i;12466:217::-;12506:1;12532;12522:132;;12576:10;12571:3;12567:20;12564:1;12557:31;12611:4;12608:1;12601:15;12639:4;12636:1;12629:15;12522:132;-1:-1:-1;12668:9:1;;12466:217::o

Swarm Source

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