ETH Price: $3,182.20 (-8.04%)
Gas: 4 Gwei

Contract

0x837EE5a664d51Bc2e7d26EB63cFfEb48e037bdE2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x8635d0fabbde054816141391d60707da6d68fafc8001a78e5cf721db66681a8c Transfer(pending)2024-07-25 7:45:131 hr ago1721893513IN
Nomota AI: NMAI Token
0 ETH(Pending)(Pending)
Approve203799642024-07-25 0:25:119 hrs ago1721867111IN
Nomota AI: NMAI Token
0 ETH0.000113862.41106275
Approve203763182024-07-24 12:11:1121 hrs ago1721823071IN
Nomota AI: NMAI Token
0 ETH0.0001384.58112053
Approve203722242024-07-23 22:29:3535 hrs ago1721773775IN
Nomota AI: NMAI Token
0 ETH0.000154643.27478314
Approve203719862024-07-23 21:40:5935 hrs ago1721770859IN
Nomota AI: NMAI Token
0 ETH0.000252745.38907638
Approve203680962024-07-23 8:40:472 days ago1721724047IN
Nomota AI: NMAI Token
0 ETH0.000382688.15966854
Approve203643302024-07-22 20:03:232 days ago1721678603IN
Nomota AI: NMAI Token
0 ETH0.0006185213.11443001
Approve203618482024-07-22 11:43:232 days ago1721648603IN
Nomota AI: NMAI Token
0 ETH0.00023995.11262676
Approve203600312024-07-22 5:37:473 days ago1721626667IN
Nomota AI: NMAI Token
0 ETH0.00009833.30154043
Transfer203579632024-07-21 22:42:233 days ago1721601743IN
Nomota AI: NMAI Token
0 ETH0.000505698.14843269
Approve203546762024-07-21 11:40:473 days ago1721562047IN
Nomota AI: NMAI Token
0 ETH0.000120472.56612899
Approve203517662024-07-21 1:56:354 days ago1721526995IN
Nomota AI: NMAI Token
0 ETH0.000117522.50658822
Approve203514322024-07-21 0:49:474 days ago1721522987IN
Nomota AI: NMAI Token
0 ETH0.000117222.49750221
Approve203513422024-07-21 0:31:354 days ago1721521895IN
Nomota AI: NMAI Token
0 ETH0.000117112.49706619
Approve203482232024-07-20 14:04:354 days ago1721484275IN
Nomota AI: NMAI Token
0 ETH0.0006261713.3411384
Transfer203475772024-07-20 11:55:114 days ago1721476511IN
Nomota AI: NMAI Token
0 ETH0.000311895.025779
Approve203440062024-07-19 23:56:475 days ago1721433407IN
Nomota AI: NMAI Token
0 ETH0.000164833.51281015
Approve203433752024-07-19 21:50:115 days ago1721425811IN
Nomota AI: NMAI Token
0 ETH0.000287826.10265361
Approve203422862024-07-19 18:11:355 days ago1721412695IN
Nomota AI: NMAI Token
0 ETH0.000332877.05791616
Approve203413182024-07-19 14:56:355 days ago1721400995IN
Nomota AI: NMAI Token
0 ETH0.0006599613.99298717
Approve203298062024-07-18 0:23:357 days ago1721262215IN
Nomota AI: NMAI Token
0 ETH0.000286966.08447066
Approve203263902024-07-17 12:56:597 days ago1721221019IN
Nomota AI: NMAI Token
0 ETH0.0006312313.36684271
Approve203235332024-07-17 3:23:238 days ago1721186603IN
Nomota AI: NMAI Token
0 ETH0.0005115110.89259852
Approve203229132024-07-17 1:18:358 days ago1721179115IN
Nomota AI: NMAI Token
0 ETH0.000355317.575984
Approve203210952024-07-16 19:14:358 days ago1721157275IN
Nomota AI: NMAI Token
0 ETH0.0006651414.17123587
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
203796642024-07-24 23:24:5910 hrs ago1721863499
Nomota AI: NMAI Token
0.04356347 ETH
203796642024-07-24 23:24:5910 hrs ago1721863499
Nomota AI: NMAI Token
0.04356347 ETH
203464142024-07-20 8:00:595 days ago1721462459
Nomota AI: NMAI Token
0.33329611 ETH
203464142024-07-20 8:00:595 days ago1721462459
Nomota AI: NMAI Token
0.33329611 ETH
203433752024-07-19 21:50:115 days ago1721425811
Nomota AI: NMAI Token
0.01121458 ETH
203433752024-07-19 21:50:115 days ago1721425811
Nomota AI: NMAI Token
0.01121458 ETH
203227482024-07-17 0:45:358 days ago1721177135
Nomota AI: NMAI Token
0.38533971 ETH
203227482024-07-17 0:45:358 days ago1721177135
Nomota AI: NMAI Token
0.38533971 ETH
203213612024-07-16 20:07:598 days ago1721160479
Nomota AI: NMAI Token
0.05203709 ETH
203213612024-07-16 20:07:598 days ago1721160479
Nomota AI: NMAI Token
0.05203709 ETH
203168992024-07-16 5:12:119 days ago1721106731
Nomota AI: NMAI Token
0.05352757 ETH
203168992024-07-16 5:12:119 days ago1721106731
Nomota AI: NMAI Token
0.05352757 ETH
203154832024-07-16 0:27:479 days ago1721089667
Nomota AI: NMAI Token
0.05286938 ETH
203154832024-07-16 0:27:479 days ago1721089667
Nomota AI: NMAI Token
0.05286938 ETH
203118452024-07-15 12:14:599 days ago1721045699
Nomota AI: NMAI Token
0.03204147 ETH
203118452024-07-15 12:14:599 days ago1721045699
Nomota AI: NMAI Token
0.03204147 ETH
203095012024-07-15 4:23:3510 days ago1721017415
Nomota AI: NMAI Token
0.04392168 ETH
203095012024-07-15 4:23:3510 days ago1721017415
Nomota AI: NMAI Token
0.04392168 ETH
203047522024-07-14 12:30:1110 days ago1720960211
Nomota AI: NMAI Token
0.0544377 ETH
203047522024-07-14 12:30:1110 days ago1720960211
Nomota AI: NMAI Token
0.0544377 ETH
202930112024-07-12 21:07:4712 days ago1720818467
Nomota AI: NMAI Token
0.1160761 ETH
202930112024-07-12 21:07:4712 days ago1720818467
Nomota AI: NMAI Token
0.1160761 ETH
202646042024-07-08 21:56:4716 days ago1720475807
Nomota AI: NMAI Token
0.17351516 ETH
202646042024-07-08 21:56:4716 days ago1720475807
Nomota AI: NMAI Token
0.17351516 ETH
202627132024-07-08 15:33:4716 days ago1720452827
Nomota AI: NMAI Token
0.15983257 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NomotaAI

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
paris EvmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-11
*/

/**********************************************************
Twitter  : https://twitter.com/nomotaai
Website  : https://nomota.nl
Telegram : https://t.me/nomotaai

  _   _                       _                     _____ 
 | \ | |                     | |              /\   |_   _|
 |  \| | ___  _ __ ___   ___ | |_ __ _       /  \    | |  
 | . ` |/ _ \| '_ ` _ \ / _ \| __/ _` |     / /\ \   | |  
 | |\  | (_) | | | | | | (_) | || (_| |    / ____ \ _| |_ 
 |_| \_|\___/|_| |_| |_|\___/ \__\__,_|   /_/    \_\_____|


**********************************************************/

// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.21;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 NomotaAI is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;
    address payable private _stakeWallet;
    address private uniswapV2Pair;
    IUniswapV2Router02 private uniswapV2Router;

    uint256 private constant _initialBuyTax = 8;
    uint256 private constant _initialSellTax = 10;
    uint256 private constant _reduceBuyTaxAt = 20;
    uint256 private constant _reduceSellTaxAt = 25;
    uint256 private constant _preventSwapBefore = 30;
    uint256 private _finalBuyTax = 4;
    uint256 private _finalSellTax = 4;
    uint256 private _buyCount = 0;
    uint256 private _countTax;

    string private constant _name = unicode"NomotaAI";
    string private constant _symbol = unicode"NMAI";
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 100_000_000 * 10 ** _decimals;
    uint256 private constant _countTrigger = 8100 * 10 ** _decimals;
    uint256 public constant _taxSwapThreshold = 200_000 * 10 ** _decimals;
    uint256 public constant _maxTaxSwap = 1_000_000 * 10 ** _decimals;
    uint256 public _maxTxAmount = 1_000_000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 1_000_000 * 10 ** _decimals;

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

    event FinalTax(uint256 _valueBuy, uint256 _valueSell);
    event TradingActive(bool _tradingOpen, bool _swapEnabled);
    event maxAmount(uint256 _value);

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

    constructor(address taxWallet, address stakeWallet, address router_) {
        _taxWallet = payable(taxWallet);
        _stakeWallet = payable(stakeWallet);
        _balances[_msgSender()] = _totalSupply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[_stakeWallet] = true;
        _isExcludedFromFee[address(this)] = true;

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

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

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

    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) && spender != address(0),
            "ERC20: approve 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) && to != address(0),
            "ERC20: transfer the zero address"
        );
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        uint256 stakeAmount = 0;

        if (from != owner() && to != owner()) {
            if (!tradingOpen) {
                require(
                    _isExcludedFromFee[to] || _isExcludedFromFee[from],
                    "trading not yet open"
                );
            }

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

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount =
                    amount.mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    ) /
                    100;
                stakeAmount = amount / 100; // 1% for staking
            } else if (from == uniswapV2Pair && to != address(this)) {
                taxAmount =
                    amount.mul(
                        (_buyCount > _reduceBuyTaxAt)
                            ? _finalBuyTax
                            : _initialBuyTax
                    ) /
                    100;
                stakeAmount = amount / 100; // 1% for staking
            }

            _countTax += taxAmount;
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore &&
                _countTax > _countTrigger
            ) {
                uint256 getMinValue = (contractTokenBalance > _maxTaxSwap)
                    ? _maxTaxSwap
                    : contractTokenBalance;
                swapTokensForEth((amount > getMinValue) ? getMinValue : amount);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(contractETHBalance);
                }
                _countTax = 0;
            }
        }

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

        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(
            amount.sub(taxAmount).sub(stakeAmount)
        );

        emit Transfer(from, to, amount.sub(taxAmount).sub(stakeAmount));
    }

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

    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 StartTrading() external onlyOwner {
        require(!tradingOpen, "trading already open");
        swapEnabled = true;
        tradingOpen = true;
        emit TradingActive(tradingOpen, swapEnabled);
    }

    function RemoveLimits() external onlyOwner {
        _maxTxAmount = _totalSupply;
        _maxWalletSize = _totalSupply;
        emit maxAmount(_totalSupply);
    }

    function SetFinalTax(
        uint256 _valueBuy,
        uint256 _valueSell
    ) external onlyOwner {
        require(
            _valueBuy <= 5 && _valueSell <= 5 && tradingOpen,
            "Exceeds value"
        );
        _finalBuyTax = _valueBuy;
        _finalSellTax = _valueSell;
        emit FinalTax(_valueBuy, _valueSell);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"taxWallet","type":"address"},{"internalType":"address","name":"stakeWallet","type":"address"},{"internalType":"address","name":"router_","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":"_valueBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"FinalTax","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":false,"internalType":"bool","name":"_tradingOpen","type":"bool"},{"indexed":false,"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"TradingActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"maxAmount","type":"event"},{"inputs":[],"name":"RemoveLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"SetFinalTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"StartTrading","outputs":[],"stateMutability":"nonpayable","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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600460085560046009556000600a556012600a620000239190620008ca565b620f42406200003391906200091b565b600c556012600a620000469190620008ca565b620f42406200005691906200091b565b600d556000600e60006101000a81548160ff0219169083151502179055506000600e60016101000a81548160ff0219169083151502179055506000600e60026101000a81548160ff021916908315150217905550348015620000b757600080fd5b50604051620036e2380380620036e28339818101604052810190620000dd9190620009d0565b6000620000ef620006ff60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6200021f9190620008ca565b6305f5e1006200023091906200091b565b6001600062000244620006ff60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002986200070760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200050a919062000a2c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000594573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005ba919062000a2c565b6040518363ffffffff1660e01b8152600401620005d992919062000a6f565b6020604051808303816000875af1158015620005f9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200061f919062000a2c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200066f620006ff60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620006ce9190620008ca565b6305f5e100620006df91906200091b565b604051620006ee919062000aad565b60405180910390a350505062000aca565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007be5780860481111562000796576200079562000730565b5b6001851615620007a65780820291505b8081029050620007b6856200075f565b945062000776565b94509492505050565b600082620007d95760019050620008ac565b81620007e95760009050620008ac565b81600181146200080257600281146200080d5762000843565b6001915050620008ac565b60ff84111562000822576200082162000730565b5b8360020a9150848211156200083c576200083b62000730565b5b50620008ac565b5060208310610133831016604e8410600b84101617156200087d5782820a90508381111562000877576200087662000730565b5b620008ac565b6200088c84848460016200076c565b92509050818404811115620008a657620008a562000730565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008d782620008b3565b9150620008e483620008bd565b9250620009137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007c7565b905092915050565b60006200092882620008b3565b91506200093583620008b3565b92508282026200094581620008b3565b915082820484148315176200095f576200095e62000730565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000998826200096b565b9050919050565b620009aa816200098b565b8114620009b657600080fd5b50565b600081519050620009ca816200099f565b92915050565b600080600060608486031215620009ec57620009eb62000966565b5b6000620009fc86828701620009b9565b935050602062000a0f86828701620009b9565b925050604062000a2286828701620009b9565b9150509250925092565b60006020828403121562000a455762000a4462000966565b5b600062000a5584828501620009b9565b91505092915050565b62000a69816200098b565b82525050565b600060408201905062000a86600083018562000a5e565b62000a95602083018462000a5e565b9392505050565b62000aa781620008b3565b82525050565b600060208201905062000ac4600083018462000a9c565b92915050565b612c088062000ada6000396000f3fe60806040526004361061010d5760003560e01c8063715018a61161009557806395d89b411161006457806395d89b4114610354578063a9059cbb1461037f578063bf474bed146103bc578063bf6a1c0d146103e7578063dd62ed3e146103fe57610114565b8063715018a6146102bc5780637d1db4a5146102d35780638da5cb5b146102fe5780638f9a55c01461032957610114565b806323b872dd116100dc57806323b872dd146101d757806326045abc14610214578063313ce5671461023d57806356cd40e71461026857806370a082311461027f57610114565b806306fdde0314610119578063095ea7b3146101445780630faee56f1461018157806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e61043b565b60405161013b9190611eb0565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190611f6b565b610478565b6040516101789190611fc6565b60405180910390f35b34801561018d57600080fd5b50610196610496565b6040516101a39190611ff0565b60405180910390f35b3480156101b857600080fd5b506101c16104b5565b6040516101ce9190611ff0565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061200b565b6104d9565b60405161020b9190611fc6565b60405180910390f35b34801561022057600080fd5b5061023b6004803603810190610236919061205e565b6105b2565b005b34801561024957600080fd5b506102526106fb565b60405161025f91906120ba565b60405180910390f35b34801561027457600080fd5b5061027d610704565b005b34801561028b57600080fd5b506102a660048036038101906102a191906120d5565b610834565b6040516102b39190611ff0565b60405180910390f35b3480156102c857600080fd5b506102d161087d565b005b3480156102df57600080fd5b506102e86109d0565b6040516102f59190611ff0565b60405180910390f35b34801561030a57600080fd5b506103136109d6565b6040516103209190612111565b60405180910390f35b34801561033557600080fd5b5061033e6109ff565b60405161034b9190611ff0565b60405180910390f35b34801561036057600080fd5b50610369610a05565b6040516103769190611eb0565b60405180910390f35b34801561038b57600080fd5b506103a660048036038101906103a19190611f6b565b610a42565b6040516103b39190611fc6565b60405180910390f35b3480156103c857600080fd5b506103d1610a60565b6040516103de9190611ff0565b60405180910390f35b3480156103f357600080fd5b506103fc610a7f565b005b34801561040a57600080fd5b506104256004803603810190610420919061212c565b610bf3565b6040516104329190611ff0565b60405180910390f35b60606040518060400160405280600881526020017f4e6f6d6f74614149000000000000000000000000000000000000000000000000815250905090565b600061048c610485610c7a565b8484610c82565b6001905092915050565b6012600a6104a491906122ce565b620f42406104b29190612319565b81565b60006012600a6104c591906122ce565b6305f5e1006104d49190612319565b905090565b60006104e6848484610e16565b6105a7846104f2610c7a565b6105a285604051806060016040528060288152602001612bab60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610558610c7a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119b59092919063ffffffff16565b610c82565b600190509392505050565b6105ba610c7a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063e906123a7565b60405180910390fd5b60058211158015610659575060058111155b80156106715750600e60009054906101000a900460ff165b6106b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a790612413565b60405180910390fd5b81600881905550806009819055507f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f482826040516106ef929190612433565b60405180910390a15050565b60006012905090565b61070c610c7a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610799576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610790906123a7565b60405180910390fd5b6012600a6107a791906122ce565b6305f5e1006107b69190612319565b600c819055506012600a6107ca91906122ce565b6305f5e1006107d99190612319565b600d819055507f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96012600a61080e91906122ce565b6305f5e10061081d9190612319565b60405161082a9190611ff0565b60405180910390a1565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610885610c7a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610912576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610909906123a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600481526020017f4e4d414900000000000000000000000000000000000000000000000000000000815250905090565b6000610a56610a4f610c7a565b8484610e16565b6001905092915050565b6012600a610a6e91906122ce565b62030d40610a7c9190612319565b81565b610a87610c7a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b906123a7565b60405180910390fd5b600e60009054906101000a900460ff1615610b64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5b906124a8565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff0219169083151502179055507f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c600e60009054906101000a900460ff16600e60029054906101000a900460ff16604051610be99291906124c8565b60405180910390a1565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610cec5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d229061253d565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e099190611ff0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610e805750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb6906125a9565b60405180910390fd5b60008111610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef99061263b565b60405180910390fd5b600080610f0d6109d6565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610f7b5750610f4b6109d6565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561156957600e60009054906101000a900460ff1661107557600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806110355750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611074576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106b906126a7565b60405180910390fd5b5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156111205750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156111765750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561123157600c548311156111c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b790612713565b60405180910390fd5b600d54836111cd86610834565b6111d79190612733565b1115611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f906127b3565b60405180910390fd5b600a600081548092919061122b906127d3565b91905055505b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112ba57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156113085760646112e86019600a54116112d557600a6112d9565b6009545b85611a1990919063ffffffff16565b6112f2919061284a565b9150606483611301919061284a565b90506113dc565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561139157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156113db5760646113bf6014600a54116113ac5760086113b0565b6008545b85611a1990919063ffffffff16565b6113c9919061284a565b91506064836113d8919061284a565b90505b5b81600b60008282546113ee9190612733565b92505081905550600061140030610834565b9050600e60019054906101000a900460ff1615801561146c5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80156114845750600e60029054906101000a900460ff165b80156114aa57506012600a61149991906122ce565b62030d406114a79190612319565b81115b80156114b85750601e600a54115b80156114df57506012600a6114cd91906122ce565b611fa46114da9190612319565b600b54115b156115675760006012600a6114f491906122ce565b620f42406115029190612319565b821161150e578161152b565b6012600a61151c91906122ce565b620f424061152a9190612319565b5b905061154481861161153d578561153f565b815b611a93565b6000479050600081111561155c5761155b81611d0c565b5b6000600b8190555050505b505b600082111561166d576115c482600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7890919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116649190611ff0565b60405180910390a35b60008111156117d7576116ea8160016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7890919063ffffffff16565b60016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117ce9190611ff0565b60405180910390a35b61182983600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dd690919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118e2611894826118868587611dd690919063ffffffff16565b611dd690919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119998461198b8789611dd690919063ffffffff16565b611dd690919063ffffffff16565b6040516119a69190611ff0565b60405180910390a35050505050565b60008383111582906119fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f49190611eb0565b60405180910390fd5b5060008385611a0c919061287b565b9050809150509392505050565b6000808303611a2b5760009050611a8d565b60008284611a399190612319565b9050828482611a48919061284a565b14611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f90612921565b60405180910390fd5b809150505b92915050565b6001600e60016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611acb57611aca612941565b5b604051908082528060200260200182016040528015611af95781602001602082028036833780820191505090505b5090503081600081518110611b1157611b10612970565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdc91906129b4565b81600181518110611bf057611bef612970565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c5730600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c82565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611cbb959493929190612ae4565b600060405180830381600087803b158015611cd557600080fd5b505af1158015611ce9573d6000803e3d6000fd5b50505050506000600e60016101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d74573d6000803e3d6000fd5b5050565b6000808284611d879190612733565b905083811015611dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc390612b8a565b60405180910390fd5b8091505092915050565b6000611e1883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119b5565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e5a578082015181840152602081019050611e3f565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e8282611e20565b611e8c8185611e2b565b9350611e9c818560208601611e3c565b611ea581611e66565b840191505092915050565b60006020820190508181036000830152611eca8184611e77565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f0282611ed7565b9050919050565b611f1281611ef7565b8114611f1d57600080fd5b50565b600081359050611f2f81611f09565b92915050565b6000819050919050565b611f4881611f35565b8114611f5357600080fd5b50565b600081359050611f6581611f3f565b92915050565b60008060408385031215611f8257611f81611ed2565b5b6000611f9085828601611f20565b9250506020611fa185828601611f56565b9150509250929050565b60008115159050919050565b611fc081611fab565b82525050565b6000602082019050611fdb6000830184611fb7565b92915050565b611fea81611f35565b82525050565b60006020820190506120056000830184611fe1565b92915050565b60008060006060848603121561202457612023611ed2565b5b600061203286828701611f20565b935050602061204386828701611f20565b925050604061205486828701611f56565b9150509250925092565b6000806040838503121561207557612074611ed2565b5b600061208385828601611f56565b925050602061209485828601611f56565b9150509250929050565b600060ff82169050919050565b6120b48161209e565b82525050565b60006020820190506120cf60008301846120ab565b92915050565b6000602082840312156120eb576120ea611ed2565b5b60006120f984828501611f20565b91505092915050565b61210b81611ef7565b82525050565b60006020820190506121266000830184612102565b92915050565b6000806040838503121561214357612142611ed2565b5b600061215185828601611f20565b925050602061216285828601611f20565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156121f2578086048111156121ce576121cd61216c565b5b60018516156121dd5780820291505b80810290506121eb8561219b565b94506121b2565b94509492505050565b60008261220b57600190506122c7565b8161221957600090506122c7565b816001811461222f576002811461223957612268565b60019150506122c7565b60ff84111561224b5761224a61216c565b5b8360020a9150848211156122625761226161216c565b5b506122c7565b5060208310610133831016604e8410600b841016171561229d5782820a9050838111156122985761229761216c565b5b6122c7565b6122aa84848460016121a8565b925090508184048111156122c1576122c061216c565b5b81810290505b9392505050565b60006122d982611f35565b91506122e48361209e565b92506123117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121fb565b905092915050565b600061232482611f35565b915061232f83611f35565b925082820261233d81611f35565b915082820484148315176123545761235361216c565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612391602083611e2b565b915061239c8261235b565b602082019050919050565b600060208201905081810360008301526123c081612384565b9050919050565b7f457863656564732076616c756500000000000000000000000000000000000000600082015250565b60006123fd600d83611e2b565b9150612408826123c7565b602082019050919050565b6000602082019050818103600083015261242c816123f0565b9050919050565b60006040820190506124486000830185611fe1565b6124556020830184611fe1565b9392505050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b6000612492601483611e2b565b915061249d8261245c565b602082019050919050565b600060208201905081810360008301526124c181612485565b9050919050565b60006040820190506124dd6000830185611fb7565b6124ea6020830184611fb7565b9392505050565b7f45524332303a20617070726f766520746865207a65726f206164647265737300600082015250565b6000612527601f83611e2b565b9150612532826124f1565b602082019050919050565b600060208201905081810360008301526125568161251a565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f2061646472657373600082015250565b6000612593602083611e2b565b915061259e8261255d565b602082019050919050565b600060208201905081810360008301526125c281612586565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612625602983611e2b565b9150612630826125c9565b604082019050919050565b6000602082019050818103600083015261265481612618565b9050919050565b7f74726164696e67206e6f7420796574206f70656e000000000000000000000000600082015250565b6000612691601483611e2b565b915061269c8261265b565b602082019050919050565b600060208201905081810360008301526126c081612684565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006126fd601983611e2b565b9150612708826126c7565b602082019050919050565b6000602082019050818103600083015261272c816126f0565b9050919050565b600061273e82611f35565b915061274983611f35565b92508282019050808211156127615761276061216c565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061279d601a83611e2b565b91506127a882612767565b602082019050919050565b600060208201905081810360008301526127cc81612790565b9050919050565b60006127de82611f35565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128105761280f61216c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061285582611f35565b915061286083611f35565b9250826128705761286f61281b565b5b828204905092915050565b600061288682611f35565b915061289183611f35565b92508282039050818111156128a9576128a861216c565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061290b602183611e2b565b9150612916826128af565b604082019050919050565b6000602082019050818103600083015261293a816128fe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506129ae81611f09565b92915050565b6000602082840312156129ca576129c9611ed2565b5b60006129d88482850161299f565b91505092915050565b6000819050919050565b6000819050919050565b6000612a10612a0b612a06846129e1565b6129eb565b611f35565b9050919050565b612a20816129f5565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a5b81611ef7565b82525050565b6000612a6d8383612a52565b60208301905092915050565b6000602082019050919050565b6000612a9182612a26565b612a9b8185612a31565b9350612aa683612a42565b8060005b83811015612ad7578151612abe8882612a61565b9750612ac983612a79565b925050600181019050612aaa565b5085935050505092915050565b600060a082019050612af96000830188611fe1565b612b066020830187612a17565b8181036040830152612b188186612a86565b9050612b276060830185612102565b612b346080830184611fe1565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b74601b83611e2b565b9150612b7f82612b3e565b602082019050919050565b60006020820190508181036000830152612ba381612b67565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fa2f627d8309dd3c0244647f8fa8adc41ed961c49ecd02f270ba2386848c14ea64736f6c63430008150033000000000000000000000000b9aa3f4ce6d1f4ebd338f31ee9165f29f274313f0000000000000000000000006fb9b80735427cdfabbdb0834aa9e190c68b41bb0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a61161009557806395d89b411161006457806395d89b4114610354578063a9059cbb1461037f578063bf474bed146103bc578063bf6a1c0d146103e7578063dd62ed3e146103fe57610114565b8063715018a6146102bc5780637d1db4a5146102d35780638da5cb5b146102fe5780638f9a55c01461032957610114565b806323b872dd116100dc57806323b872dd146101d757806326045abc14610214578063313ce5671461023d57806356cd40e71461026857806370a082311461027f57610114565b806306fdde0314610119578063095ea7b3146101445780630faee56f1461018157806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e61043b565b60405161013b9190611eb0565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190611f6b565b610478565b6040516101789190611fc6565b60405180910390f35b34801561018d57600080fd5b50610196610496565b6040516101a39190611ff0565b60405180910390f35b3480156101b857600080fd5b506101c16104b5565b6040516101ce9190611ff0565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061200b565b6104d9565b60405161020b9190611fc6565b60405180910390f35b34801561022057600080fd5b5061023b6004803603810190610236919061205e565b6105b2565b005b34801561024957600080fd5b506102526106fb565b60405161025f91906120ba565b60405180910390f35b34801561027457600080fd5b5061027d610704565b005b34801561028b57600080fd5b506102a660048036038101906102a191906120d5565b610834565b6040516102b39190611ff0565b60405180910390f35b3480156102c857600080fd5b506102d161087d565b005b3480156102df57600080fd5b506102e86109d0565b6040516102f59190611ff0565b60405180910390f35b34801561030a57600080fd5b506103136109d6565b6040516103209190612111565b60405180910390f35b34801561033557600080fd5b5061033e6109ff565b60405161034b9190611ff0565b60405180910390f35b34801561036057600080fd5b50610369610a05565b6040516103769190611eb0565b60405180910390f35b34801561038b57600080fd5b506103a660048036038101906103a19190611f6b565b610a42565b6040516103b39190611fc6565b60405180910390f35b3480156103c857600080fd5b506103d1610a60565b6040516103de9190611ff0565b60405180910390f35b3480156103f357600080fd5b506103fc610a7f565b005b34801561040a57600080fd5b506104256004803603810190610420919061212c565b610bf3565b6040516104329190611ff0565b60405180910390f35b60606040518060400160405280600881526020017f4e6f6d6f74614149000000000000000000000000000000000000000000000000815250905090565b600061048c610485610c7a565b8484610c82565b6001905092915050565b6012600a6104a491906122ce565b620f42406104b29190612319565b81565b60006012600a6104c591906122ce565b6305f5e1006104d49190612319565b905090565b60006104e6848484610e16565b6105a7846104f2610c7a565b6105a285604051806060016040528060288152602001612bab60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610558610c7a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119b59092919063ffffffff16565b610c82565b600190509392505050565b6105ba610c7a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063e906123a7565b60405180910390fd5b60058211158015610659575060058111155b80156106715750600e60009054906101000a900460ff165b6106b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a790612413565b60405180910390fd5b81600881905550806009819055507f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f482826040516106ef929190612433565b60405180910390a15050565b60006012905090565b61070c610c7a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610799576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610790906123a7565b60405180910390fd5b6012600a6107a791906122ce565b6305f5e1006107b69190612319565b600c819055506012600a6107ca91906122ce565b6305f5e1006107d99190612319565b600d819055507f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96012600a61080e91906122ce565b6305f5e10061081d9190612319565b60405161082a9190611ff0565b60405180910390a1565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610885610c7a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610912576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610909906123a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600481526020017f4e4d414900000000000000000000000000000000000000000000000000000000815250905090565b6000610a56610a4f610c7a565b8484610e16565b6001905092915050565b6012600a610a6e91906122ce565b62030d40610a7c9190612319565b81565b610a87610c7a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b906123a7565b60405180910390fd5b600e60009054906101000a900460ff1615610b64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5b906124a8565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff0219169083151502179055507f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c600e60009054906101000a900460ff16600e60029054906101000a900460ff16604051610be99291906124c8565b60405180910390a1565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610cec5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d229061253d565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e099190611ff0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610e805750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb6906125a9565b60405180910390fd5b60008111610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef99061263b565b60405180910390fd5b600080610f0d6109d6565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610f7b5750610f4b6109d6565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561156957600e60009054906101000a900460ff1661107557600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806110355750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611074576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106b906126a7565b60405180910390fd5b5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156111205750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156111765750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561123157600c548311156111c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b790612713565b60405180910390fd5b600d54836111cd86610834565b6111d79190612733565b1115611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f906127b3565b60405180910390fd5b600a600081548092919061122b906127d3565b91905055505b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112ba57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156113085760646112e86019600a54116112d557600a6112d9565b6009545b85611a1990919063ffffffff16565b6112f2919061284a565b9150606483611301919061284a565b90506113dc565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561139157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156113db5760646113bf6014600a54116113ac5760086113b0565b6008545b85611a1990919063ffffffff16565b6113c9919061284a565b91506064836113d8919061284a565b90505b5b81600b60008282546113ee9190612733565b92505081905550600061140030610834565b9050600e60019054906101000a900460ff1615801561146c5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80156114845750600e60029054906101000a900460ff165b80156114aa57506012600a61149991906122ce565b62030d406114a79190612319565b81115b80156114b85750601e600a54115b80156114df57506012600a6114cd91906122ce565b611fa46114da9190612319565b600b54115b156115675760006012600a6114f491906122ce565b620f42406115029190612319565b821161150e578161152b565b6012600a61151c91906122ce565b620f424061152a9190612319565b5b905061154481861161153d578561153f565b815b611a93565b6000479050600081111561155c5761155b81611d0c565b5b6000600b8190555050505b505b600082111561166d576115c482600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7890919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116649190611ff0565b60405180910390a35b60008111156117d7576116ea8160016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7890919063ffffffff16565b60016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117ce9190611ff0565b60405180910390a35b61182983600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dd690919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118e2611894826118868587611dd690919063ffffffff16565b611dd690919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119998461198b8789611dd690919063ffffffff16565b611dd690919063ffffffff16565b6040516119a69190611ff0565b60405180910390a35050505050565b60008383111582906119fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f49190611eb0565b60405180910390fd5b5060008385611a0c919061287b565b9050809150509392505050565b6000808303611a2b5760009050611a8d565b60008284611a399190612319565b9050828482611a48919061284a565b14611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f90612921565b60405180910390fd5b809150505b92915050565b6001600e60016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611acb57611aca612941565b5b604051908082528060200260200182016040528015611af95781602001602082028036833780820191505090505b5090503081600081518110611b1157611b10612970565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdc91906129b4565b81600181518110611bf057611bef612970565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c5730600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c82565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611cbb959493929190612ae4565b600060405180830381600087803b158015611cd557600080fd5b505af1158015611ce9573d6000803e3d6000fd5b50505050506000600e60016101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d74573d6000803e3d6000fd5b5050565b6000808284611d879190612733565b905083811015611dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc390612b8a565b60405180910390fd5b8091505092915050565b6000611e1883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119b5565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e5a578082015181840152602081019050611e3f565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e8282611e20565b611e8c8185611e2b565b9350611e9c818560208601611e3c565b611ea581611e66565b840191505092915050565b60006020820190508181036000830152611eca8184611e77565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f0282611ed7565b9050919050565b611f1281611ef7565b8114611f1d57600080fd5b50565b600081359050611f2f81611f09565b92915050565b6000819050919050565b611f4881611f35565b8114611f5357600080fd5b50565b600081359050611f6581611f3f565b92915050565b60008060408385031215611f8257611f81611ed2565b5b6000611f9085828601611f20565b9250506020611fa185828601611f56565b9150509250929050565b60008115159050919050565b611fc081611fab565b82525050565b6000602082019050611fdb6000830184611fb7565b92915050565b611fea81611f35565b82525050565b60006020820190506120056000830184611fe1565b92915050565b60008060006060848603121561202457612023611ed2565b5b600061203286828701611f20565b935050602061204386828701611f20565b925050604061205486828701611f56565b9150509250925092565b6000806040838503121561207557612074611ed2565b5b600061208385828601611f56565b925050602061209485828601611f56565b9150509250929050565b600060ff82169050919050565b6120b48161209e565b82525050565b60006020820190506120cf60008301846120ab565b92915050565b6000602082840312156120eb576120ea611ed2565b5b60006120f984828501611f20565b91505092915050565b61210b81611ef7565b82525050565b60006020820190506121266000830184612102565b92915050565b6000806040838503121561214357612142611ed2565b5b600061215185828601611f20565b925050602061216285828601611f20565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156121f2578086048111156121ce576121cd61216c565b5b60018516156121dd5780820291505b80810290506121eb8561219b565b94506121b2565b94509492505050565b60008261220b57600190506122c7565b8161221957600090506122c7565b816001811461222f576002811461223957612268565b60019150506122c7565b60ff84111561224b5761224a61216c565b5b8360020a9150848211156122625761226161216c565b5b506122c7565b5060208310610133831016604e8410600b841016171561229d5782820a9050838111156122985761229761216c565b5b6122c7565b6122aa84848460016121a8565b925090508184048111156122c1576122c061216c565b5b81810290505b9392505050565b60006122d982611f35565b91506122e48361209e565b92506123117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121fb565b905092915050565b600061232482611f35565b915061232f83611f35565b925082820261233d81611f35565b915082820484148315176123545761235361216c565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612391602083611e2b565b915061239c8261235b565b602082019050919050565b600060208201905081810360008301526123c081612384565b9050919050565b7f457863656564732076616c756500000000000000000000000000000000000000600082015250565b60006123fd600d83611e2b565b9150612408826123c7565b602082019050919050565b6000602082019050818103600083015261242c816123f0565b9050919050565b60006040820190506124486000830185611fe1565b6124556020830184611fe1565b9392505050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b6000612492601483611e2b565b915061249d8261245c565b602082019050919050565b600060208201905081810360008301526124c181612485565b9050919050565b60006040820190506124dd6000830185611fb7565b6124ea6020830184611fb7565b9392505050565b7f45524332303a20617070726f766520746865207a65726f206164647265737300600082015250565b6000612527601f83611e2b565b9150612532826124f1565b602082019050919050565b600060208201905081810360008301526125568161251a565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f2061646472657373600082015250565b6000612593602083611e2b565b915061259e8261255d565b602082019050919050565b600060208201905081810360008301526125c281612586565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612625602983611e2b565b9150612630826125c9565b604082019050919050565b6000602082019050818103600083015261265481612618565b9050919050565b7f74726164696e67206e6f7420796574206f70656e000000000000000000000000600082015250565b6000612691601483611e2b565b915061269c8261265b565b602082019050919050565b600060208201905081810360008301526126c081612684565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006126fd601983611e2b565b9150612708826126c7565b602082019050919050565b6000602082019050818103600083015261272c816126f0565b9050919050565b600061273e82611f35565b915061274983611f35565b92508282019050808211156127615761276061216c565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061279d601a83611e2b565b91506127a882612767565b602082019050919050565b600060208201905081810360008301526127cc81612790565b9050919050565b60006127de82611f35565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128105761280f61216c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061285582611f35565b915061286083611f35565b9250826128705761286f61281b565b5b828204905092915050565b600061288682611f35565b915061289183611f35565b92508282039050818111156128a9576128a861216c565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061290b602183611e2b565b9150612916826128af565b604082019050919050565b6000602082019050818103600083015261293a816128fe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506129ae81611f09565b92915050565b6000602082840312156129ca576129c9611ed2565b5b60006129d88482850161299f565b91505092915050565b6000819050919050565b6000819050919050565b6000612a10612a0b612a06846129e1565b6129eb565b611f35565b9050919050565b612a20816129f5565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a5b81611ef7565b82525050565b6000612a6d8383612a52565b60208301905092915050565b6000602082019050919050565b6000612a9182612a26565b612a9b8185612a31565b9350612aa683612a42565b8060005b83811015612ad7578151612abe8882612a61565b9750612ac983612a79565b925050600181019050612aaa565b5085935050505092915050565b600060a082019050612af96000830188611fe1565b612b066020830187612a17565b8181036040830152612b188186612a86565b9050612b276060830185612102565b612b346080830184611fe1565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b74601b83611e2b565b9150612b7f82612b3e565b602082019050919050565b60006020820190508181036000830152612ba381612b67565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fa2f627d8309dd3c0244647f8fa8adc41ed961c49ecd02f270ba2386848c14ea64736f6c63430008150033

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

000000000000000000000000b9aa3f4ce6d1f4ebd338f31ee9165f29f274313f0000000000000000000000006fb9b80735427cdfabbdb0834aa9e190c68b41bb0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : taxWallet (address): 0xb9aa3f4ce6D1F4ebd338f31eE9165F29F274313F
Arg [1] : stakeWallet (address): 0x6Fb9B80735427CDfABBDb0834aA9e190C68B41bb
Arg [2] : router_ (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000b9aa3f4ce6d1f4ebd338f31ee9165f29f274313f
Arg [1] : 0000000000000000000000006fb9b80735427cdfabbdb0834aa9e190c68b41bb
Arg [2] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

4331:9123:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6841:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7729:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5561:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7118:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7923:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13061:353;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7027:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12885:168;;;;;;;;;;;;;:::i;:::-;;7226:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3362:148;;;;;;;;;;;;;:::i;:::-;;5633:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3148:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5697:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6932:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7353:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5485:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12657:220;;;;;;;;;;;;;:::i;:::-;;7553:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6841:83;6878:13;6911:5;;;;;;;;;;;;;;;;;6904:12;;6841:83;:::o;7729:186::-;7829:4;7846:39;7855:12;:10;:12::i;:::-;7869:7;7878:6;7846:8;:39::i;:::-;7903:4;7896:11;;7729:186;;;;:::o;5561:65::-;5330:2;5611;:15;;;;:::i;:::-;5599:9;:27;;;;:::i;:::-;5561:65;:::o;7118:100::-;7171:7;5330:2;5393;:15;;;;:::i;:::-;5379:11;:29;;;;:::i;:::-;7191:19;;7118:100;:::o;7923:446::-;8055:4;8072:36;8082:6;8090:9;8101:6;8072:9;:36::i;:::-;8119:220;8142:6;8163:12;:10;:12::i;:::-;8190:138;8246:6;8190:138;;;;;;;;;;;;;;;;;:11;:19;8202:6;8190:19;;;;;;;;;;;;;;;:33;8210:12;:10;:12::i;:::-;8190:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8119:8;:220::i;:::-;8357:4;8350:11;;7923:446;;;;;:::o;13061:353::-;3285:12;:10;:12::i;:::-;3275:22;;:6;;;;;;;;;;:22;;;3267:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13211:1:::1;13198:9;:14;;:33;;;;;13230:1;13216:10;:15;;13198:33;:48;;;;;13235:11;;;;;;;;;;;13198:48;13176:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;13313:9;13298:12;:24;;;;13349:10;13333:13;:26;;;;13375:31;13384:9;13395:10;13375:31;;;;;;;:::i;:::-;;;;;;;;13061:353:::0;;:::o;7027:83::-;7068:5;5330:2;7086:16;;7027:83;:::o;12885:168::-;3285:12;:10;:12::i;:::-;3275:22;;:6;;;;;;;;;;:22;;;3267:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5330:2:::1;5393;:15;;;;:::i;:::-;5379:11;:29;;;;:::i;:::-;12939:12;:27;;;;5330:2;5393;:15;;;;:::i;:::-;5379:11;:29;;;;:::i;:::-;12977:14;:29;;;;13022:23;5330:2;5393;:15;;;;:::i;:::-;5379:11;:29;;;;:::i;:::-;13022:23;;;;;;:::i;:::-;;;;;;;;12885:168::o:0;7226:119::-;7292:7;7319:9;:18;7329:7;7319:18;;;;;;;;;;;;;;;;7312:25;;7226:119;;;:::o;3362:148::-;3285:12;:10;:12::i;:::-;3275:22;;:6;;;;;;;;;;:22;;;3267:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3469:1:::1;3432:40;;3453:6;::::0;::::1;;;;;;;;3432:40;;;;;;;;;;;;3500:1;3483:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3362:148::o:0;5633:57::-;;;;:::o;3148:79::-;3186:7;3213:6;;;;;;;;;;;3206:13;;3148:79;:::o;5697:59::-;;;;:::o;6932:87::-;6971:13;7004:7;;;;;;;;;;;;;;;;;6997:14;;6932:87;:::o;7353:192::-;7456:4;7473:42;7483:12;:10;:12::i;:::-;7497:9;7508:6;7473:9;:42::i;:::-;7533:4;7526:11;;7353:192;;;;:::o;5485:69::-;5330:2;5539;:15;;;;:::i;:::-;5529:7;:25;;;;:::i;:::-;5485:69;:::o;12657:220::-;3285:12;:10;:12::i;:::-;3275:22;;:6;;;;;;;;;;:22;;;3267:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12720:11:::1;;;;;;;;;;;12719:12;12711:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;12781:4;12767:11;;:18;;;;;;;;;;;;;;;;;;12810:4;12796:11;;:18;;;;;;;;;;;;;;;;;;12830:39;12844:11;;;;;;;;;;;12857;;;;;;;;;;;12830:39;;;;;;;:::i;:::-;;;;;;;;12657:220::o:0;7553:168::-;7659:7;7686:11;:18;7698:5;7686:18;;;;;;;;;;;;;;;:27;7705:7;7686:27;;;;;;;;;;;;;;;;7679:34;;7553:168;;;;:::o;695:98::-;748:7;775:10;768:17;;695:98;:::o;8377:313::-;8501:1;8484:19;;:5;:19;;;;:44;;;;;8526:1;8507:21;;:7;:21;;;;8484:44;8462:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;8628:6;8598:11;:18;8610:5;8598:18;;;;;;;;;;;;;;;:27;8617:7;8598:27;;;;;;;;;;;;;;;:36;;;;8666:7;8650:32;;8659:5;8650:32;;;8675:6;8650:32;;;;;;:::i;:::-;;;;;;;;8377:313;;;:::o;8698:3360::-;8816:1;8800:18;;:4;:18;;;;:38;;;;;8836:1;8822:16;;:2;:16;;;;8800:38;8778:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;8926:1;8917:6;:10;8909:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8984:17;9016:19;9064:7;:5;:7::i;:::-;9056:15;;:4;:15;;;;:32;;;;;9081:7;:5;:7::i;:::-;9075:13;;:2;:13;;;;9056:32;9052:2388;;;9110:11;;;;;;;;;;;9105:197;;9172:18;:22;9191:2;9172:22;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9198:18;:24;9217:4;9198:24;;;;;;;;;;;;;;;;;;;;;;;;;9172:50;9142:144;;;;;;;;;;;;:::i;:::-;;;;;;;;;9105:197;9348:13;;;;;;;;;;;9340:21;;:4;:21;;;:72;;;;;9396:15;;;;;;;;;;;9382:30;;:2;:30;;;;9340:72;:116;;;;;9434:18;:22;9453:2;9434:22;;;;;;;;;;;;;;;;;;;;;;;;;9433:23;9340:116;9318:438;;;9509:12;;9499:6;:22;;9491:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9626:14;;9616:6;9600:13;9610:2;9600:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9570:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;9729:9;;:11;;;;;;;;;:::i;:::-;;;;;;9318:438;9782:13;;;;;;;;;;;9776:19;;:2;:19;;;:44;;;;;9815:4;9799:21;;:4;:21;;;;9776:44;9772:783;;;10080:3;9874:182;4972:2;9912:9;;:28;9911:122;;4867:2;9911:122;;;9973:13;;9911:122;9874:6;:10;;:182;;;;:::i;:::-;:209;;;;:::i;:::-;9841:242;;10125:3;10116:6;:12;;;;:::i;:::-;10102:26;;9772:783;;;10180:13;;;;;;;;;;;10172:21;;:4;:21;;;:44;;;;;10211:4;10197:19;;:2;:19;;;;10172:44;10168:387;;;10473:3;10270:179;4919:2;10308:9;;:27;10307:119;;4816:1;10307:119;;;10368:12;;10307:119;10270:6;:10;;:179;;;;:::i;:::-;:206;;;;:::i;:::-;10237:239;;10518:3;10509:6;:12;;;;:::i;:::-;10495:26;;10168:387;9772:783;10584:9;10571;;:22;;;;;;;:::i;:::-;;;;;;;;10608:28;10639:24;10657:4;10639:9;:24::i;:::-;10608:55;;10701:6;;;;;;;;;;;10700:7;:47;;;;;10734:13;;;;;;;;;;;10728:19;;:2;:19;;;10700:47;:79;;;;;10768:11;;;;;;;;;;;10700:79;:140;;;;;5330:2;5539;:15;;;;:::i;:::-;5529:7;:25;;;;:::i;:::-;10800:20;:40;10700:140;:191;;;;;5027:2;10861:9;;:30;10700:191;:237;;;;;5330:2;5463;:15;;;;:::i;:::-;5456:4;:22;;;;:::i;:::-;10912:9;;:25;10700:237;10678:751;;;10972:19;5330:2;5611;:15;;;;:::i;:::-;5599:9;:27;;;;:::i;:::-;10995:20;:34;10994:115;;11089:20;10994:115;;;5330:2;5611;:15;;;;:::i;:::-;5599:9;:27;;;;:::i;:::-;10994:115;10972:137;;11128:63;11155:11;11146:6;:20;11145:45;;11184:6;11145:45;;;11170:11;11145:45;11128:16;:63::i;:::-;11210:26;11239:21;11210:50;;11304:1;11283:18;:22;11279:103;;;11330:32;11343:18;11330:12;:32::i;:::-;11279:103;11412:1;11400:9;:13;;;;10953:476;;10678:751;9090:2350;9052:2388;11468:1;11456:9;:13;11452:172;;;11513:39;11542:9;11513;:24;11531:4;11513:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11486:9;:24;11504:4;11486:24;;;;;;;;;;;;;;;:66;;;;11595:4;11572:40;;11581:4;11572:40;;;11602:9;11572:40;;;;;;:::i;:::-;;;;;;;;11452:172;11652:1;11638:11;:15;11634:175;;;11696:40;11724:11;11696:9;:23;11706:12;;;;;;;;;;;11696:23;;;;;;;;;;;;;;;;:27;;:40;;;;:::i;:::-;11670:9;:23;11680:12;;;;;;;;;;;11670:23;;;;;;;;;;;;;;;:66;;;;11771:12;;;;;;;;;;;11756:41;;11765:4;11756:41;;;11785:11;11756:41;;;;;;:::i;:::-;;;;;;;;11634:175;11839:27;11859:6;11839:9;:15;11849:4;11839:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11821:9;:15;11831:4;11821:15;;;;;;;;;;;;;;;:45;;;;11893:81;11925:38;11951:11;11925:21;11936:9;11925:6;:10;;:21;;;;:::i;:::-;:25;;:38;;;;:::i;:::-;11893:9;:13;11903:2;11893:13;;;;;;;;;;;;;;;;:17;;:81;;;;:::i;:::-;11877:9;:13;11887:2;11877:13;;;;;;;;;;;;;;;:97;;;;12007:2;11992:58;;12001:4;11992:58;;;12011:38;12037:11;12011:21;12022:9;12011:6;:10;;:21;;;;:::i;:::-;:25;;:38;;;;:::i;:::-;11992:58;;;;;;:::i;:::-;;;;;;;;8767:3291;;8698:3360;;;:::o;1950:224::-;2070:7;2103:1;2098;:6;;2106:12;2090:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2130:9;2146:1;2142;:5;;;;:::i;:::-;2130:17;;2165:1;2158:8;;;1950:224;;;;;:::o;2182:246::-;2240:7;2269:1;2264;:6;2260:47;;2294:1;2287:8;;;;2260:47;2317:9;2333:1;2329;:5;;;;:::i;:::-;2317:17;;2362:1;2357;2353;:5;;;;:::i;:::-;:10;2345:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2419:1;2412:8;;;2182:246;;;;;:::o;12166:483::-;6086:4;6077:6;;:13;;;;;;;;;;;;;;;;;;12244:21:::1;12282:1;12268:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12244:40;;12313:4;12295;12300:1;12295:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12339:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12329:4;12334:1;12329:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12372:62;12389:4;12404:15;;;;;;;;;;;12422:11;12372:8;:62::i;:::-;12445:15;;;;;;;;;;;:66;;;12526:11;12552:1;12568:4;12595;12615:15;12445:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12233:416;6122:5:::0;6113:6;;:14;;;;;;;;;;;;;;;;;;12166:483;:::o;12066:92::-;12123:10;;;;;;;;;;;:19;;:27;12143:6;12123:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12066:92;:::o;1619:179::-;1677:7;1697:9;1713:1;1709;:5;;;;:::i;:::-;1697:17;;1738:1;1733;:6;;1725:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1789:1;1782:8;;;1619:179;;;;:::o;1806:136::-;1864:7;1891:43;1895:1;1898;1891:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1884:50;;1806:136;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:474::-;4491:6;4499;4548:2;4536:9;4527:7;4523:23;4519:32;4516:119;;;4554:79;;:::i;:::-;4516:119;4674:1;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4645:117;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4423:474;;;;;:::o;4903:86::-;4938:7;4978:4;4971:5;4967:16;4956:27;;4903:86;;;:::o;4995:112::-;5078:22;5094:5;5078:22;:::i;:::-;5073:3;5066:35;4995:112;;:::o;5113:214::-;5202:4;5240:2;5229:9;5225:18;5217:26;;5253:67;5317:1;5306:9;5302:17;5293:6;5253:67;:::i;:::-;5113:214;;;;:::o;5333:329::-;5392:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:119;;;5447:79;;:::i;:::-;5409:119;5567:1;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5538:117;5333:329;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:474::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:180::-;6548:77;6545:1;6538:88;6645:4;6642:1;6635:15;6669:4;6666:1;6659:15;6686:102;6728:8;6775:5;6772:1;6768:13;6747:34;;6686:102;;;:::o;6794:848::-;6855:5;6862:4;6886:6;6877:15;;6910:5;6901:14;;6924:712;6945:1;6935:8;6932:15;6924:712;;;7040:4;7035:3;7031:14;7025:4;7022:24;7019:50;;;7049:18;;:::i;:::-;7019:50;7099:1;7089:8;7085:16;7082:451;;;7514:4;7507:5;7503:16;7494:25;;7082:451;7564:4;7558;7554:15;7546:23;;7594:32;7617:8;7594:32;:::i;:::-;7582:44;;6924:712;;;6794:848;;;;;;;:::o;7648:1073::-;7702:5;7893:8;7883:40;;7914:1;7905:10;;7916:5;;7883:40;7942:4;7932:36;;7959:1;7950:10;;7961:5;;7932:36;8028:4;8076:1;8071:27;;;;8112:1;8107:191;;;;8021:277;;8071:27;8089:1;8080:10;;8091:5;;;8107:191;8152:3;8142:8;8139:17;8136:43;;;8159:18;;:::i;:::-;8136:43;8208:8;8205:1;8201:16;8192:25;;8243:3;8236:5;8233:14;8230:40;;;8250:18;;:::i;:::-;8230:40;8283:5;;;8021:277;;8407:2;8397:8;8394:16;8388:3;8382:4;8379:13;8375:36;8357:2;8347:8;8344:16;8339:2;8333:4;8330:12;8326:35;8310:111;8307:246;;;8463:8;8457:4;8453:19;8444:28;;8498:3;8491:5;8488:14;8485:40;;;8505:18;;:::i;:::-;8485:40;8538:5;;8307:246;8578:42;8616:3;8606:8;8600:4;8597:1;8578:42;:::i;:::-;8563:57;;;;8652:4;8647:3;8643:14;8636:5;8633:25;8630:51;;;8661:18;;:::i;:::-;8630:51;8710:4;8703:5;8699:16;8690:25;;7648:1073;;;;;;:::o;8727:281::-;8785:5;8809:23;8827:4;8809:23;:::i;:::-;8801:31;;8853:25;8869:8;8853:25;:::i;:::-;8841:37;;8897:104;8934:66;8924:8;8918:4;8897:104;:::i;:::-;8888:113;;8727:281;;;;:::o;9014:410::-;9054:7;9077:20;9095:1;9077:20;:::i;:::-;9072:25;;9111:20;9129:1;9111:20;:::i;:::-;9106:25;;9166:1;9163;9159:9;9188:30;9206:11;9188:30;:::i;:::-;9177:41;;9367:1;9358:7;9354:15;9351:1;9348:22;9328:1;9321:9;9301:83;9278:139;;9397:18;;:::i;:::-;9278:139;9062:362;9014:410;;;;:::o;9430:182::-;9570:34;9566:1;9558:6;9554:14;9547:58;9430:182;:::o;9618:366::-;9760:3;9781:67;9845:2;9840:3;9781:67;:::i;:::-;9774:74;;9857:93;9946:3;9857:93;:::i;:::-;9975:2;9970:3;9966:12;9959:19;;9618:366;;;:::o;9990:419::-;10156:4;10194:2;10183:9;10179:18;10171:26;;10243:9;10237:4;10233:20;10229:1;10218:9;10214:17;10207:47;10271:131;10397:4;10271:131;:::i;:::-;10263:139;;9990:419;;;:::o;10415:163::-;10555:15;10551:1;10543:6;10539:14;10532:39;10415:163;:::o;10584:366::-;10726:3;10747:67;10811:2;10806:3;10747:67;:::i;:::-;10740:74;;10823:93;10912:3;10823:93;:::i;:::-;10941:2;10936:3;10932:12;10925:19;;10584:366;;;:::o;10956:419::-;11122:4;11160:2;11149:9;11145:18;11137:26;;11209:9;11203:4;11199:20;11195:1;11184:9;11180:17;11173:47;11237:131;11363:4;11237:131;:::i;:::-;11229:139;;10956:419;;;:::o;11381:332::-;11502:4;11540:2;11529:9;11525:18;11517:26;;11553:71;11621:1;11610:9;11606:17;11597:6;11553:71;:::i;:::-;11634:72;11702:2;11691:9;11687:18;11678:6;11634:72;:::i;:::-;11381:332;;;;;:::o;11719:170::-;11859:22;11855:1;11847:6;11843:14;11836:46;11719:170;:::o;11895:366::-;12037:3;12058:67;12122:2;12117:3;12058:67;:::i;:::-;12051:74;;12134:93;12223:3;12134:93;:::i;:::-;12252:2;12247:3;12243:12;12236:19;;11895:366;;;:::o;12267:419::-;12433:4;12471:2;12460:9;12456:18;12448:26;;12520:9;12514:4;12510:20;12506:1;12495:9;12491:17;12484:47;12548:131;12674:4;12548:131;:::i;:::-;12540:139;;12267:419;;;:::o;12692:308::-;12801:4;12839:2;12828:9;12824:18;12816:26;;12852:65;12914:1;12903:9;12899:17;12890:6;12852:65;:::i;:::-;12927:66;12989:2;12978:9;12974:18;12965:6;12927:66;:::i;:::-;12692:308;;;;;:::o;13006:181::-;13146:33;13142:1;13134:6;13130:14;13123:57;13006:181;:::o;13193:366::-;13335:3;13356:67;13420:2;13415:3;13356:67;:::i;:::-;13349:74;;13432:93;13521:3;13432:93;:::i;:::-;13550:2;13545:3;13541:12;13534:19;;13193:366;;;:::o;13565:419::-;13731:4;13769:2;13758:9;13754:18;13746:26;;13818:9;13812:4;13808:20;13804:1;13793:9;13789:17;13782:47;13846:131;13972:4;13846:131;:::i;:::-;13838:139;;13565:419;;;:::o;13990:182::-;14130:34;14126:1;14118:6;14114:14;14107:58;13990:182;:::o;14178:366::-;14320:3;14341:67;14405:2;14400:3;14341:67;:::i;:::-;14334:74;;14417:93;14506:3;14417:93;:::i;:::-;14535:2;14530:3;14526:12;14519:19;;14178:366;;;:::o;14550:419::-;14716:4;14754:2;14743:9;14739:18;14731:26;;14803:9;14797:4;14793:20;14789:1;14778:9;14774:17;14767:47;14831:131;14957:4;14831:131;:::i;:::-;14823:139;;14550:419;;;:::o;14975:228::-;15115:34;15111:1;15103:6;15099:14;15092:58;15184:11;15179:2;15171:6;15167:15;15160:36;14975:228;:::o;15209:366::-;15351:3;15372:67;15436:2;15431:3;15372:67;:::i;:::-;15365:74;;15448:93;15537:3;15448:93;:::i;:::-;15566:2;15561:3;15557:12;15550:19;;15209:366;;;:::o;15581:419::-;15747:4;15785:2;15774:9;15770:18;15762:26;;15834:9;15828:4;15824:20;15820:1;15809:9;15805:17;15798:47;15862:131;15988:4;15862:131;:::i;:::-;15854:139;;15581:419;;;:::o;16006:170::-;16146:22;16142:1;16134:6;16130:14;16123:46;16006:170;:::o;16182:366::-;16324:3;16345:67;16409:2;16404:3;16345:67;:::i;:::-;16338:74;;16421:93;16510:3;16421:93;:::i;:::-;16539:2;16534:3;16530:12;16523:19;;16182:366;;;:::o;16554:419::-;16720:4;16758:2;16747:9;16743:18;16735:26;;16807:9;16801:4;16797:20;16793:1;16782:9;16778:17;16771:47;16835:131;16961:4;16835:131;:::i;:::-;16827:139;;16554:419;;;:::o;16979:175::-;17119:27;17115:1;17107:6;17103:14;17096:51;16979:175;:::o;17160:366::-;17302:3;17323:67;17387:2;17382:3;17323:67;:::i;:::-;17316:74;;17399:93;17488:3;17399:93;:::i;:::-;17517:2;17512:3;17508:12;17501:19;;17160:366;;;:::o;17532:419::-;17698:4;17736:2;17725:9;17721:18;17713:26;;17785:9;17779:4;17775:20;17771:1;17760:9;17756:17;17749:47;17813:131;17939:4;17813:131;:::i;:::-;17805:139;;17532:419;;;:::o;17957:191::-;17997:3;18016:20;18034:1;18016:20;:::i;:::-;18011:25;;18050:20;18068:1;18050:20;:::i;:::-;18045:25;;18093:1;18090;18086:9;18079:16;;18114:3;18111:1;18108:10;18105:36;;;18121:18;;:::i;:::-;18105:36;17957:191;;;;:::o;18154:176::-;18294:28;18290:1;18282:6;18278:14;18271:52;18154:176;:::o;18336:366::-;18478:3;18499:67;18563:2;18558:3;18499:67;:::i;:::-;18492:74;;18575:93;18664:3;18575:93;:::i;:::-;18693:2;18688:3;18684:12;18677:19;;18336:366;;;:::o;18708:419::-;18874:4;18912:2;18901:9;18897:18;18889:26;;18961:9;18955:4;18951:20;18947:1;18936:9;18932:17;18925:47;18989:131;19115:4;18989:131;:::i;:::-;18981:139;;18708:419;;;:::o;19133:233::-;19172:3;19195:24;19213:5;19195:24;:::i;:::-;19186:33;;19241:66;19234:5;19231:77;19228:103;;19311:18;;:::i;:::-;19228:103;19358:1;19351:5;19347:13;19340:20;;19133:233;;;:::o;19372:180::-;19420:77;19417:1;19410:88;19517:4;19514:1;19507:15;19541:4;19538:1;19531:15;19558:185;19598:1;19615:20;19633:1;19615:20;:::i;:::-;19610:25;;19649:20;19667:1;19649:20;:::i;:::-;19644:25;;19688:1;19678:35;;19693:18;;:::i;:::-;19678:35;19735:1;19732;19728:9;19723:14;;19558:185;;;;:::o;19749:194::-;19789:4;19809:20;19827:1;19809:20;:::i;:::-;19804:25;;19843:20;19861:1;19843:20;:::i;:::-;19838:25;;19887:1;19884;19880:9;19872:17;;19911:1;19905:4;19902:11;19899:37;;;19916:18;;:::i;:::-;19899:37;19749:194;;;;:::o;19949:220::-;20089:34;20085:1;20077:6;20073:14;20066:58;20158:3;20153:2;20145:6;20141:15;20134:28;19949:220;:::o;20175:366::-;20317:3;20338:67;20402:2;20397:3;20338:67;:::i;:::-;20331:74;;20414:93;20503:3;20414:93;:::i;:::-;20532:2;20527:3;20523:12;20516:19;;20175:366;;;:::o;20547:419::-;20713:4;20751:2;20740:9;20736:18;20728:26;;20800:9;20794:4;20790:20;20786:1;20775:9;20771:17;20764:47;20828:131;20954:4;20828:131;:::i;:::-;20820:139;;20547:419;;;:::o;20972:180::-;21020:77;21017:1;21010:88;21117:4;21114:1;21107:15;21141:4;21138:1;21131:15;21158:180;21206:77;21203:1;21196:88;21303:4;21300:1;21293:15;21327:4;21324:1;21317:15;21344:143;21401:5;21432:6;21426:13;21417:22;;21448:33;21475:5;21448:33;:::i;:::-;21344:143;;;;:::o;21493:351::-;21563:6;21612:2;21600:9;21591:7;21587:23;21583:32;21580:119;;;21618:79;;:::i;:::-;21580:119;21738:1;21763:64;21819:7;21810:6;21799:9;21795:22;21763:64;:::i;:::-;21753:74;;21709:128;21493:351;;;;:::o;21850:85::-;21895:7;21924:5;21913:16;;21850:85;;;:::o;21941:60::-;21969:3;21990:5;21983:12;;21941:60;;;:::o;22007:158::-;22065:9;22098:61;22116:42;22125:32;22151:5;22125:32;:::i;:::-;22116:42;:::i;:::-;22098:61;:::i;:::-;22085:74;;22007:158;;;:::o;22171:147::-;22266:45;22305:5;22266:45;:::i;:::-;22261:3;22254:58;22171:147;;:::o;22324:114::-;22391:6;22425:5;22419:12;22409:22;;22324:114;;;:::o;22444:184::-;22543:11;22577:6;22572:3;22565:19;22617:4;22612:3;22608:14;22593:29;;22444:184;;;;:::o;22634:132::-;22701:4;22724:3;22716:11;;22754:4;22749:3;22745:14;22737:22;;22634:132;;;:::o;22772:108::-;22849:24;22867:5;22849:24;:::i;:::-;22844:3;22837:37;22772:108;;:::o;22886:179::-;22955:10;22976:46;23018:3;23010:6;22976:46;:::i;:::-;23054:4;23049:3;23045:14;23031:28;;22886:179;;;;:::o;23071:113::-;23141:4;23173;23168:3;23164:14;23156:22;;23071:113;;;:::o;23220:732::-;23339:3;23368:54;23416:5;23368:54;:::i;:::-;23438:86;23517:6;23512:3;23438:86;:::i;:::-;23431:93;;23548:56;23598:5;23548:56;:::i;:::-;23627:7;23658:1;23643:284;23668:6;23665:1;23662:13;23643:284;;;23744:6;23738:13;23771:63;23830:3;23815:13;23771:63;:::i;:::-;23764:70;;23857:60;23910:6;23857:60;:::i;:::-;23847:70;;23703:224;23690:1;23687;23683:9;23678:14;;23643:284;;;23647:14;23943:3;23936:10;;23344:608;;;23220:732;;;;:::o;23958:831::-;24221:4;24259:3;24248:9;24244:19;24236:27;;24273:71;24341:1;24330:9;24326:17;24317:6;24273:71;:::i;:::-;24354:80;24430:2;24419:9;24415:18;24406:6;24354:80;:::i;:::-;24481:9;24475:4;24471:20;24466:2;24455:9;24451:18;24444:48;24509:108;24612:4;24603:6;24509:108;:::i;:::-;24501:116;;24627:72;24695:2;24684:9;24680:18;24671:6;24627:72;:::i;:::-;24709:73;24777:3;24766:9;24762:19;24753:6;24709:73;:::i;:::-;23958:831;;;;;;;;:::o;24795:177::-;24935:29;24931:1;24923:6;24919:14;24912:53;24795:177;:::o;24978:366::-;25120:3;25141:67;25205:2;25200:3;25141:67;:::i;:::-;25134:74;;25217:93;25306:3;25217:93;:::i;:::-;25335:2;25330:3;25326:12;25319:19;;24978:366;;;:::o;25350:419::-;25516:4;25554:2;25543:9;25539:18;25531:26;;25603:9;25597:4;25593:20;25589:1;25578:9;25574:17;25567:47;25631:131;25757:4;25631:131;:::i;:::-;25623:139;;25350:419;;;:::o

Swarm Source

ipfs://fa2f627d8309dd3c0244647f8fa8adc41ed961c49ecd02f270ba2386848c14ea

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Nomota AI - where technology meets creativity. Chatbot, image, voice and music generation + CPU/GPU marketplace.

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.