ETH Price: $3,639.16 (-0.56%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve189406052024-01-05 10:53:35366 days ago1704452015IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0005940812.74840805
Approve187696232023-12-12 10:51:11390 days ago1702378271IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0017023136.57674634
Approve187390802023-12-08 4:12:47394 days ago1702008767IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0019134141.05953186
Approve187388542023-12-08 3:27:23394 days ago1702006043IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0018724840.45195328
Approve187337152023-12-07 10:07:23395 days ago1701943643IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0019468241.83027037
Approve187212242023-12-05 16:06:11397 days ago1701792371IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0032136568.9611239
Approve187198692023-12-05 11:32:59397 days ago1701775979IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0023976951.4515226
Approve187193552023-12-05 9:48:47397 days ago1701769727IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0019946242.80210159
Approve187171122023-12-05 2:16:23397 days ago1701742583IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0021704346.82803801
Approve187170602023-12-05 2:05:47397 days ago1701741947IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0024231452.38887002
Transfer187170512023-12-05 2:03:59397 days ago1701741839IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0023129255.41135666
Transfer187170242023-12-05 1:58:23397 days ago1701741503IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0033615672.20947917
Transfer187170162023-12-05 1:56:47397 days ago1701741407IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0036395957.17874101
Transfer187168002023-12-05 1:13:11397 days ago1701738791IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.004607850.53585342
Approve187166022023-12-05 0:32:59397 days ago1701736379IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0024431152.49379358
Approve187165772023-12-05 0:27:59397 days ago1701736079IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0023456650.4
Approve187165742023-12-05 0:27:23397 days ago1701736043IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0026958257.84911807
Approve187165662023-12-05 0:25:47397 days ago1701735947IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0022918249.19240115
Approve187165472023-12-05 0:21:59397 days ago1701735719IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0024437652.45379739
Approve187165382023-12-05 0:20:11397 days ago1701735611IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0026026355.8638161
Approve187165342023-12-05 0:19:23397 days ago1701735563IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.002609155.98816522
Approve187165342023-12-05 0:19:23397 days ago1701735563IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0024573953.08816522
Approve187165312023-12-05 0:18:47397 days ago1701735527IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0024780553.1759952
Approve187165272023-12-05 0:17:59397 days ago1701735479IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0027054958.07158743
Approve187165262023-12-05 0:17:47397 days ago1701735467IN
0x1194Cc1A...7Db5eeBcF
0 ETH0.0026536456.94396199
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
189606052024-01-08 6:45:11363 days ago1704696311
0x1194Cc1A...7Db5eeBcF
0.00376033 ETH
189606052024-01-08 6:45:11363 days ago1704696311
0x1194Cc1A...7Db5eeBcF
0.00376033 ETH
187405572023-12-08 9:10:35394 days ago1702026635
0x1194Cc1A...7Db5eeBcF
0.00463126 ETH
187405572023-12-08 9:10:35394 days ago1702026635
0x1194Cc1A...7Db5eeBcF
0.00463126 ETH
187234582023-12-05 23:35:47396 days ago1701819347
0x1194Cc1A...7Db5eeBcF
0.00829249 ETH
187234582023-12-05 23:35:47396 days ago1701819347
0x1194Cc1A...7Db5eeBcF
0.00829249 ETH
187193562023-12-05 9:48:59397 days ago1701769739
0x1194Cc1A...7Db5eeBcF
0.00740974 ETH
187193562023-12-05 9:48:59397 days ago1701769739
0x1194Cc1A...7Db5eeBcF
0.00740974 ETH
187170542023-12-05 2:04:35397 days ago1701741875
0x1194Cc1A...7Db5eeBcF
0.00923103 ETH
187170542023-12-05 2:04:35397 days ago1701741875
0x1194Cc1A...7Db5eeBcF
0.00923103 ETH
187168222023-12-05 1:17:35397 days ago1701739055
0x1194Cc1A...7Db5eeBcF
0.01186564 ETH
187168222023-12-05 1:17:35397 days ago1701739055
0x1194Cc1A...7Db5eeBcF
0.01186564 ETH
187167072023-12-05 0:54:23397 days ago1701737663
0x1194Cc1A...7Db5eeBcF
0.0228842 ETH
187167072023-12-05 0:54:23397 days ago1701737663
0x1194Cc1A...7Db5eeBcF
0.0228842 ETH
187166612023-12-05 0:44:59397 days ago1701737099
0x1194Cc1A...7Db5eeBcF
0.01308723 ETH
187166612023-12-05 0:44:59397 days ago1701737099
0x1194Cc1A...7Db5eeBcF
0.01308723 ETH
187166152023-12-05 0:35:35397 days ago1701736535
0x1194Cc1A...7Db5eeBcF
0.02228186 ETH
187166152023-12-05 0:35:35397 days ago1701736535
0x1194Cc1A...7Db5eeBcF
0.02228186 ETH
187165892023-12-05 0:30:23397 days ago1701736223
0x1194Cc1A...7Db5eeBcF
0.03280473 ETH
187165892023-12-05 0:30:23397 days ago1701736223
0x1194Cc1A...7Db5eeBcF
0.03280473 ETH
187165552023-12-05 0:23:35397 days ago1701735815
0x1194Cc1A...7Db5eeBcF
0.02882407 ETH
187165552023-12-05 0:23:35397 days ago1701735815
0x1194Cc1A...7Db5eeBcF
0.02882407 ETH
187165462023-12-05 0:21:47397 days ago1701735707
0x1194Cc1A...7Db5eeBcF
0.04046634 ETH
187165462023-12-05 0:21:47397 days ago1701735707
0x1194Cc1A...7Db5eeBcF
0.04046634 ETH
187165312023-12-05 0:18:47397 days ago1701735527
0x1194Cc1A...7Db5eeBcF
0.05567722 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GrokGEN

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-04
*/

// SPDX-License-Identifier: Unlicensed

// Unleashing your potential pixel by pixel
// Driven by xAI Grok LLM

// Ticker: $GROKG
// Name: GrokGEN

// W: grokgen.co
// X: x.com/grokgen
// T: t.me/grokgen

pragma solidity 0.8.19;

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

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "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, " multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "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(), "caller is not the owner");
        _;
    }

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

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedWallet;
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = "GrokGEN";
    string private constant _symbol = "GROKG";

    uint256 private constant onePercent = _totalSupply / 100;

    uint256 public buyFee = 0;
    uint256 public sellFee = 0;
    uint256 public maxAmountPerTx = 0;
    uint256 public maxAmountPerWallet = 0;

    uint256 private maxSwapTokenAmount = 0;

    IUniswapV2Router02 private constant uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public uniswapV2Pair;

    address[] public holders;

    address payable private taxWallet;

    bool private swapEnabled = false;
    bool private inSwapAndLiquify = false;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor() {
        taxWallet = payable(0xdcD1AD91d5067407851B4722F28ec083fA4cd5b1);

        _isExcludedWallet[_msgSender()] = true;
        _isExcludedWallet[address(this)] = true;
        _isExcludedWallet[taxWallet] = true;

        _allowances[address(this)][address(uniswapV2Router)] = type(uint).max;
        _allowances[_msgSender()][address(uniswapV2Router)] = type(uint).max;

        _balance[_msgSender()] = onePercent * 6;
        _balance[address(this)] = onePercent * 94;

        emit Transfer(address(0), _msgSender(), onePercent * 6);
        emit Transfer(address(0), address(this), onePercent * 94);
    }

    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 _balance[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, "low allowance"));
        return true;
    }

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

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

        uint256 _tax = 0;
        if (!_isExcludedWallet[from] && !_isExcludedWallet[to]) {
            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                require(balanceOf(to) + amount <= maxAmountPerWallet || maxAmountPerWallet == 0, "Exceed max amount per wallet");
                require(amount <= maxAmountPerTx || maxAmountPerTx == 0, "Exceed max amount per tx");
                _tax = buyFee;
            } else if (to == uniswapV2Pair) {
                require(amount <= maxAmountPerTx || maxAmountPerTx == 0, "Exceed max amount per tx");
                _tax = sellFee;
            } else {
                _tax = 0;
            }
        }

        uint256 taxAmount = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxAmount;

        _balance[from] = _balance[from] - amount;
        _balance[address(this)] = _balance[address(this)] + taxAmount;

        uint256 cAmount = _balance[address(this)];
        if (!inSwapAndLiquify && from != uniswapV2Pair && to == uniswapV2Pair && swapEnabled) {
            if (cAmount >= maxSwapTokenAmount) {
                swapTokensForEth(cAmount);
                uint256 ethBalance = address(this).balance;
                if (ethBalance > 0) {
                    sendETHToFee(ethBalance);
                }
            }
        }

        if (!_isExcludedWallet[to] && to != uniswapV2Pair && _balance[to] == 0) {
            holders.push(to);
        }

        _balance[to] = _balance[to] + transferAmount;

        if (taxAmount > 0) {
            emit Transfer(from, address(this), taxAmount);
        }

        if (!_isExcludedWallet[from] && from != uniswapV2Pair && _balance[from] == 0) {
            for (uint256 i = 0; i < holders.length; i ++) {
                if (holders[i] == from) {
                    holders[i] = holders[holders.length - 1];
                    holders.pop();
                    break;
                }
            }
        }

        emit Transfer(from, to, transferAmount);
    }

    function swapTokensForEth(uint256 _tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            _tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 _amount) private {
        uint256 feeAmount = _amount;
        taxWallet.transfer(feeAmount);
    }

    function manualSwap() external {
        require(_msgSender() == owner() || _msgSender() == taxWallet, "Invalid permission");

        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }

        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

    function _setFee(uint256 _buyFee, uint256 _sellFee) private {
        buyFee = _buyFee;
        sellFee = _sellFee;
    }

    function _setMaxAmountPerTx(uint256 _maxAmountPerTx) private {
        maxAmountPerTx = _maxAmountPerTx;
    }

    function _setMaxAmountPerWallet(uint256 _maxAmountPerWallet) private {
        maxAmountPerWallet = _maxAmountPerWallet;
    }

    function _setMaxSwapTokenAmount(uint256 _maxSwapTokenAmount) private {
        maxSwapTokenAmount = _maxSwapTokenAmount;
    }

    function openTrade(
        uint256 _buyFee,
        uint256 _sellFee,
        uint256 _maxAmountPerTx,
        uint256 _maxAmountPerWallet,
        uint256 _maxSwapTokenAmount
    ) external payable onlyOwner {
        require(!swapEnabled, "token is already enabled for trading");

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: msg.value}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        _setFee(_buyFee, _sellFee);
        _setMaxAmountPerTx(_maxAmountPerTx);
        _setMaxAmountPerWallet(_maxAmountPerWallet);
        _setMaxSwapTokenAmount(_maxSwapTokenAmount);

        swapEnabled = true;
    }

    function setFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        _setFee(_buyFee, _sellFee);
    }

    function setLimits(uint256 _maxAmountPerTx, uint256 _maxAmountPerWallet) external onlyOwner {
        _setMaxAmountPerTx(_maxAmountPerTx);
        _setMaxAmountPerWallet(_maxAmountPerWallet);
    }

    function setMaxSwapTokenAmount(uint256 _maxSwapTokenAmount) external onlyOwner {
        _setMaxSwapTokenAmount(_maxSwapTokenAmount);
    }

    function setTaxWallet(address _taxWallet) external onlyOwner {
        taxWallet = payable(_taxWallet);
    }

    function getHoldersCount() public view returns(uint256) {
        return holders.length;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"buyFee","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":"getHoldersCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"holders","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxAmountPerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxAmountPerWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"},{"internalType":"uint256","name":"_maxAmountPerTx","type":"uint256"},{"internalType":"uint256","name":"_maxAmountPerWallet","type":"uint256"},{"internalType":"uint256","name":"_maxSwapTokenAmount","type":"uint256"}],"name":"openTrade","outputs":[],"stateMutability":"payable","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":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxAmountPerTx","type":"uint256"},{"internalType":"uint256","name":"_maxAmountPerWallet","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxSwapTokenAmount","type":"uint256"}],"name":"setMaxSwapTokenAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_taxWallet","type":"address"}],"name":"setTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260006004819055600581905560068190556007819055600855600b805461ffff60a01b191690553480156200003857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b03191673dcd1ad91d5067407851b4722f28ec083fa4cd5b1179055600160036000620000ae3390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553080825260038552838220805487166001908117909155600b549093168252838220805490961690921790945583526002808352818420737a250d5630b4cf539739df2c5dacb4c659f2488d8552909252822060001990819055916200013f3390565b6001600160a01b0316815260208082019290925260409081016000908120737a250d5630b4cf539739df2c5dacb4c659f2488d825290925290205560646200018a6012600a620003ea565b6200019a90633b9aca0062000402565b620001a691906200041c565b620001b390600662000402565b336000908152600160205260409020556064620001d36012600a620003ea565b620001e390633b9aca0062000402565b620001ef91906200041c565b620001fc90605e62000402565b30600090815260016020526040902055336001600160a01b0316600060008051602062001f278339815191526064620002386012600a620003ea565b6200024890633b9aca0062000402565b6200025491906200041c565b6200026190600662000402565b60405190815260200160405180910390a330600060008051602062001f278339815191526064620002956012600a620003ea565b620002a590633b9aca0062000402565b620002b191906200041c565b620002be90605e62000402565b60405190815260200160405180910390a36200043f565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200032c578160001904821115620003105762000310620002d5565b808516156200031e57918102915b93841c9390800290620002f0565b509250929050565b6000826200034557506001620003e4565b816200035457506000620003e4565b81600181146200036d5760028114620003785762000398565b6001915050620003e4565b60ff8411156200038c576200038c620002d5565b50506001821b620003e4565b5060208310610133831016604e8410600b8410161715620003bd575081810a620003e4565b620003c98383620002eb565b8060001904821115620003e057620003e0620002d5565b0290505b92915050565b6000620003fb60ff84168362000334565b9392505050565b8082028115828204841417620003e457620003e4620002d5565b6000826200043a57634e487b7160e01b600052601260045260246000fd5b500490565b611ad8806200044f6000396000f3fe60806040526004361061016a5760003560e01c806364998def116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e1461043a578063e21bbe6b14610480578063ea414b2814610493578063f2fde38b146104b357600080fd5b806395d89b41146103cc578063a9059cbb146103fa578063c4590d3f1461041a57600080fd5b806364998def1461031857806370a0823114610338578063715018a61461036e57806373889f4a1461038357806385b27c85146103985780638da5cb5b146103ae57600080fd5b8063313ce56711610123578063313ce5671461027957806336db71291461029557806347062402146102ab57806349bd5a5e146102c157806351bc3c85146102e157806352f7c988146102f857600080fd5b806306fdde0314610176578063095ea7b3146101b857806318160ddd146101e857806323b872dd1461020b5780632a11ced01461022b5780632b14ca561461026357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600781526623b937b5a3a2a760c91b60208201525b6040516101af919061163d565b60405180910390f35b3480156101c457600080fd5b506101d86101d33660046116a0565b6104d3565b60405190151581526020016101af565b3480156101f457600080fd5b506101fd6104ea565b6040519081526020016101af565b34801561021757600080fd5b506101d86102263660046116cc565b61050b565b34801561023757600080fd5b5061024b61024636600461170d565b6105a5565b6040516001600160a01b0390911681526020016101af565b34801561026f57600080fd5b506101fd60055481565b34801561028557600080fd5b50604051601281526020016101af565b3480156102a157600080fd5b506101fd60075481565b3480156102b757600080fd5b506101fd60045481565b3480156102cd57600080fd5b5060095461024b906001600160a01b031681565b3480156102ed57600080fd5b506102f66105cf565b005b34801561030457600080fd5b506102f6610313366004611726565b610674565b34801561032457600080fd5b506102f661033336600461170d565b6106a9565b34801561034457600080fd5b506101fd610353366004611748565b6001600160a01b031660009081526001602052604090205490565b34801561037a57600080fd5b506102f66106df565b34801561038f57600080fd5b50600a546101fd565b3480156103a457600080fd5b506101fd60065481565b3480156103ba57600080fd5b506000546001600160a01b031661024b565b3480156103d857600080fd5b5060408051808201909152600581526447524f4b4760d81b60208201526101a2565b34801561040657600080fd5b506101d86104153660046116a0565b610753565b34801561042657600080fd5b506102f6610435366004611726565b610760565b34801561044657600080fd5b506101fd61045536600461176c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6102f661048e3660046117a5565b61079c565b34801561049f57600080fd5b506102f66104ae366004611748565b610b56565b3480156104bf57600080fd5b506102f66104ce366004611748565b610ba2565b60006104e0338484610c6d565b5060015b92915050565b60006104f86012600a6118da565b61050690633b9aca006118e9565b905090565b6000610518848484610d31565b61059b8433610596856040518060400160405280600d81526020016c6c6f7720616c6c6f77616e636560981b815250600260008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006105753390565b6001600160a01b031681526020810191909152604001600020549190611438565b610c6d565b5060019392505050565b600a81815481106105b557600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b03163314806105fb5750600b546001600160a01b0316336001600160a01b0316145b6106415760405162461bcd60e51b815260206004820152601260248201527124b73b30b634b2103832b936b4b9b9b4b7b760711b60448201526064015b60405180910390fd5b3060009081526001602052604090205480156106605761066081611472565b47801561067057610670816115fe565b5050565b6000546001600160a01b0316331461069e5760405162461bcd60e51b815260040161063890611900565b600491909155600555565b6000546001600160a01b031633146106d35760405162461bcd60e51b815260040161063890611900565b6106dc81600855565b50565b6000546001600160a01b031633146107095760405162461bcd60e51b815260040161063890611900565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006104e0338484610d31565b6000546001600160a01b0316331461078a5760405162461bcd60e51b815260040161063890611900565b61079382600655565b61067081600755565b6000546001600160a01b031633146107c65760405162461bcd60e51b815260040161063890611900565b600b54600160a01b900460ff161561082c5760405162461bcd60e51b8152602060048201526024808201527f746f6b656e20697320616c726561647920656e61626c656420666f722074726160448201526364696e6760e01b6064820152608401610638565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a29190611937565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109279190611937565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610974573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109989190611937565b600980546001600160a01b0319166001600160a01b039290921691909117905530600081815260016020526040902054737a250d5630b4cf539739df2c5dacb4c659f2488d9163f305d719913491906000806109fc6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a64573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a899190611954565b505060095460405163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d600482015260001960248201526001600160a01b03909116915063095ea7b3906044016020604051808303816000875af1158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b169190611982565b5060048590556005849055610b2a83600655565b610b3382600755565b610b3c81600855565b5050600b805460ff60a01b1916600160a01b179055505050565b6000546001600160a01b03163314610b805760405162461bcd60e51b815260040161063890611900565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610bcc5760405162461bcd60e51b815260040161063890611900565b6001600160a01b038116610c225760405162461bcd60e51b815260206004820152601960248201527f6e6577206f776e6572206973207a65726f2061646472657373000000000000006044820152606401610638565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b03831615801590610c8d57506001600160a01b03821615155b610cd05760405162461bcd60e51b8152602060048201526014602482015273617070726f7665207a65726f206164647265737360601b6044820152606401610638565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610638565b6001600160a01b038216610df75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610638565b60008111610e595760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610638565b6001600160a01b03831660009081526003602052604081205460ff16158015610e9b57506001600160a01b03831660009081526003602052604090205460ff16155b15611041576009546001600160a01b038581169116148015610eda57506001600160a01b038316737a250d5630b4cf539739df2c5dacb4c659f2488d14155b15610fc65760075482610f02856001600160a01b031660009081526001602052604090205490565b610f0c91906119a4565b111580610f195750600754155b610f655760405162461bcd60e51b815260206004820152601c60248201527f457863656564206d617820616d6f756e74207065722077616c6c6574000000006044820152606401610638565b60065482111580610f765750600654155b610fbd5760405162461bcd60e51b815260206004820152601860248201527708af0c6cacac840dac2f040c2dadeeadce840e0cae440e8f60431b6044820152606401610638565b50600454611041565b6009546001600160a01b039081169084160361103d5760065482111580610fed5750600654155b6110345760405162461bcd60e51b815260206004820152601860248201527708af0c6cacac840dac2f040c2dadeeadce840e0cae440e8f60431b6044820152606401610638565b50600554611041565b5060005b6000606461104f83856118e9565b61105991906119b7565b9050600061106782856119d9565b6001600160a01b03871660009081526001602052604090205490915061108e9085906119d9565b6001600160a01b0387166000908152600160205260408082209290925530815220546110bb9083906119a4565b306000908152600160205260409020819055600b54600160a81b900460ff161580156110f557506009546001600160a01b03888116911614155b801561110e57506009546001600160a01b038781169116145b80156111235750600b54600160a01b900460ff165b1561114c57600854811061114c5761113a81611472565b47801561114a5761114a816115fe565b505b6001600160a01b03861660009081526003602052604090205460ff1615801561118357506009546001600160a01b03878116911614155b80156111a557506001600160a01b038616600090815260016020526040902054155b156111f657600a80546001810182556000919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319166001600160a01b0388161790555b6001600160a01b03861660009081526001602052604090205461121a9083906119a4565b6001600160a01b038716600090815260016020526040902055821561127a5760405183815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b03871660009081526003602052604090205460ff161580156112b157506009546001600160a01b03888116911614155b80156112d357506001600160a01b038716600090815260016020526040902054155b156113e25760005b600a548110156113e057876001600160a01b0316600a8281548110611302576113026119ec565b6000918252602090912001546001600160a01b0316036113ce57600a805461132c906001906119d9565b8154811061133c5761133c6119ec565b600091825260209091200154600a80546001600160a01b039092169183908110611368576113686119ec565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600a8054806113a7576113a7611a02565b600082815260209020810160001990810180546001600160a01b03191690550190556113e0565b806113d881611a18565b9150506112db565b505b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161142791815260200190565b60405180910390a350505050505050565b6000818484111561145c5760405162461bcd60e51b8152600401610638919061163d565b50600061146984866119d9565b95945050505050565b600b805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106114ba576114ba6119ec565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115509190611937565b81600181518110611563576115636119ec565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906115bb908590600090869030904290600401611a31565b600060405180830381600087803b1580156115d557600080fd5b505af11580156115e9573d6000803e3d6000fd5b5050600b805460ff60a81b1916905550505050565b600b5460405182916001600160a01b03169082156108fc029083906000818181858888f19350505050158015611638573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b8181101561166a5785810183015185820160400152820161164e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106dc57600080fd5b600080604083850312156116b357600080fd5b82356116be8161168b565b946020939093013593505050565b6000806000606084860312156116e157600080fd5b83356116ec8161168b565b925060208401356116fc8161168b565b929592945050506040919091013590565b60006020828403121561171f57600080fd5b5035919050565b6000806040838503121561173957600080fd5b50508035926020909101359150565b60006020828403121561175a57600080fd5b81356117658161168b565b9392505050565b6000806040838503121561177f57600080fd5b823561178a8161168b565b9150602083013561179a8161168b565b809150509250929050565b600080600080600060a086880312156117bd57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611831578160001904821115611817576118176117e0565b8085161561182457918102915b93841c93908002906117fb565b509250929050565b600082611848575060016104e4565b81611855575060006104e4565b816001811461186b576002811461187557611891565b60019150506104e4565b60ff841115611886576118866117e0565b50506001821b6104e4565b5060208310610133831016604e8410600b84101617156118b4575081810a6104e4565b6118be83836117f6565b80600019048211156118d2576118d26117e0565b029392505050565b600061176560ff841683611839565b80820281158282048414176104e4576104e46117e0565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b60006020828403121561194957600080fd5b81516117658161168b565b60008060006060848603121561196957600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561199457600080fd5b8151801515811461176557600080fd5b808201808211156104e4576104e46117e0565b6000826119d457634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104e4576104e46117e0565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600060018201611a2a57611a2a6117e0565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a815784516001600160a01b031683529383019391830191600101611a5c565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212209d679d71b6cfc2b9ac0cf604fb3a6aa713a88de074871b51ac41741d447258c664736f6c63430008130033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806364998def116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e1461043a578063e21bbe6b14610480578063ea414b2814610493578063f2fde38b146104b357600080fd5b806395d89b41146103cc578063a9059cbb146103fa578063c4590d3f1461041a57600080fd5b806364998def1461031857806370a0823114610338578063715018a61461036e57806373889f4a1461038357806385b27c85146103985780638da5cb5b146103ae57600080fd5b8063313ce56711610123578063313ce5671461027957806336db71291461029557806347062402146102ab57806349bd5a5e146102c157806351bc3c85146102e157806352f7c988146102f857600080fd5b806306fdde0314610176578063095ea7b3146101b857806318160ddd146101e857806323b872dd1461020b5780632a11ced01461022b5780632b14ca561461026357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600781526623b937b5a3a2a760c91b60208201525b6040516101af919061163d565b60405180910390f35b3480156101c457600080fd5b506101d86101d33660046116a0565b6104d3565b60405190151581526020016101af565b3480156101f457600080fd5b506101fd6104ea565b6040519081526020016101af565b34801561021757600080fd5b506101d86102263660046116cc565b61050b565b34801561023757600080fd5b5061024b61024636600461170d565b6105a5565b6040516001600160a01b0390911681526020016101af565b34801561026f57600080fd5b506101fd60055481565b34801561028557600080fd5b50604051601281526020016101af565b3480156102a157600080fd5b506101fd60075481565b3480156102b757600080fd5b506101fd60045481565b3480156102cd57600080fd5b5060095461024b906001600160a01b031681565b3480156102ed57600080fd5b506102f66105cf565b005b34801561030457600080fd5b506102f6610313366004611726565b610674565b34801561032457600080fd5b506102f661033336600461170d565b6106a9565b34801561034457600080fd5b506101fd610353366004611748565b6001600160a01b031660009081526001602052604090205490565b34801561037a57600080fd5b506102f66106df565b34801561038f57600080fd5b50600a546101fd565b3480156103a457600080fd5b506101fd60065481565b3480156103ba57600080fd5b506000546001600160a01b031661024b565b3480156103d857600080fd5b5060408051808201909152600581526447524f4b4760d81b60208201526101a2565b34801561040657600080fd5b506101d86104153660046116a0565b610753565b34801561042657600080fd5b506102f6610435366004611726565b610760565b34801561044657600080fd5b506101fd61045536600461176c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6102f661048e3660046117a5565b61079c565b34801561049f57600080fd5b506102f66104ae366004611748565b610b56565b3480156104bf57600080fd5b506102f66104ce366004611748565b610ba2565b60006104e0338484610c6d565b5060015b92915050565b60006104f86012600a6118da565b61050690633b9aca006118e9565b905090565b6000610518848484610d31565b61059b8433610596856040518060400160405280600d81526020016c6c6f7720616c6c6f77616e636560981b815250600260008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006105753390565b6001600160a01b031681526020810191909152604001600020549190611438565b610c6d565b5060019392505050565b600a81815481106105b557600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b03163314806105fb5750600b546001600160a01b0316336001600160a01b0316145b6106415760405162461bcd60e51b815260206004820152601260248201527124b73b30b634b2103832b936b4b9b9b4b7b760711b60448201526064015b60405180910390fd5b3060009081526001602052604090205480156106605761066081611472565b47801561067057610670816115fe565b5050565b6000546001600160a01b0316331461069e5760405162461bcd60e51b815260040161063890611900565b600491909155600555565b6000546001600160a01b031633146106d35760405162461bcd60e51b815260040161063890611900565b6106dc81600855565b50565b6000546001600160a01b031633146107095760405162461bcd60e51b815260040161063890611900565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006104e0338484610d31565b6000546001600160a01b0316331461078a5760405162461bcd60e51b815260040161063890611900565b61079382600655565b61067081600755565b6000546001600160a01b031633146107c65760405162461bcd60e51b815260040161063890611900565b600b54600160a01b900460ff161561082c5760405162461bcd60e51b8152602060048201526024808201527f746f6b656e20697320616c726561647920656e61626c656420666f722074726160448201526364696e6760e01b6064820152608401610638565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a29190611937565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109279190611937565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610974573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109989190611937565b600980546001600160a01b0319166001600160a01b039290921691909117905530600081815260016020526040902054737a250d5630b4cf539739df2c5dacb4c659f2488d9163f305d719913491906000806109fc6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a64573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a899190611954565b505060095460405163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d600482015260001960248201526001600160a01b03909116915063095ea7b3906044016020604051808303816000875af1158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b169190611982565b5060048590556005849055610b2a83600655565b610b3382600755565b610b3c81600855565b5050600b805460ff60a01b1916600160a01b179055505050565b6000546001600160a01b03163314610b805760405162461bcd60e51b815260040161063890611900565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610bcc5760405162461bcd60e51b815260040161063890611900565b6001600160a01b038116610c225760405162461bcd60e51b815260206004820152601960248201527f6e6577206f776e6572206973207a65726f2061646472657373000000000000006044820152606401610638565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b03831615801590610c8d57506001600160a01b03821615155b610cd05760405162461bcd60e51b8152602060048201526014602482015273617070726f7665207a65726f206164647265737360601b6044820152606401610638565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610638565b6001600160a01b038216610df75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610638565b60008111610e595760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610638565b6001600160a01b03831660009081526003602052604081205460ff16158015610e9b57506001600160a01b03831660009081526003602052604090205460ff16155b15611041576009546001600160a01b038581169116148015610eda57506001600160a01b038316737a250d5630b4cf539739df2c5dacb4c659f2488d14155b15610fc65760075482610f02856001600160a01b031660009081526001602052604090205490565b610f0c91906119a4565b111580610f195750600754155b610f655760405162461bcd60e51b815260206004820152601c60248201527f457863656564206d617820616d6f756e74207065722077616c6c6574000000006044820152606401610638565b60065482111580610f765750600654155b610fbd5760405162461bcd60e51b815260206004820152601860248201527708af0c6cacac840dac2f040c2dadeeadce840e0cae440e8f60431b6044820152606401610638565b50600454611041565b6009546001600160a01b039081169084160361103d5760065482111580610fed5750600654155b6110345760405162461bcd60e51b815260206004820152601860248201527708af0c6cacac840dac2f040c2dadeeadce840e0cae440e8f60431b6044820152606401610638565b50600554611041565b5060005b6000606461104f83856118e9565b61105991906119b7565b9050600061106782856119d9565b6001600160a01b03871660009081526001602052604090205490915061108e9085906119d9565b6001600160a01b0387166000908152600160205260408082209290925530815220546110bb9083906119a4565b306000908152600160205260409020819055600b54600160a81b900460ff161580156110f557506009546001600160a01b03888116911614155b801561110e57506009546001600160a01b038781169116145b80156111235750600b54600160a01b900460ff165b1561114c57600854811061114c5761113a81611472565b47801561114a5761114a816115fe565b505b6001600160a01b03861660009081526003602052604090205460ff1615801561118357506009546001600160a01b03878116911614155b80156111a557506001600160a01b038616600090815260016020526040902054155b156111f657600a80546001810182556000919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319166001600160a01b0388161790555b6001600160a01b03861660009081526001602052604090205461121a9083906119a4565b6001600160a01b038716600090815260016020526040902055821561127a5760405183815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b03871660009081526003602052604090205460ff161580156112b157506009546001600160a01b03888116911614155b80156112d357506001600160a01b038716600090815260016020526040902054155b156113e25760005b600a548110156113e057876001600160a01b0316600a8281548110611302576113026119ec565b6000918252602090912001546001600160a01b0316036113ce57600a805461132c906001906119d9565b8154811061133c5761133c6119ec565b600091825260209091200154600a80546001600160a01b039092169183908110611368576113686119ec565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600a8054806113a7576113a7611a02565b600082815260209020810160001990810180546001600160a01b03191690550190556113e0565b806113d881611a18565b9150506112db565b505b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161142791815260200190565b60405180910390a350505050505050565b6000818484111561145c5760405162461bcd60e51b8152600401610638919061163d565b50600061146984866119d9565b95945050505050565b600b805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106114ba576114ba6119ec565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115509190611937565b81600181518110611563576115636119ec565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906115bb908590600090869030904290600401611a31565b600060405180830381600087803b1580156115d557600080fd5b505af11580156115e9573d6000803e3d6000fd5b5050600b805460ff60a81b1916905550505050565b600b5460405182916001600160a01b03169082156108fc029083906000818181858888f19350505050158015611638573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b8181101561166a5785810183015185820160400152820161164e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106dc57600080fd5b600080604083850312156116b357600080fd5b82356116be8161168b565b946020939093013593505050565b6000806000606084860312156116e157600080fd5b83356116ec8161168b565b925060208401356116fc8161168b565b929592945050506040919091013590565b60006020828403121561171f57600080fd5b5035919050565b6000806040838503121561173957600080fd5b50508035926020909101359150565b60006020828403121561175a57600080fd5b81356117658161168b565b9392505050565b6000806040838503121561177f57600080fd5b823561178a8161168b565b9150602083013561179a8161168b565b809150509250929050565b600080600080600060a086880312156117bd57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611831578160001904821115611817576118176117e0565b8085161561182457918102915b93841c93908002906117fb565b509250929050565b600082611848575060016104e4565b81611855575060006104e4565b816001811461186b576002811461187557611891565b60019150506104e4565b60ff841115611886576118866117e0565b50506001821b6104e4565b5060208310610133831016604e8410600b84101617156118b4575081810a6104e4565b6118be83836117f6565b80600019048211156118d2576118d26117e0565b029392505050565b600061176560ff841683611839565b80820281158282048414176104e4576104e46117e0565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b60006020828403121561194957600080fd5b81516117658161168b565b60008060006060848603121561196957600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561199457600080fd5b8151801515811461176557600080fd5b808201808211156104e4576104e46117e0565b6000826119d457634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104e4576104e46117e0565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600060018201611a2a57611a2a6117e0565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a815784516001600160a01b031683529383019391830191600101611a5c565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212209d679d71b6cfc2b9ac0cf604fb3a6aa713a88de074871b51ac41741d447258c664736f6c63430008130033

