ETH Price: $3,268.00 (-0.55%)

Contract

0xc3B0B8551598a67e150bb16b3005990b4A388df6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve216075982025-01-12 9:45:116 days ago1736675111IN
0xc3B0B855...b4A388df6
0 ETH0.000316266.73343581
Approve216075972025-01-12 9:44:596 days ago1736675099IN
0xc3B0B855...b4A388df6
0 ETH0.000316266.73343581
Approve215680312025-01-06 21:13:1112 days ago1736197991IN
0xc3B0B855...b4A388df6
0 ETH0.0010760822.79396155
Transfer215678642025-01-06 20:39:3512 days ago1736195975IN
0xc3B0B855...b4A388df6
0 ETH0.0009522517.83176059
Transfer215678422025-01-06 20:35:1112 days ago1736195711IN
0xc3B0B855...b4A388df6
0 ETH0.0012398617.59523006
Approve215475052025-01-04 0:21:5915 days ago1735950119IN
0xc3B0B855...b4A388df6
0 ETH0.000422828.95634554
Approve215063292024-12-29 6:26:5921 days ago1735453619IN
0xc3B0B855...b4A388df6
0 ETH0.000127832.71135535
Approve215062932024-12-29 6:19:4721 days ago1735453187IN
0xc3B0B855...b4A388df6
0 ETH0.000170823.62310917
Approve215049822024-12-29 1:56:3521 days ago1735437395IN
0xc3B0B855...b4A388df6
0 ETH0.000161443.41979513
Approve214983502024-12-28 3:43:2322 days ago1735357403IN
0xc3B0B855...b4A388df6
0 ETH0.000167153.54076568
Approve214914282024-12-27 4:31:4723 days ago1735273907IN
0xc3B0B855...b4A388df6
0 ETH0.000282515.98437469
Approve214911472024-12-27 3:35:1123 days ago1735270511IN
0xc3B0B855...b4A388df6
0 ETH0.000218964.63816957
Approve214911352024-12-27 3:32:3523 days ago1735270355IN
0xc3B0B855...b4A388df6
0 ETH0.000309536.55679307
Approve214911262024-12-27 3:30:4723 days ago1735270247IN
0xc3B0B855...b4A388df6
0 ETH0.0005083910.77170772
Approve214903452024-12-27 0:53:5923 days ago1735260839IN
0xc3B0B855...b4A388df6
0 ETH0.0007984616.91345611
Approve214902072024-12-27 0:25:5923 days ago1735259159IN
0xc3B0B855...b4A388df6
0 ETH0.000376077.96611227
Approve214902032024-12-27 0:25:1123 days ago1735259111IN
0xc3B0B855...b4A388df6
0 ETH0.000357977.58268913
Approve214902002024-12-27 0:24:3523 days ago1735259075IN
0xc3B0B855...b4A388df6
0 ETH0.0011585224.54030385
Approve214901222024-12-27 0:08:5923 days ago1735258139IN
0xc3B0B855...b4A388df6
0 ETH0.0004768510.15247283
Approve214899732024-12-26 23:38:3523 days ago1735256315IN
0xc3B0B855...b4A388df6
0 ETH0.000463859.8757882
Approve214899102024-12-26 23:25:4723 days ago1735255547IN
0xc3B0B855...b4A388df6
0 ETH0.000322656.83468883
Approve214898992024-12-26 23:23:3523 days ago1735255415IN
0xc3B0B855...b4A388df6
0 ETH0.000360317.63230669
Approve214898922024-12-26 23:22:1123 days ago1735255331IN
0xc3B0B855...b4A388df6
0 ETH0.00033787.15549122
Approve214898902024-12-26 23:21:4723 days ago1735255307IN
0xc3B0B855...b4A388df6
0 ETH0.000436839.25318551
Approve214898882024-12-26 23:21:2323 days ago1735255283IN
0xc3B0B855...b4A388df6
0 ETH0.000354917.51796918
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
214897872024-12-26 23:01:1123 days ago1735254071
0xc3B0B855...b4A388df6
0.04975605 ETH
214897872024-12-26 23:01:1123 days ago1735254071
0xc3B0B855...b4A388df6
0.04975605 ETH
214897872024-12-26 23:01:1123 days ago1735254071
0xc3B0B855...b4A388df6
0.03210667 ETH
214897872024-12-26 23:01:1123 days ago1735254071
0xc3B0B855...b4A388df6
0.03210667 ETH
214897872024-12-26 23:01:1123 days ago1735254071
0xc3B0B855...b4A388df6
0.04260546 ETH
214897872024-12-26 23:01:1123 days ago1735254071
0xc3B0B855...b4A388df6
0.04260546 ETH
214897862024-12-26 23:00:5923 days ago1735254059
0xc3B0B855...b4A388df6
0.03332148 ETH
214897862024-12-26 23:00:5923 days ago1735254059
0xc3B0B855...b4A388df6
0.03332148 ETH
214897862024-12-26 23:00:5923 days ago1735254059
0xc3B0B855...b4A388df6
0.15171525 ETH
214897862024-12-26 23:00:5923 days ago1735254059
0xc3B0B855...b4A388df6
0.15171525 ETH
214897862024-12-26 23:00:5923 days ago1735254059
0xc3B0B855...b4A388df6
0.18012321 ETH
214897862024-12-26 23:00:5923 days ago1735254059
0xc3B0B855...b4A388df6
0.18012321 ETH
214897852024-12-26 23:00:4723 days ago1735254047
0xc3B0B855...b4A388df6
0.04762755 ETH
214897852024-12-26 23:00:4723 days ago1735254047
0xc3B0B855...b4A388df6
0.04762755 ETH
214897852024-12-26 23:00:4723 days ago1735254047
0xc3B0B855...b4A388df6
0.04414153 ETH
214897852024-12-26 23:00:4723 days ago1735254047
0xc3B0B855...b4A388df6
0.04414153 ETH
214897852024-12-26 23:00:4723 days ago1735254047
0xc3B0B855...b4A388df6
0.21135841 ETH
214897852024-12-26 23:00:4723 days ago1735254047
0xc3B0B855...b4A388df6
0.21135841 ETH
214897842024-12-26 23:00:3523 days ago1735254035
0xc3B0B855...b4A388df6
0.08741545 ETH
214897842024-12-26 23:00:3523 days ago1735254035
0xc3B0B855...b4A388df6
0.08741545 ETH
214897812024-12-26 22:59:5923 days ago1735253999
0xc3B0B855...b4A388df6
0.04405964 ETH
214897812024-12-26 22:59:5923 days ago1735253999
0xc3B0B855...b4A388df6
0.04405964 ETH
214897792024-12-26 22:59:3523 days ago1735253975
0xc3B0B855...b4A388df6
0.21587969 ETH
214897792024-12-26 22:59:3523 days ago1735253975
0xc3B0B855...b4A388df6
0.21587969 ETH
214897772024-12-26 22:59:1123 days ago1735253951
0xc3B0B855...b4A388df6
0.10585441 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DWAVEQUANTUMINC

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-12-26
*/

