ETH Price: $3,303.07 (-0.21%)

Contract

0xe6B73b3cD9036855a650c44377cA580108dCdAa9
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve215121782024-12-30 2:01:5911 days ago1735524119IN
0xe6B73b3c...108dCdAa9
0 ETH0.00024195.2
Approve210668792024-10-28 21:40:5973 days ago1730151659IN
0xe6B73b3c...108dCdAa9
0 ETH0.0008586218.57660431
Approve208804742024-10-02 21:22:2399 days ago1727904143IN
0xe6B73b3c...108dCdAa9
0 ETH0.000453479.73523243
Approve208728652024-10-01 19:54:35100 days ago1727812475IN
0xe6B73b3c...108dCdAa9
0 ETH0.0007367515.81655275
Approve207963262024-09-21 3:38:59111 days ago1726889939IN
0xe6B73b3c...108dCdAa9
0 ETH0.0005937712.74708318
Approve205015522024-08-10 23:39:35152 days ago1723333175IN
0xe6B73b3c...108dCdAa9
0 ETH0.000087651.88174827
Approve203335892024-07-18 13:05:11175 days ago1721307911IN
0xe6B73b3c...108dCdAa9
0 ETH0.0005219111.21889034
Approve202027832024-06-30 6:42:59194 days ago1719729779IN
0xe6B73b3c...108dCdAa9
0 ETH0.000092211.97958291
Approve199873112024-05-31 4:04:47224 days ago1717128287IN
0xe6B73b3c...108dCdAa9
0 ETH0.000346027.43810167
Approve199150652024-05-21 1:41:23234 days ago1716255683IN
0xe6B73b3c...108dCdAa9
0 ETH0.0007213415.50582955
Approve198852262024-05-16 21:29:23238 days ago1715894963IN
0xe6B73b3c...108dCdAa9
0 ETH0.000175733.7971357
Approve198696242024-05-14 17:09:47240 days ago1715706587IN
0xe6B73b3c...108dCdAa9
0 ETH0.0006813314.70270068
Approve198675272024-05-14 10:02:23241 days ago1715680943IN
0xe6B73b3c...108dCdAa9
0 ETH0.000409068.79316639
Approve198669712024-05-14 8:10:35241 days ago1715674235IN
0xe6B73b3c...108dCdAa9
0 ETH0.000386998.37279073
Approve198660342024-05-14 5:02:11241 days ago1715662931IN
0xe6B73b3c...108dCdAa9
0 ETH0.000156663.3903813
Transfer198654682024-05-14 3:08:23241 days ago1715656103IN
0xe6B73b3c...108dCdAa9
0 ETH0.0004295810.17961579
Transfer198653962024-05-14 2:53:47241 days ago1715655227IN
0xe6B73b3c...108dCdAa9
0 ETH0.000361045.63251471
Transfer198652862024-05-14 2:31:35241 days ago1715653895IN
0xe6B73b3c...108dCdAa9
0 ETH0.000243115.76095413
Approve198651252024-05-14 1:58:59241 days ago1715651939IN
0xe6B73b3c...108dCdAa9
0 ETH0.00011454.72916059
Approve198650502024-05-14 1:43:59241 days ago1715651039IN
0xe6B73b3c...108dCdAa9
0 ETH0.000106464.04856174
Approve198650332024-05-14 1:40:35241 days ago1715650835IN
0xe6B73b3c...108dCdAa9
0 ETH0.000210034.53831258
Approve198647822024-05-14 0:49:59241 days ago1715647799IN
0xe6B73b3c...108dCdAa9
0 ETH0.000167673.60434925
Approve198645152024-05-13 23:56:23241 days ago1715644583IN
0xe6B73b3c...108dCdAa9
0 ETH0.000158493.40698319
Approve198643382024-05-13 23:20:59241 days ago1715642459IN
0xe6B73b3c...108dCdAa9
0 ETH0.000195524.20286279
Approve198637092024-05-13 21:13:59241 days ago1715634839IN
0xe6B73b3c...108dCdAa9
0 ETH0.000447859.61464769
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
198621812024-05-13 16:06:35241 days ago1715616395
0xe6B73b3c...108dCdAa9
0.07487223 ETH
198621812024-05-13 16:06:35241 days ago1715616395
0xe6B73b3c...108dCdAa9
0.07487223 ETH
198620952024-05-13 15:49:11241 days ago1715615351
0xe6B73b3c...108dCdAa9
0.33690368 ETH
198620952024-05-13 15:49:11241 days ago1715615351
0xe6B73b3c...108dCdAa9
0.33690368 ETH
198620912024-05-13 15:48:23241 days ago1715615303
0xe6B73b3c...108dCdAa9
0.364894 ETH
198620912024-05-13 15:48:23241 days ago1715615303
0xe6B73b3c...108dCdAa9
0.364894 ETH
198620862024-05-13 15:47:23241 days ago1715615243
0xe6B73b3c...108dCdAa9
0.21980885 ETH
198620862024-05-13 15:47:23241 days ago1715615243
0xe6B73b3c...108dCdAa9
0.21980885 ETH
198620832024-05-13 15:46:47241 days ago1715615207
0xe6B73b3c...108dCdAa9
0.25511669 ETH
198620832024-05-13 15:46:47241 days ago1715615207
0xe6B73b3c...108dCdAa9
0.25511669 ETH
198620812024-05-13 15:46:23241 days ago1715615183
0xe6B73b3c...108dCdAa9
0.24106662 ETH
198620812024-05-13 15:46:23241 days ago1715615183
0xe6B73b3c...108dCdAa9
0.24106662 ETH
198620802024-05-13 15:46:11241 days ago1715615171
0xe6B73b3c...108dCdAa9
0.21981767 ETH
198620802024-05-13 15:46:11241 days ago1715615171
0xe6B73b3c...108dCdAa9
0.21981767 ETH
198620792024-05-13 15:45:59241 days ago1715615159
0xe6B73b3c...108dCdAa9
0.24046137 ETH
198620792024-05-13 15:45:59241 days ago1715615159
0xe6B73b3c...108dCdAa9
0.24046137 ETH
198620772024-05-13 15:45:35241 days ago1715615135
0xe6B73b3c...108dCdAa9
0.23420699 ETH
198620772024-05-13 15:45:35241 days ago1715615135
0xe6B73b3c...108dCdAa9
0.23420699 ETH
198620752024-05-13 15:45:11241 days ago1715615111
0xe6B73b3c...108dCdAa9
0.20353082 ETH
198620752024-05-13 15:45:11241 days ago1715615111
0xe6B73b3c...108dCdAa9
0.20353082 ETH
198620742024-05-13 15:44:59241 days ago1715615099
0xe6B73b3c...108dCdAa9
0.19385869 ETH
198620742024-05-13 15:44:59241 days ago1715615099
0xe6B73b3c...108dCdAa9
0.19385869 ETH
198620732024-05-13 15:44:47241 days ago1715615087
0xe6B73b3c...108dCdAa9
0.21089719 ETH
198620732024-05-13 15:44:47241 days ago1715615087
0xe6B73b3c...108dCdAa9
0.21089719 ETH
198620722024-05-13 15:44:35241 days ago1715615075
0xe6B73b3c...108dCdAa9
0.32439458 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
hodlcontract

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-13
*/

