ETH Price: $2,440.58 (+6.35%)

Contract

0xa2dDFf59c5Ab639DF6cb2DE88de61fAcCbbF8eBF
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve159597492022-11-13 7:56:23676 days ago1668326183IN
Apeoshi: APE$ Token
0 ETH0.0003126112.84257905
Approve151368292022-07-13 22:04:00798 days ago1657749840IN
Apeoshi: APE$ Token
0 ETH0.0007607331.25213245
Approve145878002022-04-15 4:19:20888 days ago1649996360IN
Apeoshi: APE$ Token
0 ETH0.0006025824.7547938
Approve145477712022-04-08 22:25:11894 days ago1649456711IN
Apeoshi: APE$ Token
0 ETH0.0038225181.98245232
Approve145465502022-04-08 17:44:38894 days ago1649439878IN
Apeoshi: APE$ Token
0 ETH0.0029215562.65942153
Approve145462912022-04-08 16:44:44894 days ago1649436284IN
Apeoshi: APE$ Token
0 ETH0.0025846255.4330463
Approve145458522022-04-08 15:03:59894 days ago1649430239IN
Apeoshi: APE$ Token
0 ETH0.0021594846.31503041
Approve145359432022-04-07 1:57:01896 days ago1649296621IN
Apeoshi: APE$ Token
0 ETH0.0025542254.78115817
Approve145333612022-04-06 16:23:35896 days ago1649262215IN
Apeoshi: APE$ Token
0 ETH0.0035435776
Approve145326342022-04-06 13:32:44897 days ago1649251964IN
Apeoshi: APE$ Token
0 ETH0.0022864349.03782411
Approve145298892022-04-06 3:16:13897 days ago1649214973IN
Apeoshi: APE$ Token
0 ETH0.0025526454.74730106
Approve145237352022-04-05 4:17:50898 days ago1649132270IN
Apeoshi: APE$ Token
0 ETH0.0024245552
Approve145208702022-04-04 17:30:49898 days ago1649093449IN
Apeoshi: APE$ Token
0 ETH0.0027487958.9540608
Transfer145195772022-04-04 12:39:25899 days ago1649075965IN
Apeoshi: APE$ Token
0 ETH0.0065309671.09311704
Approve145077112022-04-02 16:08:08900 days ago1648915688IN
Apeoshi: APE$ Token
0 ETH0.0031364867.2690622
Approve145074442022-04-02 15:08:27900 days ago1648912107IN
Apeoshi: APE$ Token
0 ETH0.0037300880
Approve145062352022-04-02 10:36:36901 days ago1648895796IN
Apeoshi: APE$ Token
0 ETH0.0019133441.03601246
Approve145058912022-04-02 9:15:10901 days ago1648890910IN
Apeoshi: APE$ Token
0 ETH0.0021565946.25310799
Approve145058332022-04-02 8:59:31901 days ago1648889971IN
Apeoshi: APE$ Token
0 ETH0.0019401441.61078738
Approve145055822022-04-02 8:03:08901 days ago1648886588IN
Apeoshi: APE$ Token
0 ETH0.0018877240.48654762
Approve145055172022-04-02 7:48:44901 days ago1648885724IN
Apeoshi: APE$ Token
0 ETH0.000843834.66453914
Approve145052822022-04-02 6:53:52901 days ago1648882432IN
Apeoshi: APE$ Token
0 ETH0.0017717838
Approve145048162022-04-02 5:08:28901 days ago1648876108IN
Apeoshi: APE$ Token
0 ETH0.0021586146.29633854
Approve145045862022-04-02 4:19:27901 days ago1648873167IN
Apeoshi: APE$ Token
0 ETH0.0027548359.08374425
Approve145044372022-04-02 3:46:21901 days ago1648871181IN
Apeoshi: APE$ Token
0 ETH0.0022381548.00227745
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
145728892022-04-12 20:17:45890 days ago1649794665
Apeoshi: APE$ Token
0.00801084 ETH
145728892022-04-12 20:17:45890 days ago1649794665
Apeoshi: APE$ Token
0.00801084 ETH
145728892022-04-12 20:17:45890 days ago1649794665
Apeoshi: APE$ Token
0.01602169 ETH
145566422022-04-10 7:32:38893 days ago1649575958
Apeoshi: APE$ Token
0.00836736 ETH
145566422022-04-10 7:32:38893 days ago1649575958
Apeoshi: APE$ Token
0.00836736 ETH
145566422022-04-10 7:32:38893 days ago1649575958
Apeoshi: APE$ Token
0.01673473 ETH
145500572022-04-09 6:59:55894 days ago1649487595
Apeoshi: APE$ Token
0.00586758 ETH
145500572022-04-09 6:59:55894 days ago1649487595
Apeoshi: APE$ Token
0.00586758 ETH
145500572022-04-09 6:59:55894 days ago1649487595
Apeoshi: APE$ Token
0.01173516 ETH
145465542022-04-08 17:45:17894 days ago1649439917
Apeoshi: APE$ Token
0.00765157 ETH
145465542022-04-08 17:45:17894 days ago1649439917
Apeoshi: APE$ Token
0.00765157 ETH
145465542022-04-08 17:45:17894 days ago1649439917
Apeoshi: APE$ Token
0.01530314 ETH
145458742022-04-08 15:08:14894 days ago1649430494
Apeoshi: APE$ Token
0.00757568 ETH
145458742022-04-08 15:08:14894 days ago1649430494
Apeoshi: APE$ Token
0.00757568 ETH
145458742022-04-08 15:08:14894 days ago1649430494
Apeoshi: APE$ Token
0.01515136 ETH
145378292022-04-07 9:03:20896 days ago1649322200
Apeoshi: APE$ Token
0.00928697 ETH
145378292022-04-07 9:03:20896 days ago1649322200
Apeoshi: APE$ Token
0.00928697 ETH
145378292022-04-07 9:03:20896 days ago1649322200
Apeoshi: APE$ Token
0.01857395 ETH
145373352022-04-07 7:08:20896 days ago1649315300
Apeoshi: APE$ Token
0.00990636 ETH
145373352022-04-07 7:08:20896 days ago1649315300
Apeoshi: APE$ Token
0.00990636 ETH
145373352022-04-07 7:08:20896 days ago1649315300
Apeoshi: APE$ Token
0.01981273 ETH
145333612022-04-06 16:23:35896 days ago1649262215
Apeoshi: APE$ Token
0.01630645 ETH
145333612022-04-06 16:23:35896 days ago1649262215
Apeoshi: APE$ Token
0.01630645 ETH
145333612022-04-06 16:23:35896 days ago1649262215
Apeoshi: APE$ Token
0.0326129 ETH
145301992022-04-06 4:24:37897 days ago1649219077
Apeoshi: APE$ Token
0.03601999 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
APEOSHI

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-25
*/