// SPDX-License-Identifier: UNLICENSE
/*





*/

pragma solidity 0.8.28;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract DWAVEQUANTUMINC is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _marketingWallet;
    address payable private _devWallet;
    uint256 _devPortion = 0;

    uint256 private _initialBuyTax = 10;
    uint256 private _initialSellTax = 10;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 15;
    uint256 private _reduceSellTaxAt = 15;
    uint256 private _preventSwapBefore = 20;
    uint256 private _transferTax = 0;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    string private constant _name = unicode"D-Wave Quantum, Inc.";
    string private constant _symbol = unicode"QBTS";
    uint256 public _maxTxAmount= (_tTotal * 10) / 1000;
    uint256 public _maxWalletSize= (_tTotal * 10) / 1000;
    uint256 public _taxSwapThreshold= (_tTotal * 1) / 100;
    uint256 public _maxTaxSwap= (_tTotal * 500) / 1000;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    uint256 public tradingOpenBlock=9999999999;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    event RecoverToken(address TokenAddressCleared, uint256 Amount);
		event TradingOpened(uint256 timestamp, uint256 blockNumber);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

  constructor () {
        _marketingWallet = payable(0xD3CE7929bd3160ea9373Dec41F46485e68Deb9bc);
        _devWallet = payable(0x4d4BA48EB4EeB362c19dE4FD0288758664ec3955);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingWallet] = true;
        _isExcludedFromFee[0x4d4BA48EB4EeB362c19dE4FD0288758664ec3955] = true;
        
        _balances[0x4d4BA48EB4EeB362c19dE4FD0288758664ec3955] = 4206900000000000000;
        emit Transfer(address(0), 0x4d4BA48EB4EeB362c19dE4FD0288758664ec3955, 4206900000000000000);
        _balances[_msgSender()] = 416483100000000000000;
        emit Transfer(address(0), _msgSender(), 416483100000000000000);
    }

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if (block.number < tradingOpenBlock) {
            require(
                _isExcludedFromFee[from] || _isExcludedFromFee[to],
                "Trading is not open yet and you are not authorized"
            );
        }
        uint256 taxAmount = 0;

        if (from != owner() && to != owner()) {
            

            if(_buyCount == 0){
                taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
            }

            if(_buyCount > 0){
                taxAmount =amount.mul(_transferTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
                _buyCount++;
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number>lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");

                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance>0) {
                    sendETHToFee(address(this).balance);
                }

                sellCount++;
                lastSellBlock =block.number;
            }
        }

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

        _balances[from]= _balances[from].sub(amount);
        _balances[to]= _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


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

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

    function removeLimit() external onlyOwner{
        _maxTxAmount =_tTotal;
        _maxWalletSize =_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner{
        _transferTax= 0;
        emit TransferTaxUpdated(0);
    }

	function sendETHToFee(uint256 amount) private {
	    if (_devPortion == 0) {
	        (bool success,) = _marketingWallet.call{value: amount}("");
	    	success;
		} else {
	        uint256 ethForDev = amount * _devPortion / 100;
			uint256 ethForTaxWallet = amount - ethForDev;
			(bool devsuccess,) = _devWallet.call{value: ethForDev}("");
			devsuccess;
			(bool success,)	= _marketingWallet.call{value: ethForTaxWallet}("");
			success;
		}
	}

    function addLiquidity() external onlyOwner() {
        require(tradingOpenBlock > block.number, "Trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
 
    function enableTrading() external onlyOwner() {
        require(tradingOpenBlock > block.number, "Trading is already open");
        tradingOpenBlock = block.number;
        swapEnabled = true;
        emit TradingOpened(block.timestamp, block.number);
    }

    receive() external payable {}
    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender() == _marketingWallet);
      require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);

      _finalBuyTax =_newFee;
      _finalSellTax =_newFee;
    }

    function recoverTokens(address tokenAddress, uint256 tokens) external returns (bool success) {
        require(_msgSender() == _marketingWallet);

        if(tokens == 0){
            tokens = IERC20(tokenAddress).balanceOf(address(this));
        }

        emit RecoverToken(tokenAddress,tokens);
        return IERC20(tokenAddress).transfer(_marketingWallet, tokens);
    }

    function setExcludedFromFee(address account, bool excluded) external onlyOwner {
        require(account != address(0), "Cannot set zero address");
        _isExcludedFromFee[account] = excluded;
    }

 		function setExcludedFromFeeMulti(address[] calldata accounts, bool excluded) external onlyOwner {
        require(accounts.length > 0, "Empty array");
        for (uint256 i = 0; i < accounts.length; i++) {
            require(accounts[i] != address(0), "Cannot set zero address");
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function updateMarketingWallet(address payable newTaxWallet) external onlyOwner {
        require(newTaxWallet != address(0), "New tax wallet cannot be the zero address");
        _marketingWallet = newTaxWallet;
    }

    function clearContractETH() external {
        require(_msgSender() == _marketingWallet);

        uint256 ethBalance= address(this).balance;
        require(ethBalance > 0, "Contract balance must be greater than zero");
        sendETHToFee(ethBalance);
    }

    function manualUnclog() external {
        require(_msgSender() == _marketingWallet);

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"RecoverToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"TradingOpened","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":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":"clearContractETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualUnclog","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":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"recoverTokens","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludedFromFeeMulti","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpenBlock","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 payable","name":"newTaxWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f600655600a600755600a6008555f6009555f600a55600f600b55600f600c556014600d555f600e555f600f556103e8600a6009600a61004491906107a8565b6461f313f88061005491906107f2565b61005e91906107f2565b6100689190610860565b6010556103e8600a6009600a61007e91906107a8565b6461f313f88061008e91906107f2565b61009891906107f2565b6100a29190610860565b601155606460016009600a6100b791906107a8565b6461f313f8806100c791906107f2565b6100d191906107f2565b6100db9190610860565b6012556103e86101f46009600a6100f291906107a8565b6461f313f88061010291906107f2565b61010c91906107f2565b6101169190610860565b6013556402540be3ff6016555f60175f6101000a81548160ff0219169083151502179055505f601760016101000a81548160ff0219169083151502179055505f6018555f601955348015610168575f5ffd5b505f61017861060960201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073d3ce7929bd3160ea9373dec41f46485e68deb9bc60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734d4ba48eb4eeb362c19de4fd0288758664ec395560055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f6102cf61061060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f734d4ba48eb4eeb362c19de4fd0288758664ec395573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550673a61e942c997400060015f734d4ba48eb4eeb362c19de4fd0288758664ec395573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550734d4ba48eb4eeb362c19de4fd0288758664ec395573ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef673a61e942c997400060405161052991906108d2565b60405180910390a3681693dd34d3f57dc00060015f61054c61060960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061059761060960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef681693dd34d3f57dc0006040516105fc9190610924565b60405180910390a361093d565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156106b95780860481111561069557610694610637565b5b60018516156106a45780820291505b80810290506106b285610664565b9450610679565b94509492505050565b5f826106d1576001905061078c565b816106de575f905061078c565b81600181146106f457600281146106fe5761072d565b600191505061078c565b60ff8411156107105761070f610637565b5b8360020a91508482111561072757610726610637565b5b5061078c565b5060208310610133831016604e8410600b84101617156107625782820a90508381111561075d5761075c610637565b5b61078c565b61076f8484846001610670565b9250905081840481111561078657610785610637565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6107b282610793565b91506107bd8361079c565b92506107ea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846106c2565b905092915050565b5f6107fc82610793565b915061080783610793565b925082820261081581610793565b9150828204841483151761082c5761082b610637565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61086a82610793565b915061087583610793565b92508261088557610884610833565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f6108bc6108b76108b284610890565b610899565b610793565b9050919050565b6108cc816108a2565b82525050565b5f6020820190506108e55f8301846108c3565b92915050565b5f819050919050565b5f61090e610909610904846108eb565b610899565b610793565b9050919050565b61091e816108f4565b82525050565b5f6020820190506109375f830184610915565b92915050565b6140f28061094a5f395ff3fe60806040526004361061019f575f3560e01c8063715018a6116100eb57806395d89b4111610089578063bf474bed11610063578063bf474bed1461054c578063dd62ed3e14610576578063e8078d94146105b2578063ec1f3f63146105c8576101a6565b806395d89b41146104be578063a9059cbb146104e8578063aacebbe314610524576101a6565b806383bf0b32116100c557806383bf0b321461042c5780638a8c523c146104545780638da5cb5b1461046a5780638f9a55c014610494576101a6565b8063715018a6146103d65780637c4a7137146103ec5780637d1db4a514610402576101a6565b806318160ddd1161015857806338347fa41161013257806338347fa414610346578063622565891461035c5780636612e66f1461037257806370a082311461039a576101a6565b806318160ddd146102b657806323b872dd146102e0578063313ce5671461031c576101a6565b8063069c9fae146101aa57806306fdde03146101e6578063095ea7b3146102105780630e23500e1461024c5780630faee56f14610276578063109daa99146102a0576101a6565b366101a657005b5f5ffd5b3480156101b5575f5ffd5b506101d060048036038101906101cb9190612d11565b6105f0565b6040516101dd9190612d69565b60405180910390f35b3480156101f1575f5ffd5b506101fa6107af565b6040516102079190612df2565b60405180910390f35b34801561021b575f5ffd5b5061023660048036038101906102319190612d11565b6107ec565b6040516102439190612d69565b60405180910390f35b348015610257575f5ffd5b50610260610809565b60405161026d9190612e21565b60405180910390f35b348015610281575f5ffd5b5061028a61080f565b6040516102979190612e21565b60405180910390f35b3480156102ab575f5ffd5b506102b4610815565b005b3480156102c1575f5ffd5b506102ca6108ea565b6040516102d79190612e21565b60405180910390f35b3480156102eb575f5ffd5b5061030660048036038101906103019190612e3a565b61090e565b6040516103139190612d69565b60405180910390f35b348015610327575f5ffd5b506103306109e2565b60405161033d9190612ea5565b60405180910390f35b348015610351575f5ffd5b5061035a6109ea565b005b348015610367575f5ffd5b50610370610a81565b005b34801561037d575f5ffd5b5061039860048036038101906103939190612ee8565b610bb4565b005b3480156103a5575f5ffd5b506103c060048036038101906103bb9190612f26565b610d0f565b6040516103cd9190612e21565b60405180910390f35b3480156103e1575f5ffd5b506103ea610d55565b005b3480156103f7575f5ffd5b50610400610ea5565b005b34801561040d575f5ffd5b50610416610f56565b6040516104239190612e21565b60405180910390f35b348015610437575f5ffd5b50610452600480360381019061044d9190612fb2565b610f5c565b005b34801561045f575f5ffd5b50610468611169565b005b348015610475575f5ffd5b5061047e61129f565b60405161048b919061301e565b60405180910390f35b34801561049f575f5ffd5b506104a86112c6565b6040516104b59190612e21565b60405180910390f35b3480156104c9575f5ffd5b506104d26112cc565b6040516104df9190612df2565b60405180910390f35b3480156104f3575f5ffd5b5061050e60048036038101906105099190612d11565b611309565b60405161051b9190612d69565b60405180910390f35b34801561052f575f5ffd5b5061054a60048036038101906105459190613072565b611326565b005b348015610557575f5ffd5b5061056061146c565b60405161056d9190612e21565b60405180910390f35b348015610581575f5ffd5b5061059c6004803603810190610597919061309d565b611472565b6040516105a99190612e21565b60405180910390f35b3480156105bd575f5ffd5b506105c66114f4565b005b3480156105d3575f5ffd5b506105ee60048036038101906105e991906130db565b6119d6565b005b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610631611a62565b73ffffffffffffffffffffffffffffffffffffffff1614610650575f5ffd5b5f82036106d2578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610690919061301e565b602060405180830381865afa1580156106ab573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106cf919061311a565b91505b7ffba2d3bdfb2d601eb66a89783a2c614856101cadce71556753c2edadd60c831c8383604051610703929190613145565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016107679291906131c7565b6020604051808303815f875af1158015610783573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a79190613202565b905092915050565b60606040518060400160405280601481526020017f442d57617665205175616e74756d2c20496e632e000000000000000000000000815250905090565b5f6107ff6107f8611a62565b8484611a69565b6001905092915050565b60165481565b60135481565b61081d611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a190613277565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516108e091906132ce565b60405180910390a1565b5f6009600a6108f99190613443565b6461f313f880610909919061348d565b905090565b5f61091a848484611c2c565b6109d784610926611a62565b6109d2856040518060600160405280602881526020016140956028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610989611a62565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125f49092919063ffffffff16565b611a69565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a2a611a62565b73ffffffffffffffffffffffffffffffffffffffff1614610a49575f5ffd5b5f610a5330610d0f565b90505f811115610a6757610a6681612656565b5b5f4790505f811115610a7d57610a7c816128bf565b5b5050565b610a89611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d90613277565b60405180910390fd5b6009600a610b249190613443565b6461f313f880610b34919061348d565b6010819055506009600a610b489190613443565b6461f313f880610b58919061348d565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b8d9190613443565b6461f313f880610b9d919061348d565b604051610baa9190612e21565b60405180910390a1565b610bbc611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4090613277565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cae90613518565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d5d611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de190613277565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ee5611a62565b73ffffffffffffffffffffffffffffffffffffffff1614610f04575f5ffd5b5f4790505f8111610f4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f41906135a6565b60405180910390fd5b610f53816128bf565b50565b60105481565b610f64611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe890613277565b60405180910390fd5b5f8383905011611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d9061360e565b60405180910390fd5b5f5f90505b83839050811015611163575f73ffffffffffffffffffffffffffffffffffffffff168484838181106110705761106f61362c565b5b90506020020160208101906110859190612f26565b73ffffffffffffffffffffffffffffffffffffffff16036110db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d290613518565b60405180910390fd5b8160035f8686858181106110f2576110f161362c565b5b90506020020160208101906111079190612f26565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061103b565b50505050565b611171611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f590613277565b60405180910390fd5b4360165411611242576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611239906136a3565b60405180910390fd5b436016819055506001601760016101000a81548160ff0219169083151502179055507f5222e705b737362f1fdaea6a49688b7adb508a9284351fdca9914de069f7080442436040516112959291906136c1565b60405180910390a1565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600481526020017f5142545300000000000000000000000000000000000000000000000000000000815250905090565b5f61131c611315611a62565b8484611c2c565b6001905092915050565b61132e611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b290613277565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142090613758565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60125481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6114fc611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611589576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158090613277565b60405180910390fd5b43601654116115cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c4906136a3565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061166a3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6116559190613443565b6461f313f880611665919061348d565b611a69565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116f8919061378a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a2919061378a565b6040518363ffffffff1660e01b81526004016117bf9291906137b5565b6020604051808303815f875af11580156117db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff919061378a565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061188630610d0f565b5f5f61189061129f565b426040518863ffffffff1660e01b81526004016118b2969594939291906137dc565b60606040518083038185885af11580156118ce573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906118f3919061383b565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611993929190613145565b6020604051808303815f875af11580156119af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119d39190613202565b50565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611a16611a62565b73ffffffffffffffffffffffffffffffffffffffff1614611a35575f5ffd5b6009548111158015611a495750600a548111155b611a51575f5ffd5b8060098190555080600a8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ace906138fb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3c90613989565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c1f9190612e21565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9190613a17565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cff90613aa5565b60405180910390fd5b5f8111611d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4190613b33565b60405180910390fd5b601654431015611e2f5760035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611def575060035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2590613bc1565b60405180910390fd5b5b5f5f9050611e3b61129f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ea95750611e7961129f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612344575f600f5403611ef657611ef36064611ee5600b54600f5411611ed257600754611ed6565b6009545b85612a9d90919063ffffffff16565b612b1490919063ffffffff16565b90505b5f600f541115611f2b57611f286064611f1a600e5485612a9d90919063ffffffff16565b612b1490919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611fd4575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612027575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561211f57601054821115612071576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206890613c29565b60405180910390fd5b6011548261207e85610d0f565b6120889190613c47565b11156120c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c090613cc4565b60405180910390fd5b61210560646120f7600b54600f54116120e4576007546120e8565b6009545b85612a9d90919063ffffffff16565b612b1490919063ffffffff16565b9050600f5f81548092919061211990613ce2565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121a757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156121eb576121e860646121da600c54600f54116121c7576008546121cb565b600a545b85612a9d90919063ffffffff16565b612b1490919063ffffffff16565b90505b5f6121f530610d0f565b905060175f9054906101000a900460ff1615801561225f575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156122775750601760019054906101000a900460ff165b8015612284575060125481115b80156122935750600d54600f54115b15612342576019544311156122aa575f6018819055505b6003601854106122ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e690613d73565b60405180910390fd5b61230c6123078461230284601354612b5d565b612b5d565b612656565b5f4790505f81111561232257612321476128bf565b5b60185f81548092919061233490613ce2565b919050555043601981905550505b505b5f8111156124435761239c8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b7590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161243a9190612e21565b60405180910390a35b6124938260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612bd290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506125366124ea8284612bd290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b7590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6125d98486612bd290919063ffffffff16565b6040516125e69190612e21565b60405180910390a350505050565b5f83831115829061263b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126329190612df2565b60405180910390fd5b505f83856126499190613d91565b9050809150509392505050565b600160175f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561268c5761268b613dc4565b5b6040519080825280602002602001820160405280156126ba5781602001602082028036833780820191505090505b50905030815f815181106126d1576126d061362c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612775573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612799919061378a565b816001815181106127ad576127ac61362c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506128133060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a69565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612875959493929190613ea8565b5f604051808303815f87803b15801561288c575f5ffd5b505af115801561289e573d5f5f3e3d5ffd5b50505050505f60175f6101000a81548160ff02191690831515021790555050565b5f60065403612957575f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161290e90613f2d565b5f6040518083038185875af1925050503d805f8114612948576040519150601f19603f3d011682016040523d82523d5f602084013e61294d565b606091505b5050905050612a9a565b5f606460065483612968919061348d565b6129729190613f6e565b90505f81836129819190613d91565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040516129c990613f2d565b5f6040518083038185875af1925050503d805f8114612a03576040519150601f19603f3d011682016040523d82523d5f602084013e612a08565b606091505b505090505f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612a5290613f2d565b5f6040518083038185875af1925050503d805f8114612a8c576040519150601f19603f3d011682016040523d82523d5f602084013e612a91565b606091505b50509050505050505b50565b5f5f8303612aad575f9050612b0e565b5f8284612aba919061348d565b9050828482612ac99190613f6e565b14612b09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b009061400e565b60405180910390fd5b809150505b92915050565b5f612b5583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c1b565b905092915050565b5f818311612b6b5782612b6d565b815b905092915050565b5f5f8284612b839190613c47565b905083811015612bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bbf90614076565b60405180910390fd5b8091505092915050565b5f612c1383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125f4565b905092915050565b5f5f83118290612c61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c589190612df2565b60405180910390fd5b505f8385612c6f9190613f6e565b9050809150509392505050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612cad82612c84565b9050919050565b612cbd81612ca3565b8114612cc7575f5ffd5b50565b5f81359050612cd881612cb4565b92915050565b5f819050919050565b612cf081612cde565b8114612cfa575f5ffd5b50565b5f81359050612d0b81612ce7565b92915050565b5f5f60408385031215612d2757612d26612c7c565b5b5f612d3485828601612cca565b9250506020612d4585828601612cfd565b9150509250929050565b5f8115159050919050565b612d6381612d4f565b82525050565b5f602082019050612d7c5f830184612d5a565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612dc482612d82565b612dce8185612d8c565b9350612dde818560208601612d9c565b612de781612daa565b840191505092915050565b5f6020820190508181035f830152612e0a8184612dba565b905092915050565b612e1b81612cde565b82525050565b5f602082019050612e345f830184612e12565b92915050565b5f5f5f60608486031215612e5157612e50612c7c565b5b5f612e5e86828701612cca565b9350506020612e6f86828701612cca565b9250506040612e8086828701612cfd565b9150509250925092565b5f60ff82169050919050565b612e9f81612e8a565b82525050565b5f602082019050612eb85f830184612e96565b92915050565b612ec781612d4f565b8114612ed1575f5ffd5b50565b5f81359050612ee281612ebe565b92915050565b5f5f60408385031215612efe57612efd612c7c565b5b5f612f0b85828601612cca565b9250506020612f1c85828601612ed4565b9150509250929050565b5f60208284031215612f3b57612f3a612c7c565b5b5f612f4884828501612cca565b91505092915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112612f7257612f71612f51565b5b8235905067ffffffffffffffff811115612f8f57612f8e612f55565b5b602083019150836020820283011115612fab57612faa612f59565b5b9250929050565b5f5f5f60408486031215612fc957612fc8612c7c565b5b5f84013567ffffffffffffffff811115612fe657612fe5612c80565b5b612ff286828701612f5d565b9350935050602061300586828701612ed4565b9150509250925092565b61301881612ca3565b82525050565b5f6020820190506130315f83018461300f565b92915050565b5f61304182612c84565b9050919050565b61305181613037565b811461305b575f5ffd5b50565b5f8135905061306c81613048565b92915050565b5f6020828403121561308757613086612c7c565b5b5f6130948482850161305e565b91505092915050565b5f5f604083850312156130b3576130b2612c7c565b5b5f6130c085828601612cca565b92505060206130d185828601612cca565b9150509250929050565b5f602082840312156130f0576130ef612c7c565b5b5f6130fd84828501612cfd565b91505092915050565b5f8151905061311481612ce7565b92915050565b5f6020828403121561312f5761312e612c7c565b5b5f61313c84828501613106565b91505092915050565b5f6040820190506131585f83018561300f565b6131656020830184612e12565b9392505050565b5f819050919050565b5f61318f61318a61318584612c84565b61316c565b612c84565b9050919050565b5f6131a082613175565b9050919050565b5f6131b182613196565b9050919050565b6131c1816131a7565b82525050565b5f6040820190506131da5f8301856131b8565b6131e76020830184612e12565b9392505050565b5f815190506131fc81612ebe565b92915050565b5f6020828403121561321757613216612c7c565b5b5f613224848285016131ee565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613261602083612d8c565b915061326c8261322d565b602082019050919050565b5f6020820190508181035f83015261328e81613255565b9050919050565b5f819050919050565b5f6132b86132b36132ae84613295565b61316c565b612cde565b9050919050565b6132c88161329e565b82525050565b5f6020820190506132e15f8301846132bf565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561336957808604811115613345576133446132e7565b5b60018516156133545780820291505b808102905061336285613314565b9450613329565b94509492505050565b5f82613381576001905061343c565b8161338e575f905061343c565b81600181146133a457600281146133ae576133dd565b600191505061343c565b60ff8411156133c0576133bf6132e7565b5b8360020a9150848211156133d7576133d66132e7565b5b5061343c565b5060208310610133831016604e8410600b84101617156134125782820a90508381111561340d5761340c6132e7565b5b61343c565b61341f8484846001613320565b92509050818404811115613436576134356132e7565b5b81810290505b9392505050565b5f61344d82612cde565b915061345883612e8a565b92506134857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613372565b905092915050565b5f61349782612cde565b91506134a283612cde565b92508282026134b081612cde565b915082820484148315176134c7576134c66132e7565b5b5092915050565b7f43616e6e6f7420736574207a65726f20616464726573730000000000000000005f82015250565b5f613502601783612d8c565b915061350d826134ce565b602082019050919050565b5f6020820190508181035f83015261352f816134f6565b9050919050565b7f436f6e74726163742062616c616e6365206d75737420626520677265617465725f8201527f207468616e207a65726f00000000000000000000000000000000000000000000602082015250565b5f613590602a83612d8c565b915061359b82613536565b604082019050919050565b5f6020820190508181035f8301526135bd81613584565b9050919050565b7f456d7074792061727261790000000000000000000000000000000000000000005f82015250565b5f6135f8600b83612d8c565b9150613603826135c4565b602082019050919050565b5f6020820190508181035f830152613625816135ec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61368d601783612d8c565b915061369882613659565b602082019050919050565b5f6020820190508181035f8301526136ba81613681565b9050919050565b5f6040820190506136d45f830185612e12565b6136e16020830184612e12565b9392505050565b7f4e6577207461782077616c6c65742063616e6e6f7420626520746865207a65725f8201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b5f613742602983612d8c565b915061374d826136e8565b604082019050919050565b5f6020820190508181035f83015261376f81613736565b9050919050565b5f8151905061378481612cb4565b92915050565b5f6020828403121561379f5761379e612c7c565b5b5f6137ac84828501613776565b91505092915050565b5f6040820190506137c85f83018561300f565b6137d5602083018461300f565b9392505050565b5f60c0820190506137ef5f83018961300f565b6137fc6020830188612e12565b61380960408301876132bf565b61381660608301866132bf565b613823608083018561300f565b61383060a0830184612e12565b979650505050505050565b5f5f5f6060848603121561385257613851612c7c565b5b5f61385f86828701613106565b935050602061387086828701613106565b925050604061388186828701613106565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6138e5602483612d8c565b91506138f08261388b565b604082019050919050565b5f6020820190508181035f830152613912816138d9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613973602283612d8c565b915061397e82613919565b604082019050919050565b5f6020820190508181035f8301526139a081613967565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613a01602583612d8c565b9150613a0c826139a7565b604082019050919050565b5f6020820190508181035f830152613a2e816139f5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613a8f602383612d8c565b9150613a9a82613a35565b604082019050919050565b5f6020820190508181035f830152613abc81613a83565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613b1d602983612d8c565b9150613b2882613ac3565b604082019050919050565b5f6020820190508181035f830152613b4a81613b11565b9050919050565b7f54726164696e67206973206e6f74206f70656e2079657420616e6420796f75205f8201527f617265206e6f7420617574686f72697a65640000000000000000000000000000602082015250565b5f613bab603283612d8c565b9150613bb682613b51565b604082019050919050565b5f6020820190508181035f830152613bd881613b9f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613c13601983612d8c565b9150613c1e82613bdf565b602082019050919050565b5f6020820190508181035f830152613c4081613c07565b9050919050565b5f613c5182612cde565b9150613c5c83612cde565b9250828201905080821115613c7457613c736132e7565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613cae601a83612d8c565b9150613cb982613c7a565b602082019050919050565b5f6020820190508181035f830152613cdb81613ca2565b9050919050565b5f613cec82612cde565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d1e57613d1d6132e7565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f613d5d601783612d8c565b9150613d6882613d29565b602082019050919050565b5f6020820190508181035f830152613d8a81613d51565b9050919050565b5f613d9b82612cde565b9150613da683612cde565b9250828203905081811115613dbe57613dbd6132e7565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613e2381612ca3565b82525050565b5f613e348383613e1a565b60208301905092915050565b5f602082019050919050565b5f613e5682613df1565b613e608185613dfb565b9350613e6b83613e0b565b805f5b83811015613e9b578151613e828882613e29565b9750613e8d83613e40565b925050600181019050613e6e565b5085935050505092915050565b5f60a082019050613ebb5f830188612e12565b613ec860208301876132bf565b8181036040830152613eda8186613e4c565b9050613ee9606083018561300f565b613ef66080830184612e12565b9695505050505050565b5f81905092915050565b50565b5f613f185f83613f00565b9150613f2382613f0a565b5f82019050919050565b5f613f3782613f0d565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613f7882612cde565b9150613f8383612cde565b925082613f9357613f92613f41565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ff8602183612d8c565b915061400382613f9e565b604082019050919050565b5f6020820190508181035f83015261402581613fec565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614060601b83612d8c565b915061406b8261402c565b602082019050919050565b5f6020820190508181035f83015261408d81614054565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d6a45c9e19be5ca0a2244bb6f130cb205ba96139ee2428034df40144c2f8a06d64736f6c634300081c0033

Deployed Bytecode

0x60806040526004361061019f575f3560e01c8063715018a6116100eb57806395d89b4111610089578063bf474bed11610063578063bf474bed1461054c578063dd62ed3e14610576578063e8078d94146105b2578063ec1f3f63146105c8576101a6565b806395d89b41146104be578063a9059cbb146104e8578063aacebbe314610524576101a6565b806383bf0b32116100c557806383bf0b321461042c5780638a8c523c146104545780638da5cb5b1461046a5780638f9a55c014610494576101a6565b8063715018a6146103d65780637c4a7137146103ec5780637d1db4a514610402576101a6565b806318160ddd1161015857806338347fa41161013257806338347fa414610346578063622565891461035c5780636612e66f1461037257806370a082311461039a576101a6565b806318160ddd146102b657806323b872dd146102e0578063313ce5671461031c576101a6565b8063069c9fae146101aa57806306fdde03146101e6578063095ea7b3146102105780630e23500e1461024c5780630faee56f14610276578063109daa99146102a0576101a6565b366101a657005b5f5ffd5b3480156101b5575f5ffd5b506101d060048036038101906101cb9190612d11565b6105f0565b6040516101dd9190612d69565b60405180910390f35b3480156101f1575f5ffd5b506101fa6107af565b6040516102079190612df2565b60405180910390f35b34801561021b575f5ffd5b5061023660048036038101906102319190612d11565b6107ec565b6040516102439190612d69565b60405180910390f35b348015610257575f5ffd5b50610260610809565b60405161026d9190612e21565b60405180910390f35b348015610281575f5ffd5b5061028a61080f565b6040516102979190612e21565b60405180910390f35b3480156102ab575f5ffd5b506102b4610815565b005b3480156102c1575f5ffd5b506102ca6108ea565b6040516102d79190612e21565b60405180910390f35b3480156102eb575f5ffd5b5061030660048036038101906103019190612e3a565b61090e565b6040516103139190612d69565b60405180910390f35b348015610327575f5ffd5b506103306109e2565b60405161033d9190612ea5565b60405180910390f35b348015610351575f5ffd5b5061035a6109ea565b005b348015610367575f5ffd5b50610370610a81565b005b34801561037d575f5ffd5b5061039860048036038101906103939190612ee8565b610bb4565b005b3480156103a5575f5ffd5b506103c060048036038101906103bb9190612f26565b610d0f565b6040516103cd9190612e21565b60405180910390f35b3480156103e1575f5ffd5b506103ea610d55565b005b3480156103f7575f5ffd5b50610400610ea5565b005b34801561040d575f5ffd5b50610416610f56565b6040516104239190612e21565b60405180910390f35b348015610437575f5ffd5b50610452600480360381019061044d9190612fb2565b610f5c565b005b34801561045f575f5ffd5b50610468611169565b005b348015610475575f5ffd5b5061047e61129f565b60405161048b919061301e565b60405180910390f35b34801561049f575f5ffd5b506104a86112c6565b6040516104b59190612e21565b60405180910390f35b3480156104c9575f5ffd5b506104d26112cc565b6040516104df9190612df2565b60405180910390f35b3480156104f3575f5ffd5b5061050e60048036038101906105099190612d11565b611309565b60405161051b9190612d69565b60405180910390f35b34801561052f575f5ffd5b5061054a60048036038101906105459190613072565b611326565b005b348015610557575f5ffd5b5061056061146c565b60405161056d9190612e21565b60405180910390f35b348015610581575f5ffd5b5061059c6004803603810190610597919061309d565b611472565b6040516105a99190612e21565b60405180910390f35b3480156105bd575f5ffd5b506105c66114f4565b005b3480156105d3575f5ffd5b506105ee60048036038101906105e991906130db565b6119d6565b005b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610631611a62565b73ffffffffffffffffffffffffffffffffffffffff1614610650575f5ffd5b5f82036106d2578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610690919061301e565b602060405180830381865afa1580156106ab573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106cf919061311a565b91505b7ffba2d3bdfb2d601eb66a89783a2c614856101cadce71556753c2edadd60c831c8383604051610703929190613145565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016107679291906131c7565b6020604051808303815f875af1158015610783573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a79190613202565b905092915050565b60606040518060400160405280601481526020017f442d57617665205175616e74756d2c20496e632e000000000000000000000000815250905090565b5f6107ff6107f8611a62565b8484611a69565b6001905092915050565b60165481565b60135481565b61081d611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a190613277565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516108e091906132ce565b60405180910390a1565b5f6009600a6108f99190613443565b6461f313f880610909919061348d565b905090565b5f61091a848484611c2c565b6109d784610926611a62565b6109d2856040518060600160405280602881526020016140956028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610989611a62565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125f49092919063ffffffff16565b611a69565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a2a611a62565b73ffffffffffffffffffffffffffffffffffffffff1614610a49575f5ffd5b5f610a5330610d0f565b90505f811115610a6757610a6681612656565b5b5f4790505f811115610a7d57610a7c816128bf565b5b5050565b610a89611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d90613277565b60405180910390fd5b6009600a610b249190613443565b6461f313f880610b34919061348d565b6010819055506009600a610b489190613443565b6461f313f880610b58919061348d565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b8d9190613443565b6461f313f880610b9d919061348d565b604051610baa9190612e21565b60405180910390a1565b610bbc611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4090613277565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cae90613518565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d5d611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de190613277565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ee5611a62565b73ffffffffffffffffffffffffffffffffffffffff1614610f04575f5ffd5b5f4790505f8111610f4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f41906135a6565b60405180910390fd5b610f53816128bf565b50565b60105481565b610f64611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe890613277565b60405180910390fd5b5f8383905011611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d9061360e565b60405180910390fd5b5f5f90505b83839050811015611163575f73ffffffffffffffffffffffffffffffffffffffff168484838181106110705761106f61362c565b5b90506020020160208101906110859190612f26565b73ffffffffffffffffffffffffffffffffffffffff16036110db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d290613518565b60405180910390fd5b8160035f8686858181106110f2576110f161362c565b5b90506020020160208101906111079190612f26565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061103b565b50505050565b611171611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f590613277565b60405180910390fd5b4360165411611242576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611239906136a3565b60405180910390fd5b436016819055506001601760016101000a81548160ff0219169083151502179055507f5222e705b737362f1fdaea6a49688b7adb508a9284351fdca9914de069f7080442436040516112959291906136c1565b60405180910390a1565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600481526020017f5142545300000000000000000000000000000000000000000000000000000000815250905090565b5f61131c611315611a62565b8484611c2c565b6001905092915050565b61132e611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b290613277565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142090613758565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60125481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6114fc611a62565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611589576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158090613277565b60405180910390fd5b43601654116115cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c4906136a3565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061166a3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6116559190613443565b6461f313f880611665919061348d565b611a69565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116f8919061378a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a2919061378a565b6040518363ffffffff1660e01b81526004016117bf9291906137b5565b6020604051808303815f875af11580156117db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff919061378a565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061188630610d0f565b5f5f61189061129f565b426040518863ffffffff1660e01b81526004016118b2969594939291906137dc565b60606040518083038185885af11580156118ce573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906118f3919061383b565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611993929190613145565b6020604051808303815f875af11580156119af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119d39190613202565b50565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611a16611a62565b73ffffffffffffffffffffffffffffffffffffffff1614611a35575f5ffd5b6009548111158015611a495750600a548111155b611a51575f5ffd5b8060098190555080600a8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ace906138fb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3c90613989565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c1f9190612e21565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9190613a17565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cff90613aa5565b60405180910390fd5b5f8111611d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4190613b33565b60405180910390fd5b601654431015611e2f5760035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611def575060035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2590613bc1565b60405180910390fd5b5b5f5f9050611e3b61129f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ea95750611e7961129f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612344575f600f5403611ef657611ef36064611ee5600b54600f5411611ed257600754611ed6565b6009545b85612a9d90919063ffffffff16565b612b1490919063ffffffff16565b90505b5f600f541115611f2b57611f286064611f1a600e5485612a9d90919063ffffffff16565b612b1490919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611fd4575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612027575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561211f57601054821115612071576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206890613c29565b60405180910390fd5b6011548261207e85610d0f565b6120889190613c47565b11156120c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c090613cc4565b60405180910390fd5b61210560646120f7600b54600f54116120e4576007546120e8565b6009545b85612a9d90919063ffffffff16565b612b1490919063ffffffff16565b9050600f5f81548092919061211990613ce2565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121a757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156121eb576121e860646121da600c54600f54116121c7576008546121cb565b600a545b85612a9d90919063ffffffff16565b612b1490919063ffffffff16565b90505b5f6121f530610d0f565b905060175f9054906101000a900460ff1615801561225f575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156122775750601760019054906101000a900460ff165b8015612284575060125481115b80156122935750600d54600f54115b15612342576019544311156122aa575f6018819055505b6003601854106122ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e690613d73565b60405180910390fd5b61230c6123078461230284601354612b5d565b612b5d565b612656565b5f4790505f81111561232257612321476128bf565b5b60185f81548092919061233490613ce2565b919050555043601981905550505b505b5f8111156124435761239c8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b7590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161243a9190612e21565b60405180910390a35b6124938260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612bd290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506125366124ea8284612bd290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b7590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6125d98486612bd290919063ffffffff16565b6040516125e69190612e21565b60405180910390a350505050565b5f83831115829061263b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126329190612df2565b60405180910390fd5b505f83856126499190613d91565b9050809150509392505050565b600160175f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561268c5761268b613dc4565b5b6040519080825280602002602001820160405280156126ba5781602001602082028036833780820191505090505b50905030815f815181106126d1576126d061362c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612775573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612799919061378a565b816001815181106127ad576127ac61362c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506128133060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a69565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612875959493929190613ea8565b5f604051808303815f87803b15801561288c575f5ffd5b505af115801561289e573d5f5f3e3d5ffd5b50505050505f60175f6101000a81548160ff02191690831515021790555050565b5f60065403612957575f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161290e90613f2d565b5f6040518083038185875af1925050503d805f8114612948576040519150601f19603f3d011682016040523d82523d5f602084013e61294d565b606091505b5050905050612a9a565b5f606460065483612968919061348d565b6129729190613f6e565b90505f81836129819190613d91565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040516129c990613f2d565b5f6040518083038185875af1925050503d805f8114612a03576040519150601f19603f3d011682016040523d82523d5f602084013e612a08565b606091505b505090505f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612a5290613f2d565b5f6040518083038185875af1925050503d805f8114612a8c576040519150601f19603f3d011682016040523d82523d5f602084013e612a91565b606091505b50509050505050505b50565b5f5f8303612aad575f9050612b0e565b5f8284612aba919061348d565b9050828482612ac99190613f6e565b14612b09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b009061400e565b60405180910390fd5b809150505b92915050565b5f612b5583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c1b565b905092915050565b5f818311612b6b5782612b6d565b815b905092915050565b5f5f8284612b839190613c47565b905083811015612bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bbf90614076565b60405180910390fd5b8091505092915050565b5f612c1383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125f4565b905092915050565b5f5f83118290612c61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c589190612df2565b60405180910390fd5b505f8385612c6f9190613f6e565b9050809150509392505050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612cad82612c84565b9050919050565b612cbd81612ca3565b8114612cc7575f5ffd5b50565b5f81359050612cd881612cb4565b92915050565b5f819050919050565b612cf081612cde565b8114612cfa575f5ffd5b50565b5f81359050612d0b81612ce7565b92915050565b5f5f60408385031215612d2757612d26612c7c565b5b5f612d3485828601612cca565b9250506020612d4585828601612cfd565b9150509250929050565b5f8115159050919050565b612d6381612d4f565b82525050565b5f602082019050612d7c5f830184612d5a565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612dc482612d82565b612dce8185612d8c565b9350612dde818560208601612d9c565b612de781612daa565b840191505092915050565b5f6020820190508181035f830152612e0a8184612dba565b905092915050565b612e1b81612cde565b82525050565b5f602082019050612e345f830184612e12565b92915050565b5f5f5f60608486031215612e5157612e50612c7c565b5b5f612e5e86828701612cca565b9350506020612e6f86828701612cca565b9250506040612e8086828701612cfd565b9150509250925092565b5f60ff82169050919050565b612e9f81612e8a565b82525050565b5f602082019050612eb85f830184612e96565b92915050565b612ec781612d4f565b8114612ed1575f5ffd5b50565b5f81359050612ee281612ebe565b92915050565b5f5f60408385031215612efe57612efd612c7c565b5b5f612f0b85828601612cca565b9250506020612f1c85828601612ed4565b9150509250929050565b5f60208284031215612f3b57612f3a612c7c565b5b5f612f4884828501612cca565b91505092915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112612f7257612f71612f51565b5b8235905067ffffffffffffffff811115612f8f57612f8e612f55565b5b602083019150836020820283011115612fab57612faa612f59565b5b9250929050565b5f5f5f60408486031215612fc957612fc8612c7c565b5b5f84013567ffffffffffffffff811115612fe657612fe5612c80565b5b612ff286828701612f5d565b9350935050602061300586828701612ed4565b9150509250925092565b61301881612ca3565b82525050565b5f6020820190506130315f83018461300f565b92915050565b5f61304182612c84565b9050919050565b61305181613037565b811461305b575f5ffd5b50565b5f8135905061306c81613048565b92915050565b5f6020828403121561308757613086612c7c565b5b5f6130948482850161305e565b91505092915050565b5f5f604083850312156130b3576130b2612c7c565b5b5f6130c085828601612cca565b92505060206130d185828601612cca565b9150509250929050565b5f602082840312156130f0576130ef612c7c565b5b5f6130fd84828501612cfd565b91505092915050565b5f8151905061311481612ce7565b92915050565b5f6020828403121561312f5761312e612c7c565b5b5f61313c84828501613106565b91505092915050565b5f6040820190506131585f83018561300f565b6131656020830184612e12565b9392505050565b5f819050919050565b5f61318f61318a61318584612c84565b61316c565b612c84565b9050919050565b5f6131a082613175565b9050919050565b5f6131b182613196565b9050919050565b6131c1816131a7565b82525050565b5f6040820190506131da5f8301856131b8565b6131e76020830184612e12565b9392505050565b5f815190506131fc81612ebe565b92915050565b5f6020828403121561321757613216612c7c565b5b5f613224848285016131ee565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613261602083612d8c565b915061326c8261322d565b602082019050919050565b5f6020820190508181035f83015261328e81613255565b9050919050565b5f819050919050565b5f6132b86132b36132ae84613295565b61316c565b612cde565b9050919050565b6132c88161329e565b82525050565b5f6020820190506132e15f8301846132bf565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561336957808604811115613345576133446132e7565b5b60018516156133545780820291505b808102905061336285613314565b9450613329565b94509492505050565b5f82613381576001905061343c565b8161338e575f905061343c565b81600181146133a457600281146133ae576133dd565b600191505061343c565b60ff8411156133c0576133bf6132e7565b5b8360020a9150848211156133d7576133d66132e7565b5b5061343c565b5060208310610133831016604e8410600b84101617156134125782820a90508381111561340d5761340c6132e7565b5b61343c565b61341f8484846001613320565b92509050818404811115613436576134356132e7565b5b81810290505b9392505050565b5f61344d82612cde565b915061345883612e8a565b92506134857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613372565b905092915050565b5f61349782612cde565b91506134a283612cde565b92508282026134b081612cde565b915082820484148315176134c7576134c66132e7565b5b5092915050565b7f43616e6e6f7420736574207a65726f20616464726573730000000000000000005f82015250565b5f613502601783612d8c565b915061350d826134ce565b602082019050919050565b5f6020820190508181035f83015261352f816134f6565b9050919050565b7f436f6e74726163742062616c616e6365206d75737420626520677265617465725f8201527f207468616e207a65726f00000000000000000000000000000000000000000000602082015250565b5f613590602a83612d8c565b915061359b82613536565b604082019050919050565b5f6020820190508181035f8301526135bd81613584565b9050919050565b7f456d7074792061727261790000000000000000000000000000000000000000005f82015250565b5f6135f8600b83612d8c565b9150613603826135c4565b602082019050919050565b5f6020820190508181035f830152613625816135ec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61368d601783612d8c565b915061369882613659565b602082019050919050565b5f6020820190508181035f8301526136ba81613681565b9050919050565b5f6040820190506136d45f830185612e12565b6136e16020830184612e12565b9392505050565b7f4e6577207461782077616c6c65742063616e6e6f7420626520746865207a65725f8201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b5f613742602983612d8c565b915061374d826136e8565b604082019050919050565b5f6020820190508181035f83015261376f81613736565b9050919050565b5f8151905061378481612cb4565b92915050565b5f6020828403121561379f5761379e612c7c565b5b5f6137ac84828501613776565b91505092915050565b5f6040820190506137c85f83018561300f565b6137d5602083018461300f565b9392505050565b5f60c0820190506137ef5f83018961300f565b6137fc6020830188612e12565b61380960408301876132bf565b61381660608301866132bf565b613823608083018561300f565b61383060a0830184612e12565b979650505050505050565b5f5f5f6060848603121561385257613851612c7c565b5b5f61385f86828701613106565b935050602061387086828701613106565b925050604061388186828701613106565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6138e5602483612d8c565b91506138f08261388b565b604082019050919050565b5f6020820190508181035f830152613912816138d9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613973602283612d8c565b915061397e82613919565b604082019050919050565b5f6020820190508181035f8301526139a081613967565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613a01602583612d8c565b9150613a0c826139a7565b604082019050919050565b5f6020820190508181035f830152613a2e816139f5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613a8f602383612d8c565b9150613a9a82613a35565b604082019050919050565b5f6020820190508181035f830152613abc81613a83565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613b1d602983612d8c565b9150613b2882613ac3565b604082019050919050565b5f6020820190508181035f830152613b4a81613b11565b9050919050565b7f54726164696e67206973206e6f74206f70656e2079657420616e6420796f75205f8201527f617265206e6f7420617574686f72697a65640000000000000000000000000000602082015250565b5f613bab603283612d8c565b9150613bb682613b51565b604082019050919050565b5f6020820190508181035f830152613bd881613b9f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613c13601983612d8c565b9150613c1e82613bdf565b602082019050919050565b5f6020820190508181035f830152613c4081613c07565b9050919050565b5f613c5182612cde565b9150613c5c83612cde565b9250828201905080821115613c7457613c736132e7565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613cae601a83612d8c565b9150613cb982613c7a565b602082019050919050565b5f6020820190508181035f830152613cdb81613ca2565b9050919050565b5f613cec82612cde565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d1e57613d1d6132e7565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f613d5d601783612d8c565b9150613d6882613d29565b602082019050919050565b5f6020820190508181035f830152613d8a81613d51565b9050919050565b5f613d9b82612cde565b9150613da683612cde565b9250828203905081811115613dbe57613dbd6132e7565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613e2381612ca3565b82525050565b5f613e348383613e1a565b60208301905092915050565b5f602082019050919050565b5f613e5682613df1565b613e608185613dfb565b9350613e6b83613e0b565b805f5b83811015613e9b578151613e828882613e29565b9750613e8d83613e40565b925050600181019050613e6e565b5085935050505092915050565b5f60a082019050613ebb5f830188612e12565b613ec860208301876132bf565b8181036040830152613eda8186613e4c565b9050613ee9606083018561300f565b613ef66080830184612e12565b9695505050505050565b5f81905092915050565b50565b5f613f185f83613f00565b9150613f2382613f0a565b5f82019050919050565b5f613f3782613f0d565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613f7882612cde565b9150613f8383612cde565b925082613f9357613f92613f41565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ff8602183612d8c565b915061400382613f9e565b604082019050919050565b5f6020820190508181035f83015261402581613fec565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614060601b83612d8c565b915061406b8261402c565b602082019050919050565b5f6020820190508181035f83015261408d81614054565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d6a45c9e19be5ca0a2244bb6f130cb205ba96139ee2428034df40144c2f8a06d64736f6c634300081c0033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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