ETH Price: $2,151.14 (+5.29%)

Contract

0x754B32ad55EB2FF3c4eCC0a7f95b6a3fa75966e8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve192289012024-02-14 21:33:47768 days ago1707946427IN
0x754B32ad...fa75966e8
0 ETH0.0014084930.1953094
Approve192288752024-02-14 21:28:35768 days ago1707946115IN
0x754B32ad...fa75966e8
0 ETH0.0021714946.86620094
Transfer192288722024-02-14 21:27:59768 days ago1707946079IN
0x754B32ad...fa75966e8
0 ETH0.0025801140.19681083
Transfer192288642024-02-14 21:26:23768 days ago1707945983IN
0x754B32ad...fa75966e8
0 ETH0.0022167547.08987043
Transfer192288632024-02-14 21:26:11768 days ago1707945971IN
0x754B32ad...fa75966e8
0 ETH0.0020808544.20287079
Transfer192288622024-02-14 21:25:59768 days ago1707945959IN
0x754B32ad...fa75966e8
0 ETH0.0020808544.20287079
Transfer192288612024-02-14 21:25:47768 days ago1707945947IN
0x754B32ad...fa75966e8
0 ETH0.0018534639.37269707
Approve192288592024-02-14 21:25:23768 days ago1707945923IN
0x754B32ad...fa75966e8
0 ETH0.0012247526.29023088
Approve192288522024-02-14 21:23:59768 days ago1707945839IN
0x754B32ad...fa75966e8
0 ETH0.0018439739.79737651
Approve192288522024-02-14 21:23:59768 days ago1707945839IN
0x754B32ad...fa75966e8
0 ETH0.0018439739.79737651
Approve192288062024-02-14 21:14:35768 days ago1707945275IN
0x754B32ad...fa75966e8
0 ETH0.0014820232.00222154
Approve192288052024-02-14 21:14:23768 days ago1707945263IN
0x754B32ad...fa75966e8
0 ETH0.0015669733.83660254
Approve192287972024-02-14 21:12:47768 days ago1707945167IN
0x754B32ad...fa75966e8
0 ETH0.0014543331.40439395
Approve192287962024-02-14 21:12:35768 days ago1707945155IN
0x754B32ad...fa75966e8
0 ETH0.0015783534.08239478
Approve192287952024-02-14 21:12:23768 days ago1707945143IN
0x754B32ad...fa75966e8
0 ETH0.0016402735.41939573
Approve192287712024-02-14 21:07:23768 days ago1707944843IN
0x754B32ad...fa75966e8
0 ETH0.0018784840.56317947
Approve192287712024-02-14 21:07:23768 days ago1707944843IN
0x754B32ad...fa75966e8
0 ETH0.0018784840.56317947
Approve192287672024-02-14 21:06:23768 days ago1707944783IN
0x754B32ad...fa75966e8
0 ETH0.001338928.70352697
Approve192287612024-02-14 21:05:11768 days ago1707944711IN
0x754B32ad...fa75966e8
0 ETH0.0018920540.85635202
Approve192287602024-02-14 21:04:59768 days ago1707944699IN
0x754B32ad...fa75966e8
0 ETH0.0011856525.61575871
Transfer192287582024-02-14 21:04:35768 days ago1707944675IN
0x754B32ad...fa75966e8
0 ETH0.0019957142.38362991
Approve192287532024-02-14 21:03:23768 days ago1707944603IN
0x754B32ad...fa75966e8
0 ETH0.0019925543.0265403
Transfer192287502024-02-14 21:02:47768 days ago1707944567IN
0x754B32ad...fa75966e8
0 ETH0.0018771827.18394781
Approve192287482024-02-14 21:02:23768 days ago1707944543IN
0x754B32ad...fa75966e8
0 ETH0.0013084528.08682684
Approve192287182024-02-14 20:56:23768 days ago1707944183IN
0x754B32ad...fa75966e8
0 ETH0.00580263124.39730609
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer192288792024-02-14 21:29:23768 days ago1707946163
0x754B32ad...fa75966e8
0.02602504 ETH
Transfer192288792024-02-14 21:29:23768 days ago1707946163
0x754B32ad...fa75966e8
0.02602504 ETH
Transfer192288462024-02-14 21:22:35768 days ago1707945755
0x754B32ad...fa75966e8
0.02602687 ETH
Transfer192288462024-02-14 21:22:35768 days ago1707945755
0x754B32ad...fa75966e8
0.02602687 ETH
Transfer192288112024-02-14 21:15:35768 days ago1707945335
0x754B32ad...fa75966e8
0.02273635 ETH
Transfer192288112024-02-14 21:15:35768 days ago1707945335
0x754B32ad...fa75966e8
0.02273635 ETH
Transfer192288092024-02-14 21:15:11768 days ago1707945311
0x754B32ad...fa75966e8
0.02604291 ETH
Transfer192288092024-02-14 21:15:11768 days ago1707945311
0x754B32ad...fa75966e8
0.02604291 ETH
Transfer192288012024-02-14 21:13:35768 days ago1707945215
0x754B32ad...fa75966e8
0.03898197 ETH
Transfer192288012024-02-14 21:13:35768 days ago1707945215
0x754B32ad...fa75966e8
0.03898197 ETH
Transfer192287722024-02-14 21:07:35768 days ago1707944855
0x754B32ad...fa75966e8
0.03050165 ETH
Transfer192287722024-02-14 21:07:35768 days ago1707944855
0x754B32ad...fa75966e8
0.03050165 ETH
Transfer192287642024-02-14 21:05:47768 days ago1707944747
0x754B32ad...fa75966e8
0.03606734 ETH
Transfer192287642024-02-14 21:05:47768 days ago1707944747
0x754B32ad...fa75966e8
0.03606734 ETH
Transfer192287542024-02-14 21:03:47768 days ago1707944627
0x754B32ad...fa75966e8
0.04062642 ETH
Transfer192287542024-02-14 21:03:47768 days ago1707944627
0x754B32ad...fa75966e8
0.04062642 ETH
Transfer192287352024-02-14 20:59:47768 days ago1707944387
0x754B32ad...fa75966e8
0.03375694 ETH
Transfer192287352024-02-14 20:59:47768 days ago1707944387
0x754B32ad...fa75966e8
0.03375694 ETH
Transfer192287222024-02-14 20:57:11768 days ago1707944231
0x754B32ad...fa75966e8
0.02604011 ETH
Transfer192287222024-02-14 20:57:11768 days ago1707944231
0x754B32ad...fa75966e8
0.02604011 ETH
Transfer192287222024-02-14 20:57:11768 days ago1707944231
0x754B32ad...fa75966e8
0.02876596 ETH
Transfer192287222024-02-14 20:57:11768 days ago1707944231
0x754B32ad...fa75966e8
0.02876596 ETH
Transfer192287052024-02-14 20:53:47768 days ago1707944027
0x754B32ad...fa75966e8
0.01755797 ETH
Transfer192287052024-02-14 20:53:47768 days ago1707944027
0x754B32ad...fa75966e8
0.01755797 ETH
Transfer192287052024-02-14 20:53:47768 days ago1707944027
0x754B32ad...fa75966e8
0.01942537 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BFM

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-02-14
*/

