ETH Price: $3,124.87 (-5.53%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer199221162024-05-22 1:20:23250 days ago1716340823IN
0x9eBBFDFB...4cE8a8753
0 ETH0.000482726.9644481
Approve199220952024-05-22 1:16:11250 days ago1716340571IN
0x9eBBFDFB...4cE8a8753
0 ETH0.000301056.45093792
Approve199220892024-05-22 1:14:59250 days ago1716340499IN
0x9eBBFDFB...4cE8a8753
0 ETH0.000310436.66061065
Approve199220832024-05-22 1:13:47250 days ago1716340427IN
0x9eBBFDFB...4cE8a8753
0 ETH0.000441229.45448134
Approve199220642024-05-22 1:09:47250 days ago1716340187IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0004745710.23756754
Approve199220632024-05-22 1:09:35250 days ago1716340175IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0004745710.23756754
Approve199220602024-05-22 1:08:59250 days ago1716340139IN
0x9eBBFDFB...4cE8a8753
0 ETH0.000409048.76500371
Approve199220512024-05-22 1:07:11250 days ago1716340031IN
0x9eBBFDFB...4cE8a8753
0 ETH0.000394128.44537149
Approve199220502024-05-22 1:06:59250 days ago1716340019IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0012316326.39133995
Approve199220362024-05-22 1:04:11250 days ago1716339851IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0005452211.68310203
Approve199220342024-05-22 1:03:47250 days ago1716339827IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0005512811.81285806
Approve199220322024-05-22 1:03:23250 days ago1716339803IN
0x9eBBFDFB...4cE8a8753
0 ETH0.00035477.6005571
Approve199220312024-05-22 1:03:11250 days ago1716339791IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0005210911.24119327
Approve199220312024-05-22 1:03:11250 days ago1716339791IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0005210911.24119327
Approve199220312024-05-22 1:03:11250 days ago1716339791IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0005210911.24119327
Approve199220302024-05-22 1:02:59250 days ago1716339779IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0005288411.4084359
Approve199220302024-05-22 1:02:59250 days ago1716339779IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0005288411.4084359
Approve199220252024-05-22 1:01:59250 days ago1716339719IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0006149113.17634724
Approve199220242024-05-22 1:01:47250 days ago1716339707IN
0x9eBBFDFB...4cE8a8753
0 ETH0.000355627.62037645
Approve199220232024-05-22 1:01:35250 days ago1716339695IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0008116517.39206335
Approve199220112024-05-22 0:59:11250 days ago1716339551IN
0x9eBBFDFB...4cE8a8753
0 ETH0.000451729.74467348
Approve199220112024-05-22 0:59:11250 days ago1716339551IN
0x9eBBFDFB...4cE8a8753
0 ETH0.000451729.74467348
Approve199220112024-05-22 0:59:11250 days ago1716339551IN
0x9eBBFDFB...4cE8a8753
0 ETH0.000451729.74467348
Approve199220112024-05-22 0:59:11250 days ago1716339551IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0010067621.57283771
Approve199220062024-05-22 0:58:11250 days ago1716339491IN
0x9eBBFDFB...4cE8a8753
0 ETH0.0005056210.83445664
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
199220392024-05-22 1:04:47250 days ago1716339887
0x9eBBFDFB...4cE8a8753
0.02698034 ETH
199220392024-05-22 1:04:47250 days ago1716339887
0x9eBBFDFB...4cE8a8753
0.02698034 ETH
199220392024-05-22 1:04:47250 days ago1716339887
0x9eBBFDFB...4cE8a8753
0.06289296 ETH
199220392024-05-22 1:04:47250 days ago1716339887
0x9eBBFDFB...4cE8a8753
0.06289296 ETH
199220252024-05-22 1:01:59250 days ago1716339719
0x9eBBFDFB...4cE8a8753
0.05376948 ETH
199220252024-05-22 1:01:59250 days ago1716339719
0x9eBBFDFB...4cE8a8753
0.05376948 ETH
199220252024-05-22 1:01:59250 days ago1716339719
0x9eBBFDFB...4cE8a8753
0.05791318 ETH
199220252024-05-22 1:01:59250 days ago1716339719
0x9eBBFDFB...4cE8a8753
0.05791318 ETH
199220132024-05-22 0:59:35250 days ago1716339575
0x9eBBFDFB...4cE8a8753
0.0386027 ETH
199220132024-05-22 0:59:35250 days ago1716339575
0x9eBBFDFB...4cE8a8753
0.0386027 ETH
199220122024-05-22 0:59:23250 days ago1716339563
0x9eBBFDFB...4cE8a8753
0.04019061 ETH
199220122024-05-22 0:59:23250 days ago1716339563
0x9eBBFDFB...4cE8a8753
0.04019061 ETH
199220092024-05-22 0:58:47250 days ago1716339527
0x9eBBFDFB...4cE8a8753
0.04350434 ETH
199220092024-05-22 0:58:47250 days ago1716339527
0x9eBBFDFB...4cE8a8753
0.04350434 ETH
199220082024-05-22 0:58:35250 days ago1716339515
0x9eBBFDFB...4cE8a8753
0.04656237 ETH
199220082024-05-22 0:58:35250 days ago1716339515
0x9eBBFDFB...4cE8a8753
0.04656237 ETH
199220082024-05-22 0:58:35250 days ago1716339515
0x9eBBFDFB...4cE8a8753
0.04907475 ETH
199220082024-05-22 0:58:35250 days ago1716339515
0x9eBBFDFB...4cE8a8753
0.04907475 ETH
199220042024-05-22 0:57:47250 days ago1716339467
0x9eBBFDFB...4cE8a8753
0.04119022 ETH
199220042024-05-22 0:57:47250 days ago1716339467
0x9eBBFDFB...4cE8a8753
0.04119022 ETH
199220042024-05-22 0:57:47250 days ago1716339467
0x9eBBFDFB...4cE8a8753
0.04487854 ETH
199220042024-05-22 0:57:47250 days ago1716339467
0x9eBBFDFB...4cE8a8753
0.04487854 ETH
199219942024-05-22 0:55:47250 days ago1716339347
0x9eBBFDFB...4cE8a8753
0.03218506 ETH
199219942024-05-22 0:55:47250 days ago1716339347
0x9eBBFDFB...4cE8a8753
0.03218506 ETH
199219932024-05-22 0:55:35250 days ago1716339335
0x9eBBFDFB...4cE8a8753
0.04040004 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PENGU

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-22
*/

// SPDX-License-Identifier: MIT

/*

Website: https://www.pengucoin.vip

Telegram: https://t.me/pengucoin_erc20

Twitter: https://x.com/pengucoin_erc20

*/

pragma solidity 0.8.0;

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 IPENGUFactory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

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

interface IPENGURouter {
    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);
    }
}

