ETH Price: $1,993.12 (+2.47%)
 

More Info

Private Name Tags

TokenTracker

Mog Coin (Mog) (@$0.00)

Multichain Info

Transaction Hash
Method
Block
From
To
0x1c8a79ff5b7d84f8e2d19460540295bde8e0bf55270f9c314108176540108c1f Transfer(pending)2025-03-10 17:37:2611 days ago1741628246IN
Mog Coin: Mog Token
0 ETH(Pending)(Pending)
0xf199b1f1f8d71642574d6f75755a9e02c60a4c4533101929cf02e6d7ed86218d Transfer(pending)2025-03-10 9:02:1212 days ago1741597332IN
Mog Coin: Mog Token
0 ETH(Pending)(Pending)
Transfer221023032025-03-22 12:05:1139 mins ago1742645111IN
Mog Coin: Mog Token
0 ETH0.00015042
Transfer221021162025-03-22 11:27:351 hr ago1742642855IN
Mog Coin: Mog Token
0 ETH0.00019422
Approve221020382025-03-22 11:11:591 hr ago1742641919IN
Mog Coin: Mog Token
0 ETH0.000064231.38177589
Transfer221020102025-03-22 11:06:231 hr ago1742641583IN
Mog Coin: Mog Token
0 ETH0.000136741.40827206
Transfer221018862025-03-22 10:41:232 hrs ago1742640083IN
Mog Coin: Mog Token
0 ETH0.000086090.88661149
Transfer221018702025-03-22 10:38:112 hrs ago1742639891IN
Mog Coin: Mog Token
0 ETH0.0010146110.45
Approve221018432025-03-22 10:32:472 hrs ago1742639567IN
Mog Coin: Mog Token
0 ETH0.000065071.39956607
Transfer221017752025-03-22 10:19:112 hrs ago1742638751IN
Mog Coin: Mog Token
0 ETH0.000037280.49571986
Transfer221017432025-03-22 10:12:472 hrs ago1742638367IN
Mog Coin: Mog Token
0 ETH0.000134161.38149672
Approve221016872025-03-22 10:01:352 hrs ago1742637695IN
Mog Coin: Mog Token
0 ETH0.000042180.91116005
Approve221016852025-03-22 10:01:112 hrs ago1742637671IN
Mog Coin: Mog Token
0 ETH0.000021960.47260489
Transfer221016212025-03-22 9:48:232 hrs ago1742636903IN
Mog Coin: Mog Token
0 ETH0.000050240.66797247
Transfer221016212025-03-22 9:48:232 hrs ago1742636903IN
Mog Coin: Mog Token
0 ETH0.000072580.90723487
Approve221015322025-03-22 9:30:113 hrs ago1742635811IN
Mog Coin: Mog Token
0 ETH0.000114182.452687
Approve221012792025-03-22 8:38:354 hrs ago1742632715IN
Mog Coin: Mog Token
0 ETH0.000023020.49729504
Approve221012712025-03-22 8:36:594 hrs ago1742632619IN
Mog Coin: Mog Token
0 ETH0.00002320.49909065
Transfer221012662025-03-22 8:35:594 hrs ago1742632559IN
Mog Coin: Mog Token
0 ETH0.000088170.90804901
Transfer221011992025-03-22 8:22:354 hrs ago1742631755IN
Mog Coin: Mog Token
0 ETH0.000085220.87779105
Transfer221011772025-03-22 8:18:114 hrs ago1742631491IN
Mog Coin: Mog Token
0 ETH0.000046130.47502636
Approve221011432025-03-22 8:11:114 hrs ago1742631071IN
Mog Coin: Mog Token
0 ETH0.000025550.55279075
Approve221011302025-03-22 8:08:354 hrs ago1742630915IN
Mog Coin: Mog Token
0 ETH0.000111972.40824657
Transfer221010642025-03-22 7:55:234 hrs ago1742630123IN
Mog Coin: Mog Token
0 ETH0.000055390.6
Transfer221010112025-03-22 7:44:475 hrs ago1742629487IN
Mog Coin: Mog Token
0 ETH0.000109941.37425358
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer219133772025-02-24 3:03:1126 days ago1740366191
Mog Coin: Mog Token
0.00658325 ETH
Transfer217979792025-02-07 23:40:5942 days ago1738971659
Mog Coin: Mog Token
1.07228159 ETH
Transfer217314792025-01-29 16:48:1151 days ago1738169291
Mog Coin: Mog Token
0.32398843 ETH
Transfer216111252025-01-12 21:34:1168 days ago1736717651
Mog Coin: Mog Token
0.00294098 ETH
Transfer214850442024-12-26 7:08:1186 days ago1735196891
Mog Coin: Mog Token
0.00405082 ETH
Transfer213404472024-12-06 2:23:11106 days ago1733451791
Mog Coin: Mog Token
0.08544134 ETH
Transfer212944392024-11-29 16:08:11112 days ago1732896491
Mog Coin: Mog Token
0.01708858 ETH
Transfer207368752024-09-12 20:19:47190 days ago1726172387
Mog Coin: Mog Token
0.08474836 ETH
Transfer206069822024-08-25 17:05:59208 days ago1724605559
Mog Coin: Mog Token
7.3132427 ETH
Transfer202788872024-07-10 21:48:11254 days ago1720648091
Mog Coin: Mog Token
0.31429858 ETH
Transfer199052622024-05-19 16:46:11306 days ago1716137171
Mog Coin: Mog Token
0.04130621 ETH
Transfer197189552024-04-23 15:22:11332 days ago1713885731
Mog Coin: Mog Token
0.00619836 ETH
Transfer193684752024-03-05 10:50:11382 days ago1709635811
Mog Coin: Mog Token
0.08976264 ETH
Transfer178850902023-08-10 14:29:59589 days ago1691677799
Mog Coin: Mog Token
0.07603222 ETH
Transfer177345952023-07-20 13:12:35610 days ago1689858755
Mog Coin: Mog Token
2.26748081 ETH
Transfer177318282023-07-20 3:54:23611 days ago1689825263
Mog Coin: Mog Token
0.37550949 ETH
Transfer177318012023-07-20 3:48:59611 days ago1689824939
Mog Coin: Mog Token
0.20830493 ETH
Transfer177318012023-07-20 3:48:59611 days ago1689824939
Mog Coin: Mog Token
0.22624607 ETH
Transfer177318002023-07-20 3:48:47611 days ago1689824927
Mog Coin: Mog Token
0.21707614 ETH
Transfer177317992023-07-20 3:48:35611 days ago1689824915
Mog Coin: Mog Token
0.21783901 ETH
Transfer177317992023-07-20 3:48:35611 days ago1689824915
Mog Coin: Mog Token
0.23412279 ETH
Transfer177317982023-07-20 3:48:23611 days ago1689824903
Mog Coin: Mog Token
0.23544142 ETH
Transfer177317982023-07-20 3:48:23611 days ago1689824903
Mog Coin: Mog Token
0.22957366 ETH
Transfer177317962023-07-20 3:47:59611 days ago1689824879
Mog Coin: Mog Token
0.20659511 ETH
Transfer177317952023-07-20 3:47:47611 days ago1689824867
Mog Coin: Mog Token
0.21394338 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MOG

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-20
*/

// SPDX-License-Identifier: MIT
// This coin Mogs all other coins
// https://twitter.com/mogcoineth
// https://t.me/+h6dzUnTQgyI5MWQx

pragma solidity 0.8.18;

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}



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

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

contract Ownable is Context {
    address public _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

    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;
    }
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

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

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