Deployed Bytecode Sourcemap

3887:9007:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5729:83;;;;;;;;;;-1:-1:-1;5799:5:0;;;;;;;;;;;;-1:-1:-1;;;5799:5:0;;;;5729:83;;;;;;;:::i;:::-;;;;;;;;6564:160;;;;;;;;;;-1:-1:-1;6564:160:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6564:160:0;1023:187:1;6006:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;6006:100:0;1215:177:1;6732:286:0;;;;;;;;;;-1:-1:-1;6732:286:0;;;;;:::i;:::-;;:::i;4799:24::-;;;;;;;;;;-1:-1:-1;4799:24:0;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2207:32:1;;;2189:51;;2177:2;2162:18;4799:24:0;2043:203:1;4473:26:0;;;;;;;;;;;;;;;;5915:83;;;;;;;;;;-1:-1:-1;5915:83:0;;4191:2;2393:36:1;;2381:2;2366:18;5915:83:0;2251:184:1;4546:37:0;;;;;;;;;;;;;;;;4441:25;;;;;;;;;;;;;;;;4762:28;;;;;;;;;;-1:-1:-1;4762:28:0;;;;-1:-1:-1;;;;;4762:28:0;;;10254:418;;;;;;;;;;;;;:::i;:::-;;12159:115;;;;;;;;;;-1:-1:-1;12159:115:0;;;;;:::i;:::-;;:::i;12490:141::-;;;;;;;;;;-1:-1:-1;12490:141:0;;;;;:::i;:::-;;:::i;6114:118::-;;;;;;;;;;-1:-1:-1;6114:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6207:17:0;6180:7;6207:17;;;:8;:17;;;;;;;6114:118;2265:148;;;;;;;;;;;;;:::i;12758:96::-;;;;;;;;;;-1:-1:-1;12832:7:0;:14;12758:96;;4506:33;;;;;;;;;;;;;;;;1829:79;;;;;;;;;;-1:-1:-1;1867:7:0;1894:6;-1:-1:-1;;;;;1894:6:0;1829:79;;5820:87;;;;;;;;;;-1:-1:-1;5892:7:0;;;;;;;;;;;;-1:-1:-1;;;5892:7:0;;;;5820:87;;6240:166;;;;;;;;;;-1:-1:-1;6240:166:0;;;;;:::i;:::-;;:::i;12282:200::-;;;;;;;;;;-1:-1:-1;12282:200:0;;;;;:::i;:::-;;:::i;6414:142::-;;;;;;;;;;-1:-1:-1;6414:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;6521:18:0;;;6495:7;6521:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6414:142;11204:947;;;;;;:::i;:::-;;:::i;12639:111::-;;;;;;;;;;-1:-1:-1;12639:111:0;;;;;:::i;:::-;;:::i;2034:223::-;;;;;;;;;;-1:-1:-1;2034:223:0;;;;;:::i;:::-;;:::i;6564:160::-;6639:4;6655:39;356:10;6678:7;6687:6;6655:8;:39::i;:::-;-1:-1:-1;6712:4:0;6564:160;;;;;:::o;6006:100::-;6059:7;4256:15;4191:2;4256;:15;:::i;:::-;4240:31;;:13;:31;:::i;:::-;6079:19;;6006:100;:::o;6732:286::-;6830:4;6847:36;6857:6;6865:9;6876:6;6847:9;:36::i;:::-;6894:94;6903:6;356:10;6925:62;6963:6;6925:62;;;;;;;;;;;;;-1:-1:-1;;;6925:62:0;;;:11;:19;6937:6;-1:-1:-1;;;;;6925:19:0;-1:-1:-1;;;;;6925:19:0;;;;;;;;;;;;:33;6945:12;356:10;;276:98;6945:12;-1:-1:-1;;;;;6925:33:0;;;;;;;;;;;;-1:-1:-1;6925:33:0;;;:62;:37;:62::i;:::-;6894:8;:94::i;:::-;-1:-1:-1;7006:4:0;6732:286;;;;;:::o;4799:24::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4799:24:0;;-1:-1:-1;4799:24:0;:::o;10254:418::-;1867:7;1894:6;-1:-1:-1;;;;;1894:6:0;356:10;10304:23;;:52;;-1:-1:-1;10347:9:0;;-1:-1:-1;;;;;10347:9:0;356:10;-1:-1:-1;;;;;10331:25:0;;10304:52;10296:83;;;;-1:-1:-1;;;10296:83:0;;5687:2:1;10296:83:0;;;5669:21:1;5726:2;5706:18;;;5699:30;-1:-1:-1;;;5745:18:1;;;5738:48;5803:18;;10296:83:0;;;;;;;;;10433:4;10392:20;6207:17;;;:8;:17;;;;;;10454:16;;10450:79;;10487:30;10504:12;10487:16;:30::i;:::-;10562:21;10598:14;;10594:71;;10629:24;10642:10;10629:12;:24::i;:::-;10285:387;;10254:418::o;12159:115::-;1956:6;;-1:-1:-1;;;;;1956:6:0;356:10;1956:22;1948:58;;;;-1:-1:-1;;;1948:58:0;;;;;;;:::i;:::-;10751:6;:16;;;;10778:7;:18;10254:418::o;12490:141::-;1956:6;;-1:-1:-1;;;;;1956:6:0;356:10;1956:22;1948:58;;;;-1:-1:-1;;;1948:58:0;;;;;;;:::i;:::-;12580:43:::1;12603:19;11148:18:::0;:40;11068:128;12580:43:::1;12490:141:::0;:::o;2265:148::-;1956:6;;-1:-1:-1;;;;;1956:6:0;356:10;1956:22;1948:58;;;;-1:-1:-1;;;1948:58:0;;;;;;;:::i;:::-;2372:1:::1;2356:6:::0;;2335:40:::1;::::0;-1:-1:-1;;;;;2356:6:0;;::::1;::::0;2335:40:::1;::::0;2372:1;;2335:40:::1;2403:1;2386:19:::0;;-1:-1:-1;;;;;;2386:19:0::1;::::0;;2265:148::o;6240:166::-;6318:4;6334:42;356:10;6358:9;6369:6;6334:9;:42::i;12282:200::-;1956:6;;-1:-1:-1;;;;;1956:6:0;356:10;1956:22;1948:58;;;;-1:-1:-1;;;1948:58:0;;;;;;;:::i;:::-;12385:35:::1;12404:15;10884:14:::0;:32;10812:112;12385:35:::1;12431:43;12454:19;11012:18:::0;:40;10932:128;11204:947;1956:6;;-1:-1:-1;;;;;1956:6:0;356:10;1956:22;1948:58;;;;-1:-1:-1;;;1948:58:0;;;;;;;:::i;:::-;11440:11:::1;::::0;-1:-1:-1;;;11440:11:0;::::1;;;11439:12;11431:61;;;::::0;-1:-1:-1;;;11431:61:0;;6386:2:1;11431:61:0::1;::::0;::::1;6368:21:1::0;6425:2;6405:18;;;6398:30;6464:34;6444:18;;;6437:62;-1:-1:-1;;;6515:18:1;;;6508:34;6559:19;;11431:61:0::1;6184:400:1::0;11431:61:0::1;4712:42;-1:-1:-1::0;;;;;11539:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11521:55:0::1;;11585:4;4712:42;-1:-1:-1::0;;;;;11592:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11521:94;::::0;-1:-1:-1;;;;;;11521:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7075:15:1;;;11521:94:0::1;::::0;::::1;7057:34:1::0;7127:15;;7107:18;;;7100:43;6992:18;;11521:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11505:13;:110:::0;;-1:-1:-1;;;;;;11505:110:0::1;-1:-1:-1::0;;;;;11505:110:0;;;::::1;::::0;;;::::1;::::0;;11698:4:::1;-1:-1:-1::0;6207:17:0;;;-1:-1:-1;6207:17:0;;;;;;4712:42:::1;::::0;11626:31:::1;::::0;11665:9:::1;::::0;11698:4;11757:1:::1;11773::::0;11789:7:::1;1867::::0;1894:6;-1:-1:-1;;;;;1894:6:0;;1829:79;11789:7:::1;11626:211;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11626:211:0;;;-1:-1:-1;;;;;7513:15:1;;;11626:211:0::1;::::0;::::1;7495:34:1::0;7545:18;;;7538:34;;;;7588:18;;;7581:34;;;;7631:18;;;7624:34;7695:15;;;7674:19;;;7667:44;11811:15:0::1;7727:19:1::0;;;7720:35;7429:19;;11626:211:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11855:13:0::1;::::0;11848:71:::1;::::0;-1:-1:-1;;;11848:71:0;;4712:42:::1;11848:71;::::0;::::1;8251:51:1::0;-1:-1:-1;;8318:18:1;;;8311:34;-1:-1:-1;;;;;11855:13:0;;::::1;::::0;-1:-1:-1;11848:29:0::1;::::0;8224:18:1;;11848:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10751:6:0;:16;;;10778:7;:18;;;11969:35:::1;11988:15;10884:14:::0;:32;10812:112;11969:35:::1;12015:43;12038:19;11012:18:::0;:40;10932:128;12015:43:::1;12069;12092:19;11148:18:::0;:40;11068:128;12069:43:::1;-1:-1:-1::0;;12125:11:0::1;:18:::0;;-1:-1:-1;;;;12125:18:0::1;-1:-1:-1::0;;;12125:18:0::1;::::0;;-1:-1:-1;;;11204:947:0:o;12639:111::-;1956:6;;-1:-1:-1;;;;;1956:6:0;356:10;1956:22;1948:58;;;;-1:-1:-1;;;1948:58:0;;;;;;;:::i;:::-;12711:9:::1;:31:::0;;-1:-1:-1;;;;;;12711:31:0::1;-1:-1:-1::0;;;;;12711:31:0;;;::::1;::::0;;;::::1;::::0;;12639:111::o;2034:223::-;1956:6;;-1:-1:-1;;;;;1956:6:0;356:10;1956:22;1948:58;;;;-1:-1:-1;;;1948:58:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2115:22:0;::::1;2107:60;;;::::0;-1:-1:-1;;;2107:60:0;;8840:2:1;2107:60:0::1;::::0;::::1;8822:21:1::0;8879:2;8859:18;;;8852:30;8918:27;8898:18;;;8891:55;8963:18;;2107:60:0::1;8638:349:1::0;2107:60:0::1;2178:6;:17:::0;;-1:-1:-1;;;;;;2178:17:0::1;-1:-1:-1::0;;;;;2178:17:0;::::1;::::0;;::::1;::::0;;2211:38:::1;::::0;2178:17;;;;2211:38:::1;::::0;2178:6;2211:38:::1;2034:223:::0;:::o;7026:265::-;-1:-1:-1;;;;;7119:19:0;;;;;;:44;;-1:-1:-1;;;;;;7142:21:0;;;;7119:44;7111:77;;;;-1:-1:-1;;;7111:77:0;;9194:2:1;7111:77:0;;;9176:21:1;9233:2;9213:18;;;9206:30;-1:-1:-1;;;9252:18:1;;;9245:50;9312:18;;7111:77:0;8992:344:1;7111:77:0;-1:-1:-1;;;;;7199:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7251:32;;1361:25:1;;;7251:32:0;;1334:18:1;7251:32:0;;;;;;;7026:265;;;:::o;7299:2378::-;-1:-1:-1;;;;;7387:18:0;;7379:68;;;;-1:-1:-1;;;7379:68:0;;9543:2:1;7379:68:0;;;9525:21:1;9582:2;9562:18;;;9555:30;9621:34;9601:18;;;9594:62;-1:-1:-1;;;9672:18:1;;;9665:35;9717:19;;7379:68:0;9341:401:1;7379:68:0;-1:-1:-1;;;;;7466:16:0;;7458:64;;;;-1:-1:-1;;;7458:64:0;;9949:2:1;7458:64:0;;;9931:21:1;9988:2;9968:18;;;9961:30;10027:34;10007:18;;;10000:62;-1:-1:-1;;;10078:18:1;;;10071:33;10121:19;;7458:64:0;9747:399:1;7458:64:0;7550:1;7541:6;:10;7533:64;;;;-1:-1:-1;;;7533:64:0;;10353:2:1;7533:64:0;;;10335:21:1;10392:2;10372:18;;;10365:30;10431:34;10411:18;;;10404:62;-1:-1:-1;;;10482:18:1;;;10475:39;10531:19;;7533:64:0;10151:405:1;7533:64:0;-1:-1:-1;;;;;7642:23:0;;7610:12;7642:23;;;:17;:23;;;;;;;;7641:24;:50;;;;-1:-1:-1;;;;;;7670:21:0;;;;;;:17;:21;;;;;;;;7669:22;7641:50;7637:657;;;7720:13;;-1:-1:-1;;;;;7712:21:0;;;7720:13;;7712:21;:55;;;;-1:-1:-1;;;;;;7737:30:0;;4712:42;7737:30;;7712:55;7708:575;;;7822:18;;7812:6;7796:13;7806:2;-1:-1:-1;;;;;6207:17:0;6180:7;6207:17;;;:8;:17;;;;;;;6114:118;7796:13;:22;;;;:::i;:::-;:44;;:71;;;-1:-1:-1;7844:18:0;;:23;7796:71;7788:112;;;;-1:-1:-1;;;7788:112:0;;10893:2:1;7788:112:0;;;10875:21:1;10932:2;10912:18;;;10905:30;10971;10951:18;;;10944:58;11019:18;;7788:112:0;10691:352:1;7788:112:0;7937:14;;7927:6;:24;;:47;;;-1:-1:-1;7955:14:0;;:19;7927:47;7919:84;;;;-1:-1:-1;;;7919:84:0;;11250:2:1;7919:84:0;;;11232:21:1;11289:2;11269:18;;;11262:30;-1:-1:-1;;;11308:18:1;;;11301:54;11372:18;;7919:84:0;11048:348:1;7919:84:0;-1:-1:-1;8029:6:0;;7708:575;;;8067:13;;-1:-1:-1;;;;;8067:13:0;;;8061:19;;;;8057:226;;8119:14;;8109:6;:24;;:47;;;-1:-1:-1;8137:14:0;;:19;8109:47;8101:84;;;;-1:-1:-1;;;8101:84:0;;11250:2:1;8101:84:0;;;11232:21:1;11289:2;11269:18;;;11262:30;-1:-1:-1;;;11308:18:1;;;11301:54;11372:18;;8101:84:0;11048:348:1;8101:84:0;-1:-1:-1;8211:7:0;;8057:226;;;-1:-1:-1;8266:1:0;8057:226;8306:17;8344:3;8327:13;8336:4;8327:6;:13;:::i;:::-;8326:21;;;;:::i;:::-;8306:41;-1:-1:-1;8358:22:0;8383:18;8306:41;8383:6;:18;:::i;:::-;-1:-1:-1;;;;;8431:14:0;;;;;;:8;:14;;;;;;8358:43;;-1:-1:-1;8431:23:0;;8448:6;;8431:23;:::i;:::-;-1:-1:-1;;;;;8414:14:0;;;;;;:8;:14;;;;;;:40;;;;8508:4;8491:23;;;;:35;;8517:9;;8491:35;:::i;:::-;8482:4;8465:23;;;;:8;:23;;;;;:61;;;8596:16;;-1:-1:-1;;;8596:16:0;;;;8595:17;:42;;;;-1:-1:-1;8624:13:0;;-1:-1:-1;;;;;8616:21:0;;;8624:13;;8616:21;;8595:42;:65;;;;-1:-1:-1;8647:13:0;;-1:-1:-1;;;;;8641:19:0;;;8647:13;;8641:19;8595:65;:80;;;;-1:-1:-1;8664:11:0;;-1:-1:-1;;;8664:11:0;;;;8595:80;8591:373;;;8707:18;;8696:7;:29;8692:261;;8746:25;8763:7;8746:16;:25::i;:::-;8811:21;8855:14;;8851:87;;8894:24;8907:10;8894:12;:24::i;:::-;8727:226;8692:261;-1:-1:-1;;;;;8981:21:0;;;;;;:17;:21;;;;;;;;8980:22;:45;;;;-1:-1:-1;9012:13:0;;-1:-1:-1;;;;;9006:19:0;;;9012:13;;9006:19;;8980:45;:66;;;;-1:-1:-1;;;;;;9029:12:0;;;;;;:8;:12;;;;;;:17;8980:66;8976:115;;;9063:7;:16;;;;;;;-1:-1:-1;9063:16:0;;;;;;;;-1:-1:-1;;;;;;9063:16:0;-1:-1:-1;;;;;9063:16:0;;;;;8976:115;-1:-1:-1;;;;;9118:12:0;;;;;;:8;:12;;;;;;:29;;9133:14;;9118:29;:::i;:::-;-1:-1:-1;;;;;9103:12:0;;;;;;:8;:12;;;;;:44;9164:13;;9160:91;;9199:40;;1361:25:1;;;9222:4:0;;-1:-1:-1;;;;;9199:40:0;;;;;1349:2:1;1334:18;9199:40:0;;;;;;;9160:91;-1:-1:-1;;;;;9268:23:0;;;;;;:17;:23;;;;;;;;9267:24;:49;;;;-1:-1:-1;9303:13:0;;-1:-1:-1;;;;;9295:21:0;;;9303:13;;9295:21;;9267:49;:72;;;;-1:-1:-1;;;;;;9320:14:0;;;;;;:8;:14;;;;;;:19;9267:72;9263:355;;;9361:9;9356:251;9380:7;:14;9376:18;;9356:251;;;9439:4;-1:-1:-1;;;;;9425:18:0;:7;9433:1;9425:10;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;9425:10:0;:18;9421:171;;9481:7;9489:14;;:18;;9506:1;;9489:18;:::i;:::-;9481:27;;;;;;;;:::i;:::-;;;;;;;;;;;9468:7;:10;;-1:-1:-1;;;;;9481:27:0;;;;9476:1;;9468:10;;;;;;:::i;:::-;;;;;;;;;:40;;;;;-1:-1:-1;;;;;9468:40:0;;;;;-1:-1:-1;;;;;9468:40:0;;;;;;9531:7;:13;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;9531:13:0;;;;;-1:-1:-1;;;;;;9531:13:0;;;;;;9567:5;;9421:171;9396:4;;;;:::i;:::-;;;;9356:251;;;;9263:355;9650:2;-1:-1:-1;;;;;9635:34:0;9644:4;-1:-1:-1;;;;;9635:34:0;;9654:14;9635:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;9635:34:0;;;;;;;;7368:2309;;;;7299:2378;;;:::o;716:190::-;802:7;838:12;830:6;;;;822:29;;;;-1:-1:-1;;;822:29:0;;;;;;;;:::i;:::-;-1:-1:-1;862:9:0;874:5;878:1;874;:5;:::i;:::-;862:17;716:190;-1:-1:-1;;;;;716:190:0:o;9685:412::-;4991:16;:23;;-1:-1:-1;;;;4991:23:0;-1:-1:-1;;;4991:23:0;;;9788:16:::1;::::0;;9802:1:::1;9788:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9788:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9788:16:0::1;9764:40;;9833:4;9815;9820:1;9815:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9815:23:0::1;;;-1:-1:-1::0;;;;;9815:23:0::1;;;::::0;::::1;4712:42;-1:-1:-1::0;;;;;9859:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9849:4;9854:1;9849:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9849:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;;;:32;9892:197:::1;::::0;-1:-1:-1;;;9892:197:0;;4712:42:::1;::::0;9892:66:::1;::::0;:197:::1;::::0;9973:12;;10000:1:::1;::::0;10016:4;;10043::::1;::::0;10063:15:::1;::::0;9892:197:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5037:16:0;:24;;-1:-1:-1;;;;5037:24:0;;;-1:-1:-1;;;;9685:412:0:o;10113:133::-;10209:9;;:29;;10191:7;;-1:-1:-1;;;;;10209:9:0;;:29;;;;;10191:7;;10171:17;10209:29;10171:17;10209:29;10191:7;10209:9;:29;;;;;;;;;;;;;;;;;;;;;10160:86;10113:133;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:180::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;-1:-1:-1;2009:23:1;;1858:180;-1:-1:-1;1858:180:1:o;2440:248::-;2508:6;2516;2569:2;2557:9;2548:7;2544:23;2540:32;2537:52;;;2585:1;2582;2575:12;2537:52;-1:-1:-1;;2608:23:1;;;2678:2;2663:18;;;2650:32;;-1:-1:-1;2440:248:1:o;2693:247::-;2752:6;2805:2;2793:9;2784:7;2780:23;2776:32;2773:52;;;2821:1;2818;2811:12;2773:52;2860:9;2847:23;2879:31;2904:5;2879:31;:::i;:::-;2929:5;2693:247;-1:-1:-1;;;2693:247:1:o;2945:388::-;3013:6;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;3310:17;;;2945:388;;;;;:::o;3338:454::-;3433:6;3441;3449;3457;3465;3518:3;3506:9;3497:7;3493:23;3489:33;3486:53;;;3535:1;3532;3525:12;3486:53;-1:-1:-1;;3558:23:1;;;3628:2;3613:18;;3600:32;;-1:-1:-1;3679:2:1;3664:18;;3651:32;;3730:2;3715:18;;3702:32;;-1:-1:-1;3781:3:1;3766:19;3753:33;;-1:-1:-1;3338:454:1;-1:-1:-1;3338:454:1:o;3797:127::-;3858:10;3853:3;3849:20;3846:1;3839:31;3889:4;3886:1;3879:15;3913:4;3910:1;3903:15;3929:422;4018:1;4061:5;4018:1;4075:270;4096:7;4086:8;4083:21;4075:270;;;4155:4;4151:1;4147:6;4143:17;4137:4;4134:27;4131:53;;;4164:18;;:::i;:::-;4214:7;4204:8;4200:22;4197:55;;;4234:16;;;;4197:55;4313:22;;;;4273:15;;;;4075:270;;;4079:3;3929:422;;;;;:::o;4356:806::-;4405:5;4435:8;4425:80;;-1:-1:-1;4476:1:1;4490:5;;4425:80;4524:4;4514:76;;-1:-1:-1;4561:1:1;4575:5;;4514:76;4606:4;4624:1;4619:59;;;;4692:1;4687:130;;;;4599:218;;4619:59;4649:1;4640:10;;4663:5;;;4687:130;4724:3;4714:8;4711:17;4708:43;;;4731:18;;:::i;:::-;-1:-1:-1;;4787:1:1;4773:16;;4802:5;;4599:218;;4901:2;4891:8;4888:16;4882:3;4876:4;4873:13;4869:36;4863:2;4853:8;4850:16;4845:2;4839:4;4836:12;4832:35;4829:77;4826:159;;;-1:-1:-1;4938:19:1;;;4970:5;;4826:159;5017:34;5042:8;5036:4;5017:34;:::i;:::-;5087:6;5083:1;5079:6;5075:19;5066:7;5063:32;5060:58;;;5098:18;;:::i;:::-;5136:20;;4356:806;-1:-1:-1;;;4356:806:1:o;5167:140::-;5225:5;5254:47;5295:4;5285:8;5281:19;5275:4;5254:47;:::i;5312:168::-;5385:9;;;5416;;5433:15;;;5427:22;;5413:37;5403:71;;5454:18;;:::i;5832:347::-;6034:2;6016:21;;;6073:2;6053:18;;;6046:30;6112:25;6107:2;6092:18;;6085:53;6170:2;6155:18;;5832:347::o;6589:251::-;6659:6;6712:2;6700:9;6691:7;6687:23;6683:32;6680:52;;;6728:1;6725;6718:12;6680:52;6760:9;6754:16;6779:31;6804:5;6779:31;:::i;7766:306::-;7854:6;7862;7870;7923:2;7911:9;7902:7;7898:23;7894:32;7891:52;;;7939:1;7936;7929:12;7891:52;7968:9;7962:16;7952:26;;8018:2;8007:9;8003:18;7997:25;7987:35;;8062:2;8051:9;8047:18;8041:25;8031:35;;7766:306;;;;;:::o;8356:277::-;8423:6;8476:2;8464:9;8455:7;8451:23;8447:32;8444:52;;;8492:1;8489;8482:12;8444:52;8524:9;8518:16;8577:5;8570:13;8563:21;8556:5;8553:32;8543:60;;8599:1;8596;8589:12;10561:125;10626:9;;;10647:10;;;10644:36;;;10660:18;;:::i;11401:217::-;11441:1;11467;11457:132;;11511:10;11506:3;11502:20;11499:1;11492:31;11546:4;11543:1;11536:15;11574:4;11571:1;11564:15;11457:132;-1:-1:-1;11603:9:1;;11401:217::o;11623:128::-;11690:9;;;11711:11;;;11708:37;;;11725:18;;:::i;11756:127::-;11817:10;11812:3;11808:20;11805:1;11798:31;11848:4;11845:1;11838:15;11872:4;11869:1;11862:15;11888:127;11949:10;11944:3;11940:20;11937:1;11930:31;11980:4;11977:1;11970:15;12004:4;12001:1;11994:15;12020:135;12059:3;12080:17;;;12077:43;;12100:18;;:::i;:::-;-1:-1:-1;12147:1:1;12136:13;;12020:135::o;12292:980::-;12554:4;12602:3;12591:9;12587:19;12633:6;12622:9;12615:25;12659:2;12697:6;12692:2;12681:9;12677:18;12670:34;12740:3;12735:2;12724:9;12720:18;12713:31;12764:6;12799;12793:13;12830:6;12822;12815:22;12868:3;12857:9;12853:19;12846:26;;12907:2;12899:6;12895:15;12881:29;;12928:1;12938:195;12952:6;12949:1;12946:13;12938:195;;;13017:13;;-1:-1:-1;;;;;13013:39:1;13001:52;;13108:15;;;;13073:12;;;;13049:1;12967:9;12938:195;;;-1:-1:-1;;;;;;;13189:32:1;;;;13184:2;13169:18;;13162:60;-1:-1:-1;;;13253:3:1;13238:19;13231:35;13150:3;12292:980;-1:-1:-1;;;12292:980:1:o

Swarm Source

ipfs://9d679d71b6cfc2b9ac0cf604fb3a6aa713a88de074871b51ac41741d447258c6

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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