ETH Price: $2,905.17 (-4.13%)
Gas: 1 Gwei

Contract

0xD58155878E8EFBF7de43034D825a5F8d701dfDd9
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve201999432024-06-29 21:11:358 days ago1719695495IN
0xD5815587...d701dfDd9
0 ETH0.000093671.99517379
Approve201931842024-06-28 22:30:599 days ago1719613859IN
0xD5815587...d701dfDd9
0 ETH0.000167083.55482047
Approve201537362024-06-23 10:17:1114 days ago1719137831IN
0xD5815587...d701dfDd9
0 ETH0.000212914.51038748
Approve200963902024-06-15 9:46:5922 days ago1718444819IN
0xD5815587...d701dfDd9
0 ETH0.000321256.80555965
Approve200277712024-06-05 19:38:5932 days ago1717616339IN
0xD5815587...d701dfDd9
0 ETH0.0017639437.32023436
Approve200205172024-06-04 19:21:5933 days ago1717528919IN
0xD5815587...d701dfDd9
0 ETH0.0005969212.64537637
Approve199874122024-05-31 4:24:5938 days ago1717129499IN
0xD5815587...d701dfDd9
0 ETH0.000400458.48332172
Approve199800672024-05-30 3:46:1139 days ago1717040771IN
0xD5815587...d701dfDd9
0 ETH0.00038858.26176974
Approve199757812024-05-29 13:21:4739 days ago1716988907IN
0xD5815587...d701dfDd9
0 ETH0.000947720.07628591
Approve199722752024-05-29 1:35:1140 days ago1716946511IN
0xD5815587...d701dfDd9
0 ETH0.0005833512.34212496
Approve199507102024-05-26 1:16:3543 days ago1716686195IN
0xD5815587...d701dfDd9
0 ETH0.000138172.93835358
Approve198760712024-05-15 14:46:4753 days ago1715784407IN
0xD5815587...d701dfDd9
0 ETH0.000760316.16805273
Approve198478552024-05-11 16:02:5957 days ago1715443379IN
0xD5815587...d701dfDd9
0 ETH0.000149455.47339606
Approve198478542024-05-11 16:02:4757 days ago1715443367IN
0xD5815587...d701dfDd9
0 ETH0.000253735.37523033
Approve198315672024-05-09 9:23:4759 days ago1715246627IN
0xD5815587...d701dfDd9
0 ETH0.000320776.79526232
Transfer198315662024-05-09 9:23:3559 days ago1715246615IN
0xD5815587...d701dfDd9
0 ETH0.000172266.8365755
Transfer198315642024-05-09 9:23:1159 days ago1715246591IN
0xD5815587...d701dfDd9
0 ETH0.000168116.67190355
Transfer198315632024-05-09 9:22:5959 days ago1715246579IN
0xD5815587...d701dfDd9
0 ETH0.000166466.60622946
Transfer198315632024-05-09 9:22:5959 days ago1715246579IN
0xD5815587...d701dfDd9
0 ETH0.000359476.60622946
Approve198241092024-05-08 8:19:4760 days ago1715156387IN
0xD5815587...d701dfDd9
0 ETH0.000219074.64091585
Approve198237512024-05-08 7:07:2360 days ago1715152043IN
0xD5815587...d701dfDd9
0 ETH0.000168773.57528039
Approve198089342024-05-06 5:22:4763 days ago1714972967IN
0xD5815587...d701dfDd9
0 ETH0.00018773.9916069
Approve198057112024-05-05 18:34:3563 days ago1714934075IN
0xD5815587...d701dfDd9
0 ETH0.000415718.80654536
Approve197969742024-05-04 13:14:4764 days ago1714828487IN
0xD5815587...d701dfDd9
0 ETH0.000336537.1564677
Approve197758772024-05-01 14:28:3567 days ago1714573715IN
0xD5815587...d701dfDd9
0 ETH0.0004997110.58612734
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
202574352024-07-07 21:51:477 hrs ago1720389107
0xD5815587...d701dfDd9
0.00005112 ETH
202574352024-07-07 21:51:477 hrs ago1720389107
0xD5815587...d701dfDd9
0.00005112 ETH
202574352024-07-07 21:51:477 hrs ago1720389107
0xD5815587...d701dfDd9
0.00005112 ETH
202574352024-07-07 21:51:477 hrs ago1720389107
0xD5815587...d701dfDd9
0.00015337 ETH
202012722024-06-30 1:38:358 days ago1719711515
0xD5815587...d701dfDd9
0.0000819 ETH
202012722024-06-30 1:38:358 days ago1719711515
0xD5815587...d701dfDd9
0.0000819 ETH
202012722024-06-30 1:38:358 days ago1719711515
0xD5815587...d701dfDd9
0.0000819 ETH
202012722024-06-30 1:38:358 days ago1719711515
0xD5815587...d701dfDd9
0.00024571 ETH
201999472024-06-29 21:12:238 days ago1719695543
0xD5815587...d701dfDd9
0.00047541 ETH
201999472024-06-29 21:12:238 days ago1719695543
0xD5815587...d701dfDd9
0.00047541 ETH
201999472024-06-29 21:12:238 days ago1719695543
0xD5815587...d701dfDd9
0.00047541 ETH
201999472024-06-29 21:12:238 days ago1719695543
0xD5815587...d701dfDd9
0.00142624 ETH
201927152024-06-28 20:57:119 days ago1719608231
0xD5815587...d701dfDd9
0.00009064 ETH
201927152024-06-28 20:57:119 days ago1719608231
0xD5815587...d701dfDd9
0.00009064 ETH
201927152024-06-28 20:57:119 days ago1719608231
0xD5815587...d701dfDd9
0.00009064 ETH
201927152024-06-28 20:57:119 days ago1719608231
0xD5815587...d701dfDd9
0.00027194 ETH
201537362024-06-23 10:17:1114 days ago1719137831
0xD5815587...d701dfDd9
0.00031234 ETH
201537362024-06-23 10:17:1114 days ago1719137831
0xD5815587...d701dfDd9
0.00031234 ETH
201537362024-06-23 10:17:1114 days ago1719137831
0xD5815587...d701dfDd9
0.00031234 ETH
201537362024-06-23 10:17:1114 days ago1719137831
0xD5815587...d701dfDd9
0.00093704 ETH
200963902024-06-15 9:46:5922 days ago1718444819
0xD5815587...d701dfDd9
0.00041598 ETH
200963902024-06-15 9:46:5922 days ago1718444819
0xD5815587...d701dfDd9
0.00041598 ETH
200963902024-06-15 9:46:5922 days ago1718444819
0xD5815587...d701dfDd9
0.00041598 ETH
200963902024-06-15 9:46:5922 days ago1718444819
0xD5815587...d701dfDd9
0.00124794 ETH
199874122024-05-31 4:24:5938 days ago1717129499
0xD5815587...d701dfDd9
0.00021892 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KatMeme

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.20;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}

pragma solidity ^0.8.20;

abstract contract Ownable is Context {
    address private _owner;
    error OwnableUnauthorizedAccount(address account);

    error OwnableInvalidOwner(address owner);

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

pragma solidity ^0.8.20;

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    function totalSupply() external view returns (uint256);

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

    function transfer(address to, uint256 value) external returns (bool);

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

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

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);
}

pragma solidity ^0.8.20;

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

pragma solidity ^0.8.20;

interface IERC20Errors {
    error ERC20InsufficientBalance(
        address sender,
        uint256 balance,
        uint256 needed
    );

    error ERC20InvalidSender(address sender);

    error ERC20InvalidReceiver(address receiver);

    error ERC20InsufficientAllowance(
        address spender,
        uint256 allowance,
        uint256 needed
    );

    error ERC20InvalidApprover(address approver);

    error ERC20InvalidSpender(address spender);
}

interface IERC721Errors {
    error ERC721InvalidOwner(address owner);

    error ERC721NonexistentToken(uint256 tokenId);

    error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);

    error ERC721InvalidSender(address sender);

    error ERC721InvalidReceiver(address receiver);

    error ERC721InsufficientApproval(address operator, uint256 tokenId);

    error ERC721InvalidApprover(address approver);

    error ERC721InvalidOperator(address operator);
}

interface IERC1155Errors {
    error ERC1155InsufficientBalance(
        address sender,
        uint256 balance,
        uint256 needed,
        uint256 tokenId
    );

    error ERC1155InvalidSender(address sender);

    error ERC1155InvalidReceiver(address receiver);

    error ERC1155MissingApprovalForAll(address operator, address owner);

    error ERC1155InvalidApprover(address approver);

    error ERC1155InvalidOperator(address operator);

    error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);
}

pragma solidity ^0.8.24;

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

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

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function getAmountsOut(
        uint amountIn,
        address[] calldata path
    ) external view returns (uint[] memory amounts);
}