interface InterfaceLP {
    function sync() external;
}


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

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

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

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

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

    address WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;
    

    string constant _name = "Mog Coin";
    string constant _symbol = "Mog";
    uint8 constant _decimals = 18; 


    event AutoLiquify(uint256 amountETH, uint256 amountTokens);
    event EditTax(uint8 Buy, uint8 Sell, uint8 Transfer);
    event user_exemptfromfees(address Wallet, bool Exempt);
    event user_TxExempt(address Wallet, bool Exempt);
    event ClearStuck(uint256 amount);
    event ClearToken(address TokenAddressCleared, uint256 Amount);
    event set_Receivers(address marketingFeeReceiver, address buybackFeeReceiver,address burnFeeReceiver,address devFeeReceiver);
    event set_MaxWallet(uint256 maxWallet);
    event set_MaxTX(uint256 maxTX);
    event set_SwapBack(uint256 Amount, bool Enabled);
  
    uint256 _totalSupply =  420690000000000 * 10**_decimals; 

    uint256 public _maxTxAmount = _totalSupply.mul(1).div(100);
    uint256 public _maxWalletToken = _totalSupply.mul(1).div(100);

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;  
    mapping (address => bool) isexemptfromfees;
    mapping (address => bool) isexemptfrommaxTX;

    uint256 private liquidityFee    = 2;
    uint256 private marketingFee    = 0;
    uint256 private devFee          = 0;
    uint256 private buybackFee      = 0; 
    uint256 private burnFee         = 2;
    uint256 public totalFee         = buybackFee + marketingFee + liquidityFee + devFee + burnFee;
    uint256 private feeDenominator  = 100;

    uint256 sellpercent = 100;
    uint256 buypercent = 100;
    uint256 transferpercent = 100;

    address private autoLiquidityReceiver;
    address private marketingFeeReceiver;
    address private devFeeReceiver;
    address private buybackFeeReceiver;
    address private burnFeeReceiver;

    uint256 setRatio = 30;
    uint256 setRatioDenominator = 100;
    

    IDEXRouter public router;
    InterfaceLP private pairContract;
    address public pair;
    
    bool public TradingOpen = false; 

   
    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 7 / 1000; 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
    
    constructor () {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        pairContract = InterfaceLP(pair);
       
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isexemptfromfees[msg.sender] = true;            
        isexemptfrommaxTX[msg.sender] = true;
        isexemptfrommaxTX[pair] = true;
        isexemptfrommaxTX[marketingFeeReceiver] = true;
        isexemptfrommaxTX[address(this)] = true;
        
        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = msg.sender;
        devFeeReceiver = msg.sender;
        buybackFeeReceiver = msg.sender;
        burnFeeReceiver = DEAD; 

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) {return owner();}
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

        function maxWalletRule(uint256 maxWallPercent) external onlyOwner {
         require(maxWallPercent >= 1); 
        _maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
        emit set_MaxWallet(_maxWalletToken);
                
    }

      function removeLimits () external onlyOwner {
            _maxTxAmount = _totalSupply;
            _maxWalletToken = _totalSupply;
    }

      
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(TradingOpen,"Trading not open yet");
        
          }
        
               
        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isexemptfrommaxTX[recipient]){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}

        checkTxLimit(sender, amount);  

        if(shouldSwapBack()){ swapBack(); }
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isexemptfromfees[sender] || isexemptfromfees[recipient]) ? amount : takeFee(sender, amount, recipient);
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
 
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isexemptfrommaxTX[sender], "TX Limit Exceeded");
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isexemptfromfees[sender];
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        
        uint256 percent = transferpercent;
        if(recipient == pair) {
            percent = sellpercent;
        } else if(sender == pair) {
            percent = buypercent;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(percent).div(feeDenominator * 100);
        uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(burnTokens);
        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
        emit Transfer(sender, address(this), contractTokens);
        
        
        if(burnTokens > 0){
            _totalSupply = _totalSupply.sub(burnTokens);
            emit Transfer(sender, ZERO, burnTokens);  
        
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

  
     function manualSend() external { 
             payable(autoLiquidityReceiver).transfer(address(this).balance);
            
    }

   function clearStuckToken(address tokenAddress, uint256 tokens) external returns (bool success) {
             if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        emit ClearToken(tokenAddress, tokens);
        return ERC20(tokenAddress).transfer(autoLiquidityReceiver, tokens);
    }

    function setStructure(uint256 _percentonbuy, uint256 _percentonsell, uint256 _wallettransfer) external onlyOwner {
        sellpercent = _percentonsell;
        buypercent = _percentonbuy;
        transferpercent = _wallettransfer;    
          
    }
       
    function startTrading() public onlyOwner {
        TradingOpen = true;
        buypercent = 1400;
        sellpercent = 800;
        transferpercent = 1000;
                              
    }

      function reduceFee() public onlyOwner {
       
        buypercent = 100;
        sellpercent = 100;
        transferpercent = 100;
                              
    }

             
    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = checkRatio(setRatio, setRatioDenominator) ? 0 : liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

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

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance.sub(balanceBefore);

        uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
        
        uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHbuyback = amountETH.mul(buybackFee).div(totalETHFee);
        uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}("");
        (tmpSuccess,) = payable(buybackFeeReceiver).call{value: amountETHbuyback}("");
        
        tmpSuccess = false;

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }
    
  
    function set_fees() internal {
      
        emit EditTax( uint8(totalFee.mul(buypercent).div(100)),
            uint8(totalFee.mul(sellpercent).div(100)),
            uint8(totalFee.mul(transferpercent).div(100))
            );
    }
    
    function setParameters(uint256 _liquidityFee, uint256 _buybackFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        buybackFee = _buybackFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        burnFee = _burnFee;
        totalFee = _liquidityFee.add(_buybackFee).add(_marketingFee).add(_devFee).add(_burnFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator / 2, "Fees can not be more than 50%"); 
        set_fees();
    }

   
    function setWallets(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _buybackFeeReceiver) external onlyOwner {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
        burnFeeReceiver = _burnFeeReceiver;
        buybackFeeReceiver = _buybackFeeReceiver;

        emit set_Receivers(marketingFeeReceiver, buybackFeeReceiver, burnFeeReceiver, devFeeReceiver);
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
        emit set_SwapBack(swapThreshold, swapEnabled);
    }

    function checkRatio(uint256 ratio, uint256 accuracy) public view returns (bool) {
        return showBacking(accuracy) > ratio;
    }

    function showBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(showSupply());
    }
    
    function showSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }


}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClearStuck","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"Buy","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Sell","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Transfer","type":"uint8"}],"name":"EditTax","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTX","type":"uint256"}],"name":"set_MaxTX","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"set_MaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"buybackFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"burnFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"devFeeReceiver","type":"address"}],"name":"set_Receivers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"Enabled","type":"bool"}],"name":"set_SwapBack","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_TxExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_exemptfromfees","type":"event"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"uint256","name":"ratio","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"checkRatio","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"maxWalletRule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percentonbuy","type":"uint256"},{"internalType":"uint256","name":"_percentonsell","type":"uint256"},{"internalType":"uint256","name":"_wallettransfer","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_buybackFeeReceiver","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"showBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a62000679565b620000259066017e9d8602b4006200068a565b6003556200005f60646200004b60016003546200044960201b62000f6b1790919060201c565b620004e060201b62000fed1790919060201c565b6004556200008560646200004b60016003546200044960201b62000f6b1790919060201c565b6005556002600a8190556000600b819055600c819055600d819055600e82905581620000b28280620006a4565b620000be9190620006a4565b620000ca9190620006a4565b620000d69190620006a4565b600f5560646010819055601181905560128190556013819055601e601955601a55601d805461ffff60a01b1916600160a81b1790556003546103e8906200011f9060076200068a565b6200012b9190620006ba565b601e553480156200013b57600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620001fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002219190620006dd565b600280546001600160a01b0319166001600160a01b03928316179055601b546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000280573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a69190620006dd565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620002f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031e9190620006dd565b601d80546001600160a01b039283166001600160a01b031991821681178355601c805483169091179055306000818152600760209081526040808320601b5488168452825280832060001990553380845260088352818420805460ff1990811660019081179092556009855283862080548216831790559754891685528285208054891682179055601580549099168552828520805489168217905594845281842080549097169094179095556014805485168417905585548416831790955560168054841683179055601780548416831790556018805490931661dead179092556003548183526006855283832081905592519283529290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000758565b6000826000036200045d57506000620004da565b60006200046b83856200068a565b9050826200047a8583620006ba565b14620004d75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b6000620004d783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200052a60201b60201c565b600081836200054e5760405162461bcd60e51b8152600401620004ce919062000708565b5060006200055d8486620006ba565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005bd578160001904821115620005a157620005a162000566565b80851615620005af57918102915b93841c939080029062000581565b509250929050565b600082620005d657506001620004da565b81620005e557506000620004da565b8160018114620005fe5760028114620006095762000629565b6001915050620004da565b60ff8411156200061d576200061d62000566565b50506001821b620004da565b5060208310610133831016604e8410600b84101617156200064e575081810a620004da565b6200065a83836200057c565b806000190482111562000671576200067162000566565b029392505050565b6000620004d760ff841683620005c5565b8082028115828204841417620004da57620004da62000566565b80820180821115620004da57620004da62000566565b600082620006d857634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620006f057600080fd5b81516001600160a01b0381168114620004d757600080fd5b600060208083528351808285015260005b81811015620007375785810183015185820160400152820162000719565b506000604082860101526040601f19601f8301168501019250505092915050565b61208180620007686000396000f3fe6080604052600436106102135760003560e01c806377b54bad11610118578063a9059cbb116100a0578063ded1e4381161006f578063ded1e4381461062a578063df20fd491461064a578063f2fde38b1461066a578063f42938901461068a578063f887ea401461069f57600080fd5b8063a9059cbb14610584578063b2bdfa7b146105a4578063c0cbdea4146105c4578063dd62ed3e146105e457600080fd5b8063893d20e8116100e7578063893d20e8146104d35780638da5cb5b1461050557806395d89b4114610523578063a70419d21461054f578063a8aa1b311461056457600080fd5b806377b54bad1461046757806378109e54146104875780637d1db4a51461049d57806382528791146104b357600080fd5b806330c9a6a01161019b5780635d83e1d51161016a5780635d83e1d5146103c65780636ddd1713146103e657806370a0823114610407578063715018a61461043d578063751039fc1461045257600080fd5b806330c9a6a014610355578063313ce567146103755780635526566914610391578063571ac8b0146103a657600080fd5b806318160ddd116101e257806318160ddd146102d35780631df4ccfc146102e857806323b872dd146102fe578063282c87491461031e578063293230b81461034057600080fd5b80630445b6671461021f57806306fdde031461024857806308fd3d0514610282578063095ea7b3146102b357600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b50610235601e5481565b6040519081526020015b60405180910390f35b34801561025457600080fd5b5060408051808201909152600881526726b7b39021b7b4b760c11b60208201525b60405161023f9190611c3d565b34801561028e57600080fd5b50601d546102a390600160a01b900460ff1681565b604051901515815260200161023f565b3480156102bf57600080fd5b506102a36102ce366004611ca7565b6106bf565b3480156102df57600080fd5b50600354610235565b3480156102f457600080fd5b50610235600f5481565b34801561030a57600080fd5b506102a3610319366004611cd1565b61072c565b34801561032a57600080fd5b5061033e610339366004611d0d565b6107ee565b005b34801561034c57600080fd5b5061033e6108c5565b34801561036157600080fd5b50610235610370366004611d50565b610916565b34801561038157600080fd5b506040516012815260200161023f565b34801561039d57600080fd5b5061023561095d565b3480156103b257600080fd5b506102a36103c1366004611d69565b6109ce565b3480156103d257600080fd5b5061033e6103e1366004611d50565b6109dc565b3480156103f257600080fd5b50601d546102a390600160a81b900460ff1681565b34801561041357600080fd5b50610235610422366004611d69565b6001600160a01b031660009081526006602052604090205490565b34801561044957600080fd5b5061033e610a6a565b34801561045e57600080fd5b5061033e610ade565b34801561047357600080fd5b506102a3610482366004611ca7565b610b15565b34801561049357600080fd5b5061023560055481565b3480156104a957600080fd5b5061023560045481565b3480156104bf57600080fd5b5061033e6104ce366004611d84565b610c43565b3480156104df57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161023f565b34801561051157600080fd5b506000546001600160a01b03166104ed565b34801561052f57600080fd5b506040805180820190915260038152624d6f6760e81b6020820152610275565b34801561055b57600080fd5b5061033e610d1b565b34801561057057600080fd5b50601d546104ed906001600160a01b031681565b34801561059057600080fd5b506102a361059f366004611ca7565b610d56565b3480156105b057600080fd5b506000546104ed906001600160a01b031681565b3480156105d057600080fd5b5061033e6105df366004611de9565b610d63565b3480156105f057600080fd5b506102356105ff366004611e15565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561063657600080fd5b506102a3610645366004611e48565b610d9e565b34801561065657600080fd5b5061033e610665366004611e78565b610db2565b34801561067657600080fd5b5061033e610685366004611d69565b610e45565b34801561069657600080fd5b5061033e610f2f565b3480156106ab57600080fd5b50601b546104ed906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061071a9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600760209081526040808320338452909152812054600019146107d9576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546107b491849061102f565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b6107e4848484611069565b90505b9392505050565b6000546001600160a01b031633146108215760405162461bcd60e51b815260040161081890611e96565b60405180910390fd5b600a869055600d859055600b849055600c839055600e8290556108528261084c858188818c8c6113cc565b906113cc565b600f556010819055610865600282611ee1565b600f54106108b55760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e203530250000006044820152606401610818565b6108bd61142b565b505050505050565b6000546001600160a01b031633146108ef5760405162461bcd60e51b815260040161081890611e96565b601d805460ff60a01b1916600160a01b1790556105786012556103206011556103e8601355565b600061072661092361095d565b601d546001600160a01b031660009081526006602052604090205461095790610950906002905b90610f6b565b8590610f6b565b90610fed565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e225460035491926109c99290916109c391906114c6565b906114c6565b905090565b6000610726826000196106bf565b6000546001600160a01b03163314610a065760405162461bcd60e51b815260040161081890611e96565b6001811015610a1457600080fd5b6103e881600354610a259190611f03565b610a2f9190611ee1565b60058190556040519081527f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be519060200160405180910390a150565b6000546001600160a01b03163314610a945760405162461bcd60e51b815260040161081890611e96565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b085760405162461bcd60e51b815260040161081890611e96565b6003546004819055600555565b600081600003610b8a576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b879190611f1a565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a160145460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303816000875af1158015610c1f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e79190611f33565b6000546001600160a01b03163314610c6d5760405162461bcd60e51b815260040161081890611e96565b601480546001600160a01b038781166001600160a01b031992831617909255601580548784169083168117909155601680548785169084168117909155601880548786169085168117909155601780549587169590941685179093556040805192835260208301949094529281019190915260608101919091527f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b159060800160405180910390a15050505050565b6000546001600160a01b03163314610d455760405162461bcd60e51b815260040161081890611e96565b606460128190556011819055601355565b60006107e7338484611069565b6000546001600160a01b03163314610d8d5760405162461bcd60e51b815260040161081890611e96565b601191909155601291909155601355565b600082610daa83610916565b119392505050565b6000546001600160a01b03163314610ddc5760405162461bcd60e51b815260040161081890611e96565b601d805460ff60a81b1916600160a81b84151581029190911791829055601e8390556040805184815260ff9290930491909116151560208301527f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60910160405180910390a15050565b6000546001600160a01b03163314610e6f5760405162461bcd60e51b815260040161081890611e96565b6001600160a01b038116610ed45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610818565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610f68573d6000803e3d6000fd5b50565b600082600003610f7d57506000610726565b6000610f898385611f03565b905082610f968583611ee1565b146107e75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610818565b60006107e783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611508565b600081848411156110535760405162461bcd60e51b81526004016108189190611c3d565b5060006110608486611f50565b95945050505050565b601f5460009060ff161561108957611082848484611536565b90506107e7565b6001600160a01b03841660009081526001602052604090205460ff161580156110cb57506001600160a01b03831660009081526001602052604090205460ff16155b1561112057601d54600160a01b900460ff166111205760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610818565b6001600160a01b03841660009081526001602052604090205460ff1615801561115257506001600160a01b0383163014155b801561116957506001600160a01b03831661dead14155b80156111835750601d546001600160a01b03848116911614155b801561119d57506018546001600160a01b03848116911614155b80156111b757506015546001600160a01b03848116911614155b80156111dc57506001600160a01b03831660009081526009602052604090205460ff16155b1561127d576001600160a01b0383166000908152600660205260409020546005546112078483611f63565b111561127b5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610818565b505b611287848361160a565b61128f611677565b1561129c5761129c6116cd565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600690915291909120546112ee91849061102f565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff168061133b57506001600160a01b03841660009081526008602052604090205460ff165b61134f5761134a858486611ab4565b611351565b825b6001600160a01b03851660009081526006602052604090205490915061137790826113cc565b6001600160a01b03808616600081815260066020526040908190209390935591519087169060008051602061202c833981519152906113b99085815260200190565b60405180910390a3506001949350505050565b6000806113d98385611f63565b9050838110156107e75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610818565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006114686064610957601254600f54610f6b90919063ffffffff16565b6114846064610957601154600f54610f6b90919063ffffffff16565b6114a06064610957601354600f54610f6b90919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b60006107e783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061102f565b600081836115295760405162461bcd60e51b81526004016108189190611c3d565b5060006110608486611ee1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461158791849061102f565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546115b690836113cc565b6001600160a01b03808516600081815260066020526040908190209390935591519086169060008051602061202c833981519152906115f89086815260200190565b60405180910390a35060019392505050565b6004548111158061163357506001600160a01b03821660009081526009602052604090205460ff165b6116735760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610818565b5050565b601d546000906001600160a01b031633148015906116985750601f5460ff16155b80156116ad5750601d54600160a81b900460ff165b80156109c9575050601e5430600090815260066020526040902054101590565b601f805460ff19166001179055601954601a546000916116ec91610d9e565b6116f857600a546116fb565b60005b9050600061171f6002610957600f5461095786601e54610f6b90919063ffffffff16565b9050600061173882601e546114c690919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061177257611772611f76565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106117a3576117a3611f76565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b81524792919091169063791ac947906117ed908690600090879030904290600401611f8c565b600060405180830381600087803b15801561180757600080fd5b505af115801561181b573d6000803e3d6000fd5b50505050600061183482476114c690919063ffffffff16565b9050600061184f611846886002610fed565b600f54906114c6565b9050600061186460026109578481878d610f6b565b9050600061188183610957600b5487610f6b90919063ffffffff16565b9050600061189e84610957600d5488610f6b90919063ffffffff16565b905060006118bb85610957600c5489610f6b90919063ffffffff16565b6015546040519192506000916001600160a01b039091169085908381818185875af1925050503d806000811461190d576040519150601f19603f3d011682016040523d82523d6000602084013e611912565b606091505b50506016546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611962576040519150601f19603f3d011682016040523d82523d6000602084013e611967565b606091505b50506017546040519192506001600160a01b0316908490600081818185875af1925050503d80600081146119b7576040519150601f19603f3d011682016040523d82523d6000602084013e6119bc565b606091505b5060009250508b159050611a9c57601b5460145460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611a3a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a5f9190611ffd565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601f805460ff1916905550505050505050505050565b601354601d54600091906001600160a01b0390811690841603611ada5750601154611af5565b601d546001600160a01b0390811690861603611af557506012545b6000611b226010546064611b099190611f03565b6109578461094a600f548a610f6b90919063ffffffff16565b90506000611b41600f54610957600e5485610f6b90919063ffffffff16565b90506000611b4f83836114c6565b30600090815260066020526040902054909150611b6c90826113cc565b30600090815260066020526040808220929092556018546001600160a01b031681522054611b9a90836113cc565b6018546001600160a01b0390811660009081526006602090815260409182902093909355518381523092918b169160008051602061202c833981519152910160405180910390a38115611c2757600354611bf490836114c6565b6003556040518281526000906001600160a01b038a169060008051602061202c8339815191529060200160405180910390a35b611c3187846114c6565b98975050505050505050565b600060208083528351808285015260005b81811015611c6a57858101830151858201604001528201611c4e565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611ca257600080fd5b919050565b60008060408385031215611cba57600080fd5b611cc383611c8b565b946020939093013593505050565b600080600060608486031215611ce657600080fd5b611cef84611c8b565b9250611cfd60208501611c8b565b9150604084013590509250925092565b60008060008060008060c08789031215611d2657600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215611d6257600080fd5b5035919050565b600060208284031215611d7b57600080fd5b6107e782611c8b565b600080600080600060a08688031215611d9c57600080fd5b611da586611c8b565b9450611db360208701611c8b565b9350611dc160408701611c8b565b9250611dcf60608701611c8b565b9150611ddd60808701611c8b565b90509295509295909350565b600080600060608486031215611dfe57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611e2857600080fd5b611e3183611c8b565b9150611e3f60208401611c8b565b90509250929050565b60008060408385031215611e5b57600080fd5b50508035926020909101359150565b8015158114610f6857600080fd5b60008060408385031215611e8b57600080fd5b8235611cc381611e6a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082611efe57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761072657610726611ecb565b600060208284031215611f2c57600080fd5b5051919050565b600060208284031215611f4557600080fd5b81516107e781611e6a565b8181038181111561072657610726611ecb565b8082018082111561072657610726611ecb565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fdc5784516001600160a01b031683529383019391830191600101611fb7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561201257600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212206add5254ec6f49ea4f0100566dc1a20a74694e92525218482a04e3c88cc1e2a964736f6c63430008120033

