ETH Price: $3,120.43 (-5.42%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve215369882025-01-02 13:09:1130 days ago1735823351IN
0xD62BaA6f...7c549C7DC
0 ETH0.0007505516.22164897
Approve215180572024-12-30 21:44:2333 days ago1735595063IN
0xD62BaA6f...7c549C7DC
0 ETH0.0006708714.42100994
Approve212614872024-11-25 1:28:3569 days ago1732498115IN
0xD62BaA6f...7c549C7DC
0 ETH0.0005148811.06780893
Approve212588622024-11-24 16:40:4769 days ago1732466447IN
0xD62BaA6f...7c549C7DC
0 ETH0.000539211.59066809
Approve208431412024-09-27 16:25:23127 days ago1727454323IN
0xD62BaA6f...7c549C7DC
0 ETH0.0005467922.56027701
Approve207786142024-09-18 16:16:47136 days ago1726676207IN
0xD62BaA6f...7c549C7DC
0 ETH0.000860318.49289344
Approve207415262024-09-13 11:54:23141 days ago1726228463IN
0xD62BaA6f...7c549C7DC
0 ETH0.000136722.93909808
Approve206897232024-09-06 6:20:47148 days ago1725603647IN
0xD62BaA6f...7c549C7DC
0 ETH0.000043810.94192155
Approve206571472024-09-01 17:14:35153 days ago1725210875IN
0xD62BaA6f...7c549C7DC
0 ETH0.000057381.23352058
Approve206039762024-08-25 6:59:59160 days ago1724569199IN
0xD62BaA6f...7c549C7DC
0 ETH0.000059021.27561178
Approve205787352024-08-21 18:17:47164 days ago1724264267IN
0xD62BaA6f...7c549C7DC
0 ETH0.000141553.04276541
Approve205389432024-08-16 4:57:23170 days ago1723784243IN
0xD62BaA6f...7c549C7DC
0 ETH0.000054281.16687295
Approve205078822024-08-11 20:53:23174 days ago1723409603IN
0xD62BaA6f...7c549C7DC
0 ETH0.000120432.58892116
Approve205020022024-08-11 1:09:59175 days ago1723338599IN
0xD62BaA6f...7c549C7DC
0 ETH0.000040960.88047402
Approve205017872024-08-11 0:26:59175 days ago1723336019IN
0xD62BaA6f...7c549C7DC
0 ETH0.000043690.94550349
Approve204503102024-08-03 20:09:11182 days ago1722715751IN
0xD62BaA6f...7c549C7DC
0 ETH0.000226164.86165508
Approve204472572024-08-03 9:56:11182 days ago1722678971IN
0xD62BaA6f...7c549C7DC
0 ETH0.000057491.23587763
Transfer204470292024-08-03 9:10:35182 days ago1722676235IN
0xD62BaA6f...7c549C7DC
0 ETH0.000129692.34811296
Approve204301552024-08-01 0:36:35185 days ago1722472595IN
0xD62BaA6f...7c549C7DC
0 ETH0.000222914.8240823
Approve203492102024-07-20 17:23:23196 days ago1721496203IN
0xD62BaA6f...7c549C7DC
0 ETH0.0001994.27773059
Approve203486862024-07-20 15:37:59196 days ago1721489879IN
0xD62BaA6f...7c549C7DC
0 ETH0.000308476.6651826
Approve203467742024-07-20 9:13:23196 days ago1721466803IN
0xD62BaA6f...7c549C7DC
0 ETH0.000235615.06474039
Approve202590132024-07-08 3:08:59209 days ago1720408139IN
0xD62BaA6f...7c549C7DC
0 ETH0.000096212.06823731
Transfer202284562024-07-03 20:44:59213 days ago1720039499IN
0xD62BaA6f...7c549C7DC
0 ETH0.000416037.57
Approve201668612024-06-25 6:18:59221 days ago1719296339IN
0xD62BaA6f...7c549C7DC
0 ETH0.000122952.64307726
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
215369902025-01-02 13:09:3530 days ago1735823375
0xD62BaA6f...7c549C7DC
0.00238087 ETH
215369902025-01-02 13:09:3530 days ago1735823375
0xD62BaA6f...7c549C7DC
0.00238087 ETH
212588642024-11-24 16:41:1169 days ago1732466471
0xD62BaA6f...7c549C7DC
0.00298081 ETH
212588642024-11-24 16:41:1169 days ago1732466471
0xD62BaA6f...7c549C7DC
0.00298081 ETH
204472592024-08-03 9:56:35182 days ago1722678995
0xD62BaA6f...7c549C7DC
0.00296327 ETH
204472592024-08-03 9:56:35182 days ago1722678995
0xD62BaA6f...7c549C7DC
0.00296327 ETH
201484952024-06-22 16:40:35224 days ago1719074435
0xD62BaA6f...7c549C7DC
0.0013693 ETH
201484952024-06-22 16:40:35224 days ago1719074435
0xD62BaA6f...7c549C7DC
0.0013693 ETH
198925442024-05-17 22:03:47260 days ago1715983427
0xD62BaA6f...7c549C7DC
0.00297196 ETH
198925442024-05-17 22:03:47260 days ago1715983427
0xD62BaA6f...7c549C7DC
0.00297196 ETH
197277382024-04-24 20:53:23283 days ago1713992003
0xD62BaA6f...7c549C7DC
0.0051324 ETH
197277382024-04-24 20:53:23283 days ago1713992003
0xD62BaA6f...7c549C7DC
0.0051324 ETH
196661472024-04-16 6:05:35291 days ago1713247535
0xD62BaA6f...7c549C7DC
0.00321827 ETH
196661472024-04-16 6:05:35291 days ago1713247535
0xD62BaA6f...7c549C7DC
0.00321827 ETH
195493992024-03-30 21:21:23308 days ago1711833683
0xD62BaA6f...7c549C7DC
0.01669329 ETH
195493992024-03-30 21:21:23308 days ago1711833683
0xD62BaA6f...7c549C7DC
0.01669329 ETH
194694582024-03-19 14:42:47319 days ago1710859367
0xD62BaA6f...7c549C7DC
0.00666132 ETH
194694582024-03-19 14:42:47319 days ago1710859367
0xD62BaA6f...7c549C7DC
0.00666132 ETH
194650192024-03-18 23:44:23320 days ago1710805463
0xD62BaA6f...7c549C7DC
0.00419745 ETH
194650192024-03-18 23:44:23320 days ago1710805463
0xD62BaA6f...7c549C7DC
0.00419745 ETH
194640832024-03-18 20:34:59320 days ago1710794099
0xD62BaA6f...7c549C7DC
0.00668979 ETH
194640832024-03-18 20:34:59320 days ago1710794099
0xD62BaA6f...7c549C7DC
0.00668979 ETH
194479632024-03-16 14:10:59322 days ago1710598259
0xD62BaA6f...7c549C7DC
0.01207896 ETH
194479632024-03-16 14:10:59322 days ago1710598259
0xD62BaA6f...7c549C7DC
0.01207896 ETH
194323542024-03-14 9:27:23324 days ago1710408443
0xD62BaA6f...7c549C7DC
0.00912262 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
REFLECTAUDIT

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-26
*/

// SPDX-License-Identifier: MIT

/*                                 

██████╗ ██████╗███████╗ ██╗     ███████╗ ██████╗████████╗     █████╗ ██╗   ██╗██████╗ ██╗████████╗
██╔══██╗██╔════╝██╔════╝██║     ██╔════╝██╔════╝╚══██╔══╝    ██╔══██╗██║   ██║██╔══██╗██║╚══██╔══╝
██████╔╝█████╗  █████╗  ██║     █████╗  ██║        ██║       ███████║██║   ██║██║  ██║██║   ██║   
██╔══██╗██╔══╝  ██╔══╝  ██║     ██╔══╝  ██║        ██║       ██╔══██║██║   ██║██║  ██║██║   ██║   
██║  ██║███████╗██║     ███████╗███████╗╚██████╗   ██║       ██║  ██║╚██████╔╝██████╔╝██║   ██║   
╚═╝  ╚═╝╚══════╝╚═╝     ╚══════╝╚══════╝ ╚═════╝   ╚═╝       ╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚═╝   ╚═╝ 
       We're committed to enhancing the security, efficiency, and reliability        


Telegram : https://t.me/ReflectAudit
Website : https://www.reflectaudit.com/
Whitepaper : https://docs.reflectaudit.com/
Litepaper : https://github.com/ReflectAudit/ReflectAudit/blob/main/Reflect%20Audit%20Litepaper.pdf
Twitter : https://twitter.com/ReflectAudit
Github : https://github.com/ReflectAudit

---------------------------------------------

Create your smart contract without coding : https://create.reflectaudit.com/
Reflect Staking : https://stake.reflectaudit.com/
Reflect Academy : https://academy.reflectaudit.com/

---------------------------------------------

DOWNLOAD REFLECTAUDIT HERE ==> https://play.google.com/store/apps/details?id=com.reflectaudit.wallet
*/


pragma solidity 0.8.19;

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 REFLECTAUDIT 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;
    address payable private _taxWallet;
    address private constant deadAddress = address(0xdead);

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=15;
    uint256 private _finalSellTax=15;
    uint256 private _reduceBuyTaxAt=30;
    uint256 private _reduceSellTaxAt=45;
    uint256 private _preventSwapBefore=40;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"REFLECT AUDIT";
    string private constant _symbol = unicode"REF";
    uint256 public _maxTxAmount = 1000000 * 10**_decimals;
    uint256 public _maxWalletSize = 1000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 100000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private limitEffect = true;
    bool private inSwap = false;
    bool private swapEnabled = false;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(0x549F3F97830bF89c9C115E8B49C6376f3A9c622d);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[deadAddress]= true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

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

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

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

            if (!tradingOpen) {
                require( 
                  _isExcludedFromFee[from] || _isExcludedFromFee[to],
                  "trading is not yet open"
                );
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                if (limitEffect) {
                    require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                    require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                } 
                _buyCount++;
            }
            
            if ( to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul 
                ((_buyCount>_reduceSellTaxAt)
                    ?_finalSellTax:_initialSellTax).div(100
                );
            } else if (from == uniswapV2Pair && to!= address(this) ){
                taxAmount = amount.mul
                ((_buyCount>_reduceBuyTaxAt)
                    ?_finalBuyTax:_initialBuyTax).div(100
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap && 
                to == uniswapV2Pair && 
                swapEnabled && 
                contractTokenBalance>_taxSwapThreshold && 
                _buyCount>_preventSwapBefore
            ){
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        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 sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

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

    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 addliquidity() external onlyOwner() {
        require(!tradingOpen,"Liquidity is already added");
        uint256 tokenAmount = balanceOf(address(this)).sub(_tTotal.mul(_initialBuyTax).div(100));
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this), 
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance} (
            address(this),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); 
    }

    function removeLimits () external onlyOwner returns (bool){
        limitEffect = false;
        return true;
    }
    
    function reduceTax (uint256 _value) external onlyOwner returns (bool) {
        _finalBuyTax = _value;
        _finalSellTax = _value;
        require(_value <= 5,"Tax cannot exceed 5");
        return true;
    }

    function openTrading() external onlyOwner returns (bool) {
        require(!tradingOpen,"trading is already open");
        swapEnabled = true;
        tradingOpen = true;
        return true;
    }

    function clearstuckETH() external returns (bool) {
        require(tradingOpen,"trading is not yet open");
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          _taxWallet.transfer(ethBalance);
        }
        return true;
    }
    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":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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addliquidity","outputs":[],"stateMutability":"nonpayable","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":[],"name":"clearstuckETH","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"reduceTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"stateMutability":"payable","type":"receive"}]