contract KatMeme is Ownable, IERC20, IERC20Metadata, IERC20Errors {
    mapping(address account => uint256) private _balances;

    mapping(address account => mapping(address spender => uint256))
    private _allowances;

    mapping(address => bool) public katsCage;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    address payable private devWallet;
    address payable private marketingWallet;

    bool public tradingOpen = false;
    IUniswapV2Router02 public uniswapV2Router;
    address private uniswapV2Pair;

    uint256 private constant FEE_TAX = 250;
    uint256 private constant LIQUIDITY_TAX = 250;
    uint256 private constant FEE_SEND_DURATION = 2 hours;

    uint256 public buySellCount = 0;
    uint256 private katsCageCount = 10;

    bool inSwapAndLiquify;

    uint256 lastTaxTransferTimestamp;

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

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

    constructor(
        string memory name_,
        string memory symbol_,
        uint8 decimals_,
        uint256 initialSupply_,
        address devWallet_,
        address marketingWallet_
    ) Ownable(_msgSender()) {
        _name = name_;
        _symbol = symbol_;
        _decimals = decimals_;

        devWallet = payable(devWallet_);
        marketingWallet = payable(marketingWallet_);

        katsCage[_msgSender()] = true;
        katsCage[address(this)] = true;

        _mint(_msgSender(), initialSupply_);
    }

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

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

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

    function totalSupply() public view virtual returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address to, uint256 value) public virtual returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, value);
        return true;
    }

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

    function approve(
        address spender,
        uint256 value
    ) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, value);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) public virtual returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, value);
        _transfer(from, to, value);
        return true;
    }

    function _transfer(address from, address to, uint256 value) internal {
        if (from == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        if (to == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        uint256 fromBalance = _balances[from];
        if (fromBalance < value) {
            revert ERC20InsufficientBalance(from, fromBalance, value);
        }

        uint256 _taxAmt = 0;

        if (from != owner() && to != owner() && tradingOpen) {
            if (
                (from == uniswapV2Pair && to != address(uniswapV2Router)) ||
                (to == uniswapV2Pair && from != address(this))
            ) {
                if (buySellCount < katsCageCount) {
                    require(katsCage[to], "Something is not allowed");
                }

                unchecked {
                    _taxAmt =
                        ((value * FEE_TAX) + (value * LIQUIDITY_TAX)) /
                        1e4;
                }

                uint256 contractTokenBalance = balanceOf(address(this));

                if (
                    block.timestamp >
                    lastTaxTransferTimestamp + FEE_SEND_DURATION &&
                    to == uniswapV2Pair &&
                    !inSwapAndLiquify &&
                    contractTokenBalance > 0
                ) {
                    uint256 T_TAX = LIQUIDITY_TAX + FEE_TAX;
                    uint256 amount = value < contractTokenBalance
                        ? value
                        : contractTokenBalance;

                    swapAndSendTax(
                        (amount * LIQUIDITY_TAX) / T_TAX,
                        (amount * FEE_TAX) / T_TAX
                    );

                    lastTaxTransferTimestamp = block.timestamp;
                }

                buySellCount++;
            }
        }

        if (_taxAmt > 0) {
            _balances[address(this)] += _taxAmt;
            emit Transfer(from, address(this), _taxAmt);
        }

        unchecked {
            _balances[from] = fromBalance - value;
            _balances[to] += value - _taxAmt;
        }
        emit Transfer(from, to, value);
    }

    function _mint(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _totalSupply += value;
        _balances[account] += value;

        emit Transfer(address(0), account, value);
    }

    function _burn(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        uint256 accountBalance = _balances[account];
        if (accountBalance < value) {
            revert ERC20InsufficientBalance(account, accountBalance, value);
        }
        unchecked {
            _balances[account] = accountBalance - value;
        }
        _totalSupply -= value;

        emit Transfer(account, address(0), value);
    }

    function _approve(address owner, address spender, uint256 value) internal {
        _approve(owner, spender, value, true);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value,
        bool emitEvent
    ) internal virtual {
        if (owner == address(0)) {
            revert ERC20InvalidApprover(address(0));
        }
        if (spender == address(0)) {
            revert ERC20InvalidSpender(address(0));
        }
        _allowances[owner][spender] = value;
        if (emitEvent) {
            emit Approval(owner, spender, value);
        }
    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 value
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            if (currentAllowance < value) {
                revert ERC20InsufficientAllowance(
                    spender,
                    currentAllowance,
                    value
                );
            }
            unchecked {
                _approve(owner, spender, currentAllowance - value, false);
            }
        }
    }

    function swapAndSendTax(
        uint256 _liquidityAmount,
        uint256 _teamAmount
    ) private lockTheSwap {
        uint256 T_TAX = (LIQUIDITY_TAX / 2) + FEE_TAX;

        uint256 liqHalf = _liquidityAmount / 2;
        uint256 liqOtherHalf = _liquidityAmount - (liqHalf);

        swapTokensForEth(liqHalf + _teamAmount);

        uint256 ethBalance = address(this).balance;
        uint256 feeETH = (ethBalance * FEE_TAX) / T_TAX;
        uint256 liquidityETH = ethBalance - feeETH;

        addLiquidity(liqOtherHalf, liquidityETH);

        sendETHToFee(feeETH);

        emit SwapAndLiquify(liqHalf, liquidityETH, liqOtherHalf);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        uint256 half = amount / 2;
        marketingWallet.transfer(half);
        devWallet.transfer(amount - half);
    }

    function fairlaunch(address _uniswapV2Router) external onlyOwner {
        require(_uniswapV2Router != address(0), "Invalid router address");
        require(!tradingOpen, "trading is already open");

        uniswapV2Router = IUniswapV2Router02(_uniswapV2Router);
        _approve(address(this), address(uniswapV2Router), _totalSupply);

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

        katsCage[uniswapV2Pair] = true;
        tradingOpen = true;
    }

    function addkatsCage(address[] memory accounts) external onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            katsCage[accounts[i]] = true;
        }
    }

    function setkatsCageCount(uint256 count) external onlyOwner {
        katsCageCount = count;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"initialSupply_","type":"uint256"},{"internalType":"address","name":"devWallet_","type":"address"},{"internalType":"address","name":"marketingWallet_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","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":"accounts","type":"address[]"}],"name":"addkatsCage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","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":"buySellCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV2Router","type":"address"}],"name":"fairlaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"katsCage","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"count","type":"uint256"}],"name":"setkatsCageCount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","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":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f600860146101000a81548160ff0219169083151502179055505f600b55600a600c55348015610032575f80fd5b5060405161346f38038061346f83398181016040528101906100549190610698565b61006261027c60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100d2575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100c99190610768565b60405180910390fd5b6100e18161028360201b60201c565b5085600590816100f19190610985565b5084600690816101019190610985565b508360075f6101000a81548160ff021916908360ff16021790555081600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f6101b061027c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061027161026561027c60201b60201c565b8461034460201b60201c565b505050505050610adc565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036103b4575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016103ab9190610768565b60405180910390fd5b8060045f8282546103c59190610a81565b925050819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546104189190610a81565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161047c9190610ac3565b60405180910390a35050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6104e7826104a1565b810181811067ffffffffffffffff82111715610506576105056104b1565b5b80604052505050565b5f610518610488565b905061052482826104de565b919050565b5f67ffffffffffffffff821115610543576105426104b1565b5b61054c826104a1565b9050602081019050919050565b8281835e5f83830152505050565b5f61057961057484610529565b61050f565b9050828152602081018484840111156105955761059461049d565b5b6105a0848285610559565b509392505050565b5f82601f8301126105bc576105bb610499565b5b81516105cc848260208601610567565b91505092915050565b5f60ff82169050919050565b6105ea816105d5565b81146105f4575f80fd5b50565b5f81519050610605816105e1565b92915050565b5f819050919050565b61061d8161060b565b8114610627575f80fd5b50565b5f8151905061063881610614565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6106678261063e565b9050919050565b6106778161065d565b8114610681575f80fd5b50565b5f815190506106928161066e565b92915050565b5f805f805f8060c087890312156106b2576106b1610491565b5b5f87015167ffffffffffffffff8111156106cf576106ce610495565b5b6106db89828a016105a8565b965050602087015167ffffffffffffffff8111156106fc576106fb610495565b5b61070889828a016105a8565b955050604061071989828a016105f7565b945050606061072a89828a0161062a565b935050608061073b89828a01610684565b92505060a061074c89828a01610684565b9150509295509295509295565b6107628161065d565b82525050565b5f60208201905061077b5f830184610759565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806107cf57607f821691505b6020821081036107e2576107e161078b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026108447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610809565b61084e8683610809565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61088961088461087f8461060b565b610866565b61060b565b9050919050565b5f819050919050565b6108a28361086f565b6108b66108ae82610890565b848454610815565b825550505050565b5f90565b6108ca6108be565b6108d5818484610899565b505050565b5b818110156108f8576108ed5f826108c2565b6001810190506108db565b5050565b601f82111561093d5761090e816107e8565b610917846107fa565b81016020851015610926578190505b61093a610932856107fa565b8301826108da565b50505b505050565b5f82821c905092915050565b5f61095d5f1984600802610942565b1980831691505092915050565b5f610975838361094e565b9150826002028217905092915050565b61098e82610781565b67ffffffffffffffff8111156109a7576109a66104b1565b5b6109b182546107b8565b6109bc8282856108fc565b5f60209050601f8311600181146109ed575f84156109db578287015190505b6109e5858261096a565b865550610a4c565b601f1984166109fb866107e8565b5f5b82811015610a22578489015182556001820191506020850194506020810190506109fd565b86831015610a3f5784890151610a3b601f89168261094e565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610a8b8261060b565b9150610a968361060b565b9250828201905080821115610aae57610aad610a54565b5b92915050565b610abd8161060b565b82525050565b5f602082019050610ad65f830184610ab4565b92915050565b61298680610ae95f395ff3fe608060405260043610610117575f3560e01c8063715018a61161009f578063dd62ed3e11610063578063dd62ed3e1461039e578063f2aef4d1146103da578063f2fde38b14610402578063f7c17b801461042a578063ffb54a99146104665761011e565b8063715018a6146102d05780638da5cb5b146102e657806395d89b4114610310578063a9059cbb1461033a578063c105f629146103765761011e565b80631f3fe43f116100e65780631f3fe43f146101dc57806323b872dd14610206578063313ce567146102425780633402e2cf1461026c57806370a08231146102945761011e565b806306fdde0314610122578063095ea7b31461014c5780631694505e1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b50610136610490565b6040516101439190611e2d565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190611eeb565b610520565b60405161017f9190611f43565b60405180910390f35b348015610193575f80fd5b5061019c610542565b6040516101a99190611fb7565b60405180910390f35b3480156101bd575f80fd5b506101c6610567565b6040516101d39190611fdf565b60405180910390f35b3480156101e7575f80fd5b506101f0610570565b6040516101fd9190611fdf565b60405180910390f35b348015610211575f80fd5b5061022c60048036038101906102279190611ff8565b610576565b6040516102399190611f43565b60405180910390f35b34801561024d575f80fd5b506102566105a4565b6040516102639190612063565b60405180910390f35b348015610277575f80fd5b50610292600480360381019061028d919061207c565b6105b9565b005b34801561029f575f80fd5b506102ba60048036038101906102b591906120a7565b6105cb565b6040516102c79190611fdf565b60405180910390f35b3480156102db575f80fd5b506102e4610611565b005b3480156102f1575f80fd5b506102fa610624565b60405161030791906120e1565b60405180910390f35b34801561031b575f80fd5b5061032461064b565b6040516103319190611e2d565b60405180910390f35b348015610345575f80fd5b50610360600480360381019061035b9190611eeb565b6106db565b60405161036d9190611f43565b60405180910390f35b348015610381575f80fd5b5061039c6004803603810190610397919061223a565b6106fd565b005b3480156103a9575f80fd5b506103c460048036038101906103bf9190612281565b610790565b6040516103d19190611fdf565b60405180910390f35b3480156103e5575f80fd5b5061040060048036038101906103fb91906120a7565b610812565b005b34801561040d575f80fd5b50610428600480360381019061042391906120a7565b610d44565b005b348015610435575f80fd5b50610450600480360381019061044b91906120a7565b610dc8565b60405161045d9190611f43565b60405180910390f35b348015610471575f80fd5b5061047a610de5565b6040516104879190611f43565b60405180910390f35b60606005805461049f906122ec565b80601f01602080910402602001604051908101604052809291908181526020018280546104cb906122ec565b80156105165780601f106104ed57610100808354040283529160200191610516565b820191905f5260205f20905b8154815290600101906020018083116104f957829003601f168201915b5050505050905090565b5f8061052a610df8565b9050610537818585610dff565b600191505092915050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600454905090565b600b5481565b5f80610580610df8565b905061058d858285610e11565b610598858585610ea3565b60019150509392505050565b5f60075f9054906101000a900460ff16905090565b6105c161156a565b80600c8190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61061961156a565b6106225f6115f1565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606006805461065a906122ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610686906122ec565b80156106d15780601f106106a8576101008083540402835291602001916106d1565b820191905f5260205f20905b8154815290600101906020018083116106b457829003601f168201915b5050505050905090565b5f806106e5610df8565b90506106f2818585610ea3565b600191505092915050565b61070561156a565b5f5b815181101561078c57600160035f8484815181106107285761072761231c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610707565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61081a61156a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087f90612393565b60405180910390fd5b600860149054906101000a900460ff16156108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf906123fb565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109463060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600454610dff565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d4919061242d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7e919061242d565b6040518363ffffffff1660e01b8152600401610a9b929190612458565b6020604051808303815f875af1158015610ab7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610adb919061242d565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b62306105cb565b5f80610b6c610624565b426040518863ffffffff1660e01b8152600401610b8e969594939291906124b8565b60606040518083038185885af1158015610baa573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bcf919061252b565b505050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c6f92919061257b565b6020604051808303815f875af1158015610c8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610caf91906125cc565b50600160035f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600860146101000a81548160ff02191690831515021790555050565b610d4c61156a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dbc575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610db391906120e1565b60405180910390fd5b610dc5816115f1565b50565b6003602052805f5260405f205f915054906101000a900460ff1681565b600860149054906101000a900460ff1681565b5f33905090565b610e0c83838360016116b2565b505050565b5f610e1c8484610790565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e9d5781811015610e8e578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610e85939291906125f7565b60405180910390fd5b610e9c84848484035f6116b2565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f13575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610f0a91906120e1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f83575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610f7a91906120e1565b60405180910390fd5b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561100d578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611004939291906125f7565b60405180910390fd5b5f611016610624565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156110845750611054610624565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561109c5750600860149054906101000a900460ff165b156113ad57600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561114a575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b806111d95750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111d857503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b5b156113ac57600c54600b5410156112745760035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126a90612676565b60405180910390fd5b5b61271060fa840260fa8502018161128e5761128d612694565b5b0490505f61129b306105cb565b9050611c20600e546112ad91906126ee565b421180156113075750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b801561131f5750600d5f9054906101000a900460ff16155b801561132a57505f81115b15611393575f60fa8061133d91906126ee565b90505f82861061134d578261134f565b855b90506113898260fa836113629190612721565b61136c9190612762565b8360fa8461137a9190612721565b6113849190612762565b611881565b42600e8190555050505b600b5f8154809291906113a590612792565b9190505550505b5b5f81111561146e578060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461140191906126ee565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114659190611fdf565b60405180910390a35b82820360015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080830360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161155b9190611fdf565b60405180910390a35050505050565b611572610df8565b73ffffffffffffffffffffffffffffffffffffffff16611590610624565b73ffffffffffffffffffffffffffffffffffffffff16146115ef576115b3610df8565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016115e691906120e1565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611722575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161171991906120e1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611792575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161178991906120e1565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801561187b578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516118729190611fdf565b60405180910390a35b50505050565b6001600d5f6101000a81548160ff0219169083151502179055505f60fa600260fa6118ac9190612762565b6118b691906126ee565b90505f6002846118c69190612762565b90505f81856118d591906127d9565b90506118eb84836118e691906126ee565b61198a565b5f4790505f8460fa836118fe9190612721565b6119089190612762565b90505f818361191791906127d9565b90506119238482611bf3565b61192c82611cd3565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56185828660405161195f9392919061280c565b60405180910390a15050505050505f600d5f6101000a81548160ff0219169083151502179055505050565b6001600d5f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156119c0576119bf6120fe565b5b6040519080825280602002602001820160405280156119ee5781602001602082028036833780820191505090505b50905030815f81518110611a0557611a0461231c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aa9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611acd919061242d565b81600181518110611ae157611ae061231c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b473060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610dff565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611ba99594939291906128f8565b5f604051808303815f87803b158015611bc0575f80fd5b505af1158015611bd2573d5f803e3d5ffd5b50505050505f600d5f6101000a81548160ff02191690831515021790555050565b611c1f3060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610dff565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f80611c69610624565b426040518863ffffffff1660e01b8152600401611c8b969594939291906124b8565b60606040518083038185885af1158015611ca7573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611ccc919061252b565b5050505050565b5f600282611ce19190612762565b905060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611d47573d5f803e3d5ffd5b50600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8284611d9091906127d9565b90811502906040515f60405180830381858888f19350505050158015611db8573d5f803e3d5ffd5b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611dff82611dbd565b611e098185611dc7565b9350611e19818560208601611dd7565b611e2281611de5565b840191505092915050565b5f6020820190508181035f830152611e458184611df5565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611e8782611e5e565b9050919050565b611e9781611e7d565b8114611ea1575f80fd5b50565b5f81359050611eb281611e8e565b92915050565b5f819050919050565b611eca81611eb8565b8114611ed4575f80fd5b50565b5f81359050611ee581611ec1565b92915050565b5f8060408385031215611f0157611f00611e56565b5b5f611f0e85828601611ea4565b9250506020611f1f85828601611ed7565b9150509250929050565b5f8115159050919050565b611f3d81611f29565b82525050565b5f602082019050611f565f830184611f34565b92915050565b5f819050919050565b5f611f7f611f7a611f7584611e5e565b611f5c565b611e5e565b9050919050565b5f611f9082611f65565b9050919050565b5f611fa182611f86565b9050919050565b611fb181611f97565b82525050565b5f602082019050611fca5f830184611fa8565b92915050565b611fd981611eb8565b82525050565b5f602082019050611ff25f830184611fd0565b92915050565b5f805f6060848603121561200f5761200e611e56565b5b5f61201c86828701611ea4565b935050602061202d86828701611ea4565b925050604061203e86828701611ed7565b9150509250925092565b5f60ff82169050919050565b61205d81612048565b82525050565b5f6020820190506120765f830184612054565b92915050565b5f6020828403121561209157612090611e56565b5b5f61209e84828501611ed7565b91505092915050565b5f602082840312156120bc576120bb611e56565b5b5f6120c984828501611ea4565b91505092915050565b6120db81611e7d565b82525050565b5f6020820190506120f45f8301846120d2565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61213482611de5565b810181811067ffffffffffffffff82111715612153576121526120fe565b5b80604052505050565b5f612165611e4d565b9050612171828261212b565b919050565b5f67ffffffffffffffff8211156121905761218f6120fe565b5b602082029050602081019050919050565b5f80fd5b5f6121b76121b284612176565b61215c565b905080838252602082019050602084028301858111156121da576121d96121a1565b5b835b8181101561220357806121ef8882611ea4565b8452602084019350506020810190506121dc565b5050509392505050565b5f82601f830112612221576122206120fa565b5b81356122318482602086016121a5565b91505092915050565b5f6020828403121561224f5761224e611e56565b5b5f82013567ffffffffffffffff81111561226c5761226b611e5a565b5b6122788482850161220d565b91505092915050565b5f806040838503121561229757612296611e56565b5b5f6122a485828601611ea4565b92505060206122b585828601611ea4565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061230357607f821691505b602082108103612316576123156122bf565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f496e76616c696420726f757465722061646472657373000000000000000000005f82015250565b5f61237d601683611dc7565b915061238882612349565b602082019050919050565b5f6020820190508181035f8301526123aa81612371565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6123e5601783611dc7565b91506123f0826123b1565b602082019050919050565b5f6020820190508181035f830152612412816123d9565b9050919050565b5f8151905061242781611e8e565b92915050565b5f6020828403121561244257612441611e56565b5b5f61244f84828501612419565b91505092915050565b5f60408201905061246b5f8301856120d2565b61247860208301846120d2565b9392505050565b5f819050919050565b5f6124a261249d6124988461247f565b611f5c565b611eb8565b9050919050565b6124b281612488565b82525050565b5f60c0820190506124cb5f8301896120d2565b6124d86020830188611fd0565b6124e560408301876124a9565b6124f260608301866124a9565b6124ff60808301856120d2565b61250c60a0830184611fd0565b979650505050505050565b5f8151905061252581611ec1565b92915050565b5f805f6060848603121561254257612541611e56565b5b5f61254f86828701612517565b935050602061256086828701612517565b925050604061257186828701612517565b9150509250925092565b5f60408201905061258e5f8301856120d2565b61259b6020830184611fd0565b9392505050565b6125ab81611f29565b81146125b5575f80fd5b50565b5f815190506125c6816125a2565b92915050565b5f602082840312156125e1576125e0611e56565b5b5f6125ee848285016125b8565b91505092915050565b5f60608201905061260a5f8301866120d2565b6126176020830185611fd0565b6126246040830184611fd0565b949350505050565b7f536f6d657468696e67206973206e6f7420616c6c6f77656400000000000000005f82015250565b5f612660601883611dc7565b915061266b8261262c565b602082019050919050565b5f6020820190508181035f83015261268d81612654565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126f882611eb8565b915061270383611eb8565b925082820190508082111561271b5761271a6126c1565b5b92915050565b5f61272b82611eb8565b915061273683611eb8565b925082820261274481611eb8565b9150828204841483151761275b5761275a6126c1565b5b5092915050565b5f61276c82611eb8565b915061277783611eb8565b92508261278757612786612694565b5b828204905092915050565b5f61279c82611eb8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127ce576127cd6126c1565b5b600182019050919050565b5f6127e382611eb8565b91506127ee83611eb8565b9250828203905081811115612806576128056126c1565b5b92915050565b5f60608201905061281f5f830186611fd0565b61282c6020830185611fd0565b6128396040830184611fd0565b949350505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61287381611e7d565b82525050565b5f612884838361286a565b60208301905092915050565b5f602082019050919050565b5f6128a682612841565b6128b0818561284b565b93506128bb8361285b565b805f5b838110156128eb5781516128d28882612879565b97506128dd83612890565b9250506001810190506128be565b5085935050505092915050565b5f60a08201905061290b5f830188611fd0565b61291860208301876124a9565b818103604083015261292a818661289c565b905061293960608301856120d2565b6129466080830184611fd0565b969550505050505056fea2646970667358221220384673bb25f3a5f7ae62909c62bcb0d66e2a2eaa7ecbace51184633c2953ec2464736f6c6343000819003300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000054d5147bbad41f70661740000000000000000000000000000bf32d9c413e0ad1802f332f5ecebab157393d8cc0000000000000000000000000af325e1e103c2a7ea329c200872306c14e549ef00000000000000000000000000000000000000000000000000000000000000084b4154204d656d650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004244b415400000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610117575f3560e01c8063715018a61161009f578063dd62ed3e11610063578063dd62ed3e1461039e578063f2aef4d1146103da578063f2fde38b14610402578063f7c17b801461042a578063ffb54a99146104665761011e565b8063715018a6146102d05780638da5cb5b146102e657806395d89b4114610310578063a9059cbb1461033a578063c105f629146103765761011e565b80631f3fe43f116100e65780631f3fe43f146101dc57806323b872dd14610206578063313ce567146102425780633402e2cf1461026c57806370a08231146102945761011e565b806306fdde0314610122578063095ea7b31461014c5780631694505e1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b50610136610490565b6040516101439190611e2d565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190611eeb565b610520565b60405161017f9190611f43565b60405180910390f35b348015610193575f80fd5b5061019c610542565b6040516101a99190611fb7565b60405180910390f35b3480156101bd575f80fd5b506101c6610567565b6040516101d39190611fdf565b60405180910390f35b3480156101e7575f80fd5b506101f0610570565b6040516101fd9190611fdf565b60405180910390f35b348015610211575f80fd5b5061022c60048036038101906102279190611ff8565b610576565b6040516102399190611f43565b60405180910390f35b34801561024d575f80fd5b506102566105a4565b6040516102639190612063565b60405180910390f35b348015610277575f80fd5b50610292600480360381019061028d919061207c565b6105b9565b005b34801561029f575f80fd5b506102ba60048036038101906102b591906120a7565b6105cb565b6040516102c79190611fdf565b60405180910390f35b3480156102db575f80fd5b506102e4610611565b005b3480156102f1575f80fd5b506102fa610624565b60405161030791906120e1565b60405180910390f35b34801561031b575f80fd5b5061032461064b565b6040516103319190611e2d565b60405180910390f35b348015610345575f80fd5b50610360600480360381019061035b9190611eeb565b6106db565b60405161036d9190611f43565b60405180910390f35b348015610381575f80fd5b5061039c6004803603810190610397919061223a565b6106fd565b005b3480156103a9575f80fd5b506103c460048036038101906103bf9190612281565b610790565b6040516103d19190611fdf565b60405180910390f35b3480156103e5575f80fd5b5061040060048036038101906103fb91906120a7565b610812565b005b34801561040d575f80fd5b50610428600480360381019061042391906120a7565b610d44565b005b348015610435575f80fd5b50610450600480360381019061044b91906120a7565b610dc8565b60405161045d9190611f43565b60405180910390f35b348015610471575f80fd5b5061047a610de5565b6040516104879190611f43565b60405180910390f35b60606005805461049f906122ec565b80601f01602080910402602001604051908101604052809291908181526020018280546104cb906122ec565b80156105165780601f106104ed57610100808354040283529160200191610516565b820191905f5260205f20905b8154815290600101906020018083116104f957829003601f168201915b5050505050905090565b5f8061052a610df8565b9050610537818585610dff565b600191505092915050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600454905090565b600b5481565b5f80610580610df8565b905061058d858285610e11565b610598858585610ea3565b60019150509392505050565b5f60075f9054906101000a900460ff16905090565b6105c161156a565b80600c8190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61061961156a565b6106225f6115f1565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606006805461065a906122ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610686906122ec565b80156106d15780601f106106a8576101008083540402835291602001916106d1565b820191905f5260205f20905b8154815290600101906020018083116106b457829003601f168201915b5050505050905090565b5f806106e5610df8565b90506106f2818585610ea3565b600191505092915050565b61070561156a565b5f5b815181101561078c57600160035f8484815181106107285761072761231c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610707565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61081a61156a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087f90612393565b60405180910390fd5b600860149054906101000a900460ff16156108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf906123fb565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109463060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600454610dff565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d4919061242d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7e919061242d565b6040518363ffffffff1660e01b8152600401610a9b929190612458565b6020604051808303815f875af1158015610ab7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610adb919061242d565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b62306105cb565b5f80610b6c610624565b426040518863ffffffff1660e01b8152600401610b8e969594939291906124b8565b60606040518083038185885af1158015610baa573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bcf919061252b565b505050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c6f92919061257b565b6020604051808303815f875af1158015610c8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610caf91906125cc565b50600160035f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600860146101000a81548160ff02191690831515021790555050565b610d4c61156a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dbc575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610db391906120e1565b60405180910390fd5b610dc5816115f1565b50565b6003602052805f5260405f205f915054906101000a900460ff1681565b600860149054906101000a900460ff1681565b5f33905090565b610e0c83838360016116b2565b505050565b5f610e1c8484610790565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e9d5781811015610e8e578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610e85939291906125f7565b60405180910390fd5b610e9c84848484035f6116b2565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f13575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610f0a91906120e1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f83575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610f7a91906120e1565b60405180910390fd5b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561100d578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611004939291906125f7565b60405180910390fd5b5f611016610624565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156110845750611054610624565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561109c5750600860149054906101000a900460ff165b156113ad57600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561114a575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b806111d95750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111d857503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b5b156113ac57600c54600b5410156112745760035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126a90612676565b60405180910390fd5b5b61271060fa840260fa8502018161128e5761128d612694565b5b0490505f61129b306105cb565b9050611c20600e546112ad91906126ee565b421180156113075750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b801561131f5750600d5f9054906101000a900460ff16155b801561132a57505f81115b15611393575f60fa8061133d91906126ee565b90505f82861061134d578261134f565b855b90506113898260fa836113629190612721565b61136c9190612762565b8360fa8461137a9190612721565b6113849190612762565b611881565b42600e8190555050505b600b5f8154809291906113a590612792565b9190505550505b5b5f81111561146e578060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461140191906126ee565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114659190611fdf565b60405180910390a35b82820360015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080830360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161155b9190611fdf565b60405180910390a35050505050565b611572610df8565b73ffffffffffffffffffffffffffffffffffffffff16611590610624565b73ffffffffffffffffffffffffffffffffffffffff16146115ef576115b3610df8565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016115e691906120e1565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611722575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161171991906120e1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611792575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161178991906120e1565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801561187b578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516118729190611fdf565b60405180910390a35b50505050565b6001600d5f6101000a81548160ff0219169083151502179055505f60fa600260fa6118ac9190612762565b6118b691906126ee565b90505f6002846118c69190612762565b90505f81856118d591906127d9565b90506118eb84836118e691906126ee565b61198a565b5f4790505f8460fa836118fe9190612721565b6119089190612762565b90505f818361191791906127d9565b90506119238482611bf3565b61192c82611cd3565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56185828660405161195f9392919061280c565b60405180910390a15050505050505f600d5f6101000a81548160ff0219169083151502179055505050565b6001600d5f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156119c0576119bf6120fe565b5b6040519080825280602002602001820160405280156119ee5781602001602082028036833780820191505090505b50905030815f81518110611a0557611a0461231c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aa9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611acd919061242d565b81600181518110611ae157611ae061231c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b473060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610dff565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611ba99594939291906128f8565b5f604051808303815f87803b158015611bc0575f80fd5b505af1158015611bd2573d5f803e3d5ffd5b50505050505f600d5f6101000a81548160ff02191690831515021790555050565b611c1f3060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610dff565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f80611c69610624565b426040518863ffffffff1660e01b8152600401611c8b969594939291906124b8565b60606040518083038185885af1158015611ca7573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611ccc919061252b565b5050505050565b5f600282611ce19190612762565b905060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611d47573d5f803e3d5ffd5b50600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8284611d9091906127d9565b90811502906040515f60405180830381858888f19350505050158015611db8573d5f803e3d5ffd5b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611dff82611dbd565b611e098185611dc7565b9350611e19818560208601611dd7565b611e2281611de5565b840191505092915050565b5f6020820190508181035f830152611e458184611df5565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611e8782611e5e565b9050919050565b611e9781611e7d565b8114611ea1575f80fd5b50565b5f81359050611eb281611e8e565b92915050565b5f819050919050565b611eca81611eb8565b8114611ed4575f80fd5b50565b5f81359050611ee581611ec1565b92915050565b5f8060408385031215611f0157611f00611e56565b5b5f611f0e85828601611ea4565b9250506020611f1f85828601611ed7565b9150509250929050565b5f8115159050919050565b611f3d81611f29565b82525050565b5f602082019050611f565f830184611f34565b92915050565b5f819050919050565b5f611f7f611f7a611f7584611e5e565b611f5c565b611e5e565b9050919050565b5f611f9082611f65565b9050919050565b5f611fa182611f86565b9050919050565b611fb181611f97565b82525050565b5f602082019050611fca5f830184611fa8565b92915050565b611fd981611eb8565b82525050565b5f602082019050611ff25f830184611fd0565b92915050565b5f805f6060848603121561200f5761200e611e56565b5b5f61201c86828701611ea4565b935050602061202d86828701611ea4565b925050604061203e86828701611ed7565b9150509250925092565b5f60ff82169050919050565b61205d81612048565b82525050565b5f6020820190506120765f830184612054565b92915050565b5f6020828403121561209157612090611e56565b5b5f61209e84828501611ed7565b91505092915050565b5f602082840312156120bc576120bb611e56565b5b5f6120c984828501611ea4565b91505092915050565b6120db81611e7d565b82525050565b5f6020820190506120f45f8301846120d2565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61213482611de5565b810181811067ffffffffffffffff82111715612153576121526120fe565b5b80604052505050565b5f612165611e4d565b9050612171828261212b565b919050565b5f67ffffffffffffffff8211156121905761218f6120fe565b5b602082029050602081019050919050565b5f80fd5b5f6121b76121b284612176565b61215c565b905080838252602082019050602084028301858111156121da576121d96121a1565b5b835b8181101561220357806121ef8882611ea4565b8452602084019350506020810190506121dc565b5050509392505050565b5f82601f830112612221576122206120fa565b5b81356122318482602086016121a5565b91505092915050565b5f6020828403121561224f5761224e611e56565b5b5f82013567ffffffffffffffff81111561226c5761226b611e5a565b5b6122788482850161220d565b91505092915050565b5f806040838503121561229757612296611e56565b5b5f6122a485828601611ea4565b92505060206122b585828601611ea4565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061230357607f821691505b602082108103612316576123156122bf565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f496e76616c696420726f757465722061646472657373000000000000000000005f82015250565b5f61237d601683611dc7565b915061238882612349565b602082019050919050565b5f6020820190508181035f8301526123aa81612371565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6123e5601783611dc7565b91506123f0826123b1565b602082019050919050565b5f6020820190508181035f830152612412816123d9565b9050919050565b5f8151905061242781611e8e565b92915050565b5f6020828403121561244257612441611e56565b5b5f61244f84828501612419565b91505092915050565b5f60408201905061246b5f8301856120d2565b61247860208301846120d2565b9392505050565b5f819050919050565b5f6124a261249d6124988461247f565b611f5c565b611eb8565b9050919050565b6124b281612488565b82525050565b5f60c0820190506124cb5f8301896120d2565b6124d86020830188611fd0565b6124e560408301876124a9565b6124f260608301866124a9565b6124ff60808301856120d2565b61250c60a0830184611fd0565b979650505050505050565b5f8151905061252581611ec1565b92915050565b5f805f6060848603121561254257612541611e56565b5b5f61254f86828701612517565b935050602061256086828701612517565b925050604061257186828701612517565b9150509250925092565b5f60408201905061258e5f8301856120d2565b61259b6020830184611fd0565b9392505050565b6125ab81611f29565b81146125b5575f80fd5b50565b5f815190506125c6816125a2565b92915050565b5f602082840312156125e1576125e0611e56565b5b5f6125ee848285016125b8565b91505092915050565b5f60608201905061260a5f8301866120d2565b6126176020830185611fd0565b6126246040830184611fd0565b949350505050565b7f536f6d657468696e67206973206e6f7420616c6c6f77656400000000000000005f82015250565b5f612660601883611dc7565b915061266b8261262c565b602082019050919050565b5f6020820190508181035f83015261268d81612654565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126f882611eb8565b915061270383611eb8565b925082820190508082111561271b5761271a6126c1565b5b92915050565b5f61272b82611eb8565b915061273683611eb8565b925082820261274481611eb8565b9150828204841483151761275b5761275a6126c1565b5b5092915050565b5f61276c82611eb8565b915061277783611eb8565b92508261278757612786612694565b5b828204905092915050565b5f61279c82611eb8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127ce576127cd6126c1565b5b600182019050919050565b5f6127e382611eb8565b91506127ee83611eb8565b9250828203905081811115612806576128056126c1565b5b92915050565b5f60608201905061281f5f830186611fd0565b61282c6020830185611fd0565b6128396040830184611fd0565b949350505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61287381611e7d565b82525050565b5f612884838361286a565b60208301905092915050565b5f602082019050919050565b5f6128a682612841565b6128b0818561284b565b93506128bb8361285b565b805f5b838110156128eb5781516128d28882612879565b97506128dd83612890565b9250506001810190506128be565b5085935050505092915050565b5f60a08201905061290b5f830188611fd0565b61291860208301876124a9565b818103604083015261292a818661289c565b905061293960608301856120d2565b6129466080830184611fd0565b969550505050505056fea2646970667358221220384673bb25f3a5f7ae62909c62bcb0d66e2a2eaa7ecbace51184633c2953ec2464736f6c63430008190033

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