Deployed Bytecode

0x6080604052600436106102135760003560e01c806377b54bad11610118578063a9059cbb116100a0578063ded1e4381161006f578063ded1e4381461062a578063df20fd491461064a578063f2fde38b1461066a578063f42938901461068a578063f887ea401461069f57600080fd5b8063a9059cbb14610584578063b2bdfa7b146105a4578063c0cbdea4146105c4578063dd62ed3e146105e457600080fd5b8063893d20e8116100e7578063893d20e8146104d35780638da5cb5b1461050557806395d89b4114610523578063a70419d21461054f578063a8aa1b311461056457600080fd5b806377b54bad1461046757806378109e54146104875780637d1db4a51461049d57806382528791146104b357600080fd5b806330c9a6a01161019b5780635d83e1d51161016a5780635d83e1d5146103c65780636ddd1713146103e657806370a0823114610407578063715018a61461043d578063751039fc1461045257600080fd5b806330c9a6a014610355578063313ce567146103755780635526566914610391578063571ac8b0146103a657600080fd5b806318160ddd116101e257806318160ddd146102d35780631df4ccfc146102e857806323b872dd146102fe578063282c87491461031e578063293230b81461034057600080fd5b80630445b6671461021f57806306fdde031461024857806308fd3d0514610282578063095ea7b3146102b357600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b50610235601e5481565b6040519081526020015b60405180910390f35b34801561025457600080fd5b5060408051808201909152600881526726b7b39021b7b4b760c11b60208201525b60405161023f9190611c3d565b34801561028e57600080fd5b50601d546102a390600160a01b900460ff1681565b604051901515815260200161023f565b3480156102bf57600080fd5b506102a36102ce366004611ca7565b6106bf565b3480156102df57600080fd5b50600354610235565b3480156102f457600080fd5b50610235600f5481565b34801561030a57600080fd5b506102a3610319366004611cd1565b61072c565b34801561032a57600080fd5b5061033e610339366004611d0d565b6107ee565b005b34801561034c57600080fd5b5061033e6108c5565b34801561036157600080fd5b50610235610370366004611d50565b610916565b34801561038157600080fd5b506040516012815260200161023f565b34801561039d57600080fd5b5061023561095d565b3480156103b257600080fd5b506102a36103c1366004611d69565b6109ce565b3480156103d257600080fd5b5061033e6103e1366004611d50565b6109dc565b3480156103f257600080fd5b50601d546102a390600160a81b900460ff1681565b34801561041357600080fd5b50610235610422366004611d69565b6001600160a01b031660009081526006602052604090205490565b34801561044957600080fd5b5061033e610a6a565b34801561045e57600080fd5b5061033e610ade565b34801561047357600080fd5b506102a3610482366004611ca7565b610b15565b34801561049357600080fd5b5061023560055481565b3480156104a957600080fd5b5061023560045481565b3480156104bf57600080fd5b5061033e6104ce366004611d84565b610c43565b3480156104df57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161023f565b34801561051157600080fd5b506000546001600160a01b03166104ed565b34801561052f57600080fd5b506040805180820190915260038152624d6f6760e81b6020820152610275565b34801561055b57600080fd5b5061033e610d1b565b34801561057057600080fd5b50601d546104ed906001600160a01b031681565b34801561059057600080fd5b506102a361059f366004611ca7565b610d56565b3480156105b057600080fd5b506000546104ed906001600160a01b031681565b3480156105d057600080fd5b5061033e6105df366004611de9565b610d63565b3480156105f057600080fd5b506102356105ff366004611e15565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561063657600080fd5b506102a3610645366004611e48565b610d9e565b34801561065657600080fd5b5061033e610665366004611e78565b610db2565b34801561067657600080fd5b5061033e610685366004611d69565b610e45565b34801561069657600080fd5b5061033e610f2f565b3480156106ab57600080fd5b50601b546104ed906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061071a9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600760209081526040808320338452909152812054600019146107d9576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546107b491849061102f565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b6107e4848484611069565b90505b9392505050565b6000546001600160a01b031633146108215760405162461bcd60e51b815260040161081890611e96565b60405180910390fd5b600a869055600d859055600b849055600c839055600e8290556108528261084c858188818c8c6113cc565b906113cc565b600f556010819055610865600282611ee1565b600f54106108b55760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e203530250000006044820152606401610818565b6108bd61142b565b505050505050565b6000546001600160a01b031633146108ef5760405162461bcd60e51b815260040161081890611e96565b601d805460ff60a01b1916600160a01b1790556105786012556103206011556103e8601355565b600061072661092361095d565b601d546001600160a01b031660009081526006602052604090205461095790610950906002905b90610f6b565b8590610f6b565b90610fed565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e225460035491926109c99290916109c391906114c6565b906114c6565b905090565b6000610726826000196106bf565b6000546001600160a01b03163314610a065760405162461bcd60e51b815260040161081890611e96565b6001811015610a1457600080fd5b6103e881600354610a259190611f03565b610a2f9190611ee1565b60058190556040519081527f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be519060200160405180910390a150565b6000546001600160a01b03163314610a945760405162461bcd60e51b815260040161081890611e96565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b085760405162461bcd60e51b815260040161081890611e96565b6003546004819055600555565b600081600003610b8a576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b879190611f1a565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a160145460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303816000875af1158015610c1f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e79190611f33565b6000546001600160a01b03163314610c6d5760405162461bcd60e51b815260040161081890611e96565b601480546001600160a01b038781166001600160a01b031992831617909255601580548784169083168117909155601680548785169084168117909155601880548786169085168117909155601780549587169590941685179093556040805192835260208301949094529281019190915260608101919091527f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b159060800160405180910390a15050505050565b6000546001600160a01b03163314610d455760405162461bcd60e51b815260040161081890611e96565b606460128190556011819055601355565b60006107e7338484611069565b6000546001600160a01b03163314610d8d5760405162461bcd60e51b815260040161081890611e96565b601191909155601291909155601355565b600082610daa83610916565b119392505050565b6000546001600160a01b03163314610ddc5760405162461bcd60e51b815260040161081890611e96565b601d805460ff60a81b1916600160a81b84151581029190911791829055601e8390556040805184815260ff9290930491909116151560208301527f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60910160405180910390a15050565b6000546001600160a01b03163314610e6f5760405162461bcd60e51b815260040161081890611e96565b6001600160a01b038116610ed45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610818565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610f68573d6000803e3d6000fd5b50565b600082600003610f7d57506000610726565b6000610f898385611f03565b905082610f968583611ee1565b146107e75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610818565b60006107e783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611508565b600081848411156110535760405162461bcd60e51b81526004016108189190611c3d565b5060006110608486611f50565b95945050505050565b601f5460009060ff161561108957611082848484611536565b90506107e7565b6001600160a01b03841660009081526001602052604090205460ff161580156110cb57506001600160a01b03831660009081526001602052604090205460ff16155b1561112057601d54600160a01b900460ff166111205760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610818565b6001600160a01b03841660009081526001602052604090205460ff1615801561115257506001600160a01b0383163014155b801561116957506001600160a01b03831661dead14155b80156111835750601d546001600160a01b03848116911614155b801561119d57506018546001600160a01b03848116911614155b80156111b757506015546001600160a01b03848116911614155b80156111dc57506001600160a01b03831660009081526009602052604090205460ff16155b1561127d576001600160a01b0383166000908152600660205260409020546005546112078483611f63565b111561127b5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610818565b505b611287848361160a565b61128f611677565b1561129c5761129c6116cd565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600690915291909120546112ee91849061102f565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff168061133b57506001600160a01b03841660009081526008602052604090205460ff165b61134f5761134a858486611ab4565b611351565b825b6001600160a01b03851660009081526006602052604090205490915061137790826113cc565b6001600160a01b03808616600081815260066020526040908190209390935591519087169060008051602061202c833981519152906113b99085815260200190565b60405180910390a3506001949350505050565b6000806113d98385611f63565b9050838110156107e75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610818565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006114686064610957601254600f54610f6b90919063ffffffff16565b6114846064610957601154600f54610f6b90919063ffffffff16565b6114a06064610957601354600f54610f6b90919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b60006107e783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061102f565b600081836115295760405162461bcd60e51b81526004016108189190611c3d565b5060006110608486611ee1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461158791849061102f565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546115b690836113cc565b6001600160a01b03808516600081815260066020526040908190209390935591519086169060008051602061202c833981519152906115f89086815260200190565b60405180910390a35060019392505050565b6004548111158061163357506001600160a01b03821660009081526009602052604090205460ff165b6116735760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610818565b5050565b601d546000906001600160a01b031633148015906116985750601f5460ff16155b80156116ad5750601d54600160a81b900460ff165b80156109c9575050601e5430600090815260066020526040902054101590565b601f805460ff19166001179055601954601a546000916116ec91610d9e565b6116f857600a546116fb565b60005b9050600061171f6002610957600f5461095786601e54610f6b90919063ffffffff16565b9050600061173882601e546114c690919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061177257611772611f76565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106117a3576117a3611f76565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b81524792919091169063791ac947906117ed908690600090879030904290600401611f8c565b600060405180830381600087803b15801561180757600080fd5b505af115801561181b573d6000803e3d6000fd5b50505050600061183482476114c690919063ffffffff16565b9050600061184f611846886002610fed565b600f54906114c6565b9050600061186460026109578481878d610f6b565b9050600061188183610957600b5487610f6b90919063ffffffff16565b9050600061189e84610957600d5488610f6b90919063ffffffff16565b905060006118bb85610957600c5489610f6b90919063ffffffff16565b6015546040519192506000916001600160a01b039091169085908381818185875af1925050503d806000811461190d576040519150601f19603f3d011682016040523d82523d6000602084013e611912565b606091505b50506016546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611962576040519150601f19603f3d011682016040523d82523d6000602084013e611967565b606091505b50506017546040519192506001600160a01b0316908490600081818185875af1925050503d80600081146119b7576040519150601f19603f3d011682016040523d82523d6000602084013e6119bc565b606091505b5060009250508b159050611a9c57601b5460145460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611a3a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a5f9190611ffd565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601f805460ff1916905550505050505050505050565b601354601d54600091906001600160a01b0390811690841603611ada5750601154611af5565b601d546001600160a01b0390811690861603611af557506012545b6000611b226010546064611b099190611f03565b6109578461094a600f548a610f6b90919063ffffffff16565b90506000611b41600f54610957600e5485610f6b90919063ffffffff16565b90506000611b4f83836114c6565b30600090815260066020526040902054909150611b6c90826113cc565b30600090815260066020526040808220929092556018546001600160a01b031681522054611b9a90836113cc565b6018546001600160a01b0390811660009081526006602090815260409182902093909355518381523092918b169160008051602061202c833981519152910160405180910390a38115611c2757600354611bf490836114c6565b6003556040518281526000906001600160a01b038a169060008051602061202c8339815191529060200160405180910390a35b611c3187846114c6565b98975050505050505050565b600060208083528351808285015260005b81811015611c6a57858101830151858201604001528201611c4e565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611ca257600080fd5b919050565b60008060408385031215611cba57600080fd5b611cc383611c8b565b946020939093013593505050565b600080600060608486031215611ce657600080fd5b611cef84611c8b565b9250611cfd60208501611c8b565b9150604084013590509250925092565b60008060008060008060c08789031215611d2657600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215611d6257600080fd5b5035919050565b600060208284031215611d7b57600080fd5b6107e782611c8b565b600080600080600060a08688031215611d9c57600080fd5b611da586611c8b565b9450611db360208701611c8b565b9350611dc160408701611c8b565b9250611dcf60608701611c8b565b9150611ddd60808701611c8b565b90509295509295909350565b600080600060608486031215611dfe57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611e2857600080fd5b611e3183611c8b565b9150611e3f60208401611c8b565b90509250929050565b60008060408385031215611e5b57600080fd5b50508035926020909101359150565b8015158114610f6857600080fd5b60008060408385031215611e8b57600080fd5b8235611cc381611e6a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082611efe57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761072657610726611ecb565b600060208284031215611f2c57600080fd5b5051919050565b600060208284031215611f4557600080fd5b81516107e781611e6a565b8181038181111561072657610726611ecb565b8082018082111561072657610726611ecb565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fdc5784516001600160a01b031683529383019391830191600101611fb7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561201257600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212206add5254ec6f49ea4f0100566dc1a20a74694e92525218482a04e3c88cc1e2a964736f6c63430008120033