/**
 *Submitted for verification at Etherscan.io on 2024-03-28
*/

/*

HODL
https://t.me/HODLETHER
https://twitter.com/erc20hodl

0/0 TAX
OWNERSHIP RENOUNCED

*/

// SPDX-License-Identifier: MIT


pragma solidity 0.8.17;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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;
    }

}

contract Ownable is Context {
    address private _owner;
    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);
    }

}

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

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

contract hodlcontract is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    uint256 private enabled = 0;
    address payable private _taxWallet = payable(0x95261326E294e091cC13ec1241DCFEf26BD5d7e9);
    uint256 private _initBuyTax=25;
    uint256 private _initSellTax=45;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private lastSwap;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"HODL";
    string private constant _symbol = unicode"HODL";
    uint256 public _maxTxAmount =   20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold=8000000 * 10**_decimals;
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor () {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[_taxWallet] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function enableTrading() external onlyOwner() {
        require(!tradingOpen,"ERROR: Trading is already enabled.");
        swapEnabled = true;
        tradingOpen = true;
        lastSwap = block.number;
    }

    function unblockSnipers(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }
       
    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 _balances[account];
    }

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

    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 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 changeFee(uint256 _newInitialBuyFee, uint256 _newInitialSellFee) external onlyOwner() {
      _initBuyTax=_newInitialBuyFee;
      _initSellTax=_newInitialSellFee;
    }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function blockSnipers(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = 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 _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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(tradingOpen, "Trading not open");
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul(_initBuyTax).div(100);
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_initSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && lastSwap != block.number) {
                swapTokensForEth(_taxSwapThreshold);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }   
                lastSwap = block.number;
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }

        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        _taxSwapThreshold = 2000000 * 10**_decimals;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }
                
    function manualSend() external {
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          _taxWallet.transfer(ethBalance);
        }
    }

    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"blockSnipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newInitialBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newInitialSellFee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"notbot","type":"address[]"}],"name":"unblockSnipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260006005819055600680546001600160a01b0319167395261326e294e091cc13ec1241dcfef26bd5d7e91790556019600755602d6008556009818155600a918255620000509162000505565b62000060906301312d006200051d565b600c55620000716009600a62000505565b62000081906301312d006200051d565b600d55620000926009600a62000505565b620000a190627a12006200051d565b600e556010805462ffffff60a01b19169055348015620000c057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000167573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018d919062000537565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000216919062000537565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028a919062000537565b601080546001600160a01b0319166001600160a01b0392909216919091179055620002b86009600a62000505565b620002c890633b9aca006200051d565b336000908152600160208190526040822092909255600390620002f36000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260039283905290812080549093166001908117909355620003403390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600654909116815260039092529020805490911660011790556200038f3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003c96009600a62000505565b620003d990633b9aca006200051d565b60405190815260200160405180910390a362000562565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004475781600019048211156200042b576200042b620003f0565b808516156200043957918102915b93841c93908002906200040b565b509250929050565b6000826200046057506001620004ff565b816200046f57506000620004ff565b81600181146200048857600281146200049357620004b3565b6001915050620004ff565b60ff841115620004a757620004a7620003f0565b50506001821b620004ff565b5060208310610133831016604e8410600b8410161715620004d8575081810a620004ff565b620004e4838362000406565b8060001904821115620004fb57620004fb620003f0565b0290505b92915050565b60006200051660ff8416836200044f565b9392505050565b8082028115828204841417620004ff57620004ff620003f0565b6000602082840312156200054a57600080fd5b81516001600160a01b03811681146200051657600080fd5b61178b80620005726000396000f3fe6080604052600436106101395760003560e01c806378bfa713116100ab57806395d89b411161006f57806395d89b4114610145578063a9059cbb1461035e578063bf474bed1461037e578063dd62ed3e14610394578063e3ca2d65146103da578063f4293890146103fa57600080fd5b806378bfa713146102df5780637d1db4a5146102ff5780638a8c523c146103155780638da5cb5b1461032a5780638f9a55c01461034857600080fd5b8063313ce567116100fd578063313ce5671461021657806349bd5a5e1461023257806351bc3c851461026a57806370a082311461027f578063715018a6146102b5578063751039fc146102ca57600080fd5b806306fdde0314610145578063095ea7b314610181578063137e82d6146101b157806318160ddd146101d357806323b872dd146101f657600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201825260048152631213d11360e21b6020820152905161017891906112a0565b60405180910390f35b34801561018d57600080fd5b506101a161019c366004611313565b61040f565b6040519015158152602001610178565b3480156101bd57600080fd5b506101d16101cc366004611355565b610426565b005b3480156101df57600080fd5b506101e86104c5565b604051908152602001610178565b34801561020257600080fd5b506101a161021136600461141a565b6104e6565b34801561022257600080fd5b5060405160098152602001610178565b34801561023e57600080fd5b50601054610252906001600160a01b031681565b6040516001600160a01b039091168152602001610178565b34801561027657600080fd5b506101d161054f565b34801561028b57600080fd5b506101e861029a36600461145b565b6001600160a01b031660009081526001602052604090205490565b3480156102c157600080fd5b506101d161059e565b3480156102d657600080fd5b506101d1610612565b3480156102eb57600080fd5b506101d16102fa366004611355565b6106e0565b34801561030b57600080fd5b506101e8600c5481565b34801561032157600080fd5b506101d1610772565b34801561033657600080fd5b506000546001600160a01b0316610252565b34801561035457600080fd5b506101e8600d5481565b34801561036a57600080fd5b506101a1610379366004611313565b61081e565b34801561038a57600080fd5b506101e8600e5481565b3480156103a057600080fd5b506101e86103af366004611478565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103e657600080fd5b506101d16103f53660046114b1565b61082b565b34801561040657600080fd5b506101d1610860565b600061041c3384846108a4565b5060015b92915050565b6000546001600160a01b031633146104595760405162461bcd60e51b8152600401610450906114d3565b60405180910390fd5b60005b81518110156104c15760016004600084848151811061047d5761047d611508565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806104b981611534565b91505061045c565b5050565b60006104d36009600a611631565b6104e190633b9aca00611640565b905090565b60006104f38484846109c8565b61054584336105408560405180606001604052806028815260200161172e602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f18565b6108a4565b5060019392505050565b6006546001600160a01b0316336001600160a01b03161461056f57600080fd5b30600090815260016020526040902054801561058e5761058e81610f52565b4780156104c1576104c1816110cc565b6000546001600160a01b031633146105c85760405162461bcd60e51b8152600401610450906114d3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461063c5760405162461bcd60e51b8152600401610450906114d3565b6106486009600a611631565b61065690633b9aca00611640565b600c556106656009600a611631565b61067390633b9aca00611640565b600d556106826009600a611631565b61068f90621e8480611640565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106bf6009600a611631565b6106cd90633b9aca00611640565b60405190815260200160405180910390a1565b6000546001600160a01b0316331461070a5760405162461bcd60e51b8152600401610450906114d3565b60005b81518110156104c15760006004600084848151811061072e5761072e611508565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061076a81611534565b91505061070d565b6000546001600160a01b0316331461079c5760405162461bcd60e51b8152600401610450906114d3565b601054600160a01b900460ff16156108015760405162461bcd60e51b815260206004820152602260248201527f4552524f523a2054726164696e6720697320616c726561647920656e61626c65604482015261321760f11b6064820152608401610450565b6010805462ff00ff60a01b19166201000160a01b17905543600b55565b600061041c3384846109c8565b6000546001600160a01b031633146108555760405162461bcd60e51b8152600401610450906114d3565b600791909155600855565b4780156108a1576006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156104c1573d6000803e3d6000fd5b50565b6001600160a01b0383166109065760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610450565b6001600160a01b0382166109675760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610450565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a2c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610450565b6001600160a01b038216610a8e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610450565b60008111610af05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610450565b600080546001600160a01b03858116911614801590610b1d57506000546001600160a01b03848116911614155b15610dd5576001600160a01b03841660009081526004602052604090205460ff16158015610b6457506001600160a01b03831660009081526004602052604090205460ff16155b610b6d57600080fd5b6010546001600160a01b038581169116148015610b985750600f546001600160a01b03848116911614155b8015610bbd57506001600160a01b03831660009081526003602052604090205460ff16155b15610cfe57601054600160a01b900460ff16610c0e5760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b6044820152606401610450565b600c54821115610c605760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610450565b600d5482610c83856001600160a01b031660009081526001602052604090205490565b610c8d9190611657565b1115610cdb5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610450565b610cfb6064610cf56007548561110690919063ffffffff16565b9061118f565b90505b6010546001600160a01b038481169116148015610d2457506001600160a01b0384163014155b15610d4657610d436064610cf56008548561110690919063ffffffff16565b90505b30600090815260016020526040902054601054600160a81b900460ff16158015610d7d57506010546001600160a01b038581169116145b8015610d925750601054600160b01b900460ff165b8015610d9f5750600e5481115b8015610dad575043600b5414155b15610dd357610dbd600e54610f52565b478015610dcd57610dcd476110cc565b5043600b555b505b8015610e4f5730600090815260016020526040902054610df590826111d1565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e469085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610e729083611230565b6001600160a01b038516600090815260016020526040902055610eb7610e988383611230565b6001600160a01b038516600090815260016020526040902054906111d1565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f018585611230565b60405190815260200160405180910390a350505050565b60008184841115610f3c5760405162461bcd60e51b815260040161045091906112a0565b506000610f49848661166a565b95945050505050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f9a57610f9a611508565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ff3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611017919061167d565b8160018151811061102a5761102a611508565b6001600160a01b039283166020918202929092010152600f5461105091309116846108a4565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061108990859060009086903090429060040161169a565b600060405180830381600087803b1580156110a357600080fd5b505af11580156110b7573d6000803e3d6000fd5b50506010805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156104c1573d6000803e3d6000fd5b60008260000361111857506000610420565b60006111248385611640565b905082611131858361170b565b146111885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610450565b9392505050565b600061118883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611272565b6000806111de8385611657565b9050838110156111885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610450565b600061118883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f18565b600081836112935760405162461bcd60e51b815260040161045091906112a0565b506000610f49848661170b565b600060208083528351808285015260005b818110156112cd578581018301518582016040015282016112b1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108a157600080fd5b803561130e816112ee565b919050565b6000806040838503121561132657600080fd5b8235611331816112ee565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561136857600080fd5b823567ffffffffffffffff8082111561138057600080fd5b818501915085601f83011261139457600080fd5b8135818111156113a6576113a661133f565b8060051b604051601f19603f830116810181811085821117156113cb576113cb61133f565b6040529182528482019250838101850191888311156113e957600080fd5b938501935b8285101561140e576113ff85611303565b845293850193928501926113ee565b98975050505050505050565b60008060006060848603121561142f57600080fd5b833561143a816112ee565b9250602084013561144a816112ee565b929592945050506040919091013590565b60006020828403121561146d57600080fd5b8135611188816112ee565b6000806040838503121561148b57600080fd5b8235611496816112ee565b915060208301356114a6816112ee565b809150509250929050565b600080604083850312156114c457600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016115465761154661151e565b5060010190565b600181815b8085111561158857816000190482111561156e5761156e61151e565b8085161561157b57918102915b93841c9390800290611552565b509250929050565b60008261159f57506001610420565b816115ac57506000610420565b81600181146115c257600281146115cc576115e8565b6001915050610420565b60ff8411156115dd576115dd61151e565b50506001821b610420565b5060208310610133831016604e8410600b841016171561160b575081810a610420565b611615838361154d565b80600019048211156116295761162961151e565b029392505050565b600061118860ff841683611590565b80820281158282048414176104205761042061151e565b808201808211156104205761042061151e565b818103818111156104205761042061151e565b60006020828403121561168f57600080fd5b8151611188816112ee565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116ea5784516001600160a01b0316835293830193918301916001016116c5565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261172857634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cf8d4b30c3b7d557550ff8a3499b28e7d692f42caac3c6e42c08e317c98b6be864736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806378bfa713116100ab57806395d89b411161006f57806395d89b4114610145578063a9059cbb1461035e578063bf474bed1461037e578063dd62ed3e14610394578063e3ca2d65146103da578063f4293890146103fa57600080fd5b806378bfa713146102df5780637d1db4a5146102ff5780638a8c523c146103155780638da5cb5b1461032a5780638f9a55c01461034857600080fd5b8063313ce567116100fd578063313ce5671461021657806349bd5a5e1461023257806351bc3c851461026a57806370a082311461027f578063715018a6146102b5578063751039fc146102ca57600080fd5b806306fdde0314610145578063095ea7b314610181578063137e82d6146101b157806318160ddd146101d357806323b872dd146101f657600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201825260048152631213d11360e21b6020820152905161017891906112a0565b60405180910390f35b34801561018d57600080fd5b506101a161019c366004611313565b61040f565b6040519015158152602001610178565b3480156101bd57600080fd5b506101d16101cc366004611355565b610426565b005b3480156101df57600080fd5b506101e86104c5565b604051908152602001610178565b34801561020257600080fd5b506101a161021136600461141a565b6104e6565b34801561022257600080fd5b5060405160098152602001610178565b34801561023e57600080fd5b50601054610252906001600160a01b031681565b6040516001600160a01b039091168152602001610178565b34801561027657600080fd5b506101d161054f565b34801561028b57600080fd5b506101e861029a36600461145b565b6001600160a01b031660009081526001602052604090205490565b3480156102c157600080fd5b506101d161059e565b3480156102d657600080fd5b506101d1610612565b3480156102eb57600080fd5b506101d16102fa366004611355565b6106e0565b34801561030b57600080fd5b506101e8600c5481565b34801561032157600080fd5b506101d1610772565b34801561033657600080fd5b506000546001600160a01b0316610252565b34801561035457600080fd5b506101e8600d5481565b34801561036a57600080fd5b506101a1610379366004611313565b61081e565b34801561038a57600080fd5b506101e8600e5481565b3480156103a057600080fd5b506101e86103af366004611478565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103e657600080fd5b506101d16103f53660046114b1565b61082b565b34801561040657600080fd5b506101d1610860565b600061041c3384846108a4565b5060015b92915050565b6000546001600160a01b031633146104595760405162461bcd60e51b8152600401610450906114d3565b60405180910390fd5b60005b81518110156104c15760016004600084848151811061047d5761047d611508565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806104b981611534565b91505061045c565b5050565b60006104d36009600a611631565b6104e190633b9aca00611640565b905090565b60006104f38484846109c8565b61054584336105408560405180606001604052806028815260200161172e602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f18565b6108a4565b5060019392505050565b6006546001600160a01b0316336001600160a01b03161461056f57600080fd5b30600090815260016020526040902054801561058e5761058e81610f52565b4780156104c1576104c1816110cc565b6000546001600160a01b031633146105c85760405162461bcd60e51b8152600401610450906114d3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461063c5760405162461bcd60e51b8152600401610450906114d3565b6106486009600a611631565b61065690633b9aca00611640565b600c556106656009600a611631565b61067390633b9aca00611640565b600d556106826009600a611631565b61068f90621e8480611640565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106bf6009600a611631565b6106cd90633b9aca00611640565b60405190815260200160405180910390a1565b6000546001600160a01b0316331461070a5760405162461bcd60e51b8152600401610450906114d3565b60005b81518110156104c15760006004600084848151811061072e5761072e611508565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061076a81611534565b91505061070d565b6000546001600160a01b0316331461079c5760405162461bcd60e51b8152600401610450906114d3565b601054600160a01b900460ff16156108015760405162461bcd60e51b815260206004820152602260248201527f4552524f523a2054726164696e6720697320616c726561647920656e61626c65604482015261321760f11b6064820152608401610450565b6010805462ff00ff60a01b19166201000160a01b17905543600b55565b600061041c3384846109c8565b6000546001600160a01b031633146108555760405162461bcd60e51b8152600401610450906114d3565b600791909155600855565b4780156108a1576006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156104c1573d6000803e3d6000fd5b50565b6001600160a01b0383166109065760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610450565b6001600160a01b0382166109675760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610450565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a2c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610450565b6001600160a01b038216610a8e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610450565b60008111610af05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610450565b600080546001600160a01b03858116911614801590610b1d57506000546001600160a01b03848116911614155b15610dd5576001600160a01b03841660009081526004602052604090205460ff16158015610b6457506001600160a01b03831660009081526004602052604090205460ff16155b610b6d57600080fd5b6010546001600160a01b038581169116148015610b985750600f546001600160a01b03848116911614155b8015610bbd57506001600160a01b03831660009081526003602052604090205460ff16155b15610cfe57601054600160a01b900460ff16610c0e5760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b6044820152606401610450565b600c54821115610c605760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610450565b600d5482610c83856001600160a01b031660009081526001602052604090205490565b610c8d9190611657565b1115610cdb5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610450565b610cfb6064610cf56007548561110690919063ffffffff16565b9061118f565b90505b6010546001600160a01b038481169116148015610d2457506001600160a01b0384163014155b15610d4657610d436064610cf56008548561110690919063ffffffff16565b90505b30600090815260016020526040902054601054600160a81b900460ff16158015610d7d57506010546001600160a01b038581169116145b8015610d925750601054600160b01b900460ff165b8015610d9f5750600e5481115b8015610dad575043600b5414155b15610dd357610dbd600e54610f52565b478015610dcd57610dcd476110cc565b5043600b555b505b8015610e4f5730600090815260016020526040902054610df590826111d1565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e469085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610e729083611230565b6001600160a01b038516600090815260016020526040902055610eb7610e988383611230565b6001600160a01b038516600090815260016020526040902054906111d1565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f018585611230565b60405190815260200160405180910390a350505050565b60008184841115610f3c5760405162461bcd60e51b815260040161045091906112a0565b506000610f49848661166a565b95945050505050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f9a57610f9a611508565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ff3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611017919061167d565b8160018151811061102a5761102a611508565b6001600160a01b039283166020918202929092010152600f5461105091309116846108a4565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061108990859060009086903090429060040161169a565b600060405180830381600087803b1580156110a357600080fd5b505af11580156110b7573d6000803e3d6000fd5b50506010805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156104c1573d6000803e3d6000fd5b60008260000361111857506000610420565b60006111248385611640565b905082611131858361170b565b146111885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610450565b9392505050565b600061118883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611272565b6000806111de8385611657565b9050838110156111885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610450565b600061118883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f18565b600081836112935760405162461bcd60e51b815260040161045091906112a0565b506000610f49848661170b565b600060208083528351808285015260005b818110156112cd578581018301518582016040015282016112b1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108a157600080fd5b803561130e816112ee565b919050565b6000806040838503121561132657600080fd5b8235611331816112ee565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561136857600080fd5b823567ffffffffffffffff8082111561138057600080fd5b818501915085601f83011261139457600080fd5b8135818111156113a6576113a661133f565b8060051b604051601f19603f830116810181811085821117156113cb576113cb61133f565b6040529182528482019250838101850191888311156113e957600080fd5b938501935b8285101561140e576113ff85611303565b845293850193928501926113ee565b98975050505050505050565b60008060006060848603121561142f57600080fd5b833561143a816112ee565b9250602084013561144a816112ee565b929592945050506040919091013590565b60006020828403121561146d57600080fd5b8135611188816112ee565b6000806040838503121561148b57600080fd5b8235611496816112ee565b915060208301356114a6816112ee565b809150509250929050565b600080604083850312156114c457600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016115465761154661151e565b5060010190565b600181815b8085111561158857816000190482111561156e5761156e61151e565b8085161561157b57918102915b93841c9390800290611552565b509250929050565b60008261159f57506001610420565b816115ac57506000610420565b81600181146115c257600281146115cc576115e8565b6001915050610420565b60ff8411156115dd576115dd61151e565b50506001821b610420565b5060208310610133831016604e8410600b841016171561160b575081810a610420565b611615838361154d565b80600019048211156116295761162961151e565b029392505050565b600061118860ff841683611590565b80820281158282048414176104205761042061151e565b808201808211156104205761042061151e565b818103818111156104205761042061151e565b60006020828403121561168f57600080fd5b8151611188816112ee565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116ea5784516001600160a01b0316835293830193918301916001016116c5565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261172857634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cf8d4b30c3b7d557550ff8a3499b28e7d692f42caac3c6e42c08e317c98b6be864736f6c63430008110033

