ETH Price: $3,558.50 (+1.29%)
Gas: 28 Gwei

Contract

0x62597370e94C35913a69d355d1e43eE59d69C23B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve171744572023-05-02 17:05:35331 days ago1683047135IN
0x62597370...59d69C23B
0 ETH0.0032716134.40164279
Approve169011912023-03-25 1:23:59369 days ago1679707439IN
0x62597370...59d69C23B
0 ETH0.0006957714.94175225
Approve168993862023-03-24 19:17:47370 days ago1679685467IN
0x62597370...59d69C23B
0 ETH0.0005946424.42895907
Transfer168727262023-03-21 1:23:35373 days ago1679361815IN
0x62597370...59d69C23B
0 ETH0.0034905915.32140291
Approve168726242023-03-21 1:03:11373 days ago1679360591IN
0x62597370...59d69C23B
0 ETH0.0007174715.40773161
Transfer168725852023-03-21 0:55:11373 days ago1679360111IN
0x62597370...59d69C23B
0 ETH0.0034697615.2299383
Transfer168725622023-03-21 0:50:23373 days ago1679359823IN
0x62597370...59d69C23B
0 ETH0.0012236812.7840145
Transfer168725562023-03-21 0:49:11373 days ago1679359751IN
0x62597370...59d69C23B
0 ETH0.0032249214.15527898
Approve168725002023-03-21 0:37:59373 days ago1679359079IN
0x62597370...59d69C23B
0 ETH0.0008282417.78656734
Transfer168724812023-03-21 0:34:11373 days ago1679358851IN
0x62597370...59d69C23B
0 ETH0.001671821.12978078
Approve165834582023-02-08 10:26:59414 days ago1675852019IN
0x62597370...59d69C23B
0 ETH0.0010225321.9588449
Approve162714422022-12-26 20:53:47458 days ago1672088027IN
0x62597370...59d69C23B
0 ETH0.00054811.75325145
Transfer160739582022-11-29 6:48:35485 days ago1669704515IN
0x62597370...59d69C23B
0 ETH0.0008399310.61901378
Transfer160731222022-11-29 4:00:35485 days ago1669694435IN
0x62597370...59d69C23B
0 ETH0.0010492710.90480241
Approve160607442022-11-27 10:31:59487 days ago1669545119IN
0x62597370...59d69C23B
0 ETH0.000423659.08615716
Approve160546892022-11-26 14:14:23488 days ago1669472063IN
0x62597370...59d69C23B
0 ETH0.000462399.91701274
Approve159880082022-11-17 6:39:23497 days ago1668667163IN
0x62597370...59d69C23B
0 ETH0.0006061313
Approve159863732022-11-17 1:11:23497 days ago1668647483IN
0x62597370...59d69C23B
0 ETH0.0006993915
Approve159217482022-11-08 0:32:23506 days ago1667867543IN
0x62597370...59d69C23B
0 ETH0.0005460711.71188757
Approve159150232022-11-07 2:00:59507 days ago1667786459IN
0x62597370...59d69C23B
0 ETH0.0005963312.7898198
Approve159148502022-11-07 1:26:11507 days ago1667784371IN
0x62597370...59d69C23B
0 ETH0.0005769812.37479375
Approve159045082022-11-05 14:47:47509 days ago1667659667IN
0x62597370...59d69C23B
0 ETH0.0005946512.75379258
Approve159037652022-11-05 12:17:59509 days ago1667650679IN
0x62597370...59d69C23B
0 ETH0.0006949214.90419169
Approve159037652022-11-05 12:17:59509 days ago1667650679IN
0x62597370...59d69C23B
0 ETH0.0006949214.90419169
Approve159021892022-11-05 7:00:59509 days ago1667631659IN
0x62597370...59d69C23B
0 ETH0.0007496816.07860861
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Txn Hash Block From To Value
168727682023-03-21 1:31:59373 days ago1679362319
0x62597370...59d69C23B
0.00033853 ETH
168727682023-03-21 1:31:59373 days ago1679362319
0x62597370...59d69C23B
0.00033853 ETH
168727622023-03-21 1:30:47373 days ago1679362247
0x62597370...59d69C23B
0.00037219 ETH
168727622023-03-21 1:30:47373 days ago1679362247
0x62597370...59d69C23B
0.00037219 ETH
168727562023-03-21 1:29:35373 days ago1679362175
0x62597370...59d69C23B
0.0004092 ETH
168727562023-03-21 1:29:35373 days ago1679362175
0x62597370...59d69C23B
0.0004092 ETH
168727512023-03-21 1:28:35373 days ago1679362115
0x62597370...59d69C23B
0.00044988 ETH
168727512023-03-21 1:28:35373 days ago1679362115
0x62597370...59d69C23B
0.00044988 ETH
168727422023-03-21 1:26:47373 days ago1679362007
0x62597370...59d69C23B
0.00074515 ETH
168727422023-03-21 1:26:47373 days ago1679362007
0x62597370...59d69C23B
0.00074515 ETH
168727262023-03-21 1:23:35373 days ago1679361815
0x62597370...59d69C23B
0.00054485 ETH
168727262023-03-21 1:23:35373 days ago1679361815
0x62597370...59d69C23B
0.00054485 ETH
168727122023-03-21 1:20:47373 days ago1679361647
0x62597370...59d69C23B
0.0005965 ETH
168727122023-03-21 1:20:47373 days ago1679361647
0x62597370...59d69C23B
0.0005965 ETH
168727042023-03-21 1:19:11373 days ago1679361551
0x62597370...59d69C23B
0.00065306 ETH
168727042023-03-21 1:19:11373 days ago1679361551
0x62597370...59d69C23B
0.00065306 ETH
168726992023-03-21 1:18:11373 days ago1679361491
0x62597370...59d69C23B
0.00071497 ETH
168726992023-03-21 1:18:11373 days ago1679361491
0x62597370...59d69C23B
0.00071497 ETH
168726922023-03-21 1:16:47373 days ago1679361407
0x62597370...59d69C23B
0.00078275 ETH
168726922023-03-21 1:16:47373 days ago1679361407
0x62597370...59d69C23B
0.00078275 ETH
168726852023-03-21 1:15:23373 days ago1679361323
0x62597370...59d69C23B
0.00085696 ETH
168726852023-03-21 1:15:23373 days ago1679361323
0x62597370...59d69C23B
0.00085696 ETH
168726772023-03-21 1:13:47373 days ago1679361227
0x62597370...59d69C23B
0.0009382 ETH
168726772023-03-21 1:13:47373 days ago1679361227
0x62597370...59d69C23B
0.0009382 ETH
168726722023-03-21 1:12:47373 days ago1679361167
0x62597370...59d69C23B
0.00102715 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KAREN

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-19
*/

//4% TAX FOR MARKETING WALLET
//3% MAX TX
//LP LOCKED
//OWNERSHIP RENOUNCED @ $100k MC


// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.17;

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 KAREN is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "KAREN KOIN";
    string private constant _symbol = "KAREN";
    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 = 10000000 * (10 ** _decimals);
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 2;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 2;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    address payable private _developmentAddress = payable(0x8D37e343f0afaE53513BD03A5E2D46356e1bc9B8);
    address payable private _marketingAddress = payable(0x8D37e343f0afaE53513BD03A5E2D46356e1bc9B8);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = (_tTotal * 30) / 1000;  // 30%
    uint256 public _maxWalletSize = (_tTotal * 30) / 1000;  // 30%
    uint256 public _swapTokensAtAmount = 10000 * 10**9;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); //Uniswap V2 Router Mainnet
        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");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            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 blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    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 lockLPToken(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _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":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"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":"lockLPToken","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":"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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","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"}]