608060405260146005556019600655600f600755600f600855601e600955602d600a556028600b556000600c556009600a6200003c91906200037f565b6200004b90620f424062000397565b600d556200005c6009600a6200037f565b6200006b90620f424062000397565b600e556200007c6009600a6200037f565b6200008b90620186a062000397565b600f556200009c6009600a6200037f565b620000ab90620f424062000397565b6010556012805462ffffff60a81b1916600160a81b179055348015620000d057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191673549f3f97830bf89c9c115e8b49c6376f3a9c622d179055620001466009600a6200037f565b62000156906305f5e10062000397565b336000908152600160208190526040822092909255600390620001816000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560039093527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054851660019081179091553084528284208054861682179055600454909116835291208054909216179055620002093390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002436009600a6200037f565b62000253906305f5e10062000397565b60405190815260200160405180910390a3620003b1565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002c1578160001904821115620002a557620002a56200026a565b80851615620002b357918102915b93841c939080029062000285565b509250929050565b600082620002da5750600162000379565b81620002e95750600062000379565b81600181146200030257600281146200030d576200032d565b600191505062000379565b60ff8411156200032157620003216200026a565b50506001821b62000379565b5060208310610133831016604e8410600b841016171562000352575081810a62000379565b6200035e838362000280565b80600019048211156200037557620003756200026a565b0290505b92915050565b60006200039060ff841683620002c9565b9392505050565b80820281158282048414176200037957620003796200026a565b6119b580620003c16000396000f3fe6080604052600436106101235760003560e01c80637d1db4a5116100a0578063a92d4a9211610064578063a92d4a9214610333578063bf474bed14610348578063c9567bf91461035e578063dd62ed3e14610373578063ef985894146103b957600080fd5b80637d1db4a5146102935780638da5cb5b146102a95780638f9a55c0146102d157806395d89b41146102e7578063a9059cbb1461031357600080fd5b8063313ce567116100e7578063313ce5671461020057806342e99d1a1461021c57806370a0823114610233578063715018a614610269578063751039fc1461027e57600080fd5b806306fdde031461012f578063095ea7b3146101775780630faee56f146101a757806318160ddd146101cb57806323b872dd146101e057600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600d81526c149151931150d5081055511255609a1b60208201525b60405161016e919061156b565b60405180910390f35b34801561018357600080fd5b506101976101923660046115d1565b6103d9565b604051901515815260200161016e565b3480156101b357600080fd5b506101bd60105481565b60405190815260200161016e565b3480156101d757600080fd5b506101bd6103f0565b3480156101ec57600080fd5b506101976101fb3660046115fd565b610411565b34801561020c57600080fd5b506040516009815260200161016e565b34801561022857600080fd5b5061023161047a565b005b34801561023f57600080fd5b506101bd61024e36600461163e565b6001600160a01b031660009081526001602052604090205490565b34801561027557600080fd5b5061023161085c565b34801561028a57600080fd5b506101976108d0565b34801561029f57600080fd5b506101bd600d5481565b3480156102b557600080fd5b506000546040516001600160a01b03909116815260200161016e565b3480156102dd57600080fd5b506101bd600e5481565b3480156102f357600080fd5b506040805180820190915260038152622922a360e91b6020820152610161565b34801561031f57600080fd5b5061019761032e3660046115d1565b61090e565b34801561033f57600080fd5b5061019761091b565b34801561035457600080fd5b506101bd600f5481565b34801561036a57600080fd5b506101976109bc565b34801561037f57600080fd5b506101bd61038e36600461165b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c557600080fd5b506101976103d4366004611694565b610a60565b60006103e6338484610ae4565b5060015b92915050565b60006103fe6009600a6117a7565b61040c906305f5e1006117b6565b905090565b600061041e848484610c08565b610470843361046b85604051806060016040528060288152602001611958602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111ce565b610ae4565b5060019392505050565b6000546001600160a01b031633146104ad5760405162461bcd60e51b81526004016104a4906117cd565b60405180910390fd5b601254600160a01b900460ff16156105075760405162461bcd60e51b815260206004820152601a60248201527f4c697175696469747920697320616c726561647920616464656400000000000060448201526064016104a4565b600061055561053f60646105396005546009600a61052591906117a7565b610533906305f5e1006117b6565b90611208565b90611291565b30600090815260016020526040902054906112d3565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506105a19030906105936009600a6117a7565b61046b906305f5e1006117b6565b601160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106189190611802565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069e9190611802565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f9190611802565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d71947308460008061074e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107db919061181f565b505060125460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610834573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610858919061184d565b5050565b6000546001600160a01b031633146108865760405162461bcd60e51b81526004016104a4906117cd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b031633146108fb5760405162461bcd60e51b81526004016104a4906117cd565b506012805460ff60a81b19169055600190565b60006103e6338484610c08565b601254600090600160a01b900460ff166109715760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b9903737ba103cb2ba1037b832b760491b60448201526064016104a4565b4780156109b4576004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156109b2573d6000803e3d6000fd5b505b600191505090565b600080546001600160a01b031633146109e75760405162461bcd60e51b81526004016104a4906117cd565b601254600160a01b900460ff1615610a415760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104a4565b506012805463ff0000ff60a01b1916630100000160a01b179055600190565b600080546001600160a01b03163314610a8b5760405162461bcd60e51b81526004016104a4906117cd565b600782905560088290556005821115610adc5760405162461bcd60e51b81526020600482015260136024820152725461782063616e6e6f7420657863656564203560681b60448201526064016104a4565b506001919050565b6001600160a01b038316610b465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a4565b6001600160a01b038216610ba75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a4565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c6c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a4565b6001600160a01b038216610cce5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a4565b60008111610d305760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a4565b600080546001600160a01b03858116911614801590610d5d57506000546001600160a01b03848116911614155b1561108b57601254600160a01b900460ff16610df8576001600160a01b03841660009081526003602052604090205460ff1680610db257506001600160a01b03831660009081526003602052604090205460ff165b610df85760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b9903737ba103cb2ba1037b832b760491b60448201526064016104a4565b6012546001600160a01b038581169116148015610e2357506011546001600160a01b03848116911614155b8015610e4857506001600160a01b03831660009081526003602052604090205460ff16155b15610f4257601254600160a81b900460ff1615610f2c57600d54821115610eb15760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104a4565b600e5482610ed4856001600160a01b031660009081526001602052604090205490565b610ede919061186f565b1115610f2c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104a4565b600c8054906000610f3c83611882565b91905055505b6012546001600160a01b038481169116148015610f6857506001600160a01b0384163014155b15610f9a57610f936064610539600a54600c5411610f8857600654610f8c565b6008545b8590611208565b9050610fed565b6012546001600160a01b038581169116148015610fc057506001600160a01b0383163014155b15610fed57610fea6064610539600954600c5411610fe057600554610f8c565b6007548590611208565b90505b30600090815260016020526040902054601254600160b01b900460ff1615801561102457506012546001600160a01b038581169116145b80156110395750601254600160b81b900460ff165b80156110465750600f5481115b80156110555750600b54600c54115b15611089576110776110728461106d84601054611315565b611315565b61132a565b47801561108757611087476114a4565b505b505b801561110557306000908152600160205260409020546110ab90826114de565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110fc9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461112890836112d3565b6001600160a01b03851660009081526001602052604090205561116d61114e83836112d3565b6001600160a01b038516600090815260016020526040902054906114de565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111b785856112d3565b60405190815260200160405180910390a350505050565b600081848411156111f25760405162461bcd60e51b81526004016104a4919061156b565b5060006111ff848661189b565b95945050505050565b60008260000361121a575060006103ea565b600061122683856117b6565b90508261123385836118ae565b1461128a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a4565b9392505050565b600061128a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061153d565b600061128a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ce565b6000818311611324578261128a565b50919050565b6012805460ff60b01b1916600160b01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611372576113726118d0565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ef9190611802565b81600181518110611402576114026118d0565b6001600160a01b0392831660209182029290920101526011546114289130911684610ae4565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906114619085906000908690309042906004016118e6565b600060405180830381600087803b15801561147b57600080fd5b505af115801561148f573d6000803e3d6000fd5b50506012805460ff60b01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610858573d6000803e3d6000fd5b6000806114eb838561186f565b90508381101561128a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a4565b6000818361155e5760405162461bcd60e51b81526004016104a4919061156b565b5060006111ff84866118ae565b600060208083528351808285015260005b818110156115985785810183015185820160400152820161157c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115ce57600080fd5b50565b600080604083850312156115e457600080fd5b82356115ef816115b9565b946020939093013593505050565b60008060006060848603121561161257600080fd5b833561161d816115b9565b9250602084013561162d816115b9565b929592945050506040919091013590565b60006020828403121561165057600080fd5b813561128a816115b9565b6000806040838503121561166e57600080fd5b8235611679816115b9565b91506020830135611689816115b9565b809150509250929050565b6000602082840312156116a657600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116fe5781600019048211156116e4576116e46116ad565b808516156116f157918102915b93841c93908002906116c8565b509250929050565b600082611715575060016103ea565b81611722575060006103ea565b816001811461173857600281146117425761175e565b60019150506103ea565b60ff841115611753576117536116ad565b50506001821b6103ea565b5060208310610133831016604e8410600b8410161715611781575081810a6103ea565b61178b83836116c3565b806000190482111561179f5761179f6116ad565b029392505050565b600061128a60ff841683611706565b80820281158282048414176103ea576103ea6116ad565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561181457600080fd5b815161128a816115b9565b60008060006060848603121561183457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561185f57600080fd5b8151801515811461128a57600080fd5b808201808211156103ea576103ea6116ad565b600060018201611894576118946116ad565b5060010190565b818103818111156103ea576103ea6116ad565b6000826118cb57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119365784516001600160a01b031683529383019391830191600101611911565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bf7d70fec1d0cee7afc9683a05a6f4f0d3793a7da35d83cc504e6fde112e7efa64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80637d1db4a5116100a0578063a92d4a9211610064578063a92d4a9214610333578063bf474bed14610348578063c9567bf91461035e578063dd62ed3e14610373578063ef985894146103b957600080fd5b80637d1db4a5146102935780638da5cb5b146102a95780638f9a55c0146102d157806395d89b41146102e7578063a9059cbb1461031357600080fd5b8063313ce567116100e7578063313ce5671461020057806342e99d1a1461021c57806370a0823114610233578063715018a614610269578063751039fc1461027e57600080fd5b806306fdde031461012f578063095ea7b3146101775780630faee56f146101a757806318160ddd146101cb57806323b872dd146101e057600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600d81526c149151931150d5081055511255609a1b60208201525b60405161016e919061156b565b60405180910390f35b34801561018357600080fd5b506101976101923660046115d1565b6103d9565b604051901515815260200161016e565b3480156101b357600080fd5b506101bd60105481565b60405190815260200161016e565b3480156101d757600080fd5b506101bd6103f0565b3480156101ec57600080fd5b506101976101fb3660046115fd565b610411565b34801561020c57600080fd5b506040516009815260200161016e565b34801561022857600080fd5b5061023161047a565b005b34801561023f57600080fd5b506101bd61024e36600461163e565b6001600160a01b031660009081526001602052604090205490565b34801561027557600080fd5b5061023161085c565b34801561028a57600080fd5b506101976108d0565b34801561029f57600080fd5b506101bd600d5481565b3480156102b557600080fd5b506000546040516001600160a01b03909116815260200161016e565b3480156102dd57600080fd5b506101bd600e5481565b3480156102f357600080fd5b506040805180820190915260038152622922a360e91b6020820152610161565b34801561031f57600080fd5b5061019761032e3660046115d1565b61090e565b34801561033f57600080fd5b5061019761091b565b34801561035457600080fd5b506101bd600f5481565b34801561036a57600080fd5b506101976109bc565b34801561037f57600080fd5b506101bd61038e36600461165b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c557600080fd5b506101976103d4366004611694565b610a60565b60006103e6338484610ae4565b5060015b92915050565b60006103fe6009600a6117a7565b61040c906305f5e1006117b6565b905090565b600061041e848484610c08565b610470843361046b85604051806060016040528060288152602001611958602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111ce565b610ae4565b5060019392505050565b6000546001600160a01b031633146104ad5760405162461bcd60e51b81526004016104a4906117cd565b60405180910390fd5b601254600160a01b900460ff16156105075760405162461bcd60e51b815260206004820152601a60248201527f4c697175696469747920697320616c726561647920616464656400000000000060448201526064016104a4565b600061055561053f60646105396005546009600a61052591906117a7565b610533906305f5e1006117b6565b90611208565b90611291565b30600090815260016020526040902054906112d3565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506105a19030906105936009600a6117a7565b61046b906305f5e1006117b6565b601160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106189190611802565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069e9190611802565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f9190611802565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d71947308460008061074e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107db919061181f565b505060125460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610834573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610858919061184d565b5050565b6000546001600160a01b031633146108865760405162461bcd60e51b81526004016104a4906117cd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b031633146108fb5760405162461bcd60e51b81526004016104a4906117cd565b506012805460ff60a81b19169055600190565b60006103e6338484610c08565b601254600090600160a01b900460ff166109715760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b9903737ba103cb2ba1037b832b760491b60448201526064016104a4565b4780156109b4576004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156109b2573d6000803e3d6000fd5b505b600191505090565b600080546001600160a01b031633146109e75760405162461bcd60e51b81526004016104a4906117cd565b601254600160a01b900460ff1615610a415760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104a4565b506012805463ff0000ff60a01b1916630100000160a01b179055600190565b600080546001600160a01b03163314610a8b5760405162461bcd60e51b81526004016104a4906117cd565b600782905560088290556005821115610adc5760405162461bcd60e51b81526020600482015260136024820152725461782063616e6e6f7420657863656564203560681b60448201526064016104a4565b506001919050565b6001600160a01b038316610b465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a4565b6001600160a01b038216610ba75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a4565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c6c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a4565b6001600160a01b038216610cce5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a4565b60008111610d305760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a4565b600080546001600160a01b03858116911614801590610d5d57506000546001600160a01b03848116911614155b1561108b57601254600160a01b900460ff16610df8576001600160a01b03841660009081526003602052604090205460ff1680610db257506001600160a01b03831660009081526003602052604090205460ff165b610df85760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b9903737ba103cb2ba1037b832b760491b60448201526064016104a4565b6012546001600160a01b038581169116148015610e2357506011546001600160a01b03848116911614155b8015610e4857506001600160a01b03831660009081526003602052604090205460ff16155b15610f4257601254600160a81b900460ff1615610f2c57600d54821115610eb15760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104a4565b600e5482610ed4856001600160a01b031660009081526001602052604090205490565b610ede919061186f565b1115610f2c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104a4565b600c8054906000610f3c83611882565b91905055505b6012546001600160a01b038481169116148015610f6857506001600160a01b0384163014155b15610f9a57610f936064610539600a54600c5411610f8857600654610f8c565b6008545b8590611208565b9050610fed565b6012546001600160a01b038581169116148015610fc057506001600160a01b0383163014155b15610fed57610fea6064610539600954600c5411610fe057600554610f8c565b6007548590611208565b90505b30600090815260016020526040902054601254600160b01b900460ff1615801561102457506012546001600160a01b038581169116145b80156110395750601254600160b81b900460ff165b80156110465750600f5481115b80156110555750600b54600c54115b15611089576110776110728461106d84601054611315565b611315565b61132a565b47801561108757611087476114a4565b505b505b801561110557306000908152600160205260409020546110ab90826114de565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110fc9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461112890836112d3565b6001600160a01b03851660009081526001602052604090205561116d61114e83836112d3565b6001600160a01b038516600090815260016020526040902054906114de565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111b785856112d3565b60405190815260200160405180910390a350505050565b600081848411156111f25760405162461bcd60e51b81526004016104a4919061156b565b5060006111ff848661189b565b95945050505050565b60008260000361121a575060006103ea565b600061122683856117b6565b90508261123385836118ae565b1461128a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a4565b9392505050565b600061128a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061153d565b600061128a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ce565b6000818311611324578261128a565b50919050565b6012805460ff60b01b1916600160b01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611372576113726118d0565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ef9190611802565b81600181518110611402576114026118d0565b6001600160a01b0392831660209182029290920101526011546114289130911684610ae4565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906114619085906000908690309042906004016118e6565b600060405180830381600087803b15801561147b57600080fd5b505af115801561148f573d6000803e3d6000fd5b50506012805460ff60b01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610858573d6000803e3d6000fd5b6000806114eb838561186f565b90508381101561128a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a4565b6000818361155e5760405162461bcd60e51b81526004016104a4919061156b565b5060006111ff84866118ae565b600060208083528351808285015260005b818110156115985785810183015185820160400152820161157c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115ce57600080fd5b50565b600080604083850312156115e457600080fd5b82356115ef816115b9565b946020939093013593505050565b60008060006060848603121561161257600080fd5b833561161d816115b9565b9250602084013561162d816115b9565b929592945050506040919091013590565b60006020828403121561165057600080fd5b813561128a816115b9565b6000806040838503121561166e57600080fd5b8235611679816115b9565b91506020830135611689816115b9565b809150509250929050565b6000602082840312156116a657600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116fe5781600019048211156116e4576116e46116ad565b808516156116f157918102915b93841c93908002906116c8565b509250929050565b600082611715575060016103ea565b81611722575060006103ea565b816001811461173857600281146117425761175e565b60019150506103ea565b60ff841115611753576117536116ad565b50506001821b6103ea565b5060208310610133831016604e8410600b8410161715611781575081810a6103ea565b61178b83836116c3565b806000190482111561179f5761179f6116ad565b029392505050565b600061128a60ff841683611706565b80820281158282048414176103ea576103ea6116ad565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561181457600080fd5b815161128a816115b9565b60008060006060848603121561183457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561185f57600080fd5b8151801515811461128a57600080fd5b808201808211156103ea576103ea6116ad565b600060018201611894576118946116ad565b5060010190565b818103818111156103ea576103ea6116ad565b6000826118cb57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119365784516001600160a01b031683529383019391830191600101611911565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bf7d70fec1d0cee7afc9683a05a6f4f0d3793a7da35d83cc504e6fde112e7efa64736f6c63430008130033

