ETH Price: $1,984.37 (-4.78%)
Gas: 0.03 Gwei

Contract

0x453a7EeEd3DE670604Cb82dc87c568051Dcb632f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve241372912026-01-01 4:08:4764 days ago1767240527IN
0x453a7EeE...51Dcb632f
0 ETH0.000146865.37494695
Approve241372632026-01-01 4:03:1164 days ago1767240191IN
0x453a7EeE...51Dcb632f
0 ETH0.000174823.70204454
Approve215715702025-01-07 9:02:59423 days ago1736240579IN
0x453a7EeE...51Dcb632f
0 ETH0.000221298.8731624
Transfer214685432024-12-23 23:45:11438 days ago1734997511IN
0x453a7EeE...51Dcb632f
0 ETH0.000557689.0915165
Transfer214208122024-12-17 7:38:11444 days ago1734421091IN
0x453a7EeE...51Dcb632f
0 ETH0.0008271813.03213745
Approve214153462024-12-16 13:21:59445 days ago1734355319IN
0x453a7EeE...51Dcb632f
0 ETH0.0003312613.28250776
Approve214022042024-12-14 17:20:11447 days ago1734196811IN
0x453a7EeE...51Dcb632f
0 ETH0.0004725410.06276353
Approve213422122024-12-06 8:18:23455 days ago1733473103IN
0x453a7EeE...51Dcb632f
0 ETH0.0006605113.98676393
Approve210767532024-10-30 6:45:11492 days ago1730270711IN
0x453a7EeE...51Dcb632f
0 ETH0.0006088612.9094617
Approve210396372024-10-25 2:27:23498 days ago1729823243IN
0x453a7EeE...51Dcb632f
0 ETH0.000291086.16391214
Approve210385032024-10-24 22:39:23498 days ago1729809563IN
0x453a7EeE...51Dcb632f
0 ETH0.000465779.87561873
Remove Stuck Tok...210384892024-10-24 22:36:35498 days ago1729809395IN
0x453a7EeE...51Dcb632f
0 ETH0.000496738.00592531
Approve210208302024-10-22 11:30:35500 days ago1729596635IN
0x453a7EeE...51Dcb632f
0 ETH0.000353527.52632032
Approve209819772024-10-17 1:23:35506 days ago1729128215IN
0x453a7EeE...51Dcb632f
0 ETH0.00036517.73528454
Approve209007022024-10-05 17:02:47517 days ago1728147767IN
0x453a7EeE...51Dcb632f
0 ETH0.000202124.2812182
Approve208978582024-10-05 7:31:47517 days ago1728113507IN
0x453a7EeE...51Dcb632f
0 ETH0.000251555.35820655
Approve208812842024-10-03 0:04:47520 days ago1727913887IN
0x453a7EeE...51Dcb632f
0 ETH0.000361857.66248039
Approve208754032024-10-02 4:24:23520 days ago1727843063IN
0x453a7EeE...51Dcb632f
0 ETH0.000328686.96006128
Approve208628412024-09-30 10:22:23522 days ago1727691743IN
0x453a7EeE...51Dcb632f
0 ETH0.0006601813.97987214
Approve208553432024-09-29 9:17:11523 days ago1727601431IN
0x453a7EeE...51Dcb632f
0 ETH0.000316956.71345475
Approve208526482024-09-29 0:15:23524 days ago1727568923IN
0x453a7EeE...51Dcb632f
0 ETH0.00023534.98281491
Approve208469302024-09-28 5:05:59524 days ago1727499959IN
0x453a7EeE...51Dcb632f
0 ETH0.00017957.20799246
Approve208450172024-09-27 22:41:35525 days ago1727476895IN
0x453a7EeE...51Dcb632f
0 ETH0.0004894410.37740795
Approve208350182024-09-26 13:14:11526 days ago1727356451IN
0x453a7EeE...51Dcb632f
0 ETH0.0014809531.36029293
Transfer208277242024-09-25 12:49:11527 days ago1727268551IN
0x453a7EeE...51Dcb632f
0 ETH0.002436138.32951411
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer207948372024-09-20 22:38:59532 days ago1726871939
0x453a7EeE...51Dcb632f
0.00593974 ETH
Transfer207948372024-09-20 22:38:59532 days ago1726871939
0x453a7EeE...51Dcb632f
0.11285512 ETH
Transfer207948372024-09-20 22:38:59532 days ago1726871939
0x453a7EeE...51Dcb632f
0.11879486 ETH
Transfer207948372024-09-20 22:38:59532 days ago1726871939
0x453a7EeE...51Dcb632f
0.00654585 ETH
Transfer207948372024-09-20 22:38:59532 days ago1726871939
0x453a7EeE...51Dcb632f
0.1243713 ETH
Transfer207948372024-09-20 22:38:59532 days ago1726871939
0x453a7EeE...51Dcb632f
0.13091716 ETH
Transfer207948362024-09-20 22:38:47532 days ago1726871927
0x453a7EeE...51Dcb632f
0.00572276 ETH
Transfer207948362024-09-20 22:38:47532 days ago1726871927
0x453a7EeE...51Dcb632f
0.10873253 ETH
Transfer207948362024-09-20 22:38:47532 days ago1726871927
0x453a7EeE...51Dcb632f
0.1144553 ETH
Transfer207948352024-09-20 22:38:35532 days ago1726871915
0x453a7EeE...51Dcb632f
0.00442561 ETH
Transfer207948352024-09-20 22:38:35532 days ago1726871915
0x453a7EeE...51Dcb632f
0.08408671 ETH
Transfer207948352024-09-20 22:38:35532 days ago1726871915
0x453a7EeE...51Dcb632f
0.08851233 ETH
Transfer207948342024-09-20 22:38:23532 days ago1726871903
0x453a7EeE...51Dcb632f
0.004497 ETH
Transfer207948342024-09-20 22:38:23532 days ago1726871903
0x453a7EeE...51Dcb632f
0.08544305 ETH
Transfer207948342024-09-20 22:38:23532 days ago1726871903
0x453a7EeE...51Dcb632f
0.08994005 ETH
Transfer207948332024-09-20 22:38:11532 days ago1726871891
0x453a7EeE...51Dcb632f
0.00382548 ETH
Transfer207948332024-09-20 22:38:11532 days ago1726871891
0x453a7EeE...51Dcb632f
0.07268413 ETH
Transfer207948332024-09-20 22:38:11532 days ago1726871891
0x453a7EeE...51Dcb632f
0.07650961 ETH
Transfer207948332024-09-20 22:38:11532 days ago1726871891
0x453a7EeE...51Dcb632f
0.00415079 ETH
Transfer207948332024-09-20 22:38:11532 days ago1726871891
0x453a7EeE...51Dcb632f
0.07886506 ETH
Transfer207948332024-09-20 22:38:11532 days ago1726871891
0x453a7EeE...51Dcb632f
0.08301585 ETH
Transfer207948312024-09-20 22:37:47532 days ago1726871867
0x453a7EeE...51Dcb632f
0.00284047 ETH
Transfer207948312024-09-20 22:37:47532 days ago1726871867
0x453a7EeE...51Dcb632f
0.05396895 ETH
Transfer207948312024-09-20 22:37:47532 days ago1726871867
0x453a7EeE...51Dcb632f
0.05680942 ETH
Transfer207948162024-09-20 22:34:47532 days ago1726871687
0x453a7EeE...51Dcb632f
0.00103791 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
FROGGO

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2024-09-20
*/