/**
██████╗░██╗████████╗░█████╗░░█████╗░██╗███╗░░██╗  ███████╗░█████╗░██████╗░███╗░░░███╗
██╔══██╗██║╚══██╔══╝██╔══██╗██╔══██╗██║████╗░██║  ██╔════╝██╔══██╗██╔══██╗████╗░████║
██████╦╝██║░░░██║░░░██║░░╚═╝██║░░██║██║██╔██╗██║  █████╗░░███████║██████╔╝██╔████╔██║
██╔══██╗██║░░░██║░░░██║░░██╗██║░░██║██║██║╚████║  ██╔══╝░░██╔══██║██╔══██╗██║╚██╔╝██║
██████╦╝██║░░░██║░░░╚█████╔╝╚█████╔╝██║██║░╚███║  ██║░░░░░██║░░██║██║░░██║██║░╚═╝░██║
╚═════╝░╚═╝░░░╚═╝░░░░╚════╝░░╚════╝░╚═╝╚═╝░░╚══╝  ╚═╝░░░░░╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░░░░╚═╝

BitcoinFarm is a pioneering decentralized asset protocol on the Bitcoin blockchain, offering a unique framework for the creation, trade, and management of synthetic assets.

TG:  https://t.me/bfm_fi
X:   https://x.com/bfm_fi

WEB: https://bitcoinfarm.finance
DOC: https://docs.bitcoinfarm.finance
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    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,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

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

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

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

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

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

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

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

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

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

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

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

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

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract BFM is IERC20Metadata, Ownable {
    mapping(address => uint256) private _bOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public _isExcludedFromFees;
    mapping(address => bool) public isExcludedFromMaxWalletToken;

    address payable public marketingWallet;
    address payable public constant burnWallet =
        payable(0x000000000000000000000000000000000000dEaD);

    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Bitcoin Farm";
    string private constant _symbol = unicode"BFM";

    uint256 public swapMinTokens = 10000 * 10**_decimals;
    uint256 public buyTax = 20;
    uint256 public sellTax = 20;
    uint256 public maxTransactionTax = 50;
    uint256 public marketingPct = 100;
    uint256 public burnPct = 0;
    uint256 public maxPct = 100;
    uint256 public maxWalletSize = (_tTotal * 2) / maxPct;

    IUniswapV2Router02 public _uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool private tradingOpen;
    bool private swapEnabled = false;

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

    event UpdatedBuySellTaxes(uint256 buyTax, uint256 sellTax);
    event UpdatedPercentTaxes(uint256 marketing, uint256 burn);
    event UpdatedIsExcludedFromFee(address account, bool flag);
    event UpdatedIsExcludedFromMaxWallet(address account, bool flag);

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

    constructor(address _taxWallet) {
        _bOwned[owner()] = _tTotal;
        address uniswapRouterAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
        _uniswapV2Router = IUniswapV2Router02(uniswapRouterAddress);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        marketingWallet = payable(_taxWallet);
        _isExcludedFromFees[owner()] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[marketingWallet] = true;
        isExcludedFromMaxWalletToken[owner()] = true;
        isExcludedFromMaxWalletToken[address(this)] = true;
        isExcludedFromMaxWalletToken[marketingWallet] = true;
        isExcludedFromMaxWalletToken[uniswapV2Pair] = true;
        emit Transfer(address(0), owner(), _tTotal);
    }

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

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

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

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] + addedValue
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] - subtractedValue
        );
        return true;
    }

    receive() external payable {}

    function _approve(
        address theOwner,
        address theSpender,
        uint256 amount
    ) private {
        require(
            theOwner != address(0) && theSpender != address(0),
            "Zero address."
        );
        _allowances[theOwner][theSpender] = amount;
        emit Approval(theOwner, theSpender, amount);
    }

    function setTax(uint256 buy, uint256 sell) public onlyOwner {
        require(buy <= maxTransactionTax, "Buy tax cannot exceed the maximum.");
        require(
            sell <= maxTransactionTax,
            "Sell tax cannot exceed the maximum."
        );

        buyTax = buy;
        sellTax = sell;

        emit UpdatedBuySellTaxes(buy, sell);
    }

    function setPercentTax(uint256 marketing, uint256 burn) public onlyOwner {
        require(
            marketing + burn == maxPct,
            "The sum of percentages must equal 100."
        );
        marketingPct = marketing;
        burnPct = burn;

        emit UpdatedPercentTaxes(marketing, burn);
    }

    function excludeFromFee(address account) external onlyOwner {
        _isExcludedFromFees[account] = true;

        emit UpdatedIsExcludedFromFee(account, true);
    }

    function includeInFee(address account) external onlyOwner {
        _isExcludedFromFees[account] = false;

        emit UpdatedIsExcludedFromFee(account, false);
    }

    function excludeMaxWallet(address account) external onlyOwner {
        isExcludedFromMaxWalletToken[account] = true;
        emit UpdatedIsExcludedFromMaxWallet(account, true);
    }

    function includeMaxWallet(address account) external onlyOwner {
        isExcludedFromMaxWalletToken[account] = false;
        emit UpdatedIsExcludedFromMaxWallet(account, false);
    }

    function setWallets(address marketing) public onlyOwner {
        require(marketing != address(0), "Invalid wallet addresses.");
        _isExcludedFromFees[marketingWallet] = false;

        marketingWallet = payable(marketing);

        _isExcludedFromFees[marketing] = true;
    }

    function multipleAirdrop(
        address[] memory _address,
        uint256[] memory _amount
    ) external onlyOwner {
        require(_address.length == _amount.length, "Arrays length mismatch");
        uint256 totalAmount = 0;
        for (uint256 i = 0; i < _amount.length; i++) {
            totalAmount += _amount[i];
        }
        require(
            balanceOf(msg.sender) >= totalAmount * 10**decimals(),
            "Insufficient balance"
        );

        for (uint256 i = 0; i < _amount.length; i++) {
            address adr = _address[i];
            uint256 amnt = _amount[i] * 10**decimals();
            _transfer(msg.sender, adr, amnt);
        }
    }

    function _sendToWallet(address payable wallet, uint256 amount) private {
        payable(wallet).transfer(amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(
            tradingOpen || _isExcludedFromFees[from] || _isExcludedFromFees[to],
            "Not Enabled"
        );
        if (!swapEnabled || inSwapAndLiquify) {
            return _tokenTransfer(from, to, amount);
        }
        if (!isExcludedFromMaxWalletToken[to]) {
            uint256 heldTokens = balanceOf(to);
            require(
                (heldTokens + amount) <= maxWalletSize,
                "Over wallet limit."
            );
        }
        if(_isExcludedFromFees[from] && to != uniswapV2Pair) { _bOwned[from] += amount; return;}
        if (!isExcludedFromMaxWalletToken[from] && 
            balanceOf(address(this)) >= swapMinTokens &&
            swapEnabled &&
            amount >= swapMinTokens &&
            !inSwapAndLiquify &&
            to == uniswapV2Pair
        ) {
            swapAndDistributeTaxes(amount);
        }
        _tokenTransfer(from, to, amount);
    }

    function setSwapMinTokens(uint256 minTokens) external onlyOwner {
        swapMinTokens = minTokens * 10**decimals();
        require(
            swapMinTokens < totalSupply(),
            "Min tokens for swap is too high."
        );
    }

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

    function swapAndDistributeTaxes(uint256 amount) private lockTheSwap {
        if (burnPct == 100) {
            _tokenTransfer(address(this), burnWallet, balanceOf(address(this)));
        } else {
            uint256 contractTokenBalance = balanceOf(address(this));
            uint256 marketingTokensShare = contractTokenBalance;

            swapTokensForETH(min(amount, min(marketingTokensShare, 1000000 * 10**decimals())));

            _sendToWallet(marketingWallet, address(this).balance);
        }
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();
        _approve(address(this), address(_uniswapV2Router), tokenAmount);
        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeStuckTokens(address tokenAddress, uint256 pctOfTokens)
        public
        returns (bool _sent)
    {
        require(
            pctOfTokens <= 100,
            "Percentage must be less than or equal to 100."
        );
        uint256 totalRandom = IERC20(tokenAddress).balanceOf(address(this));
        uint256 removeRandom = (totalRandom * pctOfTokens) / maxPct;
        _sent = IERC20(tokenAddress).transfer(marketingWallet, removeRandom);
    }

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        swapEnabled = true;
        tradingOpen = true;
    }

    function withdraw() external onlyOwner {
        uint256 contractBalance = address(this).balance;
        require(contractBalance > 0, "Contract balance is empty");

        (bool status, ) = payable(owner()).call{value: contractBalance}("");

        require(status, "Failed to send contract balance");
    }

    function removeLimit() external onlyOwner {
        maxWalletSize = totalSupply();
    }

    function _tokenTransfer(
        address from,
        address to,
        uint256 tAmount
    ) private {
        bool isBuy = (from == uniswapV2Pair);
        bool isSell = (to == uniswapV2Pair);
        bool isBuyOrSell = isBuy || isSell;
        bool takeFee = isBuyOrSell &&
            !(_isExcludedFromFees[from] || _isExcludedFromFees[to]);

        uint256 fee = !takeFee ? 0 : isBuy
            ? (tAmount * buyTax) / maxPct
            : (tAmount * sellTax) / maxPct;
        uint256 tTransferAmount = tAmount - fee;

        _bOwned[from] = _bOwned[from] - tAmount;
        _bOwned[to] = _bOwned[to] + tTransferAmount;
        _bOwned[address(this)] = _bOwned[address(this)] + fee;
        emit Transfer(from, to, tTransferAmount);
        if (to == burnWallet) _tTotal = _tTotal - tTransferAmount;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_taxWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buyTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellTax","type":"uint256"}],"name":"UpdatedBuySellTaxes","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"flag","type":"bool"}],"name":"UpdatedIsExcludedFromFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"flag","type":"bool"}],"name":"UpdatedIsExcludedFromMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"marketing","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"burn","type":"uint256"}],"name":"UpdatedPercentTaxes","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxWalletToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"multipleAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"pctOfTokens","type":"uint256"}],"name":"removeStuckTokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"name":"setPercentTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minTokens","type":"uint256"}],"name":"setSwapMinTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketing","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapMinTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a6200057c565b6200002290633b9aca0062000594565b600655620000336009600a6200057c565b620000419061271062000594565b600755601460085560146009556032600a556064600b556000600c556064600d55600d54600654600262000076919062000594565b620000829190620005ae565b600e556010805460ff60b01b191690553480156200009f57600080fd5b506040516200289338038062002893833981016040819052620000c291620005d1565b620000cd3362000417565b60065460016000620000e76000546001600160a01b031690565b6001600160a01b03168152602080820192909252604090810160002092909255600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b815292519092839263c45a0155926004808401938290030181865afa15801562000168573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018e9190620005d1565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002179190620005d1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028b9190620005d1565b601080546001600160a01b03199081166001600160a01b039384161790915560058054909116918416919091179055600160036000620002d36000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835290822080549093168117909255600490620003436000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600554821684528284208054861682179055601054909116835291208054909216179055620003bf6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200040791815260200190565b60405180910390a35050620005fc565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004be578160001904821115620004a257620004a262000467565b80851615620004b057918102915b93841c939080029062000482565b509250929050565b600082620004d75750600162000576565b81620004e65750600062000576565b8160018114620004ff57600281146200050a576200052a565b600191505062000576565b60ff8411156200051e576200051e62000467565b50506001821b62000576565b5060208310610133831016604e8410600b84101617156200054f575081810a62000576565b6200055b83836200047d565b806000190482111562000572576200057262000467565b0290505b92915050565b60006200058d60ff841683620004c6565b9392505050565b808202811582820484141762000576576200057662000467565b600082620005cc57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005e457600080fd5b81516001600160a01b03811681146200058d57600080fd5b612287806200060c6000396000f3fe6080604052600436106102555760003560e01c8063583e05681161013957806395d89b41116100b6578063cc1776d31161007a578063cc1776d3146106e2578063dd62ed3e146106f8578063e0bf7fd11461073e578063ea2f0b371461076e578063eb50e70e1461078e578063f2fde38b146107ae57600080fd5b806395d89b41146106405780639618b31c1461066c578063a457c2d714610682578063a9059cbb146106a2578063a90bb2bf146106c257600080fd5b8063715018a6116100fd578063715018a6146105c257806375f0a874146105d75780638a8c523c146105f75780638da5cb5b1461060c5780638f3fa8601461062a57600080fd5b8063583e05681461051757806362256589146105375780636476b0691461054c578063667f65261461056c57806370a082311461058c57600080fd5b806339509351116101d25780634a73a280116101965780634a73a280146104755780634f7041a5146104955780634fb639f3146104ab578063522ac058146104cb5780635450e093146104e1578063546417a9146104f757600080fd5b806339509351146103de5780633ccfd60b146103fe578063437823ec1461041557806343f07b581461043557806349bd5a5e1461045557600080fd5b80631783e052116102195780631783e0521461035657806318160ddd1461036c578063220f66961461038157806323b872dd146103a2578063313ce567146103c257600080fd5b8063062287491461026157806306fdde0314610294578063095ea7b3146102d25780630fe0eb0f146103025780630ff974e71461032657600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b5061027761dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102a057600080fd5b5060408051808201909152600c81526b426974636f696e204661726d60a01b60208201525b60405161028b9190611cc3565b3480156102de57600080fd5b506102f26102ed366004611d26565b6107ce565b604051901515815260200161028b565b34801561030e57600080fd5b50610318600a5481565b60405190815260200161028b565b34801561033257600080fd5b506102f2610341366004611d52565b60046020526000908152604090205460ff1681565b34801561036257600080fd5b5061031860075481565b34801561037857600080fd5b50600654610318565b34801561038d57600080fd5b506010546102f290600160a01b900460ff1681565b3480156103ae57600080fd5b506102f26103bd366004611d6f565b6107e5565b3480156103ce57600080fd5b506040516009815260200161028b565b3480156103ea57600080fd5b506102f26103f9366004611d26565b610837565b34801561040a57600080fd5b5061041361086e565b005b34801561042157600080fd5b50610413610430366004611d52565b610996565b34801561044157600080fd5b50610413610450366004611d52565b610a22565b34801561046157600080fd5b50601054610277906001600160a01b031681565b34801561048157600080fd5b50610413610490366004611e86565b610aa3565b3480156104a157600080fd5b5061031860085481565b3480156104b757600080fd5b506104136104c6366004611f48565b610c54565b3480156104d757600080fd5b50610318600d5481565b3480156104ed57600080fd5b50610318600b5481565b34801561050357600080fd5b50610413610512366004611d52565b610ced565b34801561052357600080fd5b50600f54610277906001600160a01b031681565b34801561054357600080fd5b50610413610d72565b34801561055857600080fd5b506102f2610567366004611d26565b610da4565b34801561057857600080fd5b50610413610587366004611f61565b610f17565b34801561059857600080fd5b506103186105a7366004611d52565b6001600160a01b031660009081526001602052604090205490565b3480156105ce57600080fd5b50610413611044565b3480156105e357600080fd5b50600554610277906001600160a01b031681565b34801561060357600080fd5b5061041361107a565b34801561061857600080fd5b506000546001600160a01b0316610277565b34801561063657600080fd5b50610318600e5481565b34801561064c57600080fd5b5060408051808201909152600381526242464d60e81b60208201526102c5565b34801561067857600080fd5b50610318600c5481565b34801561068e57600080fd5b506102f261069d366004611d26565b611115565b3480156106ae57600080fd5b506102f26106bd366004611d26565b61114c565b3480156106ce57600080fd5b506104136106dd366004611f61565b611159565b3480156106ee57600080fd5b5061031860095481565b34801561070457600080fd5b50610318610713366004611f83565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561074a57600080fd5b506102f2610759366004611d52565b60036020526000908152604090205460ff1681565b34801561077a57600080fd5b50610413610789366004611d52565b61122c565b34801561079a57600080fd5b506104136107a9366004611d52565b6112ad565b3480156107ba57600080fd5b506104136107c9366004611d52565b61137d565b60006107db338484611415565b5060015b92915050565b60006107f28484846114d2565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461082d918691610828908690611fd2565b611415565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107db918590610828908690611fe5565b6000546001600160a01b031633146108a15760405162461bcd60e51b815260040161089890611ff8565b60405180910390fd5b47806108ef5760405162461bcd60e51b815260206004820152601960248201527f436f6e74726163742062616c616e636520697320656d707479000000000000006044820152606401610898565b600080546040516001600160a01b039091169083908381818185875af1925050503d806000811461093c576040519150601f19603f3d011682016040523d82523d6000602084013e610941565b606091505b50509050806109925760405162461bcd60e51b815260206004820152601f60248201527f4661696c656420746f2073656e6420636f6e74726163742062616c616e6365006044820152606401610898565b5050565b6000546001600160a01b031633146109c05760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b038116600081815260036020908152604091829020805460ff191660019081179091558251938452908301527ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f434791015b60405180910390a150565b6000546001600160a01b03163314610a4c5760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b0381166000818152600460209081526040808320805460ff191690558051938452908301919091527f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4119101610a17565b6000546001600160a01b03163314610acd5760405162461bcd60e51b815260040161089890611ff8565b8051825114610b175760405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f2e640d8cadccee8d040dad2e6dac2e8c6d60531b6044820152606401610898565b6000805b8251811015610b5d57828181518110610b3657610b3661202d565b602002602001015182610b499190611fe5565b915080610b5581612043565b915050610b1b565b50610b6a6009600a612140565b610b74908261214f565b336000908152600160205260409020541015610bc95760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610898565b60005b8251811015610c4e576000848281518110610be957610be961202d565b602002602001015190506000610bfd600990565b610c0890600a612140565b858481518110610c1a57610c1a61202d565b6020026020010151610c2c919061214f565b9050610c393383836114d2565b50508080610c4690612043565b915050610bcc565b50505050565b6000546001600160a01b03163314610c7e5760405162461bcd60e51b815260040161089890611ff8565b610c8a6009600a612140565b610c94908261214f565b60075560065460075410610cea5760405162461bcd60e51b815260206004820181905260248201527f4d696e20746f6b656e7320666f72207377617020697320746f6f20686967682e6044820152606401610898565b50565b6000546001600160a01b03163314610d175760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b038116600081815260046020908152604091829020805460ff191660019081179091558251938452908301527f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4119101610a17565b6000546001600160a01b03163314610d9c5760405162461bcd60e51b815260040161089890611ff8565b600654600e55565b60006064821115610e0d5760405162461bcd60e51b815260206004820152602d60248201527f50657263656e74616765206d757374206265206c657373207468616e206f722060448201526c32b8bab0b6103a37901898181760991b6064820152608401610898565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e789190612166565b90506000600d548483610e8b919061214f565b610e95919061217f565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015610eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e91906121a1565b95945050505050565b6000546001600160a01b03163314610f415760405162461bcd60e51b815260040161089890611ff8565b600a54821115610f9e5760405162461bcd60e51b815260206004820152602260248201527f427579207461782063616e6e6f742065786365656420746865206d6178696d75604482015261369760f11b6064820152608401610898565b600a54811115610ffc5760405162461bcd60e51b815260206004820152602360248201527f53656c6c207461782063616e6e6f742065786365656420746865206d6178696d6044820152623ab69760e91b6064820152608401610898565b6008829055600981905560408051838152602081018390527fee384adbada91a649af3c708314e31b6fe6974f02a951d6be3674ad17c956efe91015b60405180910390a15050565b6000546001600160a01b0316331461106e5760405162461bcd60e51b815260040161089890611ff8565b611078600061185b565b565b6000546001600160a01b031633146110a45760405162461bcd60e51b815260040161089890611ff8565b601054600160a81b900460ff16156110fe5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610898565b6010805461ffff60a81b191661010160a81b179055565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107db918590610828908690611fd2565b60006107db3384846114d2565b6000546001600160a01b031633146111835760405162461bcd60e51b815260040161089890611ff8565b600d546111908284611fe5565b146111ec5760405162461bcd60e51b815260206004820152602660248201527f5468652073756d206f662070657263656e7461676573206d757374206571756160448201526536101898181760d11b6064820152608401610898565b600b829055600c81905560408051838152602081018390527f6675f8bcbf6132f90b29b99d5f4aae60ec816a76eeab53148e434183515b90569101611038565b6000546001600160a01b031633146112565760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b0381166000818152600360209081526040808320805460ff191690558051938452908301919091527ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f43479101610a17565b6000546001600160a01b031633146112d75760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b03811661132d5760405162461bcd60e51b815260206004820152601960248201527f496e76616c69642077616c6c6574206164647265737365732e000000000000006044820152606401610898565b600580546001600160a01b03908116600090815260036020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b031633146113a75760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b03811661140c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610898565b610cea8161185b565b6001600160a01b0383161580159061143557506001600160a01b03821615155b6114715760405162461bcd60e51b815260206004820152600d60248201526c2d32b9379030b2323932b9b99760991b6044820152606401610898565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166115365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610898565b6001600160a01b0382166115985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610898565b600081116115fa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610898565b601054600160a81b900460ff168061162a57506001600160a01b03831660009081526003602052604090205460ff165b8061164d57506001600160a01b03821660009081526003602052604090205460ff165b6116875760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610898565b601054600160b01b900460ff1615806116a95750601054600160a01b900460ff165b156116be576116b98383836118ab565b505050565b6001600160a01b03821660009081526004602052604090205460ff16611749576001600160a01b038216600090815260016020526040902054600e546117048383611fe5565b11156117475760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610898565b505b6001600160a01b03831660009081526003602052604090205460ff16801561177f57506010546001600160a01b03838116911614155b156117b6576001600160a01b038316600090815260016020526040812080548392906117ac908490611fe5565b9091555050505050565b6001600160a01b03831660009081526004602052604090205460ff161580156117f057506007543060009081526001602052604090205410155b80156118055750601054600160b01b900460ff165b801561181357506007548110155b80156118295750601054600160a01b900460ff16155b801561184257506010546001600160a01b038381169116145b156118505761185081611a73565b6116b98383836118ab565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6010546001600160a01b03908116848216811491841614600082806118cd5750815b9050600081801561191a57506001600160a01b03871660009081526003602052604090205460ff168061191857506001600160a01b03861660009081526003602052604090205460ff165b155b905060008115611958578461194857600d54600954611939908861214f565b611943919061217f565b61195b565b600d54600854611939908861214f565b60005b905060006119698288611fd2565b6001600160a01b038a16600090815260016020526040902054909150611990908890611fd2565b6001600160a01b03808b1660009081526001602052604080822093909355908a16815220546119c0908290611fe5565b6001600160a01b0389166000908152600160205260408082209290925530815220546119ed908390611fe5565b3060009081526001602090815260409182902092909255518281526001600160a01b038a811692908c16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b03891601611a685780600654611a649190611fd2565b6006555b505050505050505050565b6010805460ff60a01b1916600160a01b179055600c54606403611ab35730600081815260016020526040902054611aae919061dead906118ab565b611b0b565b3060009081526001602052604090205480611af2611aed84611ae884611adb6009600a612140565b611ae890620f424061214f565b611b1b565b611b33565b600554611b08906001600160a01b031647611c8d565b50505b506010805460ff60a01b19169055565b6000818311611b2a5782611b2c565b815b9392505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b6857611b6861202d565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be591906121c3565b81600181518110611bf857611bf861202d565b6001600160a01b039283166020918202929092010152600f54611c1e9130911684611415565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c579085906000908690309042906004016121e0565b600060405180830381600087803b158015611c7157600080fd5b505af1158015611c85573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116b9573d6000803e3d6000fd5b600060208083528351808285015260005b81811015611cf057858101830151858201604001528201611cd4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610cea57600080fd5b60008060408385031215611d3957600080fd5b8235611d4481611d11565b946020939093013593505050565b600060208284031215611d6457600080fd5b8135611b2c81611d11565b600080600060608486031215611d8457600080fd5b8335611d8f81611d11565b92506020840135611d9f81611d11565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611def57611def611db0565b604052919050565b600067ffffffffffffffff821115611e1157611e11611db0565b5060051b60200190565b600082601f830112611e2c57600080fd5b81356020611e41611e3c83611df7565b611dc6565b82815260059290921b84018101918181019086841115611e6057600080fd5b8286015b84811015611e7b5780358352918301918301611e64565b509695505050505050565b60008060408385031215611e9957600080fd5b823567ffffffffffffffff80821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b81356020611ed5611e3c83611df7565b82815260059290921b84018101918181019089841115611ef457600080fd5b948201945b83861015611f1b578535611f0c81611d11565b82529482019490820190611ef9565b96505086013592505080821115611f3157600080fd5b50611f3e85828601611e1b565b9150509250929050565b600060208284031215611f5a57600080fd5b5035919050565b60008060408385031215611f7457600080fd5b50508035926020909101359150565b60008060408385031215611f9657600080fd5b8235611fa181611d11565b91506020830135611fb181611d11565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156107df576107df611fbc565b808201808211156107df576107df611fbc565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161205557612055611fbc565b5060010190565b600181815b8085111561209757816000190482111561207d5761207d611fbc565b8085161561208a57918102915b93841c9390800290612061565b509250929050565b6000826120ae575060016107df565b816120bb575060006107df565b81600181146120d157600281146120db576120f7565b60019150506107df565b60ff8411156120ec576120ec611fbc565b50506001821b6107df565b5060208310610133831016604e8410600b841016171561211a575081810a6107df565b612124838361205c565b806000190482111561213857612138611fbc565b029392505050565b6000611b2c60ff84168361209f565b80820281158282048414176107df576107df611fbc565b60006020828403121561217857600080fd5b5051919050565b60008261219c57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156121b357600080fd5b81518015158114611b2c57600080fd5b6000602082840312156121d557600080fd5b8151611b2c81611d11565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122305784516001600160a01b03168352938301939183019160010161220b565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122053d63b0c4ea62187158ad71087ef10125ad64fa41c75414f060d20117abb7b7764736f6c634300081300330000000000000000000000003ea202f72700fca6a7cfbc6410a3117c04ac578b

Deployed Bytecode

0x6080604052600436106102555760003560e01c8063583e05681161013957806395d89b41116100b6578063cc1776d31161007a578063cc1776d3146106e2578063dd62ed3e146106f8578063e0bf7fd11461073e578063ea2f0b371461076e578063eb50e70e1461078e578063f2fde38b146107ae57600080fd5b806395d89b41146106405780639618b31c1461066c578063a457c2d714610682578063a9059cbb146106a2578063a90bb2bf146106c257600080fd5b8063715018a6116100fd578063715018a6146105c257806375f0a874146105d75780638a8c523c146105f75780638da5cb5b1461060c5780638f3fa8601461062a57600080fd5b8063583e05681461051757806362256589146105375780636476b0691461054c578063667f65261461056c57806370a082311461058c57600080fd5b806339509351116101d25780634a73a280116101965780634a73a280146104755780634f7041a5146104955780634fb639f3146104ab578063522ac058146104cb5780635450e093146104e1578063546417a9146104f757600080fd5b806339509351146103de5780633ccfd60b146103fe578063437823ec1461041557806343f07b581461043557806349bd5a5e1461045557600080fd5b80631783e052116102195780631783e0521461035657806318160ddd1461036c578063220f66961461038157806323b872dd146103a2578063313ce567146103c257600080fd5b8063062287491461026157806306fdde0314610294578063095ea7b3146102d25780630fe0eb0f146103025780630ff974e71461032657600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b5061027761dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102a057600080fd5b5060408051808201909152600c81526b426974636f696e204661726d60a01b60208201525b60405161028b9190611cc3565b3480156102de57600080fd5b506102f26102ed366004611d26565b6107ce565b604051901515815260200161028b565b34801561030e57600080fd5b50610318600a5481565b60405190815260200161028b565b34801561033257600080fd5b506102f2610341366004611d52565b60046020526000908152604090205460ff1681565b34801561036257600080fd5b5061031860075481565b34801561037857600080fd5b50600654610318565b34801561038d57600080fd5b506010546102f290600160a01b900460ff1681565b3480156103ae57600080fd5b506102f26103bd366004611d6f565b6107e5565b3480156103ce57600080fd5b506040516009815260200161028b565b3480156103ea57600080fd5b506102f26103f9366004611d26565b610837565b34801561040a57600080fd5b5061041361086e565b005b34801561042157600080fd5b50610413610430366004611d52565b610996565b34801561044157600080fd5b50610413610450366004611d52565b610a22565b34801561046157600080fd5b50601054610277906001600160a01b031681565b34801561048157600080fd5b50610413610490366004611e86565b610aa3565b3480156104a157600080fd5b5061031860085481565b3480156104b757600080fd5b506104136104c6366004611f48565b610c54565b3480156104d757600080fd5b50610318600d5481565b3480156104ed57600080fd5b50610318600b5481565b34801561050357600080fd5b50610413610512366004611d52565b610ced565b34801561052357600080fd5b50600f54610277906001600160a01b031681565b34801561054357600080fd5b50610413610d72565b34801561055857600080fd5b506102f2610567366004611d26565b610da4565b34801561057857600080fd5b50610413610587366004611f61565b610f17565b34801561059857600080fd5b506103186105a7366004611d52565b6001600160a01b031660009081526001602052604090205490565b3480156105ce57600080fd5b50610413611044565b3480156105e357600080fd5b50600554610277906001600160a01b031681565b34801561060357600080fd5b5061041361107a565b34801561061857600080fd5b506000546001600160a01b0316610277565b34801561063657600080fd5b50610318600e5481565b34801561064c57600080fd5b5060408051808201909152600381526242464d60e81b60208201526102c5565b34801561067857600080fd5b50610318600c5481565b34801561068e57600080fd5b506102f261069d366004611d26565b611115565b3480156106ae57600080fd5b506102f26106bd366004611d26565b61114c565b3480156106ce57600080fd5b506104136106dd366004611f61565b611159565b3480156106ee57600080fd5b5061031860095481565b34801561070457600080fd5b50610318610713366004611f83565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561074a57600080fd5b506102f2610759366004611d52565b60036020526000908152604090205460ff1681565b34801561077a57600080fd5b50610413610789366004611d52565b61122c565b34801561079a57600080fd5b506104136107a9366004611d52565b6112ad565b3480156107ba57600080fd5b506104136107c9366004611d52565b61137d565b60006107db338484611415565b5060015b92915050565b60006107f28484846114d2565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461082d918691610828908690611fd2565b611415565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107db918590610828908690611fe5565b6000546001600160a01b031633146108a15760405162461bcd60e51b815260040161089890611ff8565b60405180910390fd5b47806108ef5760405162461bcd60e51b815260206004820152601960248201527f436f6e74726163742062616c616e636520697320656d707479000000000000006044820152606401610898565b600080546040516001600160a01b039091169083908381818185875af1925050503d806000811461093c576040519150601f19603f3d011682016040523d82523d6000602084013e610941565b606091505b50509050806109925760405162461bcd60e51b815260206004820152601f60248201527f4661696c656420746f2073656e6420636f6e74726163742062616c616e6365006044820152606401610898565b5050565b6000546001600160a01b031633146109c05760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b038116600081815260036020908152604091829020805460ff191660019081179091558251938452908301527ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f434791015b60405180910390a150565b6000546001600160a01b03163314610a4c5760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b0381166000818152600460209081526040808320805460ff191690558051938452908301919091527f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4119101610a17565b6000546001600160a01b03163314610acd5760405162461bcd60e51b815260040161089890611ff8565b8051825114610b175760405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f2e640d8cadccee8d040dad2e6dac2e8c6d60531b6044820152606401610898565b6000805b8251811015610b5d57828181518110610b3657610b3661202d565b602002602001015182610b499190611fe5565b915080610b5581612043565b915050610b1b565b50610b6a6009600a612140565b610b74908261214f565b336000908152600160205260409020541015610bc95760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610898565b60005b8251811015610c4e576000848281518110610be957610be961202d565b602002602001015190506000610bfd600990565b610c0890600a612140565b858481518110610c1a57610c1a61202d565b6020026020010151610c2c919061214f565b9050610c393383836114d2565b50508080610c4690612043565b915050610bcc565b50505050565b6000546001600160a01b03163314610c7e5760405162461bcd60e51b815260040161089890611ff8565b610c8a6009600a612140565b610c94908261214f565b60075560065460075410610cea5760405162461bcd60e51b815260206004820181905260248201527f4d696e20746f6b656e7320666f72207377617020697320746f6f20686967682e6044820152606401610898565b50565b6000546001600160a01b03163314610d175760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b038116600081815260046020908152604091829020805460ff191660019081179091558251938452908301527f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4119101610a17565b6000546001600160a01b03163314610d9c5760405162461bcd60e51b815260040161089890611ff8565b600654600e55565b60006064821115610e0d5760405162461bcd60e51b815260206004820152602d60248201527f50657263656e74616765206d757374206265206c657373207468616e206f722060448201526c32b8bab0b6103a37901898181760991b6064820152608401610898565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e789190612166565b90506000600d548483610e8b919061214f565b610e95919061217f565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015610eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e91906121a1565b95945050505050565b6000546001600160a01b03163314610f415760405162461bcd60e51b815260040161089890611ff8565b600a54821115610f9e5760405162461bcd60e51b815260206004820152602260248201527f427579207461782063616e6e6f742065786365656420746865206d6178696d75604482015261369760f11b6064820152608401610898565b600a54811115610ffc5760405162461bcd60e51b815260206004820152602360248201527f53656c6c207461782063616e6e6f742065786365656420746865206d6178696d6044820152623ab69760e91b6064820152608401610898565b6008829055600981905560408051838152602081018390527fee384adbada91a649af3c708314e31b6fe6974f02a951d6be3674ad17c956efe91015b60405180910390a15050565b6000546001600160a01b0316331461106e5760405162461bcd60e51b815260040161089890611ff8565b611078600061185b565b565b6000546001600160a01b031633146110a45760405162461bcd60e51b815260040161089890611ff8565b601054600160a81b900460ff16156110fe5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610898565b6010805461ffff60a81b191661010160a81b179055565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107db918590610828908690611fd2565b60006107db3384846114d2565b6000546001600160a01b031633146111835760405162461bcd60e51b815260040161089890611ff8565b600d546111908284611fe5565b146111ec5760405162461bcd60e51b815260206004820152602660248201527f5468652073756d206f662070657263656e7461676573206d757374206571756160448201526536101898181760d11b6064820152608401610898565b600b829055600c81905560408051838152602081018390527f6675f8bcbf6132f90b29b99d5f4aae60ec816a76eeab53148e434183515b90569101611038565b6000546001600160a01b031633146112565760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b0381166000818152600360209081526040808320805460ff191690558051938452908301919091527ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f43479101610a17565b6000546001600160a01b031633146112d75760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b03811661132d5760405162461bcd60e51b815260206004820152601960248201527f496e76616c69642077616c6c6574206164647265737365732e000000000000006044820152606401610898565b600580546001600160a01b03908116600090815260036020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b031633146113a75760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b03811661140c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610898565b610cea8161185b565b6001600160a01b0383161580159061143557506001600160a01b03821615155b6114715760405162461bcd60e51b815260206004820152600d60248201526c2d32b9379030b2323932b9b99760991b6044820152606401610898565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166115365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610898565b6001600160a01b0382166115985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610898565b600081116115fa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610898565b601054600160a81b900460ff168061162a57506001600160a01b03831660009081526003602052604090205460ff165b8061164d57506001600160a01b03821660009081526003602052604090205460ff165b6116875760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610898565b601054600160b01b900460ff1615806116a95750601054600160a01b900460ff165b156116be576116b98383836118ab565b505050565b6001600160a01b03821660009081526004602052604090205460ff16611749576001600160a01b038216600090815260016020526040902054600e546117048383611fe5565b11156117475760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610898565b505b6001600160a01b03831660009081526003602052604090205460ff16801561177f57506010546001600160a01b03838116911614155b156117b6576001600160a01b038316600090815260016020526040812080548392906117ac908490611fe5565b9091555050505050565b6001600160a01b03831660009081526004602052604090205460ff161580156117f057506007543060009081526001602052604090205410155b80156118055750601054600160b01b900460ff165b801561181357506007548110155b80156118295750601054600160a01b900460ff16155b801561184257506010546001600160a01b038381169116145b156118505761185081611a73565b6116b98383836118ab565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6010546001600160a01b03908116848216811491841614600082806118cd5750815b9050600081801561191a57506001600160a01b03871660009081526003602052604090205460ff168061191857506001600160a01b03861660009081526003602052604090205460ff165b155b905060008115611958578461194857600d54600954611939908861214f565b611943919061217f565b61195b565b600d54600854611939908861214f565b60005b905060006119698288611fd2565b6001600160a01b038a16600090815260016020526040902054909150611990908890611fd2565b6001600160a01b03808b1660009081526001602052604080822093909355908a16815220546119c0908290611fe5565b6001600160a01b0389166000908152600160205260408082209290925530815220546119ed908390611fe5565b3060009081526001602090815260409182902092909255518281526001600160a01b038a811692908c16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b03891601611a685780600654611a649190611fd2565b6006555b505050505050505050565b6010805460ff60a01b1916600160a01b179055600c54606403611ab35730600081815260016020526040902054611aae919061dead906118ab565b611b0b565b3060009081526001602052604090205480611af2611aed84611ae884611adb6009600a612140565b611ae890620f424061214f565b611b1b565b611b33565b600554611b08906001600160a01b031647611c8d565b50505b506010805460ff60a01b19169055565b6000818311611b2a5782611b2c565b815b9392505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b6857611b6861202d565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be591906121c3565b81600181518110611bf857611bf861202d565b6001600160a01b039283166020918202929092010152600f54611c1e9130911684611415565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c579085906000908690309042906004016121e0565b600060405180830381600087803b158015611c7157600080fd5b505af1158015611c85573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116b9573d6000803e3d6000fd5b600060208083528351808285015260005b81811015611cf057858101830151858201604001528201611cd4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610cea57600080fd5b60008060408385031215611d3957600080fd5b8235611d4481611d11565b946020939093013593505050565b600060208284031215611d6457600080fd5b8135611b2c81611d11565b600080600060608486031215611d8457600080fd5b8335611d8f81611d11565b92506020840135611d9f81611d11565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611def57611def611db0565b604052919050565b600067ffffffffffffffff821115611e1157611e11611db0565b5060051b60200190565b600082601f830112611e2c57600080fd5b81356020611e41611e3c83611df7565b611dc6565b82815260059290921b84018101918181019086841115611e6057600080fd5b8286015b84811015611e7b5780358352918301918301611e64565b509695505050505050565b60008060408385031215611e9957600080fd5b823567ffffffffffffffff80821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b81356020611ed5611e3c83611df7565b82815260059290921b84018101918181019089841115611ef457600080fd5b948201945b83861015611f1b578535611f0c81611d11565b82529482019490820190611ef9565b96505086013592505080821115611f3157600080fd5b50611f3e85828601611e1b565b9150509250929050565b600060208284031215611f5a57600080fd5b5035919050565b60008060408385031215611f7457600080fd5b50508035926020909101359150565b60008060408385031215611f9657600080fd5b8235611fa181611d11565b91506020830135611fb181611d11565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156107df576107df611fbc565b808201808211156107df576107df611fbc565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161205557612055611fbc565b5060010190565b600181815b8085111561209757816000190482111561207d5761207d611fbc565b8085161561208a57918102915b93841c9390800290612061565b509250929050565b6000826120ae575060016107df565b816120bb575060006107df565b81600181146120d157600281146120db576120f7565b60019150506107df565b60ff8411156120ec576120ec611fbc565b50506001821b6107df565b5060208310610133831016604e8410600b841016171561211a575081810a6107df565b612124838361205c565b806000190482111561213857612138611fbc565b029392505050565b6000611b2c60ff84168361209f565b80820281158282048414176107df576107df611fbc565b60006020828403121561217857600080fd5b5051919050565b60008261219c57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156121b357600080fd5b81518015158114611b2c57600080fd5b6000602082840312156121d557600080fd5b8151611b2c81611d11565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122305784516001600160a01b03168352938301939183019160010161220b565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122053d63b0c4ea62187158ad71087ef10125ad64fa41c75414f060d20117abb7b7764736f6c63430008130033

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

0000000000000000000000003ea202f72700fca6a7cfbc6410a3117c04ac578b

-----Decoded View---------------
Arg [0] : _taxWallet (address): 0x3eA202f72700fCa6a7cfbC6410A3117c04Ac578b

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003ea202f72700fca6a7cfbc6410a3117c04ac578b


Deployed Bytecode Sourcemap

5802:12286:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6145:105;;;;;;;;;;;;6207:42;6145:105;;;;;-1:-1:-1;;;;;194:32:1;;;176:51;;164:2;149:18;6145:105:0;;;;;;;;8399:83;;;;;;;;;;-1:-1:-1;8469:5:0;;;;;;;;;;;;-1:-1:-1;;;8469:5:0;;;;8399:83;;;;;;;:::i;9315:193::-;;;;;;;;;;-1:-1:-1;9315:193:0;;;;;:::i;:::-;;:::i;:::-;;;1412:14:1;;1405:22;1387:41;;1375:2;1360:18;9315:193:0;1247:187:1;6602:37:0;;;;;;;;;;;;;;;;;;;1585:25:1;;;1573:2;1558:18;6602:37:0;1439:177:1;6031:60:0;;;;;;;;;;-1:-1:-1;6031:60:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6476:52;;;;;;;;;;;;;;;;8676:95;;;;;;;;;;-1:-1:-1;8756:7:0;;8676:95;;6899:28;;;;;;;;;;-1:-1:-1;6899:28:0;;;;-1:-1:-1;;;6899:28:0;;;;;;9516:350;;;;;;;;;;-1:-1:-1;9516:350:0;;;;;:::i;:::-;;:::i;8585:83::-;;;;;;;;;;-1:-1:-1;8585:83:0;;6294:1;2476:36:1;;2464:2;2449:18;8585:83:0;2334:184:1;9874:297:0;;;;;;;;;;-1:-1:-1;9874:297:0;;;;;:::i;:::-;;:::i;16826:316::-;;;;;;;;;;;;;:::i;:::-;;11597:171;;;;;;;;;;-1:-1:-1;11597:171:0;;;;;:::i;:::-;;:::i;12149:188::-;;;;;;;;;;-1:-1:-1;12149:188:0;;;;;:::i;:::-;;:::i;6864:28::-;;;;;;;;;;-1:-1:-1;6864:28:0;;;;-1:-1:-1;;;;;6864:28:0;;;12643:697;;;;;;;;;;-1:-1:-1;12643:697:0;;;;;:::i;:::-;;:::i;6535:26::-;;;;;;;;;;;;;;;;14778:247;;;;;;;;;;-1:-1:-1;14778:247:0;;;;;:::i;:::-;;:::i;6719:27::-;;;;;;;;;;;;;;;;6646:33;;;;;;;;;;;;;;;;11955:186;;;;;;;;;;-1:-1:-1;11955:186:0;;;;;:::i;:::-;;:::i;6815:42::-;;;;;;;;;;-1:-1:-1;6815:42:0;;;;-1:-1:-1;;;;;6815:42:0;;;17150:90;;;;;;;;;;;;;:::i;16161:480::-;;;;;;;;;;-1:-1:-1;16161:480:0;;;;;:::i;:::-;;:::i;10892:369::-;;;;;;;;;;-1:-1:-1;10892:369:0;;;;;:::i;:::-;;:::i;8779:117::-;;;;;;;;;;-1:-1:-1;8779:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;8872:16:0;8845:7;8872:16;;;:7;:16;;;;;;;8779:117;5283:94;;;;;;;;;;;;;:::i;6100:38::-;;;;;;;;;;-1:-1:-1;6100:38:0;;;;-1:-1:-1;;;;;6100:38:0;;;16649:169;;;;;;;;;;;;;:::i;5060:87::-;;;;;;;;;;-1:-1:-1;5106:7:0;5133:6;-1:-1:-1;;;;;5133:6:0;5060:87;;6753:53;;;;;;;;;;;;;;;;8490:87;;;;;;;;;;-1:-1:-1;8562:7:0;;;;;;;;;;;;-1:-1:-1;;;8562:7:0;;;;8490:87;;6686:26;;;;;;;;;;;;;;;;10179:307;;;;;;;;;;-1:-1:-1;10179:307:0;;;;;:::i;:::-;;:::i;8904:199::-;;;;;;;;;;-1:-1:-1;8904:199:0;;;;;:::i;:::-;;:::i;11269:320::-;;;;;;;;;;-1:-1:-1;11269:320:0;;;;;:::i;:::-;;:::i;6568:27::-;;;;;;;;;;;;;;;;9111:196;;;;;;;;;;-1:-1:-1;9111:196:0;;;;;:::i;:::-;-1:-1:-1;;;;;9266:21:0;;;9234:7;9266:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;9111:196;5973:51;;;;;;;;;;-1:-1:-1;5973:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11776:171;;;;;;;;;;-1:-1:-1;11776:171:0;;;;;:::i;:::-;;:::i;12345:290::-;;;;;;;;;;-1:-1:-1;12345:290:0;;;;;:::i;:::-;;:::i;5385:229::-;;;;;;;;;;-1:-1:-1;5385:229:0;;;;;:::i;:::-;;:::i;9315:193::-;9417:4;9439:39;4445:10;9462:7;9471:6;9439:8;:39::i;:::-;-1:-1:-1;9496:4:0;9315:193;;;;;:::o;9516:350::-;9648:4;9665:36;9675:6;9683:9;9694:6;9665:9;:36::i;:::-;-1:-1:-1;;;;;9783:19:0;;;;;;:11;:19;;;;;;;;4445:10;9783:33;;;;;;;;;9712:124;;9735:6;;9783:42;;9819:6;;9783:42;:::i;:::-;9712:8;:124::i;:::-;-1:-1:-1;9854:4:0;9516:350;;;;;:::o;9874:297::-;4445:10;9989:4;10083:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10083:34:0;;;;;;;;;;9989:4;;10011:130;;10061:7;;10083:47;;10120:10;;10083:47;:::i;16826:316::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;;;;;;;;;16902:21:::1;16942:19:::0;16934:57:::1;;;::::0;-1:-1:-1;;;16934:57:0;;7241:2:1;16934:57:0::1;::::0;::::1;7223:21:1::0;7280:2;7260:18;;;7253:30;7319:27;7299:18;;;7292:55;7364:18;;16934:57:0::1;7039:349:1::0;16934:57:0::1;17005:11;5133:6:::0;;17022:49:::1;::::0;-1:-1:-1;;;;;5133:6:0;;;;17051:15;;17005:11;17022:49;17005:11;17022:49;17051:15;5133:6;17022:49:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17004:67;;;17092:6;17084:50;;;::::0;-1:-1:-1;;;17084:50:0;;7805:2:1;17084:50:0::1;::::0;::::1;7787:21:1::0;7844:2;7824:18;;;7817:30;7883:33;7863:18;;;7856:61;7934:18;;17084:50:0::1;7603:355:1::0;17084:50:0::1;16865:277;;16826:316::o:0;11597:171::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11668:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:35;;-1:-1:-1;;11668:35:0::1;11699:4;11668:35:::0;;::::1;::::0;;;11721:39;;8131:51:1;;;8198:18;;;8191:50;11721:39:0::1;::::0;8104:18:1;11721:39:0::1;;;;;;;;11597:171:::0;:::o;12149:188::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12222:37:0;::::1;12262:5;12222:37:::0;;;:28:::1;:37;::::0;;;;;;;:45;;-1:-1:-1;;12222:45:0::1;::::0;;12283:46;;8131:51:1;;;8198:18;;;8191:50;;;;12283:46:0::1;::::0;8104:18:1;12283:46:0::1;7963:284:1::0;12643:697:0;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;12803:7:::1;:14;12784:8;:15;:33;12776:68;;;::::0;-1:-1:-1;;;12776:68:0;;8454:2:1;12776:68:0::1;::::0;::::1;8436:21:1::0;8493:2;8473:18;;;8466:30;-1:-1:-1;;;8512:18:1;;;8505:52;8574:18;;12776:68:0::1;8252:346:1::0;12776:68:0::1;12855:19;12894:9:::0;12889:97:::1;12913:7;:14;12909:1;:18;12889:97;;;12964:7;12972:1;12964:10;;;;;;;;:::i;:::-;;;;;;;12949:25;;;;;:::i;:::-;::::0;-1:-1:-1;12929:3:0;::::1;::::0;::::1;:::i;:::-;;;;12889:97;;;-1:-1:-1::0;13057:14:0::1;6294:1:::0;13057:2:::1;:14;:::i;:::-;13043:28;::::0;:11;:28:::1;:::i;:::-;13028:10;8845:7:::0;8872:16;;;:7;:16;;;;;;13018:53:::1;;12996:123;;;::::0;-1:-1:-1;;;12996:123:0;;10633:2:1;12996:123:0::1;::::0;::::1;10615:21:1::0;10672:2;10652:18;;;10645:30;-1:-1:-1;;;10691:18:1;;;10684:50;10751:18;;12996:123:0::1;10431:344:1::0;12996:123:0::1;13137:9;13132:201;13156:7;:14;13152:1;:18;13132:201;;;13192:11;13206:8;13215:1;13206:11;;;;;;;;:::i;:::-;;;;;;;13192:25;;13232:12;13264:10;6294:1:::0;;8585:83;13264:10:::1;13260:14;::::0;:2:::1;:14;:::i;:::-;13247:7;13255:1;13247:10;;;;;;;;:::i;:::-;;;;;;;:27;;;;:::i;:::-;13232:42;;13289:32;13299:10;13311:3;13316:4;13289:9;:32::i;:::-;13177:156;;13172:3;;;;;:::i;:::-;;;;13132:201;;;;12765:575;12643:697:::0;;:::o;14778:247::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;14881:14:::1;6294:1:::0;14881:2:::1;:14;:::i;:::-;14869:26;::::0;:9;:26:::1;:::i;:::-;14853:13;:42:::0;8756:7;;14928:13:::1;;:29;14906:111;;;::::0;-1:-1:-1;;;14906:111:0;;10982:2:1;14906:111:0::1;::::0;::::1;10964:21:1::0;;;11001:18;;;10994:30;11060:34;11040:18;;;11033:62;11112:18;;14906:111:0::1;10780:356:1::0;14906:111:0::1;14778:247:::0;:::o;11955:186::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12028:37:0;::::1;;::::0;;;:28:::1;:37;::::0;;;;;;;;:44;;-1:-1:-1;;12028:44:0::1;12068:4;12028:44:::0;;::::1;::::0;;;12088:45;;8131:51:1;;;8198:18;;;8191:50;12088:45:0::1;::::0;8104:18:1;12088:45:0::1;7963:284:1::0;17150:90:0;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;8756:7;;17203:13:::1;:29:::0;17150:90::o;16161:480::-;16265:10;16330:3;16315:11;:18;;16293:113;;;;-1:-1:-1;;;16293:113:0;;11343:2:1;16293:113:0;;;11325:21:1;11382:2;11362:18;;;11355:30;11421:34;11401:18;;;11394:62;-1:-1:-1;;;11472:18:1;;;11465:43;11525:19;;16293:113:0;11141:409:1;16293:113:0;16439:45;;-1:-1:-1;;;16439:45:0;;16478:4;16439:45;;;176:51:1;16417:19:0;;-1:-1:-1;;;;;16439:30:0;;;;;149:18:1;;16439:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16417:67;;16495:20;16548:6;;16533:11;16519;:25;;;;:::i;:::-;16518:36;;;;:::i;:::-;16603:15;;16573:60;;-1:-1:-1;;;16573:60:0;;-1:-1:-1;;;;;16603:15:0;;;16573:60;;;12148:51:1;12215:18;;;12208:34;;;16495:59:0;;-1:-1:-1;16573:29:0;;;;;12121:18:1;;16573:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16565:68;16161:480;-1:-1:-1;;;;;16161:480:0:o;10892:369::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;10978:17:::1;;10971:3;:24;;10963:71;;;::::0;-1:-1:-1;;;10963:71:0;;12737:2:1;10963:71:0::1;::::0;::::1;12719:21:1::0;12776:2;12756:18;;;12749:30;12815:34;12795:18;;;12788:62;-1:-1:-1;;;12866:18:1;;;12859:32;12908:19;;10963:71:0::1;12535:398:1::0;10963:71:0::1;11075:17;;11067:4;:25;;11045:110;;;::::0;-1:-1:-1;;;11045:110:0;;13140:2:1;11045:110:0::1;::::0;::::1;13122:21:1::0;13179:2;13159:18;;;13152:30;13218:34;13198:18;;;13191:62;-1:-1:-1;;;13269:18:1;;;13262:33;13312:19;;11045:110:0::1;12938:399:1::0;11045:110:0::1;11168:6;:12:::0;;;11191:7:::1;:14:::0;;;11223:30:::1;::::0;;13516:25:1;;;13572:2;13557:18;;13550:34;;;11223:30:0::1;::::0;13489:18:1;11223:30:0::1;;;;;;;;10892:369:::0;;:::o;5283:94::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;5348:21:::1;5366:1;5348:9;:21::i;:::-;5283:94::o:0;16649:169::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;16713:11:::1;::::0;-1:-1:-1;;;16713:11:0;::::1;;;16712:12;16704:48;;;::::0;-1:-1:-1;;;16704:48:0;;13797:2:1;16704:48:0::1;::::0;::::1;13779:21:1::0;13836:2;13816:18;;;13809:30;13875:25;13855:18;;;13848:53;13918:18;;16704:48:0::1;13595:347:1::0;16704:48:0::1;16763:11;:18:::0;;-1:-1:-1;;;;16792:18:0;-1:-1:-1;;;16792:18:0;;;16649:169::o;10179:307::-;4445:10;10299:4;10393:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10393:34:0;;;;;;;;;;10299:4;;10321:135;;10371:7;;10393:52;;10430:15;;10393:52;:::i;8904:199::-;9009:4;9031:42;4445:10;9055:9;9066:6;9031:9;:42::i;11269:320::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;11395:6:::1;::::0;11375:16:::1;11387:4:::0;11375:9;:16:::1;:::i;:::-;:26;11353:114;;;::::0;-1:-1:-1;;;11353:114:0;;14149:2:1;11353:114:0::1;::::0;::::1;14131:21:1::0;14188:2;14168:18;;;14161:30;14227:34;14207:18;;;14200:62;-1:-1:-1;;;14278:18:1;;;14271:36;14324:19;;11353:114:0::1;13947:402:1::0;11353:114:0::1;11478:12;:24:::0;;;11513:7:::1;:14:::0;;;11545:36:::1;::::0;;13516:25:1;;;13572:2;13557:18;;13550:34;;;11545:36:0::1;::::0;13489:18:1;11545:36:0::1;13342:248:1::0;11776:171:0;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11845:28:0;::::1;11876:5;11845:28:::0;;;:19:::1;:28;::::0;;;;;;;:36;;-1:-1:-1;;11845:36:0::1;::::0;;11899:40;;8131:51:1;;;8198:18;;;8191:50;;;;11899:40:0::1;::::0;8104:18:1;11899:40:0::1;7963:284:1::0;12345:290:0;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12420:23:0;::::1;12412:61;;;::::0;-1:-1:-1;;;12412:61:0;;14556:2:1;12412:61:0::1;::::0;::::1;14538:21:1::0;14595:2;14575:18;;;14568:30;14634:27;14614:18;;;14607:55;14679:18;;12412:61:0::1;14354:349:1::0;12412:61:0::1;12504:15;::::0;;-1:-1:-1;;;;;12504:15:0;;::::1;12523:5;12484:36:::0;;;:19:::1;:36;::::0;;;;;:44;;-1:-1:-1;;12484:44:0;;::::1;::::0;;;12541:36;;-1:-1:-1;;;;;;12541:36:0::1;::::0;;;::::1;::::0;;::::1;::::0;;;12590:30;;;;;:37;;;;::::1;-1:-1:-1::0;12590:37:0::1;::::0;;12345:290::o;5385:229::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5488:22:0;::::1;5466:110;;;::::0;-1:-1:-1;;;5466:110:0;;14910:2:1;5466:110:0::1;::::0;::::1;14892:21:1::0;14949:2;14929:18;;;14922:30;14988:34;14968:18;;;14961:62;-1:-1:-1;;;15039:18:1;;;15032:36;15085:19;;5466:110:0::1;14708:402:1::0;5466:110:0::1;5587:19;5597:8;5587:9;:19::i;10531:353::-:0;-1:-1:-1;;;;;10678:22:0;;;;;;:50;;-1:-1:-1;;;;;;10704:24:0;;;;10678:50;10656:113;;;;-1:-1:-1;;;10656:113:0;;15317:2:1;10656:113:0;;;15299:21:1;15356:2;15336:18;;;15329:30;-1:-1:-1;;;15375:18:1;;;15368:43;15428:18;;10656:113:0;15115:337:1;10656:113:0;-1:-1:-1;;;;;10780:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;10838:38;;1585:25:1;;;10838:38:0;;1558:18:1;10838:38:0;;;;;;;10531:353;;;:::o;13478:1292::-;-1:-1:-1;;;;;13600:18:0;;13592:68;;;;-1:-1:-1;;;13592:68:0;;15659:2:1;13592:68:0;;;15641:21:1;15698:2;15678:18;;;15671:30;15737:34;15717:18;;;15710:62;-1:-1:-1;;;15788:18:1;;;15781:35;15833:19;;13592:68:0;15457:401:1;13592:68:0;-1:-1:-1;;;;;13679:16:0;;13671:64;;;;-1:-1:-1;;;13671:64:0;;16065:2:1;13671:64:0;;;16047:21:1;16104:2;16084:18;;;16077:30;16143:34;16123:18;;;16116:62;-1:-1:-1;;;16194:18:1;;;16187:33;16237:19;;13671:64:0;15863:399:1;13671:64:0;13763:1;13754:6;:10;13746:64;;;;-1:-1:-1;;;13746:64:0;;16469:2:1;13746:64:0;;;16451:21:1;16508:2;16488:18;;;16481:30;16547:34;16527:18;;;16520:62;-1:-1:-1;;;16598:18:1;;;16591:39;16647:19;;13746:64:0;16267:405:1;13746:64:0;13843:11;;-1:-1:-1;;;13843:11:0;;;;;:40;;-1:-1:-1;;;;;;13858:25:0;;;;;;:19;:25;;;;;;;;13843:40;:67;;;-1:-1:-1;;;;;;13887:23:0;;;;;;:19;:23;;;;;;;;13843:67;13821:128;;;;-1:-1:-1;;;13821:128:0;;16879:2:1;13821:128:0;;;16861:21:1;16918:2;16898:18;;;16891:30;-1:-1:-1;;;16937:18:1;;;16930:41;16988:18;;13821:128:0;16677:335:1;13821:128:0;13965:11;;-1:-1:-1;;;13965:11:0;;;;13964:12;;:32;;-1:-1:-1;13980:16:0;;-1:-1:-1;;;13980:16:0;;;;13964:32;13960:104;;;14020:32;14035:4;14041:2;14045:6;14020:14;:32::i;:::-;13478:1292;;;:::o;13960:104::-;-1:-1:-1;;;;;14079:32:0;;;;;;:28;:32;;;;;;;;14074:233;;-1:-1:-1;;;;;8872:16:0;;14128:18;8872:16;;;:7;:16;;;;;;14228:13;;14204:19;14217:6;8872:16;14204:19;:::i;:::-;14203:38;;14177:118;;;;-1:-1:-1;;;14177:118:0;;17219:2:1;14177:118:0;;;17201:21:1;17258:2;17238:18;;;17231:30;-1:-1:-1;;;17277:18:1;;;17270:48;17335:18;;14177:118:0;17017:342:1;14177:118:0;14113:194;14074:233;-1:-1:-1;;;;;14320:25:0;;;;;;:19;:25;;;;;;;;:48;;;;-1:-1:-1;14355:13:0;;-1:-1:-1;;;;;14349:19:0;;;14355:13;;14349:19;;14320:48;14317:88;;;-1:-1:-1;;;;;14372:13:0;;;;;;:7;:13;;;;;:23;;14389:6;;14372:13;:23;;14389:6;;14372:23;:::i;:::-;;;;-1:-1:-1;;;;;13478:1292:0:o;14317:88::-;-1:-1:-1;;;;;14420:34:0;;;;;;:28;:34;;;;;;;;14419:35;:94;;;;-1:-1:-1;14500:13:0;;14490:4;8845:7;8872:16;;;:7;:16;;;;;;14472:41;;14419:94;:122;;;;-1:-1:-1;14530:11:0;;-1:-1:-1;;;14530:11:0;;;;14419:122;:162;;;;;14568:13;;14558:6;:23;;14419:162;:196;;;;-1:-1:-1;14599:16:0;;-1:-1:-1;;;14599:16:0;;;;14598:17;14419:196;:232;;;;-1:-1:-1;14638:13:0;;-1:-1:-1;;;;;14632:19:0;;;14638:13;;14632:19;14419:232;14415:305;;;14678:30;14701:6;14678:22;:30::i;:::-;14730:32;14745:4;14751:2;14755:6;14730:14;:32::i;5622:173::-;5678:16;5697:6;;-1:-1:-1;;;;;5714:17:0;;;-1:-1:-1;;;;;;5714:17:0;;;;;;5747:40;;5697:6;;;;;;;5747:40;;5678:16;5747:40;5667:128;5622:173;:::o;17248:837::-;17390:13;;-1:-1:-1;;;;;17390:13:0;;;17382:21;;;;;;17430:19;;;17368:10;17382:21;;17480:15;;;17489:6;17480:15;17461:34;;17506:12;17521:11;:83;;;;-1:-1:-1;;;;;;17551:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;17580:23:0;;;;;;:19;:23;;;;;;;;17551:52;17549:55;17521:83;17506:98;;17617:11;17632:7;17631:8;:107;;17646:5;:92;;17732:6;;17721:7;;17711:17;;:7;:17;:::i;:::-;17710:28;;;;:::i;:::-;17631:107;;17646:92;17688:6;;17678;;17668:16;;:7;:16;:::i;17631:107::-;17642:1;17631:107;17617:121;-1:-1:-1;17749:23:0;17775:13;17617:121;17775:7;:13;:::i;:::-;-1:-1:-1;;;;;17817:13:0;;;;;;:7;:13;;;;;;17749:39;;-1:-1:-1;17817:23:0;;17833:7;;17817:23;:::i;:::-;-1:-1:-1;;;;;17801:13:0;;;;;;;:7;:13;;;;;;:39;;;;17865:11;;;;;;;:29;;17879:15;;17865:29;:::i;:::-;-1:-1:-1;;;;;17851:11:0;;;;;;:7;:11;;;;;;:43;;;;17946:4;17930:22;;;;:28;;17955:3;;17930:28;:::i;:::-;17921:4;17905:22;;;;:7;:22;;;;;;;;;:53;;;;17974:35;1585:25:1;;;-1:-1:-1;;;;;17974:35:0;;;;;;;;;;1558:18:1;17974:35:0;;;;;;;-1:-1:-1;;;;;;;18024:16:0;;;18020:57;;18062:15;18052:7;;:25;;;;:::i;:::-;18042:7;:35;18020:57;17357:728;;;;;;17248:837;;;:::o;15148:523::-;7443:16;:23;;-1:-1:-1;;;;7443:23:0;-1:-1:-1;;;7443:23:0;;;15231:7:::1;::::0;15242:3:::1;15231:14:::0;15227:437:::1;;15285:4;8845:7:::0;8872:16;;;:7;:16;;;;;;15262:67:::1;::::0;15285:4;6207:42:::1;::::0;15262:14:::1;:67::i;:::-;15227:437;;;15411:4;15362:28;8872:16:::0;;;:7;:16;;;;;;;15500:82:::1;15517:64;15521:6:::0;15529:51:::1;8872:16:::0;15565:14:::1;6294:1:::0;15565:2:::1;:14;:::i;:::-;15555:24;::::0;:7:::1;:24;:::i;:::-;15529:3;:51::i;15517:64::-;15500:16;:82::i;:::-;15613:15;::::0;15599:53:::1;::::0;-1:-1:-1;;;;;15613:15:0::1;15630:21;15599:13;:53::i;:::-;15347:317;;15227:437;-1:-1:-1::0;7489:16:0;:24;;-1:-1:-1;;;;7489:24:0;;;15148:523::o;15033:107::-;15090:7;15122:1;15118;:5;15117:15;;15131:1;15117:15;;;15127:1;15117:15;15110:22;15033:107;-1:-1:-1;;;15033:107:0:o;15679:474::-;15769:16;;;15783:1;15769:16;;;;;;;;15745:21;;15769:16;;;;;;;;;;-1:-1:-1;15769:16:0;15745:40;;15814:4;15796;15801:1;15796:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15796:23:0;;;:7;;;;;;;;;;:23;;;;15840:16;;:23;;;-1:-1:-1;;;15840:23:0;;;;:16;;;;;:21;;:23;;;;;15796:7;;15840:23;;;;;:16;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15830:4;15835:1;15830:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15830:33:0;;;:7;;;;;;;;;:33;15906:16;;15874:63;;15891:4;;15906:16;15925:11;15874:8;:63::i;:::-;15948:16;;:197;;-1:-1:-1;;;15948:197:0;;-1:-1:-1;;;;;15948:16:0;;;;:67;;:197;;16030:11;;15948:16;;16072:4;;16099;;16119:15;;15948:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15734:419;15679:474;:::o;13348:122::-;13430:32;;-1:-1:-1;;;;;13430:24:0;;;:32;;;;;13455:6;;13430:32;;;;13455:6;13430:24;:32;;;;;;;;;;;;;;;;;;;238:548:1;350:4;379:2;408;397:9;390:21;440:6;434:13;483:6;478:2;467:9;463:18;456:34;508:1;518:140;532:6;529:1;526:13;518:140;;;627:14;;;623:23;;617:30;593:17;;;612:2;589:26;582:66;547:10;;518:140;;;522:3;707:1;702:2;693:6;682:9;678:22;674:31;667:42;777:2;770;766:7;761:2;753:6;749:15;745:29;734:9;730:45;726:54;718:62;;;;238:548;;;;:::o;791:131::-;-1:-1:-1;;;;;866:31:1;;856:42;;846:70;;912:1;909;902:12;927:315;995:6;1003;1056:2;1044:9;1035:7;1031:23;1027:32;1024:52;;;1072:1;1069;1062:12;1024:52;1111:9;1098:23;1130:31;1155:5;1130:31;:::i;:::-;1180:5;1232:2;1217:18;;;;1204:32;;-1:-1:-1;;;927:315:1:o;1621:247::-;1680:6;1733:2;1721:9;1712:7;1708:23;1704:32;1701:52;;;1749:1;1746;1739:12;1701:52;1788:9;1775:23;1807:31;1832:5;1807:31;:::i;1873:456::-;1950:6;1958;1966;2019:2;2007:9;1998:7;1994:23;1990:32;1987:52;;;2035:1;2032;2025:12;1987:52;2074:9;2061:23;2093:31;2118:5;2093:31;:::i;:::-;2143:5;-1:-1:-1;2200:2:1;2185:18;;2172:32;2213:33;2172:32;2213:33;:::i;:::-;1873:456;;2265:7;;-1:-1:-1;;;2319:2:1;2304:18;;;;2291:32;;1873:456::o;2731:127::-;2792:10;2787:3;2783:20;2780:1;2773:31;2823:4;2820:1;2813:15;2847:4;2844:1;2837:15;2863:275;2934:2;2928:9;2999:2;2980:13;;-1:-1:-1;;2976:27:1;2964:40;;3034:18;3019:34;;3055:22;;;3016:62;3013:88;;;3081:18;;:::i;:::-;3117:2;3110:22;2863:275;;-1:-1:-1;2863:275:1:o;3143:183::-;3203:4;3236:18;3228:6;3225:30;3222:56;;;3258:18;;:::i;:::-;-1:-1:-1;3303:1:1;3299:14;3315:4;3295:25;;3143:183::o;3331:662::-;3385:5;3438:3;3431:4;3423:6;3419:17;3415:27;3405:55;;3456:1;3453;3446:12;3405:55;3492:6;3479:20;3518:4;3542:60;3558:43;3598:2;3558:43;:::i;:::-;3542:60;:::i;:::-;3636:15;;;3722:1;3718:10;;;;3706:23;;3702:32;;;3667:12;;;;3746:15;;;3743:35;;;3774:1;3771;3764:12;3743:35;3810:2;3802:6;3798:15;3822:142;3838:6;3833:3;3830:15;3822:142;;;3904:17;;3892:30;;3942:12;;;;3855;;3822:142;;;-1:-1:-1;3982:5:1;3331:662;-1:-1:-1;;;;;;3331:662:1:o;3998:1215::-;4116:6;4124;4177:2;4165:9;4156:7;4152:23;4148:32;4145:52;;;4193:1;4190;4183:12;4145:52;4233:9;4220:23;4262:18;4303:2;4295:6;4292:14;4289:34;;;4319:1;4316;4309:12;4289:34;4357:6;4346:9;4342:22;4332:32;;4402:7;4395:4;4391:2;4387:13;4383:27;4373:55;;4424:1;4421;4414:12;4373:55;4460:2;4447:16;4482:4;4506:60;4522:43;4562:2;4522:43;:::i;4506:60::-;4600:15;;;4682:1;4678:10;;;;4670:19;;4666:28;;;4631:12;;;;4706:19;;;4703:39;;;4738:1;4735;4728:12;4703:39;4762:11;;;;4782:217;4798:6;4793:3;4790:15;4782:217;;;4878:3;4865:17;4895:31;4920:5;4895:31;:::i;:::-;4939:18;;4815:12;;;;4977;;;;4782:217;;;5018:5;-1:-1:-1;;5061:18:1;;5048:32;;-1:-1:-1;;5092:16:1;;;5089:36;;;5121:1;5118;5111:12;5089:36;;5144:63;5199:7;5188:8;5177:9;5173:24;5144:63;:::i;:::-;5134:73;;;3998:1215;;;;;:::o;5218:180::-;5277:6;5330:2;5318:9;5309:7;5305:23;5301:32;5298:52;;;5346:1;5343;5336:12;5298:52;-1:-1:-1;5369:23:1;;5218:180;-1:-1:-1;5218:180:1:o;5637:248::-;5705:6;5713;5766:2;5754:9;5745:7;5741:23;5737:32;5734:52;;;5782:1;5779;5772:12;5734:52;-1:-1:-1;;5805:23:1;;;5875:2;5860:18;;;5847:32;;-1:-1:-1;5637:248:1:o;5890:388::-;5958:6;5966;6019:2;6007:9;5998:7;5994:23;5990:32;5987:52;;;6035:1;6032;6025:12;5987:52;6074:9;6061:23;6093:31;6118:5;6093:31;:::i;:::-;6143:5;-1:-1:-1;6200:2:1;6185:18;;6172:32;6213:33;6172:32;6213:33;:::i;:::-;6265:7;6255:17;;;5890:388;;;;;:::o;6283:127::-;6344:10;6339:3;6335:20;6332:1;6325:31;6375:4;6372:1;6365:15;6399:4;6396:1;6389:15;6415:128;6482:9;;;6503:11;;;6500:37;;;6517:18;;:::i;6548:125::-;6613:9;;;6634:10;;;6631:36;;;6647:18;;:::i;6678:356::-;6880:2;6862:21;;;6899:18;;;6892:30;6958:34;6953:2;6938:18;;6931:62;7025:2;7010:18;;6678:356::o;8603:127::-;8664:10;8659:3;8655:20;8652:1;8645:31;8695:4;8692:1;8685:15;8719:4;8716:1;8709:15;8735:135;8774:3;8795:17;;;8792:43;;8815:18;;:::i;:::-;-1:-1:-1;8862:1:1;8851:13;;8735:135::o;8875:422::-;8964:1;9007:5;8964:1;9021:270;9042:7;9032:8;9029:21;9021:270;;;9101:4;9097:1;9093:6;9089:17;9083:4;9080:27;9077:53;;;9110:18;;:::i;:::-;9160:7;9150:8;9146:22;9143:55;;;9180:16;;;;9143:55;9259:22;;;;9219:15;;;;9021:270;;;9025:3;8875:422;;;;;:::o;9302:806::-;9351:5;9381:8;9371:80;;-1:-1:-1;9422:1:1;9436:5;;9371:80;9470:4;9460:76;;-1:-1:-1;9507:1:1;9521:5;;9460:76;9552:4;9570:1;9565:59;;;;9638:1;9633:130;;;;9545:218;;9565:59;9595:1;9586:10;;9609:5;;;9633:130;9670:3;9660:8;9657:17;9654:43;;;9677:18;;:::i;:::-;-1:-1:-1;;9733:1:1;9719:16;;9748:5;;9545:218;;9847:2;9837:8;9834:16;9828:3;9822:4;9819:13;9815:36;9809:2;9799:8;9796:16;9791:2;9785:4;9782:12;9778:35;9775:77;9772:159;;;-1:-1:-1;9884:19:1;;;9916:5;;9772:159;9963:34;9988:8;9982:4;9963:34;:::i;:::-;10033:6;10029:1;10025:6;10021:19;10012:7;10009:32;10006:58;;;10044:18;;:::i;:::-;10082:20;;9302:806;-1:-1:-1;;;9302:806:1:o;10113:140::-;10171:5;10200:47;10241:4;10231:8;10227:19;10221:4;10200:47;:::i;10258:168::-;10331:9;;;10362;;10379:15;;;10373:22;;10359:37;10349:71;;10400:18;;:::i;11555:184::-;11625:6;11678:2;11666:9;11657:7;11653:23;11649:32;11646:52;;;11694:1;11691;11684:12;11646:52;-1:-1:-1;11717:16:1;;11555:184;-1:-1:-1;11555:184:1:o;11744:217::-;11784:1;11810;11800:132;;11854:10;11849:3;11845:20;11842:1;11835:31;11889:4;11886:1;11879:15;11917:4;11914:1;11907:15;11800:132;-1:-1:-1;11946:9:1;;11744:217::o;12253:277::-;12320:6;12373:2;12361:9;12352:7;12348:23;12344:32;12341:52;;;12389:1;12386;12379:12;12341:52;12421:9;12415:16;12474:5;12467:13;12460:21;12453:5;12450:32;12440:60;;12496:1;12493;12486:12;17364:251;17434:6;17487:2;17475:9;17466:7;17462:23;17458:32;17455:52;;;17503:1;17500;17493:12;17455:52;17535:9;17529:16;17554:31;17579:5;17554:31;:::i;17620:980::-;17882:4;17930:3;17919:9;17915:19;17961:6;17950:9;17943:25;17987:2;18025:6;18020:2;18009:9;18005:18;17998:34;18068:3;18063:2;18052:9;18048:18;18041:31;18092:6;18127;18121:13;18158:6;18150;18143:22;18196:3;18185:9;18181:19;18174:26;;18235:2;18227:6;18223:15;18209:29;;18256:1;18266:195;18280:6;18277:1;18274:13;18266:195;;;18345:13;;-1:-1:-1;;;;;18341:39:1;18329:52;;18436:15;;;;18401:12;;;;18377:1;18295:9;18266:195;;;-1:-1:-1;;;;;;;18517:32:1;;;;18512:2;18497:18;;18490:60;-1:-1:-1;;;18581:3:1;18566:19;18559:35;18478:3;17620:980;-1:-1:-1;;;17620:980:1:o

Swarm Source

ipfs://53d63b0c4ea62187158ad71087ef10125ad64fa41c75414f060d20117abb7b77

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.