Deployed Bytecode Sourcemap

5765:8462:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7676:83;;;;;;;;;;-1:-1:-1;7746:5:0;;;;;;;;;;;;-1:-1:-1;;;7746:5:0;;;;7676:83;;;;;;;:::i;:::-;;;;;;;;8509:161;;;;;;;;;;-1:-1:-1;8509:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8509:161:0;1023:187:1;6878:51:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;6878:51:0;1215:177:1;7953:95:0;;;;;;;;;;;;;:::i;8678:313::-;;;;;;;;;;-1:-1:-1;8678:313:0;;;;;:::i;:::-;;:::i;7862:83::-;;;;;;;;;;-1:-1:-1;7862:83:0;;6504:1;2000:36:1;;1988:2;1973:18;7862:83:0;1858:184:1;12508:837:0;;;;;;;;;;;;;:::i;:::-;;8056:119;;;;;;;;;;-1:-1:-1;8056:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8149:18:0;8122:7;8149:18;;;:9;:18;;;;;;;8056:119;4846:148;;;;;;;;;;;;;:::i;13353:118::-;;;;;;;;;;;;;:::i;6693:53::-;;;;;;;;;;;;;;;;4632:79;;;;;;;;;;-1:-1:-1;4670:7:0;4697:6;4632:79;;-1:-1:-1;;;;;4697:6:0;;;2445:51:1;;2433:2;2418:18;4632:79:0;2299:203:1;6753:55:0;;;;;;;;;;;;;;;;7767:87;;;;;;;;;;-1:-1:-1;7839:7:0;;;;;;;;;;;;-1:-1:-1;;;7839:7:0;;;;7767:87;;8183:167;;;;;;;;;;-1:-1:-1;8183:167:0;;;;;:::i;:::-;;:::i;13920:269::-;;;;;;;;;;;;;:::i;6815:56::-;;;;;;;;;;;;;;;;13709:203;;;;;;;;;;;;;:::i;8358:143::-;;;;;;;;;;-1:-1:-1;8358:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8466:18:0;;;8439:7;8466:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8358:143;13483:218;;;;;;;;;;-1:-1:-1;13483:218:0;;;;;:::i;:::-;;:::i;8509:161::-;8584:4;8601:39;2467:10;8624:7;8633:6;8601:8;:39::i;:::-;-1:-1:-1;8658:4:0;8509:161;;;;;:::o;7953:95::-;8006:7;6559:13;6504:1;6559:2;:13;:::i;:::-;6547:25;;:9;:25;:::i;:::-;8026:14;;7953:95;:::o;8678:313::-;8776:4;8793:36;8803:6;8811:9;8822:6;8793:9;:36::i;:::-;8840:121;8849:6;2467:10;8871:89;8909:6;8871:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8871:19:0;;;;;;:11;:19;;;;;;;;2467:10;8871:33;;;;;;;;;;:37;:89::i;:::-;8840:8;:121::i;:::-;-1:-1:-1;8979:4:0;8678:313;;;;;:::o;12508:837::-;4759:6;;-1:-1:-1;;;;;4759:6:0;2467:10;4759:22;4751:67;;;;-1:-1:-1;;;4751:67:0;;;;;;;:::i;:::-;;;;;;;;;12573:11:::1;::::0;-1:-1:-1;;;12573:11:0;::::1;;;12572:12;12564:50;;;::::0;-1:-1:-1;;;12564:50:0;;5336:2:1;12564:50:0::1;::::0;::::1;5318:21:1::0;5375:2;5355:18;;;5348:30;5414:28;5394:18;;;5387:56;5460:18;;12564:50:0::1;5134:350:1::0;12564:50:0::1;12625:19;12647:66;12676:36;12708:3;12676:27;12688:14;;6504:1;6559:2;:13;;;;:::i;:::-;6547:25;::::0;:9:::1;:25;:::i;:::-;12676:11:::0;::::1;:27::i;:::-;:31:::0;::::1;:36::i;:::-;12665:4;8122:7:::0;8149:18;;;:9;:18;;;;;;12647:28;::::1;:66::i;:::-;12724:15;:80:::0;;-1:-1:-1;;;;;;12724:80:0::1;12761:42;12724:80:::0;;::::1;::::0;;;12625:88;;-1:-1:-1;12815:58:0::1;::::0;12832:4:::1;::::0;6559:13:::1;6504:1;6559:2;:13;:::i;:::-;6547:25;::::0;:9:::1;:25;:::i;12815:58::-;12918:15;;;;;;;;;-1:-1:-1::0;;;;;12918:15:0::1;-1:-1:-1::0;;;;;12918:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12900:55:0::1;;12978:4;12999:15;;;;;;;;;-1:-1:-1::0;;;;;12999:15:0::1;-1:-1:-1::0;;;;;12999:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12900:132;::::0;-1:-1:-1;;;;;;12900:132:0::1;::::0;;;;;;-1:-1:-1;;;;;5975:15:1;;;12900:132:0::1;::::0;::::1;5957:34:1::0;6027:15;;6007:18;;;6000:43;5892:18;;12900:132:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12884:13;:148:::0;;-1:-1:-1;;;;;12884:148:0;;::::1;-1:-1:-1::0;;;;;;12884:148:0;;::::1;;::::0;;13043:15:::1;::::0;::::1;:31;13082:21;13128:4;13148:11:::0;12884:13:::1;::::0;13206:7:::1;4670::::0;4697:6;-1:-1:-1;;;;;4697:6:0;;4632:79;13206:7:::1;13043:211;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13043:211:0;;;-1:-1:-1;;;;;6413:15:1;;;13043:211:0::1;::::0;::::1;6395:34:1::0;6445:18;;;6438:34;;;;6488:18;;;6481:34;;;;6531:18;;;6524:34;6595:15;;;6574:19;;;6567:44;13228:15:0::1;6627:19:1::0;;;6620:35;6329:19;;13043:211:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13272:13:0::1;::::0;13303:15:::1;::::0;13265:71:::1;::::0;-1:-1:-1;;;13265:71:0;;-1:-1:-1;;;;;13303:15:0;;::::1;13265:71;::::0;::::1;7151:51:1::0;-1:-1:-1;;7218:18:1;;;7211:34;13272:13:0;::::1;::::0;-1:-1:-1;13265:29:0::1;::::0;7124:18:1;;13265:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12553:792;12508:837::o:0;4846:148::-;4759:6;;-1:-1:-1;;;;;4759:6:0;2467:10;4759:22;4751:67;;;;-1:-1:-1;;;4751:67:0;;;;;;;:::i;:::-;4953:1:::1;4937:6:::0;;4916:40:::1;::::0;-1:-1:-1;;;;;4937:6:0;;::::1;::::0;4916:40:::1;::::0;4953:1;;4916:40:::1;4984:1;4967:19:::0;;-1:-1:-1;;;;;;4967:19:0::1;::::0;;4846:148::o;13353:118::-;13406:4;4759:6;;-1:-1:-1;;;;;4759:6:0;2467:10;4759:22;4751:67;;;;-1:-1:-1;;;4751:67:0;;;;;;;:::i;:::-;-1:-1:-1;13422:11:0::1;:19:::0;;-1:-1:-1;;;;13422:19:0::1;::::0;;;13353:118;:::o;8183:167::-;8261:4;8278:42;2467:10;8302:9;8313:6;8278:9;:42::i;13920:269::-;13988:11;;13963:4;;-1:-1:-1;;;13988:11:0;;;;13980:46;;;;-1:-1:-1;;;13980:46:0;;7740:2:1;13980:46:0;;;7722:21:1;7779:2;7759:18;;;7752:30;-1:-1:-1;;;7798:18:1;;;7791:53;7861:18;;13980:46:0;7538:347:1;13980:46:0;14056:21;14091:12;;14088:72;;14117:10;;:31;;-1:-1:-1;;;;;14117:10:0;;;;:31;;;;;14137:10;;14117;:31;:10;:31;14137:10;14117;:31;;;;;;;;;;;;;;;;;;;;;14088:72;14177:4;14170:11;;;13920:269;:::o;13709:203::-;13760:4;4759:6;;-1:-1:-1;;;;;4759:6:0;2467:10;4759:22;4751:67;;;;-1:-1:-1;;;4751:67:0;;;;;;;:::i;:::-;13786:11:::1;::::0;-1:-1:-1;;;13786:11:0;::::1;;;13785:12;13777:47;;;::::0;-1:-1:-1;;;13777:47:0;;8092:2:1;13777:47:0::1;::::0;::::1;8074:21:1::0;8131:2;8111:18;;;8104:30;8170:25;8150:18;;;8143:53;8213:18;;13777:47:0::1;7890:347:1::0;13777:47:0::1;-1:-1:-1::0;13835:11:0::1;:18:::0;;-1:-1:-1;;;;13864:18:0;-1:-1:-1;;;13864:18:0;;;-1:-1:-1;;13709:203:0:o;13483:218::-;13547:4;4759:6;;-1:-1:-1;;;;;4759:6:0;2467:10;4759:22;4751:67;;;;-1:-1:-1;;;4751:67:0;;;;;;;:::i;:::-;13564:12:::1;:21:::0;;;13596:13:::1;:22:::0;;;13647:1:::1;13637:11:::0;::::1;;13629:42;;;::::0;-1:-1:-1;;;13629:42:0;;8444:2:1;13629:42:0::1;::::0;::::1;8426:21:1::0;8483:2;8463:18;;;8456:30;-1:-1:-1;;;8502:18:1;;;8495:49;8561:18;;13629:42:0::1;8242:343:1::0;13629:42:0::1;-1:-1:-1::0;13689:4:0::1;13483:218:::0;;;:::o;8999:335::-;-1:-1:-1;;;;;9092:19:0;;9084:68;;;;-1:-1:-1;;;9084:68:0;;8792:2:1;9084:68:0;;;8774:21:1;8831:2;8811:18;;;8804:30;8870:34;8850:18;;;8843:62;-1:-1:-1;;;8921:18:1;;;8914:34;8965:19;;9084:68:0;8590:400:1;9084:68:0;-1:-1:-1;;;;;9171:21:0;;9163:68;;;;-1:-1:-1;;;9163:68:0;;9197:2:1;9163:68:0;;;9179:21:1;9236:2;9216:18;;;9209:30;9275:34;9255:18;;;9248:62;-1:-1:-1;;;9326:18:1;;;9319:32;9368:19;;9163:68:0;8995:398:1;9163:68:0;-1:-1:-1;;;;;9242:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9294:32;;1361:25:1;;;9294:32:0;;1334:18:1;9294:32:0;;;;;;;8999:335;;;:::o;9342:2461::-;-1:-1:-1;;;;;9430:18:0;;9422:68;;;;-1:-1:-1;;;9422:68:0;;9600:2:1;9422:68:0;;;9582:21:1;9639:2;9619:18;;;9612:30;9678:34;9658:18;;;9651:62;-1:-1:-1;;;9729:18:1;;;9722:35;9774:19;;9422:68:0;9398:401:1;9422:68:0;-1:-1:-1;;;;;9509:16:0;;9501:64;;;;-1:-1:-1;;;9501:64:0;;10006:2:1;9501:64:0;;;9988:21:1;10045:2;10025:18;;;10018:30;10084:34;10064:18;;;10057:62;-1:-1:-1;;;10135:18:1;;;10128:33;10178:19;;9501:64:0;9804:399:1;9501:64:0;9593:1;9584:6;:10;9576:64;;;;-1:-1:-1;;;9576:64:0;;10410:2:1;9576:64:0;;;10392:21:1;10449:2;10429:18;;;10422:30;10488:34;10468:18;;;10461:62;-1:-1:-1;;;10539:18:1;;;10532:39;10588:19;;9576:64:0;10208:405:1;9576:64:0;9651:17;4697:6;;-1:-1:-1;;;;;9687:15:0;;;4697:6;;9687:15;;;;:32;;-1:-1:-1;4670:7:0;4697:6;-1:-1:-1;;;;;9706:13:0;;;4697:6;;9706:13;;9687:32;9683:1764;;;9744:11;;-1:-1:-1;;;9744:11:0;;;;9739:197;;-1:-1:-1;;;;;9805:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;9833:22:0;;;;;;:18;:22;;;;;;;;9805:50;9776:144;;;;-1:-1:-1;;;9776:144:0;;7740:2:1;9776:144:0;;;7722:21:1;7779:2;7759:18;;;7752:30;-1:-1:-1;;;7798:18:1;;;7791:53;7861:18;;9776:144:0;7538:347:1;9776:144:0;9964:13;;-1:-1:-1;;;;;9956:21:0;;;9964:13;;9956:21;:55;;;;-1:-1:-1;9995:15:0;;-1:-1:-1;;;;;9981:30:0;;;9995:15;;9981:30;;9956:55;:83;;;;-1:-1:-1;;;;;;10017:22:0;;;;;;:18;:22;;;;;;;;10015:24;9956:83;9952:377;;;10065:11;;-1:-1:-1;;;10065:11:0;;;;10061:222;;;10119:12;;10109:6;:22;;10101:60;;;;-1:-1:-1;;;10101:60:0;;10820:2:1;10101:60:0;;;10802:21:1;10859:2;10839:18;;;10832:30;10898:27;10878:18;;;10871:55;10943:18;;10101:60:0;10618:349:1;10101:60:0;10218:14;;10208:6;10192:13;10202:2;-1:-1:-1;;;;;8149:18:0;8122:7;8149:18;;;:9;:18;;;;;;;8056:119;10192:13;:22;;;;:::i;:::-;:40;;10184:79;;;;-1:-1:-1;;;10184:79:0;;11304:2:1;10184:79:0;;;11286:21:1;11343:2;11323:18;;;11316:30;11382:28;11362:18;;;11355:56;11428:18;;10184:79:0;11102:350:1;10184:79:0;10302:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9952:377;10368:13;;-1:-1:-1;;;;;10362:19:0;;;10368:13;;10362:19;:43;;;;-1:-1:-1;;;;;;10385:20:0;;10400:4;10385:20;;10362:43;10357:471;;;10438:138;10554:3;10438:111;10479:16;;10469:9;;:26;10468:80;;10533:15;;10468:80;;;10519:13;;10468:80;10438:6;;:10;:111::i;:138::-;10426:150;;10357:471;;;10610:13;;-1:-1:-1;;;;;10602:21:0;;;10610:13;;10602:21;:43;;;;-1:-1:-1;;;;;;10627:18:0;;10640:4;10627:18;;10602:43;10598:230;;;10678:134;10790:3;10678:107;10718:15;;10708:9;;:25;10707:77;;10770:14;;10707:77;;;10757:12;;10678:6;;:10;:107::i;:134::-;10666:146;;10598:230;10893:4;10844:28;8149:18;;;:9;:18;;;;;;10937:6;;-1:-1:-1;;;10937:6:0;;;;10936:7;:48;;;;-1:-1:-1;10971:13:0;;-1:-1:-1;;;;;10965:19:0;;;10971:13;;10965:19;10936:48;:81;;;;-1:-1:-1;11006:11:0;;-1:-1:-1;;;11006:11:0;;;;10936:81;:141;;;;;11060:17;;11039:20;:38;10936:141;:191;;;;;11109:18;;11099:9;;:28;10936:191;10914:522;;;11161:67;11178:49;11182:6;11189:37;11193:20;11214:11;;11189:3;:37::i;:::-;11178:3;:49::i;:::-;11161:16;:67::i;:::-;11276:21;11319:22;;11316:105;;11366:35;11379:21;11366:12;:35::i;:::-;11142:294;10914:522;9721:1726;9683:1764;11462:11;;11459:161;;11530:4;11512:24;;;;:9;:24;;;;;;:39;;11541:9;11512:28;:39::i;:::-;11505:4;11487:24;;;;:9;:24;;;;;;;:64;;;;11569:39;;-1:-1:-1;;;;;11569:39:0;;;;;;;11598:9;1361:25:1;;1349:2;1334:18;;1215:177;11569:39:0;;;;;;;;11459:161;-1:-1:-1;;;;;11646:15:0;;;;;;:9;:15;;;;;;:27;;11666:6;11646:19;:27::i;:::-;-1:-1:-1;;;;;11630:15:0;;;;;;:9;:15;;;;;:43;11698:40;11716:21;:6;11727:9;11716:10;:21::i;:::-;-1:-1:-1;;;;;11698:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11684:13:0;;;;;;;:9;:13;;;;;:54;;;;11754:41;;;11773:21;:6;11784:9;11773:10;:21::i;:::-;11754:41;;1361:25:1;;;1349:2;1334:18;11754:41:0;;;;;;;9411:2392;9342:2461;;;:::o;3524:190::-;3610:7;3646:12;3638:6;;;;3630:29;;;;-1:-1:-1;;;3630:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3670:9:0;3682:5;3686:1;3682;:5;:::i;:::-;3670:17;3524:190;-1:-1:-1;;;;;3524:190:0:o;3722:246::-;3780:7;3804:1;3809;3804:6;3800:47;;-1:-1:-1;3834:1:0;3827:8;;3800:47;3857:9;3869:5;3873:1;3869;:5;:::i;:::-;3857:17;-1:-1:-1;3902:1:0;3893:5;3897:1;3857:17;3893:5;:::i;:::-;:10;3885:56;;;;-1:-1:-1;;;3885:56:0;;12154:2:1;3885:56:0;;;12136:21:1;12193:2;12173:18;;;12166:30;12232:34;12212:18;;;12205:62;-1:-1:-1;;;12283:18:1;;;12276:31;12324:19;;3885:56:0;11952:397:1;3885:56:0;3959:1;3722:246;-1:-1:-1;;;3722:246:0:o;3976:132::-;4034:7;4061:39;4065:1;4068;4061:39;;;;;;;;;;;;;;;;;:3;:39::i;3380:136::-;3438:7;3465:43;3469:1;3472;3465:43;;;;;;;;;;;;;;;;;:3;:43::i;11911:98::-;11968:7;11995:1;11993;:3;11992:9;;12000:1;11992:9;;;-1:-1:-1;11998:1:0;11911:98;-1:-1:-1;11911:98:0:o;12017:483::-;7199:6;:13;;-1:-1:-1;;;;7199:13:0;-1:-1:-1;;;7199:13:0;;;12119:16:::1;::::0;;12133:1:::1;12119:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12119:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12119:16:0::1;12095:40;;12164:4;12146;12151:1;12146:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12146:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12190:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12190:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12146:7;;12190:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12180:4;12185:1;12180:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12180:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12255:15:::1;::::0;12223:62:::1;::::0;12240:4:::1;::::0;12255:15:::1;12273:11:::0;12223:8:::1;:62::i;:::-;12296:15;::::0;:196:::1;::::0;-1:-1:-1;;;12296:196:0;;-1:-1:-1;;;;;12296:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12377:11;;12296:15:::1;::::0;12419:4;;12446::::1;::::0;12466:15:::1;::::0;12296:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7235:6:0;:14;;-1:-1:-1;;;;7235:14:0;;;-1:-1:-1;;;;12017:483:0:o;11811:92::-;11868:10;;:27;;-1:-1:-1;;;;;11868:10:0;;;;:27;;;;;11888:6;;11868:10;:27;:10;:27;11888:6;11868:10;:27;;;;;;;;;;;;;;;;;;;3193:179;3251:7;;3283:5;3287:1;3283;:5;:::i;:::-;3271:17;;3312:1;3307;:6;;3299:46;;;;-1:-1:-1;;;3299:46:0;;13805:2:1;3299:46:0;;;13787:21:1;13844:2;13824:18;;;13817:30;13883:29;13863:18;;;13856:57;13930:18;;3299:46:0;13603:351:1;4116:189:0;4202:7;4237:12;4230:5;4222:28;;;;-1:-1:-1;;;4222:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4261:9:0;4273:5;4277:1;4273;: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;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:180::-;2959:6;3012:2;3000:9;2991:7;2987:23;2983:32;2980:52;;;3028:1;3025;3018:12;2980:52;-1:-1:-1;3051:23:1;;2900:180;-1:-1:-1;2900:180:1:o;3085:127::-;3146:10;3141:3;3137:20;3134:1;3127:31;3177:4;3174:1;3167:15;3201:4;3198:1;3191:15;3217:422;3306:1;3349:5;3306:1;3363:270;3384:7;3374:8;3371:21;3363:270;;;3443:4;3439:1;3435:6;3431:17;3425:4;3422:27;3419:53;;;3452:18;;:::i;:::-;3502:7;3492:8;3488:22;3485:55;;;3522:16;;;;3485:55;3601:22;;;;3561:15;;;;3363:270;;;3367:3;3217:422;;;;;:::o;3644:806::-;3693:5;3723:8;3713:80;;-1:-1:-1;3764:1:1;3778:5;;3713:80;3812:4;3802:76;;-1:-1:-1;3849:1:1;3863:5;;3802:76;3894:4;3912:1;3907:59;;;;3980:1;3975:130;;;;3887:218;;3907:59;3937:1;3928:10;;3951:5;;;3975:130;4012:3;4002:8;3999:17;3996:43;;;4019:18;;:::i;:::-;-1:-1:-1;;4075:1:1;4061:16;;4090:5;;3887:218;;4189:2;4179:8;4176:16;4170:3;4164:4;4161:13;4157:36;4151:2;4141:8;4138:16;4133:2;4127:4;4124:12;4120:35;4117:77;4114:159;;;-1:-1:-1;4226:19:1;;;4258:5;;4114:159;4305:34;4330:8;4324:4;4305:34;:::i;:::-;4375:6;4371:1;4367:6;4363:19;4354:7;4351:32;4348:58;;;4386:18;;:::i;:::-;4424:20;;3644:806;-1:-1:-1;;;3644:806:1:o;4455:140::-;4513:5;4542:47;4583:4;4573:8;4569:19;4563:4;4542:47;:::i;4600:168::-;4673:9;;;4704;;4721:15;;;4715:22;;4701:37;4691:71;;4742:18;;:::i;4773:356::-;4975:2;4957:21;;;4994:18;;;4987:30;5053:34;5048:2;5033:18;;5026:62;5120:2;5105:18;;4773:356::o;5489:251::-;5559:6;5612:2;5600:9;5591:7;5587:23;5583:32;5580:52;;;5628:1;5625;5618:12;5580:52;5660:9;5654:16;5679:31;5704:5;5679:31;:::i;6666:306::-;6754:6;6762;6770;6823:2;6811:9;6802:7;6798:23;6794:32;6791:52;;;6839:1;6836;6829:12;6791:52;6868:9;6862:16;6852:26;;6918:2;6907:9;6903:18;6897:25;6887:35;;6962:2;6951:9;6947:18;6941:25;6931:35;;6666:306;;;;;:::o;7256:277::-;7323:6;7376:2;7364:9;7355:7;7351:23;7347:32;7344:52;;;7392:1;7389;7382:12;7344:52;7424:9;7418:16;7477:5;7470:13;7463:21;7456:5;7453:32;7443:60;;7499:1;7496;7489:12;10972:125;11037:9;;;11058:10;;;11055:36;;;11071:18;;:::i;11457:135::-;11496:3;11517:17;;;11514:43;;11537:18;;:::i;:::-;-1:-1:-1;11584:1:1;11573:13;;11457:135::o;11597:128::-;11664:9;;;11685:11;;;11682:37;;;11699:18;;:::i;11730:217::-;11770:1;11796;11786:132;;11840:10;11835:3;11831:20;11828:1;11821:31;11875:4;11872:1;11865:15;11903:4;11900:1;11893:15;11786:132;-1:-1:-1;11932:9:1;;11730:217::o;12486:127::-;12547:10;12542:3;12538:20;12535:1;12528:31;12578:4;12575:1;12568:15;12602:4;12599:1;12592:15;12618:980;12880:4;12928:3;12917:9;12913:19;12959:6;12948:9;12941:25;12985:2;13023:6;13018:2;13007:9;13003:18;12996:34;13066:3;13061:2;13050:9;13046:18;13039:31;13090:6;13125;13119:13;13156:6;13148;13141:22;13194:3;13183:9;13179:19;13172:26;;13233:2;13225:6;13221:15;13207:29;;13254:1;13264:195;13278:6;13275:1;13272:13;13264:195;;;13343:13;;-1:-1:-1;;;;;13339:39:1;13327:52;;13434:15;;;;13399:12;;;;13375:1;13293:9;13264:195;;;-1:-1:-1;;;;;;;13515:32:1;;;;13510:2;13495:18;;13488:60;-1:-1:-1;;;13579:3:1;13564:19;13557:35;13476:3;12618:980;-1:-1:-1;;;12618:980:1:o

Swarm Source

ipfs://bf7d70fec1d0cee7afc9683a05a6f4f0d3793a7da35d83cc504e6fde112e7efa

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.