Deployed Bytecode Sourcemap

5082:13643:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7407:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7407:54:0;;;;;;;;8796:80;;;;;;;;;;-1:-1:-1;8868:5:0;;;;;;;;;;;;-1:-1:-1;;;8868:5:0;;;;8796:80;;;;;;;:::i;7324:31::-;;;;;;;;;;-1:-1:-1;7324:31:0;;;;-1:-1:-1;;;7324:31:0;;;;;;;;;914:14:1;;907:22;889:41;;877:2;862:18;7324:31:0;749:187:1;9218:216:0;;;;;;;;;;-1:-1:-1;9218:216:0;;;;;:::i;:::-;;:::i;8526:88::-;;;;;;;;;;-1:-1:-1;8599:12:0;;8526:88;;6694:93;;;;;;;;;;;;;;;;9736:370;;;;;;;;;;-1:-1:-1;9736:370:0;;;;;:::i;:::-;;:::i;16904:591::-;;;;;;;;;;-1:-1:-1;16904:591:0;;;;;:::i;:::-;;:::i;:::-;;14375:199;;;;;;;;;;;;;:::i;18425:149::-;;;;;;;;;;-1:-1:-1;18425:149:0;;;;;:::i;:::-;;:::i;8620:80::-;;;;;;;;;;-1:-1:-1;8620:80:0;;5434:2;2566:36:1;;2554:2;2539:18;8620:80:0;2424:184:1;18586:132:0;;;;;;;;;;;;;:::i;9442:122::-;;;;;;;;;;-1:-1:-1;9442:122:0;;;;;:::i;:::-;;:::i;10118:247::-;;;;;;;;;;-1:-1:-1;10118:247:0;;;;;:::i;:::-;;:::i;7370:30::-;;;;;;;;;;-1:-1:-1;7370:30:0;;;;-1:-1:-1;;;7370:30:0;;;;;;8966:105;;;;;;;;;;-1:-1:-1;8966:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;9050:18:0;9032:7;9050:18;;;:9;:18;;;;;;;8966:105;1996:148;;;;;;;;;;;;;:::i;10375:139::-;;;;;;;;;;;;;:::i;13757:338::-;;;;;;;;;;-1:-1:-1;13757:338:0;;;;;:::i;:::-;;:::i;6197:61::-;;;;;;;;;;;;;;;;6132:58;;;;;;;;;;;;;;;;17508:547;;;;;;;;;;-1:-1:-1;17508:547:0;;;;;:::i;:::-;;:::i;8882:78::-;;;;;;;;;;-1:-1:-1;8934:7:0;1847:6;-1:-1:-1;;;;;1847:6:0;8882:78;;;-1:-1:-1;;;;;3457:32:1;;;3439:51;;3427:2;3412:18;8882:78:0;3293:203:1;1782:79:0;;;;;;;;;;-1:-1:-1;1820:7:0;1847:6;-1:-1:-1;;;;;1847:6:0;1782:79;;8706:84;;;;;;;;;;-1:-1:-1;8780:7:0;;;;;;;;;;;;-1:-1:-1;;;8780:7:0;;;;8706:84;;14584:174;;;;;;;;;;;;;:::i;7292:19::-;;;;;;;;;;-1:-1:-1;7292:19:0;;;;-1:-1:-1;;;;;7292:19:0;;;9572:156;;;;;;;;;;-1:-1:-1;9572:156:0;;;;;:::i;:::-;;:::i;1402:21::-;;;;;;;;;;-1:-1:-1;1402:21:0;;;;-1:-1:-1;;;;;1402:21:0;;;14103:257;;;;;;;;;;-1:-1:-1;14103:257:0;;;;;:::i;:::-;;:::i;9077:133::-;;;;;;;;;;-1:-1:-1;9077:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;9179:19:0;;;9161:7;9179:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9077:133;18282:135;;;;;;;;;;-1:-1:-1;18282:135:0;;;;;:::i;:::-;;:::i;18063:211::-;;;;;;;;;;-1:-1:-1;18063:211:0;;;;;:::i;:::-;;:::i;2152:244::-;;;;;;;;;;-1:-1:-1;2152:244:0;;;;;:::i;:::-;;:::i;13618:132::-;;;;;;;;;;;;;:::i;7222:24::-;;;;;;;;;;-1:-1:-1;7222:24:0;;;;-1:-1:-1;;;;;7222:24:0;;;9218:216;9322:10;9293:4;9310:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9310:32:0;;;;;;;;;;:41;;;9367:37;9293:4;;9310:32;;9367:37;;;;9345:6;160:25:1;;148:2;133:18;;14:177;9367:37:0;;;;;;;;-1:-1:-1;9422:4:0;9218:216;;;;;:::o;9736:370::-;-1:-1:-1;;;;;9856:19:0;;9836:4;9856:19;;;:11;:19;;;;;;;;9876:10;9856:31;;;;;;;;-1:-1:-1;;9856:52:0;9853:186;;9958:69;;;;;;;;;;;-1:-1:-1;;;9958:69:0;;;;;;;;-1:-1:-1;;;;;9958:19:0;;-1:-1:-1;9958:19:0;;;:11;:19;;;;;9978:10;9958:31;;;;;;;;;;:69;;9994:6;;9958:35;:69::i;:::-;-1:-1:-1;;;;;9924:19:0;;;;;;:11;:19;;;;;;;;9944:10;9924:31;;;;;;;:103;9853:186;10058:40;10072:6;10080:9;10091:6;10058:13;:40::i;:::-;10051:47;;9736:370;;;;;;:::o;16904:591::-;1909:6;;-1:-1:-1;;;;;1909:6:0;1219:10;1909:22;1901:67;;;;-1:-1:-1;;;1901:67:0;;;;;;;:::i;:::-;;;;;;;;;17084:12:::1;:28:::0;;;17123:10:::1;:24:::0;;;17158:12:::1;:28:::0;;;17197:6:::1;:16:::0;;;17224:7:::1;:18:::0;;;17264:76:::1;17234:8:::0;17264:62:::1;17206:7:::0;17264:62;17173:13;17264:62;17099:13;17136:11;17264:17:::1;:30::i;:::-;:34:::0;::::1;:49::i;:76::-;17253:8;:87:::0;17351:14:::1;:32:::0;;;17413:18:::1;17430:1;17368:15:::0;17413:18:::1;:::i;:::-;17402:8;;:29;17394:71;;;::::0;-1:-1:-1;;;17394:71:0;;5920:2:1;17394:71:0::1;::::0;::::1;5902:21:1::0;5959:2;5939:18;;;5932:30;5998:31;5978:18;;;5971:59;6047:18;;17394:71:0::1;5718:353:1::0;17394:71:0::1;17477:10;:8;:10::i;:::-;16904:591:::0;;;;;;:::o;14375:199::-;1909:6;;-1:-1:-1;;;;;1909:6:0;1219:10;1909:22;1901:67;;;;-1:-1:-1;;;1901:67:0;;;;;;;:::i;:::-;14427:11:::1;:18:::0;;-1:-1:-1;;;;14427:18:0::1;-1:-1:-1::0;;;14427:18:0::1;::::0;;14469:4:::1;14456:10;:17:::0;14498:3:::1;14484:11;:17:::0;14530:4:::1;14512:15;:22:::0;14375:199::o;18425:149::-;18485:7;18512:54;18553:12;:10;:12::i;:::-;18535:4;;-1:-1:-1;;;;;18535:4:0;9032:7;9050:18;;;:9;:18;;;;;;18512:36;;18525:22;;18545:1;;18525:15;:19;;:22::i;:::-;18512:8;;:12;:36::i;:::-;:40;;:54::i;18586:132::-;9050:9;:18;;;;5198:42;18629:7;9050:18;;;;;18656:12;;18629:7;;18656:54;;9050:18;;18656:33;;:12;:16;:33::i;:::-;:37;;:54::i;:::-;18649:61;;18586:132;:::o;9442:122::-;9497:4;9521:35;9529:7;-1:-1:-1;;9521:7:0;:35::i;10118:247::-;1909:6;;-1:-1:-1;;;;;1909:6:0;1219:10;1909:22;1901:67;;;;-1:-1:-1;;;1901:67:0;;;;;;;:::i;:::-;10222:1:::1;10204:14;:19;;10196:28;;;::::0;::::1;;10289:4;10270:14;10255:12;;:29;;;;:::i;:::-;10254:39;;;;:::i;:::-;10236:15;:57:::0;;;10309:30:::1;::::0;160:25:1;;;10309:30:0::1;::::0;148:2:1;133:18;10309:30:0::1;;;;;;;10118:247:::0;:::o;1996:148::-;1909:6;;-1:-1:-1;;;;;1909:6:0;1219:10;1909:22;1901:67;;;;-1:-1:-1;;;1901:67:0;;;;;;;:::i;:::-;2103:1:::1;2087:6:::0;;2066:40:::1;::::0;-1:-1:-1;;;;;2087:6:0;;::::1;::::0;2066:40:::1;::::0;2103:1;;2066:40:::1;2134:1;2117:19:::0;;-1:-1:-1;;;;;;2117:19:0::1;::::0;;1996:148::o;10375:139::-;1909:6;;-1:-1:-1;;;;;1909:6:0;1219:10;1909:22;1901:67;;;;-1:-1:-1;;;1901:67:0;;;;;;;:::i;:::-;10449:12:::1;::::0;10434::::1;:27:::0;;;10476:15:::1;:30:::0;10375:139::o;13757:338::-;13838:12;13871:6;13881:1;13871:11;13868:95;;13907:44;;-1:-1:-1;;;13907:44:0;;13945:4;13907:44;;;3439:51:1;-1:-1:-1;;;;;13907:29:0;;;;;3412:18:1;;13907:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13898:53;;13868:95;13978:32;;;-1:-1:-1;;;;;6630:32:1;;6612:51;;6694:2;6679:18;;6672:34;;;13978:32:0;;6585:18:1;13978:32:0;;;;;;;14057:21;;14028:59;;-1:-1:-1;;;14028:59:0;;-1:-1:-1;;;;;14057:21:0;;;14028:59;;;6612:51:1;6679:18;;;6672:34;;;14028:28:0;;;;;;6585:18:1;;14028:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17508:547::-;1909:6;;-1:-1:-1;;;;;1909:6:0;1219:10;1909:22;1901:67;;;;-1:-1:-1;;;1901:67:0;;;;;;;:::i;:::-;17701:21:::1;:46:::0;;-1:-1:-1;;;;;17701:46:0;;::::1;-1:-1:-1::0;;;;;;17701:46:0;;::::1;;::::0;;;17758:20:::1;:44:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;17813:14:::1;:32:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;17856:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;17901:18:::1;:40:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;17959:88:::1;::::0;;7236:34:1;;;7301:2;7286:18;;7279:43;;;;7338:18;;;7331:43;;;;7405:2;7390:18;;7383:43;;;;17959:88:0::1;::::0;7185:3:1;7170:19;17959:88:0::1;;;;;;;17508:547:::0;;;;;:::o;14584:174::-;1909:6;;-1:-1:-1;;;;;1909:6:0;1219:10;1909:22;1901:67;;;;-1:-1:-1;;;1901:67:0;;;;;;;:::i;:::-;14655:3:::1;14642:10;:16:::0;;;14669:11:::1;:17:::0;;;14697:15:::1;:21:::0;14584:174::o;9572:156::-;9652:4;9676:44;9690:10;9702:9;9713:6;9676:13;:44::i;14103:257::-;1909:6;;-1:-1:-1;;;;;1909:6:0;1219:10;1909:22;1901:67;;;;-1:-1:-1;;;1901:67:0;;;;;;;:::i;:::-;14227:11:::1;:28:::0;;;;14266:10:::1;:26:::0;;;;14303:15:::1;:33:::0;14103:257::o;18282:135::-;18356:4;18404:5;18380:21;18392:8;18380:11;:21::i;:::-;:29;;18282:135;-1:-1:-1;;;18282:135:0:o;18063:211::-;1909:6;;-1:-1:-1;;;;;1909:6:0;1219:10;1909:22;1901:67;;;;-1:-1:-1;;;1901:67:0;;;;;;;:::i;:::-;18154:11:::1;:22:::0;;-1:-1:-1;;;;18154:22:0::1;-1:-1:-1::0;;;18154:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;18187:13:::1;:23:::0;;;18226:40:::1;::::0;;7605:25:1;;;18154:22:0::1;18254:11:::0;;;::::1;::::0;;;::::1;7673:14:1::0;7666:22;7661:2;7646:18;;7639:50;18226:40:0::1;::::0;7578:18:1;18226:40:0::1;;;;;;;18063:211:::0;;:::o;2152:244::-;1909:6;;-1:-1:-1;;;;;1909:6:0;1219:10;1909:22;1901:67;;;;-1:-1:-1;;;1901:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2241:22:0;::::1;2233:73;;;::::0;-1:-1:-1;;;2233:73:0;;7902:2:1;2233:73:0::1;::::0;::::1;7884:21:1::0;7941:2;7921:18;;;7914:30;7980:34;7960:18;;;7953:62;-1:-1:-1;;;8031:18:1;;;8024:36;8077:19;;2233:73:0::1;7700:402:1::0;2233:73:0::1;2343:6;::::0;;2322:38:::1;::::0;-1:-1:-1;;;;;2322:38:0;;::::1;::::0;2343:6;::::1;::::0;2322:38:::1;::::0;::::1;2371:6;:17:::0;;-1:-1:-1;;;;;;2371:17:0::1;-1:-1:-1::0;;;;;2371:17:0;;;::::1;::::0;;;::::1;::::0;;2152:244::o;13618:132::-;13674:21;;13666:62;;-1:-1:-1;;;;;13674:21:0;;;;13706;13666:62;;;;;13674:21;13666:62;13674:21;13666:62;13706:21;13674;13666:62;;;;;;;;;;;;;;;;;;;;;13618:132::o;4492:250::-;4550:7;4574:1;4579;4574:6;4570:47;;-1:-1:-1;4604:1:0;4597:8;;4570:47;4629:9;4641:5;4645:1;4641;:5;:::i;:::-;4629:17;-1:-1:-1;4674:1:0;4665:5;4669:1;4629:17;4665:5;:::i;:::-;:10;4657:56;;;;-1:-1:-1;;;4657:56:0;;8309:2:1;4657:56:0;;;8291:21:1;8348:2;8328:18;;;8321:30;8387:34;8367:18;;;8360:62;-1:-1:-1;;;8438:18:1;;;8431:31;8479:19;;4657:56:0;8107:397:1;4748:132:0;4806:7;4833:39;4837:1;4840;4833:39;;;;;;;;;;;;;;;;;:3;:39::i;4294:192::-;4380:7;4416:12;4408:6;;;;4400:29;;;;-1:-1:-1;;;4400:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4440:9:0;4452:5;4456:1;4452;:5;:::i;:::-;4440:17;4294:192;-1:-1:-1;;;;;4294:192:0:o;10530:1238::-;10642:6;;10622:4;;10642:6;;10639:63;;;10658:41;10673:6;10681:9;10692:6;10658:14;:41::i;:::-;10651:48;;;;10639:63;-1:-1:-1;;;;;10718:22:0;;;;;;:14;:22;;;;;;;;10717:23;:53;;;;-1:-1:-1;;;;;;10745:25:0;;;;;;:14;:25;;;;;;;;10744:26;10717:53;10714:139;;;10794:11;;-1:-1:-1;;;10794:11:0;;;;10786:43;;;;-1:-1:-1;;;10786:43:0;;8844:2:1;10786:43:0;;;8826:21:1;8883:2;8863:18;;;8856:30;-1:-1:-1;;;8902:18:1;;;8895:50;8962:18;;10786:43:0;8642:344:1;10786:43:0;-1:-1:-1;;;;;10895:22:0;;;;;;:14;:22;;;;;;;;10894:23;:53;;;;-1:-1:-1;;;;;;10921:26:0;;10942:4;10921:26;;10894:53;:84;;;;-1:-1:-1;;;;;;10952:26:0;;5198:42;10952:26;;10894:84;:105;;;;-1:-1:-1;10995:4:0;;-1:-1:-1;;;;;10982:17:0;;;10995:4;;10982:17;;10894:105;:137;;;;-1:-1:-1;11016:15:0;;-1:-1:-1;;;;;11003:28:0;;;11016:15;;11003:28;;10894:137;:174;;;;-1:-1:-1;11048:20:0;;-1:-1:-1;;;;;11035:33:0;;;11048:20;;11035:33;;10894:174;:207;;;;-1:-1:-1;;;;;;11073:28:0;;;;;;:17;:28;;;;;;;;11072:29;10894:207;10890:399;;;-1:-1:-1;;;;;9050:18:0;;11117;9050;;;:9;:18;;;;;;11206:15;;11182:19;11195:6;9050:18;11182:19;:::i;:::-;11181:40;;11173:114;;;;-1:-1:-1;;;11173:114:0;;9323:2:1;11173:114:0;;;9305:21:1;9362:2;9342:18;;;9335:30;9401:34;9381:18;;;9374:62;9472:32;9452:18;;;9445:60;9522:19;;11173:114:0;9121:426:1;11173:114:0;11102:187;10890:399;11301:28;11314:6;11322;11301:12;:28::i;:::-;11347:16;:14;:16::i;:::-;11344:35;;;11366:10;:8;:10::i;:::-;11409:53;;;;;;;;;;;-1:-1:-1;;;11409:53:0;;;;;;;;-1:-1:-1;;;;;11409:17:0;;-1:-1:-1;11409:17:0;;;:9;:17;;;;;;;;:53;;11431:6;;11409:21;:53::i;:::-;-1:-1:-1;;;;;11389:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11501:16;:24;;;;;;;;;:55;;-1:-1:-1;;;;;;11529:27:0;;;;;;:16;:27;;;;;;;;11501:55;11500:103;;11569:34;11577:6;11585;11593:9;11569:7;:34::i;:::-;11500:103;;;11560:6;11500:103;-1:-1:-1;;;;;11637:20:0;;;;;;:9;:20;;;;;;11475:128;;-1:-1:-1;11637:40:0;;11475:128;11637:24;:40::i;:::-;-1:-1:-1;;;;;11614:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11695:43;;;;;;-1:-1:-1;;;;;;;;;;;11695:43:0;;;11723:14;160:25:1;;148:2;133:18;;14:177;11695:43:0;;;;;;;;-1:-1:-1;11756:4:0;;10530:1238;-1:-1:-1;;;;10530:1238:0:o;3965:181::-;4023:7;;4055:5;4059:1;4055;:5;:::i;:::-;4043:17;;4084:1;4079;:6;;4071:46;;;;-1:-1:-1;;;4071:46:0;;9754:2:1;4071:46:0;;;9736:21:1;9793:2;9773:18;;;9766:30;9832:29;9812:18;;;9805:57;9879:18;;4071:46:0;9552:351:1;16651:241:0;16704:180;16719:33;16748:3;16719:24;16732:10;;16719:8;;:12;;:24;;;;:::i;:33::-;16774:34;16804:3;16774:25;16787:11;;16774:8;;:12;;:25;;;;:::i;:34::-;16830:38;16864:3;16830:29;16843:15;;16830:8;;:12;;:29;;;;:::i;:38::-;16704:180;;;10128:4:1;10116:17;;;10098:36;;10170:17;;;10165:2;10150:18;;10143:45;10224:17;;10204:18;;;10197:45;16704:180:0;;;;;;10086:2:1;16704:180:0;;;16651:241::o;4152:136::-;4210:7;4237:43;4241:1;4244;4237:43;;;;;;;;;;;;;;;;;:3;:43::i;4886:189::-;4972:7;5007:12;5000:5;4992:28;;;;-1:-1:-1;;;4992:28:0;;;;;;;;:::i;:::-;-1:-1:-1;5031:9:0;5043:5;5047:1;5043;:5;:::i;11777:330::-;11907:53;;;;;;;;;;;-1:-1:-1;;;11907:53:0;;;;;;;;-1:-1:-1;;;;;11907:17:0;;11870:4;11907:17;;;:9;:17;;;;;;;:53;;11929:6;;11907:21;:53::i;:::-;-1:-1:-1;;;;;11887:17:0;;;;;;;:9;:17;;;;;;:73;;;;11994:20;;;;;;;:32;;12019:6;11994:24;:32::i;:::-;-1:-1:-1;;;;;11971:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12042:35;;;;;;-1:-1:-1;;;;;;;;;;;12042:35:0;;;12070:6;160:25:1;;148:2;133:18;;14:177;12042:35:0;;;;;;;;-1:-1:-1;12095:4:0;11777:330;;;;;:::o;12115:168::-;12212:12;;12202:6;:22;;:51;;;-1:-1:-1;;;;;;12228:25:0;;;;;;:17;:25;;;;;;;;12202:51;12194:81;;;;-1:-1:-1;;;12194:81:0;;10455:2:1;12194:81:0;;;10437:21:1;10494:2;10474:18;;;10467:30;-1:-1:-1;;;10513:18:1;;;10506:47;10570:18;;12194:81:0;10253:341:1;12194:81:0;12115:168;;:::o;13408:197::-;13495:4;;13457;;-1:-1:-1;;;;;13495:4:0;13481:10;:18;;;;:38;;-1:-1:-1;13513:6:0;;;;13512:7;13481:38;:62;;;;-1:-1:-1;13532:11:0;;-1:-1:-1;;;13532:11:0;;;;13481:62;:116;;;;-1:-1:-1;;13584:13:0;;13574:4;13556:24;;;;:9;:24;;;;;;:41;;;13408:197::o;14781:1854::-;7509:6;:13;;-1:-1:-1;;7509:13:0;7518:4;7509:13;;;14871:8:::1;::::0;14881:19:::1;::::0;7509:6;;14860:41:::1;::::0;:10:::1;:41::i;:::-;:60;;14908:12;;14860:60;;;14904:1;14860:60;14830:90;;14931:23;14957:59;15014:1;14957:52;15000:8;;14957:38;14975:19;14957:13;;:17;;:38;;;;:::i;:59::-;14931:85;;15027:20;15050:34;15068:15;15050:13;;:17;;:34;;;;:::i;:::-;15121:16;::::0;;15135:1:::1;15121:16:::0;;;;;::::1;::::0;;15027:57;;-1:-1:-1;15097:21:0::1;::::0;15121:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15121:16:0::1;15097:40;;15166:4;15148;15153:1;15148:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15148:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15192:4:::1;::::0;15182:7;;15192:4;::::1;::::0;15182;;15192;;15182:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15182:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15267:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15267:188:0;;15233:21:::1;::::0;15267:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15339:12;;15209:21:::1;::::0;15382:4;;15409::::1;::::0;15429:15:::1;::::0;15267:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15468:17;15488:40;15514:13;15488:21;:25;;:40;;;;:::i;:::-;15468:60:::0;-1:-1:-1;15541:19:0::1;15563:40;15576:26;:19:::0;15600:1:::1;15576:23;:26::i;:::-;15563:8;::::0;;:12:::1;:40::i;:::-;15541:62:::0;-1:-1:-1;15624:26:0::1;15653:58;15709:1;15653:51;15541:62:::0;15653:51;:9;15667:19;15653:13:::1;:34::i;:58::-;15624:87;;15722:26;15751:44;15783:11;15751:27;15765:12;;15751:9;:13;;:27;;;;:::i;:44::-;15722:73;;15806:24;15833:42;15863:11;15833:25;15847:10;;15833:9;:13;;:25;;;;:::i;:42::-;15806:69;;15886:20;15909:38;15935:11;15909:21;15923:6;;15909:9;:13;;:21;;;;:::i;:38::-;15989:20;::::0;15981:65:::1;::::0;15886:61;;-1:-1:-1;15961:15:0::1;::::0;-1:-1:-1;;;;;15989:20:0;;::::1;::::0;16023:18;;15961:15;15981:65;15961:15;15981:65;16023:18;15989:20;15981:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16081:14:0::1;::::0;16073:53:::1;::::0;15960:86;;-1:-1:-1;;;;;;16081:14:0::1;::::0;16109:12;;16073:53:::1;::::0;;;16109:12;16081:14;16073:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16161:18:0::1;::::0;16153:61:::1;::::0;16057:69;;-1:-1:-1;;;;;;16161:18:0::1;::::0;16193:16;;16153:61:::1;::::0;;;16193:16;16161:18;16153:61:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16248:5:0::1;::::0;-1:-1:-1;;16269:19:0;;;-1:-1:-1;16266:362:0::1;;16304:6;::::0;16478:21:::1;::::0;16304:244:::1;::::0;-1:-1:-1;;;16304:244:0;;16380:4:::1;16304:244;::::0;::::1;12399:34:1::0;12449:18;;;12442:34;;;16304:6:0::1;12492:18:1::0;;;12485:34;;;12535:18;;;12528:34;-1:-1:-1;;;;;16478:21:0;;::::1;12578:19:1::0;;;12571:44;16518:15:0::1;12631:19:1::0;;;12624:35;16304:6:0;::::1;::::0;:22:::1;::::0;16334:18;;12333:19:1;;16304:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16568:48:0::1;::::0;;13155:25:1;;;13211:2;13196:18;;13189:34;;;16568:48:0::1;::::0;-1:-1:-1;13128:18:1;16568:48:0::1;;;;;;;16266:362;-1:-1:-1::0;;7527:6:0;:14;;-1:-1:-1;;7527:14:0;;;-1:-1:-1;;;;;;;;;;14781:1854:0:o;12418:982::-;12552:15;;12594:4;;12504:7;;12552:15;-1:-1:-1;;;;;12594:4:0;;;12581:17;;;;12578:142;;-1:-1:-1;12625:11:0;;12578:142;;;12667:4;;-1:-1:-1;;;;;12667:4:0;;;12657:14;;;;12654:66;;-1:-1:-1;12698:10:0;;12654:66;12732:17;12752:59;12790:14;;12807:3;12790:20;;;;:::i;:::-;12752:33;12777:7;12752:20;12763:8;;12752:6;:10;;:20;;;;:::i;:59::-;12732:79;;12822:18;12843:36;12870:8;;12843:22;12857:7;;12843:9;:13;;:22;;;;:::i;:36::-;12822:57;-1:-1:-1;12890:22:0;12915:25;:9;12822:57;12915:13;:25::i;:::-;12996:4;12978:24;;;;:9;:24;;;;;;12890:50;;-1:-1:-1;12978:44:0;;12890:50;12978:28;:44::i;:::-;12969:4;12951:24;;;;:9;:24;;;;;;:71;;;;13072:15;;-1:-1:-1;;;;;13072:15:0;13062:26;;;;:42;;13093:10;13062:30;:42::i;:::-;13043:15;;-1:-1:-1;;;;;13043:15:0;;;13033:26;;;;:9;:26;;;;;;;;;:71;;;;13120:47;160:25:1;;;13145:4:0;;13120:47;;;;-1:-1:-1;;;;;;;;;;;13120:47:0;133:18:1;13120:47:0;;;;;;;13201:14;;13198:154;;13246:12;;:28;;13263:10;13246:16;:28::i;:::-;13231:12;:43;13294:34;;160:25:1;;;5271:42:0;;-1:-1:-1;;;;;13294:34:0;;;-1:-1:-1;;;;;;;;;;;13294:34:0;148:2:1;133:18;13294:34:0;;;;;;;13198:154;13371:21;:6;13382:9;13371:10;:21::i;:::-;13364:28;12418:982;-1:-1:-1;;;;;;;;12418:982:0:o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;941:173::-;1009:20;;-1:-1:-1;;;;;1058:31:1;;1048:42;;1038:70;;1104:1;1101;1094:12;1038:70;941:173;;;:::o;1119:254::-;1187:6;1195;1248:2;1236:9;1227:7;1223:23;1219:32;1216:52;;;1264:1;1261;1254:12;1216:52;1287:29;1306:9;1287:29;:::i;:::-;1277:39;1363:2;1348:18;;;;1335:32;;-1:-1:-1;;;1119:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1711:523::-;1815:6;1823;1831;1839;1847;1855;1908:3;1896:9;1887:7;1883:23;1879:33;1876:53;;;1925:1;1922;1915:12;1876:53;-1:-1:-1;;1948:23:1;;;2018:2;2003:18;;1990:32;;-1:-1:-1;2069:2:1;2054:18;;2041:32;;2120:2;2105:18;;2092:32;;-1:-1:-1;2171:3:1;2156:19;;2143:33;;-1:-1:-1;2223:3:1;2208:19;2195:33;;-1:-1:-1;1711:523:1;-1:-1:-1;1711:523:1:o;2239:180::-;2298:6;2351:2;2339:9;2330:7;2326:23;2322:32;2319:52;;;2367:1;2364;2357:12;2319:52;-1:-1:-1;2390:23:1;;2239:180;-1:-1:-1;2239:180:1:o;2613:186::-;2672:6;2725:2;2713:9;2704:7;2700:23;2696:32;2693:52;;;2741:1;2738;2731:12;2693:52;2764:29;2783:9;2764:29;:::i;2804:484::-;2899:6;2907;2915;2923;2931;2984:3;2972:9;2963:7;2959:23;2955:33;2952:53;;;3001:1;2998;2991:12;2952:53;3024:29;3043:9;3024:29;:::i;:::-;3014:39;;3072:38;3106:2;3095:9;3091:18;3072:38;:::i;:::-;3062:48;;3129:38;3163:2;3152:9;3148:18;3129:38;:::i;:::-;3119:48;;3186:38;3220:2;3209:9;3205:18;3186:38;:::i;:::-;3176:48;;3243:39;3277:3;3266:9;3262:19;3243:39;:::i;:::-;3233:49;;2804:484;;;;;;;;:::o;3501:316::-;3578:6;3586;3594;3647:2;3635:9;3626:7;3622:23;3618:32;3615:52;;;3663:1;3660;3653:12;3615:52;-1:-1:-1;;3686:23:1;;;3756:2;3741:18;;3728:32;;-1:-1:-1;3807:2:1;3792:18;;;3779:32;;3501:316;-1:-1:-1;3501:316:1:o;3822:260::-;3890:6;3898;3951:2;3939:9;3930:7;3926:23;3922:32;3919:52;;;3967:1;3964;3957:12;3919:52;3990:29;4009:9;3990:29;:::i;:::-;3980:39;;4038:38;4072:2;4061:9;4057:18;4038:38;:::i;:::-;4028:48;;3822:260;;;;;:::o;4087:248::-;4155:6;4163;4216:2;4204:9;4195:7;4191:23;4187:32;4184:52;;;4232:1;4229;4222:12;4184:52;-1:-1:-1;;4255:23:1;;;4325:2;4310:18;;;4297:32;;-1:-1:-1;4087:248:1:o;4340:118::-;4426:5;4419:13;4412:21;4405:5;4402:32;4392:60;;4448:1;4445;4438:12;4463:309;4528:6;4536;4589:2;4577:9;4568:7;4564:23;4560:32;4557:52;;;4605:1;4602;4595:12;4557:52;4644:9;4631:23;4663:28;4685:5;4663:28;:::i;5003:356::-;5205:2;5187:21;;;5224:18;;;5217:30;5283:34;5278:2;5263:18;;5256:62;5350:2;5335:18;;5003:356::o;5364:127::-;5425:10;5420:3;5416:20;5413:1;5406:31;5456:4;5453:1;5446:15;5480:4;5477:1;5470:15;5496:217;5536:1;5562;5552:132;;5606:10;5601:3;5597:20;5594:1;5587:31;5641:4;5638:1;5631:15;5669:4;5666:1;5659:15;5552:132;-1:-1:-1;5698:9:1;;5496:217::o;6076:168::-;6149:9;;;6180;;6197:15;;;6191:22;;6177:37;6167:71;;6218:18;;:::i;6249:184::-;6319:6;6372:2;6360:9;6351:7;6347:23;6343:32;6340:52;;;6388:1;6385;6378:12;6340:52;-1:-1:-1;6411:16:1;;6249:184;-1:-1:-1;6249:184:1:o;6717:245::-;6784:6;6837:2;6825:9;6816:7;6812:23;6808:32;6805:52;;;6853:1;6850;6843:12;6805:52;6885:9;6879:16;6904:28;6926:5;6904:28;:::i;8509:128::-;8576:9;;;8597:11;;;8594:37;;;8611:18;;:::i;8991:125::-;9056:9;;;9077:10;;;9074:36;;;9090:18;;:::i;10731:127::-;10792:10;10787:3;10783:20;10780:1;10773:31;10823:4;10820:1;10813:15;10847:4;10844:1;10837:15;10863:980;11125:4;11173:3;11162:9;11158:19;11204:6;11193:9;11186:25;11230:2;11268:6;11263:2;11252:9;11248:18;11241:34;11311:3;11306:2;11295:9;11291:18;11284:31;11335:6;11370;11364:13;11401:6;11393;11386:22;11439:3;11428:9;11424:19;11417:26;;11478:2;11470:6;11466:15;11452:29;;11499:1;11509:195;11523:6;11520:1;11517:13;11509:195;;;11588:13;;-1:-1:-1;;;;;11584:39:1;11572:52;;11679:15;;;;11644:12;;;;11620:1;11538:9;11509:195;;;-1:-1:-1;;;;;;;11760:32:1;;;;11755:2;11740:18;;11733:60;-1:-1:-1;;;11824:3:1;11809:19;11802:35;11721:3;10863:980;-1:-1:-1;;;10863:980:1:o;12670:306::-;12758:6;12766;12774;12827:2;12815:9;12806:7;12802:23;12798:32;12795:52;;;12843:1;12840;12833:12;12795:52;12872:9;12866:16;12856:26;;12922:2;12911:9;12907:18;12901:25;12891:35;;12966:2;12955:9;12951:18;12945:25;12935:35;;12670:306;;;;;:::o

