ETH Price: $2,360.67 (+0.84%)

Contract

0x367f1a5e1f97e7499D9479b659F45edE5B28067F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer191424282024-02-02 18:14:11223 days ago1706897651IN
0x367f1a5e...E5B28067F
0 ETH0.0014247118.90192415
Transfer191424232024-02-02 18:13:11223 days ago1706897591IN
0x367f1a5e...E5B28067F
0 ETH0.0015193418.95345497
Approve191132792024-01-29 16:09:23227 days ago1706544563IN
0x367f1a5e...E5B28067F
0 ETH0.0010890823.39045804
Approve189667472024-01-09 3:29:23247 days ago1704770963IN
0x367f1a5e...E5B28067F
0 ETH0.000354414.59823413
Approve188217992023-12-19 18:33:11268 days ago1703010791IN
0x367f1a5e...E5B28067F
0 ETH0.0024183351.93909271
Approve187659672023-12-11 22:34:11275 days ago1702334051IN
0x367f1a5e...E5B28067F
0 ETH0.0019222341.28430507
Approve187567782023-12-10 15:42:59277 days ago1702222979IN
0x367f1a5e...E5B28067F
0 ETH0.0016423735.27364681
Approve187531062023-12-10 3:23:23277 days ago1702178603IN
0x367f1a5e...E5B28067F
0 ETH0.001148524.66662611
Approve187457412023-12-09 2:37:11278 days ago1702089431IN
0x367f1a5e...E5B28067F
0 ETH0.0012873627.64898363
Approve187373872023-12-07 22:29:23279 days ago1701988163IN
0x367f1a5e...E5B28067F
0 ETH0.0023067649.47907512
Approve187373722023-12-07 22:26:23279 days ago1701987983IN
0x367f1a5e...E5B28067F
0 ETH0.0026797257.47902668
Approve187365012023-12-07 19:29:23280 days ago1701977363IN
0x367f1a5e...E5B28067F
0 ETH0.0098175212
Approve187252272023-12-06 5:34:11281 days ago1701840851IN
0x367f1a5e...E5B28067F
0 ETH0.0024091552.07739689
Approve187221022023-12-05 19:03:11282 days ago1701802991IN
0x367f1a5e...E5B28067F
0 ETH0.0046028798.72961286
Approve187155682023-12-04 21:05:11282 days ago1701723911IN
0x367f1a5e...E5B28067F
0 ETH0.0037764281.1070594
Approve187119942023-12-04 9:05:47283 days ago1701680747IN
0x367f1a5e...E5B28067F
0 ETH0.0018401539.52130929
Approve187107692023-12-04 4:58:35283 days ago1701665915IN
0x367f1a5e...E5B28067F
0 ETH0.0017132936.74950619
Approve187094322023-12-04 0:29:11283 days ago1701649751IN
0x367f1a5e...E5B28067F
0 ETH0.0014890831.94013348
Approve187090302023-12-03 23:07:59283 days ago1701644879IN
0x367f1a5e...E5B28067F
0 ETH0.0017391137.351391
Approve187086172023-12-03 21:44:35283 days ago1701639875IN
0x367f1a5e...E5B28067F
0 ETH0.0035290975.71707388
Approve187086172023-12-03 21:44:35283 days ago1701639875IN
0x367f1a5e...E5B28067F
0 ETH0.0035290975.71707388
Approve187086172023-12-03 21:44:35283 days ago1701639875IN
0x367f1a5e...E5B28067F
0 ETH0.0035290975.71707388
Approve187086172023-12-03 21:44:35283 days ago1701639875IN
0x367f1a5e...E5B28067F
0 ETH0.0035290975.71707388
Approve187080372023-12-03 19:47:59283 days ago1701632879IN
0x367f1a5e...E5B28067F
0 ETH0.0015879534.06092139
Approve187064242023-12-03 14:21:35284 days ago1701613295IN
0x367f1a5e...E5B28067F
0 ETH0.0018899840.54975806
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
188667622023-12-26 2:01:35261 days ago1703556095
0x367f1a5e...E5B28067F
0.00005561 ETH
188667622023-12-26 2:01:35261 days ago1703556095
0x367f1a5e...E5B28067F
0.00556124 ETH
188667622023-12-26 2:01:35261 days ago1703556095
0x367f1a5e...E5B28067F
0.00561685 ETH
187142792023-12-04 16:45:59283 days ago1701708359
0x367f1a5e...E5B28067F
0.00009333 ETH
187142792023-12-04 16:45:59283 days ago1701708359
0x367f1a5e...E5B28067F
0.00933318 ETH
187142792023-12-04 16:45:59283 days ago1701708359
0x367f1a5e...E5B28067F
0.00942652 ETH
187090272023-12-03 23:07:23283 days ago1701644843
0x367f1a5e...E5B28067F
0.00010955 ETH
187090272023-12-03 23:07:23283 days ago1701644843
0x367f1a5e...E5B28067F
0.01095507 ETH
187090272023-12-03 23:07:23283 days ago1701644843
0x367f1a5e...E5B28067F
0.01106462 ETH
187080332023-12-03 19:47:11283 days ago1701632831
0x367f1a5e...E5B28067F
0.00007606 ETH
187080332023-12-03 19:47:11283 days ago1701632831
0x367f1a5e...E5B28067F
0.00760688 ETH
187080332023-12-03 19:47:11283 days ago1701632831
0x367f1a5e...E5B28067F
0.00768295 ETH
186951672023-12-02 0:33:23285 days ago1701477203
0x367f1a5e...E5B28067F
0.00007579 ETH
186951672023-12-02 0:33:23285 days ago1701477203
0x367f1a5e...E5B28067F
0.00757955 ETH
186951672023-12-02 0:33:23285 days ago1701477203
0x367f1a5e...E5B28067F
0.00765535 ETH
186943082023-12-01 21:41:23285 days ago1701466883
0x367f1a5e...E5B28067F
0.00009886 ETH
186943082023-12-01 21:41:23285 days ago1701466883
0x367f1a5e...E5B28067F
0.00988619 ETH
186943082023-12-01 21:41:23285 days ago1701466883
0x367f1a5e...E5B28067F
0.00998505 ETH
186936002023-12-01 19:18:47286 days ago1701458327
0x367f1a5e...E5B28067F
0.00013258 ETH
186936002023-12-01 19:18:47286 days ago1701458327
0x367f1a5e...E5B28067F
0.01325815 ETH
186936002023-12-01 19:18:47286 days ago1701458327
0x367f1a5e...E5B28067F
0.01339073 ETH
186935092023-12-01 19:00:11286 days ago1701457211
0x367f1a5e...E5B28067F
0.00028165 ETH
186935092023-12-01 19:00:11286 days ago1701457211
0x367f1a5e...E5B28067F
0.02816559 ETH
186935092023-12-01 19:00:11286 days ago1701457211
0x367f1a5e...E5B28067F
0.02844725 ETH
186932582023-12-01 18:09:47286 days ago1701454187
0x367f1a5e...E5B28067F
0.0042532 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SANTA

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-30
*/