00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000054d5147bbad41f70661740000000000000000000000000000bf32d9c413e0ad1802f332f5ecebab157393d8cc0000000000000000000000000af325e1e103c2a7ea329c200872306c14e549ef00000000000000000000000000000000000000000000000000000000000000084b4154204d656d650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004244b415400000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): KAT Meme
Arg [1] : symbol_ (string): $KAT
Arg [2] : decimals_ (uint8): 18
Arg [3] : initialSupply_ (uint256): 420069420069000000000000000000
Arg [4] : devWallet_ (address): 0xbf32D9c413e0AD1802f332f5eceBAB157393d8Cc
Arg [5] : marketingWallet_ (address): 0x0af325e1e103c2a7Ea329c200872306c14e549Ef

-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 00000000000000000000000000000000000000054d5147bbad41f70661740000
Arg [4] : 000000000000000000000000bf32d9c413e0ad1802f332f5ecebab157393d8cc
Arg [5] : 0000000000000000000000000af325e1e103c2a7ea329c200872306c14e549ef
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [7] : 4b4154204d656d65000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [9] : 244b415400000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

5625:10728:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7362:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8261:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6157:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7663:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6400:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8484:283;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7564:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16213:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7770:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1284:103;;;;;;;;;;;;;:::i;:::-;;1015:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7461:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7896:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16019:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8086:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15102:909;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1395:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5857:40;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6119:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7362:91;7407:13;7440:5;7433:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7362:91;:::o;8261:215::-;8359:4;8376:13;8392:12;:10;:12::i;:::-;8376:28;;8415:31;8424:5;8431:7;8440:5;8415:8;:31::i;:::-;8464:4;8457:11;;;8261:215;;;;:::o;6157:41::-;;;;;;;;;;;;;:::o;7663:99::-;7715:7;7742:12;;7735:19;;7663:99;:::o;6400:31::-;;;;:::o;8484:283::-;8605:4;8622:15;8640:12;:10;:12::i;:::-;8622:30;;8663:37;8679:4;8685:7;8694:5;8663:15;:37::i;:::-;8711:26;8721:4;8727:2;8731:5;8711:9;:26::i;:::-;8755:4;8748:11;;;8484:283;;;;;:::o;7564:91::-;7613:5;7638:9;;;;;;;;;;;7631:16;;7564:91;:::o;16213:100::-;974:13;:11;:13::i;:::-;16300:5:::1;16284:13;:21;;;;16213:100:::0;:::o;7770:118::-;7835:7;7862:9;:18;7872:7;7862:18;;;;;;;;;;;;;;;;7855:25;;7770:118;;;:::o;1284:103::-;974:13;:11;:13::i;:::-;1349:30:::1;1376:1;1349:18;:30::i;:::-;1284:103::o:0;1015:87::-;1061:7;1088:6;;;;;;;;;;;1081:13;;1015:87;:::o;7461:95::-;7508:13;7541:7;7534:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7461:95;:::o;7896:182::-;7965:4;7982:13;7998:12;:10;:12::i;:::-;7982:28;;8021:27;8031:5;8038:2;8042:5;8021:9;:27::i;:::-;8066:4;8059:11;;;7896:182;;;;:::o;16019:186::-;974:13;:11;:13::i;:::-;16102:9:::1;16097:101;16121:8;:15;16117:1;:19;16097:101;;;16182:4;16158:8;:21;16167:8;16176:1;16167:11;;;;;;;;:::i;:::-;;;;;;;;16158:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;16138:3;;;;;;;16097:101;;;;16019:186:::0;:::o;8086:167::-;8191:7;8218:11;:18;8230:5;8218:18;;;;;;;;;;;;;;;:27;8237:7;8218:27;;;;;;;;;;;;;;;;8211:34;;8086:167;;;;:::o;15102:909::-;974:13;:11;:13::i;:::-;15214:1:::1;15186:30;;:16;:30;;::::0;15178:65:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15263:11;;;;;;;;;;;15262:12;15254:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;15352:16;15315:15;;:54;;;;;;;;;;;;;;;;;;15380:63;15397:4;15412:15;;;;;;;;;;;15430:12;;15380:8;:63::i;:::-;15490:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15472:55;;;15554:4;15578:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15472:143;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15456:13;;:159;;;;;;;;;;;;;;;;;;15626:15;;;;;;;;;;;:31;;;15665:21;15710:4;15730:24;15748:4;15730:9;:24::i;:::-;15769:1;15785::::0;15801:7:::1;:5;:7::i;:::-;15823:15;15626:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15867:13;;;;;;;;;;;15860:29;;;15898:15;;;;;;;;;;;15916:14;15860:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15970:4;15944:8;:23;15953:13;;;;;;;;;;;15944:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;15999:4;15985:11;;:18;;;;;;;;;;;;;;;;;;15102:909:::0;:::o;1395:220::-;974:13;:11;:13::i;:::-;1500:1:::1;1480:22;;:8;:22;;::::0;1476:93:::1;;1554:1;1526:31;;;;;;;;;;;:::i;:::-;;;;;;;;1476:93;1579:28;1598:8;1579:18;:28::i;:::-;1395:220:::0;:::o;5857:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;6119:31::-;;;;;;;;;;;;;:::o;96:98::-;149:7;176:10;169:17;;96:98;:::o;11872:130::-;11957:37;11966:5;11973:7;11982:5;11989:4;11957:8;:37::i;:::-;11872:130;;;:::o;12504:603::-;12638:24;12665:25;12675:5;12682:7;12665:9;:25::i;:::-;12638:52;;12725:17;12705:16;:37;12701:399;;12782:5;12763:16;:24;12759:214;;;12864:7;12894:16;12933:5;12815:142;;;;;;;;;;;;;:::i;:::-;;;;;;;;12759:214;13016:57;13025:5;13032:7;13060:5;13041:16;:24;13067:5;13016:8;:57::i;:::-;12701:399;12627:480;12504:603;;;:::o;8775:2259::-;8875:1;8859:18;;:4;:18;;;8855:88;;8928:1;8901:30;;;;;;;;;;;:::i;:::-;;;;;;;;8855:88;8971:1;8957:16;;:2;:16;;;8953:88;;9026:1;8997:32;;;;;;;;;;;:::i;:::-;;;;;;;;8953:88;9051:19;9073:9;:15;9083:4;9073:15;;;;;;;;;;;;;;;;9051:37;;9117:5;9103:11;:19;9099:109;;;9171:4;9177:11;9190:5;9146:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;9099:109;9220:15;9264:7;:5;:7::i;:::-;9256:15;;:4;:15;;;;:32;;;;;9281:7;:5;:7::i;:::-;9275:13;;:2;:13;;;;9256:32;:47;;;;;9292:11;;;;;;;;;;;9256:47;9252:1452;;;9351:13;;;;;;;;;;;9343:21;;:4;:21;;;:55;;;;;9382:15;;;;;;;;;;;9368:30;;:2;:30;;;;9343:55;9342:124;;;;9427:13;;;;;;;;;;;9421:19;;:2;:19;;;:44;;;;;9460:4;9444:21;;:4;:21;;;;9421:44;9342:124;9320:1373;;;9520:13;;9505:12;;:28;9501:126;;;9566:8;:12;9575:2;9566:12;;;;;;;;;;;;;;;;;;;;;;;;;9558:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9501:126;9788:3;6329;9737:5;:21;6278:3;9717:5;:15;9716:43;9715:76;;;;;:::i;:::-;;;9680:111;;9831:28;9862:24;9880:4;9862:9;:24::i;:::-;9831:55;;6384:7;9972:24;;:44;;;;:::i;:::-;9933:15;:83;:127;;;;;10047:13;;;;;;;;;;;10041:19;;:2;:19;;;9933:127;:169;;;;;10086:16;;;;;;;;;;;10085:17;9933:169;:218;;;;;10150:1;10127:20;:24;9933:218;9907:736;;;10194:13;6278:3;6329;10210:23;;;;:::i;:::-;10194:39;;10256:14;10281:20;10273:5;:28;:109;;10362:20;10273:109;;;10329:5;10273:109;10256:126;;10407:149;10475:5;6329:3;10449:6;:22;;;;:::i;:::-;10448:32;;;;:::i;:::-;10528:5;6278:3;10508:6;:16;;;;:::i;:::-;10507:26;;;;:::i;:::-;10407:14;:149::i;:::-;10608:15;10581:24;:42;;;;10171:472;;9907:736;10663:12;;:14;;;;;;;;;:::i;:::-;;;;;;9482:1211;9320:1373;9252:1452;10730:1;10720:7;:11;10716:137;;;10776:7;10748:9;:24;10766:4;10748:24;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;10826:4;10803:38;;10812:4;10803:38;;;10833:7;10803:38;;;;;;:::i;:::-;;;;;;;;10716:137;10922:5;10908:11;:19;10890:9;:15;10900:4;10890:15;;;;;;;;;;;;;;;:37;;;;10967:7;10959:5;:15;10942:9;:13;10952:2;10942:13;;;;;;;;;;;;;;;;:32;;;;;;;;;;;11016:2;11001:25;;11010:4;11001:25;;;11020:5;11001:25;;;;;;:::i;:::-;;;;;;;;8844:2190;;8775:2259;;;:::o;1110:166::-;1181:12;:10;:12::i;:::-;1170:23;;:7;:5;:7::i;:::-;:23;;;1166:103;;1244:12;:10;:12::i;:::-;1217:40;;;;;;;;;;;:::i;:::-;;;;;;;;1166:103;1110:166::o;1623:191::-;1697:16;1716:6;;;;;;;;;;;1697:25;;1742:8;1733:6;;:17;;;;;;;;;;;;;;;;;;1797:8;1766:40;;1787:8;1766:40;;;;;;;;;;;;1686:128;1623:191;:::o;12010:486::-;12183:1;12166:19;;:5;:19;;;12162:91;;12238:1;12209:32;;;;;;;;;;;:::i;:::-;;;;;;;;12162:91;12286:1;12267:21;;:7;:21;;;12263:92;;12340:1;12312:31;;;;;;;;;;;:::i;:::-;;;;;;;;12263:92;12395:5;12365:11;:18;12377:5;12365:18;;;;;;;;;;;;;;;:27;12384:7;12365:27;;;;;;;;;;;;;;;:35;;;;12415:9;12411:78;;;12462:7;12446:31;;12455:5;12446:31;;;12471:5;12446:31;;;;;;:::i;:::-;;;;;;;;12411:78;12010:486;;;;:::o;13115:666::-;6740:4;6721:16;;:23;;;;;;;;;;;;;;;;;;13242:13:::1;6278:3;13275:1;6329:3;13259:17;;;;:::i;:::-;13258:29;;;;:::i;:::-;13242:45;;13300:15;13337:1;13318:16;:20;;;;:::i;:::-;13300:38;;13349:20;13392:7;13372:16;:28;;;;:::i;:::-;13349:51;;13413:39;13440:11;13430:7;:21;;;;:::i;:::-;13413:16;:39::i;:::-;13465:18;13486:21;13465:42;;13518:14;13560:5;6278:3;13536:10;:20;;;;:::i;:::-;13535:30;;;;:::i;:::-;13518:47;;13576:20;13612:6;13599:10;:19;;;;:::i;:::-;13576:42;;13631:40;13644:12;13658;13631;:40::i;:::-;13684:20;13697:6;13684:12;:20::i;:::-;13722:51;13737:7;13746:12;13760;13722:51;;;;;;;;:::i;:::-;;;;;;;;13231:550;;;;;;6786:5:::0;6767:16;;:24;;;;;;;;;;;;;;;;;;13115:666;;:::o;13789:601::-;6740:4;6721:16;;:23;;;;;;;;;;;;;;;;;;13927:21:::1;13965:1;13951:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13927:40;;13996:4;13978;13983:1;13978:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;14022:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14012:4;14017:1;14012:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;14057:62;14074:4;14089:15;;;;;;;;;;;14107:11;14057:8;:62::i;:::-;14158:15;;;;;;;;;;;:66;;;14239:11;14265:1;14309:4;14336;14356:15;14158:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13856:534;6786:5:::0;6767:16;;:24;;;;;;;;;;;;;;;;;;13789:601;:::o;14398:513::-;14546:62;14563:4;14578:15;;;;;;;;;;;14596:11;14546:8;:62::i;:::-;14651:15;;;;;;;;;;;:31;;;14690:9;14723:4;14743:11;14769:1;14812;14855:7;:5;:7::i;:::-;14877:15;14651:252;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14398:513;;:::o;14919:175::-;14976:12;15000:1;14991:6;:10;;;;:::i;:::-;14976:25;;15012:15;;;;;;;;;;;:24;;:30;15037:4;15012:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15053:9;;;;;;;;;;;:18;;:33;15081:4;15072:6;:13;;;;:::i;:::-;15053:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14965:129;14919:175;:::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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:75::-;1275:6;1308:2;1302:9;1292:19;;1242:75;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:60::-;3367:3;3388:5;3381:12;;3339:60;;;:::o;3405:142::-;3455:9;3488:53;3506:34;3515:24;3533:5;3515:24;:::i;:::-;3506:34;:::i;:::-;3488:53;:::i;:::-;3475:66;;3405:142;;;:::o;3553:126::-;3603:9;3636:37;3667:5;3636:37;:::i;:::-;3623:50;;3553:126;;;:::o;3685:152::-;3761:9;3794:37;3825:5;3794:37;:::i;:::-;3781:50;;3685:152;;;:::o;3843:183::-;3956:63;4013:5;3956:63;:::i;:::-;3951:3;3944:76;3843:183;;:::o;4032:274::-;4151:4;4189:2;4178:9;4174:18;4166:26;;4202:97;4296:1;4285:9;4281:17;4272:6;4202:97;:::i;:::-;4032:274;;;;:::o;4312:118::-;4399:24;4417:5;4399:24;:::i;:::-;4394:3;4387:37;4312:118;;:::o;4436:222::-;4529:4;4567:2;4556:9;4552:18;4544:26;;4580:71;4648:1;4637:9;4633:17;4624:6;4580:71;:::i;:::-;4436:222;;;;:::o;4664:619::-;4741:6;4749;4757;4806:2;4794:9;4785:7;4781:23;4777:32;4774:119;;;4812:79;;:::i;:::-;4774:119;4932:1;4957:53;5002:7;4993:6;4982:9;4978:22;4957:53;:::i;:::-;4947:63;;4903:117;5059:2;5085:53;5130:7;5121:6;5110:9;5106:22;5085:53;:::i;:::-;5075:63;;5030:118;5187:2;5213:53;5258:7;5249:6;5238:9;5234:22;5213:53;:::i;:::-;5203:63;;5158:118;4664:619;;;;;:::o;5289:86::-;5324:7;5364:4;5357:5;5353:16;5342:27;;5289:86;;;:::o;5381:112::-;5464:22;5480:5;5464:22;:::i;:::-;5459:3;5452:35;5381:112;;:::o;5499:214::-;5588:4;5626:2;5615:9;5611:18;5603:26;;5639:67;5703:1;5692:9;5688:17;5679:6;5639:67;:::i;:::-;5499:214;;;;:::o;5719:329::-;5778:6;5827:2;5815:9;5806:7;5802:23;5798:32;5795:119;;;5833:79;;:::i;:::-;5795:119;5953:1;5978:53;6023:7;6014:6;6003:9;5999:22;5978:53;:::i;:::-;5968:63;;5924:117;5719:329;;;;:::o;6054:::-;6113:6;6162:2;6150:9;6141:7;6137:23;6133:32;6130:119;;;6168:79;;:::i;:::-;6130:119;6288:1;6313:53;6358:7;6349:6;6338:9;6334:22;6313:53;:::i;:::-;6303:63;;6259:117;6054:329;;;;:::o;6389:118::-;6476:24;6494:5;6476:24;:::i;:::-;6471:3;6464:37;6389:118;;:::o;6513:222::-;6606:4;6644:2;6633:9;6629:18;6621:26;;6657:71;6725:1;6714:9;6710:17;6701:6;6657:71;:::i;:::-;6513:222;;;;:::o;6741:117::-;6850:1;6847;6840:12;6864:180;6912:77;6909:1;6902:88;7009:4;7006:1;6999:15;7033:4;7030:1;7023:15;7050:281;7133:27;7155:4;7133:27;:::i;:::-;7125:6;7121:40;7263:6;7251:10;7248:22;7227:18;7215:10;7212:34;7209:62;7206:88;;;7274:18;;:::i;:::-;7206:88;7314:10;7310:2;7303:22;7093:238;7050:281;;:::o;7337:129::-;7371:6;7398:20;;:::i;:::-;7388:30;;7427:33;7455:4;7447:6;7427:33;:::i;:::-;7337:129;;;:::o;7472:311::-;7549:4;7639:18;7631:6;7628:30;7625:56;;;7661:18;;:::i;:::-;7625:56;7711:4;7703:6;7699:17;7691:25;;7771:4;7765;7761:15;7753:23;;7472:311;;;:::o;7789:117::-;7898:1;7895;7888:12;7929:710;8025:5;8050:81;8066:64;8123:6;8066:64;:::i;:::-;8050:81;:::i;:::-;8041:90;;8151:5;8180:6;8173:5;8166:21;8214:4;8207:5;8203:16;8196:23;;8267:4;8259:6;8255:17;8247:6;8243:30;8296:3;8288:6;8285:15;8282:122;;;8315:79;;:::i;:::-;8282:122;8430:6;8413:220;8447:6;8442:3;8439:15;8413:220;;;8522:3;8551:37;8584:3;8572:10;8551:37;:::i;:::-;8546:3;8539:50;8618:4;8613:3;8609:14;8602:21;;8489:144;8473:4;8468:3;8464:14;8457:21;;8413:220;;;8417:21;8031:608;;7929:710;;;;;:::o;8662:370::-;8733:5;8782:3;8775:4;8767:6;8763:17;8759:27;8749:122;;8790:79;;:::i;:::-;8749:122;8907:6;8894:20;8932:94;9022:3;9014:6;9007:4;8999:6;8995:17;8932:94;:::i;:::-;8923:103;;8739:293;8662:370;;;;:::o;9038:539::-;9122:6;9171:2;9159:9;9150:7;9146:23;9142:32;9139:119;;;9177:79;;:::i;:::-;9139:119;9325:1;9314:9;9310:17;9297:31;9355:18;9347:6;9344:30;9341:117;;;9377:79;;:::i;:::-;9341:117;9482:78;9552:7;9543:6;9532:9;9528:22;9482:78;:::i;:::-;9472:88;;9268:302;9038:539;;;;:::o;9583:474::-;9651:6;9659;9708:2;9696:9;9687:7;9683:23;9679:32;9676:119;;;9714:79;;:::i;:::-;9676:119;9834:1;9859:53;9904:7;9895:6;9884:9;9880:22;9859:53;:::i;:::-;9849:63;;9805:117;9961:2;9987:53;10032:7;10023:6;10012:9;10008:22;9987:53;:::i;:::-;9977:63;;9932:118;9583:474;;;;;:::o;10063:180::-;10111:77;10108:1;10101:88;10208:4;10205:1;10198:15;10232:4;10229:1;10222:15;10249:320;10293:6;10330:1;10324:4;10320:12;10310:22;;10377:1;10371:4;10367:12;10398:18;10388:81;;10454:4;10446:6;10442:17;10432:27;;10388:81;10516:2;10508:6;10505:14;10485:18;10482:38;10479:84;;10535:18;;:::i;:::-;10479:84;10300:269;10249:320;;;:::o;10575:180::-;10623:77;10620:1;10613:88;10720:4;10717:1;10710:15;10744:4;10741:1;10734:15;10761:172;10901:24;10897:1;10889:6;10885:14;10878:48;10761:172;:::o;10939:366::-;11081:3;11102:67;11166:2;11161:3;11102:67;:::i;:::-;11095:74;;11178:93;11267:3;11178:93;:::i;:::-;11296:2;11291:3;11287:12;11280:19;;10939:366;;;:::o;11311:419::-;11477:4;11515:2;11504:9;11500:18;11492:26;;11564:9;11558:4;11554:20;11550:1;11539:9;11535:17;11528:47;11592:131;11718:4;11592:131;:::i;:::-;11584:139;;11311:419;;;:::o;11736:173::-;11876:25;11872:1;11864:6;11860:14;11853:49;11736:173;:::o;11915:366::-;12057:3;12078:67;12142:2;12137:3;12078:67;:::i;:::-;12071:74;;12154:93;12243:3;12154:93;:::i;:::-;12272:2;12267:3;12263:12;12256:19;;11915:366;;;:::o;12287:419::-;12453:4;12491:2;12480:9;12476:18;12468:26;;12540:9;12534:4;12530:20;12526:1;12515:9;12511:17;12504:47;12568:131;12694:4;12568:131;:::i;:::-;12560:139;;12287:419;;;:::o;12712:143::-;12769:5;12800:6;12794:13;12785:22;;12816:33;12843:5;12816:33;:::i;:::-;12712:143;;;;:::o;12861:351::-;12931:6;12980:2;12968:9;12959:7;12955:23;12951:32;12948:119;;;12986:79;;:::i;:::-;12948:119;13106:1;13131:64;13187:7;13178:6;13167:9;13163:22;13131:64;:::i;:::-;13121:74;;13077:128;12861:351;;;;:::o;13218:332::-;13339:4;13377:2;13366:9;13362:18;13354:26;;13390:71;13458:1;13447:9;13443:17;13434:6;13390:71;:::i;:::-;13471:72;13539:2;13528:9;13524:18;13515:6;13471:72;:::i;:::-;13218:332;;;;;:::o;13556:85::-;13601:7;13630:5;13619:16;;13556:85;;;:::o;13647:158::-;13705:9;13738:61;13756:42;13765:32;13791:5;13765:32;:::i;:::-;13756:42;:::i;:::-;13738:61;:::i;:::-;13725:74;;13647:158;;;:::o;13811:147::-;13906:45;13945:5;13906:45;:::i;:::-;13901:3;13894:58;13811:147;;:::o;13964:807::-;14213:4;14251:3;14240:9;14236:19;14228:27;;14265:71;14333:1;14322:9;14318:17;14309:6;14265:71;:::i;:::-;14346:72;14414:2;14403:9;14399:18;14390:6;14346:72;:::i;:::-;14428:80;14504:2;14493:9;14489:18;14480:6;14428:80;:::i;:::-;14518;14594:2;14583:9;14579:18;14570:6;14518:80;:::i;:::-;14608:73;14676:3;14665:9;14661:19;14652:6;14608:73;:::i;:::-;14691;14759:3;14748:9;14744:19;14735:6;14691:73;:::i;:::-;13964:807;;;;;;;;;:::o;14777:143::-;14834:5;14865:6;14859:13;14850:22;;14881:33;14908:5;14881:33;:::i;:::-;14777:143;;;;:::o;14926:663::-;15014:6;15022;15030;15079:2;15067:9;15058:7;15054:23;15050:32;15047:119;;;15085:79;;:::i;:::-;15047:119;15205:1;15230:64;15286:7;15277:6;15266:9;15262:22;15230:64;:::i;:::-;15220:74;;15176:128;15343:2;15369:64;15425:7;15416:6;15405:9;15401:22;15369:64;:::i;:::-;15359:74;;15314:129;15482:2;15508:64;15564:7;15555:6;15544:9;15540:22;15508:64;:::i;:::-;15498:74;;15453:129;14926:663;;;;;:::o;15595:332::-;15716:4;15754:2;15743:9;15739:18;15731:26;;15767:71;15835:1;15824:9;15820:17;15811:6;15767:71;:::i;:::-;15848:72;15916:2;15905:9;15901:18;15892:6;15848:72;:::i;:::-;15595:332;;;;;:::o;15933:116::-;16003:21;16018:5;16003:21;:::i;:::-;15996:5;15993:32;15983:60;;16039:1;16036;16029:12;15983:60;15933:116;:::o;16055:137::-;16109:5;16140:6;16134:13;16125:22;;16156:30;16180:5;16156:30;:::i;:::-;16055:137;;;;:::o;16198:345::-;16265:6;16314:2;16302:9;16293:7;16289:23;16285:32;16282:119;;;16320:79;;:::i;:::-;16282:119;16440:1;16465:61;16518:7;16509:6;16498:9;16494:22;16465:61;:::i;:::-;16455:71;;16411:125;16198:345;;;;:::o;16549:442::-;16698:4;16736:2;16725:9;16721:18;16713:26;;16749:71;16817:1;16806:9;16802:17;16793:6;16749:71;:::i;:::-;16830:72;16898:2;16887:9;16883:18;16874:6;16830:72;:::i;:::-;16912;16980:2;16969:9;16965:18;16956:6;16912:72;:::i;:::-;16549:442;;;;;;:::o;16997:174::-;17137:26;17133:1;17125:6;17121:14;17114:50;16997:174;:::o;17177:366::-;17319:3;17340:67;17404:2;17399:3;17340:67;:::i;:::-;17333:74;;17416:93;17505:3;17416:93;:::i;:::-;17534:2;17529:3;17525:12;17518:19;;17177:366;;;:::o;17549:419::-;17715:4;17753:2;17742:9;17738:18;17730:26;;17802:9;17796:4;17792:20;17788:1;17777:9;17773:17;17766:47;17830:131;17956:4;17830:131;:::i;:::-;17822:139;;17549:419;;;:::o;17974:180::-;18022:77;18019:1;18012:88;18119:4;18116:1;18109:15;18143:4;18140:1;18133:15;18160:180;18208:77;18205:1;18198:88;18305:4;18302:1;18295:15;18329:4;18326:1;18319:15;18346:191;18386:3;18405:20;18423:1;18405:20;:::i;:::-;18400:25;;18439:20;18457:1;18439:20;:::i;:::-;18434:25;;18482:1;18479;18475:9;18468:16;;18503:3;18500:1;18497:10;18494:36;;;18510:18;;:::i;:::-;18494:36;18346:191;;;;:::o;18543:410::-;18583:7;18606:20;18624:1;18606:20;:::i;:::-;18601:25;;18640:20;18658:1;18640:20;:::i;:::-;18635:25;;18695:1;18692;18688:9;18717:30;18735:11;18717:30;:::i;:::-;18706:41;;18896:1;18887:7;18883:15;18880:1;18877:22;18857:1;18850:9;18830:83;18807:139;;18926:18;;:::i;:::-;18807:139;18591:362;18543:410;;;;:::o;18959:185::-;18999:1;19016:20;19034:1;19016:20;:::i;:::-;19011:25;;19050:20;19068:1;19050:20;:::i;:::-;19045:25;;19089:1;19079:35;;19094:18;;:::i;:::-;19079:35;19136:1;19133;19129:9;19124:14;;18959:185;;;;:::o;19150:233::-;19189:3;19212:24;19230:5;19212:24;:::i;:::-;19203:33;;19258:66;19251:5;19248:77;19245:103;;19328:18;;:::i;:::-;19245:103;19375:1;19368:5;19364:13;19357:20;;19150:233;;;:::o;19389:194::-;19429:4;19449:20;19467:1;19449:20;:::i;:::-;19444:25;;19483:20;19501:1;19483:20;:::i;:::-;19478:25;;19527:1;19524;19520:9;19512:17;;19551:1;19545:4;19542:11;19539:37;;;19556:18;;:::i;:::-;19539:37;19389:194;;;;:::o;19589:442::-;19738:4;19776:2;19765:9;19761:18;19753:26;;19789:71;19857:1;19846:9;19842:17;19833:6;19789:71;:::i;:::-;19870:72;19938:2;19927:9;19923:18;19914:6;19870:72;:::i;:::-;19952;20020:2;20009:9;20005:18;19996:6;19952:72;:::i;:::-;19589:442;;;;;;:::o;20037:114::-;20104:6;20138:5;20132:12;20122:22;;20037:114;;;:::o;20157:184::-;20256:11;20290:6;20285:3;20278:19;20330:4;20325:3;20321:14;20306:29;;20157:184;;;;:::o;20347:132::-;20414:4;20437:3;20429:11;;20467:4;20462:3;20458:14;20450:22;;20347:132;;;:::o;20485:108::-;20562:24;20580:5;20562:24;:::i;:::-;20557:3;20550:37;20485:108;;:::o;20599:179::-;20668:10;20689:46;20731:3;20723:6;20689:46;:::i;:::-;20767:4;20762:3;20758:14;20744:28;;20599:179;;;;:::o;20784:113::-;20854:4;20886;20881:3;20877:14;20869:22;;20784:113;;;:::o;20933:732::-;21052:3;21081:54;21129:5;21081:54;:::i;:::-;21151:86;21230:6;21225:3;21151:86;:::i;:::-;21144:93;;21261:56;21311:5;21261:56;:::i;:::-;21340:7;21371:1;21356:284;21381:6;21378:1;21375:13;21356:284;;;21457:6;21451:13;21484:63;21543:3;21528:13;21484:63;:::i;:::-;21477:70;;21570:60;21623:6;21570:60;:::i;:::-;21560:70;;21416:224;21403:1;21400;21396:9;21391:14;;21356:284;;;21360:14;21656:3;21649:10;;21057:608;;;20933:732;;;;:::o;21671:831::-;21934:4;21972:3;21961:9;21957:19;21949:27;;21986:71;22054:1;22043:9;22039:17;22030:6;21986:71;:::i;:::-;22067:80;22143:2;22132:9;22128:18;22119:6;22067:80;:::i;:::-;22194:9;22188:4;22184:20;22179:2;22168:9;22164:18;22157:48;22222:108;22325:4;22316:6;22222:108;:::i;:::-;22214:116;;22340:72;22408:2;22397:9;22393:18;22384:6;22340:72;:::i;:::-;22422:73;22490:3;22479:9;22475:19;22466:6;22422:73;:::i;:::-;21671:831;;;;;;;;:::o

Swarm Source

ipfs://384673bb25f3a5f7ae62909c62bcb0d66e2a2eaa7ecbace51184633c2953ec24

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.