6080604052620000126009600a620004fa565b62000021906298968062000512565b6200002f9060001962000542565b6200003d9060001962000559565b6006556000600881905560026009818155600a838155600b839055600c849055600d839055600e93909355600f91909155601280546001600160a01b0319908116738d37e343f0afae53513bd03a5e2d46356e1bc9b89081179092556013805490911690911790556015805461ffff60a81b1916600160b01b1790556103e891620000c99190620004fa565b620000d8906298968062000512565b620000e590601e62000512565b620000f191906200056f565b6016556103e8620001056009600a620004fa565b62000114906298968062000512565b6200012190601e62000512565b6200012d91906200056f565b6017556509184e72a0006018553480156200014757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa15801562000205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022b919062000586565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000279573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029f919062000586565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000313919062000586565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003be6009600a620004fa565b620003cd906298968062000512565b60405190815260200160405180910390a350620005b1565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200043c578160001904821115620004205762000420620003e5565b808516156200042e57918102915b93841c939080029062000400565b509250929050565b6000826200045557506001620004f4565b816200046457506000620004f4565b81600181146200047d57600281146200048857620004a8565b6001915050620004f4565b60ff8411156200049c576200049c620003e5565b50506001821b620004f4565b5060208310610133831016604e8410600b8410161715620004cd575081810a620004f4565b620004d98383620003fb565b8060001904821115620004f057620004f0620003e5565b0290505b92915050565b60006200050b60ff84168362000444565b9392505050565b8082028115828204841417620004f457620004f4620003e5565b634e487b7160e01b600052601260045260246000fd5b6000826200055457620005546200052c565b500690565b81810381811115620004f457620004f4620003e5565b6000826200058157620005816200052c565b500490565b6000602082840312156200059957600080fd5b81516001600160a01b03811681146200050b57600080fd5b611f3980620005c16000396000f3fe6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a9059cbb11610095578063c8543a9011610064578063c8543a9014610554578063dd62ed3e14610574578063ea1644d5146105ba578063f2fde38b146105da57600080fd5b8063a9059cbb146104cf578063bfd79284146104ef578063c3c8cd801461051f578063c492f0461461053457600080fd5b80638f70ccf7116100d15780638f70ccf71461044b5780638f9a55c01461046b57806395d89b411461048157806398a5c315146104af57600080fd5b80637d1db4a5146103ea5780637f2feddc146104005780638da5cb5b1461042d57600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461038057806370a0823114610395578063715018a6146103b557806374010ece146103ca57600080fd5b8063313ce5671461030457806349bd5a5e146103205780636b999053146103405780636d8aa8f81461036057600080fd5b80631694505e116101ab5780631694505e1461027357806318160ddd146102ab57806323b872dd146102ce5780632fd689e3146102ee57600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024357600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f73660046119b1565b6105fa565b005b34801561020a57600080fd5b5060408051808201909152600a81526925a0a922a71025a7a4a760b11b60208201525b60405161023a9190611a76565b60405180910390f35b34801561024f57600080fd5b5061026361025e366004611ac4565b610699565b604051901515815260200161023a565b34801561027f57600080fd5b50601454610293906001600160a01b031681565b6040516001600160a01b03909116815260200161023a565b3480156102b757600080fd5b506102c06106b0565b60405190815260200161023a565b3480156102da57600080fd5b506102636102e9366004611af0565b6106d0565b3480156102fa57600080fd5b506102c060185481565b34801561031057600080fd5b506040516009815260200161023a565b34801561032c57600080fd5b50601554610293906001600160a01b031681565b34801561034c57600080fd5b506101fc61035b366004611b31565b610739565b34801561036c57600080fd5b506101fc61037b366004611b5e565b610784565b34801561038c57600080fd5b506101fc6107cc565b3480156103a157600080fd5b506102c06103b0366004611b31565b610817565b3480156103c157600080fd5b506101fc610839565b3480156103d657600080fd5b506101fc6103e5366004611b79565b6108ad565b3480156103f657600080fd5b506102c060165481565b34801561040c57600080fd5b506102c061041b366004611b31565b60116020526000908152604090205481565b34801561043957600080fd5b506000546001600160a01b0316610293565b34801561045757600080fd5b506101fc610466366004611b5e565b6108dc565b34801561047757600080fd5b506102c060175481565b34801561048d57600080fd5b5060408051808201909152600581526425a0a922a760d91b602082015261022d565b3480156104bb57600080fd5b506101fc6104ca366004611b79565b610924565b3480156104db57600080fd5b506102636104ea366004611ac4565b610953565b3480156104fb57600080fd5b5061026361050a366004611b31565b60106020526000908152604090205460ff1681565b34801561052b57600080fd5b506101fc610960565b34801561054057600080fd5b506101fc61054f366004611b92565b6109b4565b34801561056057600080fd5b506101fc61056f366004611c16565b610a55565b34801561058057600080fd5b506102c061058f366004611c48565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105c657600080fd5b506101fc6105d5366004611b79565b610a93565b3480156105e657600080fd5b506101fc6105f5366004611b31565b610ac2565b6000546001600160a01b0316331461062d5760405162461bcd60e51b815260040161062490611c81565b60405180910390fd5b60005b81518110156106955760016010600084848151811061065157610651611cb6565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061068d81611ce2565b915050610630565b5050565b60006106a6338484610bac565b5060015b92915050565b60006106be6009600a611ddf565b6106cb9062989680611dee565b905090565b60006106dd848484610cd0565b61072f843361072a85604051806060016040528060288152602001611edc602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061120c565b610bac565b5060019392505050565b6000546001600160a01b031633146107635760405162461bcd60e51b815260040161062490611c81565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107ae5760405162461bcd60e51b815260040161062490611c81565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b0316148061080157506013546001600160a01b0316336001600160a01b0316145b61080a57600080fd5b4761081481611246565b50565b6001600160a01b0381166000908152600260205260408120546106aa90611280565b6000546001600160a01b031633146108635760405162461bcd60e51b815260040161062490611c81565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108d75760405162461bcd60e51b815260040161062490611c81565b601655565b6000546001600160a01b031633146109065760405162461bcd60e51b815260040161062490611c81565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b0316331461094e5760405162461bcd60e51b815260040161062490611c81565b601855565b60006106a6338484610cd0565b6012546001600160a01b0316336001600160a01b0316148061099557506013546001600160a01b0316336001600160a01b0316145b61099e57600080fd5b60006109a930610817565b905061081481611304565b6000546001600160a01b031633146109de5760405162461bcd60e51b815260040161062490611c81565b60005b82811015610a4f578160056000868685818110610a0057610a00611cb6565b9050602002016020810190610a159190611b31565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a4781611ce2565b9150506109e1565b50505050565b6000546001600160a01b03163314610a7f5760405162461bcd60e51b815260040161062490611c81565b600893909355600a91909155600955600b55565b6000546001600160a01b03163314610abd5760405162461bcd60e51b815260040161062490611c81565b601755565b6000546001600160a01b03163314610aec5760405162461bcd60e51b815260040161062490611c81565b6001600160a01b038116610b515760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610624565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c0e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610624565b6001600160a01b038216610c6f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610624565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d345760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610624565b6001600160a01b038216610d965760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610624565b60008111610df85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610624565b6000546001600160a01b03848116911614801590610e2457506000546001600160a01b03838116911614155b1561110557601554600160a01b900460ff16610ebd576000546001600160a01b03848116911614610ebd5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610624565b601654811115610f0f5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610624565b6001600160a01b03831660009081526010602052604090205460ff16158015610f5157506001600160a01b03821660009081526010602052604090205460ff16155b610fa95760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610624565b6015546001600160a01b0383811691161461102e5760175481610fcb84610817565b610fd59190611e05565b1061102e5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610624565b600061103930610817565b6018546016549192508210159082106110525760165491505b8080156110695750601554600160a81b900460ff16155b801561108357506015546001600160a01b03868116911614155b80156110985750601554600160b01b900460ff165b80156110bd57506001600160a01b03851660009081526005602052604090205460ff16155b80156110e257506001600160a01b03841660009081526005602052604090205460ff16155b15611102576110f082611304565b4780156111005761110047611246565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061114757506001600160a01b03831660009081526005602052604090205460ff165b8061117957506015546001600160a01b0385811691161480159061117957506015546001600160a01b03848116911614155b1561118657506000611200565b6015546001600160a01b0385811691161480156111b157506014546001600160a01b03848116911614155b156111c357600854600c55600954600d555b6015546001600160a01b0384811691161480156111ee57506014546001600160a01b03858116911614155b1561120057600a54600c55600b54600d555b610a4f8484848461147e565b600081848411156112305760405162461bcd60e51b81526004016106249190611a76565b50600061123d8486611e18565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610695573d6000803e3d6000fd5b60006006548211156112e75760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610624565b60006112f16114ac565b90506112fd83826114cf565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061134c5761134c611cb6565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c99190611e2b565b816001815181106113dc576113dc611cb6565b6001600160a01b0392831660209182029290920101526014546114029130911684610bac565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061143b908590600090869030904290600401611e48565b600060405180830381600087803b15801561145557600080fd5b505af1158015611469573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b8061148b5761148b611511565b61149684848461153f565b80610a4f57610a4f600e54600c55600f54600d55565b60008060006114b9611636565b90925090506114c882826114cf565b9250505090565b60006112fd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116b5565b600c541580156115215750600d54155b1561152857565b600c8054600e55600d8054600f5560009182905555565b600080600080600080611551876116e3565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506115839087611740565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115b29086611782565b6001600160a01b0389166000908152600260205260409020556115d4816117e1565b6115de848361182b565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161162391815260200190565b60405180910390a3505050505050505050565b60065460009081908161164b6009600a611ddf565b6116589062989680611dee565b905061167f6116696009600a611ddf565b6116769062989680611dee565b600654906114cf565b8210156116ac576006546116956009600a611ddf565b6116a29062989680611dee565b9350935050509091565b90939092509050565b600081836116d65760405162461bcd60e51b81526004016106249190611a76565b50600061123d8486611eb9565b60008060008060008060008060006117008a600c54600d5461184f565b92509250925060006117106114ac565b905060008060006117238e8787876118a4565b919e509c509a509598509396509194505050505091939550919395565b60006112fd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061120c565b60008061178f8385611e05565b9050838110156112fd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610624565b60006117eb6114ac565b905060006117f983836118f4565b306000908152600260205260409020549091506118169082611782565b30600090815260026020526040902055505050565b6006546118389083611740565b6006556007546118489082611782565b6007555050565b6000808080611869606461186389896118f4565b906114cf565b9050600061187c60646118638a896118f4565b905060006118948261188e8b86611740565b90611740565b9992985090965090945050505050565b60008080806118b388866118f4565b905060006118c188876118f4565b905060006118cf88886118f4565b905060006118e18261188e8686611740565b939b939a50919850919650505050505050565b600082600003611906575060006106aa565b60006119128385611dee565b90508261191f8583611eb9565b146112fd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610624565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461081457600080fd5b80356119ac8161198c565b919050565b600060208083850312156119c457600080fd5b823567ffffffffffffffff808211156119dc57600080fd5b818501915085601f8301126119f057600080fd5b813581811115611a0257611a02611976565b8060051b604051601f19603f83011681018181108582111715611a2757611a27611976565b604052918252848201925083810185019188831115611a4557600080fd5b938501935b82851015611a6a57611a5b856119a1565b84529385019392850192611a4a565b98975050505050505050565b600060208083528351808285015260005b81811015611aa357858101830151858201604001528201611a87565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611ad757600080fd5b8235611ae28161198c565b946020939093013593505050565b600080600060608486031215611b0557600080fd5b8335611b108161198c565b92506020840135611b208161198c565b929592945050506040919091013590565b600060208284031215611b4357600080fd5b81356112fd8161198c565b803580151581146119ac57600080fd5b600060208284031215611b7057600080fd5b6112fd82611b4e565b600060208284031215611b8b57600080fd5b5035919050565b600080600060408486031215611ba757600080fd5b833567ffffffffffffffff80821115611bbf57600080fd5b818601915086601f830112611bd357600080fd5b813581811115611be257600080fd5b8760208260051b8501011115611bf757600080fd5b602092830195509350611c0d9186019050611b4e565b90509250925092565b60008060008060808587031215611c2c57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611c5b57600080fd5b8235611c668161198c565b91506020830135611c768161198c565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611cf457611cf4611ccc565b5060010190565b600181815b80851115611d36578160001904821115611d1c57611d1c611ccc565b80851615611d2957918102915b93841c9390800290611d00565b509250929050565b600082611d4d575060016106aa565b81611d5a575060006106aa565b8160018114611d705760028114611d7a57611d96565b60019150506106aa565b60ff841115611d8b57611d8b611ccc565b50506001821b6106aa565b5060208310610133831016604e8410600b8410161715611db9575081810a6106aa565b611dc38383611cfb565b8060001904821115611dd757611dd7611ccc565b029392505050565b60006112fd60ff841683611d3e565b80820281158282048414176106aa576106aa611ccc565b808201808211156106aa576106aa611ccc565b818103818111156106aa576106aa611ccc565b600060208284031215611e3d57600080fd5b81516112fd8161198c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e985784516001600160a01b031683529383019391830191600101611e73565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ed657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207882a327a870f9ab9992100aef66ff1b3d499eab28ceacee4155c949df3e812364736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a9059cbb11610095578063c8543a9011610064578063c8543a9014610554578063dd62ed3e14610574578063ea1644d5146105ba578063f2fde38b146105da57600080fd5b8063a9059cbb146104cf578063bfd79284146104ef578063c3c8cd801461051f578063c492f0461461053457600080fd5b80638f70ccf7116100d15780638f70ccf71461044b5780638f9a55c01461046b57806395d89b411461048157806398a5c315146104af57600080fd5b80637d1db4a5146103ea5780637f2feddc146104005780638da5cb5b1461042d57600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461038057806370a0823114610395578063715018a6146103b557806374010ece146103ca57600080fd5b8063313ce5671461030457806349bd5a5e146103205780636b999053146103405780636d8aa8f81461036057600080fd5b80631694505e116101ab5780631694505e1461027357806318160ddd146102ab57806323b872dd146102ce5780632fd689e3146102ee57600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024357600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f73660046119b1565b6105fa565b005b34801561020a57600080fd5b5060408051808201909152600a81526925a0a922a71025a7a4a760b11b60208201525b60405161023a9190611a76565b60405180910390f35b34801561024f57600080fd5b5061026361025e366004611ac4565b610699565b604051901515815260200161023a565b34801561027f57600080fd5b50601454610293906001600160a01b031681565b6040516001600160a01b03909116815260200161023a565b3480156102b757600080fd5b506102c06106b0565b60405190815260200161023a565b3480156102da57600080fd5b506102636102e9366004611af0565b6106d0565b3480156102fa57600080fd5b506102c060185481565b34801561031057600080fd5b506040516009815260200161023a565b34801561032c57600080fd5b50601554610293906001600160a01b031681565b34801561034c57600080fd5b506101fc61035b366004611b31565b610739565b34801561036c57600080fd5b506101fc61037b366004611b5e565b610784565b34801561038c57600080fd5b506101fc6107cc565b3480156103a157600080fd5b506102c06103b0366004611b31565b610817565b3480156103c157600080fd5b506101fc610839565b3480156103d657600080fd5b506101fc6103e5366004611b79565b6108ad565b3480156103f657600080fd5b506102c060165481565b34801561040c57600080fd5b506102c061041b366004611b31565b60116020526000908152604090205481565b34801561043957600080fd5b506000546001600160a01b0316610293565b34801561045757600080fd5b506101fc610466366004611b5e565b6108dc565b34801561047757600080fd5b506102c060175481565b34801561048d57600080fd5b5060408051808201909152600581526425a0a922a760d91b602082015261022d565b3480156104bb57600080fd5b506101fc6104ca366004611b79565b610924565b3480156104db57600080fd5b506102636104ea366004611ac4565b610953565b3480156104fb57600080fd5b5061026361050a366004611b31565b60106020526000908152604090205460ff1681565b34801561052b57600080fd5b506101fc610960565b34801561054057600080fd5b506101fc61054f366004611b92565b6109b4565b34801561056057600080fd5b506101fc61056f366004611c16565b610a55565b34801561058057600080fd5b506102c061058f366004611c48565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105c657600080fd5b506101fc6105d5366004611b79565b610a93565b3480156105e657600080fd5b506101fc6105f5366004611b31565b610ac2565b6000546001600160a01b0316331461062d5760405162461bcd60e51b815260040161062490611c81565b60405180910390fd5b60005b81518110156106955760016010600084848151811061065157610651611cb6565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061068d81611ce2565b915050610630565b5050565b60006106a6338484610bac565b5060015b92915050565b60006106be6009600a611ddf565b6106cb9062989680611dee565b905090565b60006106dd848484610cd0565b61072f843361072a85604051806060016040528060288152602001611edc602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061120c565b610bac565b5060019392505050565b6000546001600160a01b031633146107635760405162461bcd60e51b815260040161062490611c81565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107ae5760405162461bcd60e51b815260040161062490611c81565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b0316148061080157506013546001600160a01b0316336001600160a01b0316145b61080a57600080fd5b4761081481611246565b50565b6001600160a01b0381166000908152600260205260408120546106aa90611280565b6000546001600160a01b031633146108635760405162461bcd60e51b815260040161062490611c81565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108d75760405162461bcd60e51b815260040161062490611c81565b601655565b6000546001600160a01b031633146109065760405162461bcd60e51b815260040161062490611c81565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b0316331461094e5760405162461bcd60e51b815260040161062490611c81565b601855565b60006106a6338484610cd0565b6012546001600160a01b0316336001600160a01b0316148061099557506013546001600160a01b0316336001600160a01b0316145b61099e57600080fd5b60006109a930610817565b905061081481611304565b6000546001600160a01b031633146109de5760405162461bcd60e51b815260040161062490611c81565b60005b82811015610a4f578160056000868685818110610a0057610a00611cb6565b9050602002016020810190610a159190611b31565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a4781611ce2565b9150506109e1565b50505050565b6000546001600160a01b03163314610a7f5760405162461bcd60e51b815260040161062490611c81565b600893909355600a91909155600955600b55565b6000546001600160a01b03163314610abd5760405162461bcd60e51b815260040161062490611c81565b601755565b6000546001600160a01b03163314610aec5760405162461bcd60e51b815260040161062490611c81565b6001600160a01b038116610b515760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610624565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c0e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610624565b6001600160a01b038216610c6f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610624565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d345760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610624565b6001600160a01b038216610d965760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610624565b60008111610df85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610624565b6000546001600160a01b03848116911614801590610e2457506000546001600160a01b03838116911614155b1561110557601554600160a01b900460ff16610ebd576000546001600160a01b03848116911614610ebd5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610624565b601654811115610f0f5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610624565b6001600160a01b03831660009081526010602052604090205460ff16158015610f5157506001600160a01b03821660009081526010602052604090205460ff16155b610fa95760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610624565b6015546001600160a01b0383811691161461102e5760175481610fcb84610817565b610fd59190611e05565b1061102e5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610624565b600061103930610817565b6018546016549192508210159082106110525760165491505b8080156110695750601554600160a81b900460ff16155b801561108357506015546001600160a01b03868116911614155b80156110985750601554600160b01b900460ff165b80156110bd57506001600160a01b03851660009081526005602052604090205460ff16155b80156110e257506001600160a01b03841660009081526005602052604090205460ff16155b15611102576110f082611304565b4780156111005761110047611246565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061114757506001600160a01b03831660009081526005602052604090205460ff165b8061117957506015546001600160a01b0385811691161480159061117957506015546001600160a01b03848116911614155b1561118657506000611200565b6015546001600160a01b0385811691161480156111b157506014546001600160a01b03848116911614155b156111c357600854600c55600954600d555b6015546001600160a01b0384811691161480156111ee57506014546001600160a01b03858116911614155b1561120057600a54600c55600b54600d555b610a4f8484848461147e565b600081848411156112305760405162461bcd60e51b81526004016106249190611a76565b50600061123d8486611e18565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610695573d6000803e3d6000fd5b60006006548211156112e75760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610624565b60006112f16114ac565b90506112fd83826114cf565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061134c5761134c611cb6565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c99190611e2b565b816001815181106113dc576113dc611cb6565b6001600160a01b0392831660209182029290920101526014546114029130911684610bac565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061143b908590600090869030904290600401611e48565b600060405180830381600087803b15801561145557600080fd5b505af1158015611469573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b8061148b5761148b611511565b61149684848461153f565b80610a4f57610a4f600e54600c55600f54600d55565b60008060006114b9611636565b90925090506114c882826114cf565b9250505090565b60006112fd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116b5565b600c541580156115215750600d54155b1561152857565b600c8054600e55600d8054600f5560009182905555565b600080600080600080611551876116e3565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506115839087611740565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115b29086611782565b6001600160a01b0389166000908152600260205260409020556115d4816117e1565b6115de848361182b565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161162391815260200190565b60405180910390a3505050505050505050565b60065460009081908161164b6009600a611ddf565b6116589062989680611dee565b905061167f6116696009600a611ddf565b6116769062989680611dee565b600654906114cf565b8210156116ac576006546116956009600a611ddf565b6116a29062989680611dee565b9350935050509091565b90939092509050565b600081836116d65760405162461bcd60e51b81526004016106249190611a76565b50600061123d8486611eb9565b60008060008060008060008060006117008a600c54600d5461184f565b92509250925060006117106114ac565b905060008060006117238e8787876118a4565b919e509c509a509598509396509194505050505091939550919395565b60006112fd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061120c565b60008061178f8385611e05565b9050838110156112fd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610624565b60006117eb6114ac565b905060006117f983836118f4565b306000908152600260205260409020549091506118169082611782565b30600090815260026020526040902055505050565b6006546118389083611740565b6006556007546118489082611782565b6007555050565b6000808080611869606461186389896118f4565b906114cf565b9050600061187c60646118638a896118f4565b905060006118948261188e8b86611740565b90611740565b9992985090965090945050505050565b60008080806118b388866118f4565b905060006118c188876118f4565b905060006118cf88886118f4565b905060006118e18261188e8686611740565b939b939a50919850919650505050505050565b600082600003611906575060006106aa565b60006119128385611dee565b90508261191f8583611eb9565b146112fd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610624565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461081457600080fd5b80356119ac8161198c565b919050565b600060208083850312156119c457600080fd5b823567ffffffffffffffff808211156119dc57600080fd5b818501915085601f8301126119f057600080fd5b813581811115611a0257611a02611976565b8060051b604051601f19603f83011681018181108582111715611a2757611a27611976565b604052918252848201925083810185019188831115611a4557600080fd5b938501935b82851015611a6a57611a5b856119a1565b84529385019392850192611a4a565b98975050505050505050565b600060208083528351808285015260005b81811015611aa357858101830151858201604001528201611a87565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611ad757600080fd5b8235611ae28161198c565b946020939093013593505050565b600080600060608486031215611b0557600080fd5b8335611b108161198c565b92506020840135611b208161198c565b929592945050506040919091013590565b600060208284031215611b4357600080fd5b81356112fd8161198c565b803580151581146119ac57600080fd5b600060208284031215611b7057600080fd5b6112fd82611b4e565b600060208284031215611b8b57600080fd5b5035919050565b600080600060408486031215611ba757600080fd5b833567ffffffffffffffff80821115611bbf57600080fd5b818601915086601f830112611bd357600080fd5b813581811115611be257600080fd5b8760208260051b8501011115611bf757600080fd5b602092830195509350611c0d9186019050611b4e565b90509250925092565b60008060008060808587031215611c2c57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611c5b57600080fd5b8235611c668161198c565b91506020830135611c768161198c565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611cf457611cf4611ccc565b5060010190565b600181815b80851115611d36578160001904821115611d1c57611d1c611ccc565b80851615611d2957918102915b93841c9390800290611d00565b509250929050565b600082611d4d575060016106aa565b81611d5a575060006106aa565b8160018114611d705760028114611d7a57611d96565b60019150506106aa565b60ff841115611d8b57611d8b611ccc565b50506001821b6106aa565b5060208310610133831016604e8410600b8410161715611db9575081810a6106aa565b611dc38383611cfb565b8060001904821115611dd757611dd7611ccc565b029392505050565b60006112fd60ff841683611d3e565b80820281158282048414176106aa576106aa611ccc565b808201808211156106aa576106aa611ccc565b818103818111156106aa576106aa611ccc565b600060208284031215611e3d57600080fd5b81516112fd8161198c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e985784516001600160a01b031683529383019391830191600101611e73565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ed657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207882a327a870f9ab9992100aef66ff1b3d499eab28ceacee4155c949df3e812364736f6c63430008110033

