ETH Price: $3,308.34 (+2.18%)

Contract

0xb35690bB9316a22FACb7eb005029Aa3C295545DA
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve199712542024-05-28 22:09:35238 days ago1716934175IN
0xb35690bB...C295545DA
0 ETH0.000462059.92023485
Approve180754642023-09-06 5:54:23504 days ago1693979663IN
0xb35690bB...C295545DA
0 ETH0.000455289.77481509
Transfer180559142023-09-03 12:17:11506 days ago1693743431IN
0xb35690bB...C295545DA
0 ETH0.0010737212.2868478
Approve178841312023-08-10 11:17:11530 days ago1691666231IN
0xb35690bB...C295545DA
0 ETH0.0004292417.66960714
Approve178026062023-07-30 1:35:35542 days ago1690680935IN
0xb35690bB...C295545DA
0 ETH0.0007914616.99268283
Approve176824002023-07-13 5:05:23559 days ago1689224723IN
0xb35690bB...C295545DA
0 ETH0.0006716714.43939328
Approve175871372023-06-29 19:48:35572 days ago1688068115IN
0xb35690bB...C295545DA
0 ETH0.0032010569.26143501
Approve175747222023-06-28 2:03:11574 days ago1687917791IN
0xb35690bB...C295545DA
0 ETH0.0007849316.87421197
Approve175738542023-06-27 23:08:23574 days ago1687907303IN
0xb35690bB...C295545DA
0 ETH0.0006006812.91331414
Approve175734092023-06-27 21:38:47574 days ago1687901927IN
0xb35690bB...C295545DA
0 ETH0.0006087413.08655515
Approve175687322023-06-27 5:47:35575 days ago1687844855IN
0xb35690bB...C295545DA
0 ETH0.0005770412.40497803
Approve175679802023-06-27 3:16:11575 days ago1687835771IN
0xb35690bB...C295545DA
0 ETH0.0008422418.10621798
Approve175673822023-06-27 1:14:59575 days ago1687828499IN
0xb35690bB...C295545DA
0 ETH0.000586612.68915432
Approve175667912023-06-26 23:15:35575 days ago1687821335IN
0xb35690bB...C295545DA
0 ETH0.0005999112.89674944
Approve175642142023-06-26 14:32:35575 days ago1687789955IN
0xb35690bB...C295545DA
0 ETH0.0005667423.38733707
Approve175641072023-06-26 14:11:11575 days ago1687788671IN
0xb35690bB...C295545DA
0 ETH0.0007259315.60577912
Approve175640262023-06-26 13:54:59575 days ago1687787699IN
0xb35690bB...C295545DA
0 ETH0.0006873614.77655176
Approve175639532023-06-26 13:40:11575 days ago1687786811IN
0xb35690bB...C295545DA
0 ETH0.0005880512.64174136
Approve175631512023-06-26 10:57:47575 days ago1687777067IN
0xb35690bB...C295545DA
0 ETH0.0005879412.62299819
Approve175631122023-06-26 10:49:59575 days ago1687776599IN
0xb35690bB...C295545DA
0 ETH0.0005705112.32822032
Approve175630582023-06-26 10:38:23575 days ago1687775903IN
0xb35690bB...C295545DA
0 ETH0.0003332912.67634965
Approve175630042023-06-26 10:27:23575 days ago1687775243IN
0xb35690bB...C295545DA
0 ETH0.0005739112.33778459
Approve175628152023-06-26 9:49:23575 days ago1687772963IN
0xb35690bB...C295545DA
0 ETH0.0004272614.64391427
Approve175627742023-06-26 9:40:59575 days ago1687772459IN
0xb35690bB...C295545DA
0 ETH0.0005728312.31462735
Approve175625402023-06-26 8:53:59575 days ago1687769639IN
0xb35690bB...C295545DA
0 ETH0.0005918512.72343337
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
175607302023-06-26 2:46:47576 days ago1687747607
0xb35690bB...C295545DA
0.0184531 ETH
175607302023-06-26 2:46:47576 days ago1687747607
0xb35690bB...C295545DA
0.0184531 ETH
175607242023-06-26 2:45:35576 days ago1687747535
0xb35690bB...C295545DA
0.00604592 ETH
175607242023-06-26 2:45:35576 days ago1687747535
0xb35690bB...C295545DA
0.00604592 ETH
175607122023-06-26 2:43:11576 days ago1687747391
0xb35690bB...C295545DA
0.01250068 ETH
175607122023-06-26 2:43:11576 days ago1687747391
0xb35690bB...C295545DA
0.01250068 ETH
175607092023-06-26 2:42:35576 days ago1687747355
0xb35690bB...C295545DA
0.0232622 ETH
175607092023-06-26 2:42:35576 days ago1687747355
0xb35690bB...C295545DA
0.0232622 ETH
175607002023-06-26 2:40:47576 days ago1687747247
0xb35690bB...C295545DA
0.0266868 ETH
175607002023-06-26 2:40:47576 days ago1687747247
0xb35690bB...C295545DA
0.0266868 ETH
175606932023-06-26 2:39:23576 days ago1687747163
0xb35690bB...C295545DA
0.02553418 ETH
175606932023-06-26 2:39:23576 days ago1687747163
0xb35690bB...C295545DA
0.02553418 ETH
175606852023-06-26 2:37:47576 days ago1687747067
0xb35690bB...C295545DA
0.00445715 ETH
175606852023-06-26 2:37:47576 days ago1687747067
0xb35690bB...C295545DA
0.00445715 ETH
175606822023-06-26 2:37:11576 days ago1687747031
0xb35690bB...C295545DA
0.02347697 ETH
175606822023-06-26 2:37:11576 days ago1687747031
0xb35690bB...C295545DA
0.02347697 ETH
175606822023-06-26 2:37:11576 days ago1687747031
0xb35690bB...C295545DA
0.11912086 ETH
175606822023-06-26 2:37:11576 days ago1687747031
0xb35690bB...C295545DA
0.11912086 ETH
175606792023-06-26 2:36:35576 days ago1687746995
0xb35690bB...C295545DA
0.12758776 ETH
175606792023-06-26 2:36:35576 days ago1687746995
0xb35690bB...C295545DA
0.12758776 ETH
175606772023-06-26 2:36:11576 days ago1687746971
0xb35690bB...C295545DA
0.12929369 ETH
175606772023-06-26 2:36:11576 days ago1687746971
0xb35690bB...C295545DA
0.12929369 ETH
175606742023-06-26 2:35:35576 days ago1687746935
0xb35690bB...C295545DA
0.12041441 ETH
175606742023-06-26 2:35:35576 days ago1687746935
0xb35690bB...C295545DA
0.12041441 ETH
175606742023-06-26 2:35:35576 days ago1687746935
0xb35690bB...C295545DA
0.12691302 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NESS

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-26
*/