/**
https://t.me/SantaTokenETH
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.21;


library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {return a + b;}
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {return a - b;}
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {return a * b;}
    function div(uint256 a, uint256 b) internal pure returns (uint256) {return a / b;}
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {return a % b;}
    
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {uint256 c = a + b; if(c < a) return(false, 0); return(true, c);}}

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if(b > a) return(false, 0); return(true, a - b);}}

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if (a == 0) return(true, 0); uint256 c = a * b;
        if(c / a != b) return(false, 0); return(true, c);}}

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if(b == 0) return(false, 0); return(true, a / b);}}

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if(b == 0) return(false, 0); return(true, a % b);}}

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

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

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

interface IERC20 {
    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 Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}

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

interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);

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

contract SANTA is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'Santa Token';
    string private constant _symbol = 'SANTA';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 100000000 * (10 ** _decimals);
    uint256 private _maxTxAmountPercent = 200; // 10000;
    uint256 private _maxTransferPercent = 200;
    uint256 private _maxWalletPercent = 200;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;
    IRouter router;
    address public pair;
    bool private tradingAllowed = false;
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 3500;
    uint256 private developmentFee = 0;
    uint256 private totalFee = 3500;
    uint256 private sellFee = 3500;
    uint256 private transferFee = 0;
    uint256 private denominator = 10000;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping; 
    uint256 public swapThreshold = ( _totalSupply * 100 ) / 5000;
    uint256 private _minTokenAmount = ( _totalSupply * 10 ) / 100000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}

    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal development_receiver = 0x948262952B2d416d572a276D6AEC03a47CCA2e3E; 
    address internal marketing_receiver = 0x79db423589F5aa28d2b7F76849A87505a1bbF8Bd;
    address internal liquidity_receiver = 0x948262952B2d416d572a276D6AEC03a47CCA2e3E;

    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router;
        pair = _pair;
        isFeeExempt[address(this)] = true;
        isFeeExempt[liquidity_receiver] = true;
        isFeeExempt[marketing_receiver] = true;
        isFeeExempt[development_receiver] = true;
        isFeeExempt[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}
    function name() public pure returns (string memory) {return _name;}
    function symbol() public pure returns (string memory) {return _symbol;}
    function decimals() public pure returns (uint8) {return _decimals;}
    function launchToken() external onlyOwner {tradingAllowed = true;}
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function isCont(address addr) internal view returns (bool) {uint size; assembly { size := extcodesize(addr) } return size > 0; }
    function setisfeeExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(address(0)));}
    function _maxWalletToken() public view returns (uint256) {return totalSupply() * _maxWalletPercent / denominator;}
    function _maxTxAmount() public view returns (uint256) {return totalSupply() * _maxTxAmountPercent / denominator;}
    function _maxTransferAmount() public view returns (uint256) {return totalSupply() * _maxTransferPercent / denominator;}

    function preTxCheck(address sender, address recipient, uint256 amount) internal view {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > uint256(0), "Transfer amount must be greater than zero");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        preTxCheck(sender, recipient, amount);
        checkTradingAllowed(sender, recipient);
        checkMaxWallet(sender, recipient, amount); 
        swapbackCounters(sender, recipient);
        checkTxLimit(sender, recipient, amount); 
        swapBack(sender, recipient, amount);
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    function newtaxes(uint256 _liquidity, uint256 _marketing, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity;
        marketingFee = _marketing;
        developmentFee = _development;
        totalFee = _total;
        sellFee = _sell;
        transferFee = _trans;
        require(totalFee <= denominator.div(3) && sellFee <= denominator.div(3), "totalFee and sellFee cannot be more than 33%");
        
    }

    function newlimits(uint256 _buy, uint256 _trans, uint256 _wallet) external onlyOwner {
        uint256 newTx = (totalSupply() * _buy) / 10000;
        uint256 newTransfer = (totalSupply() * _trans) / 10000;
        uint256 newWallet = (totalSupply() * _wallet) / 10000;
        _maxTxAmountPercent = _buy;
        _maxTransferPercent = _trans;
        _maxWalletPercent = _wallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");

    }

    function checkTradingAllowed(address sender, address recipient) internal view {
        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");}
    }
    
    function checkMaxWallet(address sender, address recipient, uint256 amount) internal view {
        if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){
            require((_balances[recipient].add(amount)) <= _maxWalletToken(), "Exceeds maximum wallet amount.");}
    }

    function swapbackCounters(address sender, address recipient) internal {
        if(recipient == pair && !isFeeExempt[sender]){swapTimes += uint256(1);}
    }

    function checkTxLimit(address sender, address recipient, uint256 amount) internal view {
        if(sender != pair){require(amount <= _maxTransferAmount() || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");}
        require(amount <= _maxTxAmount() || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");
    }

    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);}
        uint256 remainingBalance = address(this).balance;
        if(remainingBalance > uint256(0)){payable(development_receiver).transfer(remainingBalance);}
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity_receiver,
            block.timestamp);
    }

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

    function shouldSwapBack(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= _minTokenAmount;
        bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
        return !swapping && swapEnabled && tradingAllowed && aboveMin && !isFeeExempt[sender] && recipient == pair && swapTimes >= uint256(1) && aboveThreshold;
    }

    function swapBack(address sender, address recipient, uint256 amount) internal {
        if(shouldSwapBack(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
    }

    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }

    function getTotalFee(address sender, address recipient) internal view returns (uint256) {
        if(recipient == pair){return sellFee;}
        if(sender == pair){return totalFee;}
        return transferFee;
    }

    function changeTaxSwapthreshold(uint256 _swapThreshold) public onlyOwner {
        swapThreshold = _swapThreshold * (10 ** _decimals);
    
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if(getTotalFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);} return amount;
    }

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    //Use this in case eth are sent to the contract by mistake
    function rescueeth(uint256 weiAmount) external onlyOwner{
        require(address(this).balance >= weiAmount, "insufficient eth balance");
        payable(msg.sender).transfer(weiAmount);
    }
    
        //Use this in case any token is sent to the contract by mistake
    function rescueAnyERC20Tokens(address _tokenAddr, address _to, uint _amount) public onlyOwner {
        IERC20(_tokenAddr).transfer(_to, _amount);

    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapThreshold","type":"uint256"}],"name":"changeTaxSwapthreshold","outputs":[],"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":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"newlimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"newtaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueAnyERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueeth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisfeeExempt","outputs":[],"stateMutability":"nonpayable","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":"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000477565b62000022906305f5e1006200048e565b600181815560c8600281905560038190556004556009805460ff60a01b191690555f600a819055610dac600b819055600c829055600d819055600e55600f556127106010556011805460ff1916909117905561138890620000859060646200048e565b620000919190620004a8565b601455620186a0600154600a620000a991906200048e565b620000b59190620004a8565b601555601680546001600160a01b031990811673948262952b2d416d572a276d6aec03a47cca2e3e9081179092556017805482167379db423589f5aa28d2b7f76849a87505a1bbf8bd17905560188054909116909117905534801562000119575f80fd5b505f80546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa1580156200017e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a49190620004c8565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002169190620004c8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000261573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002879190620004c8565b600880546001600160a01b038581166001600160a01b031992831617909255600980548484169216919091179055305f908152600760209081526040808320805460ff19908116600190811790925560185486168552828520805482168317905560175486168552828520805482168317905560165490951684528184208054861682179055338085528285208054909616821790955554600583528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004f0565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003bc57815f1904821115620003a057620003a062000368565b80851615620003ae57918102915b93841c939080029062000381565b509250929050565b5f82620003d45750600162000471565b81620003e257505f62000471565b8160018114620003fb5760028114620004065762000426565b600191505062000471565b60ff8411156200041a576200041a62000368565b50506001821b62000471565b5060208310610133831016604e8410600b84101617156200044b575081810a62000471565b6200045783836200037c565b805f19048211156200046d576200046d62000368565b0290505b92915050565b5f6200048760ff841683620003c4565b9392505050565b808202811582820484141762000471576200047162000368565b5f82620004c357634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620004d9575f80fd5b81516001600160a01b038116811462000487575f80fd5b611c2280620004fe5f395ff3fe608060405260043610610164575f3560e01c80633f4218e0116100cd578063a28a4d8611610087578063d37e917711610062578063d37e917714610448578063dd62ed3e14610467578063f2fde38b146104ab578063fbf257a8146104ca575f80fd5b8063a28a4d86146103f6578063a8aa1b311461040a578063a9059cbb14610429575f80fd5b80633f4218e01461030f57806370a082311461033d57806378109e54146103715780637d1db4a514610385578063893d20e81461039957806395d89b41146103c9575f80fd5b806318160ddd1161011e57806318160ddd146102615780631f976b7e1461027557806323b872dd14610289578063287f2aea146102a85780632f54bf6e146102c7578063313ce567146102f4575f80fd5b80630445b6671461016f5780630613f9e11461019757806306fdde03146101b8578063095ea7b3146101f45780630d65df9b146102235780631071d85f14610242575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018460145481565b6040519081526020015b60405180910390f35b3480156101a2575f80fd5b506101b66101b136600461178e565b6104e9565b005b3480156101c3575f80fd5b5060408051808201909152600b81526a29b0b73a30902a37b5b2b760a91b60208201525b60405161018e91906117a5565b3480156101ff575f80fd5b5061021361020e366004611807565b610599565b604051901515815260200161018e565b34801561022e575f80fd5b506101b661023d366004611831565b6105af565b34801561024d575f80fd5b506101b661025c36600461186f565b61064e565b34801561026c575f80fd5b5061018461072c565b348015610280575f80fd5b50610184610768565b348015610294575f80fd5b506102136102a3366004611831565b61078b565b3480156102b3575f80fd5b506101b66102c23660046118ae565b6107f3565b3480156102d2575f80fd5b506102136102e13660046118d7565b5f546001600160a01b0391821691161490565b3480156102ff575f80fd5b506040516009815260200161018e565b34801561031a575f80fd5b506102136103293660046118d7565b60076020525f908152604090205460ff1681565b348015610348575f80fd5b506101846103573660046118d7565b6001600160a01b03165f9081526005602052604090205490565b34801561037c575f80fd5b5061018461093e565b348015610390575f80fd5b5061018461094d565b3480156103a4575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161018e565b3480156103d4575f80fd5b5060408051808201909152600581526453414e544160d81b60208201526101e7565b348015610401575f80fd5b506101b661095c565b348015610415575f80fd5b506009546103b1906001600160a01b031681565b348015610434575f80fd5b50610213610443366004611807565b61099a565b348015610453575f80fd5b506101b66104623660046118ff565b6109a6565b348015610472575f80fd5b50610184610481366004611936565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104b6575f80fd5b506101b66104c53660046118d7565b6109f9565b3480156104d5575f80fd5b506101b66104e436600461178e565b610a75565b5f546001600160a01b0316331461051b5760405162461bcd60e51b815260040161051290611962565b60405180910390fd5b8047101561056b5760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e74206574682062616c616e636500000000000000006044820152606401610512565b604051339082156108fc029083905f818181858888f19350505050158015610595573d5f803e3d5ffd5b5050565b5f6105a5338484610aba565b5060015b92915050565b5f546001600160a01b031633146105d85760405162461bcd60e51b815260040161051290611962565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af1158015610624573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106489190611982565b50505050565b5f546001600160a01b031633146106775760405162461bcd60e51b815260040161051290611962565b600a869055600b859055600c849055600d839055600e829055600f8190556010546106a3906003610bdd565b600d54111580156106c357506010546106bd906003610bdd565b600e5411155b6107245760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2033332560a01b6064820152608401610512565b505050505050565b5f80805260056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5460015461076391610be8565b905090565b5f60105460035461077761072c565b61078191906119b1565b61076391906119c8565b5f610797848484610bf3565b6107e884336107e385604051806060016040528060288152602001611bc5602891396001600160a01b038a165f9081526006602090815260408083203384529091529020549190610d15565b610aba565b5060015b9392505050565b5f546001600160a01b0316331461081c5760405162461bcd60e51b815260040161051290611962565b5f6127108461082961072c565b61083391906119b1565b61083d91906119c8565b90505f6127108461084c61072c565b61085691906119b1565b61086091906119c8565b90505f6127108461086f61072c565b61087991906119b1565b61088391906119c8565b60028790556003869055600485905590505f6108b46103e86108ae60056108a861072c565b90610d40565b90610bdd565b90508084101580156108c65750808310155b80156108d25750808210155b6109355760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610512565b50505050505050565b5f60105460045461077761072c565b5f60105460025461077761072c565b5f546001600160a01b031633146109855760405162461bcd60e51b815260040161051290611962565b6009805460ff60a01b1916600160a01b179055565b5f6105a5338484610bf3565b5f546001600160a01b031633146109cf5760405162461bcd60e51b815260040161051290611962565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610a225760405162461bcd60e51b815260040161051290611962565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b5f546001600160a01b03163314610a9e5760405162461bcd60e51b815260040161051290611962565b610aaa6009600a611ac7565b610ab490826119b1565b60145550565b6001600160a01b038316610b1c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610512565b6001600160a01b038216610b7d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610512565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6107ec82846119c8565b5f6107ec8284611ad5565b610bfe838383610d4b565b610c088383610ef8565b610c13838383610f87565b610c1d8383611075565b610c288383836110ca565b610c338383836111fd565b6001600160a01b0383165f90815260056020526040902054610c559082610be8565b6001600160a01b0384165f90815260056020526040812091909155610c7a8484611221565b610c845781610c8f565b610c8f848484611265565b6001600160a01b0384165f90815260056020526040902054909150610cb49082611320565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d079085815260200190565b60405180910390a350505050565b5f8184841115610d385760405162461bcd60e51b815260040161051291906117a5565b505050900390565b5f6107ec82846119b1565b6001600160a01b038316610daf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610512565b6001600160a01b038216610e115760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610512565b5f8111610e725760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610512565b6001600160a01b0383165f90815260056020526040902054811115610ef35760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610512565b505050565b6001600160a01b0382165f9081526007602052604090205460ff16158015610f3857506001600160a01b0381165f9081526007602052604090205460ff16155b1561059557600954600160a01b900460ff166105955760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610512565b6001600160a01b0383165f9081526007602052604090205460ff16158015610fc757506001600160a01b0382165f9081526007602052604090205460ff16155b8015610fe157506009546001600160a01b03838116911614155b8015610ff857506001600160a01b03821661dead14155b15610ef35761100561093e565b6001600160a01b0383165f908152600560205260409020546110279083611320565b1115610ef35760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610512565b6009546001600160a01b0382811691161480156110aa57506001600160a01b0382165f9081526007602052604090205460ff16155b1561059557600160125f8282546110c19190611ae8565b90915550505050565b6009546001600160a01b0384811691161461116e576110e7610768565b8111158061110c57506001600160a01b0383165f9081526007602052604090205460ff165b8061112e57506001600160a01b0382165f9081526007602052604090205460ff165b61116e5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610512565b61117661094d565b8111158061119b57506001600160a01b0383165f9081526007602052604090205460ff165b806111bd57506001600160a01b0382165f9081526007602052604090205460ff165b610ef35760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610512565b61120883838361132b565b15610ef3576112186014546113db565b5f601255505050565b6001600160a01b0382165f9081526007602052604081205460ff161580156107ec5750506001600160a01b03165f9081526007602052604090205460ff1615919050565b5f80611271858561154b565b1115611319575f611293611285868661154b565b6010546108a8908690610bdd565b305f908152600560205260409020549091506112af9082611320565b305f81815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112ff9085815260200190565b60405180910390a36113118382610be8565b9150506107ec565b5092915050565b5f6107ec8284611ae8565b601554601454305f9081526005602052604081205460135491938510159211159060ff1615801561135e575060115460ff165b80156113735750600954600160a01b900460ff165b801561137c5750815b80156113a057506001600160a01b0386165f9081526007602052604090205460ff16155b80156113b957506009546001600160a01b038681169116145b80156113c85750600160125410155b80156113d15750805b9695505050505050565b6013805460ff19166001908117909155600c54600b54600a545f93611414936002936108a893919261140e928391611320565b90611320565b90505f611430826108ae600a5486610d4090919063ffffffff16565b90505f61143d8483610be8565b90504761144982611595565b5f6114544783610be8565b90505f61147661146f600a5488610be890919063ffffffff16565b8390610bdd565b90505f61148e600a5483610d4090919063ffffffff16565b905080156114a0576114a086826116dd565b600b545f906114b4906108a8856002610d40565b905080156114f5576017546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156114f3573d5f803e3d5ffd5b505b478015611535576016546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611533573d5f803e3d5ffd5b505b50506013805460ff191690555050505050505050565b6009545f906001600160a01b039081169083160361156c5750600e546105a9565b6009546001600160a01b039081169084160361158b5750600d546105a9565b50600f5492915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106115c8576115c8611afb565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561161f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116439190611b0f565b8160018151811061165657611656611afb565b6001600160a01b03928316602091820292909201015260085461167c9130911684610aba565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906116b49085905f90869030904290600401611b2a565b5f604051808303815f87803b1580156116cb575f80fd5b505af1158015610724573d5f803e3d5ffd5b6008546116f59030906001600160a01b031684610aba565b60085460185460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611762573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117879190611b99565b5050505050565b5f6020828403121561179e575f80fd5b5035919050565b5f6020808352835180828501525f5b818110156117d0578581018301518582016040015282016117b4565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611804575f80fd5b50565b5f8060408385031215611818575f80fd5b8235611823816117f0565b946020939093013593505050565b5f805f60608486031215611843575f80fd5b833561184e816117f0565b9250602084013561185e816117f0565b929592945050506040919091013590565b5f805f805f8060c08789031215611884575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f606084860312156118c0575f80fd5b505081359360208301359350604090920135919050565b5f602082840312156118e7575f80fd5b81356107ec816117f0565b8015158114611804575f80fd5b5f8060408385031215611910575f80fd5b823561191b816117f0565b9150602083013561192b816118f2565b809150509250929050565b5f8060408385031215611947575f80fd5b8235611952816117f0565b9150602083013561192b816117f0565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f60208284031215611992575f80fd5b81516107ec816118f2565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176105a9576105a961199d565b5f826119e257634e487b7160e01b5f52601260045260245ffd5b500490565b600181815b80851115611a2157815f1904821115611a0757611a0761199d565b80851615611a1457918102915b93841c93908002906119ec565b509250929050565b5f82611a37575060016105a9565b81611a4357505f6105a9565b8160018114611a595760028114611a6357611a7f565b60019150506105a9565b60ff841115611a7457611a7461199d565b50506001821b6105a9565b5060208310610133831016604e8410600b8410161715611aa2575081810a6105a9565b611aac83836119e7565b805f1904821115611abf57611abf61199d565b029392505050565b5f6107ec60ff841683611a29565b818103818111156105a9576105a961199d565b808201808211156105a9576105a961199d565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b1f575f80fd5b81516107ec816117f0565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611b785784516001600160a01b031683529383019391830191600101611b53565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611bab575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122026e15b6494b1c55ec0d94c0660a3ed778cbf1a2dcbce49849d37910d33c0b92e64736f6c63430008150033

Deployed Bytecode

0x608060405260043610610164575f3560e01c80633f4218e0116100cd578063a28a4d8611610087578063d37e917711610062578063d37e917714610448578063dd62ed3e14610467578063f2fde38b146104ab578063fbf257a8146104ca575f80fd5b8063a28a4d86146103f6578063a8aa1b311461040a578063a9059cbb14610429575f80fd5b80633f4218e01461030f57806370a082311461033d57806378109e54146103715780637d1db4a514610385578063893d20e81461039957806395d89b41146103c9575f80fd5b806318160ddd1161011e57806318160ddd146102615780631f976b7e1461027557806323b872dd14610289578063287f2aea146102a85780632f54bf6e146102c7578063313ce567146102f4575f80fd5b80630445b6671461016f5780630613f9e11461019757806306fdde03146101b8578063095ea7b3146101f45780630d65df9b146102235780631071d85f14610242575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018460145481565b6040519081526020015b60405180910390f35b3480156101a2575f80fd5b506101b66101b136600461178e565b6104e9565b005b3480156101c3575f80fd5b5060408051808201909152600b81526a29b0b73a30902a37b5b2b760a91b60208201525b60405161018e91906117a5565b3480156101ff575f80fd5b5061021361020e366004611807565b610599565b604051901515815260200161018e565b34801561022e575f80fd5b506101b661023d366004611831565b6105af565b34801561024d575f80fd5b506101b661025c36600461186f565b61064e565b34801561026c575f80fd5b5061018461072c565b348015610280575f80fd5b50610184610768565b348015610294575f80fd5b506102136102a3366004611831565b61078b565b3480156102b3575f80fd5b506101b66102c23660046118ae565b6107f3565b3480156102d2575f80fd5b506102136102e13660046118d7565b5f546001600160a01b0391821691161490565b3480156102ff575f80fd5b506040516009815260200161018e565b34801561031a575f80fd5b506102136103293660046118d7565b60076020525f908152604090205460ff1681565b348015610348575f80fd5b506101846103573660046118d7565b6001600160a01b03165f9081526005602052604090205490565b34801561037c575f80fd5b5061018461093e565b348015610390575f80fd5b5061018461094d565b3480156103a4575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161018e565b3480156103d4575f80fd5b5060408051808201909152600581526453414e544160d81b60208201526101e7565b348015610401575f80fd5b506101b661095c565b348015610415575f80fd5b506009546103b1906001600160a01b031681565b348015610434575f80fd5b50610213610443366004611807565b61099a565b348015610453575f80fd5b506101b66104623660046118ff565b6109a6565b348015610472575f80fd5b50610184610481366004611936565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104b6575f80fd5b506101b66104c53660046118d7565b6109f9565b3480156104d5575f80fd5b506101b66104e436600461178e565b610a75565b5f546001600160a01b0316331461051b5760405162461bcd60e51b815260040161051290611962565b60405180910390fd5b8047101561056b5760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e74206574682062616c616e636500000000000000006044820152606401610512565b604051339082156108fc029083905f818181858888f19350505050158015610595573d5f803e3d5ffd5b5050565b5f6105a5338484610aba565b5060015b92915050565b5f546001600160a01b031633146105d85760405162461bcd60e51b815260040161051290611962565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af1158015610624573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106489190611982565b50505050565b5f546001600160a01b031633146106775760405162461bcd60e51b815260040161051290611962565b600a869055600b859055600c849055600d839055600e829055600f8190556010546106a3906003610bdd565b600d54111580156106c357506010546106bd906003610bdd565b600e5411155b6107245760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2033332560a01b6064820152608401610512565b505050505050565b5f80805260056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5460015461076391610be8565b905090565b5f60105460035461077761072c565b61078191906119b1565b61076391906119c8565b5f610797848484610bf3565b6107e884336107e385604051806060016040528060288152602001611bc5602891396001600160a01b038a165f9081526006602090815260408083203384529091529020549190610d15565b610aba565b5060015b9392505050565b5f546001600160a01b0316331461081c5760405162461bcd60e51b815260040161051290611962565b5f6127108461082961072c565b61083391906119b1565b61083d91906119c8565b90505f6127108461084c61072c565b61085691906119b1565b61086091906119c8565b90505f6127108461086f61072c565b61087991906119b1565b61088391906119c8565b60028790556003869055600485905590505f6108b46103e86108ae60056108a861072c565b90610d40565b90610bdd565b90508084101580156108c65750808310155b80156108d25750808210155b6109355760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610512565b50505050505050565b5f60105460045461077761072c565b5f60105460025461077761072c565b5f546001600160a01b031633146109855760405162461bcd60e51b815260040161051290611962565b6009805460ff60a01b1916600160a01b179055565b5f6105a5338484610bf3565b5f546001600160a01b031633146109cf5760405162461bcd60e51b815260040161051290611962565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610a225760405162461bcd60e51b815260040161051290611962565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b5f546001600160a01b03163314610a9e5760405162461bcd60e51b815260040161051290611962565b610aaa6009600a611ac7565b610ab490826119b1565b60145550565b6001600160a01b038316610b1c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610512565b6001600160a01b038216610b7d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610512565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6107ec82846119c8565b5f6107ec8284611ad5565b610bfe838383610d4b565b610c088383610ef8565b610c13838383610f87565b610c1d8383611075565b610c288383836110ca565b610c338383836111fd565b6001600160a01b0383165f90815260056020526040902054610c559082610be8565b6001600160a01b0384165f90815260056020526040812091909155610c7a8484611221565b610c845781610c8f565b610c8f848484611265565b6001600160a01b0384165f90815260056020526040902054909150610cb49082611320565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d079085815260200190565b60405180910390a350505050565b5f8184841115610d385760405162461bcd60e51b815260040161051291906117a5565b505050900390565b5f6107ec82846119b1565b6001600160a01b038316610daf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610512565b6001600160a01b038216610e115760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610512565b5f8111610e725760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610512565b6001600160a01b0383165f90815260056020526040902054811115610ef35760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610512565b505050565b6001600160a01b0382165f9081526007602052604090205460ff16158015610f3857506001600160a01b0381165f9081526007602052604090205460ff16155b1561059557600954600160a01b900460ff166105955760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610512565b6001600160a01b0383165f9081526007602052604090205460ff16158015610fc757506001600160a01b0382165f9081526007602052604090205460ff16155b8015610fe157506009546001600160a01b03838116911614155b8015610ff857506001600160a01b03821661dead14155b15610ef35761100561093e565b6001600160a01b0383165f908152600560205260409020546110279083611320565b1115610ef35760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610512565b6009546001600160a01b0382811691161480156110aa57506001600160a01b0382165f9081526007602052604090205460ff16155b1561059557600160125f8282546110c19190611ae8565b90915550505050565b6009546001600160a01b0384811691161461116e576110e7610768565b8111158061110c57506001600160a01b0383165f9081526007602052604090205460ff165b8061112e57506001600160a01b0382165f9081526007602052604090205460ff165b61116e5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610512565b61117661094d565b8111158061119b57506001600160a01b0383165f9081526007602052604090205460ff165b806111bd57506001600160a01b0382165f9081526007602052604090205460ff165b610ef35760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610512565b61120883838361132b565b15610ef3576112186014546113db565b5f601255505050565b6001600160a01b0382165f9081526007602052604081205460ff161580156107ec5750506001600160a01b03165f9081526007602052604090205460ff1615919050565b5f80611271858561154b565b1115611319575f611293611285868661154b565b6010546108a8908690610bdd565b305f908152600560205260409020549091506112af9082611320565b305f81815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112ff9085815260200190565b60405180910390a36113118382610be8565b9150506107ec565b5092915050565b5f6107ec8284611ae8565b601554601454305f9081526005602052604081205460135491938510159211159060ff1615801561135e575060115460ff165b80156113735750600954600160a01b900460ff165b801561137c5750815b80156113a057506001600160a01b0386165f9081526007602052604090205460ff16155b80156113b957506009546001600160a01b038681169116145b80156113c85750600160125410155b80156113d15750805b9695505050505050565b6013805460ff19166001908117909155600c54600b54600a545f93611414936002936108a893919261140e928391611320565b90611320565b90505f611430826108ae600a5486610d4090919063ffffffff16565b90505f61143d8483610be8565b90504761144982611595565b5f6114544783610be8565b90505f61147661146f600a5488610be890919063ffffffff16565b8390610bdd565b90505f61148e600a5483610d4090919063ffffffff16565b905080156114a0576114a086826116dd565b600b545f906114b4906108a8856002610d40565b905080156114f5576017546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156114f3573d5f803e3d5ffd5b505b478015611535576016546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611533573d5f803e3d5ffd5b505b50506013805460ff191690555050505050505050565b6009545f906001600160a01b039081169083160361156c5750600e546105a9565b6009546001600160a01b039081169084160361158b5750600d546105a9565b50600f5492915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106115c8576115c8611afb565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561161f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116439190611b0f565b8160018151811061165657611656611afb565b6001600160a01b03928316602091820292909201015260085461167c9130911684610aba565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906116b49085905f90869030904290600401611b2a565b5f604051808303815f87803b1580156116cb575f80fd5b505af1158015610724573d5f803e3d5ffd5b6008546116f59030906001600160a01b031684610aba565b60085460185460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611762573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117879190611b99565b5050505050565b5f6020828403121561179e575f80fd5b5035919050565b5f6020808352835180828501525f5b818110156117d0578581018301518582016040015282016117b4565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611804575f80fd5b50565b5f8060408385031215611818575f80fd5b8235611823816117f0565b946020939093013593505050565b5f805f60608486031215611843575f80fd5b833561184e816117f0565b9250602084013561185e816117f0565b929592945050506040919091013590565b5f805f805f8060c08789031215611884575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f606084860312156118c0575f80fd5b505081359360208301359350604090920135919050565b5f602082840312156118e7575f80fd5b81356107ec816117f0565b8015158114611804575f80fd5b5f8060408385031215611910575f80fd5b823561191b816117f0565b9150602083013561192b816118f2565b809150509250929050565b5f8060408385031215611947575f80fd5b8235611952816117f0565b9150602083013561192b816117f0565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f60208284031215611992575f80fd5b81516107ec816118f2565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176105a9576105a961199d565b5f826119e257634e487b7160e01b5f52601260045260245ffd5b500490565b600181815b80851115611a2157815f1904821115611a0757611a0761199d565b80851615611a1457918102915b93841c93908002906119ec565b509250929050565b5f82611a37575060016105a9565b81611a4357505f6105a9565b8160018114611a595760028114611a6357611a7f565b60019150506105a9565b60ff841115611a7457611a7461199d565b50506001821b6105a9565b5060208310610133831016604e8410600b8410161715611aa2575081810a6105a9565b611aac83836119e7565b805f1904821115611abf57611abf61199d565b029392505050565b5f6107ec60ff841683611a29565b818103818111156105a9576105a961199d565b808201808211156105a9576105a961199d565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b1f575f80fd5b81516107ec816117f0565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611b785784516001600160a01b031683529383019391830191600101611b53565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611bab575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122026e15b6494b1c55ec0d94c0660a3ed778cbf1a2dcbce49849d37910d33c0b92e64736f6c63430008150033

Deployed Bytecode Sourcemap

4649:11860:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5722:60;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5722:60:0;;;;;;;;16067:196;;;;;;;;;;-1:-1:-1;16067:196:0;;;;;:::i;:::-;;:::i;:::-;;6930:67;;;;;;;;;;-1:-1:-1;6990:5:0;;;;;;;;;;;;-1:-1:-1;;;6990:5:0;;;;6930:67;;;;;;;:::i;7947:133::-;;;;;;;;;;-1:-1:-1;7947:133:0;;;;;:::i;:::-;;:::i;:::-;;;1555:14:1;;1548:22;1530:41;;1518:2;1503:18;7947:133:0;1390:187:1;16348:156:0;;;;;;;;;;-1:-1:-1;16348:156:0;;;;;:::i;:::-;;:::i;9710:492::-;;;;;;;;;;-1:-1:-1;9710:492:0;;;;;:::i;:::-;;:::i;8086:111::-;;;;;;;;;;;;;:::i;8442:119::-;;;;;;;;;;;;;:::i;15339:309::-;;;;;;;;;;-1:-1:-1;15339:309:0;;;;;:::i;:::-;;:::i;10210:582::-;;;;;;;;;;-1:-1:-1;10210:582:0;;;;;:::i;:::-;;:::i;3029:87::-;;;;;;;;;;-1:-1:-1;3029:87:0;;;;;:::i;:::-;3084:4;3109:5;-1:-1:-1;;;;;3098:16:0;;;3109:5;;3098:16;;3029:87;7080:67;;;;;;;;;;-1:-1:-1;7080:67:0;;4858:1;3286:36:1;;3274:2;3259:18;7080:67:0;3144:184:1;5206:44:0;;;;;;;;;;-1:-1:-1;5206:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7309:103;;;;;;;;;;-1:-1:-1;7309:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7392:18:0;7375:7;7392:18;;;:9;:18;;;;;;;7309:103;8203:114;;;;;;;;;;;;;:::i;8323:113::-;;;;;;;;;;;;;:::i;7225:78::-;;;;;;;;;;-1:-1:-1;7277:7:0;7295:5;-1:-1:-1;;;;;7295:5:0;7225:78;;;-1:-1:-1;;;;;3497:32:1;;;3479:51;;3467:2;3452:18;7225:78:0;3333:203:1;7003:71:0;;;;;;;;;;-1:-1:-1;7065:7:0;;;;;;;;;;;;-1:-1:-1;;;7065:7:0;;;;7003:71;;7153:66;;;;;;;;;;;;;:::i;5278:19::-;;;;;;;;;;-1:-1:-1;5278:19:0;;;;-1:-1:-1;;;;;5278:19:0;;;7418:139;;;;;;;;;;-1:-1:-1;7418:139:0;;;;;:::i;:::-;;:::i;7830:111::-;;;;;;;;;;-1:-1:-1;7830:111:0;;;;;:::i;:::-;;:::i;7563:127::-;;;;;;;;;;-1:-1:-1;7563:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7661:18:0;;;7644:7;7661:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7563:127;3122:111;;;;;;;;;;-1:-1:-1;3122:111:0;;;;;:::i;:::-;;:::i;14743:148::-;;;;;;;;;;-1:-1:-1;14743:148:0;;;;;:::i;:::-;;:::i;16067:196::-;3084:4;3109:5;-1:-1:-1;;;;;3109:5:0;2996:10;3098:16;2980:38;;;;-1:-1:-1;;;2980:38:0;;;;;;;:::i;:::-;;;;;;;;;16167:9:::1;16142:21;:34;;16134:71;;;::::0;-1:-1:-1;;;16134:71:0;;5240:2:1;16134:71:0::1;::::0;::::1;5222:21:1::0;5279:2;5259:18;;;5252:30;5318:26;5298:18;;;5291:54;5362:18;;16134:71:0::1;5038:348:1::0;16134:71:0::1;16216:39;::::0;16224:10:::1;::::0;16216:39;::::1;;;::::0;16245:9;;16216:39:::1;::::0;;;16245:9;16224:10;16216:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;16067:196:::0;:::o;7947:133::-;8022:4;8029:37;8038:10;8050:7;8059:6;8029:8;:37::i;:::-;-1:-1:-1;8074:4:0;7947:133;;;;;:::o;16348:156::-;3084:4;3109:5;-1:-1:-1;;;;;3109:5:0;2996:10;3098:16;2980:38;;;;-1:-1:-1;;;2980:38:0;;;;;;;:::i;:::-;16453:41:::1;::::0;-1:-1:-1;;;16453:41:0;;-1:-1:-1;;;;;5583:32:1;;;16453:41:0::1;::::0;::::1;5565:51:1::0;5632:18;;;5625:34;;;16453:27:0;::::1;::::0;::::1;::::0;5538:18:1;;16453:41:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16348:156:::0;;;:::o;9710:492::-;3084:4;3109:5;-1:-1:-1;;;;;3109:5:0;2996:10;3098:16;2980:38;;;;-1:-1:-1;;;2980:38:0;;;;;;;:::i;:::-;9867:12:::1;:25:::0;;;9903:12:::1;:25:::0;;;9939:14:::1;:29:::0;;;9979:8:::1;:17:::0;;;10007:7:::1;:15:::0;;;10033:11:::1;:20:::0;;;10084:11:::1;::::0;:18:::1;::::0;10100:1:::1;10084:15;:18::i;:::-;10072:8;;:30;;:63;;;;-1:-1:-1::0;10117:11:0::1;::::0;:18:::1;::::0;10133:1:::1;10117:15;:18::i;:::-;10106:7;;:29;;10072:63;10064:120;;;::::0;-1:-1:-1;;;10064:120:0;;6122:2:1;10064:120:0::1;::::0;::::1;6104:21:1::0;6161:2;6141:18;;;6134:30;6200:34;6180:18;;;6173:62;-1:-1:-1;;;6251:18:1;;;6244:42;6303:19;;10064:120:0::1;5920:408:1::0;10064:120:0::1;9710:492:::0;;;;;;:::o;8086:111::-;8139:7;7392:18;;;:9;:18;;;;8156:12;;:39;;:16;:39::i;:::-;8149:46;;8086:111;:::o;8442:119::-;8493:7;8548:11;;8526:19;;8510:13;:11;:13::i;:::-;:35;;;;:::i;:::-;:49;;;;:::i;15339:309::-;15437:4;15454:36;15464:6;15472:9;15483:6;15454:9;:36::i;:::-;15501:117;15510:6;15518:10;15530:87;15566:6;15530:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15530:19:0;;;;;;:11;:19;;;;;;;;15550:10;15530:31;;;;;;;;;:87;:35;:87::i;:::-;15501:8;:117::i;:::-;-1:-1:-1;15636:4:0;15339:309;;;;;;:::o;10210:582::-;3084:4;3109:5;-1:-1:-1;;;;;3109:5:0;2996:10;3098:16;2980:38;;;;-1:-1:-1;;;2980:38:0;;;;;;;:::i;:::-;10306:13:::1;10347:5;10339:4;10323:13;:11;:13::i;:::-;:20;;;;:::i;:::-;10322:30;;;;:::i;:::-;10306:46;;10363:19;10412:5;10402:6;10386:13;:11;:13::i;:::-;:22;;;;:::i;:::-;10385:32;;;;:::i;:::-;10363:54;;10428:17;10476:5;10465:7;10449:13;:11;:13::i;:::-;:23;;;;:::i;:::-;10448:33;;;;:::i;:::-;10492:19;:26:::0;;;10529:19:::1;:28:::0;;;10568:17:::1;:27:::0;;;10428:53;-1:-1:-1;;10622:30:0::1;10647:4;10622:20;10640:1;10622:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;10606:46;;10680:5;10671;:14;;:38;;;;;10704:5;10689:11;:20;;10671:38;:60;;;;;10726:5;10713:9;:18;;10671:60;10663:119;;;::::0;-1:-1:-1;;;10663:119:0;;7062:2:1;10663:119:0::1;::::0;::::1;7044:21:1::0;7101:2;7081:18;;;7074:30;7140:34;7120:18;;;7113:62;-1:-1:-1;;;7191:18:1;;;7184:44;7245:19;;10663:119:0::1;6860:410:1::0;10663:119:0::1;10295:497;;;;10210:582:::0;;;:::o;8203:114::-;8251:7;8304:11;;8284:17;;8268:13;:11;:13::i;8323:113::-;8368:7;8423:11;;8401:19;;8385:13;:11;:13::i;7153:66::-;3084:4;3109:5;-1:-1:-1;;;;;3109:5:0;2996:10;3098:16;2980:38;;;;-1:-1:-1;;;2980:38:0;;;;;;;:::i;:::-;7196:14:::1;:21:::0;;-1:-1:-1;;;;7196:21:0::1;-1:-1:-1::0;;;7196:21:0::1;::::0;;7153:66::o;7418:139::-;7496:4;7503:40;7513:10;7525:9;7536:6;7503:9;:40::i;7830:111::-;3084:4;3109:5;-1:-1:-1;;;;;3109:5:0;2996:10;3098:16;2980:38;;;;-1:-1:-1;;;2980:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7907:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;7907:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7830:111::o;3122:::-;3084:4;3109:5;-1:-1:-1;;;;;3109:5:0;2996:10;3098:16;2980:38;;;;-1:-1:-1;;;2980:38:0;;;;;;;:::i;:::-;3188:5:::1;:11:::0;;-1:-1:-1;;;;;;3188:11:0::1;-1:-1:-1::0;;;;;3188:11:0;::::1;::::0;;::::1;::::0;;;3206:25:::1;::::0;3479:51:1;;;3206:25:0::1;::::0;3467:2:1;3452:18;3206:25:0::1;;;;;;;3122:111:::0;:::o;14743:148::-;3084:4;3109:5;-1:-1:-1;;;;;3109:5:0;2996:10;3098:16;2980:38;;;;-1:-1:-1;;;2980:38:0;;;;;;;:::i;:::-;14861:15:::1;4858:1;14861:2;:15;:::i;:::-;14843:34;::::0;:14;:34:::1;:::i;:::-;14827:13;:50:::0;-1:-1:-1;14743:148:0:o;15656:335::-;-1:-1:-1;;;;;15749:19:0;;15741:68;;;;-1:-1:-1;;;15741:68:0;;9076:2:1;15741:68:0;;;9058:21:1;9115:2;9095:18;;;9088:30;9154:34;9134:18;;;9127:62;-1:-1:-1;;;9205:18:1;;;9198:34;9249:19;;15741:68:0;8874:400:1;15741:68:0;-1:-1:-1;;;;;15828:21:0;;15820:68;;;;-1:-1:-1;;;15820:68:0;;9481:2:1;15820:68:0;;;9463:21:1;9520:2;9500:18;;;9493:30;9559:34;9539:18;;;9532:62;-1:-1:-1;;;9610:18:1;;;9603:32;9652:19;;15820:68:0;9279:398:1;15820:68:0;-1:-1:-1;;;;;15899:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15951:32;;160:25:1;;;15951:32:0;;133:18:1;15951:32:0;;;;;;;15656:335;;;:::o;391:82::-;449:7;466:5;470:1;466;:5;:::i;215:82::-;273:7;290:5;294:1;290;:5;:::i;9016:686::-;9105:37;9116:6;9124:9;9135:6;9105:10;:37::i;:::-;9153:38;9173:6;9181:9;9153:19;:38::i;:::-;9202:41;9217:6;9225:9;9236:6;9202:14;:41::i;:::-;9255:35;9272:6;9280:9;9255:16;:35::i;:::-;9301:39;9314:6;9322:9;9333:6;9301:12;:39::i;:::-;9352:35;9361:6;9369:9;9380:6;9352:8;:35::i;:::-;-1:-1:-1;;;;;9418:17:0;;;;;;:9;:17;;;;;;:29;;9440:6;9418:21;:29::i;:::-;-1:-1:-1;;;;;9398:17:0;;;;;;:9;:17;;;;;:49;;;;9483:32;9408:6;9505:9;9483:13;:32::i;:::-;:78;;9555:6;9483:78;;;9518:34;9526:6;9534:9;9545:6;9518:7;:34::i;:::-;-1:-1:-1;;;;;9595:20:0;;;;;;:9;:20;;;;;;9458:103;;-1:-1:-1;9595:40:0;;9458:103;9595:24;:40::i;:::-;-1:-1:-1;;;;;9572:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9651:43;;;;;;;;;;9679:14;160:25:1;;148:2;133:18;;14:177;9651:43:0;;;;;;;;9094:608;9016:686;;;:::o;1428:162::-;1514:7;1560:12;1552:6;;;;1544:29;;;;-1:-1:-1;;;1544:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1582:5:0;;;1428:162::o;303:82::-;361:7;378:5;382:1;378;:5;:::i;8569:439::-;-1:-1:-1;;;;;8673:20:0;;8665:70;;;;-1:-1:-1;;;8665:70:0;;10017:2:1;8665:70:0;;;9999:21:1;10056:2;10036:18;;;10029:30;10095:34;10075:18;;;10068:62;-1:-1:-1;;;10146:18:1;;;10139:35;10191:19;;8665:70:0;9815:401:1;8665:70:0;-1:-1:-1;;;;;8754:23:0;;8746:71;;;;-1:-1:-1;;;8746:71:0;;10423:2:1;8746:71:0;;;10405:21:1;10462:2;10442:18;;;10435:30;10501:34;10481:18;;;10474:62;-1:-1:-1;;;10552:18:1;;;10545:33;10595:19;;8746:71:0;10221:399:1;8746:71:0;8853:1;8836:6;:19;8828:73;;;;-1:-1:-1;;;8828:73:0;;10827:2:1;8828:73:0;;;10809:21:1;10866:2;10846:18;;;10839:30;10905:34;10885:18;;;10878:62;-1:-1:-1;;;10956:18:1;;;10949:39;11005:19;;8828:73:0;10625:405:1;8828:73:0;-1:-1:-1;;;;;7392:18:0;;7375:7;7392:18;;;:9;:18;;;;;;8920:6;:27;;8912:88;;;;-1:-1:-1;;;8912:88:0;;11237:2:1;8912:88:0;;;11219:21:1;11276:2;11256:18;;;11249:30;11315:34;11295:18;;;11288:62;-1:-1:-1;;;11366:18:1;;;11359:47;11423:19;;8912:88:0;11035:413:1;8912:88:0;8569:439;;;:::o;10800:191::-;-1:-1:-1;;;;;10893:19:0;;;;;;:11;:19;;;;;;;;10892:20;:47;;;;-1:-1:-1;;;;;;10917:22:0;;;;;;:11;:22;;;;;;;;10916:23;10892:47;10889:95;;;10949:14;;-1:-1:-1;;;10949:14:0;;;;10941:41;;;;-1:-1:-1;;;10941:41:0;;11655:2:1;10941:41:0;;;11637:21:1;11694:2;11674:18;;;11667:30;-1:-1:-1;;;11713:18:1;;;11706:44;11767:18;;10941:41:0;11453:338:1;11003:333:0;-1:-1:-1;;;;;11107:19:0;;;;;;:11;:19;;;;;;;;11106:20;:47;;;;-1:-1:-1;;;;;;11131:22:0;;;;;;:11;:22;;;;;;;;11130:23;11106:47;:77;;;;-1:-1:-1;11178:4:0;;-1:-1:-1;;;;;11157:26:0;;;11178:4;;11157:26;;11106:77;:107;;;;-1:-1:-1;;;;;;11187:26:0;;5961:42;11187:26;;11106:107;11103:226;;;11275:17;:15;:17::i;:::-;-1:-1:-1;;;;;11238:20:0;;;;;;:9;:20;;;;;;:32;;11263:6;11238:24;:32::i;:::-;11237:55;;11229:98;;;;-1:-1:-1;;;11229:98:0;;11998:2:1;11229:98:0;;;11980:21:1;12037:2;12017:18;;;12010:30;12076:32;12056:18;;;12049:60;12126:18;;11229:98:0;11796:354:1;11344:159:0;11441:4;;-1:-1:-1;;;;;11428:17:0;;;11441:4;;11428:17;:41;;;;-1:-1:-1;;;;;;11450:19:0;;;;;;:11;:19;;;;;;;;11449:20;11428:41;11425:71;;;11492:1;11471:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;11344:159:0;;:::o;11511:349::-;11622:4;;-1:-1:-1;;;;;11612:14:0;;;11622:4;;11612:14;11609:130;;11646:20;:18;:20::i;:::-;11636:6;:30;;:53;;;-1:-1:-1;;;;;;11670:19:0;;;;;;:11;:19;;;;;;;;11636:53;:79;;;-1:-1:-1;;;;;;11693:22:0;;;;;;:11;:22;;;;;;;;11636:79;11628:109;;;;-1:-1:-1;;;11628:109:0;;12487:2:1;11628:109:0;;;12469:21:1;12526:2;12506:18;;;12499:30;-1:-1:-1;;;12545:18:1;;;12538:47;12602:18;;11628:109:0;12285:341:1;11628:109:0;11767:14;:12;:14::i;:::-;11757:6;:24;;:47;;;-1:-1:-1;;;;;;11785:19:0;;;;;;:11;:19;;;;;;;;11757:47;:73;;;-1:-1:-1;;;;;;11808:22:0;;;;;;:11;:22;;;;;;;;11757:73;11749:103;;;;-1:-1:-1;;;11749:103:0;;12487:2:1;11749:103:0;;;12469:21:1;12526:2;12506:18;;;12499:30;-1:-1:-1;;;12545:18:1;;;12538:47;12602:18;;11749:103:0;12285:341:1;14143:197:0;14235:41;14250:6;14258:9;14269:6;14235:14;:41::i;:::-;14232:101;;;14278:29;14293:13;;14278:14;:29::i;:::-;14329:1;14309:9;:22;14143:197;;;:::o;14348:160::-;-1:-1:-1;;;;;14454:19:0;;14429:4;14454:19;;;:11;:19;;;;;;;;14453:20;:47;;;;-1:-1:-1;;;;;;;14478:22:0;;;;;:11;:22;;;;;;;;14477:23;;14348:160;-1:-1:-1;14348:160:0:o;14899:432::-;14985:7;15041:1;15008:30;15020:6;15028:9;15008:11;:30::i;:::-;:34;15005:304;;;15054:17;15074:59;15102:30;15114:6;15122:9;15102:11;:30::i;:::-;15085:11;;15074:23;;:6;;:10;:23::i;:59::-;15189:4;15171:24;;;;:9;:24;;;;;;15054:79;;-1:-1:-1;15171:39:0;;15054:79;15171:28;:39::i;:::-;15162:4;15144:24;;;;:9;:24;;;;;;;:66;;;;15226:42;;-1:-1:-1;;;;;15226:42:0;;;;;;;15258:9;160:25:1;;148:2;133:18;;14:177;15226:42:0;;;;;;;;15286:21;:6;15297:9;15286:10;:21::i;:::-;15279:28;;;;;15005:304;-1:-1:-1;15317:6:0;14899:432;-1:-1:-1;;14899:432:0:o;127:82::-;185:7;202:5;206:1;202;:5;:::i;13735:400::-;13876:15;;13952:13;;13942:4;13833;7392:18;;;:9;:18;;;;;;13984:8;;13833:4;;13866:25;;;;-1:-1:-1;13924:41:0;;13984:8;;13983:9;:24;;;;-1:-1:-1;13996:11:0;;;;13983:24;:42;;;;-1:-1:-1;14011:14:0;;-1:-1:-1;;;14011:14:0;;;;13983:42;:54;;;;;14029:8;13983:54;:78;;;;-1:-1:-1;;;;;;14042:19:0;;;;;;:11;:19;;;;;;;;14041:20;13983:78;:99;;;;-1:-1:-1;14078:4:0;;-1:-1:-1;;;;;14065:17:0;;;14078:4;;14065:17;13983:99;:126;;;;;14107:1;14086:9;;:23;;13983:126;:144;;;;;14113:14;13983:144;13976:151;13735:400;-1:-1:-1;;;;;;13735:400:0:o;11868:1066::-;5882:8;:15;;-1:-1:-1;;5882:15:0;5893:4;5882:15;;;;;;12005:14:::1;::::0;11987:12:::1;::::0;11963::::1;::::0;5882:8;;11962:66:::1;::::0;12026:1:::1;::::0;11963:57:::1;::::0;12005:14;;11963:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;11962:66::-;11939:89;;12039:32;12074:42;12103:12;12074:24;12085:12;;12074:6;:10;;:24;;;;:::i;:42::-;12039:77:::0;-1:-1:-1;12127:14:0::1;12144:36;:6:::0;12039:77;12144:10:::1;:36::i;:::-;12127:53:::0;-1:-1:-1;12216:21:0::1;12248:24;12127:53:::0;12248:16:::1;:24::i;:::-;12283:20;12306:41;:21;12332:14:::0;12306:25:::1;:41::i;:::-;12283:64;;12358:19;12379:48;12396:30;12413:12;;12396;:16;;:30;;;;:::i;:::-;12379:12:::0;;:16:::1;:48::i;:::-;12358:69;;12438:29;12470;12486:12;;12470:11;:15;;:29;;;;:::i;:::-;12438:61:::0;-1:-1:-1;12513:34:0;;12510:103:::1;;12549:61;12562:24;12588:21;12549:12;:61::i;:::-;12669:12;::::0;12623:20:::1;::::0;12646:36:::1;::::0;:18:::1;:11:::0;12662:1:::1;12646:15;:18::i;:36::-;12623:59:::0;-1:-1:-1;12696:16:0;;12693:73:::1;;12722:18;::::0;12714:50:::1;::::0;-1:-1:-1;;;;;12722:18:0;;::::1;::::0;12714:50;::::1;;;::::0;12751:12;;12722:18:::1;12714:50:::0;12722:18;12714:50;12751:12;12722:18;12714:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12693:73;12803:21;12838:29:::0;;12835:92:::1;;12877:20;::::0;12869:56:::1;::::0;-1:-1:-1;;;;;12877:20:0;;::::1;::::0;12869:56;::::1;;;::::0;12908:16;;12877:20:::1;12869:56:::0;12877:20;12869:56;12908:16;12877:20;12869:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12835:92;-1:-1:-1::0;;5902:8:0;:16;;-1:-1:-1;;5902:16:0;;;-1:-1:-1;;;;;;;;11868:1066:0:o;14516:219::-;14631:4;;14595:7;;-1:-1:-1;;;;;14631:4:0;;;14618:17;;;;14615:38;;-1:-1:-1;14644:7:0;;14637:14;;14615:38;14676:4;;-1:-1:-1;;;;;14676:4:0;;;14666:14;;;;14663:36;;-1:-1:-1;14689:8:0;;14682:15;;14663:36;-1:-1:-1;14716:11:0;;14516:219;;;;:::o;13293:434::-;13383:16;;;13397:1;13383:16;;;;;;;;13359:21;;13383:16;;;;;;;;;;-1:-1:-1;13383:16:0;13359:40;;13428:4;13410;13415:1;13410:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13410:23:0;;;:7;;;;;;;;;;:23;;;;13454:6;;:13;;;-1:-1:-1;;;13454:13:0;;;;:6;;;;;:11;;:13;;;;;13410:7;;13454:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13444:4;13449:1;13444:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13444:23:0;;;:7;;;;;;;;;:23;13510:6;;13478:53;;13495:4;;13510:6;13519:11;13478:8;:53::i;:::-;13542:6;;:177;;-1:-1:-1;;;13542:177:0;;-1:-1:-1;;;;;13542:6:0;;;;:57;;:177;;13614:11;;13542:6;;13656:4;;13683;;13703:15;;13542:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12942:343;13055:6;;13023:53;;13040:4;;-1:-1:-1;;;;;13055:6:0;13064:11;13023:8;:53::i;:::-;13087:6;;13228:18;;13087:190;;-1:-1:-1;;;13087:190:0;;13150:4;13087:190;;;14477:34:1;14527:18;;;14520:34;;;13087:6:0;14570:18:1;;;14563:34;;;14613:18;;;14606:34;-1:-1:-1;;;;;13228:18:0;;;14656:19:1;;;14649:44;13261:15:0;14709:19:1;;;14702:35;13087:6:0;;;:22;;13117:9;;14411:19:1;;13087:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12942:343;;:::o;196:180:1:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:1;;196:180;-1:-1:-1;196:180:1:o;381:548::-;493:4;522:2;551;540:9;533:21;583:6;577:13;626:6;621:2;610:9;606:18;599:34;651:1;661:140;675:6;672:1;669:13;661:140;;;770:14;;;766:23;;760:30;736:17;;;755:2;732:26;725:66;690:10;;661:140;;;665:3;850:1;845:2;836:6;825:9;821:22;817:31;810:42;920:2;913;909:7;904:2;896:6;892:15;888:29;877:9;873:45;869:54;861:62;;;;381:548;;;;:::o;934:131::-;-1:-1:-1;;;;;1009:31:1;;999:42;;989:70;;1055:1;1052;1045:12;989:70;934:131;:::o;1070:315::-;1138:6;1146;1199:2;1187:9;1178:7;1174:23;1170:32;1167:52;;;1215:1;1212;1205:12;1167:52;1254:9;1241:23;1273:31;1298:5;1273:31;:::i;:::-;1323:5;1375:2;1360:18;;;;1347:32;;-1:-1:-1;;;1070:315:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2043:523::-;2147:6;2155;2163;2171;2179;2187;2240:3;2228:9;2219:7;2215:23;2211:33;2208:53;;;2257:1;2254;2247:12;2208:53;-1:-1:-1;;2280:23:1;;;2350:2;2335:18;;2322:32;;-1:-1:-1;2401:2:1;2386:18;;2373:32;;2452:2;2437:18;;2424:32;;-1:-1:-1;2503:3:1;2488:19;;2475:33;;-1:-1:-1;2555:3:1;2540:19;2527:33;;-1:-1:-1;2043:523:1;-1:-1:-1;2043:523:1:o;2571:316::-;2648:6;2656;2664;2717:2;2705:9;2696:7;2692:23;2688:32;2685:52;;;2733:1;2730;2723:12;2685:52;-1:-1:-1;;2756:23:1;;;2826:2;2811:18;;2798:32;;-1:-1:-1;2877:2:1;2862:18;;;2849:32;;2571:316;-1:-1:-1;2571:316:1:o;2892:247::-;2951:6;3004:2;2992:9;2983:7;2979:23;2975:32;2972:52;;;3020:1;3017;3010:12;2972:52;3059:9;3046:23;3078:31;3103:5;3078:31;:::i;3541:118::-;3627:5;3620:13;3613:21;3606:5;3603:32;3593:60;;3649:1;3646;3639:12;3664:382;3729:6;3737;3790:2;3778:9;3769:7;3765:23;3761:32;3758:52;;;3806:1;3803;3796:12;3758:52;3845:9;3832:23;3864:31;3889:5;3864:31;:::i;:::-;3914:5;-1:-1:-1;3971:2:1;3956:18;;3943:32;3984:30;3943:32;3984:30;:::i;:::-;4033:7;4023:17;;;3664:382;;;;;:::o;4051:388::-;4119:6;4127;4180:2;4168:9;4159:7;4155:23;4151:32;4148:52;;;4196:1;4193;4186:12;4148:52;4235:9;4222:23;4254:31;4279:5;4254:31;:::i;:::-;4304:5;-1:-1:-1;4361:2:1;4346:18;;4333:32;4374:33;4333:32;4374:33;:::i;4704:329::-;4906:2;4888:21;;;4945:1;4925:18;;;4918:29;-1:-1:-1;;;4978:2:1;4963:18;;4956:36;5024:2;5009:18;;4704:329::o;5670:245::-;5737:6;5790:2;5778:9;5769:7;5765:23;5761:32;5758:52;;;5806:1;5803;5796:12;5758:52;5838:9;5832:16;5857:28;5879:5;5857:28;:::i;6333:127::-;6394:10;6389:3;6385:20;6382:1;6375:31;6425:4;6422:1;6415:15;6449:4;6446:1;6439:15;6465:168;6538:9;;;6569;;6586:15;;;6580:22;;6566:37;6556:71;;6607:18;;:::i;6638:217::-;6678:1;6704;6694:132;;6748:10;6743:3;6739:20;6736:1;6729:31;6783:4;6780:1;6773:15;6811:4;6808:1;6801:15;6694:132;-1:-1:-1;6840:9:1;;6638:217::o;7491:422::-;7580:1;7623:5;7580:1;7637:270;7658:7;7648:8;7645:21;7637:270;;;7717:4;7713:1;7709:6;7705:17;7699:4;7696:27;7693:53;;;7726:18;;:::i;:::-;7776:7;7766:8;7762:22;7759:55;;;7796:16;;;;7759:55;7875:22;;;;7835:15;;;;7637:270;;;7641:3;7491:422;;;;;:::o;7918:806::-;7967:5;7997:8;7987:80;;-1:-1:-1;8038:1:1;8052:5;;7987:80;8086:4;8076:76;;-1:-1:-1;8123:1:1;8137:5;;8076:76;8168:4;8186:1;8181:59;;;;8254:1;8249:130;;;;8161:218;;8181:59;8211:1;8202:10;;8225:5;;;8249:130;8286:3;8276:8;8273:17;8270:43;;;8293:18;;:::i;:::-;-1:-1:-1;;8349:1:1;8335:16;;8364:5;;8161:218;;8463:2;8453:8;8450:16;8444:3;8438:4;8435:13;8431:36;8425:2;8415:8;8412:16;8407:2;8401:4;8398:12;8394:35;8391:77;8388:159;;;-1:-1:-1;8500:19:1;;;8532:5;;8388:159;8579:34;8604:8;8598:4;8579:34;:::i;:::-;8649:6;8645:1;8641:6;8637:19;8628:7;8625:32;8622:58;;;8660:18;;:::i;:::-;8698:20;;7918:806;-1:-1:-1;;;7918:806:1:o;8729:140::-;8787:5;8816:47;8857:4;8847:8;8843:19;8837:4;8816:47;:::i;9682:128::-;9749:9;;;9770:11;;;9767:37;;;9784:18;;:::i;12155:125::-;12220:9;;;12241:10;;;12238:36;;;12254:18;;:::i;12763:127::-;12824:10;12819:3;12815:20;12812:1;12805:31;12855:4;12852:1;12845:15;12879:4;12876:1;12869:15;12895:251;12965:6;13018:2;13006:9;12997:7;12993:23;12989:32;12986:52;;;13034:1;13031;13024:12;12986:52;13066:9;13060:16;13085:31;13110:5;13085:31;:::i;13151:980::-;13413:4;13461:3;13450:9;13446:19;13492:6;13481:9;13474:25;13518:2;13556:6;13551:2;13540:9;13536:18;13529:34;13599:3;13594:2;13583:9;13579:18;13572:31;13623:6;13658;13652:13;13689:6;13681;13674:22;13727:3;13716:9;13712:19;13705:26;;13766:2;13758:6;13754:15;13740:29;;13787:1;13797:195;13811:6;13808:1;13805:13;13797:195;;;13876:13;;-1:-1:-1;;;;;13872:39:1;13860:52;;13967:15;;;;13932:12;;;;13908:1;13826:9;13797:195;;;-1:-1:-1;;;;;;;14048:32:1;;;;14043:2;14028:18;;14021:60;-1:-1:-1;;;14112:3:1;14097:19;14090:35;14009:3;13151:980;-1:-1:-1;;;13151:980:1:o;14748:306::-;14836:6;14844;14852;14905:2;14893:9;14884:7;14880:23;14876:32;14873:52;;;14921:1;14918;14911:12;14873:52;14950:9;14944:16;14934:26;;15000:2;14989:9;14985:18;14979:25;14969:35;;15044:2;15033:9;15029:18;15023:25;15013:35;;14748:306;;;;;:::o

Swarm Source

ipfs://26e15b6494b1c55ec0d94c0660a3ed778cbf1a2dcbce49849d37910d33c0b92e

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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