ETH Price: $3,620.17 (-7.02%)

Contract

0xb0AbA2f6464427AdABdA1713A243D490e86E9366
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve213918962024-12-13 6:47:595 days ago1734072479IN
0xb0AbA2f6...0e86E9366
0 ETH0.0002889211.86953434
Approve213542592024-12-08 0:42:2310 days ago1733618543IN
0xb0AbA2f6...0e86E9366
0 ETH0.0003348912.74225436
Approve213542262024-12-08 0:35:4710 days ago1733618147IN
0xb0AbA2f6...0e86E9366
0 ETH0.0002823411.62795428
Approve192534602024-02-18 8:19:35304 days ago1708244375IN
0xb0AbA2f6...0e86E9366
0 ETH0.0004873720.07161417
Approve190492692024-01-20 16:27:35333 days ago1705768055IN
0xb0AbA2f6...0e86E9366
0 ETH0.0004291217.67275105
Approve188395342023-12-22 6:14:35362 days ago1703225675IN
0xb0AbA2f6...0e86E9366
0 ETH0.0011209324.23428355
Approve186403682023-11-24 8:27:23390 days ago1700814443IN
0xb0AbA2f6...0e86E9366
0 ETH0.0007162629.49784599
Approve185686932023-11-14 7:36:47400 days ago1699947407IN
0xb0AbA2f6...0e86E9366
0 ETH0.0007818832.20022906
Approve184108452023-10-23 5:17:59422 days ago1698038279IN
0xb0AbA2f6...0e86E9366
0 ETH0.0002098.60753214
Approve183051762023-10-08 10:29:59437 days ago1696760999IN
0xb0AbA2f6...0e86E9366
0 ETH0.000125995.17615495
Approve180414942023-09-01 11:46:23474 days ago1693568783IN
0xb0AbA2f6...0e86E9366
0 ETH0.0003885416.00115377
Approve178382152023-08-04 1:02:59502 days ago1691110979IN
0xb0AbA2f6...0e86E9366
0 ETH0.0004743719.5358822
Approve177373002023-07-20 22:17:35517 days ago1689891455IN
0xb0AbA2f6...0e86E9366
0 ETH0.0006678227.50273991
Approve175842782023-06-29 10:11:35538 days ago1688033495IN
0xb0AbA2f6...0e86E9366
0 ETH0.0006897914.90545995
Approve175520012023-06-24 21:19:11543 days ago1687641551IN
0xb0AbA2f6...0e86E9366
0 ETH0.0007117615.26530632
Approve175124752023-06-19 8:02:23548 days ago1687161743IN
0xb0AbA2f6...0e86E9366
0 ETH0.0007312515.70360344
Approve174600642023-06-11 23:15:47556 days ago1686525347IN
0xb0AbA2f6...0e86E9366
0 ETH0.0006714614.51310193
Approve174526322023-06-10 22:08:11557 days ago1686434891IN
0xb0AbA2f6...0e86E9366
0 ETH0.0007554216.20185117
Approve174526192023-06-10 22:05:35557 days ago1686434735IN
0xb0AbA2f6...0e86E9366
0 ETH0.0006843314.69593741
Approve174506392023-06-10 15:24:11557 days ago1686410651IN
0xb0AbA2f6...0e86E9366
0 ETH0.0009376120.13522746
Approve174489642023-06-10 9:44:35557 days ago1686390275IN
0xb0AbA2f6...0e86E9366
0 ETH0.0007929417.13893159
Transfer174426722023-06-09 12:28:11558 days ago1686313691IN
0xb0AbA2f6...0e86E9366
0 ETH0.0042444719.20282437
Approve174190452023-06-06 4:28:35561 days ago1686025715IN
0xb0AbA2f6...0e86E9366
0 ETH0.0008558618.37969515
Approve174190052023-06-06 4:20:35561 days ago1686025235IN
0xb0AbA2f6...0e86E9366
0 ETH0.0008774718.84360137
Approve173571102023-05-28 11:06:11570 days ago1685271971IN
0xb0AbA2f6...0e86E9366
0 ETH0.0013163628.45199734
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
188395362023-12-22 6:14:59362 days ago1703225699
0xb0AbA2f6...0e86E9366
0.00024819 ETH
188395362023-12-22 6:14:59362 days ago1703225699
0xb0AbA2f6...0e86E9366
0.00024819 ETH
175520022023-06-24 21:19:23543 days ago1687641563
0xb0AbA2f6...0e86E9366
0.00030373 ETH
175520022023-06-24 21:19:23543 days ago1687641563
0xb0AbA2f6...0e86E9366
0.00030373 ETH
175381222023-06-22 22:27:35545 days ago1687472855
0xb0AbA2f6...0e86E9366
0.00025865 ETH
175381222023-06-22 22:27:35545 days ago1687472855
0xb0AbA2f6...0e86E9366
0.00025865 ETH
175242712023-06-20 23:48:35547 days ago1687304915
0xb0AbA2f6...0e86E9366
0.00034533 ETH
175242712023-06-20 23:48:35547 days ago1687304915
0xb0AbA2f6...0e86E9366
0.00034533 ETH
175209402023-06-20 12:34:35547 days ago1687264475
0xb0AbA2f6...0e86E9366
0.00060356 ETH
175209402023-06-20 12:34:35547 days ago1687264475
0xb0AbA2f6...0e86E9366
0.00060356 ETH
174513302023-06-10 17:44:35557 days ago1686419075
0xb0AbA2f6...0e86E9366
0.00016516 ETH
174513302023-06-10 17:44:35557 days ago1686419075
0xb0AbA2f6...0e86E9366
0.00016516 ETH
174489672023-06-10 9:45:11557 days ago1686390311
0xb0AbA2f6...0e86E9366
0.00027833 ETH
174489672023-06-10 9:45:11557 days ago1686390311
0xb0AbA2f6...0e86E9366
0.00027833 ETH
174426722023-06-09 12:28:11558 days ago1686313691
0xb0AbA2f6...0e86E9366
0.00033006 ETH
174426722023-06-09 12:28:11558 days ago1686313691
0xb0AbA2f6...0e86E9366
0.00033006 ETH
174389632023-06-08 23:56:35559 days ago1686268595
0xb0AbA2f6...0e86E9366
0.00059853 ETH
174389632023-06-08 23:56:35559 days ago1686268595
0xb0AbA2f6...0e86E9366
0.00059853 ETH
174190532023-06-06 4:30:11561 days ago1686025811
0xb0AbA2f6...0e86E9366
0.00057369 ETH
174190532023-06-06 4:30:11561 days ago1686025811
0xb0AbA2f6...0e86E9366
0.00057369 ETH
174190142023-06-06 4:22:23561 days ago1686025343
0xb0AbA2f6...0e86E9366
0.00043238 ETH
174190142023-06-06 4:22:23561 days ago1686025343
0xb0AbA2f6...0e86E9366
0.00043238 ETH
174181562023-06-06 1:29:11561 days ago1686014951
0xb0AbA2f6...0e86E9366
0.0007455 ETH
174181562023-06-06 1:29:11561 days ago1686014951
0xb0AbA2f6...0e86E9366
0.0007455 ETH
174115572023-06-05 3:05:35562 days ago1685934335
0xb0AbA2f6...0e86E9366
0.00077546 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DARTHPEPE

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-04
*/

