ETH Price: $2,616.16 (+1.69%)

Contract

0x15781dDd929945f7A338ae104fb709e5c08C20E4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Transaction Hash
Method
Block
From
To
Approve205259172024-08-14 9:16:4763 days ago1723627007IN
0x15781dDd...5c08C20E4
0 ETH0.000238285.11064761
Approve170114912023-04-09 15:02:23556 days ago1681052543IN
0x15781dDd...5c08C20E4
0 ETH0.0005025120.69498354
Approve169451852023-03-31 5:44:23565 days ago1680241463IN
0x15781dDd...5c08C20E4
0 ETH0.0009309520.12178589
Approve168327022023-03-15 10:27:23581 days ago1678876043IN
0x15781dDd...5c08C20E4
0 ETH0.0008877419.06416143
Approve163565602023-01-07 18:00:47647 days ago1673114447IN
0x15781dDd...5c08C20E4
0 ETH0.0010257722
Approve163442442023-01-06 0:44:11649 days ago1672965851IN
0x15781dDd...5c08C20E4
0 ETH0.000898519.27047404
Approve163442302023-01-06 0:41:23649 days ago1672965683IN
0x15781dDd...5c08C20E4
0 ETH0.0009886421.20381847
Approve161332152022-12-07 13:46:47679 days ago1670420807IN
0x15781dDd...5c08C20E4
0 ETH0.0007088515.20301685
Approve161285952022-12-06 21:59:35679 days ago1670363975IN
0x15781dDd...5c08C20E4
0 ETH0.0006739514.45447476
Approve161223772022-12-06 1:10:35680 days ago1670289035IN
0x15781dDd...5c08C20E4
0 ETH0.0006922314.84648146
Approve161159842022-12-05 3:42:35681 days ago1670211755IN
0x15781dDd...5c08C20E4
0 ETH0.0003558914.62080526
Approve161147602022-12-04 23:35:47681 days ago1670196947IN
0x15781dDd...5c08C20E4
0 ETH0.0005507711.81259703
Approve161078012022-12-04 0:14:59682 days ago1670112899IN
0x15781dDd...5c08C20E4
0 ETH0.0005280811.32587969
Approve161037652022-12-03 10:42:59683 days ago1670064179IN
0x15781dDd...5c08C20E4
0 ETH0.0005535511.87223822
Approve161023252022-12-03 5:53:23683 days ago1670046803IN
0x15781dDd...5c08C20E4
0 ETH0.0003305313.57886386
Approve161023182022-12-03 5:51:59683 days ago1670046719IN
0x15781dDd...5c08C20E4
0 ETH0.0006179713.25389295
Approve161022362022-12-03 5:35:35683 days ago1670045735IN
0x15781dDd...5c08C20E4
0 ETH0.0006598714.15259819
Approve160943042022-12-02 3:02:11684 days ago1669950131IN
0x15781dDd...5c08C20E4
0 ETH0.000439019.41571737
Approve160942302022-12-02 2:47:11684 days ago1669949231IN
0x15781dDd...5c08C20E4
0 ETH0.000559912.0085221
Approve160942232022-12-02 2:45:47684 days ago1669949147IN
0x15781dDd...5c08C20E4
0 ETH0.0005295111.35654163
Approve160942082022-12-02 2:42:47684 days ago1669948967IN
0x15781dDd...5c08C20E4
0 ETH0.0005704312.23425663
Approve160940532022-12-02 2:11:47684 days ago1669947107IN
0x15781dDd...5c08C20E4
0 ETH0.0005261811.28513759
Approve160935952022-12-02 0:39:59684 days ago1669941599IN
0x15781dDd...5c08C20E4
0 ETH0.000427299.16433707
Approve160906922022-12-01 14:56:35685 days ago1669906595IN
0x15781dDd...5c08C20E4
0 ETH0.0005830612.50505221
Approve160906652022-12-01 14:51:11685 days ago1669906271IN
0x15781dDd...5c08C20E4
0 ETH0.0006133813.15545713
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
205484442024-08-17 12:48:2360 days ago1723898903
0x15781dDd...5c08C20E4
0.00067774 ETH
205484442024-08-17 12:48:2360 days ago1723898903
0x15781dDd...5c08C20E4
0.00067774 ETH
175180942023-06-20 2:59:47484 days ago1687229987
0x15781dDd...5c08C20E4
0.00234456 ETH
175180942023-06-20 2:59:47484 days ago1687229987
0x15781dDd...5c08C20E4
0.00234456 ETH
163734942023-01-10 2:43:47645 days ago1673318627
0x15781dDd...5c08C20E4
0.00141239 ETH
163734942023-01-10 2:43:47645 days ago1673318627
0x15781dDd...5c08C20E4
0.00141239 ETH
163442462023-01-06 0:44:35649 days ago1672965875
0x15781dDd...5c08C20E4
0.00171555 ETH
163442462023-01-06 0:44:35649 days ago1672965875
0x15781dDd...5c08C20E4
0.00171555 ETH
163442342023-01-06 0:42:11649 days ago1672965731
0x15781dDd...5c08C20E4
0.00039584 ETH
163442342023-01-06 0:42:11649 days ago1672965731
0x15781dDd...5c08C20E4
0.00039584 ETH
161808212022-12-14 5:22:23672 days ago1670995343
0x15781dDd...5c08C20E4
0.00076655 ETH
161808212022-12-14 5:22:23672 days ago1670995343
0x15781dDd...5c08C20E4
0.00076655 ETH
161608572022-12-11 10:26:11675 days ago1670754371
0x15781dDd...5c08C20E4
0.00191314 ETH
161608572022-12-11 10:26:11675 days ago1670754371
0x15781dDd...5c08C20E4
0.00191314 ETH
161332282022-12-07 13:49:23679 days ago1670420963
0x15781dDd...5c08C20E4
0.00194899 ETH
161332282022-12-07 13:49:23679 days ago1670420963
0x15781dDd...5c08C20E4
0.00194899 ETH
161223782022-12-06 1:10:47680 days ago1670289047
0x15781dDd...5c08C20E4
0.00201194 ETH
161223782022-12-06 1:10:47680 days ago1670289047
0x15781dDd...5c08C20E4
0.00201194 ETH
161223702022-12-06 1:09:11680 days ago1670288951
0x15781dDd...5c08C20E4
0.00056371 ETH
161223702022-12-06 1:09:11680 days ago1670288951
0x15781dDd...5c08C20E4
0.00056371 ETH
161147622022-12-04 23:36:11681 days ago1670196971
0x15781dDd...5c08C20E4
0.00175432 ETH
161147622022-12-04 23:36:11681 days ago1670196971
0x15781dDd...5c08C20E4
0.00175432 ETH
161078062022-12-04 0:15:59682 days ago1670112959
0x15781dDd...5c08C20E4
0.00105726 ETH
161078062022-12-04 0:15:59682 days ago1670112959
0x15781dDd...5c08C20E4
0.00105726 ETH
161078052022-12-04 0:15:47682 days ago1670112947
0x15781dDd...5c08C20E4
0.00150264 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CHADSOCIETY

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-11-29
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.9;



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



    using SafeMath for uint256;



    string private constant _name = "CHAD SOCIETY";

    string private constant _symbol = "SOCIETY";

    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 = 1000000000 * 10**9;

    uint256 private _rTotal = (MAX - (MAX % _tTotal));

    uint256 private _tFeeTotal;

    uint256 private _redisFeeOnBuy = 2;

    uint256 private _taxFeeOnBuy = 5;

    uint256 private _redisFeeOnSell = 2;

    uint256 private _taxFeeOnSell = 5;



    //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(0x59FAD9A221DfCD30BaE905b51ab34780fA9b6276);

    address payable private _marketingAddress = payable(0x59FAD9A221DfCD30BaE905b51ab34780fA9b6276);



    IUniswapV2Router02 public uniswapV2Router;

    address public uniswapV2Pair;



    bool private tradingOpen = true;

    bool private inSwap = false;

    bool private swapEnabled = true;



    uint256 public _maxTxAmount = 20000000 * 10**9;

    uint256 public _maxWalletSize = 20000000 * 10**9;

    uint256 public _swapTokensAtAmount = 10000 * 10**9;



    event MaxTxAmountUpdated(uint256 _maxTxAmount);

    modifier lockTheSwap {

        inSwap = true;

        _;

        inSwap = false;

    }



    constructor() {



        _rOwned[_msgSender()] = _rTotal;



        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//

        uniswapV2Router = _uniswapV2Router;

        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())

            .createPair(address(this), _uniswapV2Router.WETH());



        _isExcludedFromFee[owner()] = true;

        _isExcludedFromFee[address(this)] = true;

        _isExcludedFromFee[_developmentAddress] = true;

        _isExcludedFromFee[_marketingAddress] = true;



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

    }



    function name() public pure returns (string memory) {

        return _name;

    }



    function symbol() public pure returns (string memory) {

        return _symbol;

    }



    function decimals() public pure returns (uint8) {

        return _decimals;

    }



    function totalSupply() public pure override returns (uint256) {

        return _tTotal;

    }



    function balanceOf(address account) public view override returns (uint256) {

        return tokenFromReflection(_rOwned[account]);

    }



    function transfer(address recipient, uint256 amount)

        public

        override

        returns (bool)

    {

        _transfer(_msgSender(), recipient, amount);

        return true;

    }



    function allowance(address owner, address spender)

        public

        view

        override

        returns (uint256)

    {

        return _allowances[owner][spender];

    }



    function approve(address spender, uint256 amount)

        public

        override

        returns (bool)

    {

        _approve(_msgSender(), spender, amount);

        return true;

    }



    function transferFrom(

        address sender,

        address recipient,

        uint256 amount

    ) public override returns (bool) {

        _transfer(sender, recipient, amount);

        _approve(

            sender,

            _msgSender(),

            _allowances[sender][_msgSender()].sub(

                amount,

                "ERC20: transfer amount exceeds allowance"

            )

        );

        return true;

    }



    function tokenFromReflection(uint256 rAmount)

        private

        view

        returns (uint256)

    {

        require(

            rAmount <= _rTotal,

            "Amount must be less than total reflections"

        );

        uint256 currentRate = _getRate();

        return rAmount.div(currentRate);

    }



    function removeAllFee() private {

        if (_redisFee == 0 && _taxFee == 0) return;



        _previousredisFee = _redisFee;

        _previoustaxFee = _taxFee;



        _redisFee = 0;

        _taxFee = 0;

    }



    function restoreAllFee() private {

        _redisFee = _previousredisFee;

        _taxFee = _previoustaxFee;

    }



    function _approve(

        address owner,

        address spender,

        uint256 amount

    ) private {

        require(owner != address(0), "ERC20: approve from the zero address");

        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;

        emit Approval(owner, spender, amount);

    }



    function _transfer(

        address from,

        address to,

        uint256 amount

    ) private {

        require(from != address(0), "ERC20: transfer from the zero address");

        require(to != address(0), "ERC20: transfer to the zero address");

        require(amount > 0, "Transfer amount must be greater than zero");



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



            //Trade start check

            if (!tradingOpen) {

                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");

            }



            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");

            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 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 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":[],"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"}]

60806040526200001a670de0b6b3a764000060001962000364565b620000289060001962000387565b6006556002600881905560056009819055600a829055600b819055600c829055600d819055600e91909155600f55601280547359fad9a221dfcd30bae905b51ab34780fa9b62766001600160a01b031991821681179092556013805490911690911790556015805462ffffff60a01b19166201000160a01b17905566470de4df82000060168190556017556509184e72a000601855348015620000ca57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa15801562000188573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ae9190620003af565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002229190620003af565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000270573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002969190620003af565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200035591815260200190565b60405180910390a350620003e1565b6000826200038257634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115620003a957634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620003c257600080fd5b81516001600160a01b0381168114620003da57600080fd5b9392505050565b611ded80620003f16000396000f3fe6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c492f04611610064578063c492f0461461055a578063dd62ed3e1461057a578063ea1644d5146105c0578063f2fde38b146105e057600080fd5b8063a2a957bb146104d5578063a9059cbb146104f5578063bfd7928414610515578063c3c8cd801461054557600080fd5b80638f70ccf7116100d15780638f70ccf71461044f5780638f9a55c01461046f57806395d89b411461048557806398a5c315146104b557600080fd5b80637d1db4a5146103ee5780637f2feddc146104045780638da5cb5b1461043157600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461038457806370a0823114610399578063715018a6146103b957806374010ece146103ce57600080fd5b8063313ce5671461030857806349bd5a5e146103245780636b999053146103445780636d8aa8f81461036457600080fd5b80631694505e116101ab5780631694505e1461027557806318160ddd146102ad57806323b872dd146102d25780632fd689e3146102f257600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024557600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611958565b610600565b005b34801561020a57600080fd5b5060408051808201909152600c81526b4348414420534f434945545960a01b60208201525b60405161023c9190611a1d565b60405180910390f35b34801561025157600080fd5b50610265610260366004611a6b565b61069f565b604051901515815260200161023c565b34801561028157600080fd5b50601454610295906001600160a01b031681565b6040516001600160a01b03909116815260200161023c565b3480156102b957600080fd5b50670de0b6b3a76400005b60405190815260200161023c565b3480156102de57600080fd5b506102656102ed366004611a97565b6106b6565b3480156102fe57600080fd5b506102c460185481565b34801561031457600080fd5b506040516009815260200161023c565b34801561033057600080fd5b50601554610295906001600160a01b031681565b34801561035057600080fd5b506101fc61035f366004611ad8565b61071f565b34801561037057600080fd5b506101fc61037f366004611b05565b61076a565b34801561039057600080fd5b506101fc6107b2565b3480156103a557600080fd5b506102c46103b4366004611ad8565b6107fd565b3480156103c557600080fd5b506101fc61081f565b3480156103da57600080fd5b506101fc6103e9366004611b20565b610893565b3480156103fa57600080fd5b506102c460165481565b34801561041057600080fd5b506102c461041f366004611ad8565b60116020526000908152604090205481565b34801561043d57600080fd5b506000546001600160a01b0316610295565b34801561045b57600080fd5b506101fc61046a366004611b05565b6108c2565b34801561047b57600080fd5b506102c460175481565b34801561049157600080fd5b50604080518082019091526007815266534f434945545960c81b602082015261022f565b3480156104c157600080fd5b506101fc6104d0366004611b20565b61090a565b3480156104e157600080fd5b506101fc6104f0366004611b39565b610939565b34801561050157600080fd5b50610265610510366004611a6b565b610977565b34801561052157600080fd5b50610265610530366004611ad8565b60106020526000908152604090205460ff1681565b34801561055157600080fd5b506101fc610984565b34801561056657600080fd5b506101fc610575366004611b6b565b6109d8565b34801561058657600080fd5b506102c4610595366004611bef565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105cc57600080fd5b506101fc6105db366004611b20565b610a79565b3480156105ec57600080fd5b506101fc6105fb366004611ad8565b610aa8565b6000546001600160a01b031633146106335760405162461bcd60e51b815260040161062a90611c28565b60405180910390fd5b60005b815181101561069b5760016010600084848151811061065757610657611c5d565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061069381611c89565b915050610636565b5050565b60006106ac338484610b92565b5060015b92915050565b60006106c3848484610cb6565b610715843361071085604051806060016040528060288152602001611d90602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111f2565b610b92565b5060019392505050565b6000546001600160a01b031633146107495760405162461bcd60e51b815260040161062a90611c28565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107945760405162461bcd60e51b815260040161062a90611c28565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107e757506013546001600160a01b0316336001600160a01b0316145b6107f057600080fd5b476107fa8161122c565b50565b6001600160a01b0381166000908152600260205260408120546106b090611266565b6000546001600160a01b031633146108495760405162461bcd60e51b815260040161062a90611c28565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108bd5760405162461bcd60e51b815260040161062a90611c28565b601655565b6000546001600160a01b031633146108ec5760405162461bcd60e51b815260040161062a90611c28565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109345760405162461bcd60e51b815260040161062a90611c28565b601855565b6000546001600160a01b031633146109635760405162461bcd60e51b815260040161062a90611c28565b600893909355600a91909155600955600b55565b60006106ac338484610cb6565b6012546001600160a01b0316336001600160a01b031614806109b957506013546001600160a01b0316336001600160a01b0316145b6109c257600080fd5b60006109cd306107fd565b90506107fa816112ea565b6000546001600160a01b03163314610a025760405162461bcd60e51b815260040161062a90611c28565b60005b82811015610a73578160056000868685818110610a2457610a24611c5d565b9050602002016020810190610a399190611ad8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a6b81611c89565b915050610a05565b50505050565b6000546001600160a01b03163314610aa35760405162461bcd60e51b815260040161062a90611c28565b601755565b6000546001600160a01b03163314610ad25760405162461bcd60e51b815260040161062a90611c28565b6001600160a01b038116610b375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161062a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bf45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161062a565b6001600160a01b038216610c555760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161062a565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d1a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161062a565b6001600160a01b038216610d7c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161062a565b60008111610dde5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161062a565b6000546001600160a01b03848116911614801590610e0a57506000546001600160a01b03838116911614155b156110eb57601554600160a01b900460ff16610ea3576000546001600160a01b03848116911614610ea35760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161062a565b601654811115610ef55760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161062a565b6001600160a01b03831660009081526010602052604090205460ff16158015610f3757506001600160a01b03821660009081526010602052604090205460ff16155b610f8f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161062a565b6015546001600160a01b038381169116146110145760175481610fb1846107fd565b610fbb9190611ca2565b106110145760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161062a565b600061101f306107fd565b6018546016549192508210159082106110385760165491505b80801561104f5750601554600160a81b900460ff16155b801561106957506015546001600160a01b03868116911614155b801561107e5750601554600160b01b900460ff165b80156110a357506001600160a01b03851660009081526005602052604090205460ff16155b80156110c857506001600160a01b03841660009081526005602052604090205460ff16155b156110e8576110d6826112ea565b4780156110e6576110e64761122c565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061112d57506001600160a01b03831660009081526005602052604090205460ff165b8061115f57506015546001600160a01b0385811691161480159061115f57506015546001600160a01b03848116911614155b1561116c575060006111e6565b6015546001600160a01b03858116911614801561119757506014546001600160a01b03848116911614155b156111a957600854600c55600954600d555b6015546001600160a01b0384811691161480156111d457506014546001600160a01b03858116911614155b156111e657600a54600c55600b54600d555b610a7384848484611464565b600081848411156112165760405162461bcd60e51b815260040161062a9190611a1d565b5060006112238486611cb5565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561069b573d6000803e3d6000fd5b60006006548211156112cd5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161062a565b60006112d7611492565b90506112e383826114b5565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061133257611332611c5d565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561138b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113af9190611cc8565b816001815181106113c2576113c2611c5d565b6001600160a01b0392831660209182029290920101526014546113e89130911684610b92565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611421908590600090869030904290600401611ce5565b600060405180830381600087803b15801561143b57600080fd5b505af115801561144f573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b80611471576114716114f7565b61147c848484611525565b80610a7357610a73600e54600c55600f54600d55565b600080600061149f61161c565b90925090506114ae82826114b5565b9250505090565b60006112e383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061165c565b600c541580156115075750600d54155b1561150e57565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806115378761168a565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061156990876116e7565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115989086611729565b6001600160a01b0389166000908152600260205260409020556115ba81611788565b6115c484836117d2565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161160991815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061163782826114b5565b82101561165357505060065492670de0b6b3a764000092509050565b90939092509050565b6000818361167d5760405162461bcd60e51b815260040161062a9190611a1d565b5060006112238486611d56565b60008060008060008060008060006116a78a600c54600d546117f6565b92509250925060006116b7611492565b905060008060006116ca8e87878761184b565b919e509c509a509598509396509194505050505091939550919395565b60006112e383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111f2565b6000806117368385611ca2565b9050838110156112e35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161062a565b6000611792611492565b905060006117a0838361189b565b306000908152600260205260409020549091506117bd9082611729565b30600090815260026020526040902055505050565b6006546117df90836116e7565b6006556007546117ef9082611729565b6007555050565b6000808080611810606461180a898961189b565b906114b5565b90506000611823606461180a8a8961189b565b9050600061183b826118358b866116e7565b906116e7565b9992985090965090945050505050565b600080808061185a888661189b565b90506000611868888761189b565b90506000611876888861189b565b905060006118888261183586866116e7565b939b939a50919850919650505050505050565b6000826000036118ad575060006106b0565b60006118b98385611d78565b9050826118c68583611d56565b146112e35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161062a565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107fa57600080fd5b803561195381611933565b919050565b6000602080838503121561196b57600080fd5b823567ffffffffffffffff8082111561198357600080fd5b818501915085601f83011261199757600080fd5b8135818111156119a9576119a961191d565b8060051b604051601f19603f830116810181811085821117156119ce576119ce61191d565b6040529182528482019250838101850191888311156119ec57600080fd5b938501935b82851015611a1157611a0285611948565b845293850193928501926119f1565b98975050505050505050565b600060208083528351808285015260005b81811015611a4a57858101830151858201604001528201611a2e565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611a7e57600080fd5b8235611a8981611933565b946020939093013593505050565b600080600060608486031215611aac57600080fd5b8335611ab781611933565b92506020840135611ac781611933565b929592945050506040919091013590565b600060208284031215611aea57600080fd5b81356112e381611933565b8035801515811461195357600080fd5b600060208284031215611b1757600080fd5b6112e382611af5565b600060208284031215611b3257600080fd5b5035919050565b60008060008060808587031215611b4f57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611b8057600080fd5b833567ffffffffffffffff80821115611b9857600080fd5b818601915086601f830112611bac57600080fd5b813581811115611bbb57600080fd5b8760208260051b8501011115611bd057600080fd5b602092830195509350611be69186019050611af5565b90509250925092565b60008060408385031215611c0257600080fd5b8235611c0d81611933565b91506020830135611c1d81611933565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c9b57611c9b611c73565b5060010190565b808201808211156106b0576106b0611c73565b818103818111156106b0576106b0611c73565b600060208284031215611cda57600080fd5b81516112e381611933565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d355784516001600160a01b031683529383019391830191600101611d10565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d7357634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176106b0576106b0611c7356fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e49729f0b154982fff05bab082570377999c07750d167454d319c44ddeef4b3464736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c492f04611610064578063c492f0461461055a578063dd62ed3e1461057a578063ea1644d5146105c0578063f2fde38b146105e057600080fd5b8063a2a957bb146104d5578063a9059cbb146104f5578063bfd7928414610515578063c3c8cd801461054557600080fd5b80638f70ccf7116100d15780638f70ccf71461044f5780638f9a55c01461046f57806395d89b411461048557806398a5c315146104b557600080fd5b80637d1db4a5146103ee5780637f2feddc146104045780638da5cb5b1461043157600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461038457806370a0823114610399578063715018a6146103b957806374010ece146103ce57600080fd5b8063313ce5671461030857806349bd5a5e146103245780636b999053146103445780636d8aa8f81461036457600080fd5b80631694505e116101ab5780631694505e1461027557806318160ddd146102ad57806323b872dd146102d25780632fd689e3146102f257600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024557600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611958565b610600565b005b34801561020a57600080fd5b5060408051808201909152600c81526b4348414420534f434945545960a01b60208201525b60405161023c9190611a1d565b60405180910390f35b34801561025157600080fd5b50610265610260366004611a6b565b61069f565b604051901515815260200161023c565b34801561028157600080fd5b50601454610295906001600160a01b031681565b6040516001600160a01b03909116815260200161023c565b3480156102b957600080fd5b50670de0b6b3a76400005b60405190815260200161023c565b3480156102de57600080fd5b506102656102ed366004611a97565b6106b6565b3480156102fe57600080fd5b506102c460185481565b34801561031457600080fd5b506040516009815260200161023c565b34801561033057600080fd5b50601554610295906001600160a01b031681565b34801561035057600080fd5b506101fc61035f366004611ad8565b61071f565b34801561037057600080fd5b506101fc61037f366004611b05565b61076a565b34801561039057600080fd5b506101fc6107b2565b3480156103a557600080fd5b506102c46103b4366004611ad8565b6107fd565b3480156103c557600080fd5b506101fc61081f565b3480156103da57600080fd5b506101fc6103e9366004611b20565b610893565b3480156103fa57600080fd5b506102c460165481565b34801561041057600080fd5b506102c461041f366004611ad8565b60116020526000908152604090205481565b34801561043d57600080fd5b506000546001600160a01b0316610295565b34801561045b57600080fd5b506101fc61046a366004611b05565b6108c2565b34801561047b57600080fd5b506102c460175481565b34801561049157600080fd5b50604080518082019091526007815266534f434945545960c81b602082015261022f565b3480156104c157600080fd5b506101fc6104d0366004611b20565b61090a565b3480156104e157600080fd5b506101fc6104f0366004611b39565b610939565b34801561050157600080fd5b50610265610510366004611a6b565b610977565b34801561052157600080fd5b50610265610530366004611ad8565b60106020526000908152604090205460ff1681565b34801561055157600080fd5b506101fc610984565b34801561056657600080fd5b506101fc610575366004611b6b565b6109d8565b34801561058657600080fd5b506102c4610595366004611bef565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105cc57600080fd5b506101fc6105db366004611b20565b610a79565b3480156105ec57600080fd5b506101fc6105fb366004611ad8565b610aa8565b6000546001600160a01b031633146106335760405162461bcd60e51b815260040161062a90611c28565b60405180910390fd5b60005b815181101561069b5760016010600084848151811061065757610657611c5d565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061069381611c89565b915050610636565b5050565b60006106ac338484610b92565b5060015b92915050565b60006106c3848484610cb6565b610715843361071085604051806060016040528060288152602001611d90602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111f2565b610b92565b5060019392505050565b6000546001600160a01b031633146107495760405162461bcd60e51b815260040161062a90611c28565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107945760405162461bcd60e51b815260040161062a90611c28565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107e757506013546001600160a01b0316336001600160a01b0316145b6107f057600080fd5b476107fa8161122c565b50565b6001600160a01b0381166000908152600260205260408120546106b090611266565b6000546001600160a01b031633146108495760405162461bcd60e51b815260040161062a90611c28565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108bd5760405162461bcd60e51b815260040161062a90611c28565b601655565b6000546001600160a01b031633146108ec5760405162461bcd60e51b815260040161062a90611c28565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109345760405162461bcd60e51b815260040161062a90611c28565b601855565b6000546001600160a01b031633146109635760405162461bcd60e51b815260040161062a90611c28565b600893909355600a91909155600955600b55565b60006106ac338484610cb6565b6012546001600160a01b0316336001600160a01b031614806109b957506013546001600160a01b0316336001600160a01b0316145b6109c257600080fd5b60006109cd306107fd565b90506107fa816112ea565b6000546001600160a01b03163314610a025760405162461bcd60e51b815260040161062a90611c28565b60005b82811015610a73578160056000868685818110610a2457610a24611c5d565b9050602002016020810190610a399190611ad8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a6b81611c89565b915050610a05565b50505050565b6000546001600160a01b03163314610aa35760405162461bcd60e51b815260040161062a90611c28565b601755565b6000546001600160a01b03163314610ad25760405162461bcd60e51b815260040161062a90611c28565b6001600160a01b038116610b375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161062a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bf45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161062a565b6001600160a01b038216610c555760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161062a565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d1a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161062a565b6001600160a01b038216610d7c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161062a565b60008111610dde5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161062a565b6000546001600160a01b03848116911614801590610e0a57506000546001600160a01b03838116911614155b156110eb57601554600160a01b900460ff16610ea3576000546001600160a01b03848116911614610ea35760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161062a565b601654811115610ef55760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161062a565b6001600160a01b03831660009081526010602052604090205460ff16158015610f3757506001600160a01b03821660009081526010602052604090205460ff16155b610f8f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161062a565b6015546001600160a01b038381169116146110145760175481610fb1846107fd565b610fbb9190611ca2565b106110145760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161062a565b600061101f306107fd565b6018546016549192508210159082106110385760165491505b80801561104f5750601554600160a81b900460ff16155b801561106957506015546001600160a01b03868116911614155b801561107e5750601554600160b01b900460ff165b80156110a357506001600160a01b03851660009081526005602052604090205460ff16155b80156110c857506001600160a01b03841660009081526005602052604090205460ff16155b156110e8576110d6826112ea565b4780156110e6576110e64761122c565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061112d57506001600160a01b03831660009081526005602052604090205460ff165b8061115f57506015546001600160a01b0385811691161480159061115f57506015546001600160a01b03848116911614155b1561116c575060006111e6565b6015546001600160a01b03858116911614801561119757506014546001600160a01b03848116911614155b156111a957600854600c55600954600d555b6015546001600160a01b0384811691161480156111d457506014546001600160a01b03858116911614155b156111e657600a54600c55600b54600d555b610a7384848484611464565b600081848411156112165760405162461bcd60e51b815260040161062a9190611a1d565b5060006112238486611cb5565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561069b573d6000803e3d6000fd5b60006006548211156112cd5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161062a565b60006112d7611492565b90506112e383826114b5565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061133257611332611c5d565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561138b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113af9190611cc8565b816001815181106113c2576113c2611c5d565b6001600160a01b0392831660209182029290920101526014546113e89130911684610b92565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611421908590600090869030904290600401611ce5565b600060405180830381600087803b15801561143b57600080fd5b505af115801561144f573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b80611471576114716114f7565b61147c848484611525565b80610a7357610a73600e54600c55600f54600d55565b600080600061149f61161c565b90925090506114ae82826114b5565b9250505090565b60006112e383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061165c565b600c541580156115075750600d54155b1561150e57565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806115378761168a565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061156990876116e7565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115989086611729565b6001600160a01b0389166000908152600260205260409020556115ba81611788565b6115c484836117d2565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161160991815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061163782826114b5565b82101561165357505060065492670de0b6b3a764000092509050565b90939092509050565b6000818361167d5760405162461bcd60e51b815260040161062a9190611a1d565b5060006112238486611d56565b60008060008060008060008060006116a78a600c54600d546117f6565b92509250925060006116b7611492565b905060008060006116ca8e87878761184b565b919e509c509a509598509396509194505050505091939550919395565b60006112e383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111f2565b6000806117368385611ca2565b9050838110156112e35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161062a565b6000611792611492565b905060006117a0838361189b565b306000908152600260205260409020549091506117bd9082611729565b30600090815260026020526040902055505050565b6006546117df90836116e7565b6006556007546117ef9082611729565b6007555050565b6000808080611810606461180a898961189b565b906114b5565b90506000611823606461180a8a8961189b565b9050600061183b826118358b866116e7565b906116e7565b9992985090965090945050505050565b600080808061185a888661189b565b90506000611868888761189b565b90506000611876888861189b565b905060006118888261183586866116e7565b939b939a50919850919650505050505050565b6000826000036118ad575060006106b0565b60006118b98385611d78565b9050826118c68583611d56565b146112e35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161062a565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107fa57600080fd5b803561195381611933565b919050565b6000602080838503121561196b57600080fd5b823567ffffffffffffffff8082111561198357600080fd5b818501915085601f83011261199757600080fd5b8135818111156119a9576119a961191d565b8060051b604051601f19603f830116810181811085821117156119ce576119ce61191d565b6040529182528482019250838101850191888311156119ec57600080fd5b938501935b82851015611a1157611a0285611948565b845293850193928501926119f1565b98975050505050505050565b600060208083528351808285015260005b81811015611a4a57858101830151858201604001528201611a2e565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611a7e57600080fd5b8235611a8981611933565b946020939093013593505050565b600080600060608486031215611aac57600080fd5b8335611ab781611933565b92506020840135611ac781611933565b929592945050506040919091013590565b600060208284031215611aea57600080fd5b81356112e381611933565b8035801515811461195357600080fd5b600060208284031215611b1757600080fd5b6112e382611af5565b600060208284031215611b3257600080fd5b5035919050565b60008060008060808587031215611b4f57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611b8057600080fd5b833567ffffffffffffffff80821115611b9857600080fd5b818601915086601f830112611bac57600080fd5b813581811115611bbb57600080fd5b8760208260051b8501011115611bd057600080fd5b602092830195509350611be69186019050611af5565b90509250925092565b60008060408385031215611c0257600080fd5b8235611c0d81611933565b91506020830135611c1d81611933565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c9b57611c9b611c73565b5060010190565b808201808211156106b0576106b0611c73565b818103818111156106b0576106b0611c73565b600060208284031215611cda57600080fd5b81516112e381611933565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d355784516001600160a01b031683529383019391830191600101611d10565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d7357634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176106b0576106b0611c7356fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e49729f0b154982fff05bab082570377999c07750d167454d319c44ddeef4b3464736f6c63430008110033

Deployed Bytecode Sourcemap

4363:14360:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13580:177;;;;;;;;;;-1:-1:-1;13580:177:0;;;;;:::i;:::-;;:::i;:::-;;7006:87;;;;;;;;;;-1:-1:-1;7078:5:0;;;;;;;;;;;;-1:-1:-1;;;7078:5:0;;;;7006:87;;;;;;;:::i;:::-;;;;;;;;8007:207;;;;;;;;;;-1:-1:-1;8007:207:0;;;;;:::i;:::-;;:::i;:::-;;;2585:14:1;;2578:22;2560:41;;2548:2;2533:18;8007:207:0;2420:187:1;5779:41:0;;;;;;;;;;-1:-1:-1;5779:41:0;;;;-1:-1:-1;;;;;5779:41:0;;;;;;-1:-1:-1;;;;;2802:32:1;;;2784:51;;2772:2;2757:18;5779:41:0;2612:229:1;7307:99:0;;;;;;;;;;-1:-1:-1;4947:18:0;7307:99;;;2992:25:1;;;2980:2;2965:18;7307:99:0;2846:177:1;8226:476:0;;;;;;;;;;-1:-1:-1;8226:476:0;;;;;:::i;:::-;;:::i;6102:50::-;;;;;;;;;;;;;;;;7208:87;;;;;;;;;;-1:-1:-1;7208:87:0;;4607:1;3631:36:1;;3619:2;3604:18;7208:87:0;3489:184:1;5829:28:0;;;;;;;;;;-1:-1:-1;5829:28:0;;;;-1:-1:-1;;;;;5829:28:0;;;13769:96;;;;;;;;;;-1:-1:-1;13769:96:0;;;;;:::i;:::-;;:::i;18067:105::-;;;;;;;;;;-1:-1:-1;18067:105:0;;;;;:::i;:::-;;:::i;13325:243::-;;;;;;;;;;;;;:::i;7418:142::-;;;;;;;;;;-1:-1:-1;7418:142:0;;;;;:::i;:::-;;:::i;1662:154::-;;;;;;;;;;;;;:::i;18217:112::-;;;;;;;;;;-1:-1:-1;18217:112:0;;;;;:::i;:::-;;:::i;5990:46::-;;;;;;;;;;;;;;;;5513:43;;;;;;;;;;-1:-1:-1;5513:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1430:83;;;;;;;;;;-1:-1:-1;1468:7:0;1497:6;-1:-1:-1;;;;;1497:6:0;1430:83;;12952:105;;;;;;;;;;-1:-1:-1;12952:105:0;;;;;:::i;:::-;;:::i;6045:48::-;;;;;;;;;;;;;;;;7105:91;;;;;;;;;;-1:-1:-1;7179:7:0;;;;;;;;;;;;-1:-1:-1;;;7179:7:0;;;;7105:91;;17866:143;;;;;;;;;;-1:-1:-1;17866:143:0;;;;;:::i;:::-;;:::i;17507:301::-;;;;;;;;;;-1:-1:-1;17507:301:0;;;;;:::i;:::-;;:::i;7572:213::-;;;;;;;;;;-1:-1:-1;7572:213:0;;;;;:::i;:::-;;:::i;5475:36::-;;;;;;;;;;-1:-1:-1;5475:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13069:244;;;;;;;;;;;;;:::i;18472:242::-;;;;;;;;;;-1:-1:-1;18472:242:0;;;;;:::i;:::-;;:::i;7797:198::-;;;;;;;;;;-1:-1:-1;7797:198:0;;;;;:::i;:::-;-1:-1:-1;;;;;7958:18:0;;;7922:7;7958:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7797:198;18341:119;;;;;;;;;;-1:-1:-1;18341:119:0;;;;;:::i;:::-;;:::i;1828:252::-;;;;;;;;;;-1:-1:-1;1828:252:0;;;;;:::i;:::-;;:::i;13580:177::-;1567:6;;-1:-1:-1;;;;;1567:6:0;183:10;1567:22;1559:67;;;;-1:-1:-1;;;1559:67:0;;;;;;;:::i;:::-;;;;;;;;;13658:9:::1;13653:95;13677:5;:12;13673:1;:16;13653:95;;;13730:4;13713;:14;13718:5;13724:1;13718:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13713:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13713:14:0;:21;;-1:-1:-1;;13713:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13691:3;::::1;::::0;::::1;:::i;:::-;;;;13653:95;;;;13580:177:::0;:::o;8007:207::-;8115:4;8141:39;183:10;8164:7;8173:6;8141:8;:39::i;:::-;-1:-1:-1;8200:4:0;8007:207;;;;;:::o;8226:476::-;8366:4;8385:36;8395:6;8403:9;8414:6;8385:9;:36::i;:::-;8434:234;8459:6;183:10;8511:144;8569:6;8511:144;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8511:19:0;;;;;;:11;:19;;;;;;;;183:10;8511:33;;;;;;;;;;:37;:144::i;:::-;8434:8;:234::i;:::-;-1:-1:-1;8688:4:0;8226:476;;;;;:::o;13769:96::-;1567:6;;-1:-1:-1;;;;;1567:6:0;183:10;1567:22;1559:67;;;;-1:-1:-1;;;1559:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13835:12:0::1;13850:5;13835:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13835:20:0::1;::::0;;13769:96::o;18067:105::-;1567:6;;-1:-1:-1;;;;;1567:6:0;183:10;1567:22;1559:67;;;;-1:-1:-1;;;1559:67:0;;;;;;;:::i;:::-;18136:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;18136:26:0::1;-1:-1:-1::0;;;;18136:26:0;;::::1;::::0;;;::::1;::::0;;18067:105::o;13325:243::-;13393:19;;-1:-1:-1;;;;;13393:19:0;183:10;-1:-1:-1;;;;;13377:35:0;;:72;;;-1:-1:-1;13432:17:0;;-1:-1:-1;;;;;13432:17:0;183:10;-1:-1:-1;;;;;13416:33:0;;13377:72;13369:81;;;;;;13492:21;13526:32;13492:21;13526:12;:32::i;:::-;13356:212;13325:243::o;7418:142::-;-1:-1:-1;;;;;7533:16:0;;7484:7;7533:16;;;:7;:16;;;;;;7513:37;;:19;:37::i;1662:154::-;1567:6;;-1:-1:-1;;;;;1567:6:0;183:10;1567:22;1559:67;;;;-1:-1:-1;;;1559:67:0;;;;;;;:::i;:::-;1771:1:::1;1755:6:::0;;1734:40:::1;::::0;-1:-1:-1;;;;;1755:6:0;;::::1;::::0;1734:40:::1;::::0;1771:1;;1734:40:::1;1804:1;1787:19:::0;;-1:-1:-1;;;;;;1787:19:0::1;::::0;;1662:154::o;18217:112::-;1567:6;;-1:-1:-1;;;;;1567:6:0;183:10;1567:22;1559:67;;;;-1:-1:-1;;;1559:67:0;;;;;;;:::i;:::-;18293:12:::1;:26:::0;18217:112::o;12952:105::-;1567:6;;-1:-1:-1;;;;;1567:6:0;183:10;1567:22;1559:67;;;;-1:-1:-1;;;1559:67:0;;;;;;;:::i;:::-;13021:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;13021:26:0::1;-1:-1:-1::0;;;;13021:26:0;;::::1;::::0;;;::::1;::::0;;12952:105::o;17866:143::-;1567:6;;-1:-1:-1;;;;;1567:6:0;183:10;1567:22;1559:67;;;;-1:-1:-1;;;1559:67:0;;;;;;;:::i;:::-;17959:19:::1;:40:::0;17866:143::o;17507:301::-;1567:6;;-1:-1:-1;;;;;1567:6:0;183:10;1567:22;1559:67;;;;-1:-1:-1;;;1559:67:0;;;;;;;:::i;:::-;17643:14:::1;:30:::0;;;;17686:15:::1;:32:::0;;;;17731:12:::1;:26:::0;17770:13:::1;:28:::0;17507:301::o;7572:213::-;7683:4;7709:42;183:10;7733:9;7744:6;7709:9;:42::i;13069:244::-;13137:19;;-1:-1:-1;;;;;13137:19:0;183:10;-1:-1:-1;;;;;13121:35:0;;:72;;;-1:-1:-1;13176:17:0;;-1:-1:-1;;;;;13176:17:0;183:10;-1:-1:-1;;;;;13160:33:0;;13121:72;13113:81;;;;;;13207:23;13233:24;13251:4;13233:9;:24::i;:::-;13207:50;;13270:33;13287:15;13270:16;:33::i;18472:242::-;1567:6;;-1:-1:-1;;;;;1567:6:0;183:10;1567:22;1559:67;;;;-1:-1:-1;;;1559:67:0;;;;;;;:::i;:::-;18591:9:::1;18587:118;18606:19:::0;;::::1;18587:118;;;18683:8;18649:18;:31;18668:8;;18677:1;18668:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18649:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18649:31:0;:42;;-1:-1:-1;;18649:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18627:3;::::1;::::0;::::1;:::i;:::-;;;;18587:118;;;;18472:242:::0;;;:::o;18341:119::-;1567:6;;-1:-1:-1;;;;;1567:6:0;183:10;1567:22;1559:67;;;;-1:-1:-1;;;1559:67:0;;;;;;;:::i;:::-;18420:14:::1;:30:::0;18341:119::o;1828:252::-;1567:6;;-1:-1:-1;;;;;1567:6:0;183:10;1567:22;1559:67;;;;-1:-1:-1;;;1559:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1919:22:0;::::1;1911:73;;;::::0;-1:-1:-1;;;1911:73:0;;7117:2:1;1911:73:0::1;::::0;::::1;7099:21:1::0;7156:2;7136:18;;;7129:30;7195:34;7175:18;;;7168:62;-1:-1:-1;;;7246:18:1;;;7239:36;7292:19;;1911:73:0::1;6915:402:1::0;1911:73:0::1;2023:6;::::0;;2002:38:::1;::::0;-1:-1:-1;;;;;2002:38:0;;::::1;::::0;2023:6;::::1;::::0;2002:38:::1;::::0;::::1;2053:6;:17:::0;;-1:-1:-1;;;;;;2053:17:0::1;-1:-1:-1::0;;;;;2053:17:0;;;::::1;::::0;;;::::1;::::0;;1828:252::o;9453:387::-;-1:-1:-1;;;;;9590:19:0;;9582:68;;;;-1:-1:-1;;;9582:68:0;;7524:2:1;9582:68:0;;;7506:21:1;7563:2;7543:18;;;7536:30;7602:34;7582:18;;;7575:62;-1:-1:-1;;;7653:18:1;;;7646:34;7697:19;;9582:68:0;7322:400:1;9582:68:0;-1:-1:-1;;;;;9671:21:0;;9663:68;;;;-1:-1:-1;;;9663:68:0;;7929:2:1;9663:68:0;;;7911:21:1;7968:2;7948:18;;;7941:30;8007:34;7987:18;;;7980:62;-1:-1:-1;;;8058:18:1;;;8051:32;8100:19;;9663:68:0;7727:398:1;9663:68:0;-1:-1:-1;;;;;9744:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9798:32;;2992:25:1;;;9798:32:0;;2965:18:1;9798:32:0;;;;;;;9453:387;;;:::o;9852:2454::-;-1:-1:-1;;;;;9984:18:0;;9976:68;;;;-1:-1:-1;;;9976:68:0;;8332:2:1;9976:68:0;;;8314:21:1;8371:2;8351:18;;;8344:30;8410:34;8390:18;;;8383:62;-1:-1:-1;;;8461:18:1;;;8454:35;8506:19;;9976:68:0;8130:401:1;9976:68:0;-1:-1:-1;;;;;10065:16:0;;10057:64;;;;-1:-1:-1;;;10057:64:0;;8738:2:1;10057:64:0;;;8720:21:1;8777:2;8757:18;;;8750:30;8816:34;8796:18;;;8789:62;-1:-1:-1;;;8867:18:1;;;8860:33;8910:19;;10057:64:0;8536:399:1;10057:64:0;10151:1;10142:6;:10;10134:64;;;;-1:-1:-1;;;10134:64:0;;9142:2:1;10134:64:0;;;9124:21:1;9181:2;9161:18;;;9154:30;9220:34;9200:18;;;9193:62;-1:-1:-1;;;9271:18:1;;;9264:39;9320:19;;10134:64:0;8940:405:1;10134:64:0;1468:7;1497:6;-1:-1:-1;;;;;10219:15:0;;;1497:6;;10219:15;;;;:32;;-1:-1:-1;1468:7:0;1497:6;-1:-1:-1;;;;;10238:13:0;;;1497:6;;10238:13;;10219:32;10215:1317;;;10314:11;;-1:-1:-1;;;10314:11:0;;;;10309:148;;1468:7;1497:6;-1:-1:-1;;;;;10356:15:0;;;1497:6;;10356:15;10348:91;;;;-1:-1:-1;;;10348:91:0;;9552:2:1;10348:91:0;;;9534:21:1;9591:2;9571:18;;;9564:30;9630:34;9610:18;;;9603:62;9701:33;9681:18;;;9674:61;9752:19;;10348:91:0;9350:427:1;10348:91:0;10495:12;;10485:6;:22;;10477:63;;;;-1:-1:-1;;;10477:63:0;;9984:2:1;10477:63:0;;;9966:21:1;10023:2;10003:18;;;9996:30;10062;10042:18;;;10035:58;10110:18;;10477:63:0;9782:352:1;10477:63:0;-1:-1:-1;;;;;10566:10:0;;;;;;:4;:10;;;;;;;;10565:11;:24;;;;-1:-1:-1;;;;;;10581:8:0;;;;;;:4;:8;;;;;;;;10580:9;10565:24;10557:72;;;;-1:-1:-1;;;10557:72:0;;10341:2:1;10557:72:0;;;10323:21:1;10380:2;10360:18;;;10353:30;10419:34;10399:18;;;10392:62;-1:-1:-1;;;10470:18:1;;;10463:33;10513:19;;10557:72:0;10139:399:1;10557:72:0;10659:13;;-1:-1:-1;;;;;10653:19:0;;;10659:13;;10653:19;10650:150;;10728:14;;10719:6;10703:13;10713:2;10703:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10695:87;;;;-1:-1:-1;;;10695:87:0;;10875:2:1;10695:87:0;;;10857:21:1;10914:2;10894:18;;;10887:30;10953:34;10933:18;;;10926:62;-1:-1:-1;;;11004:18:1;;;10997:33;11047:19;;10695:87:0;10673:399:1;10695:87:0;10820:28;10851:24;10869:4;10851:9;:24::i;:::-;10931:19;;10998:12;;10820:55;;-1:-1:-1;10907:43:0;;;;10974:36;;10971:130;;11071:12;;11048:35;;10971:130;11125:7;:18;;;;-1:-1:-1;11137:6:0;;-1:-1:-1;;;11137:6:0;;;;11136:7;11125:18;:43;;;;-1:-1:-1;11155:13:0;;-1:-1:-1;;;;;11147:21:0;;;11155:13;;11147:21;;11125:43;:58;;;;-1:-1:-1;11172:11:0;;-1:-1:-1;;;11172:11:0;;;;11125:58;:87;;;;-1:-1:-1;;;;;;11188:24:0;;;;;;:18;:24;;;;;;;;11187:25;11125:87;:114;;;;-1:-1:-1;;;;;;11217:22:0;;;;;;:18;:22;;;;;;;;11216:23;11125:114;11121:398;;;11262:38;11279:20;11262:16;:38::i;:::-;11350:21;11396:22;;11392:110;;11445:35;11458:21;11445:12;:35::i;:::-;11241:278;11121:398;10253:1279;;10215:1317;-1:-1:-1;;;;;11618:24:0;;11548:12;11618:24;;;:18;:24;;;;;;11563:4;;11618:24;;;:50;;-1:-1:-1;;;;;;11646:22:0;;;;;;:18;:22;;;;;;;;11618:50;11617:102;;;-1:-1:-1;11682:13:0;;-1:-1:-1;;;;;11674:21:0;;;11682:13;;11674:21;;;;:44;;-1:-1:-1;11705:13:0;;-1:-1:-1;;;;;11699:19:0;;;11705:13;;11699:19;;11674:44;11613:626;;;-1:-1:-1;11748:5:0;11613:626;;;11839:13;;-1:-1:-1;;;;;11831:21:0;;;11839:13;;11831:21;:55;;;;-1:-1:-1;11870:15:0;;-1:-1:-1;;;;;11856:30:0;;;11870:15;;11856:30;;11831:55;11828:168;;;11921:14;;11909:9;:26;11966:12;;11956:7;:22;11828:168;12061:13;;-1:-1:-1;;;;;12055:19:0;;;12061:13;;12055:19;:55;;;;-1:-1:-1;12094:15:0;;-1:-1:-1;;;;;12078:32:0;;;12094:15;;12078:32;;12055:55;12051:171;;;12145:15;;12133:9;:27;12191:13;;12181:7;:23;12051:171;12255:41;12270:4;12276:2;12280:6;12288:7;12255:14;:41::i;2474:240::-;2602:7;2640:12;2632:6;;;;2624:29;;;;-1:-1:-1;;;2624:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2666:9:0;2678:5;2682:1;2678;:5;:::i;:::-;2666:17;2474:240;-1:-1:-1;;;;;2474:240:0:o;12837:103::-;12896:17;;:34;;-1:-1:-1;;;;;12896:17:0;;;;:34;;;;;12923:6;;12896:17;:34;:17;:34;12923:6;12896:17;:34;;;;;;;;;;;;;;;;;;;8714:345;8815:7;8879;;8868;:18;;8844:116;;;;-1:-1:-1;;;8844:116:0;;11412:2:1;8844:116:0;;;11394:21:1;11451:2;11431:18;;;11424:30;11490:34;11470:18;;;11463:62;-1:-1:-1;;;11541:18:1;;;11534:40;11591:19;;8844:116:0;11210:406:1;8844:116:0;8973:19;8995:10;:8;:10::i;:::-;8973:32;-1:-1:-1;9025:24:0;:7;8973:32;9025:11;:24::i;:::-;9018:31;8714:345;-1:-1:-1;;;8714:345:0:o;12318:507::-;6254:6;:13;;-1:-1:-1;;;;6254:13:0;-1:-1:-1;;;6254:13:0;;;12422:16:::1;::::0;;12436:1:::1;12422:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12422:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12422:16:0::1;12398:40;;12469:4;12451;12456:1;12451:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12451:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12497:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12497:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12451:7;;12497:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12487:4;12492:1;12487:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12487:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12564:15:::1;::::0;12532:62:::1;::::0;12549:4:::1;::::0;12564:15:::1;12582:11:::0;12532:8:::1;:62::i;:::-;12607:15;::::0;:208:::1;::::0;-1:-1:-1;;;12607:208:0;;-1:-1:-1;;;;;12607:15:0;;::::1;::::0;:66:::1;::::0;:208:::1;::::0;12690:11;;12607:15:::1;::::0;12736:4;;12765::::1;::::0;12787:15:::1;::::0;12607:208:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6294:6:0;:14;;-1:-1:-1;;;;6294:14:0;;;-1:-1:-1;;;;12318:507:0:o;13877:300::-;14045:7;14040:28;;14054:14;:12;:14::i;:::-;14081:44;14099:6;14107:9;14118:6;14081:17;:44::i;:::-;14143:7;14138:29;;14152:15;9376:17;;9364:9;:29;9416:15;;9406:7;:25;9318:123;17046:170;17088:7;17111:15;17128;17147:19;:17;:19::i;:::-;17110:56;;-1:-1:-1;17110:56:0;-1:-1:-1;17186:20:0;17110:56;;17186:11;:20::i;:::-;17179:27;;;;17046:170;:::o;2998:136::-;3056:7;3085:39;3089:1;3092;3085:39;;;;;;;;;;;;;;;;;:3;:39::i;9071:235::-;9120:9;;:14;:30;;;;-1:-1:-1;9138:7:0;;:12;9120:30;9116:43;;;9071:235::o;9116:43::-;9195:9;;;9175:17;:29;9235:7;;;9217:15;:25;-1:-1:-1;9259:13:0;;;;9285:11;9071:235::o;14189:646::-;14348:15;14380:23;14420:12;14449:23;14489:12;14518:13;14547:19;14558:7;14547:10;:19::i;:::-;-1:-1:-1;;;;;14597:15:0;;;;;;:7;:15;;;;;;14331:235;;-1:-1:-1;14331:235:0;;-1:-1:-1;14331:235:0;;-1:-1:-1;14331:235:0;-1:-1:-1;14331:235:0;-1:-1:-1;14331:235:0;-1:-1:-1;14597:28:0;;14331:235;14597:19;:28::i;:::-;-1:-1:-1;;;;;14579:15:0;;;;;;;:7;:15;;;;;;:46;;;;14659:18;;;;;;;:39;;14682:15;14659:22;:39::i;:::-;-1:-1:-1;;;;;14638:18:0;;;;;;:7;:18;;;;;:60;14711:16;14721:5;14711:9;:16::i;:::-;14740:23;14752:4;14758;14740:11;:23::i;:::-;14798:9;-1:-1:-1;;;;;14781:44:0;14790:6;-1:-1:-1;;;;;14781:44:0;;14809:15;14781:44;;;;2992:25:1;;2980:2;2965:18;;2846:177;14781:44:0;;;;;;;;14318:517;;;;;;14189:646;;;:::o;17228:267::-;17328:7;;17279;;;;4947:18;17400:20;17328:7;4947:18;17400:11;:20::i;:::-;17390:7;:30;17386:61;;;-1:-1:-1;;17430:7:0;;;4947:18;;-1:-1:-1;17228:267:0;-1:-1:-1;17228:267:0:o;17386:61::-;17468:7;;17477;;-1:-1:-1;17228:267:0;-1:-1:-1;17228:267:0:o;3146:239::-;3274:7;3311:12;3304:5;3296:28;;;;-1:-1:-1;;;3296:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3337:9:0;3349:5;3353:1;3349;:5;:::i;15284:651::-;15392:7;15416;15440;15464;15488;15512;15554:23;15579:12;15593:13;15625:40;15637:7;15646:9;;15657:7;;15625:11;:40::i;:::-;15553:112;;;;;;15678:19;15700:10;:8;:10::i;:::-;15678:32;;15724:15;15741:23;15766:12;15797:46;15809:7;15818:4;15824:5;15831:11;15797;:46::i;:::-;15723:120;;-1:-1:-1;15723:120:0;-1:-1:-1;15723:120:0;-1:-1:-1;15896:15:0;;-1:-1:-1;15913:4:0;;-1:-1:-1;15919:5:0;;-1:-1:-1;;;;;15284:651:0;;;;;;;:::o;2322:140::-;2380:7;2409:43;2413:1;2416;2409:43;;;;;;;;;;;;;;;;;:3;:43::i;2123:187::-;2181:7;;2215:5;2219:1;2215;:5;:::i;:::-;2203:17;;2246:1;2241;:6;;2233:46;;;;-1:-1:-1;;;2233:46:0;;13286:2:1;2233:46:0;;;13268:21:1;13325:2;13305:18;;;13298:30;13364:29;13344:18;;;13337:57;13411:18;;2233:46:0;13084:351:1;14847:219:0;14902:19;14924:10;:8;:10::i;:::-;14902:32;-1:-1:-1;14947:13:0;14963:22;:5;14902:32;14963:9;:22::i;:::-;15039:4;15023:22;;;;:7;:22;;;;;;14947:38;;-1:-1:-1;15023:33:0;;14947:38;15023:26;:33::i;:::-;15014:4;14998:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14847:219:0:o;15078:153::-;15158:7;;:17;;15170:4;15158:11;:17::i;:::-;15148:7;:27;15201:10;;:20;;15216:4;15201:14;:20::i;:::-;15188:10;:33;-1:-1:-1;;15078:153:0:o;15947:503::-;16132:7;;;;16236:30;16262:3;16236:21;:7;16248:8;16236:11;:21::i;:::-;:25;;:30::i;:::-;16221:45;-1:-1:-1;16279:13:0;16295:28;16319:3;16295:19;:7;16307:6;16295:11;:19::i;:28::-;16279:44;-1:-1:-1;16336:23:0;16362:28;16279:44;16362:17;:7;16374:4;16362:11;:17::i;:::-;:21;;:28::i;:::-;16336:54;16428:4;;-1:-1:-1;16434:5:0;;-1:-1:-1;15947:503:0;;-1:-1:-1;;;;;15947:503:0:o;16462:572::-;16674:7;;;;16781:24;:7;16793:11;16781;:24::i;:::-;16763:42;-1:-1:-1;16818:12:0;16833:21;:4;16842:11;16833:8;:21::i;:::-;16818:36;-1:-1:-1;16867:13:0;16883:22;:5;16893:11;16883:9;:22::i;:::-;16867:38;-1:-1:-1;16918:23:0;16944:28;16867:38;16944:17;:7;16956:4;16944:11;:17::i;:28::-;16993:7;;;;-1:-1:-1;17019:4:0;;-1:-1:-1;16462:572:0;;-1:-1:-1;;;;;;;16462:572:0:o;2726:260::-;2784:7;2810:1;2815;2810:6;2806:51;;-1:-1:-1;2842:1:0;2835:8;;2806:51;2869:9;2881:5;2885:1;2881;:5;:::i;:::-;2869:17;-1:-1:-1;2916:1:0;2907:5;2911:1;2869:17;2907:5;:::i;:::-;:10;2899:56;;;;-1:-1:-1;;;2899:56:0;;13815:2:1;2899:56:0;;;13797:21:1;13854:2;13834:18;;;13827:30;13893:34;13873:18;;;13866:62;-1:-1:-1;;;13944:18:1;;;13937:31;13985:19;;2899:56:0;13613: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:385::-;4759:6;4767;4775;4783;4836:3;4824:9;4815:7;4811:23;4807:33;4804:53;;;4853:1;4850;4843:12;4804:53;-1:-1:-1;;4876:23:1;;;4946:2;4931:18;;4918:32;;-1:-1:-1;4997:2:1;4982:18;;4969:32;;5048:2;5033:18;5020:32;;-1:-1:-1;4673:385:1;-1:-1:-1;4673:385:1:o;5063:689::-;5155:6;5163;5171;5224:2;5212:9;5203:7;5199:23;5195:32;5192:52;;;5240:1;5237;5230:12;5192:52;5280:9;5267:23;5309:18;5350:2;5342:6;5339:14;5336:34;;;5366:1;5363;5356:12;5336:34;5404:6;5393:9;5389:22;5379:32;;5449:7;5442:4;5438:2;5434:13;5430:27;5420:55;;5471:1;5468;5461:12;5420:55;5511:2;5498:16;5537:2;5529:6;5526:14;5523:34;;;5553:1;5550;5543:12;5523:34;5608:7;5601:4;5591:6;5588:1;5584:14;5580:2;5576:23;5572:34;5569:47;5566:67;;;5629:1;5626;5619:12;5566:67;5660:4;5652:13;;;;-1:-1:-1;5684:6:1;-1:-1:-1;5709:37:1;;5725:20;;;-1:-1:-1;5709:37:1;:::i;:::-;5699:47;;5063:689;;;;;:::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;10543:125::-;10608:9;;;10629:10;;;10626:36;;;10642:18;;:::i;11077:128::-;11144:9;;;11165:11;;;11162:37;;;11179:18;;:::i;11621:251::-;11691:6;11744:2;11732:9;11723:7;11719:23;11715:32;11712:52;;;11760:1;11757;11750:12;11712:52;11792:9;11786:16;11811:31;11836:5;11811:31;:::i;11877:980::-;12139:4;12187:3;12176:9;12172:19;12218:6;12207:9;12200:25;12244:2;12282:6;12277:2;12266:9;12262:18;12255:34;12325:3;12320:2;12309:9;12305:18;12298:31;12349:6;12384;12378:13;12415:6;12407;12400:22;12453:3;12442:9;12438:19;12431:26;;12492:2;12484:6;12480:15;12466:29;;12513:1;12523:195;12537:6;12534:1;12531:13;12523:195;;;12602:13;;-1:-1:-1;;;;;12598:39:1;12586:52;;12693:15;;;;12658:12;;;;12634:1;12552:9;12523:195;;;-1:-1:-1;;;;;;;12774:32:1;;;;12769:2;12754:18;;12747:60;-1:-1:-1;;;12838:3:1;12823:19;12816:35;12735:3;11877:980;-1:-1:-1;;;11877:980:1:o;12862:217::-;12902:1;12928;12918:132;;12972:10;12967:3;12963:20;12960:1;12953:31;13007:4;13004:1;12997:15;13035:4;13032:1;13025:15;12918:132;-1:-1:-1;13064:9:1;;12862:217::o;13440:168::-;13513:9;;;13544;;13561:15;;;13555:22;;13541:37;13531:71;;13582:18;;:::i

Swarm Source

ipfs://e49729f0b154982fff05bab082570377999c07750d167454d319c44ddeef4b34

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.