ETH Price: $3,363.45 (-8.32%)

Contract

0x9A0a40Be83812Df2458375f1ea2f1Ed779B257B3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve212985002024-11-30 5:47:3520 days ago1732945655IN
Genexix AI: GNX Token
0 ETH0.000172017.06659961
Approve212984982024-11-30 5:47:1120 days ago1732945631IN
Genexix AI: GNX Token
0 ETH0.000166676.85722539
Approve211692752024-11-12 4:40:1138 days ago1731386411IN
Genexix AI: GNX Token
0 ETH0.0009823321.06837894
Approve211488842024-11-09 8:24:5940 days ago1731140699IN
Genexix AI: GNX Token
0 ETH0.0002790311.4632088
Approve211446182024-11-08 18:08:4741 days ago1731089327IN
Genexix AI: GNX Token
0 ETH0.000408416.77766495
Approve208511562024-09-28 19:14:4782 days ago1727550887IN
Genexix AI: GNX Token
0 ETH0.00014846.09646503
Approve208223812024-09-24 18:55:1186 days ago1727204111IN
Genexix AI: GNX Token
0 ETH0.001770137.99316085
Approve205756872024-08-21 8:04:59120 days ago1724227499IN
Genexix AI: GNX Token
0 ETH0.000126032.70306994
Approve203062772024-07-14 17:36:23158 days ago1720978583IN
Genexix AI: GNX Token
0 ETH0.000201234.3450668
Transfer203062582024-07-14 17:32:35158 days ago1720978355IN
Genexix AI: GNX Token
0 ETH0.000222675.13560283
Approve203041272024-07-14 10:24:35158 days ago1720952675IN
Genexix AI: GNX Token
0 ETH0.000108332.32341735
Approve202951182024-07-13 4:11:59160 days ago1720843919IN
Genexix AI: GNX Token
0 ETH0.000152323.27117421
Approve202915242024-07-12 16:09:23160 days ago1720800563IN
Genexix AI: GNX Token
0 ETH0.000318716.83559649
Approve202915242024-07-12 16:09:23160 days ago1720800563IN
Genexix AI: GNX Token
0 ETH0.000318716.83559649
Approve202600192024-07-08 6:31:11164 days ago1720420271IN
Genexix AI: GNX Token
0 ETH0.000054412.23539326
Approve199840932024-05-30 17:17:59203 days ago1717089479IN
Genexix AI: GNX Token
0 ETH0.0006556227.00030996
Approve198906342024-05-17 15:38:11216 days ago1715960291IN
Genexix AI: GNX Token
0 ETH0.0005692912.22565686
Approve198878642024-05-17 6:19:23216 days ago1715926763IN
Genexix AI: GNX Token
0 ETH0.000244315.24654399
Approve198402962024-05-10 14:40:59223 days ago1715352059IN
Genexix AI: GNX Token
0 ETH0.000206888.49909884
Approve197787792024-05-02 0:10:47232 days ago1714608647IN
Genexix AI: GNX Token
0 ETH0.000136295.59929929
Approve197787662024-05-02 0:08:11232 days ago1714608491IN
Genexix AI: GNX Token
0 ETH0.000304166.52342083
Approve197520482024-04-28 6:32:23235 days ago1714285943IN
Genexix AI: GNX Token
0 ETH0.000240015.15157736
Approve197338832024-04-25 17:30:35238 days ago1714066235IN
Genexix AI: GNX Token
0 ETH0.0009591220.59720958
Approve197215362024-04-24 0:01:47240 days ago1713916907IN
Genexix AI: GNX Token
0 ETH0.000329377.07336525
Approve197016592024-04-21 5:21:23243 days ago1713676883IN
Genexix AI: GNX Token
0 ETH0.000284996.12034076
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
205756902024-08-21 8:05:35120 days ago1724227535
Genexix AI: GNX Token
0.00422714 ETH
205756902024-08-21 8:05:35120 days ago1724227535
Genexix AI: GNX Token
0.00422714 ETH
202951202024-07-13 4:12:23160 days ago1720843943
Genexix AI: GNX Token
0.00144501 ETH
202951202024-07-13 4:12:23160 days ago1720843943
Genexix AI: GNX Token
0.00144501 ETH
202934912024-07-12 22:44:23160 days ago1720824263
Genexix AI: GNX Token
0.0014019 ETH
202934912024-07-12 22:44:23160 days ago1720824263
Genexix AI: GNX Token
0.0014019 ETH
202934912024-07-12 22:44:23160 days ago1720824263
Genexix AI: GNX Token
0.02128722 ETH
202934912024-07-12 22:44:23160 days ago1720824263
Genexix AI: GNX Token
0.02128722 ETH
201320272024-06-20 9:24:47182 days ago1718875487
Genexix AI: GNX Token
0.02231825 ETH
201320272024-06-20 9:24:47182 days ago1718875487
Genexix AI: GNX Token
0.02231825 ETH
197787752024-05-02 0:09:59232 days ago1714608599
Genexix AI: GNX Token
0.0466078 ETH
197787752024-05-02 0:09:59232 days ago1714608599
Genexix AI: GNX Token
0.0466078 ETH
197215372024-04-24 0:02:11240 days ago1713916931
Genexix AI: GNX Token
0.06241154 ETH
197215372024-04-24 0:02:11240 days ago1713916931
Genexix AI: GNX Token
0.06241154 ETH
196281382024-04-10 22:12:59253 days ago1712787179
Genexix AI: GNX Token
0.00758296 ETH
196281382024-04-10 22:12:59253 days ago1712787179
Genexix AI: GNX Token
0.00758296 ETH
195847002024-04-04 20:12:59259 days ago1712261579
Genexix AI: GNX Token
0.00929866 ETH
195847002024-04-04 20:12:59259 days ago1712261579
Genexix AI: GNX Token
0.00929866 ETH
195811242024-04-04 8:10:59259 days ago1712218259
Genexix AI: GNX Token
0.02729209 ETH
195811242024-04-04 8:10:59259 days ago1712218259
Genexix AI: GNX Token
0.02729209 ETH
195373682024-03-29 4:45:59266 days ago1711687559
Genexix AI: GNX Token
0.00972192 ETH
195373682024-03-29 4:45:59266 days ago1711687559
Genexix AI: GNX Token
0.00972192 ETH
195171502024-03-26 7:32:35268 days ago1711438355
Genexix AI: GNX Token
0.00900984 ETH
195171502024-03-26 7:32:35268 days ago1711438355
Genexix AI: GNX Token
0.00900984 ETH
195010772024-03-24 1:13:59271 days ago1711242839
Genexix AI: GNX Token
0.01392362 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GNX

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*────────────────────────────┐
  Developed by coinsult.net                             
 _____     _             _ _   
|     |___|_|___ ___ _ _| | |_ 
|   --| . | |   |_ -| | | |  _|
|_____|___|_|_|_|___|___|_|_|  
                               
  t.me/coinsult_tg