/**
    Ψ Website    https://www.ness-token.com
    Ψ Telegram   https://t.me/nessportal
    Ψ Twitter    https://twitter.com/NessErc20
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.20;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
 
interface IERC20 {
    function totalSupply() external view returns (uint256);
 
    function balanceOf(address account) external view returns (uint256);
 
    function transfer(address recipient, uint256 amount) external returns (bool);
 
    function allowance(address owner, address spender) external view returns (uint256);
 
    function approve(address spender, uint256 amount) external returns (bool);
 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
 
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
 
contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
 
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
 
    function owner() public view returns (address) {
        return _owner;
    }
 
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
 
}
 
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
 
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
 
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
 
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
 
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
 
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
 
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
 
    function factory() external pure returns (address);
 
    function WETH() external pure returns (address);
 
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
 
contract NESS is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "Ness";
    string private constant _symbol = "NESS";
    uint8 private constant _decimals = 9;
 
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 199400000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;  
    uint256 private _taxFeeOnBuy = 10;  
    uint256 private _redisFeeOnSell = 0;  
    uint256 private _taxFeeOnSell = 30;
 
    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
 
    address payable private _developmentAddress = payable(0x08CBB38f7B0d692F2ea0374F3C76b9D1fEF84bE6); 
    address payable private _marketingAddress = payable(0x08CBB38f7B0d692F2ea0374F3C76b9D1fEF84bE6);
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = 1595200 * 10**9; 
    uint256 public _maxWalletSize = 3190400 * 10**9; 
    uint256 public _swapTokensAtAmount = 2000 * 10**9;
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor() {
 
        _rOwned[_msgSender()] = _rTotal;
 
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
 
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;
 
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
 
    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 totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
 
    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }
 
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
 
    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
 
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }
 
    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
 
    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
 
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
 
        _redisFee = 0;
        _taxFee = 0;
    }
 
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
 
    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 _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
 
        if (from != owner() && to != owner()) {
 
            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
 
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
 
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
 
        bool takeFee = true;
 
        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
 
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }
 
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
 
    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }
 
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }
 
    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
 
    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
 
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
 
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
 
    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }
 
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
 
    receive() external payable {}
 
    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
 
    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }
 
    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }
 
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }
 
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
 
    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        require(redisFeeOnBuy >= 0 && redisFeeOnBuy <= 5, "Buy rewards must be between 0% and 5%");
        require(taxFeeOnBuy >= 0 && taxFeeOnBuy <= 44, "Buy tax must be between 0% and 44%");
        require(redisFeeOnSell >= 0 && redisFeeOnSell <= 5, "Sell rewards must be between 0% and 5%");
        require(taxFeeOnSell >= 0 && taxFeeOnSell <= 44, "Sell tax must be between 0% and 44%");

        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;

    }
 
    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
           _maxTxAmount = maxTxAmount;
        
    }
 
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
 
    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

}

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":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","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":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000196702c4693e583680005f1962000359565b62000026905f1962000379565b6006555f6008819055600a6009819055819055601e600b819055600c829055600d819055600e91909155600f55601080546001600160a01b03199081167308cbb38f7b0d692f2ea0374f3c76b9d1fef84be69081179092556011805490911690911790556013805461ffff60a81b1916600160b01b1790556605aad371588000601455660b55a6e2b100006015556501d1a94a2000601655348015620000ca575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600654335f9081526002602090815260409182902092909255601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa15801562000184573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001aa91906200039f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021c91906200039f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000267573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028d91906200039f565b601380546001600160a01b0319166001600160a01b039283161790555f80548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601054851684528284208054821683179055601154909416835291208054909216179055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6702c4693e583680006040516200034a91815260200190565b60405180910390a350620003ce565b5f826200037457634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156200039957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f60208284031215620003b0575f80fd5b81516001600160a01b0381168114620003c7575f80fd5b9392505050565b611b6f80620003dc5f395ff3fe60806040526004361061017e575f3560e01c80637d1db4a5116100cd578063a2a957bb11610087578063c492f04611610062578063c492f04614610448578063dd62ed3e14610467578063ea1644d5146104ab578063f2fde38b146104ca575f80fd5b8063a2a957bb146103f6578063a9059cbb14610415578063c3c8cd8014610434575f80fd5b80637d1db4a5146103465780638da5cb5b1461035b5780638f70ccf7146103775780638f9a55c01461039657806395d89b41146103ab57806398a5c315146103d7575f80fd5b8063313ce567116101385780636fc3eaec116101135780636fc3eaec146102e057806370a08231146102f4578063715018a61461031357806374010ece14610327575f80fd5b8063313ce5671461028557806349bd5a5e146102a05780636d8aa8f8146102bf575f80fd5b806306fdde0314610189578063095ea7b3146101c75780631694505e146101f657806318160ddd1461022d57806323b872dd146102515780632fd689e314610270575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b506040805180820190915260048152634e65737360e01b60208201525b6040516101be91906117ad565b60405180910390f35b3480156101d2575f80fd5b506101e66101e136600461180c565b6104e9565b60405190151581526020016101be565b348015610201575f80fd5b50601254610215906001600160a01b031681565b6040516001600160a01b0390911681526020016101be565b348015610238575f80fd5b506702c4693e583680005b6040519081526020016101be565b34801561025c575f80fd5b506101e661026b366004611836565b6104ff565b34801561027b575f80fd5b5061024360165481565b348015610290575f80fd5b50604051600981526020016101be565b3480156102ab575f80fd5b50601354610215906001600160a01b031681565b3480156102ca575f80fd5b506102de6102d9366004611888565b610566565b005b3480156102eb575f80fd5b506102de6105b6565b3480156102ff575f80fd5b5061024361030e3660046118a1565b610600565b34801561031e575f80fd5b506102de610621565b348015610332575f80fd5b506102de6103413660046118bc565b610692565b348015610351575f80fd5b5061024360145481565b348015610366575f80fd5b505f546001600160a01b0316610215565b348015610382575f80fd5b506102de610391366004611888565b6106c0565b3480156103a1575f80fd5b5061024360155481565b3480156103b6575f80fd5b506040805180820190915260048152634e45535360e01b60208201526101b1565b3480156103e2575f80fd5b506102de6103f13660046118bc565b610707565b348015610401575f80fd5b506102de6104103660046118d3565b610735565b348015610420575f80fd5b506101e661042f36600461180c565b6108ea565b34801561043f575f80fd5b506102de6108f6565b348015610453575f80fd5b506102de610462366004611902565b610948565b348015610472575f80fd5b5061024361048136600461197f565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b3480156104b6575f80fd5b506102de6104c53660046118bc565b6109e5565b3480156104d5575f80fd5b506102de6104e43660046118a1565b610a13565b5f6104f5338484610afa565b5060015b92915050565b5f61050b848484610c1d565b61055c843361055785604051806060016040528060288152602001611b12602891396001600160a01b038a165f90815260046020908152604080832033845290915290205491906110b5565b610afa565b5060019392505050565b5f546001600160a01b031633146105985760405162461bcd60e51b815260040161058f906119b6565b60405180910390fd5b60138054911515600160b01b0260ff60b01b19909216919091179055565b6010546001600160a01b0316336001600160a01b031614806105eb57506011546001600160a01b0316336001600160a01b0316145b6105f3575f80fd5b476105fd816110ed565b50565b6001600160a01b0381165f908152600260205260408120546104f990611128565b5f546001600160a01b0316331461064a5760405162461bcd60e51b815260040161058f906119b6565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106bb5760405162461bcd60e51b815260040161058f906119b6565b601455565b5f546001600160a01b031633146106e95760405162461bcd60e51b815260040161058f906119b6565b60138054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b031633146107305760405162461bcd60e51b815260040161058f906119b6565b601655565b5f546001600160a01b0316331461075e5760405162461bcd60e51b815260040161058f906119b6565b60058411156107bd5760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420352560d81b606482015260840161058f565b602c8211156108195760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642034604482015261342560f01b606482015260840161058f565b60058311156108795760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420352560d01b606482015260840161058f565b602c8111156108d65760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526234342560e81b606482015260840161058f565b600893909355600a91909155600955600b55565b5f6104f5338484610c1d565b6010546001600160a01b0316336001600160a01b0316148061092b57506011546001600160a01b0316336001600160a01b0316145b610933575f80fd5b5f61093d30610600565b90506105fd816111aa565b5f546001600160a01b031633146109715760405162461bcd60e51b815260040161058f906119b6565b5f5b828110156109df578160055f868685818110610991576109916119eb565b90506020020160208101906109a691906118a1565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055806109d781611a13565b915050610973565b50505050565b5f546001600160a01b03163314610a0e5760405162461bcd60e51b815260040161058f906119b6565b601555565b5f546001600160a01b03163314610a3c5760405162461bcd60e51b815260040161058f906119b6565b6001600160a01b038116610aa15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161058f565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610b5c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161058f565b6001600160a01b038216610bbd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161058f565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c815760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161058f565b6001600160a01b038216610ce35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161058f565b5f8111610d445760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161058f565b5f546001600160a01b03848116911614801590610d6e57505f546001600160a01b03838116911614155b15610fb157601354600160a01b900460ff16610e06575f546001600160a01b03848116911614610e065760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161058f565b601454811115610e585760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161058f565b6013546001600160a01b03838116911614610edd5760155481610e7a84610600565b610e849190611a2b565b10610edd5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161058f565b5f610ee730610600565b601654601454919250821015908210610f005760145491505b808015610f175750601354600160a81b900460ff16155b8015610f3157506013546001600160a01b03868116911614155b8015610f465750601354600160b01b900460ff165b8015610f6a57506001600160a01b0385165f9081526005602052604090205460ff16155b8015610f8e57506001600160a01b0384165f9081526005602052604090205460ff16155b15610fae57610f9c826111aa565b478015610fac57610fac476110ed565b505b50505b6001600160a01b0383165f9081526005602052604090205460019060ff1680610ff157506001600160a01b0383165f9081526005602052604090205460ff165b8061102357506013546001600160a01b0385811691161480159061102357506013546001600160a01b03848116911614155b1561102f57505f6110a9565b6013546001600160a01b03858116911614801561105a57506012546001600160a01b03848116911614155b1561106c57600854600c55600954600d555b6013546001600160a01b03848116911614801561109757506012546001600160a01b03858116911614155b156110a957600a54600c55600b54600d555b6109df8484848461131a565b5f81848411156110d85760405162461bcd60e51b815260040161058f91906117ad565b505f6110e48486611a3e565b95945050505050565b6011546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611124573d5f803e3d5ffd5b5050565b5f60065482111561118e5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161058f565b5f611197611348565b90506111a38382611369565b9392505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111f0576111f06119eb565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611247573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061126b9190611a51565b8160018151811061127e5761127e6119eb565b6001600160a01b0392831660209182029290920101526012546112a49130911684610afa565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906112dc9085905f90869030904290600401611a6c565b5f604051808303815f87803b1580156112f3575f80fd5b505af1158015611305573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b80611327576113276113aa565b6113328484846113d7565b806109df576109df600e54600c55600f54600d55565b5f805f6113536114c8565b90925090506113628282611369565b9250505090565b5f6111a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611507565b600c541580156113ba5750600d54155b156113c157565b600c8054600e55600d8054600f555f9182905555565b5f805f805f806113e687611533565b6001600160a01b038f165f90815260026020526040902054959b509399509197509550935091506114179087611588565b6001600160a01b03808b165f9081526002602052604080822093909355908a168152205461144590866115c9565b6001600160a01b0389165f9081526002602052604090205561146681611627565b611470848361166d565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114b591815260200190565b60405180910390a3505050505050505050565b6006545f9081906702c4693e583680006114e28282611369565b8210156114fe575050600654926702c4693e5836800092509050565b90939092509050565b5f81836115275760405162461bcd60e51b815260040161058f91906117ad565b505f6110e48486611adb565b5f805f805f805f805f61154b8a600c54600d54611691565b9250925092505f61155a611348565b90505f805f61156b8e8787876116e3565b919e509c509a509598509396509194505050505091939550919395565b5f6111a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110b5565b5f806115d58385611a2b565b9050838110156111a35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161058f565b5f611630611348565b90505f61163d838361172f565b305f9081526002602052604090205490915061165990826115c9565b305f90815260026020526040902055505050565b60065461167a9083611588565b60065560075461168a90826115c9565b6007555050565b5f8080806116aa60646116a4898961172f565b90611369565b90505f6116bc60646116a48a8961172f565b90505f6116d3826116cd8b86611588565b90611588565b9992985090965090945050505050565b5f8080806116f1888661172f565b90505f6116fe888761172f565b90505f61170b888861172f565b90505f61171c826116cd8686611588565b939b939a50919850919650505050505050565b5f825f0361173e57505f6104f9565b5f6117498385611afa565b9050826117568583611adb565b146111a35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161058f565b5f6020808352835180828501525f5b818110156117d8578581018301518582016040015282016117bc565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105fd575f80fd5b5f806040838503121561181d575f80fd5b8235611828816117f8565b946020939093013593505050565b5f805f60608486031215611848575f80fd5b8335611853816117f8565b92506020840135611863816117f8565b929592945050506040919091013590565b80358015158114611883575f80fd5b919050565b5f60208284031215611898575f80fd5b6111a382611874565b5f602082840312156118b1575f80fd5b81356111a3816117f8565b5f602082840312156118cc575f80fd5b5035919050565b5f805f80608085870312156118e6575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f60408486031215611914575f80fd5b833567ffffffffffffffff8082111561192b575f80fd5b818601915086601f83011261193e575f80fd5b81358181111561194c575f80fd5b8760208260051b8501011115611960575f80fd5b6020928301955093506119769186019050611874565b90509250925092565b5f8060408385031215611990575f80fd5b823561199b816117f8565b915060208301356119ab816117f8565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611a2457611a246119ff565b5060010190565b808201808211156104f9576104f96119ff565b818103818111156104f9576104f96119ff565b5f60208284031215611a61575f80fd5b81516111a3816117f8565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611aba5784516001600160a01b031683529383019391830191600101611a95565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611af557634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176104f9576104f96119ff56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220504f1c06447ea03e365133fe91e7030c31cba5723ad0b4848fd57af2b6ef0cdd64736f6c63430008140033

Deployed Bytecode

0x60806040526004361061017e575f3560e01c80637d1db4a5116100cd578063a2a957bb11610087578063c492f04611610062578063c492f04614610448578063dd62ed3e14610467578063ea1644d5146104ab578063f2fde38b146104ca575f80fd5b8063a2a957bb146103f6578063a9059cbb14610415578063c3c8cd8014610434575f80fd5b80637d1db4a5146103465780638da5cb5b1461035b5780638f70ccf7146103775780638f9a55c01461039657806395d89b41146103ab57806398a5c315146103d7575f80fd5b8063313ce567116101385780636fc3eaec116101135780636fc3eaec146102e057806370a08231146102f4578063715018a61461031357806374010ece14610327575f80fd5b8063313ce5671461028557806349bd5a5e146102a05780636d8aa8f8146102bf575f80fd5b806306fdde0314610189578063095ea7b3146101c75780631694505e146101f657806318160ddd1461022d57806323b872dd146102515780632fd689e314610270575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b506040805180820190915260048152634e65737360e01b60208201525b6040516101be91906117ad565b60405180910390f35b3480156101d2575f80fd5b506101e66101e136600461180c565b6104e9565b60405190151581526020016101be565b348015610201575f80fd5b50601254610215906001600160a01b031681565b6040516001600160a01b0390911681526020016101be565b348015610238575f80fd5b506702c4693e583680005b6040519081526020016101be565b34801561025c575f80fd5b506101e661026b366004611836565b6104ff565b34801561027b575f80fd5b5061024360165481565b348015610290575f80fd5b50604051600981526020016101be565b3480156102ab575f80fd5b50601354610215906001600160a01b031681565b3480156102ca575f80fd5b506102de6102d9366004611888565b610566565b005b3480156102eb575f80fd5b506102de6105b6565b3480156102ff575f80fd5b5061024361030e3660046118a1565b610600565b34801561031e575f80fd5b506102de610621565b348015610332575f80fd5b506102de6103413660046118bc565b610692565b348015610351575f80fd5b5061024360145481565b348015610366575f80fd5b505f546001600160a01b0316610215565b348015610382575f80fd5b506102de610391366004611888565b6106c0565b3480156103a1575f80fd5b5061024360155481565b3480156103b6575f80fd5b506040805180820190915260048152634e45535360e01b60208201526101b1565b3480156103e2575f80fd5b506102de6103f13660046118bc565b610707565b348015610401575f80fd5b506102de6104103660046118d3565b610735565b348015610420575f80fd5b506101e661042f36600461180c565b6108ea565b34801561043f575f80fd5b506102de6108f6565b348015610453575f80fd5b506102de610462366004611902565b610948565b348015610472575f80fd5b5061024361048136600461197f565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b3480156104b6575f80fd5b506102de6104c53660046118bc565b6109e5565b3480156104d5575f80fd5b506102de6104e43660046118a1565b610a13565b5f6104f5338484610afa565b5060015b92915050565b5f61050b848484610c1d565b61055c843361055785604051806060016040528060288152602001611b12602891396001600160a01b038a165f90815260046020908152604080832033845290915290205491906110b5565b610afa565b5060019392505050565b5f546001600160a01b031633146105985760405162461bcd60e51b815260040161058f906119b6565b60405180910390fd5b60138054911515600160b01b0260ff60b01b19909216919091179055565b6010546001600160a01b0316336001600160a01b031614806105eb57506011546001600160a01b0316336001600160a01b0316145b6105f3575f80fd5b476105fd816110ed565b50565b6001600160a01b0381165f908152600260205260408120546104f990611128565b5f546001600160a01b0316331461064a5760405162461bcd60e51b815260040161058f906119b6565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106bb5760405162461bcd60e51b815260040161058f906119b6565b601455565b5f546001600160a01b031633146106e95760405162461bcd60e51b815260040161058f906119b6565b60138054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b031633146107305760405162461bcd60e51b815260040161058f906119b6565b601655565b5f546001600160a01b0316331461075e5760405162461bcd60e51b815260040161058f906119b6565b60058411156107bd5760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420352560d81b606482015260840161058f565b602c8211156108195760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642034604482015261342560f01b606482015260840161058f565b60058311156108795760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420352560d01b606482015260840161058f565b602c8111156108d65760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526234342560e81b606482015260840161058f565b600893909355600a91909155600955600b55565b5f6104f5338484610c1d565b6010546001600160a01b0316336001600160a01b0316148061092b57506011546001600160a01b0316336001600160a01b0316145b610933575f80fd5b5f61093d30610600565b90506105fd816111aa565b5f546001600160a01b031633146109715760405162461bcd60e51b815260040161058f906119b6565b5f5b828110156109df578160055f868685818110610991576109916119eb565b90506020020160208101906109a691906118a1565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055806109d781611a13565b915050610973565b50505050565b5f546001600160a01b03163314610a0e5760405162461bcd60e51b815260040161058f906119b6565b601555565b5f546001600160a01b03163314610a3c5760405162461bcd60e51b815260040161058f906119b6565b6001600160a01b038116610aa15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161058f565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610b5c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161058f565b6001600160a01b038216610bbd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161058f565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c815760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161058f565b6001600160a01b038216610ce35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161058f565b5f8111610d445760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161058f565b5f546001600160a01b03848116911614801590610d6e57505f546001600160a01b03838116911614155b15610fb157601354600160a01b900460ff16610e06575f546001600160a01b03848116911614610e065760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161058f565b601454811115610e585760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161058f565b6013546001600160a01b03838116911614610edd5760155481610e7a84610600565b610e849190611a2b565b10610edd5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161058f565b5f610ee730610600565b601654601454919250821015908210610f005760145491505b808015610f175750601354600160a81b900460ff16155b8015610f3157506013546001600160a01b03868116911614155b8015610f465750601354600160b01b900460ff165b8015610f6a57506001600160a01b0385165f9081526005602052604090205460ff16155b8015610f8e57506001600160a01b0384165f9081526005602052604090205460ff16155b15610fae57610f9c826111aa565b478015610fac57610fac476110ed565b505b50505b6001600160a01b0383165f9081526005602052604090205460019060ff1680610ff157506001600160a01b0383165f9081526005602052604090205460ff165b8061102357506013546001600160a01b0385811691161480159061102357506013546001600160a01b03848116911614155b1561102f57505f6110a9565b6013546001600160a01b03858116911614801561105a57506012546001600160a01b03848116911614155b1561106c57600854600c55600954600d555b6013546001600160a01b03848116911614801561109757506012546001600160a01b03858116911614155b156110a957600a54600c55600b54600d555b6109df8484848461131a565b5f81848411156110d85760405162461bcd60e51b815260040161058f91906117ad565b505f6110e48486611a3e565b95945050505050565b6011546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611124573d5f803e3d5ffd5b5050565b5f60065482111561118e5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161058f565b5f611197611348565b90506111a38382611369565b9392505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111f0576111f06119eb565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611247573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061126b9190611a51565b8160018151811061127e5761127e6119eb565b6001600160a01b0392831660209182029290920101526012546112a49130911684610afa565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906112dc9085905f90869030904290600401611a6c565b5f604051808303815f87803b1580156112f3575f80fd5b505af1158015611305573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b80611327576113276113aa565b6113328484846113d7565b806109df576109df600e54600c55600f54600d55565b5f805f6113536114c8565b90925090506113628282611369565b9250505090565b5f6111a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611507565b600c541580156113ba5750600d54155b156113c157565b600c8054600e55600d8054600f555f9182905555565b5f805f805f806113e687611533565b6001600160a01b038f165f90815260026020526040902054959b509399509197509550935091506114179087611588565b6001600160a01b03808b165f9081526002602052604080822093909355908a168152205461144590866115c9565b6001600160a01b0389165f9081526002602052604090205561146681611627565b611470848361166d565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114b591815260200190565b60405180910390a3505050505050505050565b6006545f9081906702c4693e583680006114e28282611369565b8210156114fe575050600654926702c4693e5836800092509050565b90939092509050565b5f81836115275760405162461bcd60e51b815260040161058f91906117ad565b505f6110e48486611adb565b5f805f805f805f805f61154b8a600c54600d54611691565b9250925092505f61155a611348565b90505f805f61156b8e8787876116e3565b919e509c509a509598509396509194505050505091939550919395565b5f6111a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110b5565b5f806115d58385611a2b565b9050838110156111a35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161058f565b5f611630611348565b90505f61163d838361172f565b305f9081526002602052604090205490915061165990826115c9565b305f90815260026020526040902055505050565b60065461167a9083611588565b60065560075461168a90826115c9565b6007555050565b5f8080806116aa60646116a4898961172f565b90611369565b90505f6116bc60646116a48a8961172f565b90505f6116d3826116cd8b86611588565b90611588565b9992985090965090945050505050565b5f8080806116f1888661172f565b90505f6116fe888761172f565b90505f61170b888861172f565b90505f61171c826116cd8686611588565b939b939a50919850919650505050505050565b5f825f0361173e57505f6104f9565b5f6117498385611afa565b9050826117568583611adb565b146111a35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161058f565b5f6020808352835180828501525f5b818110156117d8578581018301518582016040015282016117bc565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105fd575f80fd5b5f806040838503121561181d575f80fd5b8235611828816117f8565b946020939093013593505050565b5f805f60608486031215611848575f80fd5b8335611853816117f8565b92506020840135611863816117f8565b929592945050506040919091013590565b80358015158114611883575f80fd5b919050565b5f60208284031215611898575f80fd5b6111a382611874565b5f602082840312156118b1575f80fd5b81356111a3816117f8565b5f602082840312156118cc575f80fd5b5035919050565b5f805f80608085870312156118e6575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f60408486031215611914575f80fd5b833567ffffffffffffffff8082111561192b575f80fd5b818601915086601f83011261193e575f80fd5b81358181111561194c575f80fd5b8760208260051b8501011115611960575f80fd5b6020928301955093506119769186019050611874565b90509250925092565b5f8060408385031215611990575f80fd5b823561199b816117f8565b915060208301356119ab816117f8565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611a2457611a246119ff565b5060010190565b808201808211156104f9576104f96119ff565b818103818111156104f9576104f96119ff565b5f60208284031215611a61575f80fd5b81516111a3816117f8565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611aba5784516001600160a01b031683529383019391830191600101611a95565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611af557634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176104f9576104f96119ff56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220504f1c06447ea03e365133fe91e7030c31cba5723ad0b4848fd57af2b6ef0cdd64736f6c63430008140033

Deployed Bytecode Sourcemap

4245:13515:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6661:83;;;;;;;;;;-1:-1:-1;6731:5:0;;;;;;;;;;;;-1:-1:-1;;;6731:5:0;;;;6661:83;;;;;;;:::i;:::-;;;;;;;;7593:193;;;;;;;;;;-1:-1:-1;7593:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7593:193:0;1023:187:1;5505:41:0;;;;;;;;;;-1:-1:-1;5505:41:0;;;;-1:-1:-1;;;;;5505:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;5505:41:0;1215:229:1;6941:95:0;;;;;;;;;;-1:-1:-1;4787:17:0;6941:95;;;1595:25:1;;;1583:2;1568:18;6941:95:0;1449:177:1;7795:446:0;;;;;;;;;;-1:-1:-1;7795:446:0;;;;;:::i;:::-;;:::i;5805:49::-;;;;;;;;;;;;;;;;6849:83;;;;;;;;;;-1:-1:-1;6849:83:0;;4460:1;2234:36:1;;2222:2;2207:18;6849:83:0;2092:184:1;5553:28:0;;;;;;;;;;-1:-1:-1;5553:28:0;;;;-1:-1:-1;;;;;5553:28:0;;;17126:101;;;;;;;;;;-1:-1:-1;17126:101:0;;;;;:::i;:::-;;:::i;:::-;;12536:235;;;;;;;;;;;;;:::i;7045:138::-;;;;;;;;;;-1:-1:-1;7045:138:0;;;;;:::i;:::-;;:::i;1718:148::-;;;;;;;;;;;;;:::i;17267:121::-;;;;;;;;;;-1:-1:-1;17267:121:0;;;;;:::i;:::-;;:::i;5697:45::-;;;;;;;;;;;;;;;;1502:79;;;;;;;;;;-1:-1:-1;1540:7:0;1567:6;-1:-1:-1;;;;;1567:6:0;1502:79;;12181:101;;;;;;;;;;-1:-1:-1;12181:101:0;;;;;:::i;:::-;;:::i;5750:47::-;;;;;;;;;;;;;;;;6753:87;;;;;;;;;;-1:-1:-1;6825:7:0;;;;;;;;;;;;-1:-1:-1;;;6825:7:0;;;;6753:87;;16934:139;;;;;;;;;;-1:-1:-1;16934:139:0;;;;;:::i;:::-;;:::i;16188:693::-;;;;;;;;;;-1:-1:-1;16188:693:0;;;;;:::i;:::-;;:::i;7192:199::-;;;;;;;;;;-1:-1:-1;7192:199:0;;;;;:::i;:::-;;:::i;12291:236::-;;;;;;;;;;;;;:::i;17521:234::-;;;;;;;;;;-1:-1:-1;17521:234:0;;;;;:::i;:::-;;:::i;7400:184::-;;;;;;;;;;-1:-1:-1;7400:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7549:18:0;;;7517:7;7549:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7400:184;17397:115;;;;;;;;;;-1:-1:-1;17397:115:0;;;;;:::i;:::-;;:::i;1875:244::-;;;;;;;;;;-1:-1:-1;1875:244:0;;;;;:::i;:::-;;:::i;7593:193::-;7695:4;7717:39;331:10;7740:7;7749:6;7717:8;:39::i;:::-;-1:-1:-1;7774:4:0;7593:193;;;;;:::o;7795:446::-;7927:4;7944:36;7954:6;7962:9;7973:6;7944:9;:36::i;:::-;7991:220;8014:6;331:10;8062:138;8118:6;8062:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8062:19:0;;;;;;:11;:19;;;;;;;;331:10;8062:33;;;;;;;;;;:37;:138::i;:::-;7991:8;:220::i;:::-;-1:-1:-1;8229:4:0;7795:446;;;;;:::o;17126:101::-;1630:6;;-1:-1:-1;;;;;1630:6:0;331:10;1630:22;1622:67;;;;-1:-1:-1;;;1622:67:0;;;;;;;:::i;:::-;;;;;;;;;17193:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17193:26:0::1;-1:-1:-1::0;;;;17193:26:0;;::::1;::::0;;;::::1;::::0;;17126:101::o;12536:235::-;12602:19;;-1:-1:-1;;;;;12602:19:0;331:10;-1:-1:-1;;;;;12586:35:0;;:72;;;-1:-1:-1;12641:17:0;;-1:-1:-1;;;;;12641:17:0;331:10;-1:-1:-1;;;;;12625:33:0;;12586:72;12578:81;;;;;;12699:21;12731:32;12699:21;12731:12;:32::i;:::-;12567:204;12536:235::o;7045:138::-;-1:-1:-1;;;;;7158:16:0;;7111:7;7158:16;;;:7;:16;;;;;;7138:37;;:19;:37::i;1718:148::-;1630:6;;-1:-1:-1;;;;;1630:6:0;331:10;1630:22;1622:67;;;;-1:-1:-1;;;1622:67:0;;;;;;;:::i;:::-;1825:1:::1;1809:6:::0;;1788:40:::1;::::0;-1:-1:-1;;;;;1809:6:0;;::::1;::::0;1788:40:::1;::::0;1825:1;;1788:40:::1;1856:1;1839:19:::0;;-1:-1:-1;;;;;;1839:19:0::1;::::0;;1718:148::o;17267:121::-;1630:6;;-1:-1:-1;;;;;1630:6:0;331:10;1630:22;1622:67;;;;-1:-1:-1;;;1622:67:0;;;;;;;:::i;:::-;17344:12:::1;:26:::0;17267:121::o;12181:101::-;1630:6;;-1:-1:-1;;;;;1630:6:0;331:10;1630:22;1622:67;;;;-1:-1:-1;;;1622:67:0;;;;;;;:::i;:::-;12248:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12248:26:0::1;-1:-1:-1::0;;;;12248:26:0;;::::1;::::0;;;::::1;::::0;;12181:101::o;16934:139::-;1630:6;;-1:-1:-1;;;;;1630:6:0;331:10;1630:22;1622:67;;;;-1:-1:-1;;;1622:67:0;;;;;;;:::i;:::-;17025:19:::1;:40:::0;16934:139::o;16188:693::-;1630:6;;-1:-1:-1;;;;;1630:6:0;331:10;1630:22;1622:67;;;;-1:-1:-1;;;1622:67:0;;;;;;;:::i;:::-;16369:1:::1;16352:13;:18;;16322:90;;;::::0;-1:-1:-1;;;16322:90:0;;5316:2:1;16322:90:0::1;::::0;::::1;5298:21:1::0;5355:2;5335:18;;;5328:30;5394:34;5374:18;;;5367:62;-1:-1:-1;;;5445:18:1;;;5438:35;5490:19;;16322:90:0::1;5114:401:1::0;16322:90:0::1;16466:2;16451:11;:17;;16423:84;;;::::0;-1:-1:-1;;;16423:84:0;;5722:2:1;16423:84:0::1;::::0;::::1;5704:21:1::0;5761:2;5741:18;;;5734:30;5800:34;5780:18;;;5773:62;-1:-1:-1;;;5851:18:1;;;5844:32;5893:19;;16423:84:0::1;5520:398:1::0;16423:84:0::1;16567:1;16549:14;:19;;16518:93;;;::::0;-1:-1:-1;;;16518:93:0;;6125:2:1;16518:93:0::1;::::0;::::1;6107:21:1::0;6164:2;6144:18;;;6137:30;6203:34;6183:18;;;6176:62;-1:-1:-1;;;6254:18:1;;;6247:36;6300:19;;16518:93:0::1;5923:402:1::0;16518:93:0::1;16667:2;16651:12;:18;;16622:87;;;::::0;-1:-1:-1;;;16622:87:0;;6532:2:1;16622:87:0::1;::::0;::::1;6514:21:1::0;6571:2;6551:18;;;6544:30;6610:34;6590:18;;;6583:62;-1:-1:-1;;;6661:18:1;;;6654:33;6704:19;;16622:87:0::1;6330:399:1::0;16622:87:0::1;16722:14;:30:::0;;;;16763:15:::1;:32:::0;;;;16806:12:::1;:26:::0;16843:13:::1;:28:::0;16188:693::o;7192:199::-;7297:4;7319:42;331:10;7343:9;7354:6;7319:9;:42::i;12291:236::-;12357:19;;-1:-1:-1;;;;;12357:19:0;331:10;-1:-1:-1;;;;;12341:35:0;;:72;;;-1:-1:-1;12396:17:0;;-1:-1:-1;;;;;12396:17:0;331:10;-1:-1:-1;;;;;12380:33:0;;12341:72;12333:81;;;;;;12425:23;12451:24;12469:4;12451:9;:24::i;:::-;12425:50;;12486:33;12503:15;12486:16;:33::i;17521:234::-;1630:6;;-1:-1:-1;;;;;1630:6:0;331:10;1630:22;1622:67;;;;-1:-1:-1;;;1622:67:0;;;;;;;:::i;:::-;17638:9:::1;17634:114;17653:19:::0;;::::1;17634:114;;;17728:8;17694:18;:31;17713:8;;17722:1;17713:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17694:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17694:31:0;:42;;-1:-1:-1;;17694:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17674:3;::::1;::::0;::::1;:::i;:::-;;;;17634:114;;;;17521:234:::0;;;:::o;17397:115::-;1630:6;;-1:-1:-1;;;;;1630:6:0;331:10;1630:22;1622:67;;;;-1:-1:-1;;;1622:67:0;;;;;;;:::i;:::-;17474:14:::1;:30:::0;17397:115::o;1875:244::-;1630:6;;-1:-1:-1;;;;;1630:6:0;331:10;1630:22;1622:67;;;;-1:-1:-1;;;1622:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1964:22:0;::::1;1956:73;;;::::0;-1:-1:-1;;;1956:73:0;;7340:2:1;1956:73:0::1;::::0;::::1;7322:21:1::0;7379:2;7359:18;;;7352:30;7418:34;7398:18;;;7391:62;-1:-1:-1;;;7469:18:1;;;7462:36;7515:19;;1956:73:0::1;7138:402:1::0;1956:73:0::1;2066:6;::::0;;2045:38:::1;::::0;-1:-1:-1;;;;;2045:38:0;;::::1;::::0;2066:6;::::1;::::0;2045:38:::1;::::0;::::1;2094:6;:17:::0;;-1:-1:-1;;;;;;2094:17:0::1;-1:-1:-1::0;;;;;2094:17:0;;;::::1;::::0;;;::::1;::::0;;1875:244::o;8938:369::-;-1:-1:-1;;;;;9065:19:0;;9057:68;;;;-1:-1:-1;;;9057:68:0;;7747:2:1;9057:68:0;;;7729:21:1;7786:2;7766:18;;;7759:30;7825:34;7805:18;;;7798:62;-1:-1:-1;;;7876:18:1;;;7869:34;7920:19;;9057:68:0;7545:400:1;9057:68:0;-1:-1:-1;;;;;9144:21:0;;9136:68;;;;-1:-1:-1;;;9136:68:0;;8152:2:1;9136:68:0;;;8134:21:1;8191:2;8171:18;;;8164:30;8230:34;8210:18;;;8203:62;-1:-1:-1;;;8281:18:1;;;8274:32;8323:19;;9136:68:0;7950:398:1;9136:68:0;-1:-1:-1;;;;;9215:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9267:32;;1595:25:1;;;9267:32:0;;1568:18:1;9267:32:0;;;;;;;8938:369;;;:::o;9316:2256::-;-1:-1:-1;;;;;9438:18:0;;9430:68;;;;-1:-1:-1;;;9430:68:0;;8555:2:1;9430:68:0;;;8537:21:1;8594:2;8574:18;;;8567:30;8633:34;8613:18;;;8606:62;-1:-1:-1;;;8684:18:1;;;8677:35;8729:19;;9430:68:0;8353:401:1;9430:68:0;-1:-1:-1;;;;;9517:16:0;;9509:64;;;;-1:-1:-1;;;9509:64:0;;8961:2:1;9509:64:0;;;8943:21:1;9000:2;8980:18;;;8973:30;9039:34;9019:18;;;9012:62;-1:-1:-1;;;9090:18:1;;;9083:33;9133:19;;9509:64:0;8759:399:1;9509:64:0;9601:1;9592:6;:10;9584:64;;;;-1:-1:-1;;;9584:64:0;;9365:2:1;9584:64:0;;;9347:21:1;9404:2;9384:18;;;9377:30;9443:34;9423:18;;;9416:62;-1:-1:-1;;;9494:18:1;;;9487:39;9543:19;;9584:64:0;9163:405:1;9584:64:0;1540:7;1567:6;-1:-1:-1;;;;;9666:15:0;;;1567:6;;9666:15;;;;:32;;-1:-1:-1;1540:7:0;1567:6;-1:-1:-1;;;;;9685:13:0;;;1567:6;;9685:13;;9666:32;9662:1178;;;9756:11;;-1:-1:-1;;;9756:11:0;;;;9751:144;;1540:7;1567:6;-1:-1:-1;;;;;9796:15:0;;;1567:6;;9796:15;9788:91;;;;-1:-1:-1;;;9788:91:0;;9775:2:1;9788:91:0;;;9757:21:1;9814:2;9794:18;;;9787:30;9853:34;9833:18;;;9826:62;9924:33;9904:18;;;9897:61;9975:19;;9788:91:0;9573:427:1;9788:91:0;9930:12;;9920:6;:22;;9912:63;;;;-1:-1:-1;;;9912:63:0;;10207:2:1;9912:63:0;;;10189:21:1;10246:2;10226:18;;;10219:30;10285;10265:18;;;10258:58;10333:18;;9912:63:0;10005:352:1;9912:63:0;10002:13;;-1:-1:-1;;;;;9996:19:0;;;10002:13;;9996:19;9993:146;;10069:14;;10060:6;10044:13;10054:2;10044:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10036:87;;;;-1:-1:-1;;;10036:87:0;;10694:2:1;10036:87:0;;;10676:21:1;10733:2;10713:18;;;10706:30;10772:34;10752:18;;;10745:62;-1:-1:-1;;;10823:18:1;;;10816:33;10866:19;;10036:87:0;10492:399:1;10036:87:0;10156:28;10187:24;10205:4;10187:9;:24::i;:::-;10265:19;;10329:12;;10156:55;;-1:-1:-1;10241:43:0;;;;10305:36;;10302:124;;10398:12;;10375:35;;10302:124;10447:7;:18;;;;-1:-1:-1;10459:6:0;;-1:-1:-1;;;10459:6:0;;;;10458:7;10447:18;:43;;;;-1:-1:-1;10477:13:0;;-1:-1:-1;;;;;10469:21:0;;;10477:13;;10469:21;;10447:43;:58;;;;-1:-1:-1;10494:11:0;;-1:-1:-1;;;10494:11:0;;;;10447:58;:87;;;;-1:-1:-1;;;;;;10510:24:0;;;;;;:18;:24;;;;;;;;10509:25;10447:87;:114;;;;-1:-1:-1;;;;;;10539:22:0;;;;;;:18;:22;;;;;;;;10538:23;10447:114;10443:386;;;10582:38;10599:20;10582:16;:38::i;:::-;10668:21;10712:22;;10708:106;;10759:35;10772:21;10759:12;:35::i;:::-;10563:266;10443:386;9700:1140;;9662:1178;-1:-1:-1;;;;;10918:24:0;;10853:12;10918:24;;;:18;:24;;;;;;10868:4;;10918:24;;;:50;;-1:-1:-1;;;;;;10946:22:0;;;;;;:18;:22;;;;;;;;10918:50;10917:102;;;-1:-1:-1;10982:13:0;;-1:-1:-1;;;;;10974:21:0;;;10982:13;;10974:21;;;;:44;;-1:-1:-1;11005:13:0;;-1:-1:-1;;;;;10999:19:0;;;11005:13;;10999:19;;10974:44;10913:597;;;-1:-1:-1;11046:5:0;10913:597;;;11130:13;;-1:-1:-1;;;;;11122:21:0;;;11130:13;;11122:21;:55;;;;-1:-1:-1;11161:15:0;;-1:-1:-1;;;;;11147:30:0;;;11161:15;;11147:30;;11122:55;11119:162;;;11210:14;;11198:9;:26;11253:12;;11243:7;:22;11119:162;11341:13;;-1:-1:-1;;;;;11335:19:0;;;11341:13;;11335:19;:55;;;;-1:-1:-1;11374:15:0;;-1:-1:-1;;;;;11358:32:0;;;11374:15;;11358:32;;11335:55;11331:165;;;11423:15;;11411:9;:27;11467:13;;11457:7;:23;11331:165;11523:41;11538:4;11544:2;11548:6;11556:7;11523:14;:41::i;2487:224::-;2607:7;2643:12;2635:6;;;;2627:29;;;;-1:-1:-1;;;2627:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2667:9:0;2679:5;2683:1;2679;:5;:::i;:::-;2667:17;2487:224;-1:-1:-1;;;;;2487:224:0:o;12073:99::-;12130:17;;:34;;-1:-1:-1;;;;;12130:17:0;;;;:34;;;;;12157:6;;12130:17;:34;:17;:34;12157:6;12130:17;:34;;;;;;;;;;;;;;;;;;;;;12073:99;:::o;8250:323::-;8345:7;8403;;8392;:18;;8370:110;;;;-1:-1:-1;;;8370:110:0;;11231:2:1;8370:110:0;;;11213:21:1;11270:2;11250:18;;;11243:30;11309:34;11289:18;;;11282:62;-1:-1:-1;;;11360:18:1;;;11353:40;11410:19;;8370:110:0;11029:406:1;8370:110:0;8491:19;8513:10;:8;:10::i;:::-;8491:32;-1:-1:-1;8541:24:0;:7;8491:32;8541:11;:24::i;:::-;8534:31;8250:323;-1:-1:-1;;;8250:323:0:o;11581:483::-;5949:6;:13;;-1:-1:-1;;;;5949:13:0;-1:-1:-1;;;5949:13:0;;;11683:16:::1;::::0;;11697:1:::1;11683:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11683:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11683:16:0::1;11659:40;;11728:4;11710;11715:1;11710:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11710:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11754:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11754:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11710:7;;11754:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11744:4;11749:1;11744:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11744:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11819:15:::1;::::0;11787:62:::1;::::0;11804:4:::1;::::0;11819:15:::1;11837:11:::0;11787:8:::1;:62::i;:::-;11860:15;::::0;:196:::1;::::0;-1:-1:-1;;;11860:196:0;;-1:-1:-1;;;;;11860:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11941:11;;11860:15:::1;::::0;11983:4;;12010::::1;::::0;12030:15:::1;::::0;11860:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5985:6:0;:14;;-1:-1:-1;;;;5985:14:0;;;-1:-1:-1;;;;11581:483:0:o;12780:282::-;12936:7;12931:28;;12945:14;:12;:14::i;:::-;12970:44;12988:6;12996:9;13007:6;12970:17;:44::i;:::-;13030:7;13025:29;;13039:15;8868:17;;8856:9;:29;8906:15;;8896:7;:25;8812:117;15749:164;15791:7;15812:15;15829;15848:19;:17;:19::i;:::-;15811:56;;-1:-1:-1;15811:56:0;-1:-1:-1;15885:20:0;15811:56;;15885:11;:20::i;:::-;15878:27;;;;15749:164;:::o;2975:132::-;3033:7;3060:39;3064:1;3067;3060:39;;;;;;;;;;;;;;;;;:3;:39::i;8582:221::-;8629:9;;:14;:30;;;;-1:-1:-1;8647:7:0;;:12;8629:30;8625:43;;;8582:221::o;8625:43::-;8701:9;;;8681:17;:29;8739:7;;;8721:15;:25;-1:-1:-1;8760:13:0;;;;8784:11;8582:221::o;13071:610::-;13218:15;13248:23;13286:12;13313:23;13351:12;13378:13;13405:19;13416:7;13405:10;:19::i;:::-;-1:-1:-1;;;;;13453:15:0;;;;;;:7;:15;;;;;;13203:221;;-1:-1:-1;13203:221:0;;-1:-1:-1;13203:221:0;;-1:-1:-1;13203:221:0;-1:-1:-1;13203:221:0;-1:-1:-1;13203:221:0;-1:-1:-1;13453:28:0;;13203:221;13453:19;:28::i;:::-;-1:-1:-1;;;;;13435:15:0;;;;;;;:7;:15;;;;;;:46;;;;13513:18;;;;;;;:39;;13536:15;13513:22;:39::i;:::-;-1:-1:-1;;;;;13492:18:0;;;;;;:7;:18;;;;;:60;13563:16;13573:5;13563:9;:16::i;:::-;13590:23;13602:4;13608;13590:11;:23::i;:::-;13646:9;-1:-1:-1;;;;;13629:44:0;13638:6;-1:-1:-1;;;;;13629:44:0;;13657:15;13629:44;;;;1595:25:1;;1583:2;1568:18;;1449:177;13629:44:0;;;;;;;;13192:489;;;;;;13071:610;;;:::o;15922:257::-;16020:7;;15973;;;;4787:17;16088:20;16020:7;4787:17;16088:11;:20::i;:::-;16078:7;:30;16074:61;;;-1:-1:-1;;16118:7:0;;;4787:17;;-1:-1:-1;15922:257:0;-1:-1:-1;15922:257:0:o;16074:61::-;16154:7;;16163;;-1:-1:-1;15922:257:0;-1:-1:-1;15922:257:0:o;3116:223::-;3236:7;3271:12;3264:5;3256:28;;;;-1:-1:-1;;;3256:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3295:9:0;3307:5;3311:1;3307;:5;:::i;14104:615::-;14204:7;14226;14248;14270;14292;14314;14350:23;14375:12;14389:13;14419:40;14431:7;14440:9;;14451:7;;14419:11;:40::i;:::-;14349:110;;;;;;14470:19;14492:10;:8;:10::i;:::-;14470:32;;14514:15;14531:23;14556:12;14585:46;14597:7;14606:4;14612:5;14619:11;14585;:46::i;:::-;14513:118;;-1:-1:-1;14513:118:0;-1:-1:-1;14513:118:0;-1:-1:-1;14682:15:0;;-1:-1:-1;14699:4:0;;-1:-1:-1;14705:5:0;;-1:-1:-1;;;;;14104:615:0;;;;;;;:::o;2342:136::-;2400:7;2427:43;2431:1;2434;2427:43;;;;;;;;;;;;;;;;;:3;:43::i;2154:179::-;2212:7;;2244:5;2248:1;2244;:5;:::i;:::-;2232:17;;2273:1;2268;:6;;2260:46;;;;-1:-1:-1;;;2260:46:0;;13237:2:1;2260:46:0;;;13219:21:1;13276:2;13256:18;;;13249:30;13315:29;13295:18;;;13288:57;13362:18;;2260:46:0;13035:351:1;13690:211:0;13743:19;13765:10;:8;:10::i;:::-;13743:32;-1:-1:-1;13786:13:0;13802:22;:5;13743:32;13802:9;:22::i;:::-;13876:4;13860:22;;;;:7;:22;;;;;;13786:38;;-1:-1:-1;13860:33:0;;13786:38;13860:26;:33::i;:::-;13851:4;13835:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;13690:211:0:o;13910:147::-;13988:7;;:17;;14000:4;13988:11;:17::i;:::-;13978:7;:27;14029:10;;:20;;14044:4;14029:14;:20::i;:::-;14016:10;:33;-1:-1:-1;;13910:147:0:o;14728:469::-;14897:7;;;;14991:30;15017:3;14991:21;:7;15003:8;14991:11;:21::i;:::-;:25;;:30::i;:::-;14976:45;-1:-1:-1;15032:13:0;15048:28;15072:3;15048:19;:7;15060:6;15048:11;:19::i;:28::-;15032:44;-1:-1:-1;15087:23:0;15113:28;15032:44;15113:17;:7;15125:4;15113:11;:17::i;:::-;:21;;:28::i;:::-;15087:54;15177:4;;-1:-1:-1;15183:5:0;;-1:-1:-1;14728:469:0;;-1:-1:-1;;;;;14728:469:0:o;15206:534::-;15400:7;;;;15497:24;:7;15509:11;15497;:24::i;:::-;15479:42;-1:-1:-1;15532:12:0;15547:21;:4;15556:11;15547:8;:21::i;:::-;15532:36;-1:-1:-1;15579:13:0;15595:22;:5;15605:11;15595:9;:22::i;:::-;15579:38;-1:-1:-1;15628:23:0;15654:28;15579:38;15654:17;:7;15666:4;15654:11;:17::i;:28::-;15701:7;;;;-1:-1:-1;15727:4:0;;-1:-1:-1;15206:534:0;;-1:-1:-1;;;;;;;15206:534:0:o;2720:246::-;2778:7;2802:1;2807;2802:6;2798:47;;-1:-1:-1;2832:1:0;2825:8;;2798:47;2855:9;2867:5;2871:1;2867;:5;:::i;:::-;2855:17;-1:-1:-1;2900:1:0;2891:5;2895:1;2855:17;2891:5;:::i;:::-;:10;2883:56;;;;-1:-1:-1;;;2883:56:0;;13766:2:1;2883:56:0;;;13748:21:1;13805:2;13785:18;;;13778:30;13844:34;13824:18;;;13817:62;-1:-1:-1;;;13895:18:1;;;13888:31;13936:19;;2883:56:0;13564:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:160::-;2554:20;;2610:13;;2603:21;2593:32;;2583:60;;2639:1;2636;2629:12;2583:60;2489:160;;;:::o;2654:180::-;2710:6;2763:2;2751:9;2742:7;2738:23;2734:32;2731:52;;;2779:1;2776;2769:12;2731:52;2802:26;2818:9;2802:26;:::i;2839:247::-;2898:6;2951:2;2939:9;2930:7;2926:23;2922:32;2919:52;;;2967:1;2964;2957:12;2919:52;3006:9;2993:23;3025:31;3050:5;3025:31;:::i;3091:180::-;3150:6;3203:2;3191:9;3182:7;3178:23;3174:32;3171:52;;;3219:1;3216;3209:12;3171:52;-1:-1:-1;3242:23:1;;3091:180;-1:-1:-1;3091:180:1:o;3276:385::-;3362:6;3370;3378;3386;3439:3;3427:9;3418:7;3414:23;3410:33;3407:53;;;3456:1;3453;3446:12;3407:53;-1:-1:-1;;3479:23:1;;;3549:2;3534:18;;3521:32;;-1:-1:-1;3600:2:1;3585:18;;3572:32;;3651:2;3636:18;3623:32;;-1:-1:-1;3276:385:1;-1:-1:-1;3276:385:1:o;3666:689::-;3758:6;3766;3774;3827:2;3815:9;3806:7;3802:23;3798:32;3795:52;;;3843:1;3840;3833:12;3795:52;3883:9;3870:23;3912:18;3953:2;3945:6;3942:14;3939:34;;;3969:1;3966;3959:12;3939:34;4007:6;3996:9;3992:22;3982:32;;4052:7;4045:4;4041:2;4037:13;4033:27;4023:55;;4074:1;4071;4064:12;4023:55;4114:2;4101:16;4140:2;4132:6;4129:14;4126:34;;;4156:1;4153;4146:12;4126:34;4211:7;4204:4;4194:6;4191:1;4187:14;4183:2;4179:23;4175:34;4172:47;4169:67;;;4232:1;4229;4222:12;4169:67;4263:4;4255:13;;;;-1:-1:-1;4287:6:1;-1:-1:-1;4312:37:1;;4328:20;;;-1:-1:-1;4312:37:1;:::i;:::-;4302:47;;3666:689;;;;;:::o;4360:388::-;4428:6;4436;4489:2;4477:9;4468:7;4464:23;4460:32;4457:52;;;4505:1;4502;4495:12;4457:52;4544:9;4531:23;4563:31;4588:5;4563:31;:::i;:::-;4613:5;-1:-1:-1;4670:2:1;4655:18;;4642:32;4683:33;4642:32;4683:33;:::i;:::-;4735:7;4725:17;;;4360:388;;;;;:::o;4753:356::-;4955:2;4937:21;;;4974:18;;;4967:30;5033:34;5028:2;5013:18;;5006:62;5100:2;5085:18;;4753:356::o;6734:127::-;6795:10;6790:3;6786:20;6783:1;6776:31;6826:4;6823:1;6816:15;6850:4;6847:1;6840:15;6866:127;6927:10;6922:3;6918:20;6915:1;6908:31;6958:4;6955:1;6948:15;6982:4;6979:1;6972:15;6998:135;7037:3;7058:17;;;7055:43;;7078:18;;:::i;:::-;-1:-1:-1;7125:1:1;7114:13;;6998:135::o;10362:125::-;10427:9;;;10448:10;;;10445:36;;;10461:18;;:::i;10896:128::-;10963:9;;;10984:11;;;10981:37;;;10998:18;;:::i;11572:251::-;11642:6;11695:2;11683:9;11674:7;11670:23;11666:32;11663:52;;;11711:1;11708;11701:12;11663:52;11743:9;11737:16;11762:31;11787:5;11762:31;:::i;11828:980::-;12090:4;12138:3;12127:9;12123:19;12169:6;12158:9;12151:25;12195:2;12233:6;12228:2;12217:9;12213:18;12206:34;12276:3;12271:2;12260:9;12256:18;12249:31;12300:6;12335;12329:13;12366:6;12358;12351:22;12404:3;12393:9;12389:19;12382:26;;12443:2;12435:6;12431:15;12417:29;;12464:1;12474:195;12488:6;12485:1;12482:13;12474:195;;;12553:13;;-1:-1:-1;;;;;12549:39:1;12537:52;;12644:15;;;;12609:12;;;;12585:1;12503:9;12474:195;;;-1:-1:-1;;;;;;;12725:32:1;;;;12720:2;12705:18;;12698:60;-1:-1:-1;;;12789:3:1;12774:19;12767:35;12686:3;11828:980;-1:-1:-1;;;11828:980:1:o;12813:217::-;12853:1;12879;12869:132;;12923:10;12918:3;12914:20;12911:1;12904:31;12958:4;12955:1;12948:15;12986:4;12983:1;12976:15;12869:132;-1:-1:-1;13015:9:1;;12813:217::o;13391:168::-;13464:9;;;13495;;13512:15;;;13506:22;;13492:37;13482:71;;13533:18;;:::i

Swarm Source

ipfs://504f1c06447ea03e365133fe91e7030c31cba5723ad0b4848fd57af2b6ef0cdd

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.