Swarm Source

ipfs://6add5254ec6f49ea4f0100566dc1a20a74694e92525218482a04e3c88cc1e2a9

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

This coin Mogs all other coins.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Chain Token Portfolio % Price Amount Value
BSC67.30%$15,013.0951$5,013.24
BSC2.00%$0.99964149.023$148.97
BSC0.94%$0.0000135,492,102.5638$69.77
BSC0.83%$1,993.170.031$61.8
BSC0.65%$0.168786286.446$48.35
BSC0.43%$628.410.0512$32.16
BSC0.13%<$0.000001139,253,454.4141$9.69
BSC0.09%$627.920.0103$6.48
BSC0.02%<$0.0000011,326,621,298.5449$1.79
BSC0.02%$11.251$1.26
ETH13.99%<$0.0000012,211,188,982.1753$1,042.38
ETH0.42%$0.99964231.0915$31.08
ETH
Ether (ETH)
0.33%$1,993.120.0122$24.32
ETH0.16%$0.0129925.2152$11.94
ETH0.14%$0.0000071,480,333$10.72
ETH0.10%$0.010936685.4843$7.5
ETH0.02%$0.006906234.567$1.62
ETH0.01%<$0.000001133,288,491.3471$0.783
ETH<0.01%<$0.000001696,969,696$0.4687
BASE6.71%$0.999901499.748$499.7
BASE3.53%$1,993.180.1321$263.22
BASE1.21%<$0.000001190,702,290.7695$89.86
BASE0.09%$0.0010026,900$6.91
BASE<0.01%$0.00420879$0.3324
POL0.26%$1.611.973$19.16
POL0.24%$0.999917.7426$17.74
ARB0.26%$1,993.290.00967662$19.29
OPBNB0.04%$628.320.00497938$3.13
AVAX0.04%$0.9997542.82$2.82
CRONOS0.02%<$0.00000176,903,840$1.52
SCROLL<0.01%$1,993.120.00026018$0.518574
OP<0.01%$1,993.180.0001$0.199318
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.