/**

APEOSHI
Degen Play For The Apes By The Apes!

*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.4;

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

    using SafeMath for uint256;

    string private constant _name = "APEOSHI";//////////////////////////
    string private constant _symbol = "APE$";//////////////////////////////////////////////////////////////////////////
    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**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    //Buy Fee
    uint256 private _redisFeeOnBuy = 0;////////////////////////////////////////////////////////////////////
    uint256 private _taxFeeOnBuy = 12;//////////////////////////////////////////////////////////////////////

    //Sell Fee
    uint256 private _redisFeeOnSell = 0;/////////////////////////////////////////////////////////////////////
    uint256 private _taxFeeOnSell = 20;/////////////////////////////////////////////////////////////////////

    //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) private cooldown;

    address payable private _developmentAddress = payable(0xf07bd91f86949e87002AbE7dDFC014d9feDDF0a4);/////////////////////////////////////////////////
    address payable private _marketingAddress = payable(0x2c8c3297f8AF85248862E0B2F2C0E13D9A9BD253);///////////////////////////////////////////////////

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

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

    uint256 public _maxTxAmount = 100000 * 10**9; //1%
    uint256 public _maxWalletSize = 200000 * 10**9; //2%
    uint256 public _swapTokensAtAmount = 40000 * 10**9; //.4%

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

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);/////////////////////////////////////////////////
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;




        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            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 {
        _developmentAddress.transfer(amount.div(2));
        _marketingAddress.transfer(amount.div(2));
    }

    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 setFee(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 MAx transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }
}

Contract Security Audit

Contract ABI

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

608060405262000019662386f26fc10000600019620003fa565b6200002790600019620003d6565b60065560006008819055600c6009819055600a8290556014600b81905590829055600d819055600e91909155600f55601280546001600160a01b031990811673f07bd91f86949e87002abe7ddfc014d9feddf0a41790915560138054909116732c8c3297f8af85248862e0b2f2c0e13d9a9bd2531790556015805461ffff60a81b1916600160b01b179055655af3107a400060165565b5e620f4800060175565246139ca8000601855348015620000dd57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200019657600080fd5b505afa158015620001ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d19190620003a6565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021a57600080fd5b505afa1580156200022f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002559190620003a6565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200029e57600080fd5b505af1158015620002b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d99190620003a6565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef662386f26fc100006040516200039791815260200190565b60405180910390a3506200041b565b600060208284031215620003b8578081fd5b81516001600160a01b0381168114620003cf578182fd5b9392505050565b600082821015620003f557634e487b7160e01b81526011600452602481fd5b500390565b6000826200041657634e487b7160e01b81526012600452602481fd5b500690565b611e2d806200042b6000396000f3fe6080604052600436106101c55760003560e01c806374010ece116100f7578063a2a957bb11610095578063c492f04611610064578063c492f04614610519578063dd62ed3e14610539578063ea1644d51461057f578063f2fde38b1461059f57600080fd5b8063a2a957bb14610494578063a9059cbb146104b4578063bfd79284146104d4578063c3c8cd801461050457600080fd5b80638f70ccf7116100d15780638f70ccf7146104115780638f9a55c01461043157806395d89b411461044757806398a5c3151461047457600080fd5b806374010ece146103bd5780637d1db4a5146103dd5780638da5cb5b146103f357600080fd5b8063313ce567116101645780636d8aa8f81161013e5780636d8aa8f8146103535780636fc3eaec1461037357806370a0823114610388578063715018a6146103a857600080fd5b8063313ce567146102f757806349bd5a5e146103135780636b9990531461033357600080fd5b80631694505e116101a05780631694505e1461026557806318160ddd1461029d57806323b872dd146102c15780632fd689e3146102e157600080fd5b8062b8cf2a146101d157806306fdde03146101f3578063095ea7b31461023557600080fd5b366101cc57005b600080fd5b3480156101dd57600080fd5b506101f16101ec366004611ae3565b6105bf565b005b3480156101ff57600080fd5b506040805180820190915260078152664150454f53484960c81b60208201525b60405161022c9190611c0d565b60405180910390f35b34801561024157600080fd5b50610255610250366004611a39565b61066c565b604051901515815260200161022c565b34801561027157600080fd5b50601454610285906001600160a01b031681565b6040516001600160a01b03909116815260200161022c565b3480156102a957600080fd5b50662386f26fc100005b60405190815260200161022c565b3480156102cd57600080fd5b506102556102dc3660046119f9565b610683565b3480156102ed57600080fd5b506102b360185481565b34801561030357600080fd5b506040516009815260200161022c565b34801561031f57600080fd5b50601554610285906001600160a01b031681565b34801561033f57600080fd5b506101f161034e366004611989565b6106ec565b34801561035f57600080fd5b506101f161036e366004611baa565b610737565b34801561037f57600080fd5b506101f161077f565b34801561039457600080fd5b506102b36103a3366004611989565b6107ca565b3480156103b457600080fd5b506101f16107ec565b3480156103c957600080fd5b506101f16103d8366004611bc4565b610860565b3480156103e957600080fd5b506102b360165481565b3480156103ff57600080fd5b506000546001600160a01b0316610285565b34801561041d57600080fd5b506101f161042c366004611baa565b61088f565b34801561043d57600080fd5b506102b360175481565b34801561045357600080fd5b506040805180820190915260048152631054114960e21b602082015261021f565b34801561048057600080fd5b506101f161048f366004611bc4565b6108d7565b3480156104a057600080fd5b506101f16104af366004611bdc565b610906565b3480156104c057600080fd5b506102556104cf366004611a39565b610944565b3480156104e057600080fd5b506102556104ef366004611989565b60106020526000908152604090205460ff1681565b34801561051057600080fd5b506101f1610951565b34801561052557600080fd5b506101f1610534366004611a64565b6109a5565b34801561054557600080fd5b506102b36105543660046119c1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561058b57600080fd5b506101f161059a366004611bc4565b610a54565b3480156105ab57600080fd5b506101f16105ba366004611989565b610a83565b6000546001600160a01b031633146105f25760405162461bcd60e51b81526004016105e990611c60565b60405180910390fd5b60005b81518110156106685760016010600084848151811061062457634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061066081611d73565b9150506105f5565b5050565b6000610679338484610b6d565b5060015b92915050565b6000610690848484610c91565b6106e284336106dd85604051806060016040528060288152602001611dd0602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111cd565b610b6d565b5060019392505050565b6000546001600160a01b031633146107165760405162461bcd60e51b81526004016105e990611c60565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107615760405162461bcd60e51b81526004016105e990611c60565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107b457506013546001600160a01b0316336001600160a01b0316145b6107bd57600080fd5b476107c781611207565b50565b6001600160a01b03811660009081526002602052604081205461067d9061128c565b6000546001600160a01b031633146108165760405162461bcd60e51b81526004016105e990611c60565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461088a5760405162461bcd60e51b81526004016105e990611c60565b601655565b6000546001600160a01b031633146108b95760405162461bcd60e51b81526004016105e990611c60565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109015760405162461bcd60e51b81526004016105e990611c60565b601855565b6000546001600160a01b031633146109305760405162461bcd60e51b81526004016105e990611c60565b600893909355600a91909155600955600b55565b6000610679338484610c91565b6012546001600160a01b0316336001600160a01b0316148061098657506013546001600160a01b0316336001600160a01b0316145b61098f57600080fd5b600061099a306107ca565b90506107c781611310565b6000546001600160a01b031633146109cf5760405162461bcd60e51b81526004016105e990611c60565b60005b82811015610a4e5781600560008686858181106109ff57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610a149190611989565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a4681611d73565b9150506109d2565b50505050565b6000546001600160a01b03163314610a7e5760405162461bcd60e51b81526004016105e990611c60565b601755565b6000546001600160a01b03163314610aad5760405162461bcd60e51b81526004016105e990611c60565b6001600160a01b038116610b125760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e9565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bcf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e9565b6001600160a01b038216610c305760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e9565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cf55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e9565b6001600160a01b038216610d575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e9565b60008111610db95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105e9565b6000546001600160a01b03848116911614801590610de557506000546001600160a01b03838116911614155b156110c657601554600160a01b900460ff16610e7e576000546001600160a01b03848116911614610e7e5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105e9565b601654811115610ed05760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105e9565b6001600160a01b03831660009081526010602052604090205460ff16158015610f1257506001600160a01b03821660009081526010602052604090205460ff16155b610f6a5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016105e9565b6015546001600160a01b03838116911614610fef5760175481610f8c846107ca565b610f969190611d05565b10610fef5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105e9565b6000610ffa306107ca565b6018546016549192508210159082106110135760165491505b80801561102a5750601554600160a81b900460ff16155b801561104457506015546001600160a01b03868116911614155b80156110595750601554600160b01b900460ff165b801561107e57506001600160a01b03851660009081526005602052604090205460ff16155b80156110a357506001600160a01b03841660009081526005602052604090205460ff16155b156110c3576110b182611310565b4780156110c1576110c147611207565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061110857506001600160a01b03831660009081526005602052604090205460ff165b8061113a57506015546001600160a01b0385811691161480159061113a57506015546001600160a01b03848116911614155b15611147575060006111c1565b6015546001600160a01b03858116911614801561117257506014546001600160a01b03848116911614155b1561118457600854600c55600954600d555b6015546001600160a01b0384811691161480156111af57506014546001600160a01b03858116911614155b156111c157600a54600c55600b54600d555b610a4e848484846114b5565b600081848411156111f15760405162461bcd60e51b81526004016105e99190611c0d565b5060006111fe8486611d5c565b95945050505050565b6012546001600160a01b03166108fc6112218360026114e3565b6040518115909202916000818181858888f19350505050158015611249573d6000803e3d6000fd5b506013546001600160a01b03166108fc6112648360026114e3565b6040518115909202916000818181858888f19350505050158015610668573d6000803e3d6000fd5b60006006548211156112f35760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105e9565b60006112fd611525565b905061130983826114e3565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061136657634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156113ba57600080fd5b505afa1580156113ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f291906119a5565b8160018151811061141357634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526014546114399130911684610b6d565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611472908590600090869030904290600401611c95565b600060405180830381600087803b15801561148c57600080fd5b505af11580156114a0573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806114c2576114c2611548565b6114cd848484611576565b80610a4e57610a4e600e54600c55600f54600d55565b600061130983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061166d565b600080600061153261169b565b909250905061154182826114e3565b9250505090565b600c541580156115585750600d54155b1561155f57565b600c8054600e55600d8054600f5560009182905555565b600080600080600080611588876116d9565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506115ba9087611736565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115e99086611778565b6001600160a01b03891660009081526002602052604090205561160b816117d7565b6116158483611821565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161165a91815260200190565b60405180910390a3505050505050505050565b6000818361168e5760405162461bcd60e51b81526004016105e99190611c0d565b5060006111fe8486611d1d565b6006546000908190662386f26fc100006116b582826114e3565b8210156116d057505060065492662386f26fc1000092509050565b90939092509050565b60008060008060008060008060006116f68a600c54600d54611845565b9250925092506000611706611525565b905060008060006117198e87878761189a565b919e509c509a509598509396509194505050505091939550919395565b600061130983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111cd565b6000806117858385611d05565b9050838110156113095760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e9565b60006117e1611525565b905060006117ef83836118ea565b3060009081526002602052604090205490915061180c9082611778565b30600090815260026020526040902055505050565b60065461182e9083611736565b60065560075461183e9082611778565b6007555050565b600080808061185f606461185989896118ea565b906114e3565b9050600061187260646118598a896118ea565b9050600061188a826118848b86611736565b90611736565b9992985090965090945050505050565b60008080806118a988866118ea565b905060006118b788876118ea565b905060006118c588886118ea565b905060006118d7826118848686611736565b939b939a50919850919650505050505050565b6000826118f95750600061067d565b60006119058385611d3d565b9050826119128583611d1d565b146113095760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e9565b803561197481611dba565b919050565b8035801515811461197457600080fd5b60006020828403121561199a578081fd5b813561130981611dba565b6000602082840312156119b6578081fd5b815161130981611dba565b600080604083850312156119d3578081fd5b82356119de81611dba565b915060208301356119ee81611dba565b809150509250929050565b600080600060608486031215611a0d578081fd5b8335611a1881611dba565b92506020840135611a2881611dba565b929592945050506040919091013590565b60008060408385031215611a4b578182fd5b8235611a5681611dba565b946020939093013593505050565b600080600060408486031215611a78578283fd5b833567ffffffffffffffff80821115611a8f578485fd5b818601915086601f830112611aa2578485fd5b813581811115611ab0578586fd5b8760208260051b8501011115611ac4578586fd5b602092830195509350611ada9186019050611979565b90509250925092565b60006020808385031215611af5578182fd5b823567ffffffffffffffff80821115611b0c578384fd5b818501915085601f830112611b1f578384fd5b813581811115611b3157611b31611da4565b8060051b604051601f19603f83011681018181108582111715611b5657611b56611da4565b604052828152858101935084860182860187018a1015611b74578788fd5b8795505b83861015611b9d57611b8981611969565b855260019590950194938601938601611b78565b5098975050505050505050565b600060208284031215611bbb578081fd5b61130982611979565b600060208284031215611bd5578081fd5b5035919050565b60008060008060808587031215611bf1578081fd5b5050823594602084013594506040840135936060013592509050565b6000602080835283518082850152825b81811015611c3957858101830151858201604001528201611c1d565b81811115611c4a5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611ce45784516001600160a01b031683529383019391830191600101611cbf565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611d1857611d18611d8e565b500190565b600082611d3857634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611d5757611d57611d8e565b500290565b600082821015611d6e57611d6e611d8e565b500390565b6000600019821415611d8757611d87611d8e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107c757600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b531248b2379d23bc2549535dfb684f7e078d34df1f59c8b08e97c48c8ce4adf64736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101c55760003560e01c806374010ece116100f7578063a2a957bb11610095578063c492f04611610064578063c492f04614610519578063dd62ed3e14610539578063ea1644d51461057f578063f2fde38b1461059f57600080fd5b8063a2a957bb14610494578063a9059cbb146104b4578063bfd79284146104d4578063c3c8cd801461050457600080fd5b80638f70ccf7116100d15780638f70ccf7146104115780638f9a55c01461043157806395d89b411461044757806398a5c3151461047457600080fd5b806374010ece146103bd5780637d1db4a5146103dd5780638da5cb5b146103f357600080fd5b8063313ce567116101645780636d8aa8f81161013e5780636d8aa8f8146103535780636fc3eaec1461037357806370a0823114610388578063715018a6146103a857600080fd5b8063313ce567146102f757806349bd5a5e146103135780636b9990531461033357600080fd5b80631694505e116101a05780631694505e1461026557806318160ddd1461029d57806323b872dd146102c15780632fd689e3146102e157600080fd5b8062b8cf2a146101d157806306fdde03146101f3578063095ea7b31461023557600080fd5b366101cc57005b600080fd5b3480156101dd57600080fd5b506101f16101ec366004611ae3565b6105bf565b005b3480156101ff57600080fd5b506040805180820190915260078152664150454f53484960c81b60208201525b60405161022c9190611c0d565b60405180910390f35b34801561024157600080fd5b50610255610250366004611a39565b61066c565b604051901515815260200161022c565b34801561027157600080fd5b50601454610285906001600160a01b031681565b6040516001600160a01b03909116815260200161022c565b3480156102a957600080fd5b50662386f26fc100005b60405190815260200161022c565b3480156102cd57600080fd5b506102556102dc3660046119f9565b610683565b3480156102ed57600080fd5b506102b360185481565b34801561030357600080fd5b506040516009815260200161022c565b34801561031f57600080fd5b50601554610285906001600160a01b031681565b34801561033f57600080fd5b506101f161034e366004611989565b6106ec565b34801561035f57600080fd5b506101f161036e366004611baa565b610737565b34801561037f57600080fd5b506101f161077f565b34801561039457600080fd5b506102b36103a3366004611989565b6107ca565b3480156103b457600080fd5b506101f16107ec565b3480156103c957600080fd5b506101f16103d8366004611bc4565b610860565b3480156103e957600080fd5b506102b360165481565b3480156103ff57600080fd5b506000546001600160a01b0316610285565b34801561041d57600080fd5b506101f161042c366004611baa565b61088f565b34801561043d57600080fd5b506102b360175481565b34801561045357600080fd5b506040805180820190915260048152631054114960e21b602082015261021f565b34801561048057600080fd5b506101f161048f366004611bc4565b6108d7565b3480156104a057600080fd5b506101f16104af366004611bdc565b610906565b3480156104c057600080fd5b506102556104cf366004611a39565b610944565b3480156104e057600080fd5b506102556104ef366004611989565b60106020526000908152604090205460ff1681565b34801561051057600080fd5b506101f1610951565b34801561052557600080fd5b506101f1610534366004611a64565b6109a5565b34801561054557600080fd5b506102b36105543660046119c1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561058b57600080fd5b506101f161059a366004611bc4565b610a54565b3480156105ab57600080fd5b506101f16105ba366004611989565b610a83565b6000546001600160a01b031633146105f25760405162461bcd60e51b81526004016105e990611c60565b60405180910390fd5b60005b81518110156106685760016010600084848151811061062457634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061066081611d73565b9150506105f5565b5050565b6000610679338484610b6d565b5060015b92915050565b6000610690848484610c91565b6106e284336106dd85604051806060016040528060288152602001611dd0602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111cd565b610b6d565b5060019392505050565b6000546001600160a01b031633146107165760405162461bcd60e51b81526004016105e990611c60565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107615760405162461bcd60e51b81526004016105e990611c60565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107b457506013546001600160a01b0316336001600160a01b0316145b6107bd57600080fd5b476107c781611207565b50565b6001600160a01b03811660009081526002602052604081205461067d9061128c565b6000546001600160a01b031633146108165760405162461bcd60e51b81526004016105e990611c60565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461088a5760405162461bcd60e51b81526004016105e990611c60565b601655565b6000546001600160a01b031633146108b95760405162461bcd60e51b81526004016105e990611c60565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109015760405162461bcd60e51b81526004016105e990611c60565b601855565b6000546001600160a01b031633146109305760405162461bcd60e51b81526004016105e990611c60565b600893909355600a91909155600955600b55565b6000610679338484610c91565b6012546001600160a01b0316336001600160a01b0316148061098657506013546001600160a01b0316336001600160a01b0316145b61098f57600080fd5b600061099a306107ca565b90506107c781611310565b6000546001600160a01b031633146109cf5760405162461bcd60e51b81526004016105e990611c60565b60005b82811015610a4e5781600560008686858181106109ff57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610a149190611989565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a4681611d73565b9150506109d2565b50505050565b6000546001600160a01b03163314610a7e5760405162461bcd60e51b81526004016105e990611c60565b601755565b6000546001600160a01b03163314610aad5760405162461bcd60e51b81526004016105e990611c60565b6001600160a01b038116610b125760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e9565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bcf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e9565b6001600160a01b038216610c305760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e9565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cf55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e9565b6001600160a01b038216610d575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e9565b60008111610db95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105e9565b6000546001600160a01b03848116911614801590610de557506000546001600160a01b03838116911614155b156110c657601554600160a01b900460ff16610e7e576000546001600160a01b03848116911614610e7e5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105e9565b601654811115610ed05760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105e9565b6001600160a01b03831660009081526010602052604090205460ff16158015610f1257506001600160a01b03821660009081526010602052604090205460ff16155b610f6a5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016105e9565b6015546001600160a01b03838116911614610fef5760175481610f8c846107ca565b610f969190611d05565b10610fef5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105e9565b6000610ffa306107ca565b6018546016549192508210159082106110135760165491505b80801561102a5750601554600160a81b900460ff16155b801561104457506015546001600160a01b03868116911614155b80156110595750601554600160b01b900460ff165b801561107e57506001600160a01b03851660009081526005602052604090205460ff16155b80156110a357506001600160a01b03841660009081526005602052604090205460ff16155b156110c3576110b182611310565b4780156110c1576110c147611207565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061110857506001600160a01b03831660009081526005602052604090205460ff165b8061113a57506015546001600160a01b0385811691161480159061113a57506015546001600160a01b03848116911614155b15611147575060006111c1565b6015546001600160a01b03858116911614801561117257506014546001600160a01b03848116911614155b1561118457600854600c55600954600d555b6015546001600160a01b0384811691161480156111af57506014546001600160a01b03858116911614155b156111c157600a54600c55600b54600d555b610a4e848484846114b5565b600081848411156111f15760405162461bcd60e51b81526004016105e99190611c0d565b5060006111fe8486611d5c565b95945050505050565b6012546001600160a01b03166108fc6112218360026114e3565b6040518115909202916000818181858888f19350505050158015611249573d6000803e3d6000fd5b506013546001600160a01b03166108fc6112648360026114e3565b6040518115909202916000818181858888f19350505050158015610668573d6000803e3d6000fd5b60006006548211156112f35760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105e9565b60006112fd611525565b905061130983826114e3565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061136657634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156113ba57600080fd5b505afa1580156113ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f291906119a5565b8160018151811061141357634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526014546114399130911684610b6d565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611472908590600090869030904290600401611c95565b600060405180830381600087803b15801561148c57600080fd5b505af11580156114a0573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806114c2576114c2611548565b6114cd848484611576565b80610a4e57610a4e600e54600c55600f54600d55565b600061130983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061166d565b600080600061153261169b565b909250905061154182826114e3565b9250505090565b600c541580156115585750600d54155b1561155f57565b600c8054600e55600d8054600f5560009182905555565b600080600080600080611588876116d9565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506115ba9087611736565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115e99086611778565b6001600160a01b03891660009081526002602052604090205561160b816117d7565b6116158483611821565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161165a91815260200190565b60405180910390a3505050505050505050565b6000818361168e5760405162461bcd60e51b81526004016105e99190611c0d565b5060006111fe8486611d1d565b6006546000908190662386f26fc100006116b582826114e3565b8210156116d057505060065492662386f26fc1000092509050565b90939092509050565b60008060008060008060008060006116f68a600c54600d54611845565b9250925092506000611706611525565b905060008060006117198e87878761189a565b919e509c509a509598509396509194505050505091939550919395565b600061130983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111cd565b6000806117858385611d05565b9050838110156113095760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e9565b60006117e1611525565b905060006117ef83836118ea565b3060009081526002602052604090205490915061180c9082611778565b30600090815260026020526040902055505050565b60065461182e9083611736565b60065560075461183e9082611778565b6007555050565b600080808061185f606461185989896118ea565b906114e3565b9050600061187260646118598a896118ea565b9050600061188a826118848b86611736565b90611736565b9992985090965090945050505050565b60008080806118a988866118ea565b905060006118b788876118ea565b905060006118c588886118ea565b905060006118d7826118848686611736565b939b939a50919850919650505050505050565b6000826118f95750600061067d565b60006119058385611d3d565b9050826119128583611d1d565b146113095760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e9565b803561197481611dba565b919050565b8035801515811461197457600080fd5b60006020828403121561199a578081fd5b813561130981611dba565b6000602082840312156119b6578081fd5b815161130981611dba565b600080604083850312156119d3578081fd5b82356119de81611dba565b915060208301356119ee81611dba565b809150509250929050565b600080600060608486031215611a0d578081fd5b8335611a1881611dba565b92506020840135611a2881611dba565b929592945050506040919091013590565b60008060408385031215611a4b578182fd5b8235611a5681611dba565b946020939093013593505050565b600080600060408486031215611a78578283fd5b833567ffffffffffffffff80821115611a8f578485fd5b818601915086601f830112611aa2578485fd5b813581811115611ab0578586fd5b8760208260051b8501011115611ac4578586fd5b602092830195509350611ada9186019050611979565b90509250925092565b60006020808385031215611af5578182fd5b823567ffffffffffffffff80821115611b0c578384fd5b818501915085601f830112611b1f578384fd5b813581811115611b3157611b31611da4565b8060051b604051601f19603f83011681018181108582111715611b5657611b56611da4565b604052828152858101935084860182860187018a1015611b74578788fd5b8795505b83861015611b9d57611b8981611969565b855260019590950194938601938601611b78565b5098975050505050505050565b600060208284031215611bbb578081fd5b61130982611979565b600060208284031215611bd5578081fd5b5035919050565b60008060008060808587031215611bf1578081fd5b5050823594602084013594506040840135936060013592509050565b6000602080835283518082850152825b81811015611c3957858101830151858201604001528201611c1d565b81811115611c4a5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611ce45784516001600160a01b031683529383019391830191600101611cbf565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611d1857611d18611d8e565b500190565b600082611d3857634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611d5757611d57611d8e565b500290565b600082821015611d6e57611d6e611d8e565b500390565b6000600019821415611d8757611d87611d8e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107c757600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b531248b2379d23bc2549535dfb684f7e078d34df1f59c8b08e97c48c8ce4adf64736f6c63430008040033

Deployed Bytecode Sourcemap

4130:14200:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13495:169;;;;;;;;;;-1:-1:-1;13495:169:0;;;;;:::i;:::-;;:::i;:::-;;7262:83;;;;;;;;;;-1:-1:-1;7332:5:0;;;;;;;;;;;;-1:-1:-1;;;7332:5:0;;;;7262:83;;;;;;;:::i;:::-;;;;;;;;8187:193;;;;;;;;;;-1:-1:-1;8187:193:0;;;;;:::i;:::-;;:::i;:::-;;;5139:14:1;;5132:22;5114:41;;5102:2;5087:18;8187:193:0;5069:92:1;6047:41:0;;;;;;;;;;-1:-1:-1;6047:41:0;;;;-1:-1:-1;;;;;6047:41:0;;;;;;-1:-1:-1;;;;;4930:32:1;;;4912:51;;4900:2;4885:18;6047:41:0;4867:102:1;7539:95:0;;;;;;;;;;-1:-1:-1;4834:16:0;7539:95;;;11716:25:1;;;11704:2;11689:18;7539:95:0;11671:76:1;8388:446:0;;;;;;;;;;-1:-1:-1;8388:446:0;;;;;:::i;:::-;;:::i;6351:50::-;;;;;;;;;;;;;;;;7448:83;;;;;;;;;;-1:-1:-1;7448:83:0;;4508:1;12882:36:1;;12870:2;12855:18;7448:83:0;12837:87:1;6095:28:0;;;;;;;;;;-1:-1:-1;6095:28:0;;;;-1:-1:-1;;;;;6095:28:0;;;13672:92;;;;;;;;;;-1:-1:-1;13672:92:0;;;;;:::i;:::-;;:::i;17716:101::-;;;;;;;;;;-1:-1:-1;17716:101:0;;;;;:::i;:::-;;:::i;13252:235::-;;;;;;;;;;;;;:::i;7642:138::-;;;;;;;;;;-1:-1:-1;7642:138:0;;;;;:::i;:::-;;:::i;1617:148::-;;;;;;;;;;;;;:::i;17854:108::-;;;;;;;;;;-1:-1:-1;17854:108:0;;;;;:::i;:::-;;:::i;6237:44::-;;;;;;;;;;;;;;;;1403:79;;;;;;;;;;-1:-1:-1;1441:7:0;1468:6;-1:-1:-1;;;;;1468:6:0;1403:79;;12899:101;;;;;;;;;;-1:-1:-1;12899:101:0;;;;;:::i;:::-;;:::i;6293:46::-;;;;;;;;;;;;;;;;7353:87;;;;;;;;;;-1:-1:-1;7425:7:0;;;;;;;;;;;;-1:-1:-1;;;7425:7:0;;;;7353:87;;17525:139;;;;;;;;;;-1:-1:-1;17525:139:0;;;;;:::i;:::-;;:::i;17180:293::-;;;;;;;;;;-1:-1:-1;17180:293:0;;;;;:::i;:::-;;:::i;7788:199::-;;;;;;;;;;-1:-1:-1;7788:199:0;;;;;:::i;:::-;;:::i;5643:36::-;;;;;;;;;;-1:-1:-1;5643:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13008:236;;;;;;;;;;;;;:::i;18093:234::-;;;;;;;;;;-1:-1:-1;18093:234:0;;;;;:::i;:::-;;:::i;7995:184::-;;;;;;;;;;-1:-1:-1;7995:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;8144:18:0;;;8112:7;8144:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7995:184;17970:115;;;;;;;;;;-1:-1:-1;17970:115:0;;;;;:::i;:::-;;:::i;1773:244::-;;;;;;;;;;-1:-1:-1;1773:244:0;;;;;:::i;:::-;;:::i;13495:169::-;1530:6;;-1:-1:-1;;;;;1530:6:0;242:10;1530:22;1522:67;;;;-1:-1:-1;;;1522:67:0;;;;;;;:::i;:::-;;;;;;;;;13571:9:::1;13566:91;13590:5;:12;13586:1;:16;13566:91;;;13641:4;13624;:14;13629:5;13635:1;13629:8;;;;;;-1:-1:-1::0;;;13629:8:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13624:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13624:14:0;:21;;-1:-1:-1;;13624:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13604:3;::::1;::::0;::::1;:::i;:::-;;;;13566:91;;;;13495:169:::0;:::o;8187:193::-;8289:4;8311:39;242:10;8334:7;8343:6;8311:8;:39::i;:::-;-1:-1:-1;8368:4:0;8187:193;;;;;:::o;8388:446::-;8520:4;8537:36;8547:6;8555:9;8566:6;8537:9;:36::i;:::-;8584:220;8607:6;242:10;8655:138;8711:6;8655:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8655:19:0;;;;;;:11;:19;;;;;;;;242:10;8655:33;;;;;;;;;;:37;:138::i;:::-;8584:8;:220::i;:::-;-1:-1:-1;8822:4:0;8388:446;;;;;:::o;13672:92::-;1530:6;;-1:-1:-1;;;;;1530:6:0;242:10;1530:22;1522:67;;;;-1:-1:-1;;;1522:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13736:12:0::1;13751:5;13736:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13736:20:0::1;::::0;;13672:92::o;17716:101::-;1530:6;;-1:-1:-1;;;;;1530:6:0;242:10;1530:22;1522:67;;;;-1:-1:-1;;;1522:67:0;;;;;;;:::i;:::-;17783:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17783:26:0::1;-1:-1:-1::0;;;;17783:26:0;;::::1;::::0;;;::::1;::::0;;17716:101::o;13252:235::-;13318:19;;-1:-1:-1;;;;;13318:19:0;242:10;-1:-1:-1;;;;;13302:35:0;;:72;;;-1:-1:-1;13357:17:0;;-1:-1:-1;;;;;13357:17:0;242:10;-1:-1:-1;;;;;13341:33:0;;13302:72;13294:81;;;;;;13415:21;13447:32;13415:21;13447:12;:32::i;:::-;13252:235;:::o;7642:138::-;-1:-1:-1;;;;;7755:16:0;;7708:7;7755:16;;;:7;:16;;;;;;7735:37;;:19;:37::i;1617:148::-;1530:6;;-1:-1:-1;;;;;1530:6:0;242:10;1530:22;1522:67;;;;-1:-1:-1;;;1522:67:0;;;;;;;:::i;:::-;1724:1:::1;1708:6:::0;;1687:40:::1;::::0;-1:-1:-1;;;;;1708:6:0;;::::1;::::0;1687:40:::1;::::0;1724:1;;1687:40:::1;1755:1;1738:19:::0;;-1:-1:-1;;;;;;1738:19:0::1;::::0;;1617:148::o;17854:108::-;1530:6;;-1:-1:-1;;;;;1530:6:0;242:10;1530:22;1522:67;;;;-1:-1:-1;;;1522:67:0;;;;;;;:::i;:::-;17928:12:::1;:26:::0;17854:108::o;12899:101::-;1530:6;;-1:-1:-1;;;;;1530:6:0;242:10;1530:22;1522:67;;;;-1:-1:-1;;;1522:67:0;;;;;;;:::i;:::-;12966:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12966:26:0::1;-1:-1:-1::0;;;;12966:26:0;;::::1;::::0;;;::::1;::::0;;12899:101::o;17525:139::-;1530:6;;-1:-1:-1;;;;;1530:6:0;242:10;1530:22;1522:67;;;;-1:-1:-1;;;1522:67:0;;;;;;;:::i;:::-;17616:19:::1;:40:::0;17525:139::o;17180:293::-;1530:6;;-1:-1:-1;;;;;1530:6:0;242:10;1530:22;1522:67;;;;-1:-1:-1;;;1522:67:0;;;;;;;:::i;:::-;17314:14:::1;:30:::0;;;;17355:15:::1;:32:::0;;;;17400:12:::1;:26:::0;17437:13:::1;:28:::0;17180:293::o;7788:199::-;7893:4;7915:42;242:10;7939:9;7950:6;7915:9;:42::i;13008:236::-;13074:19;;-1:-1:-1;;;;;13074:19:0;242:10;-1:-1:-1;;;;;13058:35:0;;:72;;;-1:-1:-1;13113:17:0;;-1:-1:-1;;;;;13113:17:0;242:10;-1:-1:-1;;;;;13097:33:0;;13058:72;13050:81;;;;;;13142:23;13168:24;13186:4;13168:9;:24::i;:::-;13142:50;;13203:33;13220:15;13203:16;:33::i;18093:234::-;1530:6;;-1:-1:-1;;;;;1530:6:0;242:10;1530:22;1522:67;;;;-1:-1:-1;;;1522:67:0;;;;;;;:::i;:::-;18210:9:::1;18206:114;18225:19:::0;;::::1;18206:114;;;18300:8;18266:18;:31;18285:8;;18294:1;18285:11;;;;;-1:-1:-1::0;;;18285:11:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18266:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18266:31:0;:42;;-1:-1:-1;;18266:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18246:3;::::1;::::0;::::1;:::i;:::-;;;;18206:114;;;;18093:234:::0;;;:::o;17970:115::-;1530:6;;-1:-1:-1;;;;;1530:6:0;242:10;1530:22;1522:67;;;;-1:-1:-1;;;1522:67:0;;;;;;;:::i;:::-;18047:14:::1;:30:::0;17970:115::o;1773:244::-;1530:6;;-1:-1:-1;;;;;1530:6:0;242:10;1530:22;1522:67;;;;-1:-1:-1;;;1522:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1862:22:0;::::1;1854:73;;;::::0;-1:-1:-1;;;1854:73:0;;7814:2:1;1854:73:0::1;::::0;::::1;7796:21:1::0;7853:2;7833:18;;;7826:30;7892:34;7872:18;;;7865:62;-1:-1:-1;;;7943:18:1;;;7936:36;7989:19;;1854:73:0::1;7786:228:1::0;1854:73:0::1;1964:6;::::0;;1943:38:::1;::::0;-1:-1:-1;;;;;1943:38:0;;::::1;::::0;1964:6;::::1;::::0;1943:38:::1;::::0;::::1;1992:6;:17:::0;;-1:-1:-1;;;;;;1992:17:0::1;-1:-1:-1::0;;;;;1992:17:0;;;::::1;::::0;;;::::1;::::0;;1773:244::o;9525:369::-;-1:-1:-1;;;;;9652:19:0;;9644:68;;;;-1:-1:-1;;;9644:68:0;;11367:2:1;9644:68:0;;;11349:21:1;11406:2;11386:18;;;11379:30;11445:34;11425:18;;;11418:62;-1:-1:-1;;;11496:18:1;;;11489:34;11540:19;;9644:68:0;11339:226:1;9644:68:0;-1:-1:-1;;;;;9731:21:0;;9723:68;;;;-1:-1:-1;;;9723:68:0;;8221:2:1;9723:68:0;;;8203:21:1;8260:2;8240:18;;;8233:30;8299:34;8279:18;;;8272:62;-1:-1:-1;;;8350:18:1;;;8343:32;8392:19;;9723:68:0;8193:224:1;9723:68:0;-1:-1:-1;;;;;9802:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9854:32;;11716:25:1;;;9854:32:0;;11689:18:1;9854:32:0;;;;;;;9525:369;;;:::o;9902:2330::-;-1:-1:-1;;;;;10024:18:0;;10016:68;;;;-1:-1:-1;;;10016:68:0;;10557:2:1;10016:68:0;;;10539:21:1;10596:2;10576:18;;;10569:30;10635:34;10615:18;;;10608:62;-1:-1:-1;;;10686:18:1;;;10679:35;10731:19;;10016:68:0;10529:227:1;10016:68:0;-1:-1:-1;;;;;10103:16:0;;10095:64;;;;-1:-1:-1;;;10095:64:0;;6210:2:1;10095:64:0;;;6192:21:1;6249:2;6229:18;;;6222:30;6288:34;6268:18;;;6261:62;-1:-1:-1;;;6339:18:1;;;6332:33;6382:19;;10095:64:0;6182:225:1;10095:64:0;10187:1;10178:6;:10;10170:64;;;;-1:-1:-1;;;10170:64:0;;10147:2:1;10170:64:0;;;10129:21:1;10186:2;10166:18;;;10159:30;10225:34;10205:18;;;10198:62;-1:-1:-1;;;10276:18:1;;;10269:39;10325:19;;10170:64:0;10119:231:1;10170:64:0;1441:7;1468:6;-1:-1:-1;;;;;10251:15:0;;;1468:6;;10251:15;;;;:32;;-1:-1:-1;1441:7:0;1468:6;-1:-1:-1;;;;;10270:13:0;;;1468:6;;10270:13;;10251:32;10247:1259;;;10340:11;;-1:-1:-1;;;10340:11:0;;;;10335:144;;1441:7;1468:6;-1:-1:-1;;;;;10380:15:0;;;1468:6;;10380:15;10372:91;;;;-1:-1:-1;;;10372:91:0;;6614:2:1;10372:91:0;;;6596:21:1;6653:2;6633:18;;;6626:30;6692:34;6672:18;;;6665:62;6763:33;6743:18;;;6736:61;6814:19;;10372:91:0;6586:253:1;10372:91:0;10513:12;;10503:6;:22;;10495:63;;;;-1:-1:-1;;;10495:63:0;;7457:2:1;10495:63:0;;;7439:21:1;7496:2;7476:18;;;7469:30;7535;7515:18;;;7508:58;7583:18;;10495:63:0;7429:178:1;10495:63:0;-1:-1:-1;;;;;10582:10:0;;;;;;:4;:10;;;;;;;;10581:11;:24;;;;-1:-1:-1;;;;;;10597:8:0;;;;;;:4;:8;;;;;;;;10596:9;10581:24;10573:72;;;;-1:-1:-1;;;10573:72:0;;8624:2:1;10573:72:0;;;8606:21:1;8663:2;8643:18;;;8636:30;8702:34;8682:18;;;8675:62;-1:-1:-1;;;8753:18:1;;;8746:33;8796:19;;10573:72:0;8596:225:1;10573:72:0;10671:13;;-1:-1:-1;;;;;10665:19:0;;;10671:13;;10665:19;10662:146;;10738:14;;10729:6;10713:13;10723:2;10713:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10705:87;;;;-1:-1:-1;;;10705:87:0;;10963:2:1;10705:87:0;;;10945:21:1;11002:2;10982:18;;;10975:30;11041:34;11021:18;;;11014:62;-1:-1:-1;;;11092:18:1;;;11085:33;11135:19;;10705:87:0;10935:225:1;10705:87:0;10824:28;10855:24;10873:4;10855:9;:24::i;:::-;10933:19;;10996:12;;10824:55;;-1:-1:-1;10909:43:0;;;;10972:36;;10969:124;;11065:12;;11042:35;;10969:124;11113:7;:18;;;;-1:-1:-1;11125:6:0;;-1:-1:-1;;;11125:6:0;;;;11124:7;11113:18;:43;;;;-1:-1:-1;11143:13:0;;-1:-1:-1;;;;;11135:21:0;;;11143:13;;11135:21;;11113:43;:58;;;;-1:-1:-1;11160:11:0;;-1:-1:-1;;;11160:11:0;;;;11113:58;:87;;;;-1:-1:-1;;;;;;11176:24:0;;;;;;:18;:24;;;;;;;;11175:25;11113:87;:114;;;;-1:-1:-1;;;;;;11205:22:0;;;;;;:18;:22;;;;;;;;11204:23;11113:114;11109:386;;;11248:38;11265:20;11248:16;:38::i;:::-;11334:21;11378:22;;11374:106;;11425:35;11438:21;11425:12;:35::i;:::-;11109:386;;10247:1259;;;-1:-1:-1;;;;;11582:24:0;;11518:12;11582:24;;;:18;:24;;;;;;11533:4;;11582:24;;;:50;;-1:-1:-1;;;;;;11610:22:0;;;;;;:18;:22;;;;;;;;11582:50;11581:102;;;-1:-1:-1;11646:13:0;;-1:-1:-1;;;;;11638:21:0;;;11646:13;;11638:21;;;;:44;;-1:-1:-1;11669:13:0;;-1:-1:-1;;;;;11663:19:0;;;11669:13;;11663:19;;11638:44;11577:594;;;-1:-1:-1;11710:5:0;11577:594;;;11793:13;;-1:-1:-1;;;;;11785:21:0;;;11793:13;;11785:21;:55;;;;-1:-1:-1;11824:15:0;;-1:-1:-1;;;;;11810:30:0;;;11824:15;;11810:30;;11785:55;11782:162;;;11873:14;;11861:9;:26;11916:12;;11906:7;:22;11782:162;12003:13;;-1:-1:-1;;;;;11997:19:0;;;12003:13;;11997:19;:55;;;;-1:-1:-1;12036:15:0;;-1:-1:-1;;;;;12020:32:0;;;12036:15;;12020:32;;11997:55;11993:165;;;12085:15;;12073:9;:27;12129:13;;12119:7;:23;11993:165;12183:41;12198:4;12204:2;12208:6;12216:7;12183:14;:41::i;2381:224::-;2501:7;2537:12;2529:6;;;;2521:29;;;;-1:-1:-1;;;2521:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2561:9:0;2573:5;2577:1;2573;:5;:::i;:::-;2561:17;2381:224;-1:-1:-1;;;;;2381:224:0:o;12731:160::-;12788:19;;-1:-1:-1;;;;;12788:19:0;:43;12817:13;:6;12828:1;12817:10;:13::i;:::-;12788:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12842:17:0;;-1:-1:-1;;;;;12842:17:0;:41;12869:13;:6;12880:1;12869:10;:13::i;:::-;12842:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8842:323;8937:7;8995;;8984;:18;;8962:110;;;;-1:-1:-1;;;8962:110:0;;7046:2:1;8962:110:0;;;7028:21:1;7085:2;7065:18;;;7058:30;7124:34;7104:18;;;7097:62;-1:-1:-1;;;7175:18:1;;;7168:40;7225:19;;8962:110:0;7018:232:1;8962:110:0;9083:19;9105:10;:8;:10::i;:::-;9083:32;-1:-1:-1;9133:24:0;:7;9083:32;9133:11;:24::i;:::-;9126:31;8842:323;-1:-1:-1;;;8842:323:0:o;12240:483::-;6501:6;:13;;-1:-1:-1;;;;6501:13:0;-1:-1:-1;;;6501:13:0;;;12342:16:::1;::::0;;12356:1:::1;12342:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12342:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12342:16:0::1;12318:40;;12387:4;12369;12374:1;12369:7;;;;;;-1:-1:-1::0;;;12369:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12369:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12413:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12413:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12369:7;;12413:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12403:4;12408:1;12403:7;;;;;;-1:-1:-1::0;;;12403:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12403:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12478:15:::1;::::0;12446:62:::1;::::0;12463:4:::1;::::0;12478:15:::1;12496:11:::0;12446:8:::1;:62::i;:::-;12519:15;::::0;:196:::1;::::0;-1:-1:-1;;;12519:196:0;;-1:-1:-1;;;;;12519:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12600:11;;12519:15:::1;::::0;12642:4;;12669::::1;::::0;12689:15:::1;::::0;12519:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6537:6:0;:14;;-1:-1:-1;;;;6537:14:0;;;-1:-1:-1;;;;12240:483:0:o;13772:282::-;13928:7;13923:28;;13937:14;:12;:14::i;:::-;13962:44;13980:6;13988:9;13999:6;13962:17;:44::i;:::-;14022:7;14017:29;;14031:15;9456:17;;9444:9;:29;9494:15;;9484:7;:25;9400:117;2867:132;2925:7;2952:39;2956:1;2959;2952:39;;;;;;;;;;;;;;;;;:3;:39::i;16739:166::-;16781:7;16802:15;16819;16838:19;:17;:19::i;:::-;16801:56;;-1:-1:-1;16801:56:0;-1:-1:-1;16877:20:0;16801:56;;16877:11;:20::i;:::-;16870:27;;;;16739:166;:::o;9173:219::-;9220:9;;:14;:30;;;;-1:-1:-1;9238:7:0;;:12;9220:30;9216:43;;;9173:219::o;9216:43::-;9291:9;;;9271:17;:29;9329:7;;;9311:15;:25;-1:-1:-1;9349:13:0;;;;9373:11;9173:219::o;14062:610::-;14209:15;14239:23;14277:12;14304:23;14342:12;14369:13;14396:19;14407:7;14396:10;:19::i;:::-;-1:-1:-1;;;;;14444:15:0;;;;;;:7;:15;;;;;;14194:221;;-1:-1:-1;14194:221:0;;-1:-1:-1;14194:221:0;;-1:-1:-1;14194:221:0;-1:-1:-1;14194:221:0;-1:-1:-1;14194:221:0;-1:-1:-1;14444:28:0;;14194:221;14444:19;:28::i;:::-;-1:-1:-1;;;;;14426:15:0;;;;;;;:7;:15;;;;;;:46;;;;14504:18;;;;;;;:39;;14527:15;14504:22;:39::i;:::-;-1:-1:-1;;;;;14483:18:0;;;;;;:7;:18;;;;;:60;14554:16;14564:5;14554:9;:16::i;:::-;14581:23;14593:4;14599;14581:11;:23::i;:::-;14637:9;-1:-1:-1;;;;;14620:44:0;14629:6;-1:-1:-1;;;;;14620:44:0;;14648:15;14620:44;;;;11716:25:1;;11704:2;11689:18;;11671:76;14620:44:0;;;;;;;;14062:610;;;;;;;;;:::o;3007:223::-;3127:7;3162:12;3155:5;3147:28;;;;-1:-1:-1;;;3147:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3186:9:0;3198:5;3202:1;3198;:5;:::i;16913:259::-;17011:7;;16964;;;;4834:16;17079:20;17011:7;4834:16;17079:11;:20::i;:::-;17069:7;:30;17065:61;;;-1:-1:-1;;17109:7:0;;;4834:16;;-1:-1:-1;16913:259:0;-1:-1:-1;16913:259:0:o;17065:61::-;17147:7;;17156;;-1:-1:-1;16913:259:0;-1:-1:-1;16913:259:0:o;15091:617::-;15191:7;15213;15235;15257;15279;15301;15337:23;15362:12;15376:13;15406:40;15418:7;15427:9;;15438:7;;15406:11;:40::i;:::-;15336:110;;;;;;15457:19;15479:10;:8;:10::i;:::-;15457:32;;15501:15;15518:23;15543:12;15572:46;15584:7;15593:4;15599:5;15606:11;15572;:46::i;:::-;15500:118;;-1:-1:-1;15500:118:0;-1:-1:-1;15500:118:0;-1:-1:-1;15671:15:0;;-1:-1:-1;15688:4:0;;-1:-1:-1;15694:5:0;;-1:-1:-1;;;;;15091:617:0;;;;;;;:::o;2237:136::-;2295:7;2322:43;2326:1;2329;2322:43;;;;;;;;;;;;;;;;;:3;:43::i;2050:179::-;2108:7;;2140:5;2144:1;2140;:5;:::i;:::-;2128:17;;2169:1;2164;:6;;2156:46;;;;-1:-1:-1;;;2156:46:0;;9028:2:1;2156:46:0;;;9010:21:1;9067:2;9047:18;;;9040:30;9106:29;9086:18;;;9079:57;9153:18;;2156:46:0;9000:177:1;14680:211:0;14733:19;14755:10;:8;:10::i;:::-;14733:32;-1:-1:-1;14776:13:0;14792:22;:5;14733:32;14792:9;:22::i;:::-;14866:4;14850:22;;;;:7;:22;;;;;;14776:38;;-1:-1:-1;14850:33:0;;14776:38;14850:26;:33::i;:::-;14841:4;14825:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14680:211:0:o;14899:147::-;14977:7;;:17;;14989:4;14977:11;:17::i;:::-;14967:7;:27;15018:10;;:20;;15033:4;15018:14;:20::i;:::-;15005:10;:33;-1:-1:-1;;14899:147:0:o;15716:471::-;15885:7;;;;15979:30;16005:3;15979:21;:7;15991:8;15979:11;:21::i;:::-;:25;;:30::i;:::-;15964:45;-1:-1:-1;16020:13:0;16036:28;16060:3;16036:19;:7;16048:6;16036:11;:19::i;:28::-;16020:44;-1:-1:-1;16075:23:0;16101:28;16020:44;16101:17;:7;16113:4;16101:11;:17::i;:::-;:21;;:28::i;:::-;16075:54;16167:4;;-1:-1:-1;16173:5:0;;-1:-1:-1;15716:471:0;;-1:-1:-1;;;;;15716:471:0:o;16195:536::-;16389:7;;;;16486:24;:7;16498:11;16486;:24::i;:::-;16468:42;-1:-1:-1;16521:12:0;16536:21;:4;16545:11;16536:8;:21::i;:::-;16521:36;-1:-1:-1;16568:13:0;16584:22;:5;16594:11;16584:9;:22::i;:::-;16568:38;-1:-1:-1;16617:23:0;16643:28;16568:38;16643:17;:7;16655:4;16643:11;:17::i;:28::-;16692:7;;;;-1:-1:-1;16718:4:0;;-1:-1:-1;16195:536:0;;-1:-1:-1;;;;;;;16195:536:0:o;2613:246::-;2671:7;2695:6;2691:47;;-1:-1:-1;2725:1:0;2718:8;;2691:47;2748:9;2760:5;2764:1;2760;:5;:::i;:::-;2748:17;-1:-1:-1;2793:1:0;2784:5;2788:1;2748:17;2784:5;:::i;:::-;:10;2776:56;;;;-1:-1:-1;;;2776:56:0;;9384:2:1;2776:56:0;;;9366:21:1;9423:2;9403:18;;;9396:30;9462:34;9442:18;;;9435:62;-1:-1:-1;;;9513:18:1;;;9506:31;9554:19;;2776:56:0;9356:223:1;14:134;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:160::-;218:20;;274:13;;267:21;257:32;;247:2;;303:1;300;293:12;318:257;377:6;430:2;418:9;409:7;405:23;401:32;398:2;;;451:6;443;436:22;398:2;495:9;482:23;514:31;539:5;514:31;:::i;580:261::-;650:6;703:2;691:9;682:7;678:23;674:32;671:2;;;724:6;716;709:22;671:2;761:9;755:16;780:31;805:5;780:31;:::i;846:398::-;914:6;922;975:2;963:9;954:7;950:23;946:32;943:2;;;996:6;988;981:22;943:2;1040:9;1027:23;1059:31;1084:5;1059:31;:::i;:::-;1109:5;-1:-1:-1;1166:2:1;1151:18;;1138:32;1179:33;1138:32;1179:33;:::i;:::-;1231:7;1221:17;;;933:311;;;;;:::o;1249:466::-;1326:6;1334;1342;1395:2;1383:9;1374:7;1370:23;1366:32;1363:2;;;1416:6;1408;1401:22;1363:2;1460:9;1447:23;1479:31;1504:5;1479:31;:::i;:::-;1529:5;-1:-1:-1;1586:2:1;1571:18;;1558:32;1599:33;1558:32;1599:33;:::i;:::-;1353:362;;1651:7;;-1:-1:-1;;;1705:2:1;1690:18;;;;1677:32;;1353:362::o;1720:325::-;1788:6;1796;1849:2;1837:9;1828:7;1824:23;1820:32;1817:2;;;1870:6;1862;1855:22;1817:2;1914:9;1901:23;1933:31;1958:5;1933:31;:::i;:::-;1983:5;2035:2;2020:18;;;;2007:32;;-1:-1:-1;;;1807:238:1:o;2050:739::-;2142:6;2150;2158;2211:2;2199:9;2190:7;2186:23;2182:32;2179:2;;;2232:6;2224;2217:22;2179:2;2277:9;2264:23;2306:18;2347:2;2339:6;2336:14;2333:2;;;2368:6;2360;2353:22;2333:2;2411:6;2400:9;2396:22;2386:32;;2456:7;2449:4;2445:2;2441:13;2437:27;2427:2;;2483:6;2475;2468:22;2427:2;2528;2515:16;2554:2;2546:6;2543:14;2540:2;;;2575:6;2567;2560:22;2540:2;2635:7;2628:4;2618:6;2615:1;2611:14;2607:2;2603:23;2599:34;2596:47;2593:2;;;2661:6;2653;2646:22;2593:2;2697:4;2689:13;;;;-1:-1:-1;2721:6:1;-1:-1:-1;2746:37:1;;2762:20;;;-1:-1:-1;2746:37:1;:::i;:::-;2736:47;;2169:620;;;;;:::o;2794:1177::-;2878:6;2909:2;2952;2940:9;2931:7;2927:23;2923:32;2920:2;;;2973:6;2965;2958:22;2920:2;3018:9;3005:23;3047:18;3088:2;3080:6;3077:14;3074:2;;;3109:6;3101;3094:22;3074:2;3152:6;3141:9;3137:22;3127:32;;3197:7;3190:4;3186:2;3182:13;3178:27;3168:2;;3224:6;3216;3209:22;3168:2;3265;3252:16;3287:2;3283;3280:10;3277:2;;;3293:18;;:::i;:::-;3339:2;3336:1;3332:10;3371:2;3365:9;3434:2;3430:7;3425:2;3421;3417:11;3413:25;3405:6;3401:38;3489:6;3477:10;3474:22;3469:2;3457:10;3454:18;3451:46;3448:2;;;3500:18;;:::i;:::-;3536:2;3529:22;3586:18;;;3620:15;;;;-1:-1:-1;3655:11:1;;;3685;;;3681:20;;3678:33;-1:-1:-1;3675:2:1;;;3729:6;3721;3714:22;3675:2;3756:6;3747:15;;3771:169;3785:2;3782:1;3779:9;3771:169;;;3842:23;3861:3;3842:23;:::i;:::-;3830:36;;3803:1;3796:9;;;;;3886:12;;;;3918;;3771:169;;;-1:-1:-1;3959:6:1;2889:1082;-1:-1:-1;;;;;;;;2889:1082:1:o;3976:190::-;4032:6;4085:2;4073:9;4064:7;4060:23;4056:32;4053:2;;;4106:6;4098;4091:22;4053:2;4134:26;4150:9;4134:26;:::i;4171:190::-;4230:6;4283:2;4271:9;4262:7;4258:23;4254:32;4251:2;;;4304:6;4296;4289:22;4251:2;-1:-1:-1;4332:23:1;;4241:120;-1:-1:-1;4241:120:1:o;4366:395::-;4452:6;4460;4468;4476;4529:3;4517:9;4508:7;4504:23;4500:33;4497:2;;;4551:6;4543;4536:22;4497:2;-1:-1:-1;;4579:23:1;;;4649:2;4634:18;;4621:32;;-1:-1:-1;4700:2:1;4685:18;;4672:32;;4751:2;4736:18;4723:32;;-1:-1:-1;4487:274:1;-1:-1:-1;4487:274:1:o;5400:603::-;5512:4;5541:2;5570;5559:9;5552:21;5602:6;5596:13;5645:6;5640:2;5629:9;5625:18;5618:34;5670:4;5683:140;5697:6;5694:1;5691:13;5683:140;;;5792:14;;;5788:23;;5782:30;5758:17;;;5777:2;5754:26;5747:66;5712:10;;5683:140;;;5841:6;5838:1;5835:13;5832:2;;;5911:4;5906:2;5897:6;5886:9;5882:22;5878:31;5871:45;5832:2;-1:-1:-1;5987:2:1;5966:15;-1:-1:-1;;5962:29:1;5947:45;;;;5994:2;5943:54;;5521:482;-1:-1:-1;;;5521:482:1:o;9584:356::-;9786:2;9768:21;;;9805:18;;;9798:30;9864:34;9859:2;9844:18;;9837:62;9931:2;9916:18;;9758:182::o;11752:983::-;12014:4;12062:3;12051:9;12047:19;12093:6;12082:9;12075:25;12119:2;12157:6;12152:2;12141:9;12137:18;12130:34;12200:3;12195:2;12184:9;12180:18;12173:31;12224:6;12259;12253:13;12290:6;12282;12275:22;12328:3;12317:9;12313:19;12306:26;;12367:2;12359:6;12355:15;12341:29;;12388:4;12401:195;12415:6;12412:1;12409:13;12401:195;;;12480:13;;-1:-1:-1;;;;;12476:39:1;12464:52;;12571:15;;;;12536:12;;;;12512:1;12430:9;12401:195;;;-1:-1:-1;;;;;;;12652:32:1;;;;12647:2;12632:18;;12625:60;-1:-1:-1;;;12716:3:1;12701:19;12694:35;12613:3;12023:712;-1:-1:-1;;;12023:712:1:o;12929:128::-;12969:3;13000:1;12996:6;12993:1;12990:13;12987:2;;;13006:18;;:::i;:::-;-1:-1:-1;13042:9:1;;12977:80::o;13062:217::-;13102:1;13128;13118:2;;-1:-1:-1;;;13153:31:1;;13207:4;13204:1;13197:15;13235:4;13160:1;13225:15;13118:2;-1:-1:-1;13264:9:1;;13108:171::o;13284:168::-;13324:7;13390:1;13386;13382:6;13378:14;13375:1;13372:21;13367:1;13360:9;13353:17;13349:45;13346:2;;;13397:18;;:::i;:::-;-1:-1:-1;13437:9:1;;13336:116::o;13457:125::-;13497:4;13525:1;13522;13519:8;13516:2;;;13530:18;;:::i;:::-;-1:-1:-1;13567:9:1;;13506:76::o;13587:135::-;13626:3;-1:-1:-1;;13647:17:1;;13644:2;;;13667:18;;:::i;:::-;-1:-1:-1;13714:1:1;13703:13;;13634:88::o;13727:127::-;13788:10;13783:3;13779:20;13776:1;13769:31;13819:4;13816:1;13809:15;13843:4;13840:1;13833:15;13859:127;13920:10;13915:3;13911:20;13908:1;13901:31;13951:4;13948:1;13941:15;13975:4;13972:1;13965:15;13991:131;-1:-1:-1;;;;;14066:31:1;;14056:42;;14046:2;;14112:1;14109;14102:12

Swarm Source

ipfs://b531248b2379d23bc2549535dfb684f7e078d34df1f59c8b08e97c48c8ce4adf

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Apeoshi is a decentralized ERC20 token designed to become a platform whereby all users, traders, and investors of cryptocurrency can use it regardless of their ability. We aim to make the easy and safe to use series of Dapps that will be tailor-made by the community.

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.