ETH Price: $3,298.09 (-3.73%)
Gas: 7 Gwei

Contract

0xF0AbAcD540004D902680dB4d194bd815A5947F41
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve171116712023-04-23 21:25:11436 days ago1682285111IN
0xF0AbAcD5...5A5947F41
0 ETH0.0009857540.53452153
Approve170023682023-04-08 8:01:11452 days ago1680940871IN
0xF0AbAcD5...5A5947F41
0 ETH0.0005828823.9681479
Approve167761982023-03-07 11:42:47484 days ago1678189367IN
0xF0AbAcD5...5A5947F41
0 ETH0.0011872225.50823056
Approve167393242023-03-02 7:12:59489 days ago1677741179IN
0xF0AbAcD5...5A5947F41
0 ETH0.0008721218.73808708
Approve164183002023-01-16 8:57:35534 days ago1673859455IN
0xF0AbAcD5...5A5947F41
0 ETH0.0007320315.70797402
Approve163248772023-01-03 7:51:11547 days ago1672732271IN
0xF0AbAcD5...5A5947F41
0 ETH0.0007012615.04766559
Approve163242402023-01-03 5:42:35547 days ago1672724555IN
0xF0AbAcD5...5A5947F41
0 ETH0.0006857214.71419502
Approve162979102022-12-30 13:34:11551 days ago1672407251IN
0xF0AbAcD5...5A5947F41
0 ETH0.0007925617.00677553
Approve162832692022-12-28 12:32:11553 days ago1672230731IN
0xF0AbAcD5...5A5947F41
0 ETH0.0006361313.65
Approve162726922022-12-27 1:05:47554 days ago1672103147IN
0xF0AbAcD5...5A5947F41
0 ETH0.000737515.82523527
Approve162397852022-12-22 10:56:11559 days ago1671706571IN
0xF0AbAcD5...5A5947F41
0 ETH0.0002812111.56340307
Approve162150592022-12-19 0:08:23562 days ago1671408503IN
0xF0AbAcD5...5A5947F41
0 ETH0.0018426239.53875583
Approve162064922022-12-17 19:25:11563 days ago1671305111IN
0xF0AbAcD5...5A5947F41
0 ETH0.0006168713.2369136
Approve162059232022-12-17 17:30:59564 days ago1671298259IN
0xF0AbAcD5...5A5947F41
0 ETH0.0007829316.8
Approve162058592022-12-17 17:18:11564 days ago1671297491IN
0xF0AbAcD5...5A5947F41
0 ETH0.0006361313.65
Approve162050322022-12-17 14:32:11564 days ago1671287531IN
0xF0AbAcD5...5A5947F41
0 ETH0.0006918914.84649115
Approve162048692022-12-17 13:59:11564 days ago1671285551IN
0xF0AbAcD5...5A5947F41
0 ETH0.0005640712.10384207
Approve161970042022-12-16 11:36:59565 days ago1671190619IN
0xF0AbAcD5...5A5947F41
0 ETH0.0007909516.97217768
Transfer161950342022-12-16 5:00:59565 days ago1671166859IN
0xF0AbAcD5...5A5947F41
0 ETH0.0007591412.96250202
Transfer161950192022-12-16 4:57:59565 days ago1671166679IN
0xF0AbAcD5...5A5947F41
0 ETH0.00082813.03618403
Approve161920172022-12-15 18:55:11565 days ago1671130511IN
0xF0AbAcD5...5A5947F41
0 ETH0.0011913425.56374346
Transfer161900072022-12-15 12:10:59566 days ago1671106259IN
0xF0AbAcD5...5A5947F41
0 ETH0.000945416.14283521
Transfer161900032022-12-15 12:10:11566 days ago1671106211IN
0xF0AbAcD5...5A5947F41
0 ETH0.0010503516.5368951
Approve161869522022-12-15 1:56:11566 days ago1671069371IN
0xF0AbAcD5...5A5947F41
0 ETH0.0006563514.08390333
Approve161865912022-12-15 0:43:11566 days ago1671064991IN
0xF0AbAcD5...5A5947F41
0 ETH0.0005811912.47120624
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
163164122023-01-02 3:30:23548 days ago1672630223
0xF0AbAcD5...5A5947F41
0.00182359 ETH
163164122023-01-02 3:30:23548 days ago1672630223
0xF0AbAcD5...5A5947F41
0.00541446 ETH
163164122023-01-02 3:30:23548 days ago1672630223
0xF0AbAcD5...5A5947F41
0.00000072 ETH
163164122023-01-02 3:30:23548 days ago1672630223
0xF0AbAcD5...5A5947F41
0.00090241 ETH
163164122023-01-02 3:30:23548 days ago1672630223
0xF0AbAcD5...5A5947F41
0.00813974 ETH
162717762022-12-26 22:01:11554 days ago1672092071
0xF0AbAcD5...5A5947F41
0.00205036 ETH
162717762022-12-26 22:01:11554 days ago1672092071
0xF0AbAcD5...5A5947F41
0.00608707 ETH
162717762022-12-26 22:01:11554 days ago1672092071
0xF0AbAcD5...5A5947F41
0.00000104 ETH
162717762022-12-26 22:01:11554 days ago1672092071
0xF0AbAcD5...5A5947F41
0.00101451 ETH
162717762022-12-26 22:01:11554 days ago1672092071
0xF0AbAcD5...5A5947F41
0.0091509 ETH
162150632022-12-19 0:09:11562 days ago1671408551
0xF0AbAcD5...5A5947F41
0.00217832 ETH
162150632022-12-19 0:09:11562 days ago1671408551
0xF0AbAcD5...5A5947F41
0.00646656 ETH
162150632022-12-19 0:09:11562 days ago1671408551
0xF0AbAcD5...5A5947F41
0.00000125 ETH
162150632022-12-19 0:09:11562 days ago1671408551
0xF0AbAcD5...5A5947F41
0.00107776 ETH
162150632022-12-19 0:09:11562 days ago1671408551
0xF0AbAcD5...5A5947F41
0.0097214 ETH
162059132022-12-17 17:28:59564 days ago1671298139
0xF0AbAcD5...5A5947F41
0.0023124 ETH
162059132022-12-17 17:28:59564 days ago1671298139
0xF0AbAcD5...5A5947F41
0.00686415 ETH
162059132022-12-17 17:28:59564 days ago1671298139
0xF0AbAcD5...5A5947F41
0.00000147 ETH
162059132022-12-17 17:28:59564 days ago1671298139
0xF0AbAcD5...5A5947F41
0.00114402 ETH
162059132022-12-17 17:28:59564 days ago1671298139
0xF0AbAcD5...5A5947F41
0.0103191 ETH
162048822022-12-17 14:01:47564 days ago1671285707
0xF0AbAcD5...5A5947F41
0.00282207 ETH
162048822022-12-17 14:01:47564 days ago1671285707
0xF0AbAcD5...5A5947F41
0.00837518 ETH
162048822022-12-17 14:01:47564 days ago1671285707
0xF0AbAcD5...5A5947F41
0.00000242 ETH
162048822022-12-17 14:01:47564 days ago1671285707
0xF0AbAcD5...5A5947F41
0.00139586 ETH
162048822022-12-17 14:01:47564 days ago1671285707
0xF0AbAcD5...5A5947F41
0.01259069 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FAMEINU

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-07
*/