Deployed Bytecode Sourcemap

3653:7752:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5985:83;;;;;;;;;;-1:-1:-1;6055:5:0;;;;;;;;;;;-1:-1:-1;;;6055:5:0;;;;5985:83;;;;6055:5;5985:83;:::i;:::-;;;;;;;;7161:161;;;;;;;;;;-1:-1:-1;7161:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7161:161:0;1162:187:1;7875:169:0;;;;;;;;;;-1:-1:-1;7875:169:0;;;;;:::i;:::-;;:::i;:::-;;6262:95;;;;;;;;;;;;;:::i;:::-;;;2758:25:1;;;2746:2;2731:18;6262:95:0;2612:177:1;8054:313:0;;;;;;;;;;-1:-1:-1;8054:313:0;;;;;:::i;:::-;;:::i;6171:83::-;;;;;;;;;;-1:-1:-1;6171:83:0;;4321:1;3397:36:1;;3385:2;3370:18;6171:83:0;3255:184:1;4741:28:0;;;;;;;;;;-1:-1:-1;4741:28:0;;;;-1:-1:-1;;;;;4741:28:0;;;;;;-1:-1:-1;;;;;3608:32:1;;;3590:51;;3578:2;3563:18;4741:28:0;3444:203:1;7519:348:0;;;;;;;;;;;;;:::i;6365:119::-;;;;;;;;;;-1:-1:-1;6365:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6458:18:0;6431:7;6458:18;;;:9;:18;;;;;;;6365:119;2734:148;;;;;;;;;;;;;:::i;10748:213::-;;;;;;;;;;;;;:::i;5801:169::-;;;;;;;;;;-1:-1:-1;5801:169:0;;;;;:::i;:::-;;:::i;4503:56::-;;;;;;;;;;;;;;;;5578:215;;;;;;;;;;;;;:::i;2520:79::-;;;;;;;;;;-1:-1:-1;2558:7:0;2585:6;-1:-1:-1;;;;;2585:6:0;2520:79;;4566:56;;;;;;;;;;;;;;;;6492:167;;;;;;;;;;-1:-1:-1;6492:167:0;;;;;:::i;:::-;;:::i;4629:56::-;;;;;;;;;;;;;;;;7010:143;;;;;;;;;;-1:-1:-1;7010:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7118:18:0;;;7091:7;7118:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7010:143;7330:181;;;;;;;;;;-1:-1:-1;7330:181:0;;;;;:::i;:::-;;:::i;11191:172::-;;;;;;;;;;;;;:::i;7161:161::-;7236:4;7253:39;355:10;7276:7;7285:6;7253:8;:39::i;:::-;-1:-1:-1;7310:4:0;7161:161;;;;;:::o;7875:169::-;2647:6;;-1:-1:-1;;;;;2647:6:0;355:10;2647:22;2639:67;;;;-1:-1:-1;;;2639:67:0;;;;;;;:::i;:::-;;;;;;;;;7954:6:::1;7949:88;7970:5;:12;7966:1;:16;7949:88;;;8021:4;8004;:14;8009:5;8015:1;8009:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;8004:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;8004:14:0;:21;;-1:-1:-1;;8004:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7984:3;::::1;::::0;::::1;:::i;:::-;;;;7949:88;;;;7875:169:::0;:::o;6262:95::-;6315:7;4377:13;4321:1;4377:2;:13;:::i;:::-;4364:26;;:10;:26;:::i;:::-;6335:14;;6262:95;:::o;8054:313::-;8152:4;8169:36;8179:6;8187:9;8198:6;8169:9;:36::i;:::-;8216:121;8225:6;355:10;8247:89;8285:6;8247:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8247:19:0;;;;;;:11;:19;;;;;;;;355:10;8247:33;;;;;;;;;;:37;:89::i;:::-;8216:8;:121::i;:::-;-1:-1:-1;8355:4:0;8054:313;;;;;:::o;7519:348::-;7583:10;;-1:-1:-1;;;;;7583:10:0;355;-1:-1:-1;;;;;7569:24:0;;7561:33;;;;;;7644:4;7605:20;6458:18;;;:9;:18;;;;;;7664:14;;7661:73;;7692:30;7709:12;7692:16;:30::i;:::-;7763:21;7798:12;;7795:65;;7824:24;7837:10;7824:12;:24::i;2734:148::-;2647:6;;-1:-1:-1;;;;;2647:6:0;355:10;2647:22;2639:67;;;;-1:-1:-1;;;2639:67:0;;;;;;;:::i;:::-;2841:1:::1;2825:6:::0;;2804:40:::1;::::0;-1:-1:-1;;;;;2825:6:0;;::::1;::::0;2804:40:::1;::::0;2841:1;;2804:40:::1;2872:1;2855:19:::0;;-1:-1:-1;;;;;;2855:19:0::1;::::0;;2734:148::o;10748:213::-;2647:6;;-1:-1:-1;;;;;2647:6:0;355:10;2647:22;2639:67;;;;-1:-1:-1;;;2639:67:0;;;;;;;:::i;:::-;4377:13:::1;4321:1;4377:2;:13;:::i;:::-;4364:26;::::0;:10:::1;:26;:::i;:::-;10801:12;:22:::0;4377:13:::1;4321:1;4377:2;:13;:::i;:::-;4364:26;::::0;:10:::1;:26;:::i;:::-;10834:14;:22:::0;10897:13:::1;4321:1;10897:2;:13;:::i;:::-;10887:23;::::0;:7:::1;:23;:::i;:::-;10867:17;:43:::0;10926:27:::1;4377:13;4321:1;4377:2;:13;:::i;:::-;4364:26;::::0;:10:::1;:26;:::i;:::-;10926:27;::::0;2758:25:1;;;2746:2;2731:18;10926:27:0::1;;;;;;;10748:213::o:0;5801:169::-;2647:6;;-1:-1:-1;;;;;2647:6:0;355:10;2647:22;2639:67;;;;-1:-1:-1;;;2639:67:0;;;;;;;:::i;:::-;5881:6:::1;5876:87;5897:6;:13;5893:1;:17;5876:87;;;5948:5;5930:4;:15;5935:6;5942:1;5935:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;5930:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;5930:15:0;:23;;-1:-1:-1;;5930:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;5912:3;::::1;::::0;::::1;:::i;:::-;;;;5876:87;;5578:215:::0;2647:6;;-1:-1:-1;;;;;2647:6:0;355:10;2647:22;2639:67;;;;-1:-1:-1;;;2639:67:0;;;;;;;:::i;:::-;5644:11:::1;::::0;-1:-1:-1;;;5644:11:0;::::1;;;5643:12;5635:58;;;::::0;-1:-1:-1;;;5635:58:0;;7073:2:1;5635:58:0::1;::::0;::::1;7055:21:1::0;7112:2;7092:18;;;7085:30;7151:34;7131:18;;;7124:62;-1:-1:-1;;;7202:18:1;;;7195:32;7244:19;;5635:58:0::1;6871:398:1::0;5635:58:0::1;5704:11;:18:::0;;-1:-1:-1;;;;5733:18:0;-1:-1:-1;;;5733:18:0;;;5773:12:::1;5762:8;:23:::0;5578:215::o;6492:167::-;6570:4;6587:42;355:10;6611:9;6622:6;6587:9;:42::i;7330:181::-;2647:6;;-1:-1:-1;;;;;2647:6:0;355:10;2647:22;2639:67;;;;-1:-1:-1;;;2639:67:0;;;;;;;:::i;:::-;7434:11:::1;:29:::0;;;;7472:12:::1;:31:::0;7330:181::o;11191:172::-;11252:21;11287:12;;11284:72;;11313:10;;:31;;-1:-1:-1;;;;;11313:10:0;;;;:31;;;;;11333:10;;11313;:31;:10;:31;11333:10;11313;:31;;;;;;;;;;;;;;;;;;;11284:72;11222:141;11191:172::o;6667:335::-;-1:-1:-1;;;;;6760:19:0;;6752:68;;;;-1:-1:-1;;;6752:68:0;;7476:2:1;6752:68:0;;;7458:21:1;7515:2;7495:18;;;7488:30;7554:34;7534:18;;;7527:62;-1:-1:-1;;;7605:18:1;;;7598:34;7649:19;;6752:68:0;7274:400:1;6752:68:0;-1:-1:-1;;;;;6839:21:0;;6831:68;;;;-1:-1:-1;;;6831:68:0;;7881:2:1;6831:68:0;;;7863:21:1;7920:2;7900:18;;;7893:30;7959:34;7939:18;;;7932:62;-1:-1:-1;;;8010:18:1;;;8003:32;8052:19;;6831:68:0;7679:398:1;6831:68:0;-1:-1:-1;;;;;6910:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6962:32;;2758:25:1;;;6962:32:0;;2731:18:1;6962:32:0;;;;;;;6667:335;;;:::o;8375:1874::-;-1:-1:-1;;;;;8463:18:0;;8455:68;;;;-1:-1:-1;;;8455:68:0;;8284:2:1;8455:68:0;;;8266:21:1;8323:2;8303:18;;;8296:30;8362:34;8342:18;;;8335:62;-1:-1:-1;;;8413:18:1;;;8406:35;8458:19;;8455:68:0;8082:401:1;8455:68:0;-1:-1:-1;;;;;8542:16:0;;8534:64;;;;-1:-1:-1;;;8534:64:0;;8690:2:1;8534:64:0;;;8672:21:1;8729:2;8709:18;;;8702:30;8768:34;8748:18;;;8741:62;-1:-1:-1;;;8819:18:1;;;8812:33;8862:19;;8534:64:0;8488:399:1;8534:64:0;8626:1;8617:6;:10;8609:64;;;;-1:-1:-1;;;8609:64:0;;9094:2:1;8609:64:0;;;9076:21:1;9133:2;9113:18;;;9106:30;9172:34;9152:18;;;9145:62;-1:-1:-1;;;9223:18:1;;;9216:39;9272:19;;8609:64:0;8892:405:1;8609:64:0;8684:17;2585:6;;-1:-1:-1;;;;;8718:15:0;;;2585:6;;8718:15;;;;:32;;-1:-1:-1;2558:7:0;2585:6;-1:-1:-1;;;;;8737:13:0;;;2585:6;;8737:13;;8718:32;8714:1177;;;-1:-1:-1;;;;;8776:10:0;;;;;;:4;:10;;;;;;;;8775:11;:24;;;;-1:-1:-1;;;;;;8791:8:0;;;;;;:4;:8;;;;;;;;8790:9;8775:24;8767:33;;;;;;8827:13;;-1:-1:-1;;;;;8819:21:0;;;8827:13;;8819:21;:55;;;;-1:-1:-1;8858:15:0;;-1:-1:-1;;;;;8844:30:0;;;8858:15;;8844:30;;8819:55;:83;;;;-1:-1:-1;;;;;;8880:22:0;;;;;;:18;:22;;;;;;;;8878:24;8819:83;8815:405;;;8932:11;;-1:-1:-1;;;8932:11:0;;;;8924:40;;;;-1:-1:-1;;;8924:40:0;;9504:2:1;8924:40:0;;;9486:21:1;9543:2;9523:18;;;9516:30;-1:-1:-1;;;9562:18:1;;;9555:46;9618:18;;8924:40:0;9302:340:1;8924:40:0;9001:12;;8991:6;:22;;8983:60;;;;-1:-1:-1;;;8983:60:0;;9849:2:1;8983:60:0;;;9831:21:1;9888:2;9868:18;;;9861:30;9927:27;9907:18;;;9900:55;9972:18;;8983:60:0;9647:349:1;8983:60:0;9096:14;;9086:6;9070:13;9080:2;-1:-1:-1;;;;;6458:18:0;6431:7;6458:18;;;:9;:18;;;;;;;6365:119;9070:13;:22;;;;:::i;:::-;:40;;9062:79;;;;-1:-1:-1;;;9062:79:0;;10333:2:1;9062:79:0;;;10315:21:1;10372:2;10352:18;;;10345:30;10411:28;10391:18;;;10384:56;10457:18;;9062:79:0;10131:350:1;9062:79:0;9172:32;9200:3;9172:23;9183:11;;9172:6;:10;;:23;;;;:::i;:::-;:27;;:32::i;:::-;9160:44;;8815:405;9245:13;;-1:-1:-1;;;;;9239:19:0;;;9245:13;;9239:19;:43;;;;-1:-1:-1;;;;;;9262:20:0;;9277:4;9262:20;;9239:43;9236:128;;;9315:33;9344:3;9315:24;9326:12;;9315:6;:10;;:24;;;;:::i;:33::-;9303:45;;9236:128;9429:4;9380:28;6458:18;;;:9;:18;;;;;;9455:6;;-1:-1:-1;;;9455:6:0;;;;9454:7;:32;;;;-1:-1:-1;9473:13:0;;-1:-1:-1;;;;;9465:21:0;;;9473:13;;9465:21;9454:32;:47;;;;-1:-1:-1;9490:11:0;;-1:-1:-1;;;9490:11:0;;;;9454:47;:89;;;;;9526:17;;9505:20;:38;9454:89;:117;;;;;9559:12;9547:8;;:24;;9454:117;9450:430;;;9592:35;9609:17;;9592:16;:35::i;:::-;9675:21;9718:22;;9715:105;;9765:35;9778:21;9765:12;:35::i;:::-;-1:-1:-1;9852:12:0;9841:8;:23;9450:430;8752:1139;8714:1177;9906:11;;9903:161;;9974:4;9956:24;;;;:9;:24;;;;;;:39;;9985:9;9956:28;:39::i;:::-;9949:4;9931:24;;;;:9;:24;;;;;;;:64;;;;10013:39;;-1:-1:-1;;;;;10013:39:0;;;;;;;10042:9;2758:25:1;;2746:2;2731:18;;2612:177;10013:39:0;;;;;;;;9903:161;-1:-1:-1;;;;;10092:15:0;;;;;;:9;:15;;;;;;:27;;10112:6;10092:19;:27::i;:::-;-1:-1:-1;;;;;10076:15:0;;;;;;:9;:15;;;;;:43;10144:40;10162:21;:6;10173:9;10162:10;:21::i;:::-;-1:-1:-1;;;;;10144:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10130:13:0;;;;;;;:9;:13;;;;;:54;;;;10200:41;;;10219:21;:6;10230:9;10219:10;:21::i;:::-;10200:41;;2758:25:1;;;2746:2;2731:18;10200:41:0;;;;;;;8444:1805;8375:1874;;;:::o;1412:190::-;1498:7;1534:12;1526:6;;;;1518:29;;;;-1:-1:-1;;;1518:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1558:9:0;1570:5;1574:1;1570;:5;:::i;:::-;1558:17;1412:190;-1:-1:-1;;;;;1412:190:0:o;10257:483::-;4972:6;:13;;-1:-1:-1;;;;4972:13:0;-1:-1:-1;;;4972:13:0;;;10359:16:::1;::::0;;10373:1:::1;10359:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10359:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10359:16:0::1;10335:40;;10404:4;10386;10391:1;10386:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10386:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10430:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10430:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10386:7;;10430:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10420:4;10425:1;10420:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10420:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10495:15:::1;::::0;10463:62:::1;::::0;10480:4:::1;::::0;10495:15:::1;10513:11:::0;10463:8:::1;:62::i;:::-;10536:15;::::0;:196:::1;::::0;-1:-1:-1;;;10536:196:0;;-1:-1:-1;;;;;10536:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10617:11;;10536:15:::1;::::0;10659:4;;10686::::1;::::0;10706:15:::1;::::0;10536:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5008:6:0;:14;;-1:-1:-1;;;;5008:14:0;;;-1:-1:-1;;;;10257:483:0:o;11075:92::-;11132:10;;:27;;-1:-1:-1;;;;;11132:10:0;;;;:27;;;;;11152:6;;11132:10;:27;:10;:27;11152:6;11132:10;:27;;;;;;;;;;;;;;;;;;;1610:246;1668:7;1692:1;1697;1692:6;1688:47;;-1:-1:-1;1722:1:0;1715:8;;1688:47;1745:9;1757:5;1761:1;1757;:5;:::i;:::-;1745:17;-1:-1:-1;1790:1:0;1781:5;1785:1;1745:17;1781:5;:::i;:::-;:10;1773:56;;;;-1:-1:-1;;;1773:56:0;;12284:2:1;1773:56:0;;;12266:21:1;12323:2;12303:18;;;12296:30;12362:34;12342:18;;;12335:62;-1:-1:-1;;;12413:18:1;;;12406:31;12454:19;;1773:56:0;12082:397:1;1773:56:0;1847:1;1610:246;-1:-1:-1;;;1610:246:0:o;1864:132::-;1922:7;1949:39;1953:1;1956;1949:39;;;;;;;;;;;;;;;;;:3;:39::i;1081:179::-;1139:7;;1171:5;1175:1;1171;:5;:::i;:::-;1159:17;;1200:1;1195;:6;;1187:46;;;;-1:-1:-1;;;1187:46:0;;12686:2:1;1187:46:0;;;12668:21:1;12725:2;12705:18;;;12698:30;12764:29;12744:18;;;12737:57;12811:18;;1187:46:0;12484:351:1;1268:136:0;1326:7;1353:43;1357:1;1360;1353:43;;;;;;;;;;;;;;;;;:3;:43::i;2004:189::-;2090:7;2125:12;2118:5;2110:28;;;;-1:-1:-1;;;2110:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2149:9:0;2161:5;2165:1;2161;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1354:127::-;1415:10;1410:3;1406:20;1403:1;1396:31;1446:4;1443:1;1436:15;1470:4;1467:1;1460:15;1486:1121;1570:6;1601:2;1644;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1700:9;1687:23;1729:18;1770:2;1762:6;1759:14;1756:34;;;1786:1;1783;1776:12;1756:34;1824:6;1813:9;1809:22;1799:32;;1869:7;1862:4;1858:2;1854:13;1850:27;1840:55;;1891:1;1888;1881:12;1840:55;1927:2;1914:16;1949:2;1945;1942:10;1939:36;;;1955:18;;:::i;:::-;2001:2;1998:1;1994:10;2033:2;2027:9;2096:2;2092:7;2087:2;2083;2079:11;2075:25;2067:6;2063:38;2151:6;2139:10;2136:22;2131:2;2119:10;2116:18;2113:46;2110:72;;;2162:18;;:::i;:::-;2198:2;2191:22;2248:18;;;2282:15;;;;-1:-1:-1;2324:11:1;;;2320:20;;;2352:19;;;2349:39;;;2384:1;2381;2374:12;2349:39;2408:11;;;;2428:148;2444:6;2439:3;2436:15;2428:148;;;2510:23;2529:3;2510:23;:::i;:::-;2498:36;;2461:12;;;;2554;;;;2428:148;;;2595:6;1486:1121;-1:-1:-1;;;;;;;;1486:1121:1:o;2794:456::-;2871:6;2879;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;2995:9;2982:23;3014:31;3039:5;3014:31;:::i;:::-;3064:5;-1:-1:-1;3121:2:1;3106:18;;3093:32;3134:33;3093:32;3134:33;:::i;:::-;2794:456;;3186:7;;-1:-1:-1;;;3240:2:1;3225:18;;;;3212:32;;2794:456::o;3652:247::-;3711:6;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:248::-;4365:6;4373;4426:2;4414:9;4405:7;4401:23;4397:32;4394:52;;;4442:1;4439;4432:12;4394:52;-1:-1:-1;;4465:23:1;;;4535:2;4520:18;;;4507:32;;-1:-1:-1;4297:248:1:o;4550:356::-;4752:2;4734:21;;;4771:18;;;4764:30;4830:34;4825:2;4810:18;;4803:62;4897:2;4882:18;;4550:356::o;4911:127::-;4972:10;4967:3;4963:20;4960:1;4953:31;5003:4;5000:1;4993:15;5027:4;5024:1;5017:15;5043:127;5104:10;5099:3;5095:20;5092:1;5085:31;5135:4;5132:1;5125:15;5159:4;5156:1;5149:15;5175:135;5214:3;5235:17;;;5232:43;;5255:18;;:::i;:::-;-1:-1:-1;5302:1:1;5291:13;;5175:135::o;5315:422::-;5404:1;5447:5;5404:1;5461:270;5482:7;5472:8;5469:21;5461:270;;;5541:4;5537:1;5533:6;5529:17;5523:4;5520:27;5517:53;;;5550:18;;:::i;:::-;5600:7;5590:8;5586:22;5583:55;;;5620:16;;;;5583:55;5699:22;;;;5659:15;;;;5461:270;;;5465:3;5315:422;;;;;:::o;5742:806::-;5791:5;5821:8;5811:80;;-1:-1:-1;5862:1:1;5876:5;;5811:80;5910:4;5900:76;;-1:-1:-1;5947:1:1;5961:5;;5900:76;5992:4;6010:1;6005:59;;;;6078:1;6073:130;;;;5985:218;;6005:59;6035:1;6026:10;;6049:5;;;6073:130;6110:3;6100:8;6097:17;6094:43;;;6117:18;;:::i;:::-;-1:-1:-1;;6173:1:1;6159:16;;6188:5;;5985:218;;6287:2;6277:8;6274:16;6268:3;6262:4;6259:13;6255:36;6249:2;6239:8;6236:16;6231:2;6225:4;6222:12;6218:35;6215:77;6212:159;;;-1:-1:-1;6324:19:1;;;6356:5;;6212:159;6403:34;6428:8;6422:4;6403:34;:::i;:::-;6473:6;6469:1;6465:6;6461:19;6452:7;6449:32;6446:58;;;6484:18;;:::i;:::-;6522:20;;5742:806;-1:-1:-1;;;5742:806:1:o;6553:140::-;6611:5;6640:47;6681:4;6671:8;6667:19;6661:4;6640:47;:::i;6698:168::-;6771:9;;;6802;;6819:15;;;6813:22;;6799:37;6789:71;;6840:18;;:::i;10001:125::-;10066:9;;;10087:10;;;10084:36;;;10100:18;;:::i;10486:128::-;10553:9;;;10574:11;;;10571:37;;;10588:18;;:::i;10619:251::-;10689:6;10742:2;10730:9;10721:7;10717:23;10713:32;10710:52;;;10758:1;10755;10748:12;10710:52;10790:9;10784:16;10809:31;10834:5;10809:31;:::i;10875:980::-;11137:4;11185:3;11174:9;11170:19;11216:6;11205:9;11198:25;11242:2;11280:6;11275:2;11264:9;11260:18;11253:34;11323:3;11318:2;11307:9;11303:18;11296:31;11347:6;11382;11376:13;11413:6;11405;11398:22;11451:3;11440:9;11436:19;11429:26;;11490:2;11482:6;11478:15;11464:29;;11511:1;11521:195;11535:6;11532:1;11529:13;11521:195;;;11600:13;;-1:-1:-1;;;;;11596:39:1;11584:52;;11691:15;;;;11656:12;;;;11632:1;11550:9;11521:195;;;-1:-1:-1;;;;;;;11772:32:1;;;;11767:2;11752:18;;11745:60;-1:-1:-1;;;11836:3:1;11821:19;11814:35;11733:3;10875:980;-1:-1:-1;;;10875:980:1:o;11860:217::-;11900:1;11926;11916:132;;11970:10;11965:3;11961:20;11958:1;11951:31;12005:4;12002:1;11995:15;12033:4;12030:1;12023:15;11916:132;-1:-1:-1;12062:9:1;;11860:217::o

Swarm Source

ipfs://cf8d4b30c3b7d557550ff8a3499b28e7d692f42caac3c6e42c08e317c98b6be8

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.