──────────────────────────────┘

 SPDX-License-Identifier: MIT */

 pragma solidity 0.8.19;

 interface IUniswapV2Factory {
     function createPair(address tokenA, address tokenB) external returns (address pair);
 }
 
 interface IUniswapV2Router01 {
     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);
 }
 
 interface IUniswapV2Router02 is IUniswapV2Router01 {
     function swapExactTokensForETHSupportingFeeOnTransferTokens(
         uint amountIn,
         uint amountOutMin,
         address[] calldata path,
         address to,
         uint deadline
     ) external;
 }
 
 interface IERC20 {
     function totalSupply() external view returns (uint256);
     function balanceOf(address account) external view returns (uint256);
     function transfer(address recipient, uint256 amount) external returns (bool);
     function allowance(address owner, address spender) external view returns (uint256);
     function approve(address spender, uint256 amount) external returns (bool);
     function transferFrom(
         address sender,
         address recipient,
         uint256 amount
     ) external returns (bool);
 
     event Transfer(address indexed from, address indexed to, uint256 value);
     event Approval(address indexed owner, address indexed spender, uint256 value);
 }
 
 interface IERC20Metadata is IERC20 {
     function name() external view returns (string memory);
     function symbol() external view returns (string memory);
     function decimals() external view returns (uint8);
 }
 
 library Address {
     function sendValue(address payable recipient, uint256 amount) internal returns(bool){
         require(address(this).balance >= amount, "Address: insufficient balance");
 
         (bool success, ) = recipient.call{value: amount}("");
         return success; // always proceeds
     }
 }
 
 abstract contract Context {
     function _msgSender() internal view virtual returns (address) {
         return msg.sender;
     }
 
     function _msgData() internal view virtual returns (bytes calldata) {
         this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
         return msg.data;
     }
 }
 
 abstract 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);
     }
 
     function transferOwnership(address newOwner) public virtual onlyOwner {
         require(newOwner != address(0), "Ownable: new owner is the zero address");
         emit OwnershipTransferred(_owner, newOwner);
         _owner = newOwner;
     }
 }
 
 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 recipient, uint256 amount) public virtual override returns (bool) {
         _transfer(_msgSender(), recipient, 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) {
         _approve(_msgSender(), spender, amount);
         return true;
     }
 
     function transferFrom(
         address sender,
         address recipient,
         uint256 amount
     ) public virtual override returns (bool) {
         uint256 currentAllowance = _allowances[sender][_msgSender()];
         if (currentAllowance != type(uint256).max) {
             require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
             unchecked {
                 _approve(sender, _msgSender(), currentAllowance - amount);
             }
         }
 
         _transfer(sender, recipient, amount);
 
         return true;
     }
 
     function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
         _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
         return true;
     }
 
     function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
         uint256 currentAllowance = _allowances[_msgSender()][spender];
         require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
         unchecked {
             _approve(_msgSender(), spender, currentAllowance - subtractedValue);
         }
 
         return true;
     }
 
     function _transfer(
         address sender,
         address recipient,
         uint256 amount
     ) internal virtual {
         require(sender != address(0), "ERC20: transfer from the zero address");
         require(recipient != address(0), "ERC20: transfer to the zero address");
 
         uint256 senderBalance = _balances[sender];
         require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
         unchecked {
             _balances[sender] = senderBalance - amount;
         }
         _balances[recipient] += amount;
 
         emit Transfer(sender, recipient, amount);
     }
 
     function _mintOnce(address account, uint256 amount) internal virtual {
         require(account != address(0), "ERC20: mint to the zero address");
 
         _totalSupply += amount;
         _balances[account] += amount;
         emit Transfer(address(0), account, amount);
     }
 
     function _burn(address account, uint256 amount) internal virtual {
         require(account != address(0), "ERC20: burn from the zero address");
 
         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);
     }
 
     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);
     }
 }
 
 contract GNX is ERC20, Ownable {
     using Address for address payable;
 
     IUniswapV2Router02 public uniswapV2Router;
     address public  uniswapV2Pair;
 
     mapping (address => bool) private _isExcludedFromFees;
 
     uint256 public  feeOnBuy;
     uint256 public  feeOnSell;
 
     uint256 public  feeOnTransfer;
 
     address public  feeReceiver;
 
     uint256 public  swapTokensAtAmount;
     bool    private swapping;
 
     bool    public swapEnabled;
 
     event ExcludeFromFees(address indexed account, bool isExcluded);
     event SwapAndSendFee(uint256 tokensSwapped, uint256 bnbSend);
     event SwapTokensAtAmountUpdated(uint256 swapTokensAtAmount);
 
     constructor () ERC20("Genexix AI", "GNX") 
     {   
         address router;
         address pinkLock;
         
         if (block.chainid == 56) {
             router = 0x10ED43C718714eb63d5aA57B78B54704E256024E; // BSC Pancake Mainnet Router
             pinkLock = 0x407993575c91ce7643a4d4cCACc9A98c36eE1BBE; // BSC PinkLock
         } else if (block.chainid == 97) {
             router = 0xD99D1c33F9fC3444f8101754aBC46c52416550D1; // BSC Pancake Testnet Router
             pinkLock = 0x5E5b9bE5fd939c578ABE5800a90C566eeEbA44a5; // BSC Testnet PinkLock
         } else if (block.chainid == 1 || block.chainid == 5) {
             router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // ETH Uniswap Mainnet % Testnet
             pinkLock = 0x71B5759d73262FBb223956913ecF4ecC51057641; // ETH PinkLock
         } else {
             revert();
         }
 
         IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);
         address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
             .createPair(address(this), _uniswapV2Router.WETH());
 
         uniswapV2Router = _uniswapV2Router;
         uniswapV2Pair   = _uniswapV2Pair;
 
         _approve(address(this), address(uniswapV2Router), type(uint256).max);
 
         feeOnBuy  = 3;
         feeOnSell = 3;
 
         feeOnTransfer = 0;
 
         feeReceiver = 0xe0BBf6C48F645A127f42d3a57456BaBA001483Cd;
 
         _isExcludedFromFees[owner()] = true;
         _isExcludedFromFees[address(0xdead)] = true;
         _isExcludedFromFees[address(this)] = true;
         _isExcludedFromFees[pinkLock] = true;
 
         _mintOnce(owner(), 100e6 * (10 ** decimals()));
         swapTokensAtAmount = totalSupply() / 5_000;
 
         swapEnabled = false;
     }
 
     receive() external payable {}
 
     function creator() public pure returns (string memory) {
         return "t.me/coinsult_tg";
     }
 
     function claimStuckTokens(address token) external onlyOwner {
         require(token != address(this), "CSLT: Owner cannot claim contract's balance of its own tokens");
         if (token == address(0x0)) {
             payable(msg.sender).sendValue(address(this).balance);
             return;
         }
         
         IERC20(token).transfer(msg.sender, IERC20(token).balanceOf(address(this)));
     }
 
     function excludeFromFees(address account, bool excluded) external onlyOwner{
         _isExcludedFromFees[account] = excluded;
 
         emit ExcludeFromFees(account, excluded);
     }
 
     function isExcludedFromFees(address account) public view returns(bool) {
         return _isExcludedFromFees[account];
     }
 
     event UpdateFees(uint256 feeOnBuy, uint256 feeOnSell);
 
     function updateFees(uint256 _feeOnSell, uint256 _feeOnBuy, uint256 _feeOnTransfer) external onlyOwner {
         feeOnBuy = _feeOnBuy;
         feeOnSell = _feeOnSell;
         feeOnTransfer = _feeOnTransfer;
 
         require(feeOnBuy <= 3, "CSLT: Total Fees cannot exceed the maximum");
         require(feeOnSell <= 3, "CSLT: Total Fees cannot exceed the maximum");
 
         emit UpdateFees(feeOnSell, feeOnBuy);
     }
 
     event FeeReceiverChanged(address feeReceiver);
 
     function changeFeeReceiver(address _feeReceiver) external onlyOwner{
         require(_feeReceiver != address(0), "CSLT: Fee receiver cannot be the zero address");
         feeReceiver = _feeReceiver;
 
         emit FeeReceiverChanged(feeReceiver);
     }
     
     event TradingEnabled(bool tradingEnabled);
 
     bool public tradingEnabled;
 
     function enableTrading() external onlyOwner{
         require(!tradingEnabled, "CSLT: Trading already enabled.");
         tradingEnabled = true;
         swapEnabled = true;
 
         emit TradingEnabled(tradingEnabled);
     }
 
     function _transfer(address from,address to,uint256 amount) internal  override {
         require(from != address(0), "CSLT: transfer from the zero address");
         require(to != address(0), "CSLT: transfer to the zero address");
         require(tradingEnabled || _isExcludedFromFees[from] || _isExcludedFromFees[to], "CSLT: Trading not yet enabled!");
        
         if (amount == 0) {
             super._transfer(from, to, 0);
             return;
         }
 
         uint256 contractTokenBalance = balanceOf(address(this));
 
         bool canSwap = contractTokenBalance >= swapTokensAtAmount;
 
         if (canSwap &&
             !swapping &&
             to == uniswapV2Pair &&
             feeOnBuy + feeOnSell > 0 &&
             !_isExcludedFromFees[from] &&
             swapEnabled
         ) {
             swapping = true;
 
             swapAndSendFee(contractTokenBalance);     
 
             swapping = false;
         }
 
         uint256 _totalFees;
         if (_isExcludedFromFees[from] || _isExcludedFromFees[to] || swapping) {
             _totalFees = 0;
         } else if (from == uniswapV2Pair) {
             _totalFees = feeOnBuy;
         } else if (to == uniswapV2Pair) {
             _totalFees =  feeOnSell;
         } else {
             _totalFees = 0;
         }
 
         if (_totalFees > 0) {
             uint256 fees = (amount * _totalFees) / 100;
             amount = amount - fees;
             super._transfer(from, address(this), fees);
         }
 
         super._transfer(from, to, amount);
     }
 
     function setSwapTokensAtAmount(uint256 newAmount, bool _swapEnabled) external onlyOwner{
         require(newAmount > totalSupply() / 1_000_000, "CSLT: SwapTokensAtAmount must be greater than 0.0001% of total supply");
         swapTokensAtAmount = newAmount;
         swapEnabled = _swapEnabled;
 
         emit SwapTokensAtAmountUpdated(swapTokensAtAmount);
     }
 
     function swapAndSendFee(uint256 tokenAmount) private {
         uint256 initialBalance = address(this).balance;
 
         address[] memory path = new address[](2);
         path[0] = address(this);
         path[1] = uniswapV2Router.WETH();
 
         try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
             tokenAmount,
             0,
             path,
             address(this),
             block.timestamp
         ) {} catch {
             return;
         }
 
         uint256 newBalance = address(this).balance - initialBalance;
 
         payable(feeReceiver).sendValue(newBalance);
 
         emit SwapAndSendFee(tokenAmount, newBalance);
     }
 }

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"feeReceiver","type":"address"}],"name":"FeeReceiverChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbSend","type":"uint256"}],"name":"SwapAndSendFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"SwapTokensAtAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"tradingEnabled","type":"bool"}],"name":"TradingEnabled","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":"feeOnBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"feeOnSell","type":"uint256"}],"name":"UpdateFees","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":[{"internalType":"address","name":"_feeReceiver","type":"address"}],"name":"changeFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"creator","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeOnTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"},{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","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":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_feeOnSell","type":"uint256"},{"internalType":"uint256","name":"_feeOnBuy","type":"uint256"},{"internalType":"uint256","name":"_feeOnTransfer","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040518060400160405280600a81526020016947656e6578697820414960b01b8152506040518060400160405280600381526020016208e9cb60eb1b815250816003908162000062919062000726565b50600462000071828262000726565b5050506000620000866200046c60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600080466038036200011357507310ed43c718714eb63d5aa57b78b54704e256024e905073407993575c91ce7643a4d4ccacc9a98c36ee1bbe6200019d565b466061036200014f575073d99d1c33f9fc3444f8101754abc46c52416550d19050735e5b9be5fd939c578abe5800a90c566eeeba44a56200019d565b46600114806200015f5750466005145b15620001985750737a250d5630b4cf539739df2c5dacb4c659f2488d90507371b5759d73262fbb223956913ecf4ecc510576416200019d565b600080fd5b60008290506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002099190620007f2565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000257573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027d9190620007f2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f19190620007f2565b600680546001600160a01b038086166001600160a01b0319928316811790935560078054918516919092161790559091506200033290309060001962000470565b60036009819055600a556000600b819055600c80546001600160a01b03191673e0bbf6c48f645a127f42d3a57456baba001483cd179055600190600890620003826005546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560089093527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd0933429980548516600190811790915530845282842080548616821790559087168352912080549092161790556200043a620004166005546001600160a01b031690565b620004246012600a62000939565b62000434906305f5e1006200094a565b6200059c565b6113886200044760025490565b62000453919062000964565b600d555050600e805461ff0019169055506200099d9050565b3390565b6001600160a01b038316620004d85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166200053b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401620004cf565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038216620005f45760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004cf565b806002600082825462000608919062000987565b90915550506001600160a01b038216600090815260208190526040812080548392906200063790849062000987565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006ac57607f821691505b602082108103620006cd57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200072157600081815260208120601f850160051c81016020861015620006fc5750805b601f850160051c820191505b818110156200071d5782815560010162000708565b5050505b505050565b81516001600160401b0381111562000742576200074262000681565b6200075a8162000753845462000697565b84620006d3565b602080601f831160018114620007925760008415620007795750858301515b600019600386901b1c1916600185901b1785556200071d565b600085815260208120601f198616915b82811015620007c357888601518255948401946001909101908401620007a2565b5085821015620007e25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200080557600080fd5b81516001600160a01b03811681146200081d57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200087b5781600019048211156200085f576200085f62000824565b808516156200086d57918102915b93841c93908002906200083f565b509250929050565b600082620008945750600162000933565b81620008a35750600062000933565b8160018114620008bc5760028114620008c757620008e7565b600191505062000933565b60ff841115620008db57620008db62000824565b50506001821b62000933565b5060208310610133831016604e8410600b84101617156200090c575081810a62000933565b6200091883836200083a565b80600019048211156200092f576200092f62000824565b0290505b92915050565b60006200081d60ff84168362000883565b808202811582820484141762000933576200093362000824565b6000826200098257634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000933576200093362000824565b611bf680620009ad6000396000f3fe6080604052600436106101dc5760003560e01c806370a0823111610102578063b1fde9f811610095578063dd62ed3e11610064578063dd62ed3e1461057e578063e2f45605146105c4578063f2fde38b146105da578063f9d0831a146105fa57600080fd5b8063b1fde9f814610508578063b3f0067414610528578063bb8c3ee014610548578063c02466681461055e57600080fd5b80638da5cb5b116100d15780638da5cb5b1461049557806395d89b41146104b3578063a457c2d7146104c8578063a9059cbb146104e857600080fd5b806370a0823114610415578063715018a61461044b5780637c08b964146104605780638a8c523c1461048057600080fd5b806323b872dd1161017a5780634ada218b116101495780634ada218b146103875780634fbee193146103a757806365048d08146103e05780636ddd1713146103f657600080fd5b806323b872dd1461030b578063313ce5671461032b578063395093511461034757806349bd5a5e1461036757600080fd5b80630fa1eeab116101b65780630fa1eeab146102785780631694505e1461029c57806318160ddd146102d457806322429085146102e957600080fd5b806302d05d3f146101e857806306fdde0314610233578063095ea7b31461024857600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152601081526f742e6d652f636f696e73756c745f746760801b60208201525b60405161022a91906117fe565b60405180910390f35b34801561023f57600080fd5b5061021d61061a565b34801561025457600080fd5b50610268610263366004611861565b6106ac565b604051901515815260200161022a565b34801561028457600080fd5b5061028e600b5481565b60405190815260200161022a565b3480156102a857600080fd5b506006546102bc906001600160a01b031681565b6040516001600160a01b03909116815260200161022a565b3480156102e057600080fd5b5060025461028e565b3480156102f557600080fd5b5061030961030436600461188d565b6106c3565b005b34801561031757600080fd5b506102686103263660046118b9565b610794565b34801561033757600080fd5b506040516012815260200161022a565b34801561035357600080fd5b50610268610362366004611861565b610845565b34801561037357600080fd5b506007546102bc906001600160a01b031681565b34801561039357600080fd5b50600e546102689062010000900460ff1681565b3480156103b357600080fd5b506102686103c23660046118fa565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156103ec57600080fd5b5061028e600a5481565b34801561040257600080fd5b50600e5461026890610100900460ff1681565b34801561042157600080fd5b5061028e6104303660046118fa565b6001600160a01b031660009081526020819052604090205490565b34801561045757600080fd5b50610309610881565b34801561046c57600080fd5b5061030961047b3660046118fa565b6108f5565b34801561048c57600080fd5b506103096109df565b3480156104a157600080fd5b506005546001600160a01b03166102bc565b3480156104bf57600080fd5b5061021d610ab7565b3480156104d457600080fd5b506102686104e3366004611861565b610ac6565b3480156104f457600080fd5b50610268610503366004611861565b610b5f565b34801561051457600080fd5b5061030961052336600461192c565b610b6c565b34801561053457600080fd5b50600c546102bc906001600160a01b031681565b34801561055457600080fd5b5061028e60095481565b34801561056a57600080fd5b5061030961057936600461195c565b610c7e565b34801561058a57600080fd5b5061028e61059936600461198a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156105d057600080fd5b5061028e600d5481565b3480156105e657600080fd5b506103096105f53660046118fa565b610d07565b34801561060657600080fd5b506103096106153660046118fa565b610df2565b606060038054610629906119b8565b80601f0160208091040260200160405190810160405280929190818152602001828054610655906119b8565b80156106a25780601f10610677576101008083540402835291602001916106a2565b820191906000526020600020905b81548152906001019060200180831161068557829003601f168201915b5050505050905090565b60006106b9338484610f9a565b5060015b92915050565b6005546001600160a01b031633146106f65760405162461bcd60e51b81526004016106ed906119f2565b60405180910390fd5b6009829055600a839055600b81905560038211156107265760405162461bcd60e51b81526004016106ed90611a27565b6003600a5411156107495760405162461bcd60e51b81526004016106ed90611a27565b7f53482196ef67ac615caab1c3eca2c270acbfdcd75e57c5f24c1b98b10c8e6e04600a54600954604051610787929190918252602082015260400190565b60405180910390a1505050565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461082f57828110156108225760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016106ed565b61082f8533858403610f9a565b61083a8585856110be565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106b991859061087c908690611a87565b610f9a565b6005546001600160a01b031633146108ab5760405162461bcd60e51b81526004016106ed906119f2565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b0316331461091f5760405162461bcd60e51b81526004016106ed906119f2565b6001600160a01b03811661098b5760405162461bcd60e51b815260206004820152602d60248201527f43534c543a204665652072656365697665722063616e6e6f742062652074686560448201526c207a65726f206164647265737360981b60648201526084016106ed565b600c80546001600160a01b0319166001600160a01b0383169081179091556040519081527f647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f7860599060200160405180910390a150565b6005546001600160a01b03163314610a095760405162461bcd60e51b81526004016106ed906119f2565b600e5462010000900460ff1615610a625760405162461bcd60e51b815260206004820152601e60248201527f43534c543a2054726164696e6720616c726561647920656e61626c65642e000060448201526064016106ed565b600e80546201010062ffff001990911617908190556040516201000090910460ff16151581527fbeda7dca7bc1b3e80b871f4818129ec73b771581f803d553aeb3484098e5f65a9060200160405180910390a1565b606060048054610629906119b8565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610b485760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106ed565b610b553385858403610f9a565b5060019392505050565b60006106b93384846110be565b6005546001600160a01b03163314610b965760405162461bcd60e51b81526004016106ed906119f2565b620f4240610ba360025490565b610bad9190611a9a565b8211610c2f5760405162461bcd60e51b815260206004820152604560248201527f43534c543a2053776170546f6b656e734174416d6f756e74206d75737420626560448201527f2067726561746572207468616e20302e3030303125206f6620746f74616c20736064820152647570706c7960d81b608482015260a4016106ed565b600d829055600e805461ff001916610100831515021790556040518281527f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b1459060200160405180910390a15050565b6005546001600160a01b03163314610ca85760405162461bcd60e51b81526004016106ed906119f2565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610d315760405162461bcd60e51b81526004016106ed906119f2565b6001600160a01b038116610d965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ed565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610e1c5760405162461bcd60e51b81526004016106ed906119f2565b306001600160a01b03821603610e9a5760405162461bcd60e51b815260206004820152603d60248201527f43534c543a204f776e65722063616e6e6f7420636c61696d20636f6e7472616360448201527f7427732062616c616e6365206f6620697473206f776e20746f6b656e7300000060648201526084016106ed565b6001600160a01b038116610eb657610eb233476113d8565b5050565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610f04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f289190611abc565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb29190611ad5565b50565b6001600160a01b038316610ffc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ed565b6001600160a01b03821661105d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ed565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111205760405162461bcd60e51b8152602060048201526024808201527f43534c543a207472616e736665722066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ed565b6001600160a01b0382166111815760405162461bcd60e51b815260206004820152602260248201527f43534c543a207472616e7366657220746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ed565b600e5462010000900460ff16806111b057506001600160a01b03831660009081526008602052604090205460ff165b806111d357506001600160a01b03821660009081526008602052604090205460ff165b61121f5760405162461bcd60e51b815260206004820152601e60248201527f43534c543a2054726164696e67206e6f742079657420656e61626c656421000060448201526064016106ed565b806000036112385761123383836000611487565b505050565b30600090815260208190526040902054600d548110801590819061125f5750600e5460ff16155b801561127857506007546001600160a01b038581169116145b801561129357506000600a546009546112919190611a87565b115b80156112b857506001600160a01b03851660009081526008602052604090205460ff16155b80156112cb5750600e54610100900460ff165b156112f157600e805460ff191660011790556112e682611656565b600e805460ff191690555b6001600160a01b03851660009081526008602052604081205460ff168061133057506001600160a01b03851660009081526008602052604090205460ff165b8061133d5750600e5460ff165b1561134a5750600061138c565b6007546001600160a01b0390811690871603611369575060095461138c565b6007546001600160a01b03908116908616036113885750600a5461138c565b5060005b80156113c557600060646113a08387611af2565b6113aa9190611a9a565b90506113b68186611b09565b94506113c3873083611487565b505b6113d0868686611487565b505050505050565b60008147101561142a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016106ed565b6000836001600160a01b03168360405160006040518083038185875af1925050503d8060008114611477576040519150601f19603f3d011682016040523d82523d6000602084013e61147c565b606091505b509095945050505050565b6001600160a01b0383166114eb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106ed565b6001600160a01b03821661154d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106ed565b6001600160a01b038316600090815260208190526040902054818110156115c55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106ed565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906115fc908490611a87565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161164891815260200190565b60405180910390a350505050565b60408051600280825260608201835247926000929190602083019080368337019050509050308160008151811061168f5761168f611b1c565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156116e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170c9190611b32565b8160018151811061171f5761171f611b1c565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac94790611765908690600090869030904290600401611b4f565b600060405180830381600087803b15801561177f57600080fd5b505af1925050508015611790575060015b61179957505050565b60006117a58347611b09565b600c549091506117be906001600160a01b0316826113d8565b5060408051858152602081018390527f54c5e193a68e36b996e0c85b164c5953625d951c488fbad0e67aa32e1c45307b910160405180910390a150505050565b600060208083528351808285015260005b8181101561182b5785810183015185820160400152820161180f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f9757600080fd5b6000806040838503121561187457600080fd5b823561187f8161184c565b946020939093013593505050565b6000806000606084860312156118a257600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156118ce57600080fd5b83356118d98161184c565b925060208401356118e98161184c565b929592945050506040919091013590565b60006020828403121561190c57600080fd5b81356119178161184c565b9392505050565b8015158114610f9757600080fd5b6000806040838503121561193f57600080fd5b8235915060208301356119518161191e565b809150509250929050565b6000806040838503121561196f57600080fd5b823561197a8161184c565b915060208301356119518161191e565b6000806040838503121561199d57600080fd5b82356119a88161184c565b915060208301356119518161184c565b600181811c908216806119cc57607f821691505b6020821081036119ec57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602a908201527f43534c543a20546f74616c20466565732063616e6e6f742065786365656420746040820152696865206d6178696d756d60b01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808201808211156106bd576106bd611a71565b600082611ab757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611ace57600080fd5b5051919050565b600060208284031215611ae757600080fd5b81516119178161191e565b80820281158282048414176106bd576106bd611a71565b818103818111156106bd576106bd611a71565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611b4457600080fd5b81516119178161184c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b9f5784516001600160a01b031683529383019391830191600101611b7a565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212208e02ef603b90aeb7c27097c566a136c83b1cde457113b83d861843af6e1b558764736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c806370a0823111610102578063b1fde9f811610095578063dd62ed3e11610064578063dd62ed3e1461057e578063e2f45605146105c4578063f2fde38b146105da578063f9d0831a146105fa57600080fd5b8063b1fde9f814610508578063b3f0067414610528578063bb8c3ee014610548578063c02466681461055e57600080fd5b80638da5cb5b116100d15780638da5cb5b1461049557806395d89b41146104b3578063a457c2d7146104c8578063a9059cbb146104e857600080fd5b806370a0823114610415578063715018a61461044b5780637c08b964146104605780638a8c523c1461048057600080fd5b806323b872dd1161017a5780634ada218b116101495780634ada218b146103875780634fbee193146103a757806365048d08146103e05780636ddd1713146103f657600080fd5b806323b872dd1461030b578063313ce5671461032b578063395093511461034757806349bd5a5e1461036757600080fd5b80630fa1eeab116101b65780630fa1eeab146102785780631694505e1461029c57806318160ddd146102d457806322429085146102e957600080fd5b806302d05d3f146101e857806306fdde0314610233578063095ea7b31461024857600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152601081526f742e6d652f636f696e73756c745f746760801b60208201525b60405161022a91906117fe565b60405180910390f35b34801561023f57600080fd5b5061021d61061a565b34801561025457600080fd5b50610268610263366004611861565b6106ac565b604051901515815260200161022a565b34801561028457600080fd5b5061028e600b5481565b60405190815260200161022a565b3480156102a857600080fd5b506006546102bc906001600160a01b031681565b6040516001600160a01b03909116815260200161022a565b3480156102e057600080fd5b5060025461028e565b3480156102f557600080fd5b5061030961030436600461188d565b6106c3565b005b34801561031757600080fd5b506102686103263660046118b9565b610794565b34801561033757600080fd5b506040516012815260200161022a565b34801561035357600080fd5b50610268610362366004611861565b610845565b34801561037357600080fd5b506007546102bc906001600160a01b031681565b34801561039357600080fd5b50600e546102689062010000900460ff1681565b3480156103b357600080fd5b506102686103c23660046118fa565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156103ec57600080fd5b5061028e600a5481565b34801561040257600080fd5b50600e5461026890610100900460ff1681565b34801561042157600080fd5b5061028e6104303660046118fa565b6001600160a01b031660009081526020819052604090205490565b34801561045757600080fd5b50610309610881565b34801561046c57600080fd5b5061030961047b3660046118fa565b6108f5565b34801561048c57600080fd5b506103096109df565b3480156104a157600080fd5b506005546001600160a01b03166102bc565b3480156104bf57600080fd5b5061021d610ab7565b3480156104d457600080fd5b506102686104e3366004611861565b610ac6565b3480156104f457600080fd5b50610268610503366004611861565b610b5f565b34801561051457600080fd5b5061030961052336600461192c565b610b6c565b34801561053457600080fd5b50600c546102bc906001600160a01b031681565b34801561055457600080fd5b5061028e60095481565b34801561056a57600080fd5b5061030961057936600461195c565b610c7e565b34801561058a57600080fd5b5061028e61059936600461198a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156105d057600080fd5b5061028e600d5481565b3480156105e657600080fd5b506103096105f53660046118fa565b610d07565b34801561060657600080fd5b506103096106153660046118fa565b610df2565b606060038054610629906119b8565b80601f0160208091040260200160405190810160405280929190818152602001828054610655906119b8565b80156106a25780601f10610677576101008083540402835291602001916106a2565b820191906000526020600020905b81548152906001019060200180831161068557829003601f168201915b5050505050905090565b60006106b9338484610f9a565b5060015b92915050565b6005546001600160a01b031633146106f65760405162461bcd60e51b81526004016106ed906119f2565b60405180910390fd5b6009829055600a839055600b81905560038211156107265760405162461bcd60e51b81526004016106ed90611a27565b6003600a5411156107495760405162461bcd60e51b81526004016106ed90611a27565b7f53482196ef67ac615caab1c3eca2c270acbfdcd75e57c5f24c1b98b10c8e6e04600a54600954604051610787929190918252602082015260400190565b60405180910390a1505050565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461082f57828110156108225760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016106ed565b61082f8533858403610f9a565b61083a8585856110be565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106b991859061087c908690611a87565b610f9a565b6005546001600160a01b031633146108ab5760405162461bcd60e51b81526004016106ed906119f2565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b0316331461091f5760405162461bcd60e51b81526004016106ed906119f2565b6001600160a01b03811661098b5760405162461bcd60e51b815260206004820152602d60248201527f43534c543a204665652072656365697665722063616e6e6f742062652074686560448201526c207a65726f206164647265737360981b60648201526084016106ed565b600c80546001600160a01b0319166001600160a01b0383169081179091556040519081527f647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f7860599060200160405180910390a150565b6005546001600160a01b03163314610a095760405162461bcd60e51b81526004016106ed906119f2565b600e5462010000900460ff1615610a625760405162461bcd60e51b815260206004820152601e60248201527f43534c543a2054726164696e6720616c726561647920656e61626c65642e000060448201526064016106ed565b600e80546201010062ffff001990911617908190556040516201000090910460ff16151581527fbeda7dca7bc1b3e80b871f4818129ec73b771581f803d553aeb3484098e5f65a9060200160405180910390a1565b606060048054610629906119b8565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610b485760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106ed565b610b553385858403610f9a565b5060019392505050565b60006106b93384846110be565b6005546001600160a01b03163314610b965760405162461bcd60e51b81526004016106ed906119f2565b620f4240610ba360025490565b610bad9190611a9a565b8211610c2f5760405162461bcd60e51b815260206004820152604560248201527f43534c543a2053776170546f6b656e734174416d6f756e74206d75737420626560448201527f2067726561746572207468616e20302e3030303125206f6620746f74616c20736064820152647570706c7960d81b608482015260a4016106ed565b600d829055600e805461ff001916610100831515021790556040518281527f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b1459060200160405180910390a15050565b6005546001600160a01b03163314610ca85760405162461bcd60e51b81526004016106ed906119f2565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610d315760405162461bcd60e51b81526004016106ed906119f2565b6001600160a01b038116610d965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ed565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610e1c5760405162461bcd60e51b81526004016106ed906119f2565b306001600160a01b03821603610e9a5760405162461bcd60e51b815260206004820152603d60248201527f43534c543a204f776e65722063616e6e6f7420636c61696d20636f6e7472616360448201527f7427732062616c616e6365206f6620697473206f776e20746f6b656e7300000060648201526084016106ed565b6001600160a01b038116610eb657610eb233476113d8565b5050565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610f04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f289190611abc565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb29190611ad5565b50565b6001600160a01b038316610ffc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ed565b6001600160a01b03821661105d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ed565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111205760405162461bcd60e51b8152602060048201526024808201527f43534c543a207472616e736665722066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ed565b6001600160a01b0382166111815760405162461bcd60e51b815260206004820152602260248201527f43534c543a207472616e7366657220746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ed565b600e5462010000900460ff16806111b057506001600160a01b03831660009081526008602052604090205460ff165b806111d357506001600160a01b03821660009081526008602052604090205460ff165b61121f5760405162461bcd60e51b815260206004820152601e60248201527f43534c543a2054726164696e67206e6f742079657420656e61626c656421000060448201526064016106ed565b806000036112385761123383836000611487565b505050565b30600090815260208190526040902054600d548110801590819061125f5750600e5460ff16155b801561127857506007546001600160a01b038581169116145b801561129357506000600a546009546112919190611a87565b115b80156112b857506001600160a01b03851660009081526008602052604090205460ff16155b80156112cb5750600e54610100900460ff165b156112f157600e805460ff191660011790556112e682611656565b600e805460ff191690555b6001600160a01b03851660009081526008602052604081205460ff168061133057506001600160a01b03851660009081526008602052604090205460ff165b8061133d5750600e5460ff165b1561134a5750600061138c565b6007546001600160a01b0390811690871603611369575060095461138c565b6007546001600160a01b03908116908616036113885750600a5461138c565b5060005b80156113c557600060646113a08387611af2565b6113aa9190611a9a565b90506113b68186611b09565b94506113c3873083611487565b505b6113d0868686611487565b505050505050565b60008147101561142a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016106ed565b6000836001600160a01b03168360405160006040518083038185875af1925050503d8060008114611477576040519150601f19603f3d011682016040523d82523d6000602084013e61147c565b606091505b509095945050505050565b6001600160a01b0383166114eb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106ed565b6001600160a01b03821661154d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106ed565b6001600160a01b038316600090815260208190526040902054818110156115c55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106ed565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906115fc908490611a87565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161164891815260200190565b60405180910390a350505050565b60408051600280825260608201835247926000929190602083019080368337019050509050308160008151811061168f5761168f611b1c565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156116e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170c9190611b32565b8160018151811061171f5761171f611b1c565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac94790611765908690600090869030904290600401611b4f565b600060405180830381600087803b15801561177f57600080fd5b505af1925050508015611790575060015b61179957505050565b60006117a58347611b09565b600c549091506117be906001600160a01b0316826113d8565b5060408051858152602081018390527f54c5e193a68e36b996e0c85b164c5953625d951c488fbad0e67aa32e1c45307b910160405180910390a150505050565b600060208083528351808285015260005b8181101561182b5785810183015185820160400152820161180f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f9757600080fd5b6000806040838503121561187457600080fd5b823561187f8161184c565b946020939093013593505050565b6000806000606084860312156118a257600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156118ce57600080fd5b83356118d98161184c565b925060208401356118e98161184c565b929592945050506040919091013590565b60006020828403121561190c57600080fd5b81356119178161184c565b9392505050565b8015158114610f9757600080fd5b6000806040838503121561193f57600080fd5b8235915060208301356119518161191e565b809150509250929050565b6000806040838503121561196f57600080fd5b823561197a8161184c565b915060208301356119518161191e565b6000806040838503121561199d57600080fd5b82356119a88161184c565b915060208301356119518161184c565b600181811c908216806119cc57607f821691505b6020821081036119ec57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602a908201527f43534c543a20546f74616c20466565732063616e6e6f742065786365656420746040820152696865206d6178696d756d60b01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808201808211156106bd576106bd611a71565b600082611ab757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611ace57600080fd5b5051919050565b600060208284031215611ae757600080fd5b81516119178161191e565b80820281158282048414176106bd576106bd611a71565b818103818111156106bd576106bd611a71565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611b4457600080fd5b81516119178161184c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b9f5784516001600160a01b031683529383019391830191600101611b7a565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212208e02ef603b90aeb7c27097c566a136c83b1cde457113b83d861843af6e1b558764736f6c63430008130033

Deployed Bytecode Sourcemap

8624:7304:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11176:101;;;;;;;;;;-1:-1:-1;11243:25:0;;;;;;;;;;;;-1:-1:-1;;;11243:25:0;;;;11176:101;;;;;;;:::i;:::-;;;;;;;;4416:102;;;;;;;;;;;;;:::i;5359:172::-;;;;;;;;;;-1:-1:-1;5359:172:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5359:172:0;1023:187:1;8928:29:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;8928:29:0;1215:177:1;8707:41:0;;;;;;;;;;-1:-1:-1;8707:41:0;;;;-1:-1:-1;;;;;8707:41:0;;;;;;-1:-1:-1;;;;;1586:32:1;;;1568:51;;1556:2;1541:18;8707:41:0;1397:228:1;4749:110:0;;;;;;;;;;-1:-1:-1;4838:12:0;;4749:110;;12112:434;;;;;;;;;;-1:-1:-1;12112:434:0;;;;;:::i;:::-;;:::i;:::-;;5541:589;;;;;;;;;;-1:-1:-1;5541:589:0;;;;;:::i;:::-;;:::i;4644:95::-;;;;;;;;;;-1:-1:-1;4644:95:0;;4728:2;2554:36:1;;2542:2;2527:18;4644:95:0;2412:184:1;6140:218:0;;;;;;;;;;-1:-1:-1;6140:218:0;;;;;:::i;:::-;;:::i;8756:29::-;;;;;;;;;;-1:-1:-1;8756:29:0;;;;-1:-1:-1;;;;;8756:29:0;;;12939:26;;;;;;;;;;-1:-1:-1;12939:26:0;;;;;;;;;;;11911:127;;;;;;;;;;-1:-1:-1;11911:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;12001:28:0;11976:4;12001:28;;;:19;:28;;;;;;;;;11911:127;8892:25;;;;;;;;;;;;;;;;9083:26;;;;;;;;;;-1:-1:-1;9083:26:0;;;;;;;;;;;4869:129;;;;;;;;;;-1:-1:-1;4869:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;4971:18:0;4943:7;4971:18;;;;;;;;;;;;4869:129;3579:151;;;;;;;;;;;;;:::i;12612:261::-;;;;;;;;;;-1:-1:-1;12612:261:0;;;;;:::i;:::-;;:::i;12976:235::-;;;;;;;;;;;;;:::i;3356:81::-;;;;;;;;;;-1:-1:-1;3422:6:0;;-1:-1:-1;;;;;3422:6:0;3356:81;;4528:106;;;;;;;;;;;;;:::i;6368:421::-;;;;;;;;;;-1:-1:-1;6368:421:0;;;;;:::i;:::-;;:::i;5008:178::-;;;;;;;;;;-1:-1:-1;5008:178:0;;;;;:::i;:::-;;:::i;14833:372::-;;;;;;;;;;-1:-1:-1;14833:372:0;;;;;:::i;:::-;;:::i;8968:27::-;;;;;;;;;;-1:-1:-1;8968:27:0;;;;-1:-1:-1;;;;;8968:27:0;;;8860:24;;;;;;;;;;;;;;;;11712:189;;;;;;;;;;-1:-1:-1;11712:189:0;;;;;:::i;:::-;;:::i;5196:153::-;;;;;;;;;;-1:-1:-1;5196:153:0;;;;;:::i;:::-;-1:-1:-1;;;;;5313:18:0;;;5285:7;5313:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5196:153;9006:34;;;;;;;;;;;;;;;;3740:248;;;;;;;;;;-1:-1:-1;3740:248:0;;;;;:::i;:::-;;:::i;11287:415::-;;;;;;;;;;-1:-1:-1;11287:415:0;;;;;:::i;:::-;;:::i;4416:102::-;4470:13;4504:5;4497:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4416:102;:::o;5359:172::-;5442:4;5460:39;2739:10;5483:7;5492:6;5460:8;:39::i;:::-;-1:-1:-1;5518:4:0;5359:172;;;;;:::o;12112:434::-;3488:6;;-1:-1:-1;;;;;3488:6:0;2739:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;;;;;;;;;12226:8:::1;:20:::0;;;12258:9:::1;:22:::0;;;12292:13:::1;:30:::0;;;12357:1:::1;12345:13:::0;::::1;;12337:68;;;;-1:-1:-1::0;;;12337:68:0::1;;;;;;;:::i;:::-;12438:1;12425:9;;:14;;12417:69;;;;-1:-1:-1::0;;;12417:69:0::1;;;;;;;:::i;:::-;12506:31;12517:9;;12528:8;;12506:31;;;;;;5609:25:1::0;;;5665:2;5650:18;;5643:34;5597:2;5582:18;;5435:248;12506:31:0::1;;;;;;;;12112:434:::0;;;:::o;5541:589::-;-1:-1:-1;;;;;5730:19:0;;5685:4;5730:19;;;:11;:19;;;;;;;;2739:10;5730:33;;;;;;;;-1:-1:-1;;5779:37:0;;5775:270;;5862:6;5842:16;:26;;5834:79;;;;-1:-1:-1;;;5834:79:0;;5890:2:1;5834:79:0;;;5872:21:1;5929:2;5909:18;;;5902:30;5968:34;5948:18;;;5941:62;-1:-1:-1;;;6019:18:1;;;6012:38;6067:19;;5834:79:0;5688:404:1;5834:79:0;5959:57;5968:6;2739:10;6009:6;5990:16;:25;5959:8;:57::i;:::-;6059:36;6069:6;6077:9;6088:6;6059:9;:36::i;:::-;-1:-1:-1;6117:4:0;;5541:589;-1:-1:-1;;;;5541:589:0:o;6140:218::-;2739:10;6228:4;6278:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6278:34:0;;;;;;;;;;6228:4;;6246:80;;6269:7;;6278:47;;6315:10;;6278:47;:::i;:::-;6246:8;:80::i;3579:151::-;3488:6;;-1:-1:-1;;;;;3488:6:0;2739:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;3671:6:::1;::::0;3650:40:::1;::::0;3687:1:::1;::::0;-1:-1:-1;;;;;3671:6:0::1;::::0;3650:40:::1;::::0;3687:1;;3650:40:::1;3702:6;:19:::0;;-1:-1:-1;;;;;;3702:19:0::1;::::0;;3579:151::o;12612:261::-;3488:6;;-1:-1:-1;;;;;3488:6:0;2739:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12699:26:0;::::1;12691:84;;;::::0;-1:-1:-1;;;12691:84:0;;6561:2:1;12691:84:0::1;::::0;::::1;6543:21:1::0;6600:2;6580:18;;;6573:30;6639:34;6619:18;;;6612:62;-1:-1:-1;;;6690:18:1;;;6683:43;6743:19;;12691:84:0::1;6359:409:1::0;12691:84:0::1;12787:11;:26:::0;;-1:-1:-1;;;;;;12787:26:0::1;-1:-1:-1::0;;;;;12787:26:0;::::1;::::0;;::::1;::::0;;;12833:31:::1;::::0;1568:51:1;;;12833:31:0::1;::::0;1556:2:1;1541:18;12833:31:0::1;;;;;;;12612:261:::0;:::o;12976:235::-;3488:6;;-1:-1:-1;;;;;3488:6:0;2739:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;13040:14:::1;::::0;;;::::1;;;13039:15;13031:58;;;::::0;-1:-1:-1;;;13031:58:0;;6975:2:1;13031:58:0::1;::::0;::::1;6957:21:1::0;7014:2;6994:18;;;6987:30;7053:32;7033:18;;;7026:60;7103:18;;13031:58:0::1;6773:354:1::0;13031:58:0::1;13101:14;:21:::0;;13134:18;-1:-1:-1;;13134:18:0;;;;;;;;13172:30:::1;::::0;13101:21;13187:14;;::::1;13101:21;13187:14;1188::1::0;1181:22;1163:41;;13172:30:0::1;::::0;1151:2:1;1136:18;13172:30:0::1;;;;;;;12976:235::o:0;4528:106::-;4584:13;4618:7;4611:14;;;;;:::i;6368:421::-;2739:10;6461:4;6506:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6506:34:0;;;;;;;;;;6560:35;;;;6552:85;;;;-1:-1:-1;;;6552:85:0;;7334:2:1;6552:85:0;;;7316:21:1;7373:2;7353:18;;;7346:30;7412:34;7392:18;;;7385:62;-1:-1:-1;;;7463:18:1;;;7456:35;7508:19;;6552:85:0;7132:401:1;6552:85:0;6675:67;2739:10;6698:7;6726:15;6707:16;:34;6675:8;:67::i;:::-;-1:-1:-1;6776:4:0;;6368:421;-1:-1:-1;;;6368:421:0:o;5008:178::-;5094:4;5112:42;2739:10;5136:9;5147:6;5112:9;:42::i;14833:372::-;3488:6;;-1:-1:-1;;;;;3488:6:0;2739:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;14968:9:::1;14952:13;4838:12:::0;;;4749:110;14952:13:::1;:25;;;;:::i;:::-;14940:9;:37;14932:119;;;::::0;-1:-1:-1;;;14932:119:0;;7962:2:1;14932:119:0::1;::::0;::::1;7944:21:1::0;8001:2;7981:18;;;7974:30;8040:34;8020:18;;;8013:62;8111:34;8091:18;;;8084:62;-1:-1:-1;;;8162:19:1;;;8155:36;8208:19;;14932:119:0::1;7760:473:1::0;14932:119:0::1;15063:18;:30:::0;;;15105:11:::1;:26:::0;;-1:-1:-1;;15105:26:0::1;;::::0;::::1;;;;::::0;;15151:45:::1;::::0;1361:25:1;;;15151:45:0::1;::::0;1349:2:1;1334:18;15151:45:0::1;;;;;;;14833:372:::0;;:::o;11712:189::-;3488:6;;-1:-1:-1;;;;;3488:6:0;2739:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11799:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;11799:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;11858:34;;1163:41:1;;;11858:34:0::1;::::0;1136:18:1;11858:34:0::1;;;;;;;11712:189:::0;;:::o;3740:248::-;3488:6;;-1:-1:-1;;;;;3488:6:0;2739:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3830:22:0;::::1;3822:73;;;::::0;-1:-1:-1;;;3822:73:0;;8440:2:1;3822:73:0::1;::::0;::::1;8422:21:1::0;8479:2;8459:18;;;8452:30;8518:34;8498:18;;;8491:62;-1:-1:-1;;;8569:18:1;;;8562:36;8615:19;;3822:73:0::1;8238:402:1::0;3822:73:0::1;3933:6;::::0;3912:38:::1;::::0;-1:-1:-1;;;;;3912:38:0;;::::1;::::0;3933:6:::1;::::0;3912:38:::1;::::0;3933:6:::1;::::0;3912:38:::1;3962:6;:17:::0;;-1:-1:-1;;;;;;3962:17:0::1;-1:-1:-1::0;;;;;3962:17:0;;;::::1;::::0;;;::::1;::::0;;3740:248::o;11287:415::-;3488:6;;-1:-1:-1;;;;;3488:6:0;2739:10;3488:22;3480:67;;;;-1:-1:-1;;;3480:67:0;;;;;;;:::i;:::-;11384:4:::1;-1:-1:-1::0;;;;;11367:22:0;::::1;::::0;11359:96:::1;;;::::0;-1:-1:-1;;;11359:96:0;;8847:2:1;11359:96:0::1;::::0;::::1;8829:21:1::0;8886:2;8866:18;;;8859:30;8925:34;8905:18;;;8898:62;8996:31;8976:18;;;8969:59;9045:19;;11359:96:0::1;8645:425:1::0;11359:96:0::1;-1:-1:-1::0;;;;;11471:21:0;::::1;11467:130;;11510:52;11518:10;11540:21;11510:29;:52::i;:::-;;11287:415:::0;:::o;11467:130::-:1;11654:38;::::0;-1:-1:-1;;;11654:38:0;;11686:4:::1;11654:38;::::0;::::1;1568:51:1::0;-1:-1:-1;;;;;11619:22:0;::::1;::::0;::::1;::::0;11642:10:::1;::::0;11619:22;;11654:23:::1;::::0;1541:18:1;;11654:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11619:74;::::0;-1:-1:-1;;;;;;11619:74:0::1;::::0;;;;;;-1:-1:-1;;;;;9456:32:1;;;11619:74:0::1;::::0;::::1;9438:51:1::0;9505:18;;;9498:34;9411:18;;11619:74:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3559:1::-;11287:415:::0;:::o;8224:390::-;-1:-1:-1;;;;;8365:19:0;;8357:68;;;;-1:-1:-1;;;8357:68:0;;9995:2:1;8357:68:0;;;9977:21:1;10034:2;10014:18;;;10007:30;10073:34;10053:18;;;10046:62;-1:-1:-1;;;10124:18:1;;;10117:34;10168:19;;8357:68:0;9793:400:1;8357:68:0;-1:-1:-1;;;;;8445:21:0;;8437:68;;;;-1:-1:-1;;;8437:68:0;;10400:2:1;8437:68:0;;;10382:21:1;10439:2;10419:18;;;10412:30;10478:34;10458:18;;;10451:62;-1:-1:-1;;;10529:18:1;;;10522:32;10571:19;;8437:68:0;10198:398:1;8437:68:0;-1:-1:-1;;;;;8520:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8573:32;;1361:25:1;;;8573:32:0;;1334:18:1;8573:32:0;;;;;;;8224:390;;;:::o;13221:1602::-;-1:-1:-1;;;;;13319:18:0;;13311:67;;;;-1:-1:-1;;;13311:67:0;;10803:2:1;13311:67:0;;;10785:21:1;10842:2;10822:18;;;10815:30;10881:34;10861:18;;;10854:62;-1:-1:-1;;;10932:18:1;;;10925:34;10976:19;;13311:67:0;10601:400:1;13311:67:0;-1:-1:-1;;;;;13398:16:0;;13390:63;;;;-1:-1:-1;;;13390:63:0;;11208:2:1;13390:63:0;;;11190:21:1;11247:2;11227:18;;;11220:30;11286:34;11266:18;;;11259:62;-1:-1:-1;;;11337:18:1;;;11330:32;11379:19;;13390:63:0;11006:398:1;13390:63:0;13473:14;;;;;;;;:43;;-1:-1:-1;;;;;;13491:25:0;;;;;;:19;:25;;;;;;;;13473:43;:70;;;-1:-1:-1;;;;;;13520:23:0;;;;;;:19;:23;;;;;;;;13473:70;13465:113;;;;-1:-1:-1;;;13465:113:0;;11611:2:1;13465:113:0;;;11593:21:1;11650:2;11630:18;;;11623:30;11689:32;11669:18;;;11662:60;11739:18;;13465:113:0;11409:354:1;13465:113:0;13604:6;13614:1;13604:11;13600:96;;13633:28;13649:4;13655:2;13659:1;13633:15;:28::i;:::-;13221:1602;;;:::o;13600:96::-;13759:4;13710:28;4971:18;;;;;;;;;;;13819;;13795:42;;;;;;;13856:34;;-1:-1:-1;13882:8:0;;;;13881:9;13856:34;:71;;;;-1:-1:-1;13914:13:0;;-1:-1:-1;;;;;13908:19:0;;;13914:13;;13908:19;13856:71;:113;;;;;13968:1;13956:9;;13945:8;;:20;;;;:::i;:::-;:24;13856:113;:157;;;;-1:-1:-1;;;;;;13988:25:0;;;;;;:19;:25;;;;;;;;13987:26;13856:157;:186;;;;-1:-1:-1;14031:11:0;;;;;;;13856:186;13852:342;;;14071:8;:15;;-1:-1:-1;;14071:15:0;14082:4;14071:15;;;14105:36;14120:20;14105:14;:36::i;:::-;14165:8;:16;;-1:-1:-1;;14165:16:0;;;13852:342;-1:-1:-1;;;;;14242:25:0;;14208:18;14242:25;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;14271:23:0;;;;;;:19;:23;;;;;;;;14242:52;:64;;;-1:-1:-1;14298:8:0;;;;14242:64;14238:328;;;-1:-1:-1;14337:1:0;14238:328;;;14369:13;;-1:-1:-1;;;;;14369:13:0;;;14361:21;;;;14357:209;;-1:-1:-1;14413:8:0;;14357:209;;;14450:13;;-1:-1:-1;;;;;14450:13:0;;;14444:19;;;;14440:126;;-1:-1:-1;14495:9:0;;14440:126;;;-1:-1:-1;14552:1:0;14440:126;14584:14;;14580:187;;14616:12;14655:3;14632:19;14641:10;14632:6;:19;:::i;:::-;14631:27;;;;:::i;:::-;14616:42;-1:-1:-1;14683:13:0;14616:42;14683:6;:13;:::i;:::-;14674:22;;14712:42;14728:4;14742;14749;14712:15;:42::i;:::-;14600:167;14580:187;14781:33;14797:4;14803:2;14807:6;14781:15;:33::i;:::-;13299:1524;;;13221:1602;;;:::o;2324:290::-;2403:4;2453:6;2428:21;:31;;2420:73;;;;-1:-1:-1;;;2420:73:0;;12276:2:1;2420:73:0;;;12258:21:1;12315:2;12295:18;;;12288:30;12354:31;12334:18;;;12327:59;12403:18;;2420:73:0;12074:353:1;2420:73:0;2509:12;2527:9;-1:-1:-1;;;;;2527:14:0;2549:6;2527:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2508:52:0;;2324:290;-1:-1:-1;;;;;2324:290:0:o;6799:630::-;-1:-1:-1;;;;;6944:20:0;;6936:70;;;;-1:-1:-1;;;6936:70:0;;12844:2:1;6936:70:0;;;12826:21:1;12883:2;12863:18;;;12856:30;12922:34;12902:18;;;12895:62;-1:-1:-1;;;12973:18:1;;;12966:35;13018:19;;6936:70:0;12642:401:1;6936:70:0;-1:-1:-1;;;;;7026:23:0;;7018:71;;;;-1:-1:-1;;;7018:71:0;;13250:2:1;7018:71:0;;;13232:21:1;13289:2;13269:18;;;13262:30;13328:34;13308:18;;;13301:62;-1:-1:-1;;;13379:18:1;;;13372:33;13422:19;;7018:71:0;13048:399:1;7018:71:0;-1:-1:-1;;;;;7128:17:0;;7104:21;7128:17;;;;;;;;;;;7165:23;;;;7157:74;;;;-1:-1:-1;;;7157:74:0;;13654:2:1;7157:74:0;;;13636:21:1;13693:2;13673:18;;;13666:30;13732:34;13712:18;;;13705:62;-1:-1:-1;;;13783:18:1;;;13776:36;13829:19;;7157:74:0;13452:402:1;7157:74:0;-1:-1:-1;;;;;7269:17:0;;;:9;:17;;;;;;;;;;;7289:22;;;7269:42;;7335:20;;;;;;;;:30;;7305:6;;7269:9;7335:30;;7305:6;;7335:30;:::i;:::-;;;;;;;;7402:9;-1:-1:-1;;;;;7385:35:0;7394:6;-1:-1:-1;;;;;7385:35:0;;7413:6;7385:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;7385:35:0;;;;;;;;6924:505;6799:630;;;:::o;15215:709::-;15365:16;;;15379:1;15365:16;;;;;;;;15305:21;;15280:22;;15365:16;15379:1;15365:16;;;;;;;;;;-1:-1:-1;15365:16:0;15341:40;;15411:4;15393;15398:1;15393:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15393:23:0;;;:7;;;;;;;;;;:23;;;;15438:15;;:22;;;-1:-1:-1;;;15438:22:0;;;;:15;;;;;:20;;:22;;;;;15393:7;;15438:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15428:4;15433:1;15428:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15428:32:0;;;:7;;;;;;;;;:32;15479:15;;:202;;-1:-1:-1;;;15479:202:0;;:15;;;:66;;:202;;15561:11;;15479:15;;15605:4;;15633;;15654:15;;15479:202;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15475:251;;15707:7;;15215:709;:::o;15475:251::-;15740:18;15761:38;15785:14;15761:21;:38;:::i;:::-;15822:11;;15740:59;;-1:-1:-1;15814:42:0;;-1:-1:-1;;;;;15822:11:0;15740:59;15814:30;:42::i;:::-;-1:-1:-1;15876:39:0;;;5609:25:1;;;5665:2;5650:18;;5643:34;;;15876:39:0;;5582:18:1;15876:39:0;;;;;;;15268:656;;;15215:709;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1630:316::-;1707:6;1715;1723;1776:2;1764:9;1755:7;1751:23;1747:32;1744:52;;;1792:1;1789;1782:12;1744:52;-1:-1:-1;;1815:23:1;;;1885:2;1870:18;;1857:32;;-1:-1:-1;1936:2:1;1921:18;;;1908:32;;1630:316;-1:-1:-1;1630:316:1:o;1951:456::-;2028:6;2036;2044;2097:2;2085:9;2076:7;2072:23;2068:32;2065:52;;;2113:1;2110;2103:12;2065:52;2152:9;2139:23;2171:31;2196:5;2171:31;:::i;:::-;2221:5;-1:-1:-1;2278:2:1;2263:18;;2250:32;2291:33;2250:32;2291:33;:::i;:::-;1951:456;;2343:7;;-1:-1:-1;;;2397:2:1;2382:18;;;;2369:32;;1951:456::o;2809:247::-;2868:6;2921:2;2909:9;2900:7;2896:23;2892:32;2889:52;;;2937:1;2934;2927:12;2889:52;2976:9;2963:23;2995:31;3020:5;2995:31;:::i;:::-;3045:5;2809:247;-1:-1:-1;;;2809:247:1:o;3061:118::-;3147:5;3140:13;3133:21;3126:5;3123:32;3113:60;;3169:1;3166;3159:12;3184:309;3249:6;3257;3310:2;3298:9;3289:7;3285:23;3281:32;3278:52;;;3326:1;3323;3316:12;3278:52;3362:9;3349:23;3339:33;;3422:2;3411:9;3407:18;3394:32;3435:28;3457:5;3435:28;:::i;:::-;3482:5;3472:15;;;3184:309;;;;;:::o;3498:382::-;3563:6;3571;3624:2;3612:9;3603:7;3599:23;3595:32;3592:52;;;3640:1;3637;3630:12;3592:52;3679:9;3666:23;3698:31;3723:5;3698:31;:::i;:::-;3748:5;-1:-1:-1;3805:2:1;3790:18;;3777:32;3818:30;3777:32;3818:30;:::i;3885:388::-;3953:6;3961;4014:2;4002:9;3993:7;3989:23;3985:32;3982:52;;;4030:1;4027;4020:12;3982:52;4069:9;4056:23;4088:31;4113:5;4088:31;:::i;:::-;4138:5;-1:-1:-1;4195:2:1;4180:18;;4167:32;4208:33;4167:32;4208:33;:::i;4278:380::-;4357:1;4353:12;;;;4400;;;4421:61;;4475:4;4467:6;4463:17;4453:27;;4421:61;4528:2;4520:6;4517:14;4497:18;4494:38;4491:161;;4574:10;4569:3;4565:20;4562:1;4555:31;4609:4;4606:1;4599:15;4637:4;4634:1;4627:15;4491:161;;4278:380;;;:::o;4663:356::-;4865:2;4847:21;;;4884:18;;;4877:30;4943:34;4938:2;4923:18;;4916:62;5010:2;4995:18;;4663:356::o;5024:406::-;5226:2;5208:21;;;5265:2;5245:18;;;5238:30;5304:34;5299:2;5284:18;;5277:62;-1:-1:-1;;;5370:2:1;5355:18;;5348:40;5420:3;5405:19;;5024:406::o;6097:127::-;6158:10;6153:3;6149:20;6146:1;6139:31;6189:4;6186:1;6179:15;6213:4;6210:1;6203:15;6229:125;6294:9;;;6315:10;;;6312:36;;;6328:18;;:::i;7538:217::-;7578:1;7604;7594:132;;7648:10;7643:3;7639:20;7636:1;7629:31;7683:4;7680:1;7673:15;7711:4;7708:1;7701:15;7594:132;-1:-1:-1;7740:9:1;;7538:217::o;9075:184::-;9145:6;9198:2;9186:9;9177:7;9173:23;9169:32;9166:52;;;9214:1;9211;9204:12;9166:52;-1:-1:-1;9237:16:1;;9075:184;-1:-1:-1;9075:184:1:o;9543:245::-;9610:6;9663:2;9651:9;9642:7;9638:23;9634:32;9631:52;;;9679:1;9676;9669:12;9631:52;9711:9;9705:16;9730:28;9752:5;9730:28;:::i;11768:168::-;11841:9;;;11872;;11889:15;;;11883:22;;11869:37;11859:71;;11910:18;;:::i;11941:128::-;12008:9;;;12029:11;;;12026:37;;;12043:18;;:::i;13991:127::-;14052:10;14047:3;14043:20;14040:1;14033:31;14083:4;14080:1;14073:15;14107:4;14104:1;14097:15;14123:251;14193:6;14246:2;14234:9;14225:7;14221:23;14217:32;14214:52;;;14262:1;14259;14252:12;14214:52;14294:9;14288:16;14313:31;14338:5;14313:31;:::i;14379:980::-;14641:4;14689:3;14678:9;14674:19;14720:6;14709:9;14702:25;14746:2;14784:6;14779:2;14768:9;14764:18;14757:34;14827:3;14822:2;14811:9;14807:18;14800:31;14851:6;14886;14880:13;14917:6;14909;14902:22;14955:3;14944:9;14940:19;14933:26;;14994:2;14986:6;14982:15;14968:29;;15015:1;15025:195;15039:6;15036:1;15033:13;15025:195;;;15104:13;;-1:-1:-1;;;;;15100:39:1;15088:52;;15195:15;;;;15160:12;;;;15136:1;15054:9;15025:195;;;-1:-1:-1;;;;;;;15276:32:1;;;;15271:2;15256:18;;15249:60;-1:-1:-1;;;15340:3:1;15325:19;15318:35;15237:3;14379:980;-1:-1:-1;;;14379:980:1:o

Swarm Source

ipfs://8e02ef603b90aeb7c27097c566a136c83b1cde457113b83d861843af6e1b5587

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Genexix Al represents the next frontier in Al technology, offering a comprehensive suite of tools and services designed to empower individuals and organizations with advanced capabilities in chat, code generation, image creation, and beyond.

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.