contract PENGU is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"PENGU";
    string private constant _symbol = unicode"PENGU";
    uint256 public _maxTxAmount = 20_000_000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10_000_000 * 10 ** _decimals;

    IPENGURouter private penguRouter;
    address private penguPair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

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

    constructor(address _taxP) {
        _taxWallet = payable(_taxP);
        _isExcludedFromFees[owner()] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[_taxWallet] = true;
        _balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

        penguRouter = IPENGURouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

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

        penguPair = IPENGUFactory(penguRouter.factory()).createPair(
            address(this),
            penguRouter.WETH()
        );
    }

    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] = penguRouter.WETH();
        _approve(address(this), address(penguRouter), tokenAmount);
        penguRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    receive() external payable {}

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

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

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

        uint256 initAmount = balanceOf(address(this)).sub(
            _tTotal.mul(_initialBuyTax).div(100)
        );

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

        IERC20(penguPair).approve(address(penguRouter), type(uint).max);

        swapEnabled = true;
        tradingOpen = true;
    }

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

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

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

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

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

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

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

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

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

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

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

        if (!swapEnabled || inSwap) {
            _basicTransfer(from, to, amount);
            return;
        }

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

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

            uint256 caPENGUBalances = balanceOf(address(this));
            if (
                !inSwap &&
                _buyCount > _preventSwapBefore &&
                to == penguPair &&
                swapEnabled &&
                !_isExcludedFromFees[from] &&
                !_isExcludedFromFees[to]
            ) {
                bool canPSwap = caPENGUBalances > 0;
                if(canPSwap){
                    swapTokensForEth(
                        min(amount, min(caPENGUBalances, _maxTaxSwap))
                    );
                }
                
                sendETHToFees(address(this).balance);
            }
        }

        _standardTransfer(from, to, amount);
    }

    function _basicTransfer(address from, address to, uint256 amount) internal {
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);
        emit Transfer(from, to, amount);
    }

    function _standardTransfer(address from, address to, uint256 amount) internal {
        uint256 penguAmount = 0;
        if (from != owner() && to != owner()) {
            penguAmount = amount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);

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

        bool takeFees = true;
        if (_isExcludedFromFees[from]) {
            takeFees = false;
            penguAmount = 0;
        }

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

        if (takeFees) {
            _balances[from] = _balances[from].sub(amount);
            _balances[to] = _balances[to].add(amount.sub(penguAmount));
            emit Transfer(from, to, amount.sub(penguAmount));
        } else {
            _balances[from] = _balances[from].sub(penguAmount);
            _balances[to] = _balances[to].add(amount.sub(penguAmount));
            emit Transfer(from, to, amount.sub(penguAmount));
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_taxP","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":"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":[{"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":"createPENGU","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startPENGU","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526005805460ff191690556200001c6009600a6200030d565b6200002c906301312d00620003f8565b6006556200003d6009600a6200030d565b6200004d906301312d00620003f8565b6007556200005e6009600a6200030d565b6200006d9062989680620003f8565b600855600a805461ffff60a81b19169055600f600b819055600c8190556000600d819055600e8190556009918290556010829055601191909155601255348015620000b757600080fd5b506040516200206638038062002066833981016040819052620000da9162000287565b6000620000e662000274565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b0319166101006001600160a01b038416021790556001600360006200016062000278565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005546101009004909116835291208054909216179055620001ca6009600a6200030d565b620001da90633b9aca00620003f8565b60016000620001e862000274565b6001600160a01b031681526020810191909152604001600020556200020c62000274565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002466009600a6200030d565b6200025690633b9aca00620003f8565b604051620002659190620002b7565b60405180910390a35062000430565b3390565b6000546001600160a01b031690565b60006020828403121562000299578081fd5b81516001600160a01b0381168114620002b0578182fd5b9392505050565b90815260200190565b80825b6001808611620002d4575062000304565b818704821115620002e957620002e96200041a565b80861615620002f757918102915b9490941c938002620002c3565b94509492505050565b6000620002b060001960ff8516846000826200032c57506001620002b0565b816200033b57506000620002b0565b81600181146200035457600281146200035f5762000393565b6001915050620002b0565b60ff8411156200037357620003736200041a565b6001841b9150848211156200038c576200038c6200041a565b50620002b0565b5060208310610133831016604e8410600b8410161715620003cb575081810a83811115620003c557620003c56200041a565b620002b0565b620003da8484846001620002c0565b808604821115620003ef57620003ef6200041a565b02949350505050565b60008160001904831182151516156200041557620004156200041a565b500290565b634e487b7160e01b600052601160045260246000fd5b611c2680620004406000396000f3fe60806040526004361061010d5760003560e01c8063715018a6116100955780638f9a55c0116100645780638f9a55c01461029757806395d89b4114610119578063a9059cbb146102ac578063c876d0b9146102cc578063dd62ed3e146102e157610114565b8063715018a614610236578063751039fc1461024b5780637d1db4a5146102605780638da5cb5b1461027557610114565b806323b872dd116100dc57806323b872dd146101a85780632f4756a0146101c8578063313ce567146101df57806333b1d0d61461020157806370a082311461021657610114565b806306fdde0314610119578063095ea7b3146101445780630faee56f1461017157806318160ddd1461019357610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610301565b60405161013b91906115e8565b60405180910390f35b34801561015057600080fd5b5061016461015f3660046114e3565b610320565b60405161013b91906115dd565b34801561017d57600080fd5b5061018661033e565b60405161013b9190611953565b34801561019f57600080fd5b50610186610344565b3480156101b457600080fd5b506101646101c33660046114a3565b610365565b3480156101d457600080fd5b506101dd6103ed565b005b3480156101eb57600080fd5b506101f46105e4565b60405161013b91906119cc565b34801561020d57600080fd5b506101dd6105e9565b34801561022257600080fd5b50610186610231366004611433565b610844565b34801561024257600080fd5b506101dd61085f565b34801561025757600080fd5b506101dd6108de565b34801561026c57600080fd5b50610186610962565b34801561028157600080fd5b5061028a610968565b60405161013b919061155b565b3480156102a357600080fd5b50610186610977565b3480156102b857600080fd5b506101646102c73660046114e3565b61097d565b3480156102d857600080fd5b50610164610991565b3480156102ed57600080fd5b506101866102fc36600461146b565b61099a565b60408051808201909152600581526450454e475560d81b602082015290565b600061033461032d6109c5565b84846109c9565b5060015b92915050565b60085481565b60006103526009600a611a58565b61036090633b9aca00611b29565b905090565b6000610372848484610a7d565b6103e28461037e6109c5565b6103dd85604051806060016040528060288152602001611ba9602891396001600160a01b038a166000908152600260205260408120906103bc6109c5565b6001600160a01b031681526020810191909152604001600020549190610d91565b6109c9565b5060015b9392505050565b6103f56109c5565b6000546001600160a01b0390811691161461042b5760405162461bcd60e51b8152600401610422906117de565b60405180910390fd5b600a54600160a01b900460ff16156104555760405162461bcd60e51b81526004016104229061191c565b600061049c61048d6064610487600b546009600a6104739190611a58565b61048190633b9aca00611b29565b90610dcb565b90610e10565b61049630610844565b90610e52565b6009549091506001600160a01b031663f305d7194730846000806104be610968565b426040518863ffffffff1660e01b81526004016104e0969594939291906115a2565b6060604051808303818588803b1580156104f957600080fd5b505af115801561050d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610532919061152e565b5050600a5460095460405163095ea7b360e01b81526001600160a01b03928316935063095ea7b39261056c92169060001990600401611589565b602060405180830381600087803b15801561058657600080fd5b505af115801561059a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105be919061150e565b5050600a805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b179055565b600990565b6105f16109c5565b6000546001600160a01b0390811691161461061e5760405162461bcd60e51b8152600401610422906117de565b600a54600160a01b900460ff16156106485760405162461bcd60e51b81526004016104229061191c565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d178082556106989130916001600160a01b03169061068a90600a611a58565b6103dd90633b9aca00611b29565b600960009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e657600080fd5b505afa1580156106fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071e919061144f565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561077b57600080fd5b505afa15801561078f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b3919061144f565b6040518363ffffffff1660e01b81526004016107d092919061156f565b602060405180830381600087803b1580156107ea57600080fd5b505af11580156107fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610822919061144f565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526001602052604090205490565b6108676109c5565b6000546001600160a01b039081169116146108945760405162461bcd60e51b8152600401610422906117de565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6108e66109c5565b6000546001600160a01b039081169116146109135760405162461bcd60e51b8152600401610422906117de565b600019600681905560078190556005805460ff191690556040517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9161095891611953565b60405180910390a1565b60065481565b6000546001600160a01b031690565b60075481565b600061033461098a6109c5565b8484610a7d565b60055460ff1681565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166109ef5760405162461bcd60e51b8152600401610422906118d8565b6001600160a01b038216610a155760405162461bcd60e51b8152600401610422906116b5565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a70908590611953565b60405180910390a3505050565b6001600160a01b038316610aa35760405162461bcd60e51b81526004016104229061185c565b6001600160a01b038216610ac95760405162461bcd60e51b81526004016104229061163b565b60008111610ae95760405162461bcd60e51b815260040161042290611813565b600a54600160b01b900460ff161580610b0b5750600a54600160a81b900460ff165b15610b2057610b1b838383610e94565b610d8c565b610b28610968565b6001600160a01b0316836001600160a01b031614158015610b625750610b4c610968565b6001600160a01b0316826001600160a01b031614155b15610d815760055460ff1615610be4576009546001600160a01b03838116911614801590610b9e5750600a546001600160a01b03838116911614155b15610be457326000908152600460205260409020544311610bd15760405162461bcd60e51b81526004016104229061172e565b3260009081526004602052604090204390555b600a546001600160a01b038481169116148015610c0f57506009546001600160a01b03838116911614155b8015610c3457506001600160a01b03821660009081526003602052604090205460ff16155b15610ca657600654811115610c5b5760405162461bcd60e51b81526004016104229061167e565b60075481610c6884610844565b610c7291906119da565b1115610c905760405162461bcd60e51b8152600401610422906118a1565b60128054906000610ca083611b5f565b91905055505b6000610cb130610844565b600a54909150600160a81b900460ff16158015610cd15750601154601254115b8015610cea5750600a546001600160a01b038481169116145b8015610cff5750600a54600160b01b900460ff165b8015610d2457506001600160a01b03841660009081526003602052604090205460ff16155b8015610d4957506001600160a01b03831660009081526003602052604090205460ff16155b15610d7f578015801590610d7457610d74610d6f84610d6a85600854610f26565b610f26565b610f3b565b610d7d476110e0565b505b505b610d8c838383611122565b505050565b60008184841115610db55760405162461bcd60e51b815260040161042291906115e8565b506000610dc28486611b48565b95945050505050565b600082610dda57506000610338565b6000610de68385611b29565b905082610df385836119f2565b146103e65760405162461bcd60e51b81526004016104229061179d565b60006103e683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113d6565b60006103e683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d91565b6001600160a01b038316600090815260016020526040902054610eb79082610e52565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ee69082611404565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611bd183398151915290610a70908590611953565b6000818311610f3557826103e6565b50919050565b600a805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f9157634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610fe557600080fd5b505afa158015610ff9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101d919061144f565b8160018151811061103e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260095461106491309116846109c9565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061109d90859060009086903090429060040161195c565b600060405180830381600087803b1580156110b757600080fd5b505af11580156110cb573d6000803e3d6000fd5b5050600a805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561111e573d6000803e3d6000fd5b5050565b600061112c610968565b6001600160a01b0316846001600160a01b0316141580156111665750611150610968565b6001600160a01b0316836001600160a01b031614155b156111e7576111916064610487600f546012541161118657600b5461118a565b600d545b8590610dcb565b600a549091506001600160a01b0384811691161480156111ba57506001600160a01b0384163014155b156111e7576111e46064610487601054601254116111da57600c5461118a565b600e548590610dcb565b90505b6001600160a01b03841660009081526003602052604090205460019060ff1615611212575060009050805b811561127857306000908152600160205260409020546112329083611404565b30600081815260016020526040908190209290925590516001600160a01b03871690600080516020611bd18339815191529061126f908690611953565b60405180910390a35b8015611338576001600160a01b0385166000908152600160205260409020546112a19084610e52565b6001600160a01b0386166000908152600160205260409020556112e66112c78484610e52565b6001600160a01b03861660009081526001602052604090205490611404565b6001600160a01b038086166000818152600160205260409020929092558616600080516020611bd183398151915261131e8686610e52565b60405161132b9190611953565b60405180910390a36113cf565b6001600160a01b03851660009081526001602052604090205461135b9083610e52565b6001600160a01b0386166000908152600160205260409020556113816112c78484610e52565b6001600160a01b038086166000818152600160205260409020929092558616600080516020611bd18339815191526113b98686610e52565b6040516113c69190611953565b60405180910390a35b5050505050565b600081836113f75760405162461bcd60e51b815260040161042291906115e8565b506000610dc284866119f2565b60008061141183856119da565b9050838110156103e65760405162461bcd60e51b8152600401610422906116f7565b600060208284031215611444578081fd5b81356103e681611b90565b600060208284031215611460578081fd5b81516103e681611b90565b6000806040838503121561147d578081fd5b823561148881611b90565b9150602083013561149881611b90565b809150509250929050565b6000806000606084860312156114b7578081fd5b83356114c281611b90565b925060208401356114d281611b90565b929592945050506040919091013590565b600080604083850312156114f5578182fd5b823561150081611b90565b946020939093013593505050565b60006020828403121561151f578081fd5b815180151581146103e6578182fd5b600080600060608486031215611542578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b81811015611614578581018301518582016040015282016115f8565b818111156116255783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526049908201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60408201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6060820152681030b63637bbb2b21760b91b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156119ab5784516001600160a01b031683529383019391830191600101611986565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b600082198211156119ed576119ed611b7a565b500190565b600082611a0d57634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611611a245750611a4f565b818704821115611a3657611a36611b7a565b80861615611a4357918102915b9490941c938002611a15565b94509492505050565b60006103e660001960ff851684600082611a74575060016103e6565b81611a81575060006103e6565b8160018114611a975760028114611aa157611ace565b60019150506103e6565b60ff841115611ab257611ab2611b7a565b6001841b915084821115611ac857611ac8611b7a565b506103e6565b5060208310610133831016604e8410600b8410161715611b01575081810a83811115611afc57611afc611b7a565b6103e6565b611b0e8484846001611a12565b808604821115611b2057611b20611b7a565b02949350505050565b6000816000190483118215151615611b4357611b43611b7a565b500290565b600082821015611b5a57611b5a611b7a565b500390565b6000600019821415611b7357611b73611b7a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611ba557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209cb362ea1fdb4f029e81198376254270c1c255a6b26ff6dd00bcdffe1d410db764736f6c6343000800003300000000000000000000000012a559be2e6a93e88b0a7e51ea142528d6e519c2

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a6116100955780638f9a55c0116100645780638f9a55c01461029757806395d89b4114610119578063a9059cbb146102ac578063c876d0b9146102cc578063dd62ed3e146102e157610114565b8063715018a614610236578063751039fc1461024b5780637d1db4a5146102605780638da5cb5b1461027557610114565b806323b872dd116100dc57806323b872dd146101a85780632f4756a0146101c8578063313ce567146101df57806333b1d0d61461020157806370a082311461021657610114565b806306fdde0314610119578063095ea7b3146101445780630faee56f1461017157806318160ddd1461019357610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610301565b60405161013b91906115e8565b60405180910390f35b34801561015057600080fd5b5061016461015f3660046114e3565b610320565b60405161013b91906115dd565b34801561017d57600080fd5b5061018661033e565b60405161013b9190611953565b34801561019f57600080fd5b50610186610344565b3480156101b457600080fd5b506101646101c33660046114a3565b610365565b3480156101d457600080fd5b506101dd6103ed565b005b3480156101eb57600080fd5b506101f46105e4565b60405161013b91906119cc565b34801561020d57600080fd5b506101dd6105e9565b34801561022257600080fd5b50610186610231366004611433565b610844565b34801561024257600080fd5b506101dd61085f565b34801561025757600080fd5b506101dd6108de565b34801561026c57600080fd5b50610186610962565b34801561028157600080fd5b5061028a610968565b60405161013b919061155b565b3480156102a357600080fd5b50610186610977565b3480156102b857600080fd5b506101646102c73660046114e3565b61097d565b3480156102d857600080fd5b50610164610991565b3480156102ed57600080fd5b506101866102fc36600461146b565b61099a565b60408051808201909152600581526450454e475560d81b602082015290565b600061033461032d6109c5565b84846109c9565b5060015b92915050565b60085481565b60006103526009600a611a58565b61036090633b9aca00611b29565b905090565b6000610372848484610a7d565b6103e28461037e6109c5565b6103dd85604051806060016040528060288152602001611ba9602891396001600160a01b038a166000908152600260205260408120906103bc6109c5565b6001600160a01b031681526020810191909152604001600020549190610d91565b6109c9565b5060015b9392505050565b6103f56109c5565b6000546001600160a01b0390811691161461042b5760405162461bcd60e51b8152600401610422906117de565b60405180910390fd5b600a54600160a01b900460ff16156104555760405162461bcd60e51b81526004016104229061191c565b600061049c61048d6064610487600b546009600a6104739190611a58565b61048190633b9aca00611b29565b90610dcb565b90610e10565b61049630610844565b90610e52565b6009549091506001600160a01b031663f305d7194730846000806104be610968565b426040518863ffffffff1660e01b81526004016104e0969594939291906115a2565b6060604051808303818588803b1580156104f957600080fd5b505af115801561050d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610532919061152e565b5050600a5460095460405163095ea7b360e01b81526001600160a01b03928316935063095ea7b39261056c92169060001990600401611589565b602060405180830381600087803b15801561058657600080fd5b505af115801561059a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105be919061150e565b5050600a805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b179055565b600990565b6105f16109c5565b6000546001600160a01b0390811691161461061e5760405162461bcd60e51b8152600401610422906117de565b600a54600160a01b900460ff16156106485760405162461bcd60e51b81526004016104229061191c565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d178082556106989130916001600160a01b03169061068a90600a611a58565b6103dd90633b9aca00611b29565b600960009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e657600080fd5b505afa1580156106fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071e919061144f565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561077b57600080fd5b505afa15801561078f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b3919061144f565b6040518363ffffffff1660e01b81526004016107d092919061156f565b602060405180830381600087803b1580156107ea57600080fd5b505af11580156107fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610822919061144f565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526001602052604090205490565b6108676109c5565b6000546001600160a01b039081169116146108945760405162461bcd60e51b8152600401610422906117de565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6108e66109c5565b6000546001600160a01b039081169116146109135760405162461bcd60e51b8152600401610422906117de565b600019600681905560078190556005805460ff191690556040517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9161095891611953565b60405180910390a1565b60065481565b6000546001600160a01b031690565b60075481565b600061033461098a6109c5565b8484610a7d565b60055460ff1681565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166109ef5760405162461bcd60e51b8152600401610422906118d8565b6001600160a01b038216610a155760405162461bcd60e51b8152600401610422906116b5565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a70908590611953565b60405180910390a3505050565b6001600160a01b038316610aa35760405162461bcd60e51b81526004016104229061185c565b6001600160a01b038216610ac95760405162461bcd60e51b81526004016104229061163b565b60008111610ae95760405162461bcd60e51b815260040161042290611813565b600a54600160b01b900460ff161580610b0b5750600a54600160a81b900460ff165b15610b2057610b1b838383610e94565b610d8c565b610b28610968565b6001600160a01b0316836001600160a01b031614158015610b625750610b4c610968565b6001600160a01b0316826001600160a01b031614155b15610d815760055460ff1615610be4576009546001600160a01b03838116911614801590610b9e5750600a546001600160a01b03838116911614155b15610be457326000908152600460205260409020544311610bd15760405162461bcd60e51b81526004016104229061172e565b3260009081526004602052604090204390555b600a546001600160a01b038481169116148015610c0f57506009546001600160a01b03838116911614155b8015610c3457506001600160a01b03821660009081526003602052604090205460ff16155b15610ca657600654811115610c5b5760405162461bcd60e51b81526004016104229061167e565b60075481610c6884610844565b610c7291906119da565b1115610c905760405162461bcd60e51b8152600401610422906118a1565b60128054906000610ca083611b5f565b91905055505b6000610cb130610844565b600a54909150600160a81b900460ff16158015610cd15750601154601254115b8015610cea5750600a546001600160a01b038481169116145b8015610cff5750600a54600160b01b900460ff165b8015610d2457506001600160a01b03841660009081526003602052604090205460ff16155b8015610d4957506001600160a01b03831660009081526003602052604090205460ff16155b15610d7f578015801590610d7457610d74610d6f84610d6a85600854610f26565b610f26565b610f3b565b610d7d476110e0565b505b505b610d8c838383611122565b505050565b60008184841115610db55760405162461bcd60e51b815260040161042291906115e8565b506000610dc28486611b48565b95945050505050565b600082610dda57506000610338565b6000610de68385611b29565b905082610df385836119f2565b146103e65760405162461bcd60e51b81526004016104229061179d565b60006103e683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113d6565b60006103e683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d91565b6001600160a01b038316600090815260016020526040902054610eb79082610e52565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ee69082611404565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611bd183398151915290610a70908590611953565b6000818311610f3557826103e6565b50919050565b600a805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f9157634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610fe557600080fd5b505afa158015610ff9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101d919061144f565b8160018151811061103e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260095461106491309116846109c9565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061109d90859060009086903090429060040161195c565b600060405180830381600087803b1580156110b757600080fd5b505af11580156110cb573d6000803e3d6000fd5b5050600a805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561111e573d6000803e3d6000fd5b5050565b600061112c610968565b6001600160a01b0316846001600160a01b0316141580156111665750611150610968565b6001600160a01b0316836001600160a01b031614155b156111e7576111916064610487600f546012541161118657600b5461118a565b600d545b8590610dcb565b600a549091506001600160a01b0384811691161480156111ba57506001600160a01b0384163014155b156111e7576111e46064610487601054601254116111da57600c5461118a565b600e548590610dcb565b90505b6001600160a01b03841660009081526003602052604090205460019060ff1615611212575060009050805b811561127857306000908152600160205260409020546112329083611404565b30600081815260016020526040908190209290925590516001600160a01b03871690600080516020611bd18339815191529061126f908690611953565b60405180910390a35b8015611338576001600160a01b0385166000908152600160205260409020546112a19084610e52565b6001600160a01b0386166000908152600160205260409020556112e66112c78484610e52565b6001600160a01b03861660009081526001602052604090205490611404565b6001600160a01b038086166000818152600160205260409020929092558616600080516020611bd183398151915261131e8686610e52565b60405161132b9190611953565b60405180910390a36113cf565b6001600160a01b03851660009081526001602052604090205461135b9083610e52565b6001600160a01b0386166000908152600160205260409020556113816112c78484610e52565b6001600160a01b038086166000818152600160205260409020929092558616600080516020611bd18339815191526113b98686610e52565b6040516113c69190611953565b60405180910390a35b5050505050565b600081836113f75760405162461bcd60e51b815260040161042291906115e8565b506000610dc284866119f2565b60008061141183856119da565b9050838110156103e65760405162461bcd60e51b8152600401610422906116f7565b600060208284031215611444578081fd5b81356103e681611b90565b600060208284031215611460578081fd5b81516103e681611b90565b6000806040838503121561147d578081fd5b823561148881611b90565b9150602083013561149881611b90565b809150509250929050565b6000806000606084860312156114b7578081fd5b83356114c281611b90565b925060208401356114d281611b90565b929592945050506040919091013590565b600080604083850312156114f5578182fd5b823561150081611b90565b946020939093013593505050565b60006020828403121561151f578081fd5b815180151581146103e6578182fd5b600080600060608486031215611542578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b81811015611614578581018301518582016040015282016115f8565b818111156116255783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526049908201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60408201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6060820152681030b63637bbb2b21760b91b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156119ab5784516001600160a01b031683529383019391830191600101611986565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b600082198211156119ed576119ed611b7a565b500190565b600082611a0d57634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611611a245750611a4f565b818704821115611a3657611a36611b7a565b80861615611a4357918102915b9490941c938002611a15565b94509492505050565b60006103e660001960ff851684600082611a74575060016103e6565b81611a81575060006103e6565b8160018114611a975760028114611aa157611ace565b60019150506103e6565b60ff841115611ab257611ab2611b7a565b6001841b915084821115611ac857611ac8611b7a565b506103e6565b5060208310610133831016604e8410600b8410161715611b01575081810a83811115611afc57611afc611b7a565b6103e6565b611b0e8484846001611a12565b808604821115611b2057611b20611b7a565b02949350505050565b6000816000190483118215151615611b4357611b43611b7a565b500290565b600082821015611b5a57611b5a611b7a565b500390565b6000600019821415611b7357611b73611b7a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611ba557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209cb362ea1fdb4f029e81198376254270c1c255a6b26ff6dd00bcdffe1d410db764736f6c63430008000033

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

00000000000000000000000012a559be2e6a93e88b0a7e51ea142528d6e519c2

-----Decoded View---------------
Arg [0] : _taxP (address): 0x12A559Be2e6a93E88B0a7e51eA142528d6E519c2

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000012a559be2e6a93e88b0a7e51ea142528d6e519c2


Deployed Bytecode Sourcemap

3854:9702:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7701:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8584:186;;;;;;;;;;-1:-1:-1;8584:186:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4639:57::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7978:95::-;;;;;;;;;;;;;:::i;8778:446::-;;;;;;;;;;-1:-1:-1;8778:446:0;;;;;:::i;:::-;;:::i;7107:586::-;;;;;;;;;;;;;:::i;:::-;;7887:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5719:427::-;;;;;;;;;;;;;:::i;8081:119::-;;;;;;;;;;-1:-1:-1;8081:119:0;;;;;:::i;:::-;;:::i;3699:148::-;;;;;;;;;;;;;:::i;6785:213::-;;;;;;;;;;;;;:::i;4507:58::-;;;;;;;;;;;;;:::i;3485:79::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4572:60::-;;;;;;;;;;;;;:::i;8208:192::-;;;;;;;;;;-1:-1:-1;8208:192:0;;;;;:::i;:::-;;:::i;4193:40::-;;;;;;;;;;;;;:::i;8408:168::-;;;;;;;;;;-1:-1:-1;8408:168:0;;;;;:::i;:::-;;:::i;7701:83::-;7771:5;;;;;;;;;;;;-1:-1:-1;;;7771:5:0;;;;7701:83;:::o;8584:186::-;8684:4;8701:39;8710:12;:10;:12::i;:::-;8724:7;8733:6;8701:8;:39::i;:::-;-1:-1:-1;8758:4:0;8584:186;;;;;:::o;4639:57::-;;;;:::o;7978:95::-;8031:7;4377:15;4318:1;4377:2;:15;:::i;:::-;4361:31;;:13;:31;:::i;:::-;8051:14;;7978:95;:::o;8778:446::-;8910:4;8927:36;8937:6;8945:9;8956:6;8927:9;:36::i;:::-;8974:220;8997:6;9018:12;:10;:12::i;:::-;9045:138;9101:6;9045:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9045:19:0;;;;;;:11;:19;;;;;;9065:12;:10;:12::i;:::-;-1:-1:-1;;;;;9045:33:0;;;;;;;;;;;;-1:-1:-1;9045:33:0;;;:138;:37;:138::i;:::-;8974:8;:220::i;:::-;-1:-1:-1;9212:4:0;8778:446;;;;;;:::o;7107:586::-;3622:12;:10;:12::i;:::-;3612:6;;-1:-1:-1;;;;;3612:6:0;;;:22;;;3604:67;;;;-1:-1:-1;;;3604:67:0;;;;;;;:::i;:::-;;;;;;;;;7168:11:::1;::::0;-1:-1:-1;;;7168:11:0;::::1;;;7167:12;7159:48;;;;-1:-1:-1::0;;;7159:48:0::1;;;;;;;:::i;:::-;7220:18;7241:90;7284:36;7316:3;7284:27;7296:14;;4318:1;4377:2;:15;;;;:::i;:::-;4361:31;::::0;:13:::1;:31;:::i;:::-;7284:11:::0;::::1;:27::i;:::-;:31:::0;::::1;:36::i;:::-;7241:24;7259:4;7241:9;:24::i;:::-;:28:::0;::::1;:90::i;:::-;7344:11;::::0;7220:111;;-1:-1:-1;;;;;;7344:11:0::1;:27;7379:21;7424:4;7220:111:::0;7344:11:::1;::::0;7501:7:::1;:5;:7::i;:::-;7523:15;7344:205;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;7569:9:0::1;::::0;7596:11:::1;::::0;7562:63:::1;::::0;-1:-1:-1;;;7562:63:0;;-1:-1:-1;;;;;7569:9:0;;::::1;::::0;-1:-1:-1;7562:25:0::1;::::0;:63:::1;::::0;7596:11:::1;::::0;-1:-1:-1;;7610:14:0;7562:63:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;7638:11:0::1;:18:::0;;-1:-1:-1;;;;;;;;7638:18:0;;::::1;-1:-1:-1::0;;;7638:18:0::1;7667;-1:-1:-1::0;;;7667:18:0::1;::::0;;7107:586::o;7887:83::-;4318:1;7887:83;:::o;5719:427::-;3622:12;:10;:12::i;:::-;3612:6;;-1:-1:-1;;;;;3612:6:0;;;:22;;;3604:67;;;;-1:-1:-1;;;3604:67:0;;;;;;;:::i;:::-;5781:11:::1;::::0;-1:-1:-1;;;5781:11:0;::::1;;;5780:12;5772:48;;;;-1:-1:-1::0;;;5772:48:0::1;;;;;;;:::i;:::-;5833:11;:94:::0;;-1:-1:-1;;;;;;5833:94:0::1;5874:42;5833:94;::::0;;;5940:54:::1;::::0;5957:4:::1;::::0;-1:-1:-1;;;;;5972:11:0::1;::::0;4377:15:::1;::::0;:2:::1;:15;:::i;:::-;4361:31;::::0;:13:::1;:31;:::i;5940:54::-;6033:11;;;;;;;;;-1:-1:-1::0;;;;;6033:11:0::1;-1:-1:-1::0;;;;;6033:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6019:47:0::1;;6089:4;6109:11;;;;;;;;;-1:-1:-1::0;;;;;6109:11:0::1;-1:-1:-1::0;;;;;6109:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6019:119;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6007:9;:131:::0;;-1:-1:-1;;;;;;6007:131:0::1;-1:-1:-1::0;;;;;6007:131:0;;;::::1;::::0;;;::::1;::::0;;5719:427::o;8081:119::-;-1:-1:-1;;;;;8174:18:0;8147:7;8174:18;;;:9;:18;;;;;;;8081:119::o;3699:148::-;3622:12;:10;:12::i;:::-;3612:6;;-1:-1:-1;;;;;3612:6:0;;;:22;;;3604:67;;;;-1:-1:-1;;;3604:67:0;;;;;;;:::i;:::-;3806:1:::1;3790:6:::0;;3769:40:::1;::::0;-1:-1:-1;;;;;3790:6:0;;::::1;::::0;3769:40:::1;::::0;3806:1;;3769:40:::1;3837:1;3820:19:::0;;-1:-1:-1;;;;;;3820:19:0::1;::::0;;3699:148::o;6785:213::-;3622:12;:10;:12::i;:::-;3612:6;;-1:-1:-1;;;;;3612:6:0;;;:22;;;3604:67;;;;-1:-1:-1;;;3604:67:0;;;;;;;:::i;:::-;-1:-1:-1;;6839:12:0::1;:26:::0;;;6876:14:::1;:28:::0;;;6915:20:::1;:28:::0;;-1:-1:-1;;6915:28:0::1;::::0;;6959:31:::1;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;6785:213::o:0;4507:58::-;;;;:::o;3485:79::-;3523:7;3550:6;-1:-1:-1;;;;;3550:6:0;3485:79;:::o;4572:60::-;;;;:::o;8208:192::-;8311:4;8328:42;8338:12;:10;:12::i;:::-;8352:9;8363:6;8328:9;:42::i;4193:40::-;;;;;;:::o;8408:168::-;-1:-1:-1;;;;;8541:18:0;;;8514:7;8541:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8408:168::o;3038:98::-;3118:10;3038:98;:::o;9232:335::-;-1:-1:-1;;;;;9325:19:0;;9317:68;;;;-1:-1:-1;;;9317:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9404:21:0;;9396:68;;;;-1:-1:-1;;;9396:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9475:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;9527:32;;;;;9505:6;;9527:32;:::i;:::-;;;;;;;;9232:335;;;:::o;9575:2176::-;-1:-1:-1;;;;;9663:18:0;;9655:68;;;;-1:-1:-1;;;9655:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9742:16:0;;9734:64;;;;-1:-1:-1;;;9734:64:0;;;;;;;:::i;:::-;9826:1;9817:6;:10;9809:64;;;;-1:-1:-1;;;9809:64:0;;;;;;;:::i;:::-;9891:11;;-1:-1:-1;;;9891:11:0;;;;9890:12;;:22;;-1:-1:-1;9906:6:0;;-1:-1:-1;;;9906:6:0;;;;9890:22;9886:108;;;9929:32;9944:4;9950:2;9954:6;9929:14;:32::i;:::-;9976:7;;9886:108;10018:7;:5;:7::i;:::-;-1:-1:-1;;;;;10010:15:0;:4;-1:-1:-1;;;;;10010:15:0;;;:32;;;;;10035:7;:5;:7::i;:::-;-1:-1:-1;;;;;10029:13:0;:2;-1:-1:-1;;;;;10029:13:0;;;10010:32;10006:1690;;;10063:20;;;;10059:514;;;10144:11;;-1:-1:-1;;;;;10130:26:0;;;10144:11;;10130:26;;;;:75;;-1:-1:-1;10195:9:0;;-1:-1:-1;;;;;10181:24:0;;;10195:9;;10181:24;;10130:75;10104:454;;;10311:9;10282:39;;;;:28;:39;;;;;;10324:12;-1:-1:-1;10248:213:0;;;;-1:-1:-1;;;10248:213:0;;;;;;;:::i;:::-;10513:9;10484:39;;;;:28;:39;;;;;10526:12;10484:54;;10104:454;10619:9;;-1:-1:-1;;;;;10611:17:0;;;10619:9;;10611:17;:64;;;;-1:-1:-1;10663:11:0;;-1:-1:-1;;;;;10649:26:0;;;10663:11;;10649:26;;10611:64;:109;;;;-1:-1:-1;;;;;;10697:23:0;;;;;;:19;:23;;;;;;;;10696:24;10611:109;10589:431;;;10773:12;;10763:6;:22;;10755:60;;;;-1:-1:-1;;;10755:60:0;;;;;;;:::i;:::-;10890:14;;10880:6;10864:13;10874:2;10864:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10834:140;;;;-1:-1:-1;;;10834:140:0;;;;;;;:::i;:::-;10993:9;:11;;;:9;:11;;;:::i;:::-;;;;;;10589:431;11036:23;11062:24;11080:4;11062:9;:24::i;:::-;11124:6;;11036:50;;-1:-1:-1;;;;11124:6:0;;;;11123:7;:58;;;;;11163:18;;11151:9;;:30;11123:58;:94;;;;-1:-1:-1;11208:9:0;;-1:-1:-1;;;;;11202:15:0;;;11208:9;;11202:15;11123:94;:126;;;;-1:-1:-1;11238:11:0;;-1:-1:-1;;;11238:11:0;;;;11123:126;:173;;;;-1:-1:-1;;;;;;11271:25:0;;;;;;:19;:25;;;;;;;;11270:26;11123:173;:218;;;;-1:-1:-1;;;;;;11318:23:0;;;;;;:19;:23;;;;;;;;11317:24;11123:218;11101:584;;;11392:19;;;;;11430:167;;11465:112;11508:46;11512:6;11520:33;11524:15;11541:11;;11520:3;:33::i;:::-;11508:3;:46::i;:::-;11465:16;:112::i;:::-;11633:36;11647:21;11633:13;:36::i;:::-;11101:584;;10006:1690;;11708:35;11726:4;11732:2;11736:6;11708:17;:35::i;:::-;9575:2176;;;:::o;1492:224::-;1612:7;1648:12;1640:6;;;;1632:29;;;;-1:-1:-1;;;1632:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1672:9:0;1684:5;1688:1;1684;:5;:::i;:::-;1672:17;1492:224;-1:-1:-1;;;;;1492:224:0:o;1724:246::-;1782:7;1806:6;1802:47;;-1:-1:-1;1836:1:0;1829:8;;1802:47;1859:9;1871:5;1875:1;1871;:5;:::i;:::-;1859:17;-1:-1:-1;1904:1:0;1895:5;1899:1;1859:17;1895:5;:::i;:::-;:10;1887:56;;;;-1:-1:-1;;;1887:56:0;;;;;;;:::i;1978:132::-;2036:7;2063:39;2067:1;2070;2063:39;;;;;;;;;;;;;;;;;:3;:39::i;1348:136::-;1406:7;1433:43;1437:1;1440;1433:43;;;;;;;;;;;;;;;;;:3;:43::i;11759:233::-;-1:-1:-1;;;;;11863:15:0;;;;;;:9;:15;;;;;;:27;;11883:6;11863:19;:27::i;:::-;-1:-1:-1;;;;;11845:15:0;;;;;;;:9;:15;;;;;;:45;;;;11917:13;;;;;;;:25;;11935:6;11917:17;:25::i;:::-;-1:-1:-1;;;;;11901:13:0;;;;;;;:9;:13;;;;;;;:41;;;;11958:26;;;;;;-1:-1:-1;;;;;;;;;;;11958:26:0;;;11977:6;;11958:26;:::i;6154:107::-;6211:7;6243:1;6239;:5;6238:15;;6252:1;6238:15;;;-1:-1:-1;6248:1:0;6154:107;-1:-1:-1;6154:107:0:o;6269:471::-;5322:6;:13;;-1:-1:-1;;;;5322:13:0;-1:-1:-1;;;5322:13:0;;;6371:16:::1;::::0;;6385:1:::1;6371:16:::0;;;;;::::1;::::0;;-1:-1:-1;;6371:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;6371:16:0::1;6347:40;;6416:4;6398;6403:1;6398:7;;;;;;-1:-1:-1::0;;;6398:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;6398:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;6442:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;6442:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;6398:7;;6442:18;;;;;:11;:18;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6432:4;6437:1;6432:7;;;;;;-1:-1:-1::0;;;6432:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;6432:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;6503:11:::1;::::0;6471:58:::1;::::0;6488:4:::1;::::0;6503:11:::1;6517::::0;6471:8:::1;:58::i;:::-;6540:11;::::0;:192:::1;::::0;-1:-1:-1;;;6540:192:0;;-1:-1:-1;;;;;6540:11:0;;::::1;::::0;:62:::1;::::0;:192:::1;::::0;6617:11;;6540::::1;::::0;6659:4;;6686::::1;::::0;6706:15:::1;::::0;6540:192:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5358:6:0;:14;;-1:-1:-1;;;;5358:14:0;;;-1:-1:-1;;;;6269:471:0:o;7006:93::-;7064:10;;:27;;:10;;;;-1:-1:-1;;;;;7064:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;7006:93;:::o;12000:1553::-;12089:19;12135:7;:5;:7::i;:::-;-1:-1:-1;;;;;12127:15:0;:4;-1:-1:-1;;;;;12127:15:0;;;:32;;;;;12152:7;:5;:7::i;:::-;-1:-1:-1;;;;;12146:13:0;:2;-1:-1:-1;;;;;12146:13:0;;;12127:32;12123:633;;;12190:208;12394:3;12190:181;12254:15;;12242:9;;:27;12241:111;;12338:14;;12241:111;;;12298:12;;12241:111;12190:6;;:28;:181::i;:208::-;12425:9;;12176:222;;-1:-1:-1;;;;;;12419:15:0;;;12425:9;;12419:15;:40;;;;-1:-1:-1;;;;;;12438:21:0;;12454:4;12438:21;;12419:40;12415:330;;;12494:235;12725:3;12494:204;12566:16;;12554:9;;:28;12553:122;;12660:15;;12553:122;;;12615:13;;12494:6;;:32;:204::i;:235::-;12480:249;;12415:330;-1:-1:-1;;;;;12803:25:0;;12768:13;12803:25;;;:19;:25;;;;;;12784:4;;12803:25;;12799:104;;;-1:-1:-1;12856:5:0;;-1:-1:-1;12856:5:0;12799:104;12919:15;;12915:178;;12996:4;12978:24;;;;:9;:24;;;;;;:41;;13007:11;12978:28;:41::i;:::-;12969:4;12951:24;;;;:9;:24;;;;;;;:68;;;;13039:42;;-1:-1:-1;;;;;13039:42:0;;;-1:-1:-1;;;;;;;;;;;13039:42:0;;;13069:11;;13039:42;:::i;:::-;;;;;;;;12915:178;13109:8;13105:441;;;-1:-1:-1;;;;;13152:15:0;;;;;;:9;:15;;;;;;:27;;13172:6;13152:19;:27::i;:::-;-1:-1:-1;;;;;13134:15:0;;;;;;:9;:15;;;;;:45;13210:42;13228:23;:6;13239:11;13228:10;:23::i;:::-;-1:-1:-1;;;;;13210:13:0;;;;;;:9;:13;;;;;;;:17;:42::i;:::-;-1:-1:-1;;;;;13194:13:0;;;;;;;:9;:13;;;;;:58;;;;13272:43;;-1:-1:-1;;;;;;;;;;;13291:23:0;:6;13302:11;13291:10;:23::i;:::-;13272:43;;;;;;:::i;:::-;;;;;;;;13105:441;;;-1:-1:-1;;;;;13366:15:0;;;;;;:9;:15;;;;;;:32;;13386:11;13366:19;:32::i;:::-;-1:-1:-1;;;;;13348:15:0;;;;;;:9;:15;;;;;:50;13429:42;13447:23;:6;13458:11;13447:10;:23::i;13429:42::-;-1:-1:-1;;;;;13413:13:0;;;;;;;:9;:13;;;;;:58;;;;13491:43;;-1:-1:-1;;;;;;;;;;;13510:23:0;:6;13521:11;13510:10;:23::i;:::-;13491:43;;;;;;:::i;:::-;;;;;;;;13105:441;12000:1553;;;;;:::o;2118:223::-;2238:7;2273:12;2266:5;2258:28;;;;-1:-1:-1;;;2258:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2297:9:0;2309:5;2313:1;2309;:5;:::i;1161:179::-;1219:7;;1251:5;1255:1;1251;:5;:::i;:::-;1239:17;;1280:1;1275;:6;;1267:46;;;;-1:-1:-1;;;1267:46:0;;;;;;;:::i;14:259:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:33;237:5;210:33;:::i;278:263::-;;401:2;389:9;380:7;376:23;372:32;369:2;;;422:6;414;407:22;369:2;459:9;453:16;478:33;505:5;478:33;:::i;546:402::-;;;675:2;663:9;654:7;650:23;646:32;643:2;;;696:6;688;681:22;643:2;740:9;727:23;759:33;786:5;759:33;:::i;:::-;811:5;-1:-1:-1;868:2:1;853:18;;840:32;881:35;840:32;881:35;:::i;:::-;935:7;925:17;;;633:315;;;;;:::o;953:470::-;;;;1099:2;1087:9;1078:7;1074:23;1070:32;1067:2;;;1120:6;1112;1105:22;1067:2;1164:9;1151:23;1183:33;1210:5;1183:33;:::i;:::-;1235:5;-1:-1:-1;1292:2:1;1277:18;;1264:32;1305:35;1264:32;1305:35;:::i;:::-;1057:366;;1359:7;;-1:-1:-1;;;1413:2:1;1398:18;;;;1385:32;;1057:366::o;1428:327::-;;;1557:2;1545:9;1536:7;1532:23;1528:32;1525:2;;;1578:6;1570;1563:22;1525:2;1622:9;1609:23;1641:33;1668:5;1641:33;:::i;:::-;1693:5;1745:2;1730:18;;;;1717:32;;-1:-1:-1;;;1515:240:1:o;1760:297::-;;1880:2;1868:9;1859:7;1855:23;1851:32;1848:2;;;1901:6;1893;1886:22;1848:2;1938:9;1932:16;1991:5;1984:13;1977:21;1970:5;1967:32;1957:2;;2018:6;2010;2003:22;2062:316;;;;2219:2;2207:9;2198:7;2194:23;2190:32;2187:2;;;2240:6;2232;2225:22;2187:2;2274:9;2268:16;2258:26;;2324:2;2313:9;2309:18;2303:25;2293:35;;2368:2;2357:9;2353:18;2347:25;2337:35;;2177:201;;;;;:::o;2383:203::-;-1:-1:-1;;;;;2547:32:1;;;;2529:51;;2517:2;2502:18;;2484:102::o;2591:304::-;-1:-1:-1;;;;;2821:15:1;;;2803:34;;2873:15;;2868:2;2853:18;;2846:43;2753:2;2738:18;;2720:175::o;2900:274::-;-1:-1:-1;;;;;3092:32:1;;;;3074:51;;3156:2;3141:18;;3134:34;3062:2;3047:18;;3029:145::o;3179:607::-;-1:-1:-1;;;;;3538:15:1;;;3520:34;;3585:2;3570:18;;3563:34;;;;3628:2;3613:18;;3606:34;;;;3671:2;3656:18;;3649:34;;;;3720:15;;;3714:3;3699:19;;3692:44;3500:3;3752:19;;3745:35;;;;3469:3;3454:19;;3436:350::o;3791:187::-;3956:14;;3949:22;3931:41;;3919:2;3904:18;;3886:92::o;3983:603::-;;4124:2;4153;4142:9;4135:21;4185:6;4179:13;4228:6;4223:2;4212:9;4208:18;4201:34;4253:4;4266:140;4280:6;4277:1;4274:13;4266:140;;;4375:14;;;4371:23;;4365:30;4341:17;;;4360:2;4337:26;4330:66;4295:10;;4266:140;;;4424:6;4421:1;4418:13;4415:2;;;4494:4;4489:2;4480:6;4469:9;4465:22;4461:31;4454:45;4415:2;-1:-1:-1;4570:2:1;4549:15;-1:-1:-1;;4545:29:1;4530:45;;;;4577:2;4526:54;;4104:482;-1:-1:-1;;;4104:482:1:o;4591:399::-;4793:2;4775:21;;;4832:2;4812:18;;;4805:30;4871:34;4866:2;4851:18;;4844:62;-1:-1:-1;;;4937:2:1;4922:18;;4915:33;4980:3;4965:19;;4765:225::o;4995:349::-;5197:2;5179:21;;;5236:2;5216:18;;;5209:30;5275:27;5270:2;5255:18;;5248:55;5335:2;5320:18;;5169:175::o;5349:398::-;5551:2;5533:21;;;5590:2;5570:18;;;5563:30;5629:34;5624:2;5609:18;;5602:62;-1:-1:-1;;;5695:2:1;5680:18;;5673:32;5737:3;5722:19;;5523:224::o;5752:351::-;5954:2;5936:21;;;5993:2;5973:18;;;5966:30;6032:29;6027:2;6012:18;;6005:57;6094:2;6079:18;;5926:177::o;6108:477::-;6310:2;6292:21;;;6349:2;6329:18;;;6322:30;6388:34;6383:2;6368:18;;6361:62;6459:34;6454:2;6439:18;;6432:62;-1:-1:-1;;;6525:3:1;6510:19;;6503:40;6575:3;6560:19;;6282:303::o;6590:397::-;6792:2;6774:21;;;6831:2;6811:18;;;6804:30;6870:34;6865:2;6850:18;;6843:62;-1:-1:-1;;;6936:2:1;6921:18;;6914:31;6977:3;6962:19;;6764:223::o;6992:356::-;7194:2;7176:21;;;7213:18;;;7206:30;7272:34;7267:2;7252:18;;7245:62;7339:2;7324:18;;7166:182::o;7353:405::-;7555:2;7537:21;;;7594:2;7574:18;;;7567:30;7633:34;7628:2;7613:18;;7606:62;-1:-1:-1;;;7699:2:1;7684:18;;7677:39;7748:3;7733:19;;7527:231::o;7763:401::-;7965:2;7947:21;;;8004:2;7984:18;;;7977:30;8043:34;8038:2;8023:18;;8016:62;-1:-1:-1;;;8109:2:1;8094:18;;8087:35;8154:3;8139:19;;7937:227::o;8169:350::-;8371:2;8353:21;;;8410:2;8390:18;;;8383:30;8449:28;8444:2;8429:18;;8422:56;8510:2;8495:18;;8343:176::o;8524:400::-;8726:2;8708:21;;;8765:2;8745:18;;;8738:30;8804:34;8799:2;8784:18;;8777:62;-1:-1:-1;;;8870:2:1;8855:18;;8848:34;8914:3;8899:19;;8698:226::o;8929:347::-;9131:2;9113:21;;;9170:2;9150:18;;;9143:30;9209:25;9204:2;9189:18;;9182:53;9267:2;9252:18;;9103:173::o;9281:177::-;9427:25;;;9415:2;9400:18;;9382:76::o;9463:983::-;;9773:3;9762:9;9758:19;9804:6;9793:9;9786:25;9830:2;9868:6;9863:2;9852:9;9848:18;9841:34;9911:3;9906:2;9895:9;9891:18;9884:31;9935:6;9970;9964:13;10001:6;9993;9986:22;10039:3;10028:9;10024:19;10017:26;;10078:2;10070:6;10066:15;10052:29;;10099:4;10112:195;10126:6;10123:1;10120:13;10112:195;;;10191:13;;-1:-1:-1;;;;;10187:39:1;10175:52;;10282:15;;;;10247:12;;;;10223:1;10141:9;10112:195;;;-1:-1:-1;;;;;;;10363:32:1;;;;10358:2;10343:18;;10336:60;-1:-1:-1;;;10427:3:1;10412:19;10405:35;10324:3;9734:712;-1:-1:-1;;;9734:712:1:o;10451:184::-;10623:4;10611:17;;;;10593:36;;10581:2;10566:18;;10548:87::o;10640:128::-;;10711:1;10707:6;10704:1;10701:13;10698:2;;;10717:18;;:::i;:::-;-1:-1:-1;10753:9:1;;10688:80::o;10773:217::-;;10839:1;10829:2;;-1:-1:-1;;;10864:31:1;;10918:4;10915:1;10908:15;10946:4;10871:1;10936:15;10829:2;-1:-1:-1;10975:9:1;;10819:171::o;10995:453::-;11091:6;11114:5;11128:314;11177:1;11214:2;11204:8;11201:16;11191:2;;11221:5;;;11191:2;11262:4;11257:3;11253:14;11247:4;11244:24;11241:2;;;11271:18;;:::i;:::-;11321:2;11311:8;11307:17;11304:2;;;11336:16;;;;11304:2;11415:17;;;;;11375:15;;11128:314;;;11072:376;;;;;;;:::o;11453:148::-;;11540:55;-1:-1:-1;;11581:4:1;11567:19;;11561:4;11606:922;11690:8;11680:2;;-1:-1:-1;11731:1:1;11745:5;;11680:2;11779:4;11769:2;;-1:-1:-1;11816:1:1;11830:5;;11769:2;11861:4;11879:1;11874:59;;;;11947:1;11942:183;;;;11854:271;;11874:59;11904:1;11895:10;;11918:5;;;11942:183;11979:3;11969:8;11966:17;11963:2;;;11986:18;;:::i;:::-;12042:1;12032:8;12028:16;12019:25;;12070:3;12063:5;12060:14;12057:2;;;12077:18;;:::i;:::-;12110:5;;;11854:271;;12209:2;12199:8;12196:16;12190:3;12184:4;12181:13;12177:36;12171:2;12161:8;12158:16;12153:2;12147:4;12144:12;12140:35;12137:77;12134:2;;;-1:-1:-1;12246:19:1;;;12281:14;;;12278:2;;;12298:18;;:::i;:::-;12331:5;;12134:2;12378:42;12416:3;12406:8;12400:4;12397:1;12378:42;:::i;:::-;12453:6;12448:3;12444:16;12435:7;12432:29;12429:2;;;12464:18;;:::i;:::-;12502:20;;11670:858;-1:-1:-1;;;;11670:858:1:o;12533:168::-;;12639:1;12635;12631:6;12627:14;12624:1;12621:21;12616:1;12609:9;12602:17;12598:45;12595:2;;;12646:18;;:::i;:::-;-1:-1:-1;12686:9:1;;12585:116::o;12706:125::-;;12774:1;12771;12768:8;12765:2;;;12779:18;;:::i;:::-;-1:-1:-1;12816:9:1;;12755:76::o;12836:135::-;;-1:-1:-1;;12896:17:1;;12893:2;;;12916:18;;:::i;:::-;-1:-1:-1;12963:1:1;12952:13;;12883:88::o;12976:127::-;13037:10;13032:3;13028:20;13025:1;13018:31;13068:4;13065:1;13058:15;13092:4;13089:1;13082:15;13108:133;-1:-1:-1;;;;;13185:31:1;;13175:42;;13165:2;;13231:1;13228;13221:12;13165:2;13155:86;:::o

Swarm Source

ipfs://9cb362ea1fdb4f029e81198376254270c1c255a6b26ff6dd00bcdffe1d410db7

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.