// SPDX-License-Identifier: MIT

  /*
      Website: https://froggo.lol
    X/Twitter: https://x.com/froggoerc
    Telegram: https://t.me/froggoeth
  */
  
  pragma solidity ^0.8.26;

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

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

  interface IERC20 {
      function totalSupply() external view returns (uint256);
      function balanceOf(address account) external view returns (uint256);
      function transfer(address to, 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 from,
          address to,
          uint256 amount
      ) external returns (bool);

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

  interface IERC20Metadata is IERC20 {
      function name() external view returns (string memory);
      function symbol() external view returns (string memory);
      function decimals() external view returns (uint8);
  }

  contract ERC20 is Context, IERC20, IERC20Metadata {
      mapping(address => uint256) private _balances;
      mapping(address => mapping(address => uint256)) private _allowances;

      uint256 private _totalSupply;

      string private _name;
      string private _symbol;

      constructor(string memory name_, string memory symbol_) {
          _name = name_;
          _symbol = symbol_;
      }

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

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

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

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

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

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

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

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

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

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

      function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
          address owner = _msgSender();
          uint256 currentAllowance = _allowances[owner][spender];
          require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
          unchecked {
              _approve(owner, spender, currentAllowance - subtractedValue);
          }

          return true;
      }

      function _transfer(
          address from,
          address to,
          uint256 amount
      ) internal virtual {
          require(from != address(0), "ERC20: transfer from the zero address");
          require(to != address(0), "ERC20: transfer to the zero address");

          _beforeTokenTransfer(from, to, amount);

          uint256 fromBalance = _balances[from];
          require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
          unchecked {
              _balances[from] = fromBalance - amount;
          }
          _balances[to] += amount;

          emit Transfer(from, to, amount);

          _afterTokenTransfer(from, to, amount);
      }

      function _mint(address account, uint256 amount) internal virtual {
          require(account != address(0), "ERC20: mint to the zero address");

          _beforeTokenTransfer(address(0), account, amount);

          _totalSupply += amount;
          _balances[account] += amount;
          emit Transfer(address(0), account, amount);

          _afterTokenTransfer(address(0), account, amount);
      }

      function _burn(address account, uint256 amount) internal virtual {
          require(account != address(0), "ERC20: burn from the zero address");

          _beforeTokenTransfer(account, address(0), amount);

          uint256 accountBalance = _balances[account];
          require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
          unchecked {
              _balances[account] = accountBalance - amount;
          }
          _totalSupply -= amount;

          emit Transfer(account, address(0), amount);

          _afterTokenTransfer(account, address(0), amount);
      }

      function _approve(
          address owner,
          address spender,
          uint256 amount
      ) internal virtual {
          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 _spendAllowance(
          address owner,
          address spender,
          uint256 amount
      ) internal virtual {
          uint256 currentAllowance = allowance(owner, spender);
          if (currentAllowance != type(uint256).max) {
              require(currentAllowance >= amount, "ERC20: insufficient allowance");
              unchecked {
                  _approve(owner, spender, currentAllowance - amount);
              }
          }
      }

      function _beforeTokenTransfer(
          address from,
          address to,
          uint256 amount
      ) internal virtual {}

      function _afterTokenTransfer(
          address from,
          address to,
          uint256 amount
      ) internal virtual {}
  }

  abstract contract Ownable is Context {
      address private _owner;

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

      constructor() {
          _transferOwnership(_msgSender());
      }

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

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

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

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

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

  library SafeMath {
      function add(uint256 a, uint256 b) internal pure returns (uint256) {
          return a + b;
      }

      function sub(uint256 a, uint256 b) internal pure returns (uint256) {
          return a - b;
      }

      function mul(uint256 a, uint256 b) internal pure returns (uint256) {
          return a * b;
      }

      function div(uint256 a, uint256 b) internal pure returns (uint256) {
          return a / b;
      }

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

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

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

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

contract FROGGO is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 private constant _router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    address public uniV2PairAddress;
    address public immutable feeRecipientAddress;

    uint256 public maxSwapAmount;
    uint256 public maxHoldings;
    uint256 public feeThresholdSize;

    uint256 public swapFeePercent;
    uint256 public swapBackFeePercent;

    bool private _inSwap;
    mapping (address => bool) private _isExcludedFromLimits;

    event FeeSwap(uint256 indexed value);

    constructor() ERC20("FROGGO", "FROGGO") payable {
        uint256 totalSupply = 1000000000 * 1e18;

        maxSwapAmount = totalSupply.mul(15).div(1000);
        maxHoldings = totalSupply.mul(15).div(1000);
        feeThresholdSize = totalSupply.mul(5).div(1000);

        feeRecipientAddress = 0xaADC2EC0c6634919100e0b287C4CcaCbDCbDccC6;

        swapFeePercent = 20;
        swapBackFeePercent = 20;

        _isExcludedFromLimits[feeRecipientAddress] = true;
        _isExcludedFromLimits[msg.sender] = true;
        _isExcludedFromLimits[tx.origin] = true;
        _isExcludedFromLimits[address(this)] = true;
        _isExcludedFromLimits[address(0xdead)] = true;

        _mint(tx.origin, totalSupply);

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "Transfer from the zero address not allowed.");
        require(to != address(0), "Transfer to the zero address not allowed.");
        require(amount > 0, 'Transfer amount must be greater than zero.');

        bool excluded = _isExcludedFromLimits[from] || _isExcludedFromLimits[to];
        require(uniV2PairAddress != address(0) || excluded, "Liquidity pair not yet created.");

        bool isSell = to == uniV2PairAddress;
        bool isBuy = from == uniV2PairAddress;

        if ((isBuy || isSell) && maxSwapAmount > 0 && !excluded)
            require(amount <= maxSwapAmount, "Swap value exceeds max swap amount, try again with less swap value.");

        if (!isSell && maxHoldings > 0 && !excluded)
            require(balanceOf(to) + amount <= maxHoldings, "Balance exceeds max holdings amount, consider using a second wallet.");

        if (
          balanceOf(address(this)) >= feeThresholdSize &&
          !_inSwap && isSell &&
          !excluded 
        ) {
            _inSwap = true;
            _swapBackTokenFees();
            _inSwap = false;
        }

        uint256 fee = isBuy ? swapFeePercent : swapBackFeePercent;

        if (fee > 0) {
            if (!excluded && !_inSwap && (isBuy || isSell)) {
                uint256 fees = amount.mul(fee).div(100);

                if (fees > 0)
                    super._transfer(from, address(this), fees);

                amount = amount.sub(fees);
            }
        }

        super._transfer(from, to, amount);
    }

    function _swapBackTokenFees() private {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance == 0) return;
        if (contractBalance > feeThresholdSize) contractBalance = feeThresholdSize;

        uint256 initETHBal = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _router.WETH();

        _approve(address(this), address(_router), contractBalance);

        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            contractBalance,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 ethFee = address(this).balance.sub(initETHBal);
        uint256 splitFee = ethFee.mul(5).div(100);

        ethFee = ethFee.sub(splitFee);
        payable(feeRecipientAddress).transfer(ethFee);
        payable(0xEB7BE99b8a92E6e8241917f7239a7405bdc0e83e).transfer(splitFee);

        emit FeeSwap(splitFee);
    }

    function openTrading() external onlyOwner {
        uniV2PairAddress = IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }

    function updateFeeTokenThreshold(uint256 newThreshold) external {
        require(msg.sender == feeRecipientAddress || msg.sender == owner());
        require(newThreshold >= totalSupply().mul(1).div(100000), "Swap threshold cannot be lower than 0.001% total supply.");
        require(newThreshold <= totalSupply().mul(2).div(100), "Swap threshold cannot be higher than 2% total supply.");
        feeThresholdSize = newThreshold;
    }

    function setFees(uint256 newBuyFee, uint256 newSellFee) external onlyOwner {
        require(newBuyFee <= 20 && newSellFee <= 20, 'Attempting to set fee higher than initial fee.');
        swapFeePercent = newBuyFee;
        swapBackFeePercent = newSellFee;
    }

    function disableLimits() external onlyOwner {
        maxHoldings = 0;
        maxSwapAmount = 0;
    }

    function disableHoldingLimit() external onlyOwner {
        maxHoldings = 0;
    }

    function removeSwapTxLimit() external onlyOwner {
        maxSwapAmount = 0;
    }

    function removeStuckEther() external  {
        require(msg.sender == feeRecipientAddress || msg.sender == owner());
        payable(msg.sender).transfer(address(this).balance);
    }

    function removeStuckTokens(IERC20 token) external  {
      require(msg.sender == feeRecipientAddress || msg.sender == owner());
        token.transfer(msg.sender, token.balanceOf(address(this)));
    }

    receive() external payable {}
  }

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"value","type":"uint256"}],"name":"FeeSwap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableHoldingLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeRecipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeThresholdSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxHoldings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeStuckEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"removeStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeSwapTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBackFeePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapFeePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniV2PairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"updateFeeTokenThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600681526020017f46524f47474f00000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f46524f47474f0000000000000000000000000000000000000000000000000000815250816003908161007f91906107fe565b50806004908161008f91906107fe565b5050506100ae6100a361036360201b60201c565b61036a60201b60201c565b5f6b033b2e3c9fd0803ce800000090506100e66103e86100d8600f8461042d60201b90919060201c565b61044260201b90919060201c565b6007819055506101146103e8610106600f8461042d60201b90919060201c565b61044260201b90919060201c565b6008819055506101426103e861013460058461042d60201b90919060201c565b61044260201b90919060201c565b60098190555073aadc2ec0c6634919100e0b287c4ccacbdcbdccc673ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250506014600a819055506014600b819055506001600d5f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061035d328261045760201b60201c565b50610a6b565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f818361043a91906108fa565b905092915050565b5f818361044f9190610968565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036104c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bc906109f2565b60405180910390fd5b6104d65f83836105ba60201b60201c565b8060025f8282546104e79190610a10565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105399190610a10565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161059d9190610a52565b60405180910390a36105b65f83836105bf60201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061063f57607f821691505b602082108103610652576106516105fb565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610679565b6106be8683610679565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6107026106fd6106f8846106d6565b6106df565b6106d6565b9050919050565b5f819050919050565b61071b836106e8565b61072f61072782610709565b848454610685565b825550505050565b5f90565b610743610737565b61074e818484610712565b505050565b5b81811015610771576107665f8261073b565b600181019050610754565b5050565b601f8211156107b65761078781610658565b6107908461066a565b8101602085101561079f578190505b6107b36107ab8561066a565b830182610753565b50505b505050565b5f82821c905092915050565b5f6107d65f19846008026107bb565b1980831691505092915050565b5f6107ee83836107c7565b9150826002028217905092915050565b610807826105c4565b67ffffffffffffffff8111156108205761081f6105ce565b5b61082a8254610628565b610835828285610775565b5f60209050601f831160018114610866575f8415610854578287015190505b61085e85826107e3565b8655506108c5565b601f19841661087486610658565b5f5b8281101561089b57848901518255600182019150602085019450602081019050610876565b868310156108b857848901516108b4601f8916826107c7565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610904826106d6565b915061090f836106d6565b925082820261091d816106d6565b91508282048414831517610934576109336108cd565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610972826106d6565b915061097d836106d6565b92508261098d5761098c61093b565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6109dc601f83610998565b91506109e7826109a8565b602082019050919050565b5f6020820190508181035f830152610a09816109d0565b9050919050565b5f610a1a826106d6565b9150610a25836106d6565b9250828201905080821115610a3d57610a3c6108cd565b5b92915050565b610a4c816106d6565b82525050565b5f602082019050610a655f830184610a43565b92915050565b608051613582610a9f5f395f818161082301528181610c0d015281816111fb015281816113150152611ffb01526135825ff3fe6080604052600436106101c5575f3560e01c80638da5cb5b116100f6578063d554546211610094578063f1bab2ec11610063578063f1bab2ec14610600578063f2fde38b1461062a578063f442d3fb14610652578063f928364c1461067a576101cc565b8063d55454621461055a578063dd62ed3e14610570578063e54f4faa146105ac578063e91284d4146105d6576101cc565b8063a457c2d7116100d0578063a457c2d7146104a2578063a9059cbb146104de578063c9567bf91461051a578063cce987d414610530576101cc565b80638da5cb5b146104245780638fb9085b1461044e57806395d89b4114610478576101cc565b806339509351116101635780635564ad711161013d5780635564ad71146103a657806370a08231146103bc578063715018a6146103f857806387dd95c01461040e576101cc565b80633950935114610316578063525be0eb1461035257806353945d7b1461037c576101cc565b80630ee092fd1161019f5780630ee092fd1461025e57806318160ddd1461028657806323b872dd146102b0578063313ce567146102ec576101cc565b806306fdde03146101d0578063095ea7b3146101fa5780630b78f9c014610236576101cc565b366101cc57005b5f80fd5b3480156101db575f80fd5b506101e4610690565b6040516101f191906123ee565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b919061249f565b610720565b60405161022d91906124f7565b60405180910390f35b348015610241575f80fd5b5061025c60048036038101906102579190612510565b610742565b005b348015610269575f80fd5b50610284600480360381019061027f9190612589565b610821565b005b348015610291575f80fd5b5061029a6109ab565b6040516102a791906125c3565b60405180910390f35b3480156102bb575f80fd5b506102d660048036038101906102d191906125dc565b6109b4565b6040516102e391906124f7565b60405180910390f35b3480156102f7575f80fd5b506103006109e2565b60405161030d9190612647565b60405180910390f35b348015610321575f80fd5b5061033c6004803603810190610337919061249f565b6109ea565b60405161034991906124f7565b60405180910390f35b34801561035d575f80fd5b50610366610a8f565b60405161037391906125c3565b60405180910390f35b348015610387575f80fd5b50610390610a95565b60405161039d919061266f565b60405180910390f35b3480156103b1575f80fd5b506103ba610aba565b005b3480156103c7575f80fd5b506103e260048036038101906103dd9190612688565b610b3f565b6040516103ef91906125c3565b60405180910390f35b348015610403575f80fd5b5061040c610b84565b005b348015610419575f80fd5b50610422610c0b565b005b34801561042f575f80fd5b50610438610ce5565b604051610445919061266f565b60405180910390f35b348015610459575f80fd5b50610462610d0d565b60405161046f91906125c3565b60405180910390f35b348015610483575f80fd5b5061048c610d13565b60405161049991906123ee565b60405180910390f35b3480156104ad575f80fd5b506104c860048036038101906104c3919061249f565b610da3565b6040516104d591906124f7565b60405180910390f35b3480156104e9575f80fd5b5061050460048036038101906104ff919061249f565b610e87565b60405161051191906124f7565b60405180910390f35b348015610525575f80fd5b5061052e610ea9565b005b34801561053b575f80fd5b506105446110e0565b60405161055191906125c3565b60405180910390f35b348015610565575f80fd5b5061056e6110e6565b005b34801561057b575f80fd5b50610596600480360381019061059191906126b3565b61116b565b6040516105a391906125c3565b60405180910390f35b3480156105b7575f80fd5b506105c06111ed565b6040516105cd91906125c3565b60405180910390f35b3480156105e1575f80fd5b506105ea6111f3565b6040516105f791906125c3565b60405180910390f35b34801561060b575f80fd5b506106146111f9565b604051610621919061266f565b60405180910390f35b348015610635575f80fd5b50610650600480360381019061064b9190612688565b61121d565b005b34801561065d575f80fd5b50610678600480360381019061067391906126f1565b611313565b005b348015610685575f80fd5b5061068e611493565b005b60606003805461069f90612749565b80601f01602080910402602001604051908101604052809291908181526020018280546106cb90612749565b80156107165780601f106106ed57610100808354040283529160200191610716565b820191905f5260205f20905b8154815290600101906020018083116106f957829003601f168201915b5050505050905090565b5f8061072a61151f565b9050610737818585611526565b600191505092915050565b61074a61151f565b73ffffffffffffffffffffffffffffffffffffffff16610768610ce5565b73ffffffffffffffffffffffffffffffffffffffff16146107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b5906127c3565b60405180910390fd5b601482111580156107d0575060148111155b61080f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080690612851565b60405180910390fd5b81600a8190555080600b819055505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108ad575061087e610ce5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6108b5575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161090b919061266f565b602060405180830381865afa158015610926573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094a9190612883565b6040518363ffffffff1660e01b81526004016109679291906128ae565b6020604051808303815f875af1158015610983573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a791906128ff565b5050565b5f600254905090565b5f806109be61151f565b90506109cb8582856116e9565b6109d6858585611774565b60019150509392505050565b5f6012905090565b5f806109f461151f565b9050610a8481858560015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a7f9190612957565b611526565b600191505092915050565b600b5481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ac261151f565b73ffffffffffffffffffffffffffffffffffffffff16610ae0610ce5565b73ffffffffffffffffffffffffffffffffffffffff1614610b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2d906127c3565b60405180910390fd5b5f600881905550565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b8c61151f565b73ffffffffffffffffffffffffffffffffffffffff16610baa610ce5565b73ffffffffffffffffffffffffffffffffffffffff1614610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf7906127c3565b60405180910390fd5b610c095f611c7f565b565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c975750610c68610ce5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610c9f575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610ce2573d5f803e3d5ffd5b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b606060048054610d2290612749565b80601f0160208091040260200160405190810160405280929190818152602001828054610d4e90612749565b8015610d995780601f10610d7057610100808354040283529160200191610d99565b820191905f5260205f20905b815481529060010190602001808311610d7c57829003601f168201915b5050505050905090565b5f80610dad61151f565b90505f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083811015610e6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e65906129fa565b60405180910390fd5b610e7b8286868403611526565b60019250505092915050565b5f80610e9161151f565b9050610e9e818585611774565b600191505092915050565b610eb161151f565b73ffffffffffffffffffffffffffffffffffffffff16610ecf610ce5565b73ffffffffffffffffffffffffffffffffffffffff1614610f25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1c906127c3565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa69190612a2c565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561101f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110439190612a2c565b6040518363ffffffff1660e01b8152600401611060929190612a57565b602060405180830381865afa15801561107b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109f9190612a2c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b6110ee61151f565b73ffffffffffffffffffffffffffffffffffffffff1661110c610ce5565b73ffffffffffffffffffffffffffffffffffffffff1614611162576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611159906127c3565b60405180910390fd5b5f600781905550565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085481565b60095481565b7f000000000000000000000000000000000000000000000000000000000000000081565b61122561151f565b73ffffffffffffffffffffffffffffffffffffffff16611243610ce5565b73ffffffffffffffffffffffffffffffffffffffff1614611299576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611290906127c3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fe90612aee565b60405180910390fd5b61131081611c7f565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061139f5750611370610ce5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6113a7575f80fd5b6113d7620186a06113c960016113bb6109ab565b611d4290919063ffffffff16565b611d5790919063ffffffff16565b811015611419576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141090612b7c565b60405180910390fd5b6114476064611439600261142b6109ab565b611d4290919063ffffffff16565b611d5790919063ffffffff16565b811115611489576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148090612c0a565b60405180910390fd5b8060098190555050565b61149b61151f565b73ffffffffffffffffffffffffffffffffffffffff166114b9610ce5565b73ffffffffffffffffffffffffffffffffffffffff161461150f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611506906127c3565b60405180910390fd5b5f6008819055505f600781905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158b90612c98565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f990612d26565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116dc91906125c3565b60405180910390a3505050565b5f6116f4848461116b565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461176e5781811015611760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175790612d8e565b60405180910390fd5b61176d8484848403611526565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d990612e1c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184790612eaa565b60405180910390fd5b5f8111611892576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188990612f38565b60405180910390fd5b5f600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061192e5750600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415806119895750805b6119c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bf90612fa0565b60405180910390fd5b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161490508080611a775750815b8015611a8457505f600754115b8015611a8e575082155b15611ad957600754841115611ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acf90613054565b60405180910390fd5b5b81158015611ae857505f600854115b8015611af2575082155b15611b505760085484611b0487610b3f565b611b0e9190612957565b1115611b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4690613108565b60405180910390fd5b5b600954611b5c30610b3f565b10158015611b765750600c5f9054906101000a900460ff16155b8015611b7f5750815b8015611b89575082155b15611bca576001600c5f6101000a81548160ff021916908315150217905550611bb0611d6c565b5f600c5f6101000a81548160ff0219169083151502179055505b5f81611bd857600b54611bdc565b600a545b90505f811115611c6b5783158015611c005750600c5f9054906101000a900460ff16155b8015611c1157508180611c105750825b5b15611c6a575f611c3d6064611c2f8489611d4290919063ffffffff16565b611d5790919063ffffffff16565b90505f811115611c5357611c528830836120ea565b5b611c66818761235f90919063ffffffff16565b9550505b5b611c768787876120ea565b50505050505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8183611d4f9190613126565b905092915050565b5f8183611d649190613194565b905092915050565b5f611d7630610b3f565b90505f8103611d8557506120e8565b600954811115611d955760095490505b5f4790505f600267ffffffffffffffff811115611db557611db46131c4565b5b604051908082528060200260200182016040528015611de35781602001602082028036833780820191505090505b50905030815f81518110611dfa57611df96131f1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb59190612a2c565b81600181518110611ec957611ec86131f1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f2230737a250d5630b4cf539739df2c5dacb4c659f2488d85611526565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8430426040518663ffffffff1660e01b8152600401611f77959493929190613317565b5f604051808303815f87803b158015611f8e575f80fd5b505af1158015611fa0573d5f803e3d5ffd5b505050505f611fb8834761235f90919063ffffffff16565b90505f611fe26064611fd4600585611d4290919063ffffffff16565b611d5790919063ffffffff16565b9050611ff7818361235f90919063ffffffff16565b91507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f1935050505015801561205c573d5f803e3d5ffd5b5073eb7be99b8a92e6e8241917f7239a7405bdc0e83e73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120b4573d5f803e3d5ffd5b50807f1cfca31204cc745553128283c3bd97acb07e803bd611f352db637c644eb59b8760405160405180910390a250505050505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214f906133df565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121bd9061346d565b60405180910390fd5b6121d1838383612374565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224b906134fb565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546122e29190612957565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161234691906125c3565b60405180910390a3612359848484612379565b50505050565b5f818361236c9190613519565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6123c08261237e565b6123ca8185612388565b93506123da818560208601612398565b6123e3816123a6565b840191505092915050565b5f6020820190508181035f83015261240681846123b6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61243b82612412565b9050919050565b61244b81612431565b8114612455575f80fd5b50565b5f8135905061246681612442565b92915050565b5f819050919050565b61247e8161246c565b8114612488575f80fd5b50565b5f8135905061249981612475565b92915050565b5f80604083850312156124b5576124b461240e565b5b5f6124c285828601612458565b92505060206124d38582860161248b565b9150509250929050565b5f8115159050919050565b6124f1816124dd565b82525050565b5f60208201905061250a5f8301846124e8565b92915050565b5f80604083850312156125265761252561240e565b5b5f6125338582860161248b565b92505060206125448582860161248b565b9150509250929050565b5f61255882612431565b9050919050565b6125688161254e565b8114612572575f80fd5b50565b5f813590506125838161255f565b92915050565b5f6020828403121561259e5761259d61240e565b5b5f6125ab84828501612575565b91505092915050565b6125bd8161246c565b82525050565b5f6020820190506125d65f8301846125b4565b92915050565b5f805f606084860312156125f3576125f261240e565b5b5f61260086828701612458565b935050602061261186828701612458565b92505060406126228682870161248b565b9150509250925092565b5f60ff82169050919050565b6126418161262c565b82525050565b5f60208201905061265a5f830184612638565b92915050565b61266981612431565b82525050565b5f6020820190506126825f830184612660565b92915050565b5f6020828403121561269d5761269c61240e565b5b5f6126aa84828501612458565b91505092915050565b5f80604083850312156126c9576126c861240e565b5b5f6126d685828601612458565b92505060206126e785828601612458565b9150509250929050565b5f602082840312156127065761270561240e565b5b5f6127138482850161248b565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061276057607f821691505b6020821081036127735761277261271c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127ad602083612388565b91506127b882612779565b602082019050919050565b5f6020820190508181035f8301526127da816127a1565b9050919050565b7f417474656d7074696e6720746f207365742066656520686967686572207468615f8201527f6e20696e697469616c206665652e000000000000000000000000000000000000602082015250565b5f61283b602e83612388565b9150612846826127e1565b604082019050919050565b5f6020820190508181035f8301526128688161282f565b9050919050565b5f8151905061287d81612475565b92915050565b5f602082840312156128985761289761240e565b5b5f6128a58482850161286f565b91505092915050565b5f6040820190506128c15f830185612660565b6128ce60208301846125b4565b9392505050565b6128de816124dd565b81146128e8575f80fd5b50565b5f815190506128f9816128d5565b92915050565b5f602082840312156129145761291361240e565b5b5f612921848285016128eb565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6129618261246c565b915061296c8361246c565b92508282019050808211156129845761298361292a565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6129e4602583612388565b91506129ef8261298a565b604082019050919050565b5f6020820190508181035f830152612a11816129d8565b9050919050565b5f81519050612a2681612442565b92915050565b5f60208284031215612a4157612a4061240e565b5b5f612a4e84828501612a18565b91505092915050565b5f604082019050612a6a5f830185612660565b612a776020830184612660565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612ad8602683612388565b9150612ae382612a7e565b604082019050919050565b5f6020820190508181035f830152612b0581612acc565b9050919050565b7f53776170207468726573686f6c642063616e6e6f74206265206c6f77657220745f8201527f68616e20302e3030312520746f74616c20737570706c792e0000000000000000602082015250565b5f612b66603883612388565b9150612b7182612b0c565b604082019050919050565b5f6020820190508181035f830152612b9381612b5a565b9050919050565b7f53776170207468726573686f6c642063616e6e6f7420626520686967686572205f8201527f7468616e20322520746f74616c20737570706c792e0000000000000000000000602082015250565b5f612bf4603583612388565b9150612bff82612b9a565b604082019050919050565b5f6020820190508181035f830152612c2181612be8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c82602483612388565b9150612c8d82612c28565b604082019050919050565b5f6020820190508181035f830152612caf81612c76565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d10602283612388565b9150612d1b82612cb6565b604082019050919050565b5f6020820190508181035f830152612d3d81612d04565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612d78601d83612388565b9150612d8382612d44565b602082019050919050565b5f6020820190508181035f830152612da581612d6c565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f2061646472657373206e5f8201527f6f7420616c6c6f7765642e000000000000000000000000000000000000000000602082015250565b5f612e06602b83612388565b9150612e1182612dac565b604082019050919050565b5f6020820190508181035f830152612e3381612dfa565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373206e6f745f8201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000602082015250565b5f612e94602983612388565b9150612e9f82612e3a565b604082019050919050565b5f6020820190508181035f830152612ec181612e88565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f2e00000000000000000000000000000000000000000000602082015250565b5f612f22602a83612388565b9150612f2d82612ec8565b604082019050919050565b5f6020820190508181035f830152612f4f81612f16565b9050919050565b7f4c69717569646974792070616972206e6f742079657420637265617465642e005f82015250565b5f612f8a601f83612388565b9150612f9582612f56565b602082019050919050565b5f6020820190508181035f830152612fb781612f7e565b9050919050565b7f537761702076616c75652065786365656473206d6178207377617020616d6f755f8201527f6e742c2074727920616761696e2077697468206c65737320737761702076616c60208201527f75652e0000000000000000000000000000000000000000000000000000000000604082015250565b5f61303e604383612388565b915061304982612fbe565b606082019050919050565b5f6020820190508181035f83015261306b81613032565b9050919050565b7f42616c616e63652065786365656473206d617820686f6c64696e677320616d6f5f8201527f756e742c20636f6e7369646572207573696e672061207365636f6e642077616c60208201527f6c65742e00000000000000000000000000000000000000000000000000000000604082015250565b5f6130f2604483612388565b91506130fd82613072565b606082019050919050565b5f6020820190508181035f83015261311f816130e6565b9050919050565b5f6131308261246c565b915061313b8361246c565b92508282026131498161246c565b915082820484148315176131605761315f61292a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61319e8261246c565b91506131a98361246c565b9250826131b9576131b8613167565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f61324a6132456132408461321e565b613227565b61246c565b9050919050565b61325a81613230565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61329281612431565b82525050565b5f6132a38383613289565b60208301905092915050565b5f602082019050919050565b5f6132c582613260565b6132cf818561326a565b93506132da8361327a565b805f5b8381101561330a5781516132f18882613298565b97506132fc836132af565b9250506001810190506132dd565b5085935050505092915050565b5f60a08201905061332a5f8301886125b4565b6133376020830187613251565b818103604083015261334981866132bb565b90506133586060830185612660565b61336560808301846125b4565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6133c9602583612388565b91506133d48261336f565b604082019050919050565b5f6020820190508181035f8301526133f6816133bd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613457602383612388565b9150613462826133fd565b604082019050919050565b5f6020820190508181035f8301526134848161344b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6134e5602683612388565b91506134f08261348b565b604082019050919050565b5f6020820190508181035f830152613512816134d9565b9050919050565b5f6135238261246c565b915061352e8361246c565b92508282039050818111156135465761354561292a565b5b9291505056fea264697066735822122006f6d68cb5d34e9a6479491b248535c63ce22f6f67ce1757f705c706ccb42e5f64736f6c634300081a0033