/**
   Telegram: https://t.me/FameInu
   Website: http://fameinu.com/
   Twitter: https://twitter.com/FameInu
   Medium: https://medium.com/@fameinu
  
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.16;


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 FAMEINU is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'FAME INU';
    string private constant _symbol = 'FAME';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1 * 10**6 * (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;
    mapping (address => bool) private isBot;
    IRouter router;
    address public pair;
    bool private tradingAllowed = false;
    uint256 private liquidityFee = 200;
    uint256 private marketingFee = 600;
    uint256 private developmentFee = 200;
    uint256 private burnFee = 0;
    uint256 private totalFee = 1000;
    uint256 private sellFee = 1000;
    uint256 private transferFee = 0;
    uint256 private denominator = 10000;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping; 
    uint256 private swapThreshold = ( _totalSupply * 300 ) / 100000;
    uint256 private _minTokenAmount = ( _totalSupply * 10 ) / 100000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}

    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal constant development_receiver = 0x79A5f4CFe37931b4222492B3eE98F58785d4F9Bb; 
    address internal constant marketing_receiver = 0xb2959A330f8759C1E9394df86D3835e2f7D729b3;
    address internal constant liquidity_receiver = 0x9435b42C4798c61ca47953a5633953ff618A535F;

    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[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 startTrading() 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 setisBot(address _address, bool _enabled) external onlyOwner {isBot[_address] = _enabled;}
    function setisExempt(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(DEAD)).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 setStructure(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity;
        marketingFee = _marketing;
        burnFee = _burn;
        developmentFee = _development;
        totalFee = _total;
        sellFee = _sell;
        transferFee = _trans;
        require(totalFee <= denominator.div(5) && sellFee <= denominator.div(5), "totalFee and sellFee cannot be more than 20%");
    }

    function setParameters(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(3) && 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(isBot[sender] || isBot[recipient]){return denominator.sub(uint256(100));}
        if(recipient == pair){return sellFee;}
        if(sender == pair){return totalFee;}
        return transferFee;
    }

    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);
        if(burnFee > uint256(0)){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        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);
    }

}

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":[],"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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","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":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"}]

6080604052620000126009600a62000454565b6200002190620f42406200046c565b600181815560c8600281905560038190556004819055600a805460ff60a01b19169055600b819055610258600c55600d556000600e8190556103e8600f8190556010556011556127106012556013805460ff19169091179055620186a0906200008d9061012c6200046c565b6200009991906200048e565b601655620186a0600154600a620000b191906200046c565b620000bd91906200048e565b601755348015620000cd57600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa15801562000135573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015b9190620004b1565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf9190620004b1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200021d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002439190620004b1565b600980546001600160a01b038581166001600160a01b031992831617909255600a805492841692909116919091179055306000908152600760209081526040808320805460ff1990811660019081179092557fb7f1e81dd6dbef6677cb0d3bdade95432ea87cecb19a5beb2355efc97c3befec80548216831790557f56e5491050213a3762a786724d5ae6432d019dfcd021507acfc7224c631a15d08054821683179055338086528386208054909216831790915590546005845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004dc565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003965781600019048211156200037a576200037a6200033f565b808516156200038857918102915b93841c93908002906200035a565b509250929050565b600082620003af575060016200044e565b81620003be575060006200044e565b8160018114620003d75760028114620003e25762000402565b60019150506200044e565b60ff841115620003f657620003f66200033f565b50506001821b6200044e565b5060208310610133831016604e8410600b841016171562000427575081810a6200044e565b62000433838362000355565b80600019048211156200044a576200044a6200033f565b0290505b92915050565b60006200046560ff8416836200039e565b9392505050565b60008160001904831182151516156200048957620004896200033f565b500290565b600082620004ac57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004c457600080fd5b81516001600160a01b03811681146200046557600080fd5b611ac580620004ec6000396000f3fe6080604052600436106101395760003560e01c806348ff2b8b116100ab5780638c41180e1161006f5780638c41180e1461039457806395d89b41146103b4578063a8aa1b31146103e1578063a9059cbb14610401578063dd62ed3e14610421578063f2fde38b1461046757600080fd5b806348ff2b8b146102e257806370a082311461030257806378109e54146103385780637d1db4a51461034d578063893d20e81461036257600080fd5b806323b872dd116100fd57806323b872dd14610212578063293230b8146102325780632f54bf6e14610247578063313ce5671461027657806334c5d2ce146102925780633f4218e0146102b257600080fd5b8063044019301461014557806306fdde0314610167578063095ea7b3146101aa57806318160ddd146101da5780631f976b7e146101fd57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b50610165610160366004611724565b610487565b005b34801561017357600080fd5b5060408051808201909152600881526746414d4520494e5560c01b60208201525b6040516101a19190611770565b60405180910390f35b3480156101b657600080fd5b506101ca6101c53660046117d6565b610575565b60405190151581526020016101a1565b3480156101e657600080fd5b506101ef61058c565b6040519081526020016101a1565b34801561020957600080fd5b506101ef6105fd565b34801561021e57600080fd5b506101ca61022d366004611802565b610621565b34801561023e57600080fd5b5061016561068b565b34801561025357600080fd5b506101ca610262366004611843565b6000546001600160a01b0391821691161490565b34801561028257600080fd5b50604051600981526020016101a1565b34801561029e57600080fd5b506101656102ad366004611860565b6106ca565b3480156102be57600080fd5b506101ca6102cd366004611843565b60076020526000908152604090205460ff1681565b3480156102ee57600080fd5b506101656102fd36600461188c565b610811565b34801561030e57600080fd5b506101ef61031d366004611843565b6001600160a01b031660009081526005602052604090205490565b34801561034457600080fd5b506101ef610866565b34801561035957600080fd5b506101ef610876565b34801561036e57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101a1565b3480156103a057600080fd5b506101656103af36600461188c565b610886565b3480156103c057600080fd5b5060408051808201909152600481526346414d4560e01b6020820152610194565b3480156103ed57600080fd5b50600a5461037c906001600160a01b031681565b34801561040d57600080fd5b506101ca61041c3660046117d6565b6108db565b34801561042d57600080fd5b506101ef61043c3660046118ca565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047357600080fd5b50610165610482366004611843565b6108e8565b6000546001600160a01b031633146104ba5760405162461bcd60e51b81526004016104b1906118f8565b60405180910390fd5b600b879055600c869055600e859055600d849055600f839055601082905560118190556012546104eb906005610966565b600f541115801561050b5750601254610505906005610966565b60105411155b61056c5760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016104b1565b50505050505050565b6000610582338484610972565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460015491926105f89290916105f29190610a96565b90610a96565b905090565b600060125460035461060d61058c565b610617919061192e565b6105f8919061194d565b600061062e848484610aa2565b610680843361067b85604051806060016040528060288152602001611a68602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610bc8565b610972565b5060015b9392505050565b6000546001600160a01b031633146106b55760405162461bcd60e51b81526004016104b1906118f8565b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106f45760405162461bcd60e51b81526004016104b1906118f8565b60006127108461070261058c565b61070c919061192e565b610716919061194d565b905060006127108461072661058c565b610730919061192e565b61073a919061194d565b905060006127108461074a61058c565b610754919061192e565b61075e919061194d565b600287905560038690556004859055905060006107906103e861078a600561078461058c565b90610bf4565b90610966565b90508084101580156107a25750808310155b80156107ae5750808210155b61056c5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104b1565b6000546001600160a01b0316331461083b5760405162461bcd60e51b81526004016104b1906118f8565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600060125460045461060d61058c565b600060125460025461060d61058c565b6000546001600160a01b031633146108b05760405162461bcd60e51b81526004016104b1906118f8565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000610582338484610aa2565b6000546001600160a01b031633146109125760405162461bcd60e51b81526004016104b1906118f8565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000610684828461194d565b6001600160a01b0383166109d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b1565b6001600160a01b038216610a355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b1565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610684828461196f565b610aad838383610c00565b610ab78383610daf565b610ac2838383610e44565b610acc8383610f35565b610ad7838383610f8c565b610ae28383836110c3565b6001600160a01b038316600090815260056020526040902054610b059082610a96565b6001600160a01b038416600090815260056020526040812091909155610b2b84846110e8565b610b355781610b40565b610b4084848461112e565b6001600160a01b038416600090815260056020526040902054909150610b66908261121c565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bba9085815260200190565b60405180910390a350505050565b60008184841115610bec5760405162461bcd60e51b81526004016104b19190611770565b505050900390565b6000610684828461192e565b6001600160a01b038316610c645760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b1565b6001600160a01b038216610cc65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b1565b60008111610d285760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b1565b6001600160a01b038316600090815260056020526040902054811115610daa5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104b1565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610df157506001600160a01b03811660009081526007602052604090205460ff16155b15610e4057600a54600160a01b900460ff16610e405760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104b1565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610e8657506001600160a01b03821660009081526007602052604090205460ff16155b8015610ea05750600a546001600160a01b03838116911614155b8015610eb757506001600160a01b03821661dead14155b15610daa57610ec4610866565b6001600160a01b038316600090815260056020526040902054610ee7908361121c565b1115610daa5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104b1565b600a546001600160a01b038281169116148015610f6b57506001600160a01b03821660009081526007602052604090205460ff16155b15610e4057600160146000828254610f839190611982565b90915550505050565b600a546001600160a01b0384811691161461103257610fa96105fd565b81111580610fcf57506001600160a01b03831660009081526007602052604090205460ff165b80610ff257506001600160a01b03821660009081526007602052604090205460ff165b6110325760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b1565b61103a610876565b8111158061106057506001600160a01b03831660009081526007602052604090205460ff165b8061108357506001600160a01b03821660009081526007602052604090205460ff165b610daa5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b1565b6110ce838383611228565b15610daa576110de6016546112da565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff161580156106845750506001600160a01b031660009081526007602052604090205460ff1615919050565b60008061113b8585611465565b111561121557600061115e6111508686611465565b601254610784908690610966565b3060009081526005602052604090205490915061117b908261121c565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111cc9085815260200190565b60405180910390a3600e5415611203576112033061dead6111fe600e546107846012548961096690919063ffffffff16565b610aa2565b61120d8382610a96565b915050610684565b5092915050565b60006106848284611982565b6017546016543060009081526005602052604081205460155491938510159211159060ff1615801561125c575060135460ff165b80156112715750600a54600160a01b900460ff165b801561127a5750815b801561129f57506001600160a01b03861660009081526007602052604090205460ff16155b80156112b85750600a546001600160a01b038681169116145b80156112c75750600360145410155b80156112d05750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b546000936113149360029361078493919261130e92839161121c565b9061121c565b905060006113318261078a600b5486610bf490919063ffffffff16565b9050600061133f8483610a96565b90504761134b82611506565b60006113574783610a96565b9050600061137a611373600b5488610a9690919063ffffffff16565b8390610966565b90506000611393600b5483610bf490919063ffffffff16565b905080156113a5576113a58682611660565b600c546000906113ba90610784856002610bf4565b905080156114055760405173b2959a330f8759c1e9394df86d3835e2f7d729b39082156108fc029083906000818181858888f19350505050158015611403573d6000803e3d6000fd5b505b47801561144f576040517379a5f4cfe37931b4222492b3ee98f58785d4f9bb9082156108fc029083906000818181858888f1935050505015801561144d573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16806114a457506001600160a01b03821660009081526008602052604090205460ff165b156114be576012546114b7906064610a96565b9050610586565b600a546001600160a01b03908116908316036114dd5750601054610586565b600a546001600160a01b03908116908416036114fc5750600f54610586565b5060115492915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061153b5761153b611995565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611594573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b891906119ab565b816001815181106115cb576115cb611995565b6001600160a01b0392831660209182029290920101526009546115f19130911684610972565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061162a9085906000908690309042906004016119c8565b600060405180830381600087803b15801561164457600080fd5b505af1158015611658573d6000803e3d6000fd5b505050505050565b6009546116789030906001600160a01b031684610972565b60095460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820152739435b42c4798c61ca47953a5633953ff618a535f60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156116f8573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061171d9190611a39565b5050505050565b600080600080600080600060e0888a03121561173f57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b8181101561179d57858101830151858201604001528201611781565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117d357600080fd5b50565b600080604083850312156117e957600080fd5b82356117f4816117be565b946020939093013593505050565b60008060006060848603121561181757600080fd5b8335611822816117be565b92506020840135611832816117be565b929592945050506040919091013590565b60006020828403121561185557600080fd5b8135610684816117be565b60008060006060848603121561187557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561189f57600080fd5b82356118aa816117be565b9150602083013580151581146118bf57600080fd5b809150509250929050565b600080604083850312156118dd57600080fd5b82356118e8816117be565b915060208301356118bf816117be565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561194857611948611918565b500290565b60008261196a57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561058657610586611918565b8082018082111561058657610586611918565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119bd57600080fd5b8151610684816117be565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a185784516001600160a01b0316835293830193918301916001016119f3565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a4e57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ecd6e510fe38f67197e1a3d274417d09a1bcdafe4d1f3785f10395cdc245681f64736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806348ff2b8b116100ab5780638c41180e1161006f5780638c41180e1461039457806395d89b41146103b4578063a8aa1b31146103e1578063a9059cbb14610401578063dd62ed3e14610421578063f2fde38b1461046757600080fd5b806348ff2b8b146102e257806370a082311461030257806378109e54146103385780637d1db4a51461034d578063893d20e81461036257600080fd5b806323b872dd116100fd57806323b872dd14610212578063293230b8146102325780632f54bf6e14610247578063313ce5671461027657806334c5d2ce146102925780633f4218e0146102b257600080fd5b8063044019301461014557806306fdde0314610167578063095ea7b3146101aa57806318160ddd146101da5780631f976b7e146101fd57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b50610165610160366004611724565b610487565b005b34801561017357600080fd5b5060408051808201909152600881526746414d4520494e5560c01b60208201525b6040516101a19190611770565b60405180910390f35b3480156101b657600080fd5b506101ca6101c53660046117d6565b610575565b60405190151581526020016101a1565b3480156101e657600080fd5b506101ef61058c565b6040519081526020016101a1565b34801561020957600080fd5b506101ef6105fd565b34801561021e57600080fd5b506101ca61022d366004611802565b610621565b34801561023e57600080fd5b5061016561068b565b34801561025357600080fd5b506101ca610262366004611843565b6000546001600160a01b0391821691161490565b34801561028257600080fd5b50604051600981526020016101a1565b34801561029e57600080fd5b506101656102ad366004611860565b6106ca565b3480156102be57600080fd5b506101ca6102cd366004611843565b60076020526000908152604090205460ff1681565b3480156102ee57600080fd5b506101656102fd36600461188c565b610811565b34801561030e57600080fd5b506101ef61031d366004611843565b6001600160a01b031660009081526005602052604090205490565b34801561034457600080fd5b506101ef610866565b34801561035957600080fd5b506101ef610876565b34801561036e57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101a1565b3480156103a057600080fd5b506101656103af36600461188c565b610886565b3480156103c057600080fd5b5060408051808201909152600481526346414d4560e01b6020820152610194565b3480156103ed57600080fd5b50600a5461037c906001600160a01b031681565b34801561040d57600080fd5b506101ca61041c3660046117d6565b6108db565b34801561042d57600080fd5b506101ef61043c3660046118ca565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047357600080fd5b50610165610482366004611843565b6108e8565b6000546001600160a01b031633146104ba5760405162461bcd60e51b81526004016104b1906118f8565b60405180910390fd5b600b879055600c869055600e859055600d849055600f839055601082905560118190556012546104eb906005610966565b600f541115801561050b5750601254610505906005610966565b60105411155b61056c5760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016104b1565b50505050505050565b6000610582338484610972565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460015491926105f89290916105f29190610a96565b90610a96565b905090565b600060125460035461060d61058c565b610617919061192e565b6105f8919061194d565b600061062e848484610aa2565b610680843361067b85604051806060016040528060288152602001611a68602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610bc8565b610972565b5060015b9392505050565b6000546001600160a01b031633146106b55760405162461bcd60e51b81526004016104b1906118f8565b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106f45760405162461bcd60e51b81526004016104b1906118f8565b60006127108461070261058c565b61070c919061192e565b610716919061194d565b905060006127108461072661058c565b610730919061192e565b61073a919061194d565b905060006127108461074a61058c565b610754919061192e565b61075e919061194d565b600287905560038690556004859055905060006107906103e861078a600561078461058c565b90610bf4565b90610966565b90508084101580156107a25750808310155b80156107ae5750808210155b61056c5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104b1565b6000546001600160a01b0316331461083b5760405162461bcd60e51b81526004016104b1906118f8565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600060125460045461060d61058c565b600060125460025461060d61058c565b6000546001600160a01b031633146108b05760405162461bcd60e51b81526004016104b1906118f8565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000610582338484610aa2565b6000546001600160a01b031633146109125760405162461bcd60e51b81526004016104b1906118f8565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000610684828461194d565b6001600160a01b0383166109d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b1565b6001600160a01b038216610a355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b1565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610684828461196f565b610aad838383610c00565b610ab78383610daf565b610ac2838383610e44565b610acc8383610f35565b610ad7838383610f8c565b610ae28383836110c3565b6001600160a01b038316600090815260056020526040902054610b059082610a96565b6001600160a01b038416600090815260056020526040812091909155610b2b84846110e8565b610b355781610b40565b610b4084848461112e565b6001600160a01b038416600090815260056020526040902054909150610b66908261121c565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bba9085815260200190565b60405180910390a350505050565b60008184841115610bec5760405162461bcd60e51b81526004016104b19190611770565b505050900390565b6000610684828461192e565b6001600160a01b038316610c645760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b1565b6001600160a01b038216610cc65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b1565b60008111610d285760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b1565b6001600160a01b038316600090815260056020526040902054811115610daa5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104b1565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610df157506001600160a01b03811660009081526007602052604090205460ff16155b15610e4057600a54600160a01b900460ff16610e405760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104b1565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610e8657506001600160a01b03821660009081526007602052604090205460ff16155b8015610ea05750600a546001600160a01b03838116911614155b8015610eb757506001600160a01b03821661dead14155b15610daa57610ec4610866565b6001600160a01b038316600090815260056020526040902054610ee7908361121c565b1115610daa5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104b1565b600a546001600160a01b038281169116148015610f6b57506001600160a01b03821660009081526007602052604090205460ff16155b15610e4057600160146000828254610f839190611982565b90915550505050565b600a546001600160a01b0384811691161461103257610fa96105fd565b81111580610fcf57506001600160a01b03831660009081526007602052604090205460ff165b80610ff257506001600160a01b03821660009081526007602052604090205460ff165b6110325760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b1565b61103a610876565b8111158061106057506001600160a01b03831660009081526007602052604090205460ff165b8061108357506001600160a01b03821660009081526007602052604090205460ff165b610daa5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b1565b6110ce838383611228565b15610daa576110de6016546112da565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff161580156106845750506001600160a01b031660009081526007602052604090205460ff1615919050565b60008061113b8585611465565b111561121557600061115e6111508686611465565b601254610784908690610966565b3060009081526005602052604090205490915061117b908261121c565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111cc9085815260200190565b60405180910390a3600e5415611203576112033061dead6111fe600e546107846012548961096690919063ffffffff16565b610aa2565b61120d8382610a96565b915050610684565b5092915050565b60006106848284611982565b6017546016543060009081526005602052604081205460155491938510159211159060ff1615801561125c575060135460ff165b80156112715750600a54600160a01b900460ff165b801561127a5750815b801561129f57506001600160a01b03861660009081526007602052604090205460ff16155b80156112b85750600a546001600160a01b038681169116145b80156112c75750600360145410155b80156112d05750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b546000936113149360029361078493919261130e92839161121c565b9061121c565b905060006113318261078a600b5486610bf490919063ffffffff16565b9050600061133f8483610a96565b90504761134b82611506565b60006113574783610a96565b9050600061137a611373600b5488610a9690919063ffffffff16565b8390610966565b90506000611393600b5483610bf490919063ffffffff16565b905080156113a5576113a58682611660565b600c546000906113ba90610784856002610bf4565b905080156114055760405173b2959a330f8759c1e9394df86d3835e2f7d729b39082156108fc029083906000818181858888f19350505050158015611403573d6000803e3d6000fd5b505b47801561144f576040517379a5f4cfe37931b4222492b3ee98f58785d4f9bb9082156108fc029083906000818181858888f1935050505015801561144d573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16806114a457506001600160a01b03821660009081526008602052604090205460ff165b156114be576012546114b7906064610a96565b9050610586565b600a546001600160a01b03908116908316036114dd5750601054610586565b600a546001600160a01b03908116908416036114fc5750600f54610586565b5060115492915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061153b5761153b611995565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611594573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b891906119ab565b816001815181106115cb576115cb611995565b6001600160a01b0392831660209182029290920101526009546115f19130911684610972565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061162a9085906000908690309042906004016119c8565b600060405180830381600087803b15801561164457600080fd5b505af1158015611658573d6000803e3d6000fd5b505050505050565b6009546116789030906001600160a01b031684610972565b60095460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820152739435b42c4798c61ca47953a5633953ff618a535f60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156116f8573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061171d9190611a39565b5050505050565b600080600080600080600060e0888a03121561173f57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b8181101561179d57858101830151858201604001528201611781565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117d357600080fd5b50565b600080604083850312156117e957600080fd5b82356117f4816117be565b946020939093013593505050565b60008060006060848603121561181757600080fd5b8335611822816117be565b92506020840135611832816117be565b929592945050506040919091013590565b60006020828403121561185557600080fd5b8135610684816117be565b60008060006060848603121561187557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561189f57600080fd5b82356118aa816117be565b9150602083013580151581146118bf57600080fd5b809150509250929050565b600080604083850312156118dd57600080fd5b82356118e8816117be565b915060208301356118bf816117be565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561194857611948611918565b500290565b60008261196a57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561058657610586611918565b8082018082111561058657610586611918565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119bd57600080fd5b8151610684816117be565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a185784516001600160a01b0316835293830193918301916001016119f3565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a4e57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ecd6e510fe38f67197e1a3d274417d09a1bcdafe4d1f3785f10395cdc245681f64736f6c63430008100033

Deployed Bytecode Sourcemap

4774:11612:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10019:527;;;;;;;;;;-1:-1:-1;10019:527:0;;;;;:::i;:::-;;:::i;:::-;;7115:67;;;;;;;;;;-1:-1:-1;7175:5:0;;;;;;;;;;;;-1:-1:-1;;;7175:5:0;;;;7115:67;;;;;;;:::i;:::-;;;;;;;;8235:133;;;;;;;;;;-1:-1:-1;8235:133:0;;;;;:::i;:::-;;:::i;:::-;;;1785:14:1;;1778:22;1760:41;;1748:2;1733:18;8235:133:0;1620:187:1;8374:132:0;;;;;;;;;;;;;:::i;:::-;;;1958:25:1;;;1946:2;1931:18;8374:132:0;1812:177:1;8751:119:0;;;;;;;;;;;;;:::i;15729:309::-;;;;;;;;;;-1:-1:-1;15729:309:0;;;;;:::i;:::-;;:::i;7338:67::-;;;;;;;;;;;;;:::i;3154:87::-;;;;;;;;;;-1:-1:-1;3154:87:0;;;;;:::i;:::-;3209:4;3234:5;-1:-1:-1;;;;;3223:16:0;;;3234:5;;3223:16;;3154:87;7265:67;;;;;;;;;;-1:-1:-1;7265:67:0;;4981:1;2849:36:1;;2837:2;2822:18;7265:67:0;2707:184:1;10554:584:0;;;;;;;;;;-1:-1:-1;10554:584:0;;;;;:::i;:::-;;:::i;5329:44::-;;;;;;;;;;-1:-1:-1;5329:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8121:108;;;;;;;;;;-1:-1:-1;8121:108:0;;;;;:::i;:::-;;:::i;7495:103::-;;;;;;;;;;-1:-1:-1;7495:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7578:18:0;7561:7;7578:18;;;:9;:18;;;;;;;7495:103;8512:114;;;;;;;;;;;;;:::i;8632:113::-;;;;;;;;;;;;;:::i;7411:78::-;;;;;;;;;;-1:-1:-1;7463:7:0;7481:5;-1:-1:-1;;;;;7481:5:0;7411:78;;;-1:-1:-1;;;;;3802:32:1;;;3784:51;;3772:2;3757:18;7411:78:0;3638:203:1;8016:99:0;;;;;;;;;;-1:-1:-1;8016:99:0;;;;;:::i;:::-;;:::i;7188:71::-;;;;;;;;;;-1:-1:-1;7250:7:0;;;;;;;;;;;;-1:-1:-1;;;7250:7:0;;;;7188:71;;5447:19;;;;;;;;;;-1:-1:-1;5447:19:0;;;;-1:-1:-1;;;;;5447:19:0;;;7604:139;;;;;;;;;;-1:-1:-1;7604:139:0;;;;;:::i;:::-;;:::i;7749:127::-;;;;;;;;;;-1:-1:-1;7749:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7847:18:0;;;7830:7;7847:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7749:127;3247:111;;;;;;;;;;-1:-1:-1;3247:111:0;;;;;:::i;:::-;;:::i;10019:527::-;3209:4;3234:5;-1:-1:-1;;;;;3234:5:0;3121:10;3223:16;3105:38;;;;-1:-1:-1;;;3105:38:0;;;;;;;:::i;:::-;;;;;;;;;10195:12:::1;:25:::0;;;10231:12:::1;:25:::0;;;10267:7:::1;:15:::0;;;10293:14:::1;:29:::0;;;10333:8:::1;:17:::0;;;10361:7:::1;:15:::0;;;10387:11:::1;:20:::0;;;10438:11:::1;::::0;:18:::1;::::0;10454:1:::1;10438:15;:18::i;:::-;10426:8;;:30;;:63;;;;-1:-1:-1::0;10471:11:0::1;::::0;:18:::1;::::0;10487:1:::1;10471:15;:18::i;:::-;10460:7;;:29;;10426:63;10418:120;;;::::0;-1:-1:-1;;;10418:120:0;;5035:2:1;10418:120:0::1;::::0;::::1;5017:21:1::0;5074:2;5054:18;;;5047:30;5113:34;5093:18;;;5086:62;-1:-1:-1;;;5164:18:1;;;5157:42;5216:19;;10418:120:0::1;4833:408:1::0;10418:120:0::1;10019:527:::0;;;;;;;:::o;8235:133::-;8310:4;8317:37;8326:10;8338:7;8347:6;8317:8;:37::i;:::-;-1:-1:-1;8362:4:0;8235:133;;;;;:::o;8374:132::-;7578:9;:18;;;;6170:42;8427:7;7578:18;;;;;8444:12;;8427:7;;8444:60;;7578:18;;8444:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8437:67;;8374:132;:::o;8751:119::-;8802:7;8857:11;;8835:19;;8819:13;:11;:13::i;:::-;:35;;;;:::i;:::-;:49;;;;:::i;15729:309::-;15827:4;15844:36;15854:6;15862:9;15873:6;15844:9;:36::i;:::-;15891:117;15900:6;15908:10;15920:87;15956:6;15920:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15920:19:0;;;;;;:11;:19;;;;;;;;15940:10;15920:31;;;;;;;;;:87;:35;:87::i;:::-;15891:8;:117::i;:::-;-1:-1:-1;16026:4:0;15729:309;;;;;;:::o;7338:67::-;3209:4;3234:5;-1:-1:-1;;;;;3234:5:0;3121:10;3223:16;3105:38;;;;-1:-1:-1;;;3105:38:0;;;;;;;:::i;:::-;7382:14:::1;:21:::0;;-1:-1:-1;;;;7382:21:0::1;-1:-1:-1::0;;;7382:21:0::1;::::0;;7338:67::o;10554:584::-;3209:4;3234:5;-1:-1:-1;;;;;3234:5:0;3121:10;3223:16;3105:38;;;;-1:-1:-1;;;3105:38:0;;;;;;;:::i;:::-;10654:13:::1;10695:5;10687:4;10671:13;:11;:13::i;:::-;:20;;;;:::i;:::-;10670:30;;;;:::i;:::-;10654:46;;10711:19;10760:5;10750:6;10734:13;:11;:13::i;:::-;:22;;;;:::i;:::-;10733:32;;;;:::i;:::-;10711:54;;10776:17;10824:5;10813:7;10797:13;:11;:13::i;:::-;:23;;;;:::i;:::-;10796:33;;;;:::i;:::-;10840:19;:26:::0;;;10877:19:::1;:28:::0;;;10916:17:::1;:27:::0;;;10776:53;-1:-1:-1;;10970:30:0::1;10995:4;10970:20;10988:1;10970:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;10954:46;;11028:5;11019;:14;;:38;;;;;11052:5;11037:11;:20;;11019:38;:60;;;;;11074:5;11061:9;:18;;11019:60;11011:119;;;::::0;-1:-1:-1;;;11011:119:0;;5975:2:1;11011:119:0::1;::::0;::::1;5957:21:1::0;6014:2;5994:18;;;5987:30;6053:34;6033:18;;;6026:62;-1:-1:-1;;;6104:18:1;;;6097:44;6158:19;;11011:119:0::1;5773:410:1::0;8121:108:0;3209:4;3234:5;-1:-1:-1;;;;;3234:5:0;3121:10;3223:16;3105:38;;;;-1:-1:-1;;;3105:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8195:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8195:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8121:108::o;8512:114::-;8560:7;8613:11;;8593:17;;8577:13;:11;:13::i;8632:113::-;8677:7;8732:11;;8710:19;;8694:13;:11;:13::i;8016:99::-;3209:4;3234:5;-1:-1:-1;;;;;3234:5:0;3121:10;3223:16;3105:38;;;;-1:-1:-1;;;3105:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8087:15:0;;;::::1;;::::0;;;:5:::1;:15;::::0;;;;:26;;-1:-1:-1;;8087:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8016:99::o;7604:139::-;7682:4;7689:40;7699:10;7711:9;7722:6;7689:9;:40::i;3247:111::-;3209:4;3234:5;-1:-1:-1;;;;;3234:5:0;3121:10;3223:16;3105:38;;;;-1:-1:-1;;;3105:38:0;;;;;;;:::i;:::-;3313:5:::1;:11:::0;;-1:-1:-1;;;;;;3313:11:0::1;-1:-1:-1::0;;;;;3313:11:0;::::1;::::0;;::::1;::::0;;;3331:25:::1;::::0;3784:51:1;;;3331:25:0::1;::::0;3772:2:1;3757:18;3331:25:0::1;;;;;;;3247:111:::0;:::o;516:82::-;574:7;591:5;595:1;591;:5;:::i;16046:335::-;-1:-1:-1;;;;;16139:19:0;;16131:68;;;;-1:-1:-1;;;16131:68:0;;6606:2:1;16131:68:0;;;6588:21:1;6645:2;6625:18;;;6618:30;6684:34;6664:18;;;6657:62;-1:-1:-1;;;6735:18:1;;;6728:34;6779:19;;16131:68:0;6404:400:1;16131:68:0;-1:-1:-1;;;;;16218:21:0;;16210:68;;;;-1:-1:-1;;;16210:68:0;;7011:2:1;16210:68:0;;;6993:21:1;7050:2;7030:18;;;7023:30;7089:34;7069:18;;;7062:62;-1:-1:-1;;;7140:18:1;;;7133:32;7182:19;;16210:68:0;6809:398:1;16210:68:0;-1:-1:-1;;;;;16289:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16341:32;;1958:25:1;;;16341:32:0;;1931:18:1;16341:32:0;;;;;;;16046:335;;;:::o;340:82::-;398:7;415:5;419:1;415;:5;:::i;9325:686::-;9414:37;9425:6;9433:9;9444:6;9414:10;:37::i;:::-;9462:38;9482:6;9490:9;9462:19;:38::i;:::-;9511:41;9526:6;9534:9;9545:6;9511:14;:41::i;:::-;9564:35;9581:6;9589:9;9564:16;:35::i;:::-;9610:39;9623:6;9631:9;9642:6;9610:12;:39::i;:::-;9661:35;9670:6;9678:9;9689:6;9661:8;:35::i;:::-;-1:-1:-1;;;;;9727:17:0;;;;;;:9;:17;;;;;;:29;;9749:6;9727:21;:29::i;:::-;-1:-1:-1;;;;;9707:17:0;;;;;;:9;:17;;;;;:49;;;;9792:32;9717:6;9814:9;9792:13;:32::i;:::-;:78;;9864:6;9792:78;;;9827:34;9835:6;9843:9;9854:6;9827:7;:34::i;:::-;-1:-1:-1;;;;;9904:20:0;;;;;;:9;:20;;;;;;9767:103;;-1:-1:-1;9904:40:0;;9767:103;9904:24;:40::i;:::-;-1:-1:-1;;;;;9881:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9960:43;;;;;;;;;;9988:14;1958:25:1;;1946:2;1931:18;;1812:177;9960:43:0;;;;;;;;9403:608;9325:686;;;:::o;1553:162::-;1639:7;1685:12;1677:6;;;;1669:29;;;;-1:-1:-1;;;1669:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1707:5:0;;;1553:162::o;428:82::-;486:7;503:5;507:1;503;:5;:::i;8878:439::-;-1:-1:-1;;;;;8982:20:0;;8974:70;;;;-1:-1:-1;;;8974:70:0;;7547:2:1;8974:70:0;;;7529:21:1;7586:2;7566:18;;;7559:30;7625:34;7605:18;;;7598:62;-1:-1:-1;;;7676:18:1;;;7669:35;7721:19;;8974:70:0;7345:401:1;8974:70:0;-1:-1:-1;;;;;9063:23:0;;9055:71;;;;-1:-1:-1;;;9055:71:0;;7953:2:1;9055:71:0;;;7935:21:1;7992:2;7972:18;;;7965:30;8031:34;8011:18;;;8004:62;-1:-1:-1;;;8082:18:1;;;8075:33;8125:19;;9055:71:0;7751:399:1;9055:71:0;9162:1;9145:6;:19;9137:73;;;;-1:-1:-1;;;9137:73:0;;8357:2:1;9137:73:0;;;8339:21:1;8396:2;8376:18;;;8369:30;8435:34;8415:18;;;8408:62;-1:-1:-1;;;8486:18:1;;;8479:39;8535:19;;9137:73:0;8155:405:1;9137:73:0;-1:-1:-1;;;;;7578:18:0;;7561:7;7578:18;;;:9;:18;;;;;;9229:6;:27;;9221:88;;;;-1:-1:-1;;;9221:88:0;;8767:2:1;9221:88:0;;;8749:21:1;8806:2;8786:18;;;8779:30;8845:34;8825:18;;;8818:62;-1:-1:-1;;;8896:18:1;;;8889:47;8953:19;;9221:88:0;8565:413:1;9221:88:0;8878:439;;;:::o;11146:191::-;-1:-1:-1;;;;;11239:19:0;;;;;;:11;:19;;;;;;;;11238:20;:47;;;;-1:-1:-1;;;;;;11263:22:0;;;;;;:11;:22;;;;;;;;11262:23;11238:47;11235:95;;;11295:14;;-1:-1:-1;;;11295:14:0;;;;11287:41;;;;-1:-1:-1;;;11287:41:0;;9185:2:1;11287:41:0;;;9167:21:1;9224:2;9204:18;;;9197:30;-1:-1:-1;;;9243:18:1;;;9236:44;9297:18;;11287:41:0;8983:338:1;11287:41:0;11146:191;;:::o;11349:333::-;-1:-1:-1;;;;;11453:19:0;;;;;;:11;:19;;;;;;;;11452:20;:47;;;;-1:-1:-1;;;;;;11477:22:0;;;;;;:11;:22;;;;;;;;11476:23;11452:47;:77;;;;-1:-1:-1;11524:4:0;;-1:-1:-1;;;;;11503:26:0;;;11524:4;;11503:26;;11452:77;:107;;;;-1:-1:-1;;;;;;11533:26:0;;6170:42;11533:26;;11452:107;11449:226;;;11621:17;:15;:17::i;:::-;-1:-1:-1;;;;;11584:20:0;;;;;;:9;:20;;;;;;:32;;11609:6;11584:24;:32::i;:::-;11583:55;;11575:98;;;;-1:-1:-1;;;11575:98:0;;9528:2:1;11575:98:0;;;9510:21:1;9567:2;9547:18;;;9540:30;9606:32;9586:18;;;9579:60;9656:18;;11575:98:0;9326:354:1;11690:159:0;11787:4;;-1:-1:-1;;;;;11774:17:0;;;11787:4;;11774:17;:41;;;;-1:-1:-1;;;;;;11796:19:0;;;;;;:11;:19;;;;;;;;11795:20;11774:41;11771:71;;;11838:1;11817:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;11690:159:0;;:::o;11857:349::-;11968:4;;-1:-1:-1;;;;;11958:14:0;;;11968:4;;11958:14;11955:130;;11992:20;:18;:20::i;:::-;11982:6;:30;;:53;;;-1:-1:-1;;;;;;12016:19:0;;;;;;:11;:19;;;;;;;;11982:53;:79;;;-1:-1:-1;;;;;;12039:22:0;;;;;;:11;:22;;;;;;;;11982:79;11974:109;;;;-1:-1:-1;;;11974:109:0;;10017:2:1;11974:109:0;;;9999:21:1;10056:2;10036:18;;;10029:30;-1:-1:-1;;;10075:18:1;;;10068:47;10132:18;;11974:109:0;9815:341:1;11974:109:0;12113:14;:12;:14::i;:::-;12103:6;:24;;:47;;;-1:-1:-1;;;;;;12131:19:0;;;;;;:11;:19;;;;;;;;12103:47;:73;;;-1:-1:-1;;;;;;12154:22:0;;;;;;:11;:22;;;;;;;;12103:73;12095:103;;;;-1:-1:-1;;;12095:103:0;;10017:2:1;12095:103:0;;;9999:21:1;10056:2;10036:18;;;10029:30;-1:-1:-1;;;10075:18:1;;;10068:47;10132:18;;12095:103:0;9815:341:1;14489:197:0;14581:41;14596:6;14604:9;14615:6;14581:14;:41::i;:::-;14578:101;;;14624:29;14639:13;;14624:14;:29::i;:::-;14675:1;14655:9;:22;14489:197;;;:::o;14694:160::-;-1:-1:-1;;;;;14800:19:0;;14775:4;14800:19;;;:11;:19;;;;;;;;14799:20;:47;;;;-1:-1:-1;;;;;;;14824:22:0;;;;;:11;:22;;;;;;;;14823:23;;14694:160;-1:-1:-1;14694:160:0:o;15175:546::-;15261:7;15317:1;15284:30;15296:6;15304:9;15284:11;:30::i;:::-;:34;15281:418;;;15330:17;15350:59;15378:30;15390:6;15398:9;15378:11;:30::i;:::-;15361:11;;15350:23;;:6;;:10;:23::i;:59::-;15465:4;15447:24;;;;:9;:24;;;;;;15330:79;;-1:-1:-1;15447:39:0;;15330:79;15447:28;:39::i;:::-;15438:4;15420:24;;;;:9;:24;;;;;;;:66;;;;15502:42;;-1:-1:-1;;;;;15502:42:0;;;;;;;15534:9;1958:25:1;;1946:2;1931:18;;1812:177;15502:42:0;;;;;;;;15558:7;;:20;15555:104;;15580:77;15598:4;6170:42;15620:36;15648:7;;15620:23;15631:11;;15620:6;:10;;:23;;;;:::i;:36::-;15580:9;:77::i;:::-;15676:21;:6;15687:9;15676:10;:21::i;:::-;15669:28;;;;;15281:418;-1:-1:-1;15707:6:0;15175:546;-1:-1:-1;;15175:546:0:o;252:82::-;310:7;327:5;331:1;327;:5;:::i;14081:400::-;14222:15;;14298:13;;14288:4;14179;7578:18;;;:9;:18;;;;;;14330:8;;14179:4;;14212:25;;;;-1:-1:-1;14270:41:0;;14330:8;;14329:9;:24;;;;-1:-1:-1;14342:11:0;;;;14329:24;:42;;;;-1:-1:-1;14357:14:0;;-1:-1:-1;;;14357:14:0;;;;14329:42;:54;;;;;14375:8;14329:54;:78;;;;-1:-1:-1;;;;;;14388:19:0;;;;;;:11;:19;;;;;;;;14387:20;14329:78;:99;;;;-1:-1:-1;14424:4:0;;-1:-1:-1;;;;;14411:17:0;;;14424:4;;14411:17;14329:99;:126;;;;;14453:1;14432:9;;:23;;14329:126;:144;;;;;14459:14;14329:144;14322:151;14081:400;-1:-1:-1;;;;;;14081:400:0:o;12214:1066::-;6091:8;:15;;-1:-1:-1;;6091:15:0;6102:4;6091:15;;;;;;12351:14:::1;::::0;12333:12:::1;::::0;12309::::1;::::0;6091:8;;12308:66:::1;::::0;12372:1:::1;::::0;12309:57:::1;::::0;12351:14;;12309:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;12308:66::-;12285:89;;12385:32;12420:42;12449:12;12420:24;12431:12;;12420:6;:10;;:24;;;;:::i;:42::-;12385:77:::0;-1:-1:-1;12473:14:0::1;12490:36;:6:::0;12385:77;12490:10:::1;:36::i;:::-;12473:53:::0;-1:-1:-1;12562:21:0::1;12594:24;12473:53:::0;12594:16:::1;:24::i;:::-;12629:20;12652:41;:21;12678:14:::0;12652:25:::1;:41::i;:::-;12629:64;;12704:19;12725:48;12742:30;12759:12;;12742;:16;;:30;;;;:::i;:::-;12725:12:::0;;:16:::1;:48::i;:::-;12704:69;;12784:29;12816;12832:12;;12816:11;:15;;:29;;;;:::i;:::-;12784:61:::0;-1:-1:-1;12859:34:0;;12856:103:::1;;12895:61;12908:24;12934:21;12895:12;:61::i;:::-;13015:12;::::0;12969:20:::1;::::0;12992:36:::1;::::0;:18:::1;:11:::0;13008:1:::1;12992:15;:18::i;:36::-;12969:59:::0;-1:-1:-1;13042:16:0;;13039:73:::1;;13060:50;::::0;6365:42:::1;::::0;13060:50;::::1;;;::::0;13097:12;;13060:50:::1;::::0;;;13097:12;6365:42;13060:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13039:73;13149:21;13184:29:::0;;13181:92:::1;;13215:56;::::0;6268:42:::1;::::0;13215:56;::::1;;;::::0;13254:16;;13215:56:::1;::::0;;;13254:16;6268:42;13215:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13181:92;-1:-1:-1::0;;6111:8:0;:16;;-1:-1:-1;;6111:16:0;;;-1:-1:-1;;;;;;;;12214:1066:0:o;14862:305::-;-1:-1:-1;;;;;14964:13:0;;14941:7;14964:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;14981:16:0;;;;;;:5;:16;;;;;;;;14964:33;14961:76;;;15006:11;;:29;;15030:3;15006:15;:29::i;:::-;14999:36;;;;14961:76;15063:4;;-1:-1:-1;;;;;15063:4:0;;;15050:17;;;;15047:38;;-1:-1:-1;15076:7:0;;15069:14;;15047:38;15108:4;;-1:-1:-1;;;;;15108:4:0;;;15098:14;;;;15095:36;;-1:-1:-1;15121:8:0;;15114:15;;15095:36;-1:-1:-1;15148:11:0;;14862:305;;;;:::o;13639:434::-;13729:16;;;13743:1;13729:16;;;;;;;;13705:21;;13729:16;;;;;;;;;;-1:-1:-1;13729:16:0;13705:40;;13774:4;13756;13761:1;13756:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13756:23:0;;;:7;;;;;;;;;;:23;;;;13800:6;;:13;;;-1:-1:-1;;;13800:13:0;;;;:6;;;;;:11;;:13;;;;;13756:7;;13800:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13790:4;13795:1;13790:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13790:23:0;;;:7;;;;;;;;;:23;13856:6;;13824:53;;13841:4;;13856:6;13865:11;13824:8;:53::i;:::-;13888:6;;:177;;-1:-1:-1;;;13888:177:0;;-1:-1:-1;;;;;13888:6:0;;;;:57;;:177;;13960:11;;13888:6;;14002:4;;14029;;14049:15;;13888:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13694:379;13639:434;:::o;13288:343::-;13401:6;;13369:53;;13386:4;;-1:-1:-1;;;;;13401:6:0;13410:11;13369:8;:53::i;:::-;13433:6;;:190;;-1:-1:-1;;;13433:190:0;;13496:4;13433:190;;;12007:34:1;12057:18;;;12050:34;;;13433:6:0;12100:18:1;;;12093:34;;;12143:18;;;12136:34;6461:42:0;12186:19:1;;;12179:44;13607:15:0;12239:19:1;;;12232:35;-1:-1:-1;;;;;13433:6:0;;;;:22;;13463:9;;11941:19:1;;13433:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13288:343;;:::o;14:592:1:-;127:6;135;143;151;159;167;175;228:3;216:9;207:7;203:23;199:33;196:53;;;245:1;242;235:12;196:53;-1:-1:-1;;268:23:1;;;338:2;323:18;;310:32;;-1:-1:-1;389:2:1;374:18;;361:32;;440:2;425:18;;412:32;;-1:-1:-1;491:3:1;476:19;;463:33;;-1:-1:-1;543:3:1;528:19;;515:33;;-1:-1:-1;595:3:1;580:19;567:33;;-1:-1:-1;14:592:1;-1:-1:-1;14:592:1:o;611:548::-;723:4;752:2;781;770:9;763:21;813:6;807:13;856:6;851:2;840:9;836:18;829:34;881:1;891:140;905:6;902:1;899:13;891:140;;;1000:14;;;996:23;;990:30;966:17;;;985:2;962:26;955:66;920:10;;891:140;;;895:3;1080:1;1075:2;1066:6;1055:9;1051:22;1047:31;1040:42;1150:2;1143;1139:7;1134:2;1126:6;1122:15;1118:29;1107:9;1103:45;1099:54;1091:62;;;;611:548;;;;:::o;1164:131::-;-1:-1:-1;;;;;1239:31:1;;1229:42;;1219:70;;1285:1;1282;1275:12;1219:70;1164:131;:::o;1300:315::-;1368:6;1376;1429:2;1417:9;1408:7;1404:23;1400:32;1397:52;;;1445:1;1442;1435:12;1397:52;1484:9;1471:23;1503:31;1528:5;1503:31;:::i;:::-;1553:5;1605:2;1590:18;;;;1577:32;;-1:-1:-1;;;1300:315:1:o;1994:456::-;2071:6;2079;2087;2140:2;2128:9;2119:7;2115:23;2111:32;2108:52;;;2156:1;2153;2146:12;2108:52;2195:9;2182:23;2214:31;2239:5;2214:31;:::i;:::-;2264:5;-1:-1:-1;2321:2:1;2306:18;;2293:32;2334:33;2293:32;2334:33;:::i;:::-;1994:456;;2386:7;;-1:-1:-1;;;2440:2:1;2425:18;;;;2412:32;;1994:456::o;2455:247::-;2514:6;2567:2;2555:9;2546:7;2542:23;2538:32;2535:52;;;2583:1;2580;2573:12;2535:52;2622:9;2609:23;2641:31;2666:5;2641:31;:::i;2896:316::-;2973:6;2981;2989;3042:2;3030:9;3021:7;3017:23;3013:32;3010:52;;;3058:1;3055;3048:12;3010:52;-1:-1:-1;;3081:23:1;;;3151:2;3136:18;;3123:32;;-1:-1:-1;3202:2:1;3187:18;;;3174:32;;2896:316;-1:-1:-1;2896:316:1:o;3217:416::-;3282:6;3290;3343:2;3331:9;3322:7;3318:23;3314:32;3311:52;;;3359:1;3356;3349:12;3311:52;3398:9;3385:23;3417:31;3442:5;3417:31;:::i;:::-;3467:5;-1:-1:-1;3524:2:1;3509:18;;3496:32;3566:15;;3559:23;3547:36;;3537:64;;3597:1;3594;3587:12;3537:64;3620:7;3610:17;;;3217:416;;;;;:::o;3846:388::-;3914:6;3922;3975:2;3963:9;3954:7;3950:23;3946:32;3943:52;;;3991:1;3988;3981:12;3943:52;4030:9;4017:23;4049:31;4074:5;4049:31;:::i;:::-;4099:5;-1:-1:-1;4156:2:1;4141:18;;4128:32;4169:33;4128:32;4169:33;:::i;4499:329::-;4701:2;4683:21;;;4740:1;4720:18;;;4713:29;-1:-1:-1;;;4773:2:1;4758:18;;4751:36;4819:2;4804:18;;4499:329::o;5246:127::-;5307:10;5302:3;5298:20;5295:1;5288:31;5338:4;5335:1;5328:15;5362:4;5359:1;5352:15;5378:168;5418:7;5484:1;5480;5476:6;5472:14;5469:1;5466:21;5461:1;5454:9;5447:17;5443:45;5440:71;;;5491:18;;:::i;:::-;-1:-1:-1;5531:9:1;;5378:168::o;5551:217::-;5591:1;5617;5607:132;;5661:10;5656:3;5652:20;5649:1;5642:31;5696:4;5693:1;5686:15;5724:4;5721:1;5714:15;5607:132;-1:-1:-1;5753:9:1;;5551:217::o;7212:128::-;7279:9;;;7300:11;;;7297:37;;;7314:18;;:::i;9685:125::-;9750:9;;;9771:10;;;9768:36;;;9784:18;;:::i;10293:127::-;10354:10;10349:3;10345:20;10342:1;10335:31;10385:4;10382:1;10375:15;10409:4;10406:1;10399:15;10425:251;10495:6;10548:2;10536:9;10527:7;10523:23;10519:32;10516:52;;;10564:1;10561;10554:12;10516:52;10596:9;10590:16;10615:31;10640:5;10615:31;:::i;10681:980::-;10943:4;10991:3;10980:9;10976:19;11022:6;11011:9;11004:25;11048:2;11086:6;11081:2;11070:9;11066:18;11059:34;11129:3;11124:2;11113:9;11109:18;11102:31;11153:6;11188;11182:13;11219:6;11211;11204:22;11257:3;11246:9;11242:19;11235:26;;11296:2;11288:6;11284:15;11270:29;;11317:1;11327:195;11341:6;11338:1;11335:13;11327:195;;;11406:13;;-1:-1:-1;;;;;11402:39:1;11390:52;;11497:15;;;;11462:12;;;;11438:1;11356:9;11327:195;;;-1:-1:-1;;;;;;;11578:32:1;;;;11573:2;11558:18;;11551:60;-1:-1:-1;;;11642:3:1;11627:19;11620:35;11539:3;10681:980;-1:-1:-1;;;10681:980:1:o;12278:306::-;12366:6;12374;12382;12435:2;12423:9;12414:7;12410:23;12406:32;12403:52;;;12451:1;12448;12441:12;12403:52;12480:9;12474:16;12464:26;;12530:2;12519:9;12515:18;12509:25;12499:35;;12574:2;12563:9;12559:18;12553:25;12543:35;;12278:306;;;;;:::o

Swarm Source

ipfs://ecd6e510fe38f67197e1a3d274417d09a1bcdafe4d1f3785f10395cdc245681f

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.