/**
https://darthpepe.vip/
https://t.me/DarthPepeERC20

MAY THE 4TH BE WITH YOU.

STAR WARS DAY
*/

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

    using SafeMath for uint256;

    string private constant _name = "Darth Pepe";
    string private constant _symbol = "DARTH PEPE";
    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 = 0;
    uint256 private _taxFeeOnBuy = 3;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 3;

    //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(0x45493b77b50A372AE163b25F94cD79b8a82b833A);
    address payable private _marketingAddress = payable(0x45493b77b50A372AE163b25F94cD79b8a82b833A);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

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

    uint256 public _maxTxAmount = 20000000 * 10**9;
    uint256 public _maxWalletSize = 40000000 * 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"}]

60806040526200001a670de0b6b3a764000060001962000368565b62000028906000196200038b565b6006556000600881905560036009819055600a829055600b819055600c829055600d819055600e91909155600f55601280546001600160a01b03199081167345493b77b50a372ae163b25f94cd79b8a82b833a9081179092556013805490911690911790556015805461ffff60a81b1916600160b01b17905566470de4df820000601655668e1bc9bf0400006017556509184e72a000601855348015620000ce57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b29190620003b3565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000200573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002269190620003b3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029a9190620003b3565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200035991815260200190565b60405180910390a350620003e5565b6000826200038657634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115620003ad57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620003c657600080fd5b81516001600160a01b0381168114620003de57600080fd5b9392505050565b611dee80620003f56000396000f3fe6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c492f04611610064578063c492f0461461055b578063dd62ed3e1461057b578063ea1644d5146105c1578063f2fde38b146105e157600080fd5b8063a2a957bb146104d6578063a9059cbb146104f6578063bfd7928414610516578063c3c8cd801461054657600080fd5b80638f70ccf7116100d15780638f70ccf71461044d5780638f9a55c01461046d57806395d89b411461048357806398a5c315146104b657600080fd5b80637d1db4a5146103ec5780637f2feddc146104025780638da5cb5b1461042f57600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461038257806370a0823114610397578063715018a6146103b757806374010ece146103cc57600080fd5b8063313ce5671461030657806349bd5a5e146103225780636b999053146103425780636d8aa8f81461036257600080fd5b80631694505e116101ab5780631694505e1461027357806318160ddd146102ab57806323b872dd146102d05780632fd689e3146102f057600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024357600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611959565b610601565b005b34801561020a57600080fd5b5060408051808201909152600a8152694461727468205065706560b01b60208201525b60405161023a9190611a1e565b60405180910390f35b34801561024f57600080fd5b5061026361025e366004611a6c565b6106a0565b604051901515815260200161023a565b34801561027f57600080fd5b50601454610293906001600160a01b031681565b6040516001600160a01b03909116815260200161023a565b3480156102b757600080fd5b50670de0b6b3a76400005b60405190815260200161023a565b3480156102dc57600080fd5b506102636102eb366004611a98565b6106b7565b3480156102fc57600080fd5b506102c260185481565b34801561031257600080fd5b506040516009815260200161023a565b34801561032e57600080fd5b50601554610293906001600160a01b031681565b34801561034e57600080fd5b506101fc61035d366004611ad9565b610720565b34801561036e57600080fd5b506101fc61037d366004611b06565b61076b565b34801561038e57600080fd5b506101fc6107b3565b3480156103a357600080fd5b506102c26103b2366004611ad9565b6107fe565b3480156103c357600080fd5b506101fc610820565b3480156103d857600080fd5b506101fc6103e7366004611b21565b610894565b3480156103f857600080fd5b506102c260165481565b34801561040e57600080fd5b506102c261041d366004611ad9565b60116020526000908152604090205481565b34801561043b57600080fd5b506000546001600160a01b0316610293565b34801561045957600080fd5b506101fc610468366004611b06565b6108c3565b34801561047957600080fd5b506102c260175481565b34801561048f57600080fd5b5060408051808201909152600a8152694441525448205045504560b01b602082015261022d565b3480156104c257600080fd5b506101fc6104d1366004611b21565b61090b565b3480156104e257600080fd5b506101fc6104f1366004611b3a565b61093a565b34801561050257600080fd5b50610263610511366004611a6c565b610978565b34801561052257600080fd5b50610263610531366004611ad9565b60106020526000908152604090205460ff1681565b34801561055257600080fd5b506101fc610985565b34801561056757600080fd5b506101fc610576366004611b6c565b6109d9565b34801561058757600080fd5b506102c2610596366004611bf0565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105cd57600080fd5b506101fc6105dc366004611b21565b610a7a565b3480156105ed57600080fd5b506101fc6105fc366004611ad9565b610aa9565b6000546001600160a01b031633146106345760405162461bcd60e51b815260040161062b90611c29565b60405180910390fd5b60005b815181101561069c5760016010600084848151811061065857610658611c5e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061069481611c8a565b915050610637565b5050565b60006106ad338484610b93565b5060015b92915050565b60006106c4848484610cb7565b610716843361071185604051806060016040528060288152602001611d91602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111f3565b610b93565b5060019392505050565b6000546001600160a01b0316331461074a5760405162461bcd60e51b815260040161062b90611c29565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107955760405162461bcd60e51b815260040161062b90611c29565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107e857506013546001600160a01b0316336001600160a01b0316145b6107f157600080fd5b476107fb8161122d565b50565b6001600160a01b0381166000908152600260205260408120546106b190611267565b6000546001600160a01b0316331461084a5760405162461bcd60e51b815260040161062b90611c29565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108be5760405162461bcd60e51b815260040161062b90611c29565b601655565b6000546001600160a01b031633146108ed5760405162461bcd60e51b815260040161062b90611c29565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109355760405162461bcd60e51b815260040161062b90611c29565b601855565b6000546001600160a01b031633146109645760405162461bcd60e51b815260040161062b90611c29565b600893909355600a91909155600955600b55565b60006106ad338484610cb7565b6012546001600160a01b0316336001600160a01b031614806109ba57506013546001600160a01b0316336001600160a01b0316145b6109c357600080fd5b60006109ce306107fe565b90506107fb816112eb565b6000546001600160a01b03163314610a035760405162461bcd60e51b815260040161062b90611c29565b60005b82811015610a74578160056000868685818110610a2557610a25611c5e565b9050602002016020810190610a3a9190611ad9565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a6c81611c8a565b915050610a06565b50505050565b6000546001600160a01b03163314610aa45760405162461bcd60e51b815260040161062b90611c29565b601755565b6000546001600160a01b03163314610ad35760405162461bcd60e51b815260040161062b90611c29565b6001600160a01b038116610b385760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161062b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bf55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161062b565b6001600160a01b038216610c565760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161062b565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d1b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161062b565b6001600160a01b038216610d7d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161062b565b60008111610ddf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161062b565b6000546001600160a01b03848116911614801590610e0b57506000546001600160a01b03838116911614155b156110ec57601554600160a01b900460ff16610ea4576000546001600160a01b03848116911614610ea45760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161062b565b601654811115610ef65760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161062b565b6001600160a01b03831660009081526010602052604090205460ff16158015610f3857506001600160a01b03821660009081526010602052604090205460ff16155b610f905760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161062b565b6015546001600160a01b038381169116146110155760175481610fb2846107fe565b610fbc9190611ca3565b106110155760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161062b565b6000611020306107fe565b6018546016549192508210159082106110395760165491505b8080156110505750601554600160a81b900460ff16155b801561106a57506015546001600160a01b03868116911614155b801561107f5750601554600160b01b900460ff165b80156110a457506001600160a01b03851660009081526005602052604090205460ff16155b80156110c957506001600160a01b03841660009081526005602052604090205460ff16155b156110e9576110d7826112eb565b4780156110e7576110e74761122d565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061112e57506001600160a01b03831660009081526005602052604090205460ff165b8061116057506015546001600160a01b0385811691161480159061116057506015546001600160a01b03848116911614155b1561116d575060006111e7565b6015546001600160a01b03858116911614801561119857506014546001600160a01b03848116911614155b156111aa57600854600c55600954600d555b6015546001600160a01b0384811691161480156111d557506014546001600160a01b03858116911614155b156111e757600a54600c55600b54600d555b610a7484848484611465565b600081848411156112175760405162461bcd60e51b815260040161062b9190611a1e565b5060006112248486611cb6565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561069c573d6000803e3d6000fd5b60006006548211156112ce5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161062b565b60006112d8611493565b90506112e483826114b6565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061133357611333611c5e565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190611cc9565b816001815181106113c3576113c3611c5e565b6001600160a01b0392831660209182029290920101526014546113e99130911684610b93565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611422908590600090869030904290600401611ce6565b600060405180830381600087803b15801561143c57600080fd5b505af1158015611450573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b80611472576114726114f8565b61147d848484611526565b80610a7457610a74600e54600c55600f54600d55565b60008060006114a061161d565b90925090506114af82826114b6565b9250505090565b60006112e483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061165d565b600c541580156115085750600d54155b1561150f57565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806115388761168b565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061156a90876116e8565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611599908661172a565b6001600160a01b0389166000908152600260205260409020556115bb81611789565b6115c584836117d3565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161160a91815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061163882826114b6565b82101561165457505060065492670de0b6b3a764000092509050565b90939092509050565b6000818361167e5760405162461bcd60e51b815260040161062b9190611a1e565b5060006112248486611d57565b60008060008060008060008060006116a88a600c54600d546117f7565b92509250925060006116b8611493565b905060008060006116cb8e87878761184c565b919e509c509a509598509396509194505050505091939550919395565b60006112e483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111f3565b6000806117378385611ca3565b9050838110156112e45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161062b565b6000611793611493565b905060006117a1838361189c565b306000908152600260205260409020549091506117be908261172a565b30600090815260026020526040902055505050565b6006546117e090836116e8565b6006556007546117f0908261172a565b6007555050565b6000808080611811606461180b898961189c565b906114b6565b90506000611824606461180b8a8961189c565b9050600061183c826118368b866116e8565b906116e8565b9992985090965090945050505050565b600080808061185b888661189c565b90506000611869888761189c565b90506000611877888861189c565b905060006118898261183686866116e8565b939b939a50919850919650505050505050565b6000826000036118ae575060006106b1565b60006118ba8385611d79565b9050826118c78583611d57565b146112e45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161062b565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107fb57600080fd5b803561195481611934565b919050565b6000602080838503121561196c57600080fd5b823567ffffffffffffffff8082111561198457600080fd5b818501915085601f83011261199857600080fd5b8135818111156119aa576119aa61191e565b8060051b604051601f19603f830116810181811085821117156119cf576119cf61191e565b6040529182528482019250838101850191888311156119ed57600080fd5b938501935b82851015611a1257611a0385611949565b845293850193928501926119f2565b98975050505050505050565b600060208083528351808285015260005b81811015611a4b57858101830151858201604001528201611a2f565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611a7f57600080fd5b8235611a8a81611934565b946020939093013593505050565b600080600060608486031215611aad57600080fd5b8335611ab881611934565b92506020840135611ac881611934565b929592945050506040919091013590565b600060208284031215611aeb57600080fd5b81356112e481611934565b8035801515811461195457600080fd5b600060208284031215611b1857600080fd5b6112e482611af6565b600060208284031215611b3357600080fd5b5035919050565b60008060008060808587031215611b5057600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611b8157600080fd5b833567ffffffffffffffff80821115611b9957600080fd5b818601915086601f830112611bad57600080fd5b813581811115611bbc57600080fd5b8760208260051b8501011115611bd157600080fd5b602092830195509350611be79186019050611af6565b90509250925092565b60008060408385031215611c0357600080fd5b8235611c0e81611934565b91506020830135611c1e81611934565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c9c57611c9c611c74565b5060010190565b808201808211156106b1576106b1611c74565b818103818111156106b1576106b1611c74565b600060208284031215611cdb57600080fd5b81516112e481611934565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d365784516001600160a01b031683529383019391830191600101611d11565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d7457634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176106b1576106b1611c7456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220356e1c4f30aab74eec2bd8d009dd700a8186ad8c3c3ace5fec2e285ad51d427964736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c492f04611610064578063c492f0461461055b578063dd62ed3e1461057b578063ea1644d5146105c1578063f2fde38b146105e157600080fd5b8063a2a957bb146104d6578063a9059cbb146104f6578063bfd7928414610516578063c3c8cd801461054657600080fd5b80638f70ccf7116100d15780638f70ccf71461044d5780638f9a55c01461046d57806395d89b411461048357806398a5c315146104b657600080fd5b80637d1db4a5146103ec5780637f2feddc146104025780638da5cb5b1461042f57600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461038257806370a0823114610397578063715018a6146103b757806374010ece146103cc57600080fd5b8063313ce5671461030657806349bd5a5e146103225780636b999053146103425780636d8aa8f81461036257600080fd5b80631694505e116101ab5780631694505e1461027357806318160ddd146102ab57806323b872dd146102d05780632fd689e3146102f057600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024357600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611959565b610601565b005b34801561020a57600080fd5b5060408051808201909152600a8152694461727468205065706560b01b60208201525b60405161023a9190611a1e565b60405180910390f35b34801561024f57600080fd5b5061026361025e366004611a6c565b6106a0565b604051901515815260200161023a565b34801561027f57600080fd5b50601454610293906001600160a01b031681565b6040516001600160a01b03909116815260200161023a565b3480156102b757600080fd5b50670de0b6b3a76400005b60405190815260200161023a565b3480156102dc57600080fd5b506102636102eb366004611a98565b6106b7565b3480156102fc57600080fd5b506102c260185481565b34801561031257600080fd5b506040516009815260200161023a565b34801561032e57600080fd5b50601554610293906001600160a01b031681565b34801561034e57600080fd5b506101fc61035d366004611ad9565b610720565b34801561036e57600080fd5b506101fc61037d366004611b06565b61076b565b34801561038e57600080fd5b506101fc6107b3565b3480156103a357600080fd5b506102c26103b2366004611ad9565b6107fe565b3480156103c357600080fd5b506101fc610820565b3480156103d857600080fd5b506101fc6103e7366004611b21565b610894565b3480156103f857600080fd5b506102c260165481565b34801561040e57600080fd5b506102c261041d366004611ad9565b60116020526000908152604090205481565b34801561043b57600080fd5b506000546001600160a01b0316610293565b34801561045957600080fd5b506101fc610468366004611b06565b6108c3565b34801561047957600080fd5b506102c260175481565b34801561048f57600080fd5b5060408051808201909152600a8152694441525448205045504560b01b602082015261022d565b3480156104c257600080fd5b506101fc6104d1366004611b21565b61090b565b3480156104e257600080fd5b506101fc6104f1366004611b3a565b61093a565b34801561050257600080fd5b50610263610511366004611a6c565b610978565b34801561052257600080fd5b50610263610531366004611ad9565b60106020526000908152604090205460ff1681565b34801561055257600080fd5b506101fc610985565b34801561056757600080fd5b506101fc610576366004611b6c565b6109d9565b34801561058757600080fd5b506102c2610596366004611bf0565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105cd57600080fd5b506101fc6105dc366004611b21565b610a7a565b3480156105ed57600080fd5b506101fc6105fc366004611ad9565b610aa9565b6000546001600160a01b031633146106345760405162461bcd60e51b815260040161062b90611c29565b60405180910390fd5b60005b815181101561069c5760016010600084848151811061065857610658611c5e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061069481611c8a565b915050610637565b5050565b60006106ad338484610b93565b5060015b92915050565b60006106c4848484610cb7565b610716843361071185604051806060016040528060288152602001611d91602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111f3565b610b93565b5060019392505050565b6000546001600160a01b0316331461074a5760405162461bcd60e51b815260040161062b90611c29565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107955760405162461bcd60e51b815260040161062b90611c29565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107e857506013546001600160a01b0316336001600160a01b0316145b6107f157600080fd5b476107fb8161122d565b50565b6001600160a01b0381166000908152600260205260408120546106b190611267565b6000546001600160a01b0316331461084a5760405162461bcd60e51b815260040161062b90611c29565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108be5760405162461bcd60e51b815260040161062b90611c29565b601655565b6000546001600160a01b031633146108ed5760405162461bcd60e51b815260040161062b90611c29565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109355760405162461bcd60e51b815260040161062b90611c29565b601855565b6000546001600160a01b031633146109645760405162461bcd60e51b815260040161062b90611c29565b600893909355600a91909155600955600b55565b60006106ad338484610cb7565b6012546001600160a01b0316336001600160a01b031614806109ba57506013546001600160a01b0316336001600160a01b0316145b6109c357600080fd5b60006109ce306107fe565b90506107fb816112eb565b6000546001600160a01b03163314610a035760405162461bcd60e51b815260040161062b90611c29565b60005b82811015610a74578160056000868685818110610a2557610a25611c5e565b9050602002016020810190610a3a9190611ad9565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a6c81611c8a565b915050610a06565b50505050565b6000546001600160a01b03163314610aa45760405162461bcd60e51b815260040161062b90611c29565b601755565b6000546001600160a01b03163314610ad35760405162461bcd60e51b815260040161062b90611c29565b6001600160a01b038116610b385760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161062b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bf55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161062b565b6001600160a01b038216610c565760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161062b565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d1b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161062b565b6001600160a01b038216610d7d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161062b565b60008111610ddf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161062b565b6000546001600160a01b03848116911614801590610e0b57506000546001600160a01b03838116911614155b156110ec57601554600160a01b900460ff16610ea4576000546001600160a01b03848116911614610ea45760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161062b565b601654811115610ef65760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161062b565b6001600160a01b03831660009081526010602052604090205460ff16158015610f3857506001600160a01b03821660009081526010602052604090205460ff16155b610f905760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161062b565b6015546001600160a01b038381169116146110155760175481610fb2846107fe565b610fbc9190611ca3565b106110155760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161062b565b6000611020306107fe565b6018546016549192508210159082106110395760165491505b8080156110505750601554600160a81b900460ff16155b801561106a57506015546001600160a01b03868116911614155b801561107f5750601554600160b01b900460ff165b80156110a457506001600160a01b03851660009081526005602052604090205460ff16155b80156110c957506001600160a01b03841660009081526005602052604090205460ff16155b156110e9576110d7826112eb565b4780156110e7576110e74761122d565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061112e57506001600160a01b03831660009081526005602052604090205460ff165b8061116057506015546001600160a01b0385811691161480159061116057506015546001600160a01b03848116911614155b1561116d575060006111e7565b6015546001600160a01b03858116911614801561119857506014546001600160a01b03848116911614155b156111aa57600854600c55600954600d555b6015546001600160a01b0384811691161480156111d557506014546001600160a01b03858116911614155b156111e757600a54600c55600b54600d555b610a7484848484611465565b600081848411156112175760405162461bcd60e51b815260040161062b9190611a1e565b5060006112248486611cb6565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561069c573d6000803e3d6000fd5b60006006548211156112ce5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161062b565b60006112d8611493565b90506112e483826114b6565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061133357611333611c5e565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190611cc9565b816001815181106113c3576113c3611c5e565b6001600160a01b0392831660209182029290920101526014546113e99130911684610b93565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611422908590600090869030904290600401611ce6565b600060405180830381600087803b15801561143c57600080fd5b505af1158015611450573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b80611472576114726114f8565b61147d848484611526565b80610a7457610a74600e54600c55600f54600d55565b60008060006114a061161d565b90925090506114af82826114b6565b9250505090565b60006112e483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061165d565b600c541580156115085750600d54155b1561150f57565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806115388761168b565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061156a90876116e8565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611599908661172a565b6001600160a01b0389166000908152600260205260409020556115bb81611789565b6115c584836117d3565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161160a91815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061163882826114b6565b82101561165457505060065492670de0b6b3a764000092509050565b90939092509050565b6000818361167e5760405162461bcd60e51b815260040161062b9190611a1e565b5060006112248486611d57565b60008060008060008060008060006116a88a600c54600d546117f7565b92509250925060006116b8611493565b905060008060006116cb8e87878761184c565b919e509c509a509598509396509194505050505091939550919395565b60006112e483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111f3565b6000806117378385611ca3565b9050838110156112e45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161062b565b6000611793611493565b905060006117a1838361189c565b306000908152600260205260409020549091506117be908261172a565b30600090815260026020526040902055505050565b6006546117e090836116e8565b6006556007546117f0908261172a565b6007555050565b6000808080611811606461180b898961189c565b906114b6565b90506000611824606461180b8a8961189c565b9050600061183c826118368b866116e8565b906116e8565b9992985090965090945050505050565b600080808061185b888661189c565b90506000611869888761189c565b90506000611877888861189c565b905060006118898261183686866116e8565b939b939a50919850919650505050505050565b6000826000036118ae575060006106b1565b60006118ba8385611d79565b9050826118c78583611d57565b146112e45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161062b565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107fb57600080fd5b803561195481611934565b919050565b6000602080838503121561196c57600080fd5b823567ffffffffffffffff8082111561198457600080fd5b818501915085601f83011261199857600080fd5b8135818111156119aa576119aa61191e565b8060051b604051601f19603f830116810181811085821117156119cf576119cf61191e565b6040529182528482019250838101850191888311156119ed57600080fd5b938501935b82851015611a1257611a0385611949565b845293850193928501926119f2565b98975050505050505050565b600060208083528351808285015260005b81811015611a4b57858101830151858201604001528201611a2f565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611a7f57600080fd5b8235611a8a81611934565b946020939093013593505050565b600080600060608486031215611aad57600080fd5b8335611ab881611934565b92506020840135611ac881611934565b929592945050506040919091013590565b600060208284031215611aeb57600080fd5b81356112e481611934565b8035801515811461195457600080fd5b600060208284031215611b1857600080fd5b6112e482611af6565b600060208284031215611b3357600080fd5b5035919050565b60008060008060808587031215611b5057600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611b8157600080fd5b833567ffffffffffffffff80821115611b9957600080fd5b818601915086601f830112611bad57600080fd5b813581811115611bbc57600080fd5b8760208260051b8501011115611bd157600080fd5b602092830195509350611be79186019050611af6565b90509250925092565b60008060408385031215611c0357600080fd5b8235611c0e81611934565b91506020830135611c1e81611934565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c9c57611c9c611c74565b5060010190565b808201808211156106b1576106b1611c74565b818103818111156106b1576106b1611c74565b600060208284031215611cdb57600080fd5b81516112e481611934565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d365784516001600160a01b031683529383019391830191600101611d11565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d7457634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176106b1576106b1611c7456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220356e1c4f30aab74eec2bd8d009dd700a8186ad8c3c3ace5fec2e285ad51d427964736f6c63430008120033