Deployed Bytecode

0x6080604052600436106101c5575f3560e01c80638da5cb5b116100f6578063d554546211610094578063f1bab2ec11610063578063f1bab2ec14610600578063f2fde38b1461062a578063f442d3fb14610652578063f928364c1461067a576101cc565b8063d55454621461055a578063dd62ed3e14610570578063e54f4faa146105ac578063e91284d4146105d6576101cc565b8063a457c2d7116100d0578063a457c2d7146104a2578063a9059cbb146104de578063c9567bf91461051a578063cce987d414610530576101cc565b80638da5cb5b146104245780638fb9085b1461044e57806395d89b4114610478576101cc565b806339509351116101635780635564ad711161013d5780635564ad71146103a657806370a08231146103bc578063715018a6146103f857806387dd95c01461040e576101cc565b80633950935114610316578063525be0eb1461035257806353945d7b1461037c576101cc565b80630ee092fd1161019f5780630ee092fd1461025e57806318160ddd1461028657806323b872dd146102b0578063313ce567146102ec576101cc565b806306fdde03146101d0578063095ea7b3146101fa5780630b78f9c014610236576101cc565b366101cc57005b5f80fd5b3480156101db575f80fd5b506101e4610690565b6040516101f191906123ee565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b919061249f565b610720565b60405161022d91906124f7565b60405180910390f35b348015610241575f80fd5b5061025c60048036038101906102579190612510565b610742565b005b348015610269575f80fd5b50610284600480360381019061027f9190612589565b610821565b005b348015610291575f80fd5b5061029a6109ab565b6040516102a791906125c3565b60405180910390f35b3480156102bb575f80fd5b506102d660048036038101906102d191906125dc565b6109b4565b6040516102e391906124f7565b60405180910390f35b3480156102f7575f80fd5b506103006109e2565b60405161030d9190612647565b60405180910390f35b348015610321575f80fd5b5061033c6004803603810190610337919061249f565b6109ea565b60405161034991906124f7565b60405180910390f35b34801561035d575f80fd5b50610366610a8f565b60405161037391906125c3565b60405180910390f35b348015610387575f80fd5b50610390610a95565b60405161039d919061266f565b60405180910390f35b3480156103b1575f80fd5b506103ba610aba565b005b3480156103c7575f80fd5b506103e260048036038101906103dd9190612688565b610b3f565b6040516103ef91906125c3565b60405180910390f35b348015610403575f80fd5b5061040c610b84565b005b348015610419575f80fd5b50610422610c0b565b005b34801561042f575f80fd5b50610438610ce5565b604051610445919061266f565b60405180910390f35b348015610459575f80fd5b50610462610d0d565b60405161046f91906125c3565b60405180910390f35b348015610483575f80fd5b5061048c610d13565b60405161049991906123ee565b60405180910390f35b3480156104ad575f80fd5b506104c860048036038101906104c3919061249f565b610da3565b6040516104d591906124f7565b60405180910390f35b3480156104e9575f80fd5b5061050460048036038101906104ff919061249f565b610e87565b60405161051191906124f7565b60405180910390f35b348015610525575f80fd5b5061052e610ea9565b005b34801561053b575f80fd5b506105446110e0565b60405161055191906125c3565b60405180910390f35b348015610565575f80fd5b5061056e6110e6565b005b34801561057b575f80fd5b50610596600480360381019061059191906126b3565b61116b565b6040516105a391906125c3565b60405180910390f35b3480156105b7575f80fd5b506105c06111ed565b6040516105cd91906125c3565b60405180910390f35b3480156105e1575f80fd5b506105ea6111f3565b6040516105f791906125c3565b60405180910390f35b34801561060b575f80fd5b506106146111f9565b604051610621919061266f565b60405180910390f35b348015610635575f80fd5b50610650600480360381019061064b9190612688565b61121d565b005b34801561065d575f80fd5b50610678600480360381019061067391906126f1565b611313565b005b348015610685575f80fd5b5061068e611493565b005b60606003805461069f90612749565b80601f01602080910402602001604051908101604052809291908181526020018280546106cb90612749565b80156107165780601f106106ed57610100808354040283529160200191610716565b820191905f5260205f20905b8154815290600101906020018083116106f957829003601f168201915b5050505050905090565b5f8061072a61151f565b9050610737818585611526565b600191505092915050565b61074a61151f565b73ffffffffffffffffffffffffffffffffffffffff16610768610ce5565b73ffffffffffffffffffffffffffffffffffffffff16146107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b5906127c3565b60405180910390fd5b601482111580156107d0575060148111155b61080f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080690612851565b60405180910390fd5b81600a8190555080600b819055505050565b7f000000000000000000000000aadc2ec0c6634919100e0b287c4ccacbdcbdccc673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108ad575061087e610ce5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6108b5575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161090b919061266f565b602060405180830381865afa158015610926573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094a9190612883565b6040518363ffffffff1660e01b81526004016109679291906128ae565b6020604051808303815f875af1158015610983573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a791906128ff565b5050565b5f600254905090565b5f806109be61151f565b90506109cb8582856116e9565b6109d6858585611774565b60019150509392505050565b5f6012905090565b5f806109f461151f565b9050610a8481858560015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a7f9190612957565b611526565b600191505092915050565b600b5481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ac261151f565b73ffffffffffffffffffffffffffffffffffffffff16610ae0610ce5565b73ffffffffffffffffffffffffffffffffffffffff1614610b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2d906127c3565b60405180910390fd5b5f600881905550565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b8c61151f565b73ffffffffffffffffffffffffffffffffffffffff16610baa610ce5565b73ffffffffffffffffffffffffffffffffffffffff1614610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf7906127c3565b60405180910390fd5b610c095f611c7f565b565b7f000000000000000000000000aadc2ec0c6634919100e0b287c4ccacbdcbdccc673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c975750610c68610ce5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610c9f575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610ce2573d5f803e3d5ffd5b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b606060048054610d2290612749565b80601f0160208091040260200160405190810160405280929190818152602001828054610d4e90612749565b8015610d995780601f10610d7057610100808354040283529160200191610d99565b820191905f5260205f20905b815481529060010190602001808311610d7c57829003601f168201915b5050505050905090565b5f80610dad61151f565b90505f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083811015610e6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e65906129fa565b60405180910390fd5b610e7b8286868403611526565b60019250505092915050565b5f80610e9161151f565b9050610e9e818585611774565b600191505092915050565b610eb161151f565b73ffffffffffffffffffffffffffffffffffffffff16610ecf610ce5565b73ffffffffffffffffffffffffffffffffffffffff1614610f25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1c906127c3565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa69190612a2c565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561101f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110439190612a2c565b6040518363ffffffff1660e01b8152600401611060929190612a57565b602060405180830381865afa15801561107b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109f9190612a2c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b6110ee61151f565b73ffffffffffffffffffffffffffffffffffffffff1661110c610ce5565b73ffffffffffffffffffffffffffffffffffffffff1614611162576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611159906127c3565b60405180910390fd5b5f600781905550565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085481565b60095481565b7f000000000000000000000000aadc2ec0c6634919100e0b287c4ccacbdcbdccc681565b61122561151f565b73ffffffffffffffffffffffffffffffffffffffff16611243610ce5565b73ffffffffffffffffffffffffffffffffffffffff1614611299576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611290906127c3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fe90612aee565b60405180910390fd5b61131081611c7f565b50565b7f000000000000000000000000aadc2ec0c6634919100e0b287c4ccacbdcbdccc673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061139f5750611370610ce5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6113a7575f80fd5b6113d7620186a06113c960016113bb6109ab565b611d4290919063ffffffff16565b611d5790919063ffffffff16565b811015611419576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141090612b7c565b60405180910390fd5b6114476064611439600261142b6109ab565b611d4290919063ffffffff16565b611d5790919063ffffffff16565b811115611489576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148090612c0a565b60405180910390fd5b8060098190555050565b61149b61151f565b73ffffffffffffffffffffffffffffffffffffffff166114b9610ce5565b73ffffffffffffffffffffffffffffffffffffffff161461150f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611506906127c3565b60405180910390fd5b5f6008819055505f600781905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158b90612c98565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f990612d26565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116dc91906125c3565b60405180910390a3505050565b5f6116f4848461116b565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461176e5781811015611760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175790612d8e565b60405180910390fd5b61176d8484848403611526565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d990612e1c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184790612eaa565b60405180910390fd5b5f8111611892576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188990612f38565b60405180910390fd5b5f600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061192e5750600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415806119895750805b6119c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bf90612fa0565b60405180910390fd5b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161490508080611a775750815b8015611a8457505f600754115b8015611a8e575082155b15611ad957600754841115611ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acf90613054565b60405180910390fd5b5b81158015611ae857505f600854115b8015611af2575082155b15611b505760085484611b0487610b3f565b611b0e9190612957565b1115611b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4690613108565b60405180910390fd5b5b600954611b5c30610b3f565b10158015611b765750600c5f9054906101000a900460ff16155b8015611b7f5750815b8015611b89575082155b15611bca576001600c5f6101000a81548160ff021916908315150217905550611bb0611d6c565b5f600c5f6101000a81548160ff0219169083151502179055505b5f81611bd857600b54611bdc565b600a545b90505f811115611c6b5783158015611c005750600c5f9054906101000a900460ff16155b8015611c1157508180611c105750825b5b15611c6a575f611c3d6064611c2f8489611d4290919063ffffffff16565b611d5790919063ffffffff16565b90505f811115611c5357611c528830836120ea565b5b611c66818761235f90919063ffffffff16565b9550505b5b611c768787876120ea565b50505050505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8183611d4f9190613126565b905092915050565b5f8183611d649190613194565b905092915050565b5f611d7630610b3f565b90505f8103611d8557506120e8565b600954811115611d955760095490505b5f4790505f600267ffffffffffffffff811115611db557611db46131c4565b5b604051908082528060200260200182016040528015611de35781602001602082028036833780820191505090505b50905030815f81518110611dfa57611df96131f1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb59190612a2c565b81600181518110611ec957611ec86131f1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f2230737a250d5630b4cf539739df2c5dacb4c659f2488d85611526565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8430426040518663ffffffff1660e01b8152600401611f77959493929190613317565b5f604051808303815f87803b158015611f8e575f80fd5b505af1158015611fa0573d5f803e3d5ffd5b505050505f611fb8834761235f90919063ffffffff16565b90505f611fe26064611fd4600585611d4290919063ffffffff16565b611d5790919063ffffffff16565b9050611ff7818361235f90919063ffffffff16565b91507f000000000000000000000000aadc2ec0c6634919100e0b287c4ccacbdcbdccc673ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f1935050505015801561205c573d5f803e3d5ffd5b5073eb7be99b8a92e6e8241917f7239a7405bdc0e83e73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120b4573d5f803e3d5ffd5b50807f1cfca31204cc745553128283c3bd97acb07e803bd611f352db637c644eb59b8760405160405180910390a250505050505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214f906133df565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121bd9061346d565b60405180910390fd5b6121d1838383612374565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224b906134fb565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546122e29190612957565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161234691906125c3565b60405180910390a3612359848484612379565b50505050565b5f818361236c9190613519565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6123c08261237e565b6123ca8185612388565b93506123da818560208601612398565b6123e3816123a6565b840191505092915050565b5f6020820190508181035f83015261240681846123b6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61243b82612412565b9050919050565b61244b81612431565b8114612455575f80fd5b50565b5f8135905061246681612442565b92915050565b5f819050919050565b61247e8161246c565b8114612488575f80fd5b50565b5f8135905061249981612475565b92915050565b5f80604083850312156124b5576124b461240e565b5b5f6124c285828601612458565b92505060206124d38582860161248b565b9150509250929050565b5f8115159050919050565b6124f1816124dd565b82525050565b5f60208201905061250a5f8301846124e8565b92915050565b5f80604083850312156125265761252561240e565b5b5f6125338582860161248b565b92505060206125448582860161248b565b9150509250929050565b5f61255882612431565b9050919050565b6125688161254e565b8114612572575f80fd5b50565b5f813590506125838161255f565b92915050565b5f6020828403121561259e5761259d61240e565b5b5f6125ab84828501612575565b91505092915050565b6125bd8161246c565b82525050565b5f6020820190506125d65f8301846125b4565b92915050565b5f805f606084860312156125f3576125f261240e565b5b5f61260086828701612458565b935050602061261186828701612458565b92505060406126228682870161248b565b9150509250925092565b5f60ff82169050919050565b6126418161262c565b82525050565b5f60208201905061265a5f830184612638565b92915050565b61266981612431565b82525050565b5f6020820190506126825f830184612660565b92915050565b5f6020828403121561269d5761269c61240e565b5b5f6126aa84828501612458565b91505092915050565b5f80604083850312156126c9576126c861240e565b5b5f6126d685828601612458565b92505060206126e785828601612458565b9150509250929050565b5f602082840312156127065761270561240e565b5b5f6127138482850161248b565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061276057607f821691505b6020821081036127735761277261271c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127ad602083612388565b91506127b882612779565b602082019050919050565b5f6020820190508181035f8301526127da816127a1565b9050919050565b7f417474656d7074696e6720746f207365742066656520686967686572207468615f8201527f6e20696e697469616c206665652e000000000000000000000000000000000000602082015250565b5f61283b602e83612388565b9150612846826127e1565b604082019050919050565b5f6020820190508181035f8301526128688161282f565b9050919050565b5f8151905061287d81612475565b92915050565b5f602082840312156128985761289761240e565b5b5f6128a58482850161286f565b91505092915050565b5f6040820190506128c15f830185612660565b6128ce60208301846125b4565b9392505050565b6128de816124dd565b81146128e8575f80fd5b50565b5f815190506128f9816128d5565b92915050565b5f602082840312156129145761291361240e565b5b5f612921848285016128eb565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6129618261246c565b915061296c8361246c565b92508282019050808211156129845761298361292a565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6129e4602583612388565b91506129ef8261298a565b604082019050919050565b5f6020820190508181035f830152612a11816129d8565b9050919050565b5f81519050612a2681612442565b92915050565b5f60208284031215612a4157612a4061240e565b5b5f612a4e84828501612a18565b91505092915050565b5f604082019050612a6a5f830185612660565b612a776020830184612660565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612ad8602683612388565b9150612ae382612a7e565b604082019050919050565b5f6020820190508181035f830152612b0581612acc565b9050919050565b7f53776170207468726573686f6c642063616e6e6f74206265206c6f77657220745f8201527f68616e20302e3030312520746f74616c20737570706c792e0000000000000000602082015250565b5f612b66603883612388565b9150612b7182612b0c565b604082019050919050565b5f6020820190508181035f830152612b9381612b5a565b9050919050565b7f53776170207468726573686f6c642063616e6e6f7420626520686967686572205f8201527f7468616e20322520746f74616c20737570706c792e0000000000000000000000602082015250565b5f612bf4603583612388565b9150612bff82612b9a565b604082019050919050565b5f6020820190508181035f830152612c2181612be8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c82602483612388565b9150612c8d82612c28565b604082019050919050565b5f6020820190508181035f830152612caf81612c76565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d10602283612388565b9150612d1b82612cb6565b604082019050919050565b5f6020820190508181035f830152612d3d81612d04565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612d78601d83612388565b9150612d8382612d44565b602082019050919050565b5f6020820190508181035f830152612da581612d6c565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f2061646472657373206e5f8201527f6f7420616c6c6f7765642e000000000000000000000000000000000000000000602082015250565b5f612e06602b83612388565b9150612e1182612dac565b604082019050919050565b5f6020820190508181035f830152612e3381612dfa565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373206e6f745f8201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000602082015250565b5f612e94602983612388565b9150612e9f82612e3a565b604082019050919050565b5f6020820190508181035f830152612ec181612e88565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f2e00000000000000000000000000000000000000000000602082015250565b5f612f22602a83612388565b9150612f2d82612ec8565b604082019050919050565b5f6020820190508181035f830152612f4f81612f16565b9050919050565b7f4c69717569646974792070616972206e6f742079657420637265617465642e005f82015250565b5f612f8a601f83612388565b9150612f9582612f56565b602082019050919050565b5f6020820190508181035f830152612fb781612f7e565b9050919050565b7f537761702076616c75652065786365656473206d6178207377617020616d6f755f8201527f6e742c2074727920616761696e2077697468206c65737320737761702076616c60208201527f75652e0000000000000000000000000000000000000000000000000000000000604082015250565b5f61303e604383612388565b915061304982612fbe565b606082019050919050565b5f6020820190508181035f83015261306b81613032565b9050919050565b7f42616c616e63652065786365656473206d617820686f6c64696e677320616d6f5f8201527f756e742c20636f6e7369646572207573696e672061207365636f6e642077616c60208201527f6c65742e00000000000000000000000000000000000000000000000000000000604082015250565b5f6130f2604483612388565b91506130fd82613072565b606082019050919050565b5f6020820190508181035f83015261311f816130e6565b9050919050565b5f6131308261246c565b915061313b8361246c565b92508282026131498161246c565b915082820484148315176131605761315f61292a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61319e8261246c565b91506131a98361246c565b9250826131b9576131b8613167565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f61324a6132456132408461321e565b613227565b61246c565b9050919050565b61325a81613230565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61329281612431565b82525050565b5f6132a38383613289565b60208301905092915050565b5f602082019050919050565b5f6132c582613260565b6132cf818561326a565b93506132da8361327a565b805f5b8381101561330a5781516132f18882613298565b97506132fc836132af565b9250506001810190506132dd565b5085935050505092915050565b5f60a08201905061332a5f8301886125b4565b6133376020830187613251565b818103604083015261334981866132bb565b90506133586060830185612660565b61336560808301846125b4565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6133c9602583612388565b91506133d48261336f565b604082019050919050565b5f6020820190508181035f8301526133f6816133bd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613457602383612388565b9150613462826133fd565b604082019050919050565b5f6020820190508181035f8301526134848161344b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6134e5602683612388565b91506134f08261348b565b604082019050919050565b5f6020820190508181035f830152613512816134d9565b9050919050565b5f6135238261246c565b915061352e8361246c565b92508282039050818111156135465761354561292a565b5b9291505056fea264697066735822122006f6d68cb5d34e9a6479491b248535c63ce22f6f67ce1757f705c706ccb42e5f64736f6c634300081a0033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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