Deployed Bytecode Sourcemap

4166:13561:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12895:169;;;;;;;;;;-1:-1:-1;12895:169:0;;;;;:::i;:::-;;:::i;:::-;;6723:83;;;;;;;;;;-1:-1:-1;6793:5:0;;;;;;;;;;;;-1:-1:-1;;;6793:5:0;;;;6723:83;;;;;;;:::i;:::-;;;;;;;;7648:193;;;;;;;;;;-1:-1:-1;7648:193:0;;;;;:::i;:::-;;:::i;:::-;;;2585:14:1;;2578:22;2560:41;;2548:2;2533:18;7648:193:0;2420:187:1;5521:41:0;;;;;;;;;;-1:-1:-1;5521:41:0;;;;-1:-1:-1;;;;;5521:41:0;;;;;;-1:-1:-1;;;;;2802:32:1;;;2784:51;;2772:2;2757:18;5521:41:0;2612:229:1;7000:95:0;;;;;;;;;;;;;:::i;:::-;;;2992:25:1;;;2980:2;2965:18;7000:95:0;2846:177:1;7849:446:0;;;;;;;;;;-1:-1:-1;7849:446:0;;;;;:::i;:::-;;:::i;5845:50::-;;;;;;;;;;;;;;;;6909:83;;;;;;;;;;-1:-1:-1;6909:83:0;;4387:1;3631:36:1;;3619:2;3604:18;6909:83:0;3489:184:1;5569:28:0;;;;;;;;;;-1:-1:-1;5569:28:0;;;;-1:-1:-1;;;;;5569:28:0;;;13072:92;;;;;;;;;;-1:-1:-1;13072:92:0;;;;;:::i;:::-;;:::i;17109:101::-;;;;;;;;;;-1:-1:-1;17109:101:0;;;;;:::i;:::-;;:::i;12652:235::-;;;;;;;;;;;;;:::i;7103:138::-;;;;;;;;;;-1:-1:-1;7103:138:0;;;;;:::i;:::-;;:::i;1653:148::-;;;;;;;;;;;;;:::i;17249:108::-;;;;;;;;;;-1:-1:-1;17249:108:0;;;;;:::i;:::-;;:::i;5711:51::-;;;;;;;;;;;;;;;;5263:43;;;;;;;;;;-1:-1:-1;5263:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1439:79;;;;;;;;;;-1:-1:-1;1477:7:0;1504:6;-1:-1:-1;;;;;1504:6:0;1439:79;;12299:101;;;;;;;;;;-1:-1:-1;12299:101:0;;;;;:::i;:::-;;:::i;5777:53::-;;;;;;;;;;;;;;;;6814:87;;;;;;;;;;-1:-1:-1;6886:7:0;;;;;;;;;;;;-1:-1:-1;;;6886:7:0;;;;6814:87;;16918:139;;;;;;;;;;-1:-1:-1;16918:139:0;;;;;:::i;:::-;;:::i;7249:199::-;;;;;;;;;;-1:-1:-1;7249:199:0;;;;;:::i;:::-;;:::i;5225:36::-;;;;;;;;;;-1:-1:-1;5225:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12408:236;;;;;;;;;;;;;:::i;17488:234::-;;;;;;;;;;-1:-1:-1;17488:234:0;;;;;:::i;:::-;;:::i;16570:296::-;;;;;;;;;;-1:-1:-1;16570:296:0;;;;;:::i;:::-;;:::i;7456:184::-;;;;;;;;;;-1:-1:-1;7456:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7605:18:0;;;7573:7;7605:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7456:184;17365:115;;;;;;;;;;-1:-1:-1;17365:115:0;;;;;:::i;:::-;;:::i;1809:244::-;;;;;;;;;;-1:-1:-1;1809:244:0;;;;;:::i;:::-;;:::i;12895:169::-;1566:6;;-1:-1:-1;;;;;1566:6:0;278:10;1566:22;1558:67;;;;-1:-1:-1;;;1558:67:0;;;;;;;:::i;:::-;;;;;;;;;12971:9:::1;12966:91;12990:5;:12;12986:1;:16;12966:91;;;13041:4;13024;:14;13029:5;13035:1;13029:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13024:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13024:14:0;:21;;-1:-1:-1;;13024:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13004:3;::::1;::::0;::::1;:::i;:::-;;;;12966:91;;;;12895:169:::0;:::o;7648:193::-;7750:4;7772:39;278:10;7795:7;7804:6;7772:8;:39::i;:::-;-1:-1:-1;7829:4:0;7648:193;;;;;:::o;7000:95::-;7053:7;4727:15;4387:1;4727:2;:15;:::i;:::-;4715:28;;:8;:28;:::i;:::-;7073:14;;7000:95;:::o;7849:446::-;7981:4;7998:36;8008:6;8016:9;8027:6;7998:9;:36::i;:::-;8045:220;8068:6;278:10;8116:138;8172:6;8116:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8116:19:0;;;;;;:11;:19;;;;;;;;278:10;8116:33;;;;;;;;;;:37;:138::i;:::-;8045:8;:220::i;:::-;-1:-1:-1;8283:4:0;7849:446;;;;;:::o;13072:92::-;1566:6;;-1:-1:-1;;;;;1566:6:0;278:10;1566:22;1558:67;;;;-1:-1:-1;;;1558:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13136:12:0::1;13151:5;13136:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13136:20:0::1;::::0;;13072:92::o;17109:101::-;1566:6;;-1:-1:-1;;;;;1566:6:0;278:10;1566:22;1558:67;;;;-1:-1:-1;;;1558:67:0;;;;;;;:::i;:::-;17176:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17176:26:0::1;-1:-1:-1::0;;;;17176:26:0;;::::1;::::0;;;::::1;::::0;;17109:101::o;12652:235::-;12718:19;;-1:-1:-1;;;;;12718:19:0;278:10;-1:-1:-1;;;;;12702:35:0;;:72;;;-1:-1:-1;12757:17:0;;-1:-1:-1;;;;;12757:17:0;278:10;-1:-1:-1;;;;;12741:33:0;;12702:72;12694:81;;;;;;12815:21;12847:32;12815:21;12847:12;:32::i;:::-;12683:204;12652:235::o;7103:138::-;-1:-1:-1;;;;;7216:16:0;;7169:7;7216:16;;;:7;:16;;;;;;7196:37;;:19;:37::i;1653:148::-;1566:6;;-1:-1:-1;;;;;1566:6:0;278:10;1566:22;1558:67;;;;-1:-1:-1;;;1558:67:0;;;;;;;:::i;:::-;1760:1:::1;1744:6:::0;;1723:40:::1;::::0;-1:-1:-1;;;;;1744:6:0;;::::1;::::0;1723:40:::1;::::0;1760:1;;1723:40:::1;1791:1;1774:19:::0;;-1:-1:-1;;;;;;1774:19:0::1;::::0;;1653:148::o;17249:108::-;1566:6;;-1:-1:-1;;;;;1566:6:0;278:10;1566:22;1558:67;;;;-1:-1:-1;;;1558:67:0;;;;;;;:::i;:::-;17323:12:::1;:26:::0;17249:108::o;12299:101::-;1566:6;;-1:-1:-1;;;;;1566:6:0;278:10;1566:22;1558:67;;;;-1:-1:-1;;;1558:67:0;;;;;;;:::i;:::-;12366:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12366:26:0::1;-1:-1:-1::0;;;;12366:26:0;;::::1;::::0;;;::::1;::::0;;12299:101::o;16918:139::-;1566:6;;-1:-1:-1;;;;;1566:6:0;278:10;1566:22;1558:67;;;;-1:-1:-1;;;1558:67:0;;;;;;;:::i;:::-;17009:19:::1;:40:::0;16918:139::o;7249:199::-;7354:4;7376:42;278:10;7400:9;7411:6;7376:9;:42::i;12408:236::-;12474:19;;-1:-1:-1;;;;;12474:19:0;278:10;-1:-1:-1;;;;;12458:35:0;;:72;;;-1:-1:-1;12513:17:0;;-1:-1:-1;;;;;12513:17:0;278:10;-1:-1:-1;;;;;12497:33:0;;12458:72;12450:81;;;;;;12542:23;12568:24;12586:4;12568:9;:24::i;:::-;12542:50;;12603:33;12620:15;12603:16;:33::i;17488:234::-;1566:6;;-1:-1:-1;;;;;1566:6:0;278:10;1566:22;1558:67;;;;-1:-1:-1;;;1558:67:0;;;;;;;:::i;:::-;17605:9:::1;17601:114;17620:19:::0;;::::1;17601:114;;;17695:8;17661:18;:31;17680:8;;17689:1;17680:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17661:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17661:31:0;:42;;-1:-1:-1;;17661:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17641:3;::::1;::::0;::::1;:::i;:::-;;;;17601:114;;;;17488:234:::0;;;:::o;16570:296::-;1566:6;;-1:-1:-1;;;;;1566:6:0;278:10;1566:22;1558:67;;;;-1:-1:-1;;;1558:67:0;;;;;;;:::i;:::-;16709:14:::1;:30:::0;;;;16750:15:::1;:32:::0;;;;16793:12:::1;:26:::0;16830:13:::1;:28:::0;16570:296::o;17365:115::-;1566:6;;-1:-1:-1;;;;;1566:6:0;278:10;1566:22;1558:67;;;;-1:-1:-1;;;1558:67:0;;;;;;;:::i;:::-;17442:14:::1;:30:::0;17365:115::o;1809:244::-;1566:6;;-1:-1:-1;;;;;1566:6:0;278:10;1566:22;1558:67;;;;-1:-1:-1;;;1558:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1898:22:0;::::1;1890:73;;;::::0;-1:-1:-1;;;1890:73:0;;8673:2:1;1890:73:0::1;::::0;::::1;8655:21:1::0;8712:2;8692:18;;;8685:30;8751:34;8731:18;;;8724:62;-1:-1:-1;;;8802:18:1;;;8795:36;8848:19;;1890:73:0::1;8471:402:1::0;1890:73:0::1;2000:6;::::0;;1979:38:::1;::::0;-1:-1:-1;;;;;1979:38:0;;::::1;::::0;2000:6;::::1;::::0;1979:38:::1;::::0;::::1;2028:6;:17:::0;;-1:-1:-1;;;;;;2028:17:0::1;-1:-1:-1::0;;;;;2028:17:0;;;::::1;::::0;;;::::1;::::0;;1809:244::o;8986:369::-;-1:-1:-1;;;;;9113:19:0;;9105:68;;;;-1:-1:-1;;;9105:68:0;;9080:2:1;9105:68:0;;;9062:21:1;9119:2;9099:18;;;9092:30;9158:34;9138:18;;;9131:62;-1:-1:-1;;;9209:18:1;;;9202:34;9253:19;;9105:68:0;8878:400:1;9105:68:0;-1:-1:-1;;;;;9192:21:0;;9184:68;;;;-1:-1:-1;;;9184:68:0;;9485:2:1;9184:68:0;;;9467:21:1;9524:2;9504:18;;;9497:30;9563:34;9543:18;;;9536:62;-1:-1:-1;;;9614:18:1;;;9607:32;9656:19;;9184:68:0;9283:398:1;9184:68:0;-1:-1:-1;;;;;9263:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9315:32;;2992:25:1;;;9315:32:0;;2965:18:1;9315:32:0;;;;;;;8986:369;;;:::o;9363:2330::-;-1:-1:-1;;;;;9485:18:0;;9477:68;;;;-1:-1:-1;;;9477:68:0;;9888:2:1;9477:68:0;;;9870:21:1;9927:2;9907:18;;;9900:30;9966:34;9946:18;;;9939:62;-1:-1:-1;;;10017:18:1;;;10010:35;10062:19;;9477:68:0;9686:401:1;9477:68:0;-1:-1:-1;;;;;9564:16:0;;9556:64;;;;-1:-1:-1;;;9556:64:0;;10294:2:1;9556:64:0;;;10276:21:1;10333:2;10313:18;;;10306:30;10372:34;10352:18;;;10345:62;-1:-1:-1;;;10423:18:1;;;10416:33;10466:19;;9556:64:0;10092:399:1;9556:64:0;9648:1;9639:6;:10;9631:64;;;;-1:-1:-1;;;9631:64:0;;10698:2:1;9631:64:0;;;10680:21:1;10737:2;10717:18;;;10710:30;10776:34;10756:18;;;10749:62;-1:-1:-1;;;10827:18:1;;;10820:39;10876:19;;9631:64:0;10496:405:1;9631:64:0;1477:7;1504:6;-1:-1:-1;;;;;9712:15:0;;;1504:6;;9712:15;;;;:32;;-1:-1:-1;1477:7:0;1504:6;-1:-1:-1;;;;;9731:13:0;;;1504:6;;9731:13;;9712:32;9708:1259;;;9801:11;;-1:-1:-1;;;9801:11:0;;;;9796:144;;1477:7;1504:6;-1:-1:-1;;;;;9841:15:0;;;1504:6;;9841:15;9833:91;;;;-1:-1:-1;;;9833:91:0;;11108:2:1;9833:91:0;;;11090:21:1;11147:2;11127:18;;;11120:30;11186:34;11166:18;;;11159:62;11257:33;11237:18;;;11230:61;11308:19;;9833:91:0;10906:427:1;9833:91:0;9974:12;;9964:6;:22;;9956:63;;;;-1:-1:-1;;;9956:63:0;;11540:2:1;9956:63:0;;;11522:21:1;11579:2;11559:18;;;11552:30;11618;11598:18;;;11591:58;11666:18;;9956:63:0;11338:352:1;9956:63:0;-1:-1:-1;;;;;10043:10:0;;;;;;:4;:10;;;;;;;;10042:11;:24;;;;-1:-1:-1;;;;;;10058:8:0;;;;;;:4;:8;;;;;;;;10057:9;10042:24;10034:72;;;;-1:-1:-1;;;10034:72:0;;11897:2:1;10034:72:0;;;11879:21:1;11936:2;11916:18;;;11909:30;11975:34;11955:18;;;11948:62;-1:-1:-1;;;12026:18:1;;;12019:33;12069:19;;10034:72:0;11695:399:1;10034:72:0;10132:13;;-1:-1:-1;;;;;10126:19:0;;;10132:13;;10126:19;10123:146;;10199:14;;10190:6;10174:13;10184:2;10174:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10166:87;;;;-1:-1:-1;;;10166:87:0;;12431:2:1;10166:87:0;;;12413:21:1;12470:2;12450:18;;;12443:30;12509:34;12489:18;;;12482:62;-1:-1:-1;;;12560:18:1;;;12553:33;12603:19;;10166:87:0;12229:399:1;10166:87:0;10285:28;10316:24;10334:4;10316:9;:24::i;:::-;10394:19;;10457:12;;10285:55;;-1:-1:-1;10370:43:0;;;;10433:36;;10430:124;;10526:12;;10503:35;;10430:124;10574:7;:18;;;;-1:-1:-1;10586:6:0;;-1:-1:-1;;;10586:6:0;;;;10585:7;10574:18;:43;;;;-1:-1:-1;10604:13:0;;-1:-1:-1;;;;;10596:21:0;;;10604:13;;10596:21;;10574:43;:58;;;;-1:-1:-1;10621:11:0;;-1:-1:-1;;;10621:11:0;;;;10574:58;:87;;;;-1:-1:-1;;;;;;10637:24:0;;;;;;:18;:24;;;;;;;;10636:25;10574:87;:114;;;;-1:-1:-1;;;;;;10666:22:0;;;;;;:18;:22;;;;;;;;10665:23;10574:114;10570:386;;;10709:38;10726:20;10709:16;:38::i;:::-;10795:21;10839:22;;10835:106;;10886:35;10899:21;10886:12;:35::i;:::-;10690:266;10570:386;9746:1221;;9708:1259;-1:-1:-1;;;;;11043:24:0;;10979:12;11043:24;;;:18;:24;;;;;;10994:4;;11043:24;;;:50;;-1:-1:-1;;;;;;11071:22:0;;;;;;:18;:22;;;;;;;;11043:50;11042:102;;;-1:-1:-1;11107:13:0;;-1:-1:-1;;;;;11099:21:0;;;11107:13;;11099:21;;;;:44;;-1:-1:-1;11130:13:0;;-1:-1:-1;;;;;11124:19:0;;;11130:13;;11124:19;;11099:44;11038:594;;;-1:-1:-1;11171:5:0;11038:594;;;11254:13;;-1:-1:-1;;;;;11246:21:0;;;11254:13;;11246:21;:55;;;;-1:-1:-1;11285:15:0;;-1:-1:-1;;;;;11271:30:0;;;11285:15;;11271:30;;11246:55;11243:162;;;11334:14;;11322:9;:26;11377:12;;11367:7;:22;11243:162;11464:13;;-1:-1:-1;;;;;11458:19:0;;;11464:13;;11458:19;:55;;;;-1:-1:-1;11497:15:0;;-1:-1:-1;;;;;11481:32:0;;;11497:15;;11481:32;;11458:55;11454:165;;;11546:15;;11534:9;:27;11590:13;;11580:7;:23;11454:165;11644:41;11659:4;11665:2;11669:6;11677:7;11644:14;:41::i;2417:224::-;2537:7;2573:12;2565:6;;;;2557:29;;;;-1:-1:-1;;;2557:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2597:9:0;2609:5;2613:1;2609;:5;:::i;:::-;2597:17;2417:224;-1:-1:-1;;;;;2417:224:0:o;12192:99::-;12249:17;;:34;;-1:-1:-1;;;;;12249:17:0;;;;:34;;;;;12276:6;;12249:17;:34;:17;:34;12276:6;12249:17;:34;;;;;;;;;;;;;;;;;;;8303:323;8398:7;8456;;8445;:18;;8423:110;;;;-1:-1:-1;;;8423:110:0;;12968:2:1;8423:110:0;;;12950:21:1;13007:2;12987:18;;;12980:30;13046:34;13026:18;;;13019:62;-1:-1:-1;;;13097:18:1;;;13090:40;13147:19;;8423:110:0;12766:406:1;8423:110:0;8544:19;8566:10;:8;:10::i;:::-;8544:32;-1:-1:-1;8594:24:0;:7;8544:32;8594:11;:24::i;:::-;8587:31;8303:323;-1:-1:-1;;;8303:323:0:o;11701:483::-;5989:6;:13;;-1:-1:-1;;;;5989:13:0;-1:-1:-1;;;5989:13:0;;;11803:16:::1;::::0;;11817:1:::1;11803:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11803:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11803:16:0::1;11779:40;;11848:4;11830;11835:1;11830:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11830:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11874:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11874:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11830:7;;11874:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11864:4;11869:1;11864:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11864:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11939:15:::1;::::0;11907:62:::1;::::0;11924:4:::1;::::0;11939:15:::1;11957:11:::0;11907:8:::1;:62::i;:::-;11980:15;::::0;:196:::1;::::0;-1:-1:-1;;;11980:196:0;;-1:-1:-1;;;;;11980:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12061:11;;11980:15:::1;::::0;12103:4;;12130::::1;::::0;12150:15:::1;::::0;11980:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6025:6:0;:14;;-1:-1:-1;;;;6025:14:0;;;-1:-1:-1;;;;11701:483:0:o;13172:282::-;13328:7;13323:28;;13337:14;:12;:14::i;:::-;13362:44;13380:6;13388:9;13399:6;13362:17;:44::i;:::-;13422:7;13417:29;;13431:15;8917:17;;8905:9;:29;8955:15;;8945:7;:25;8861:117;16133:164;16175:7;16196:15;16213;16232:19;:17;:19::i;:::-;16195:56;;-1:-1:-1;16195:56:0;-1:-1:-1;16269:20:0;16195:56;;16269:11;:20::i;:::-;16262:27;;;;16133:164;:::o;2903:132::-;2961:7;2988:39;2992:1;2995;2988:39;;;;;;;;;;;;;;;;;:3;:39::i;8634:219::-;8681:9;;:14;:30;;;;-1:-1:-1;8699:7:0;;:12;8681:30;8677:43;;;8634:219::o;8677:43::-;8752:9;;;8732:17;:29;8790:7;;;8772:15;:25;-1:-1:-1;8810:13:0;;;;8834:11;8634:219::o;13462:610::-;13609:15;13639:23;13677:12;13704:23;13742:12;13769:13;13796:19;13807:7;13796:10;:19::i;:::-;-1:-1:-1;;;;;13844:15:0;;;;;;:7;:15;;;;;;13594:221;;-1:-1:-1;13594:221:0;;-1:-1:-1;13594:221:0;;-1:-1:-1;13594:221:0;-1:-1:-1;13594:221:0;-1:-1:-1;13594:221:0;-1:-1:-1;13844:28:0;;13594:221;13844:19;:28::i;:::-;-1:-1:-1;;;;;13826:15:0;;;;;;;:7;:15;;;;;;:46;;;;13904:18;;;;;;;:39;;13927:15;13904:22;:39::i;:::-;-1:-1:-1;;;;;13883:18:0;;;;;;:7;:18;;;;;:60;13954:16;13964:5;13954:9;:16::i;:::-;13981:23;13993:4;13999;13981:11;:23::i;:::-;14037:9;-1:-1:-1;;;;;14020:44:0;14029:6;-1:-1:-1;;;;;14020:44:0;;14048:15;14020:44;;;;2992:25:1;;2980:2;2965:18;;2846:177;14020:44:0;;;;;;;;13583:489;;;;;;13462:610;;;:::o;16305:257::-;16403:7;;16356;;;;;4727:15;4387:1;4727:2;:15;:::i;:::-;4715:28;;:8;:28;:::i;:::-;16421:25;-1:-1:-1;16471:20:0;4727:15;4387:1;4727:2;:15;:::i;:::-;4715:28;;:8;:28;:::i;:::-;16471:7;;;:11;:20::i;:::-;16461:7;:30;16457:61;;;16501:7;;4727:15;4387:1;4727:2;:15;:::i;:::-;4715:28;;:8;:28;:::i;:::-;16493:25;;;;;;16305:257;;:::o;16457:61::-;16537:7;;16546;;-1:-1:-1;16305:257:0;-1:-1:-1;16305:257:0:o;3043:223::-;3163:7;3198:12;3191:5;3183:28;;;;-1:-1:-1;;;3183:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3222:9:0;3234:5;3238:1;3234;:5;:::i;14491:615::-;14591:7;14613;14635;14657;14679;14701;14737:23;14762:12;14776:13;14806:40;14818:7;14827:9;;14838:7;;14806:11;:40::i;:::-;14736:110;;;;;;14857:19;14879:10;:8;:10::i;:::-;14857:32;;14901:15;14918:23;14943:12;14972:46;14984:7;14993:4;14999:5;15006:11;14972;:46::i;:::-;14900:118;;-1:-1:-1;14900:118:0;-1:-1:-1;14900:118:0;-1:-1:-1;15069:15:0;;-1:-1:-1;15086:4:0;;-1:-1:-1;15092:5:0;;-1:-1:-1;;;;;14491:615:0;;;;;;;:::o;2273:136::-;2331:7;2358:43;2362:1;2365;2358:43;;;;;;;;;;;;;;;;;:3;:43::i;2086:179::-;2144:7;;2176:5;2180:1;2176;:5;:::i;:::-;2164:17;;2205:1;2200;:6;;2192:46;;;;-1:-1:-1;;;2192:46:0;;14842:2:1;2192:46:0;;;14824:21:1;14881:2;14861:18;;;14854:30;14920:29;14900:18;;;14893:57;14967:18;;2192:46:0;14640:351:1;14080:211:0;14133:19;14155:10;:8;:10::i;:::-;14133:32;-1:-1:-1;14176:13:0;14192:22;:5;14133:32;14192:9;:22::i;:::-;14266:4;14250:22;;;;:7;:22;;;;;;14176:38;;-1:-1:-1;14250:33:0;;14176:38;14250:26;:33::i;:::-;14241:4;14225:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14080:211:0:o;14299:147::-;14377:7;;:17;;14389:4;14377:11;:17::i;:::-;14367:7;:27;14418:10;;:20;;14433:4;14418:14;:20::i;:::-;14405:10;:33;-1:-1:-1;;14299:147:0:o;15114:469::-;15283:7;;;;15377:30;15403:3;15377:21;:7;15389:8;15377:11;:21::i;:::-;:25;;:30::i;:::-;15362:45;-1:-1:-1;15418:13:0;15434:28;15458:3;15434:19;:7;15446:6;15434:11;:19::i;:28::-;15418:44;-1:-1:-1;15473:23:0;15499:28;15418:44;15499:17;:7;15511:4;15499:11;:17::i;:::-;:21;;:28::i;:::-;15473:54;15563:4;;-1:-1:-1;15569:5:0;;-1:-1:-1;15114:469:0;;-1:-1:-1;;;;;15114:469:0:o;15591:534::-;15785:7;;;;15882:24;:7;15894:11;15882;:24::i;:::-;15864:42;-1:-1:-1;15917:12:0;15932:21;:4;15941:11;15932:8;:21::i;:::-;15917:36;-1:-1:-1;15964:13:0;15980:22;:5;15990:11;15980:9;:22::i;:::-;15964:38;-1:-1:-1;16013:23:0;16039:28;15964:38;16039:17;:7;16051:4;16039:11;:17::i;:28::-;16086:7;;;;-1:-1:-1;16112:4:0;;-1:-1:-1;15591:534:0;;-1:-1:-1;;;;;;;15591:534:0:o;2649:246::-;2707:7;2731:1;2736;2731:6;2727:47;;-1:-1:-1;2761:1:0;2754:8;;2727:47;2784:9;2796:5;2800:1;2796;:5;:::i;:::-;2784:17;-1:-1:-1;2829:1:0;2820:5;2824:1;2784:17;2820:5;:::i;:::-;:10;2812:56;;;;-1:-1:-1;;;2812:56:0;;15198:2:1;2812:56:0;;;15180:21:1;15237:2;15217:18;;;15210:30;15276:34;15256:18;;;15249:62;-1:-1:-1;;;15327:18:1;;;15320:31;15368:19;;2812:56:0;14996:397:1;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:548::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1831:3;2016:1;2011:2;2002:6;1991:9;1987:22;1983:31;1976:42;2086:2;2079;2075:7;2070:2;2062:6;2058:15;2054:29;2043:9;2039:45;2035:54;2027:62;;;;1547:548;;;;:::o;2100:315::-;2168:6;2176;2229:2;2217:9;2208:7;2204:23;2200:32;2197:52;;;2245:1;2242;2235:12;2197:52;2284:9;2271:23;2303:31;2328:5;2303:31;:::i;:::-;2353:5;2405:2;2390:18;;;;2377:32;;-1:-1:-1;;;2100:315:1:o;3028:456::-;3105:6;3113;3121;3174:2;3162:9;3153:7;3149:23;3145:32;3142:52;;;3190:1;3187;3180:12;3142:52;3229:9;3216:23;3248:31;3273:5;3248:31;:::i;:::-;3298:5;-1:-1:-1;3355:2:1;3340:18;;3327:32;3368:33;3327:32;3368:33;:::i;:::-;3028:456;;3420:7;;-1:-1:-1;;;3474:2:1;3459:18;;;;3446:32;;3028:456::o;3886:247::-;3945:6;3998:2;3986:9;3977:7;3973:23;3969:32;3966:52;;;4014:1;4011;4004:12;3966:52;4053:9;4040:23;4072:31;4097:5;4072:31;:::i;4138:160::-;4203:20;;4259:13;;4252:21;4242:32;;4232:60;;4288:1;4285;4278:12;4303:180;4359:6;4412:2;4400:9;4391:7;4387:23;4383:32;4380:52;;;4428:1;4425;4418:12;4380:52;4451:26;4467:9;4451:26;:::i;4488:180::-;4547:6;4600:2;4588:9;4579:7;4575:23;4571:32;4568:52;;;4616:1;4613;4606:12;4568:52;-1:-1:-1;4639:23:1;;4488:180;-1:-1:-1;4488:180:1:o;4673:689::-;4765:6;4773;4781;4834:2;4822:9;4813:7;4809:23;4805:32;4802:52;;;4850:1;4847;4840:12;4802:52;4890:9;4877:23;4919:18;4960:2;4952:6;4949:14;4946:34;;;4976:1;4973;4966:12;4946:34;5014:6;5003:9;4999:22;4989:32;;5059:7;5052:4;5048:2;5044:13;5040:27;5030:55;;5081:1;5078;5071:12;5030:55;5121:2;5108:16;5147:2;5139:6;5136:14;5133:34;;;5163:1;5160;5153:12;5133:34;5218:7;5211:4;5201:6;5198:1;5194:14;5190:2;5186:23;5182:34;5179:47;5176:67;;;5239:1;5236;5229:12;5176:67;5270:4;5262:13;;;;-1:-1:-1;5294:6:1;-1:-1:-1;5319:37:1;;5335:20;;;-1:-1:-1;5319:37:1;:::i;:::-;5309:47;;4673:689;;;;;:::o;5367:385::-;5453:6;5461;5469;5477;5530:3;5518:9;5509:7;5505:23;5501:33;5498:53;;;5547:1;5544;5537:12;5498:53;-1:-1:-1;;5570:23:1;;;5640:2;5625:18;;5612:32;;-1:-1:-1;5691:2:1;5676:18;;5663:32;;5742:2;5727:18;5714:32;;-1:-1:-1;5367:385:1;-1:-1:-1;5367:385:1:o;5757:388::-;5825:6;5833;5886:2;5874:9;5865:7;5861:23;5857:32;5854:52;;;5902:1;5899;5892:12;5854:52;5941:9;5928:23;5960:31;5985:5;5960:31;:::i;:::-;6010:5;-1:-1:-1;6067:2:1;6052:18;;6039:32;6080:33;6039:32;6080:33;:::i;:::-;6132:7;6122:17;;;5757:388;;;;;:::o;6150:356::-;6352:2;6334:21;;;6371:18;;;6364:30;6430:34;6425:2;6410:18;;6403:62;6497:2;6482:18;;6150:356::o;6511:127::-;6572:10;6567:3;6563:20;6560:1;6553:31;6603:4;6600:1;6593:15;6627:4;6624:1;6617:15;6643:127;6704:10;6699:3;6695:20;6692:1;6685:31;6735:4;6732:1;6725:15;6759:4;6756:1;6749:15;6775:135;6814:3;6835:17;;;6832:43;;6855:18;;:::i;:::-;-1:-1:-1;6902:1:1;6891:13;;6775:135::o;6915:422::-;7004:1;7047:5;7004:1;7061:270;7082:7;7072:8;7069:21;7061:270;;;7141:4;7137:1;7133:6;7129:17;7123:4;7120:27;7117:53;;;7150:18;;:::i;:::-;7200:7;7190:8;7186:22;7183:55;;;7220:16;;;;7183:55;7299:22;;;;7259:15;;;;7061:270;;;7065:3;6915:422;;;;;:::o;7342:806::-;7391:5;7421:8;7411:80;;-1:-1:-1;7462:1:1;7476:5;;7411:80;7510:4;7500:76;;-1:-1:-1;7547:1:1;7561:5;;7500:76;7592:4;7610:1;7605:59;;;;7678:1;7673:130;;;;7585:218;;7605:59;7635:1;7626:10;;7649:5;;;7673:130;7710:3;7700:8;7697:17;7694:43;;;7717:18;;:::i;:::-;-1:-1:-1;;7773:1:1;7759:16;;7788:5;;7585:218;;7887:2;7877:8;7874:16;7868:3;7862:4;7859:13;7855:36;7849:2;7839:8;7836:16;7831:2;7825:4;7822:12;7818:35;7815:77;7812:159;;;-1:-1:-1;7924:19:1;;;7956:5;;7812:159;8003:34;8028:8;8022:4;8003:34;:::i;:::-;8073:6;8069:1;8065:6;8061:19;8052:7;8049:32;8046:58;;;8084:18;;:::i;:::-;8122:20;;7342:806;-1:-1:-1;;;7342:806:1:o;8153:140::-;8211:5;8240:47;8281:4;8271:8;8267:19;8261:4;8240:47;:::i;8298:168::-;8371:9;;;8402;;8419:15;;;8413:22;;8399:37;8389:71;;8440:18;;:::i;12099:125::-;12164:9;;;12185:10;;;12182:36;;;12198:18;;:::i;12633:128::-;12700:9;;;12721:11;;;12718:37;;;12735:18;;:::i;13177:251::-;13247:6;13300:2;13288:9;13279:7;13275:23;13271:32;13268:52;;;13316:1;13313;13306:12;13268:52;13348:9;13342:16;13367:31;13392:5;13367:31;:::i;13433:980::-;13695:4;13743:3;13732:9;13728:19;13774:6;13763:9;13756:25;13800:2;13838:6;13833:2;13822:9;13818:18;13811:34;13881:3;13876:2;13865:9;13861:18;13854:31;13905:6;13940;13934:13;13971:6;13963;13956:22;14009:3;13998:9;13994:19;13987:26;;14048:2;14040:6;14036:15;14022:29;;14069:1;14079:195;14093:6;14090:1;14087:13;14079:195;;;14158:13;;-1:-1:-1;;;;;14154:39:1;14142:52;;14249:15;;;;14214:12;;;;14190:1;14108:9;14079:195;;;-1:-1:-1;;;;;;;14330:32:1;;;;14325:2;14310:18;;14303:60;-1:-1:-1;;;14394:3:1;14379:19;14372:35;14291:3;13433:980;-1:-1:-1;;;13433:980:1:o;14418:217::-;14458:1;14484;14474:132;;14528:10;14523:3;14519:20;14516:1;14509:31;14563:4;14560:1;14553:15;14591:4;14588:1;14581:15;14474:132;-1:-1:-1;14620:9:1;;14418:217::o

Swarm Source

ipfs://7882a327a870f9ab9992100aef66ff1b3d499eab28ceacee4155c949df3e8123

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

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.