Deployed Bytecode Sourcemap

4137:13500:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12810:169;;;;;;;;;;-1:-1:-1;12810:169:0;;;;;:::i;:::-;;:::i;:::-;;6638:83;;;;;;;;;;-1:-1:-1;6708:5:0;;;;;;;;;;;;-1:-1:-1;;;6708:5:0;;;;6638:83;;;;;;;:::i;:::-;;;;;;;;7563:193;;;;;;;;;;-1:-1:-1;7563:193:0;;;;;:::i;:::-;;:::i;:::-;;;2585:14:1;;2578:22;2560:41;;2548:2;2533:18;7563:193:0;2420:187:1;5488:41:0;;;;;;;;;;-1:-1:-1;5488:41:0;;;;-1:-1:-1;;;;;5488:41:0;;;;;;-1:-1:-1;;;;;2802:32:1;;;2784:51;;2772:2;2757:18;5488:41:0;2612:229:1;6915:95:0;;;;;;;;;;-1:-1:-1;4694:18:0;6915:95;;;2992:25:1;;;2980:2;2965:18;6915:95:0;2846:177:1;7764:446:0;;;;;;;;;;-1:-1:-1;7764:446:0;;;;;:::i;:::-;;:::i;5786:50::-;;;;;;;;;;;;;;;;6824:83;;;;;;;;;;-1:-1:-1;6824:83:0;;4368:1;3631:36:1;;3619:2;3604:18;6824:83:0;3489:184:1;5536:28:0;;;;;;;;;;-1:-1:-1;5536:28:0;;;;-1:-1:-1;;;;;5536:28:0;;;12987:92;;;;;;;;;;-1:-1:-1;12987:92:0;;;;;:::i;:::-;;:::i;17019:101::-;;;;;;;;;;-1:-1:-1;17019:101:0;;;;;:::i;:::-;;:::i;12567:235::-;;;;;;;;;;;;;:::i;7018:138::-;;;;;;;;;;-1:-1:-1;7018:138:0;;;;;:::i;:::-;;:::i;1624:148::-;;;;;;;;;;;;;:::i;17159:108::-;;;;;;;;;;-1:-1:-1;17159:108:0;;;;;:::i;:::-;;:::i;5678:46::-;;;;;;;;;;;;;;;;5230:43;;;;;;;;;;-1:-1:-1;5230:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1410:79;;;;;;;;;;-1:-1:-1;1448:7:0;1475:6;-1:-1:-1;;;;;1475:6:0;1410:79;;12214:101;;;;;;;;;;-1:-1:-1;12214:101:0;;;;;:::i;:::-;;:::i;5731:48::-;;;;;;;;;;;;;;;;6729:87;;;;;;;;;;-1:-1:-1;6801:7:0;;;;;;;;;;;;-1:-1:-1;;;6801:7:0;;;;6729:87;;16828:139;;;;;;;;;;-1:-1:-1;16828:139:0;;;;;:::i;:::-;;:::i;16485:291::-;;;;;;;;;;-1:-1:-1;16485:291:0;;;;;:::i;:::-;;:::i;7164:199::-;;;;;;;;;;-1:-1:-1;7164:199:0;;;;;:::i;:::-;;:::i;5192:36::-;;;;;;;;;;-1:-1:-1;5192:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12323:236;;;;;;;;;;;;;:::i;17398:234::-;;;;;;;;;;-1:-1:-1;17398:234:0;;;;;:::i;:::-;;:::i;7371:184::-;;;;;;;;;;-1:-1:-1;7371:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7520:18:0;;;7488:7;7520:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7371:184;17275:115;;;;;;;;;;-1:-1:-1;17275:115:0;;;;;:::i;:::-;;:::i;1780:244::-;;;;;;;;;;-1:-1:-1;1780:244:0;;;;;:::i;:::-;;:::i;12810:169::-;1537:6;;-1:-1:-1;;;;;1537:6:0;249:10;1537:22;1529:67;;;;-1:-1:-1;;;1529:67:0;;;;;;;:::i;:::-;;;;;;;;;12886:9:::1;12881:91;12905:5;:12;12901:1;:16;12881:91;;;12956:4;12939;:14;12944:5;12950:1;12944:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12939:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12939:14:0;:21;;-1:-1:-1;;12939:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12919:3;::::1;::::0;::::1;:::i;:::-;;;;12881:91;;;;12810:169:::0;:::o;7563:193::-;7665:4;7687:39;249:10;7710:7;7719:6;7687:8;:39::i;:::-;-1:-1:-1;7744:4:0;7563:193;;;;;:::o;7764:446::-;7896:4;7913:36;7923:6;7931:9;7942:6;7913:9;:36::i;:::-;7960:220;7983:6;249:10;8031:138;8087:6;8031:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8031:19:0;;;;;;:11;:19;;;;;;;;249:10;8031:33;;;;;;;;;;:37;:138::i;:::-;7960:8;:220::i;:::-;-1:-1:-1;8198:4:0;7764:446;;;;;:::o;12987:92::-;1537:6;;-1:-1:-1;;;;;1537:6:0;249:10;1537:22;1529:67;;;;-1:-1:-1;;;1529:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13051:12:0::1;13066:5;13051:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13051:20:0::1;::::0;;12987:92::o;17019:101::-;1537:6;;-1:-1:-1;;;;;1537:6:0;249:10;1537:22;1529:67;;;;-1:-1:-1;;;1529:67:0;;;;;;;:::i;:::-;17086:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17086:26:0::1;-1:-1:-1::0;;;;17086:26:0;;::::1;::::0;;;::::1;::::0;;17019:101::o;12567:235::-;12633:19;;-1:-1:-1;;;;;12633:19:0;249:10;-1:-1:-1;;;;;12617:35:0;;:72;;;-1:-1:-1;12672:17:0;;-1:-1:-1;;;;;12672:17:0;249:10;-1:-1:-1;;;;;12656:33:0;;12617:72;12609:81;;;;;;12730:21;12762:32;12730:21;12762:12;:32::i;:::-;12598:204;12567:235::o;7018:138::-;-1:-1:-1;;;;;7131:16:0;;7084:7;7131:16;;;:7;:16;;;;;;7111:37;;:19;:37::i;1624:148::-;1537:6;;-1:-1:-1;;;;;1537:6:0;249:10;1537:22;1529:67;;;;-1:-1:-1;;;1529:67:0;;;;;;;:::i;:::-;1731:1:::1;1715:6:::0;;1694:40:::1;::::0;-1:-1:-1;;;;;1715:6:0;;::::1;::::0;1694:40:::1;::::0;1731:1;;1694:40:::1;1762:1;1745:19:::0;;-1:-1:-1;;;;;;1745:19:0::1;::::0;;1624:148::o;17159:108::-;1537:6;;-1:-1:-1;;;;;1537:6:0;249:10;1537:22;1529:67;;;;-1:-1:-1;;;1529:67:0;;;;;;;:::i;:::-;17233:12:::1;:26:::0;17159:108::o;12214:101::-;1537:6;;-1:-1:-1;;;;;1537:6:0;249:10;1537:22;1529:67;;;;-1:-1:-1;;;1529:67:0;;;;;;;:::i;:::-;12281:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12281:26:0::1;-1:-1:-1::0;;;;12281:26:0;;::::1;::::0;;;::::1;::::0;;12214:101::o;16828:139::-;1537:6;;-1:-1:-1;;;;;1537:6:0;249:10;1537:22;1529:67;;;;-1:-1:-1;;;1529:67:0;;;;;;;:::i;:::-;16919:19:::1;:40:::0;16828:139::o;16485:291::-;1537:6;;-1:-1:-1;;;;;1537:6:0;249:10;1537:22;1529:67;;;;-1:-1:-1;;;1529:67:0;;;;;;;:::i;:::-;16619:14:::1;:30:::0;;;;16660:15:::1;:32:::0;;;;16703:12:::1;:26:::0;16740:13:::1;:28:::0;16485:291::o;7164:199::-;7269:4;7291:42;249:10;7315:9;7326:6;7291:9;:42::i;12323:236::-;12389:19;;-1:-1:-1;;;;;12389:19:0;249:10;-1:-1:-1;;;;;12373:35:0;;:72;;;-1:-1:-1;12428:17:0;;-1:-1:-1;;;;;12428:17:0;249:10;-1:-1:-1;;;;;12412:33:0;;12373:72;12365:81;;;;;;12457:23;12483:24;12501:4;12483:9;:24::i;:::-;12457:50;;12518:33;12535:15;12518:16;:33::i;17398:234::-;1537:6;;-1:-1:-1;;;;;1537:6:0;249:10;1537:22;1529:67;;;;-1:-1:-1;;;1529:67:0;;;;;;;:::i;:::-;17515:9:::1;17511:114;17530:19:::0;;::::1;17511:114;;;17605:8;17571:18;:31;17590:8;;17599:1;17590:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17571:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17571:31:0;:42;;-1:-1:-1;;17571:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17551:3;::::1;::::0;::::1;:::i;:::-;;;;17511:114;;;;17398:234:::0;;;:::o;17275:115::-;1537:6;;-1:-1:-1;;;;;1537:6:0;249:10;1537:22;1529:67;;;;-1:-1:-1;;;1529:67:0;;;;;;;:::i;:::-;17352:14:::1;:30:::0;17275:115::o;1780:244::-;1537:6;;-1:-1:-1;;;;;1537:6:0;249:10;1537:22;1529:67;;;;-1:-1:-1;;;1529:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1869:22:0;::::1;1861:73;;;::::0;-1:-1:-1;;;1861:73:0;;7117:2:1;1861: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;;1861:73:0::1;6915:402:1::0;1861:73:0::1;1971:6;::::0;;1950:38:::1;::::0;-1:-1:-1;;;;;1950:38:0;;::::1;::::0;1971:6;::::1;::::0;1950:38:::1;::::0;::::1;1999:6;:17:::0;;-1:-1:-1;;;;;;1999:17:0::1;-1:-1:-1::0;;;;;1999:17:0;;;::::1;::::0;;;::::1;::::0;;1780:244::o;8901:369::-;-1:-1:-1;;;;;9028:19:0;;9020:68;;;;-1:-1:-1;;;9020:68:0;;7524:2:1;9020: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;;9020:68:0;7322:400:1;9020:68:0;-1:-1:-1;;;;;9107:21:0;;9099:68;;;;-1:-1:-1;;;9099:68:0;;7929:2:1;9099: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;;9099:68:0;7727:398:1;9099:68:0;-1:-1:-1;;;;;9178:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9230:32;;2992:25:1;;;9230:32:0;;2965:18:1;9230:32:0;;;;;;;8901:369;;;:::o;9278:2330::-;-1:-1:-1;;;;;9400:18:0;;9392:68;;;;-1:-1:-1;;;9392:68:0;;8332:2:1;9392: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;;9392:68:0;8130:401:1;9392:68:0;-1:-1:-1;;;;;9479:16:0;;9471:64;;;;-1:-1:-1;;;9471:64:0;;8738:2:1;9471: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;;9471:64:0;8536:399:1;9471:64:0;9563:1;9554:6;:10;9546:64;;;;-1:-1:-1;;;9546:64:0;;9142:2:1;9546: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;;9546:64:0;8940:405:1;9546:64:0;1448:7;1475:6;-1:-1:-1;;;;;9627:15:0;;;1475:6;;9627:15;;;;:32;;-1:-1:-1;1448:7:0;1475:6;-1:-1:-1;;;;;9646:13:0;;;1475:6;;9646:13;;9627:32;9623:1259;;;9716:11;;-1:-1:-1;;;9716:11:0;;;;9711:144;;1448:7;1475:6;-1:-1:-1;;;;;9756:15:0;;;1475:6;;9756:15;9748:91;;;;-1:-1:-1;;;9748:91:0;;9552:2:1;9748: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;;9748:91:0;9350:427:1;9748:91:0;9889:12;;9879:6;:22;;9871:63;;;;-1:-1:-1;;;9871:63:0;;9984:2:1;9871:63:0;;;9966:21:1;10023:2;10003:18;;;9996:30;10062;10042:18;;;10035:58;10110:18;;9871:63:0;9782:352:1;9871:63:0;-1:-1:-1;;;;;9958:10:0;;;;;;:4;:10;;;;;;;;9957:11;:24;;;;-1:-1:-1;;;;;;9973:8:0;;;;;;:4;:8;;;;;;;;9972:9;9957:24;9949:72;;;;-1:-1:-1;;;9949:72:0;;10341:2:1;9949: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;;9949:72:0;10139:399:1;9949:72:0;10047:13;;-1:-1:-1;;;;;10041:19:0;;;10047:13;;10041:19;10038:146;;10114:14;;10105:6;10089:13;10099:2;10089:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10081:87;;;;-1:-1:-1;;;10081:87:0;;10875:2:1;10081: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;;10081:87:0;10673:399:1;10081:87:0;10200:28;10231:24;10249:4;10231:9;:24::i;:::-;10309:19;;10372:12;;10200:55;;-1:-1:-1;10285:43:0;;;;10348:36;;10345:124;;10441:12;;10418:35;;10345:124;10489:7;:18;;;;-1:-1:-1;10501:6:0;;-1:-1:-1;;;10501:6:0;;;;10500:7;10489:18;:43;;;;-1:-1:-1;10519:13:0;;-1:-1:-1;;;;;10511:21:0;;;10519:13;;10511:21;;10489:43;:58;;;;-1:-1:-1;10536:11:0;;-1:-1:-1;;;10536:11:0;;;;10489:58;:87;;;;-1:-1:-1;;;;;;10552:24:0;;;;;;:18;:24;;;;;;;;10551:25;10489:87;:114;;;;-1:-1:-1;;;;;;10581:22:0;;;;;;:18;:22;;;;;;;;10580:23;10489:114;10485:386;;;10624:38;10641:20;10624:16;:38::i;:::-;10710:21;10754:22;;10750:106;;10801:35;10814:21;10801:12;:35::i;:::-;10605:266;10485:386;9661:1221;;9623:1259;-1:-1:-1;;;;;10958:24:0;;10894:12;10958:24;;;:18;:24;;;;;;10909:4;;10958:24;;;:50;;-1:-1:-1;;;;;;10986:22:0;;;;;;:18;:22;;;;;;;;10958:50;10957:102;;;-1:-1:-1;11022:13:0;;-1:-1:-1;;;;;11014:21:0;;;11022:13;;11014:21;;;;:44;;-1:-1:-1;11045:13:0;;-1:-1:-1;;;;;11039:19:0;;;11045:13;;11039:19;;11014:44;10953:594;;;-1:-1:-1;11086:5:0;10953:594;;;11169:13;;-1:-1:-1;;;;;11161:21:0;;;11169:13;;11161:21;:55;;;;-1:-1:-1;11200:15:0;;-1:-1:-1;;;;;11186:30:0;;;11200:15;;11186:30;;11161:55;11158:162;;;11249:14;;11237:9;:26;11292:12;;11282:7;:22;11158:162;11379:13;;-1:-1:-1;;;;;11373:19:0;;;11379:13;;11373:19;:55;;;;-1:-1:-1;11412:15:0;;-1:-1:-1;;;;;11396:32:0;;;11412:15;;11396:32;;11373:55;11369:165;;;11461:15;;11449:9;:27;11505:13;;11495:7;:23;11369:165;11559:41;11574:4;11580:2;11584:6;11592:7;11559:14;:41::i;2388:224::-;2508:7;2544:12;2536:6;;;;2528:29;;;;-1:-1:-1;;;2528:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2568:9:0;2580:5;2584:1;2580;:5;:::i;:::-;2568:17;2388:224;-1:-1:-1;;;;;2388:224:0:o;12107:99::-;12164:17;;:34;;-1:-1:-1;;;;;12164:17:0;;;;:34;;;;;12191:6;;12164:17;:34;:17;:34;12191:6;12164:17;:34;;;;;;;;;;;;;;;;;;;8218:323;8313:7;8371;;8360;:18;;8338:110;;;;-1:-1:-1;;;8338:110:0;;11412:2:1;8338:110: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;;8338:110:0;11210:406:1;8338:110:0;8459:19;8481:10;:8;:10::i;:::-;8459:32;-1:-1:-1;8509:24:0;:7;8459:32;8509:11;:24::i;:::-;8502:31;8218:323;-1:-1:-1;;;8218:323:0:o;11616:483::-;5930:6;:13;;-1:-1:-1;;;;5930:13:0;-1:-1:-1;;;5930:13:0;;;11718:16:::1;::::0;;11732:1:::1;11718:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11718:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11718:16:0::1;11694:40;;11763:4;11745;11750:1;11745:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11745:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11789:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11789:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11745:7;;11789:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11779:4;11784:1;11779:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11779:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11854:15:::1;::::0;11822:62:::1;::::0;11839:4:::1;::::0;11854:15:::1;11872:11:::0;11822:8:::1;:62::i;:::-;11895:15;::::0;:196:::1;::::0;-1:-1:-1;;;11895:196:0;;-1:-1:-1;;;;;11895:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11976:11;;11895:15:::1;::::0;12018:4;;12045::::1;::::0;12065:15:::1;::::0;11895:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5966:6:0;:14;;-1:-1:-1;;;;5966:14:0;;;-1:-1:-1;;;;11616:483:0:o;13087:282::-;13243:7;13238:28;;13252:14;:12;:14::i;:::-;13277:44;13295:6;13303:9;13314:6;13277:17;:44::i;:::-;13337:7;13332:29;;13346:15;8832:17;;8820:9;:29;8870:15;;8860:7;:25;8776:117;16048:164;16090:7;16111:15;16128;16147:19;:17;:19::i;:::-;16110:56;;-1:-1:-1;16110:56:0;-1:-1:-1;16184:20:0;16110:56;;16184:11;:20::i;:::-;16177:27;;;;16048:164;:::o;2874:132::-;2932:7;2959:39;2963:1;2966;2959:39;;;;;;;;;;;;;;;;;:3;:39::i;8549:219::-;8596:9;;:14;:30;;;;-1:-1:-1;8614:7:0;;:12;8596:30;8592:43;;;8549:219::o;8592:43::-;8667:9;;;8647:17;:29;8705:7;;;8687:15;:25;-1:-1:-1;8725:13:0;;;;8749:11;8549:219::o;13377:610::-;13524:15;13554:23;13592:12;13619:23;13657:12;13684:13;13711:19;13722:7;13711:10;:19::i;:::-;-1:-1:-1;;;;;13759:15:0;;;;;;:7;:15;;;;;;13509:221;;-1:-1:-1;13509:221:0;;-1:-1:-1;13509:221:0;;-1:-1:-1;13509:221:0;-1:-1:-1;13509:221:0;-1:-1:-1;13509:221:0;-1:-1:-1;13759:28:0;;13509:221;13759:19;:28::i;:::-;-1:-1:-1;;;;;13741:15:0;;;;;;;:7;:15;;;;;;:46;;;;13819:18;;;;;;;:39;;13842:15;13819:22;:39::i;:::-;-1:-1:-1;;;;;13798:18:0;;;;;;:7;:18;;;;;:60;13869:16;13879:5;13869:9;:16::i;:::-;13896:23;13908:4;13914;13896:11;:23::i;:::-;13952:9;-1:-1:-1;;;;;13935:44:0;13944:6;-1:-1:-1;;;;;13935:44:0;;13963:15;13935:44;;;;2992:25:1;;2980:2;2965:18;;2846:177;13935:44:0;;;;;;;;13498:489;;;;;;13377:610;;;:::o;16220:257::-;16318:7;;16271;;;;4694:18;16386:20;16318:7;4694:18;16386:11;:20::i;:::-;16376:7;:30;16372:61;;;-1:-1:-1;;16416:7:0;;;4694:18;;-1:-1:-1;16220:257:0;-1:-1:-1;16220:257:0:o;16372:61::-;16452:7;;16461;;-1:-1:-1;16220:257:0;-1:-1:-1;16220:257:0:o;3014:223::-;3134:7;3169:12;3162:5;3154:28;;;;-1:-1:-1;;;3154:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3193:9:0;3205:5;3209:1;3205;:5;:::i;14406:615::-;14506:7;14528;14550;14572;14594;14616;14652:23;14677:12;14691:13;14721:40;14733:7;14742:9;;14753:7;;14721:11;:40::i;:::-;14651:110;;;;;;14772:19;14794:10;:8;:10::i;:::-;14772:32;;14816:15;14833:23;14858:12;14887:46;14899:7;14908:4;14914:5;14921:11;14887;:46::i;:::-;14815:118;;-1:-1:-1;14815:118:0;-1:-1:-1;14815:118:0;-1:-1:-1;14984:15:0;;-1:-1:-1;15001:4:0;;-1:-1:-1;15007:5:0;;-1:-1:-1;;;;;14406:615:0;;;;;;;:::o;2244:136::-;2302:7;2329:43;2333:1;2336;2329:43;;;;;;;;;;;;;;;;;:3;:43::i;2057:179::-;2115:7;;2147:5;2151:1;2147;:5;:::i;:::-;2135:17;;2176:1;2171;:6;;2163:46;;;;-1:-1:-1;;;2163:46:0;;13286:2:1;2163:46:0;;;13268:21:1;13325:2;13305:18;;;13298:30;13364:29;13344:18;;;13337:57;13411:18;;2163:46:0;13084:351:1;13995:211:0;14048:19;14070:10;:8;:10::i;:::-;14048:32;-1:-1:-1;14091:13:0;14107:22;:5;14048:32;14107:9;:22::i;:::-;14181:4;14165:22;;;;:7;:22;;;;;;14091:38;;-1:-1:-1;14165:33:0;;14091:38;14165:26;:33::i;:::-;14156:4;14140:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;13995:211:0:o;14214:147::-;14292:7;;:17;;14304:4;14292:11;:17::i;:::-;14282:7;:27;14333:10;;:20;;14348:4;14333:14;:20::i;:::-;14320:10;:33;-1:-1:-1;;14214:147:0:o;15029:469::-;15198:7;;;;15292:30;15318:3;15292:21;:7;15304:8;15292:11;:21::i;:::-;:25;;:30::i;:::-;15277:45;-1:-1:-1;15333:13:0;15349:28;15373:3;15349:19;:7;15361:6;15349:11;:19::i;:28::-;15333:44;-1:-1:-1;15388:23:0;15414:28;15333:44;15414:17;:7;15426:4;15414:11;:17::i;:::-;:21;;:28::i;:::-;15388:54;15478:4;;-1:-1:-1;15484:5:0;;-1:-1:-1;15029:469:0;;-1:-1:-1;;;;;15029:469:0:o;15506:534::-;15700:7;;;;15797:24;:7;15809:11;15797;:24::i;:::-;15779:42;-1:-1:-1;15832:12:0;15847:21;:4;15856:11;15847:8;:21::i;:::-;15832:36;-1:-1:-1;15879:13:0;15895:22;:5;15905:11;15895:9;:22::i;:::-;15879:38;-1:-1:-1;15928:23:0;15954:28;15879:38;15954:17;:7;15966:4;15954:11;:17::i;:28::-;16001:7;;;;-1:-1:-1;16027:4:0;;-1:-1:-1;15506:534:0;;-1:-1:-1;;;;;;;15506:534:0:o;2620:246::-;2678:7;2702:1;2707;2702:6;2698:47;;-1:-1:-1;2732:1:0;2725:8;;2698:47;2755:9;2767:5;2771:1;2767;:5;:::i;:::-;2755:17;-1:-1:-1;2800:1:0;2791:5;2795:1;2755:17;2791:5;:::i;:::-;:10;2783:56;;;;-1:-1:-1;;;2783:56:0;;13815:2:1;2783: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;;2783: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://356e1c4f30aab74eec2bd8d009dd700a8186ad8c3c3ace5fec2e285ad51d4279

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.