ETH Price: $3,450.64 (-1.88%)
Gas: 2 Gwei

Contract

0x67c4D14861f9c975d004cFB3aC305beE673E996E
 

Overview

ETH Balance

0.00106884 ETH

Eth Value

$3.69 (@ $3,450.64/ETH)

Token Holdings

More Info

Private Name Tags

TokenTracker

Landwu (LANDWU) (@$0.00)

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
0xff423f3812ecfb6521755b40a59d942ba355c2f25c6f6169906210be4560b62f Approve(pending)2024-07-23 5:17:5016 secs ago1721711870IN
LandWu: LANDWU Token
0 ETH(Pending)(Pending)
Approve203670902024-07-23 5:17:597 secs ago1721711879IN
LandWu: LANDWU Token
0 ETH0.000108192.33686746
Approve203670192024-07-23 5:03:4714 mins ago1721711027IN
LandWu: LANDWU Token
0 ETH0.000163493.51010977
Approve203667042024-07-23 4:00:351 hr ago1721707235IN
LandWu: LANDWU Token
0 ETH0.000223288.46523001
Approve203666172024-07-23 3:43:111 hr ago1721706191IN
LandWu: LANDWU Token
0 ETH0.000231084.96770152
Approve203664272024-07-23 3:04:472 hrs ago1721703887IN
LandWu: LANDWU Token
0 ETH0.000210454.52422065
Approve203663922024-07-23 2:57:472 hrs ago1721703467IN
LandWu: LANDWU Token
0 ETH0.000174663.75480489
Approve203663122024-07-23 2:41:232 hrs ago1721702483IN
LandWu: LANDWU Token
0 ETH0.000156873.37247654
Approve203657042024-07-23 0:39:114 hrs ago1721695151IN
LandWu: LANDWU Token
0 ETH0.000104392.25537122
Approve203656972024-07-23 0:37:474 hrs ago1721695067IN
LandWu: LANDWU Token
0 ETH0.000063452.40453772
Approve203656942024-07-23 0:37:114 hrs ago1721695031IN
LandWu: LANDWU Token
0 ETH0.000067132.54420151
Approve203656922024-07-23 0:36:474 hrs ago1721695007IN
LandWu: LANDWU Token
0 ETH0.000124682.69361932
Transfer203656422024-07-23 0:26:474 hrs ago1721694407IN
LandWu: LANDWU Token
0 ETH0.000215793.36629643
Approve203655222024-07-23 0:02:235 hrs ago1721692943IN
LandWu: LANDWU Token
0 ETH0.000387988.3298941
Approve203652822024-07-22 23:14:236 hrs ago1721690063IN
LandWu: LANDWU Token
0 ETH0.000173163.73990458
Transfer203652332024-07-22 23:04:356 hrs ago1721689475IN
LandWu: LANDWU Token
0 ETH0.000211194.07595373
Transfer203652152024-07-22 23:00:596 hrs ago1721689259IN
LandWu: LANDWU Token
0 ETH0.000203843.93392818
Approve203651132024-07-22 22:40:236 hrs ago1721688023IN
LandWu: LANDWU Token
0 ETH0.00025575.48993969
Approve203651032024-07-22 22:38:236 hrs ago1721687903IN
LandWu: LANDWU Token
0 ETH0.000098383.72827013
Approve203650992024-07-22 22:37:356 hrs ago1721687855IN
LandWu: LANDWU Token
0 ETH0.000168753.6456868
Approve203646832024-07-22 21:13:598 hrs ago1721682839IN
LandWu: LANDWU Token
0 ETH0.000372778.01377575
Transfer203646682024-07-22 21:10:598 hrs ago1721682659IN
LandWu: LANDWU Token
0 ETH0.000603168.7537689
Transfer203644912024-07-22 20:35:358 hrs ago1721680535IN
LandWu: LANDWU Token
0 ETH0.000379949
Approve203642832024-07-22 19:53:599 hrs ago1721678039IN
LandWu: LANDWU Token
0 ETH0.000241375.21324537
Transfer203642782024-07-22 19:52:599 hrs ago1721677979IN
LandWu: LANDWU Token
0 ETH0.000463417.22781178
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
203017682024-07-14 2:30:119 days ago1720924211
LandWu: LANDWU Token
0.00106884 ETH
202363202024-07-04 23:07:2318 days ago1720134443
LandWu: LANDWU Token
7.18897661 ETH
202363202024-07-04 23:07:2318 days ago1720134443
LandWu: LANDWU Token
6.35737458 ETH
200357842024-06-06 22:31:1146 days ago1717713071
LandWu: LANDWU Token
0.2529069 ETH
200357842024-06-06 22:31:1146 days ago1717713071
LandWu: LANDWU Token
0.2529069 ETH
200357832024-06-06 22:30:5946 days ago1717713059
LandWu: LANDWU Token
0.59150462 ETH
200357832024-06-06 22:30:5946 days ago1717713059
LandWu: LANDWU Token
0.59150462 ETH
200357792024-06-06 22:30:1146 days ago1717713011
LandWu: LANDWU Token
0.05522207 ETH
200357792024-06-06 22:30:1146 days ago1717713011
LandWu: LANDWU Token
0.05522207 ETH
200357752024-06-06 22:29:2346 days ago1717712963
LandWu: LANDWU Token
4 wei
200357752024-06-06 22:29:2346 days ago1717712963
LandWu: LANDWU Token
4 wei
200357752024-06-06 22:29:2346 days ago1717712963
LandWu: LANDWU Token
0.13137185 ETH
200357752024-06-06 22:29:2346 days ago1717712963
LandWu: LANDWU Token
0.13137185 ETH
200357742024-06-06 22:29:1146 days ago1717712951
LandWu: LANDWU Token
0.31802327 ETH
200357742024-06-06 22:29:1146 days ago1717712951
LandWu: LANDWU Token
0.31802327 ETH
200357722024-06-06 22:28:4746 days ago1717712927
LandWu: LANDWU Token
0.06524112 ETH
200357722024-06-06 22:28:4746 days ago1717712927
LandWu: LANDWU Token
0.06524112 ETH
200357722024-06-06 22:28:4746 days ago1717712927
LandWu: LANDWU Token
0.03758283 ETH
200357722024-06-06 22:28:4746 days ago1717712927
LandWu: LANDWU Token
0.03758283 ETH
200357702024-06-06 22:28:2346 days ago1717712903
LandWu: LANDWU Token
0.2496904 ETH
200357702024-06-06 22:28:2346 days ago1717712903
LandWu: LANDWU Token
0.2496904 ETH
200357702024-06-06 22:28:2346 days ago1717712903
LandWu: LANDWU Token
0.74789808 ETH
200357702024-06-06 22:28:2346 days ago1717712903
LandWu: LANDWU Token
0.74789808 ETH
200357692024-06-06 22:28:1146 days ago1717712891
LandWu: LANDWU Token
0.20407217 ETH
200357692024-06-06 22:28:1146 days ago1717712891
LandWu: LANDWU Token
0.20407217 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LANDWU

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: UNLICENSE

/*


https://landwueth.xyz/

https://t.me/landwuportal

https://x.com/landwueth

*/

pragma solidity 0.8.23;

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 LANDWU 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;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=23;
    uint256 private _reduceSellTaxAt=24;
    uint256 private _preventSwapBefore=25;
    uint256 private _transferTax=70;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000000 * 10**_decimals;
    string private constant _name = unicode"Landwu";
    string private constant _symbol = unicode"LANDWU";
    uint256 public _maxTxAmount = 8427600000000 * 10**_decimals;
    uint256 public _maxWalletSize = 8427600000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 4206900000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 4213800000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = 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()) {
            require(!bots[from] && !bots[to]);

            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

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

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = 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 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 NoLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner{
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        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),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

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

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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"NoLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","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"},{"stateMutability":"payable","type":"receive"}]

6080604052601460065560196007555f6008555f6009556017600a556018600b556019600c556046600d555f600e556009600a6200003e91906200034c565b62000050906507aa341ab40062000363565b600f55620000616009600a6200034c565b62000073906507aa341ab40062000363565b601055620000846009600a6200034c565b62000096906503d37ec7b50062000363565b601155620000a76009600a6200034c565b620000b9906503d51a0d5a0062000363565b6012556014805461ffff60a81b191690555f6015819055601655348015620000df575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620001406009600a6200034c565b620001539066017e9d8602b40062000363565b335f9081526001602081905260408220929092556003906200017c5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001da3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002136009600a6200034c565b620002269066017e9d8602b40062000363565b60405190815260200160405180910390a36200037d565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200029157815f19048211156200027557620002756200023d565b808516156200028357918102915b93841c939080029062000256565b509250929050565b5f82620002a95750600162000346565b81620002b757505f62000346565b8160018114620002d05760028114620002db57620002fb565b600191505062000346565b60ff841115620002ef57620002ef6200023d565b50506001821b62000346565b5060208310610133831016604e8410600b841016171562000320575081810a62000346565b6200032c838362000251565b805f19048211156200034257620003426200023d565b0290505b92915050565b5f6200035c60ff84168362000299565b9392505050565b80820281158282048414176200034657620003466200023d565b611b7d806200038b5f395ff3fe60806040526004361061013f575f3560e01c806370a08231116100b3578063a9059cbb1161006d578063a9059cbb14610384578063bf474bed146103a3578063c9567bf9146103b8578063d34628cc146103cc578063dd62ed3e146103eb578063ec1f3f631461042f575f80fd5b806370a08231146102be578063715018a6146102f25780637d1db4a5146103065780638da5cb5b1461031b5780638f9a55c01461034157806395d89b4114610356575f80fd5b806323b872dd1161010457806323b872dd14610206578063313ce5671461022557806331c2d847146102405780633bbac5791461025f5780634eab681f1461029657806351bc3c85146102aa575f80fd5b806306fdde031461014a578063095ea7b31461018a5780630faee56f146101b9578063109daa99146101dc57806318160ddd146101f2575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b506040805180820190915260068152654c616e64777560d01b60208201525b6040516101819190611672565b60405180910390f35b348015610195575f80fd5b506101a96101a43660046116e5565b61044e565b6040519015158152602001610181565b3480156101c4575f80fd5b506101ce60125481565b604051908152602001610181565b3480156101e7575f80fd5b506101f0610464565b005b3480156101fd575f80fd5b506101ce6104d2565b348015610211575f80fd5b506101a961022036600461170f565b6104f5565b348015610230575f80fd5b5060405160098152602001610181565b34801561024b575f80fd5b506101f061025a366004611761565b61055c565b34801561026a575f80fd5b506101a9610279366004611821565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102a1575f80fd5b506101f06105e3565b3480156102b5575f80fd5b506101f0610698565b3480156102c9575f80fd5b506101ce6102d8366004611821565b6001600160a01b03165f9081526001602052604090205490565b3480156102fd575f80fd5b506101f06106e5565b348015610311575f80fd5b506101ce600f5481565b348015610326575f80fd5b505f546040516001600160a01b039091168152602001610181565b34801561034c575f80fd5b506101ce60105481565b348015610361575f80fd5b506040805180820190915260068152654c414e44575560d01b6020820152610174565b34801561038f575f80fd5b506101a961039e3660046116e5565b610756565b3480156103ae575f80fd5b506101ce60115481565b3480156103c3575f80fd5b506101f0610762565b3480156103d7575f80fd5b506101f06103e6366004611761565b610b0e565b3480156103f6575f80fd5b506101ce61040536600461183c565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561043a575f80fd5b506101f0610449366004611873565b610b92565b5f61045a338484610bd7565b5060015b92915050565b5f546001600160a01b031633146104965760405162461bcd60e51b815260040161048d9061188a565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104df6009600a6119b3565b6104f09066017e9d8602b4006119c1565b905090565b5f610501848484610cfa565b610552843361054d85604051806060016040528060288152602001611b20602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112ee565b610bd7565b5060019392505050565b5f546001600160a01b031633146105855760405162461bcd60e51b815260040161048d9061188a565b5f5b81518110156105df575f60045f8484815181106105a6576105a66119d8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610587565b5050565b5f546001600160a01b0316331461060c5760405162461bcd60e51b815260040161048d9061188a565b6106186009600a6119b3565b6106299066017e9d8602b4006119c1565b600f556106386009600a6119b3565b6106499066017e9d8602b4006119c1565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106796009600a6119b3565b61068a9066017e9d8602b4006119c1565b6040519081526020016104c8565b6005546001600160a01b0316336001600160a01b0316146106b7575f80fd5b305f9081526001602052604090205480156106d5576106d581611326565b4780156105df576105df81611496565b5f546001600160a01b0316331461070e5760405162461bcd60e51b815260040161048d9061188a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61045a338484610cfa565b5f546001600160a01b0316331461078b5760405162461bcd60e51b815260040161048d9061188a565b601454600160a01b900460ff16156107e55760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161048d565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108319030906108206009600a6119b3565b61054d9066017e9d8602b4006119c1565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610881573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a591906119ec565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610904573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092891906119ec565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610972573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099691906119ec565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306109dd816001600160a01b03165f9081526001602052604090205490565b5f806109f05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a56573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a7b9190611a07565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ad0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610af49190611a32565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610b375760405162461bcd60e51b815260040161048d9061188a565b5f5b81518110156105df57600160045f848481518110610b5957610b596119d8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b39565b6005546001600160a01b0316336001600160a01b031614610bb1575f80fd5b6008548111158015610bc557506009548111155b610bcd575f80fd5b6008819055600955565b6001600160a01b038316610c395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161048d565b6001600160a01b038216610c9a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161048d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d5e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161048d565b6001600160a01b038216610dc05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161048d565b5f8111610e215760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161048d565b5f80546001600160a01b03858116911614801590610e4c57505f546001600160a01b03848116911614155b156111b1576001600160a01b0384165f9081526004602052604090205460ff16158015610e9157506001600160a01b0383165f9081526004602052604090205460ff16155b610e99575f80fd5b600e545f03610ed157610ece6064610ec8600a54600e5411610ebd57600654610ec1565b6008545b85906114cd565b90611552565b90505b600e5415610ef657610ef36064610ec8600d54856114cd90919063ffffffff16565b90505b6014546001600160a01b038581169116148015610f2157506013546001600160a01b03848116911614155b8015610f4557506001600160a01b0383165f9081526003602052604090205460ff16155b1561104857600f54821115610f9c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161048d565b60105482610fbe856001600160a01b03165f9081526001602052604090205490565b610fc89190611a51565b11156110165760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161048d565b6110316064610ec8600a54600e5411610ebd57600654610ec1565b600e80549192505f61104283611a64565b91905055505b6014546001600160a01b03848116911614801561106e57506001600160a01b0384163014155b1561109b576110986064610ec8600b54600e541161108e57600754610ec1565b60095485906114cd565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110d157506014546001600160a01b038581169116145b80156110e65750601454600160b01b900460ff165b80156110f3575060115481115b80156111025750600c54600e54115b156111af57601654431115611116575f6015555b6003601554106111685760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000604482015260640161048d565b6111856111808461117b84601254611593565b611593565b611326565b4780156111955761119547611496565b60158054905f6111a483611a64565b909155505043601655505b505b801561122957305f908152600160205260409020546111d090826115a7565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112209085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461124b9083611605565b6001600160a01b0385165f9081526001602052604090205561128e6112708383611605565b6001600160a01b0385165f90815260016020526040902054906115a7565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112d78585611605565b60405190815260200160405180910390a350505050565b5f81848411156113115760405162461bcd60e51b815260040161048d9190611672565b505f61131d8486611a7c565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061136c5761136c6119d8565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e791906119ec565b816001815181106113fa576113fa6119d8565b6001600160a01b0392831660209182029290920101526013546114209130911684610bd7565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114589085905f90869030904290600401611a8f565b5f604051808303815f87803b15801561146f575f80fd5b505af1158015611481573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105df573d5f803e3d5ffd5b5f825f036114dc57505f61045e565b5f6114e783856119c1565b9050826114f48583611b00565b1461154b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161048d565b9392505050565b5f61154b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611646565b5f8183116115a1578261154b565b50919050565b5f806115b38385611a51565b90508381101561154b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161048d565b5f61154b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112ee565b5f81836116665760405162461bcd60e51b815260040161048d9190611672565b505f61131d8486611b00565b5f602080835283518060208501525f5b8181101561169e57858101830151858201604001528201611682565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116d2575f80fd5b50565b80356116e0816116be565b919050565b5f80604083850312156116f6575f80fd5b8235611701816116be565b946020939093013593505050565b5f805f60608486031215611721575f80fd5b833561172c816116be565b9250602084013561173c816116be565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611772575f80fd5b823567ffffffffffffffff80821115611789575f80fd5b818501915085601f83011261179c575f80fd5b8135818111156117ae576117ae61174d565b8060051b604051601f19603f830116810181811085821117156117d3576117d361174d565b6040529182528482019250838101850191888311156117f0575f80fd5b938501935b8285101561181557611806856116d5565b845293850193928501926117f5565b98975050505050505050565b5f60208284031215611831575f80fd5b813561154b816116be565b5f806040838503121561184d575f80fd5b8235611858816116be565b91506020830135611868816116be565b809150509250929050565b5f60208284031215611883575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561190d57815f19048211156118f3576118f36118bf565b8085161561190057918102915b93841c93908002906118d8565b509250929050565b5f826119235750600161045e565b8161192f57505f61045e565b8160018114611945576002811461194f5761196b565b600191505061045e565b60ff841115611960576119606118bf565b50506001821b61045e565b5060208310610133831016604e8410600b841016171561198e575081810a61045e565b61199883836118d3565b805f19048211156119ab576119ab6118bf565b029392505050565b5f61154b60ff841683611915565b808202811582820484141761045e5761045e6118bf565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156119fc575f80fd5b815161154b816116be565b5f805f60608486031215611a19575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a42575f80fd5b8151801515811461154b575f80fd5b8082018082111561045e5761045e6118bf565b5f60018201611a7557611a756118bf565b5060010190565b8181038181111561045e5761045e6118bf565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611adf5784516001600160a01b031683529383019391830191600101611aba565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b1a57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dea4bfea0cfa0c1f72418e81a01358183701a41d41e6dadfc1ec387eee88fb1164736f6c63430008170033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c806370a08231116100b3578063a9059cbb1161006d578063a9059cbb14610384578063bf474bed146103a3578063c9567bf9146103b8578063d34628cc146103cc578063dd62ed3e146103eb578063ec1f3f631461042f575f80fd5b806370a08231146102be578063715018a6146102f25780637d1db4a5146103065780638da5cb5b1461031b5780638f9a55c01461034157806395d89b4114610356575f80fd5b806323b872dd1161010457806323b872dd14610206578063313ce5671461022557806331c2d847146102405780633bbac5791461025f5780634eab681f1461029657806351bc3c85146102aa575f80fd5b806306fdde031461014a578063095ea7b31461018a5780630faee56f146101b9578063109daa99146101dc57806318160ddd146101f2575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b506040805180820190915260068152654c616e64777560d01b60208201525b6040516101819190611672565b60405180910390f35b348015610195575f80fd5b506101a96101a43660046116e5565b61044e565b6040519015158152602001610181565b3480156101c4575f80fd5b506101ce60125481565b604051908152602001610181565b3480156101e7575f80fd5b506101f0610464565b005b3480156101fd575f80fd5b506101ce6104d2565b348015610211575f80fd5b506101a961022036600461170f565b6104f5565b348015610230575f80fd5b5060405160098152602001610181565b34801561024b575f80fd5b506101f061025a366004611761565b61055c565b34801561026a575f80fd5b506101a9610279366004611821565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102a1575f80fd5b506101f06105e3565b3480156102b5575f80fd5b506101f0610698565b3480156102c9575f80fd5b506101ce6102d8366004611821565b6001600160a01b03165f9081526001602052604090205490565b3480156102fd575f80fd5b506101f06106e5565b348015610311575f80fd5b506101ce600f5481565b348015610326575f80fd5b505f546040516001600160a01b039091168152602001610181565b34801561034c575f80fd5b506101ce60105481565b348015610361575f80fd5b506040805180820190915260068152654c414e44575560d01b6020820152610174565b34801561038f575f80fd5b506101a961039e3660046116e5565b610756565b3480156103ae575f80fd5b506101ce60115481565b3480156103c3575f80fd5b506101f0610762565b3480156103d7575f80fd5b506101f06103e6366004611761565b610b0e565b3480156103f6575f80fd5b506101ce61040536600461183c565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561043a575f80fd5b506101f0610449366004611873565b610b92565b5f61045a338484610bd7565b5060015b92915050565b5f546001600160a01b031633146104965760405162461bcd60e51b815260040161048d9061188a565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104df6009600a6119b3565b6104f09066017e9d8602b4006119c1565b905090565b5f610501848484610cfa565b610552843361054d85604051806060016040528060288152602001611b20602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112ee565b610bd7565b5060019392505050565b5f546001600160a01b031633146105855760405162461bcd60e51b815260040161048d9061188a565b5f5b81518110156105df575f60045f8484815181106105a6576105a66119d8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610587565b5050565b5f546001600160a01b0316331461060c5760405162461bcd60e51b815260040161048d9061188a565b6106186009600a6119b3565b6106299066017e9d8602b4006119c1565b600f556106386009600a6119b3565b6106499066017e9d8602b4006119c1565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106796009600a6119b3565b61068a9066017e9d8602b4006119c1565b6040519081526020016104c8565b6005546001600160a01b0316336001600160a01b0316146106b7575f80fd5b305f9081526001602052604090205480156106d5576106d581611326565b4780156105df576105df81611496565b5f546001600160a01b0316331461070e5760405162461bcd60e51b815260040161048d9061188a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61045a338484610cfa565b5f546001600160a01b0316331461078b5760405162461bcd60e51b815260040161048d9061188a565b601454600160a01b900460ff16156107e55760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161048d565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108319030906108206009600a6119b3565b61054d9066017e9d8602b4006119c1565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610881573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a591906119ec565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610904573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092891906119ec565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610972573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099691906119ec565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306109dd816001600160a01b03165f9081526001602052604090205490565b5f806109f05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a56573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a7b9190611a07565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ad0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610af49190611a32565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610b375760405162461bcd60e51b815260040161048d9061188a565b5f5b81518110156105df57600160045f848481518110610b5957610b596119d8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b39565b6005546001600160a01b0316336001600160a01b031614610bb1575f80fd5b6008548111158015610bc557506009548111155b610bcd575f80fd5b6008819055600955565b6001600160a01b038316610c395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161048d565b6001600160a01b038216610c9a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161048d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d5e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161048d565b6001600160a01b038216610dc05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161048d565b5f8111610e215760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161048d565b5f80546001600160a01b03858116911614801590610e4c57505f546001600160a01b03848116911614155b156111b1576001600160a01b0384165f9081526004602052604090205460ff16158015610e9157506001600160a01b0383165f9081526004602052604090205460ff16155b610e99575f80fd5b600e545f03610ed157610ece6064610ec8600a54600e5411610ebd57600654610ec1565b6008545b85906114cd565b90611552565b90505b600e5415610ef657610ef36064610ec8600d54856114cd90919063ffffffff16565b90505b6014546001600160a01b038581169116148015610f2157506013546001600160a01b03848116911614155b8015610f4557506001600160a01b0383165f9081526003602052604090205460ff16155b1561104857600f54821115610f9c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161048d565b60105482610fbe856001600160a01b03165f9081526001602052604090205490565b610fc89190611a51565b11156110165760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161048d565b6110316064610ec8600a54600e5411610ebd57600654610ec1565b600e80549192505f61104283611a64565b91905055505b6014546001600160a01b03848116911614801561106e57506001600160a01b0384163014155b1561109b576110986064610ec8600b54600e541161108e57600754610ec1565b60095485906114cd565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110d157506014546001600160a01b038581169116145b80156110e65750601454600160b01b900460ff165b80156110f3575060115481115b80156111025750600c54600e54115b156111af57601654431115611116575f6015555b6003601554106111685760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000604482015260640161048d565b6111856111808461117b84601254611593565b611593565b611326565b4780156111955761119547611496565b60158054905f6111a483611a64565b909155505043601655505b505b801561122957305f908152600160205260409020546111d090826115a7565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112209085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461124b9083611605565b6001600160a01b0385165f9081526001602052604090205561128e6112708383611605565b6001600160a01b0385165f90815260016020526040902054906115a7565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112d78585611605565b60405190815260200160405180910390a350505050565b5f81848411156113115760405162461bcd60e51b815260040161048d9190611672565b505f61131d8486611a7c565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061136c5761136c6119d8565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e791906119ec565b816001815181106113fa576113fa6119d8565b6001600160a01b0392831660209182029290920101526013546114209130911684610bd7565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114589085905f90869030904290600401611a8f565b5f604051808303815f87803b15801561146f575f80fd5b505af1158015611481573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105df573d5f803e3d5ffd5b5f825f036114dc57505f61045e565b5f6114e783856119c1565b9050826114f48583611b00565b1461154b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161048d565b9392505050565b5f61154b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611646565b5f8183116115a1578261154b565b50919050565b5f806115b38385611a51565b90508381101561154b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161048d565b5f61154b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112ee565b5f81836116665760405162461bcd60e51b815260040161048d9190611672565b505f61131d8486611b00565b5f602080835283518060208501525f5b8181101561169e57858101830151858201604001528201611682565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116d2575f80fd5b50565b80356116e0816116be565b919050565b5f80604083850312156116f6575f80fd5b8235611701816116be565b946020939093013593505050565b5f805f60608486031215611721575f80fd5b833561172c816116be565b9250602084013561173c816116be565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611772575f80fd5b823567ffffffffffffffff80821115611789575f80fd5b818501915085601f83011261179c575f80fd5b8135818111156117ae576117ae61174d565b8060051b604051601f19603f830116810181811085821117156117d3576117d361174d565b6040529182528482019250838101850191888311156117f0575f80fd5b938501935b8285101561181557611806856116d5565b845293850193928501926117f5565b98975050505050505050565b5f60208284031215611831575f80fd5b813561154b816116be565b5f806040838503121561184d575f80fd5b8235611858816116be565b91506020830135611868816116be565b809150509250929050565b5f60208284031215611883575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561190d57815f19048211156118f3576118f36118bf565b8085161561190057918102915b93841c93908002906118d8565b509250929050565b5f826119235750600161045e565b8161192f57505f61045e565b8160018114611945576002811461194f5761196b565b600191505061045e565b60ff841115611960576119606118bf565b50506001821b61045e565b5060208310610133831016604e8410600b841016171561198e575081810a61045e565b61199883836118d3565b805f19048211156119ab576119ab6118bf565b029392505050565b5f61154b60ff841683611915565b808202811582820484141761045e5761045e6118bf565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156119fc575f80fd5b815161154b816116be565b5f805f60608486031215611a19575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a42575f80fd5b8151801515811461154b575f80fd5b8082018082111561045e5761045e6118bf565b5f60018201611a7557611a756118bf565b5060010190565b8181038181111561045e5761045e6118bf565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611adf5784516001600160a01b031683529383019391830191600101611aba565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b1a57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dea4bfea0cfa0c1f72418e81a01358183701a41d41e6dadfc1ec387eee88fb1164736f6c63430008170033

Deployed Bytecode Sourcemap

3575:8840:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5572:83;;;;;;;;;;-1:-1:-1;5642:5:0;;;;;;;;;;;;-1:-1:-1;;;5642:5:0;;;;5572:83;;;;;;;:::i;:::-;;;;;;;;6405:161;;;;;;;;;;-1:-1:-1;6405:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6405:161:0;1162:187:1;4722:57:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4722:57:0;1354:177:1;10456:119:0;;;;;;;;;;;;;:::i;:::-;;5849:95;;;;;;;;;;;;;:::i;6574:313::-;;;;;;;;;;-1:-1:-1;6574:313:0;;;;;:::i;:::-;;:::i;5758:83::-;;;;;;;;;;-1:-1:-1;5758:83:0;;4327:1;2139:36:1;;2127:2;2112:18;5758:83:0;1997:184:1;10855:162:0;;;;;;;;;;-1:-1:-1;10855:162:0;;;;;:::i;:::-;;:::i;11025:83::-;;;;;;;;;;-1:-1:-1;11025:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11093:7:0;11072:4;11093:7;;;:4;:7;;;;;;;;;11025:83;10293:155;;;;;;;;;;;;;:::i;12064:348::-;;;;;;;;;;;;;:::i;5952:119::-;;;;;;;;;;-1:-1:-1;5952:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6045:18:0;6018:7;6045:18;;;:9;:18;;;;;;;5952:119;2656:148;;;;;;;;;;;;;:::i;4518:59::-;;;;;;;;;;;;;;;;2442:79;;;;;;;;;;-1:-1:-1;2480:7:0;2507:6;2442:79;;-1:-1:-1;;;;;2507:6:0;;;3842:51:1;;3830:2;3815:18;2442:79:0;3696:203:1;4584:61:0;;;;;;;;;;;;;;;;5663:87;;;;;;;;;;-1:-1:-1;5735:7:0;;;;;;;;;;;;-1:-1:-1;;;5735:7:0;;;;5663:87;;6079:167;;;;;;;;;;-1:-1:-1;6079:167:0;;;;;:::i;:::-;;:::i;4652:63::-;;;;;;;;;;;;;;;;11116:671;;;;;;;;;;;;;:::i;10683:164::-;;;;;;;;;;-1:-1:-1;10683:164:0;;;;;:::i;:::-;;:::i;6254:143::-;;;;;;;;;;-1:-1:-1;6254:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6362:18:0;;;6335:7;6362:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6254:143;11801:218;;;;;;;;;;-1:-1:-1;11801:218:0;;;;;:::i;:::-;;:::i;6405:161::-;6480:4;6497:39;277:10;6520:7;6529:6;6497:8;:39::i;:::-;-1:-1:-1;6554:4:0;6405:161;;;;;:::o;10456:119::-;2569:6;;-1:-1:-1;;;;;2569:6:0;277:10;2569:22;2561:67;;;;-1:-1:-1;;;2561:67:0;;;;;;;:::i;:::-;;;;;;;;;10529:1:::1;10514:12;:16:::0;;;10546:21:::1;::::0;1500:25:1;;;10546:21:0::1;::::0;1488:2:1;1473:18;10546:21:0::1;;;;;;;;10456:119::o:0;5849:95::-;5902:7;4388:13;4327:1;4388:2;:13;:::i;:::-;4370:31;;:15;:31;:::i;:::-;5922:14;;5849:95;:::o;6574:313::-;6672:4;6689:36;6699:6;6707:9;6718:6;6689:9;:36::i;:::-;6736:121;6745:6;277:10;6767:89;6805:6;6767:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6767:19:0;;;;;;:11;:19;;;;;;;;277:10;6767:33;;;;;;;;;;:37;:89::i;:::-;6736:8;:121::i;:::-;-1:-1:-1;6875:4:0;6574:313;;;;;:::o;10855:162::-;2569:6;;-1:-1:-1;;;;;2569:6:0;277:10;2569:22;2561:67;;;;-1:-1:-1;;;2561:67:0;;;;;;;:::i;:::-;10928:6:::1;10923:87;10944:6;:13;10940:1;:17;10923:87;;;10995:5;10977:4;:15;10982:6;10989:1;10982:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10977:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10977:15:0;:23;;-1:-1:-1;;10977:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10959:3:0::1;10923:87;;;;10855:162:::0;:::o;10293:155::-;2569:6;;-1:-1:-1;;;;;2569:6:0;277:10;2569:22;2561:67;;;;-1:-1:-1;;;2561:67:0;;;;;;;:::i;:::-;4388:13:::1;4327:1;4388:2;:13;:::i;:::-;4370:31;::::0;:15:::1;:31;:::i;:::-;10342:12;:22:::0;4388:13:::1;4327:1;4388:2;:13;:::i;:::-;4370:31;::::0;:15:::1;:31;:::i;:::-;10375:14;:22:::0;10413:27:::1;4388:13;4327:1;4388:2;:13;:::i;:::-;4370:31;::::0;:15:::1;:31;:::i;:::-;10413:27;::::0;1500:25:1;;;1488:2;1473:18;10413:27:0::1;1354:177:1::0;12064:348:0;12128:10;;-1:-1:-1;;;;;12128:10:0;277;-1:-1:-1;;;;;12114:24:0;;12106:33;;;;;;12189:4;12150:20;6045:18;;;:9;:18;;;;;;12209:14;;12206:73;;12237:30;12254:12;12237:16;:30::i;:::-;12308:21;12343:12;;12340:65;;12369:24;12382:10;12369:12;:24::i;2656:148::-;2569:6;;-1:-1:-1;;;;;2569:6:0;277:10;2569:22;2561:67;;;;-1:-1:-1;;;2561:67:0;;;;;;;:::i;:::-;2763:1:::1;2747:6:::0;;2726:40:::1;::::0;-1:-1:-1;;;;;2747:6:0;;::::1;::::0;2726:40:::1;::::0;2763:1;;2726:40:::1;2794:1;2777:19:::0;;-1:-1:-1;;;;;;2777:19:0::1;::::0;;2656:148::o;6079:167::-;6157:4;6174:42;277:10;6198:9;6209:6;6174:9;:42::i;11116:671::-;2569:6;;-1:-1:-1;;;;;2569:6:0;277:10;2569:22;2561:67;;;;-1:-1:-1;;;2561:67:0;;;;;;;:::i;:::-;11180:11:::1;::::0;-1:-1:-1;;;11180:11:0;::::1;;;11179:12;11171:47;;;::::0;-1:-1:-1;;;11171:47:0;;7049:2:1;11171:47:0::1;::::0;::::1;7031:21:1::0;7088:2;7068:18;;;7061:30;7127:25;7107:18;;;7100:53;7170:18;;11171:47:0::1;6847:347:1::0;11171:47:0::1;11229:15;:80:::0;;-1:-1:-1;;;;;;11229:80:0::1;11266:42;11229:80:::0;;::::1;::::0;;;11320:58:::1;::::0;11337:4:::1;::::0;4388:13:::1;4327:1;4388:2;:13;:::i;:::-;4370:31;::::0;:15:::1;:31;:::i;11320:58::-;11423:15;;;;;;;;;-1:-1:-1::0;;;;;11423:15:0::1;-1:-1:-1::0;;;;;11423:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11405:55:0::1;;11469:4;11476:15;;;;;;;;;-1:-1:-1::0;;;;;11476:15:0::1;-1:-1:-1::0;;;;;11476:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11405:94;::::0;-1:-1:-1;;;;;;11405:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7685:15:1;;;11405:94:0::1;::::0;::::1;7667:34:1::0;7737:15;;7717:18;;;7710:43;7602:18;;11405:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11389:13;:110:::0;;-1:-1:-1;;;;;11389:110:0;;::::1;-1:-1:-1::0;;;;;;11389:110:0;;::::1;;::::0;;11510:15:::1;::::0;::::1;:31;11549:21;11580:4;11586:24;11580:4:::0;-1:-1:-1;;;;;6045:18:0;6018:7;6045:18;;;:9;:18;;;;;;;5952:119;11586:24:::1;11611:1;11613::::0;11615:7:::1;2480::::0;2507:6;-1:-1:-1;;;;;2507:6:0;;2442:79;11615:7:::1;11510:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11510:129:0;;;-1:-1:-1;;;;;8123:15:1;;;11510:129:0::1;::::0;::::1;8105:34:1::0;8155:18;;;8148:34;;;;8198:18;;;8191:34;;;;8241:18;;;8234:34;8305:15;;;8284:19;;;8277:44;11623:15:0::1;8337:19:1::0;;;8330:35;8039:19;;11510:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11657:13:0::1;::::0;11688:15:::1;::::0;11650:71:::1;::::0;-1:-1:-1;;;11650:71:0;;-1:-1:-1;;;;;11688:15:0;;::::1;11650:71;::::0;::::1;8861:51:1::0;-1:-1:-1;;8928:18:1;;;8921:34;11657:13:0;::::1;::::0;-1:-1:-1;11650:29:0::1;::::0;8834:18:1;;11650:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11732:11:0::1;:18:::0;;-1:-1:-1;;;;11761:18:0;-1:-1:-1;;;11761:18:0;;;11116:671::o;10683:164::-;2569:6;;-1:-1:-1;;;;;2569:6:0;277:10;2569:22;2561:67;;;;-1:-1:-1;;;2561:67:0;;;;;;;:::i;:::-;10757:6:::1;10752:88;10773:5;:12;10769:1;:16;10752:88;;;10824:4;10807;:14;10812:5;10818:1;10812:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10807:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10807:14:0;:21;;-1:-1:-1;;10807:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10787:3:0::1;10752:88;;11801:218:::0;11876:10;;-1:-1:-1;;;;;11876:10:0;277;-1:-1:-1;;;;;11862:24:0;;11854:33;;;;;;11913:12;;11904:7;:21;;:47;;;;;11938:13;;11929:7;:22;;11904:47;11896:56;;;;;;11961:12;:20;;;11990:13;:21;11801:218::o;6895:335::-;-1:-1:-1;;;;;6988:19:0;;6980:68;;;;-1:-1:-1;;;6980:68:0;;9450:2:1;6980:68:0;;;9432:21:1;9489:2;9469:18;;;9462:30;9528:34;9508:18;;;9501:62;-1:-1:-1;;;9579:18:1;;;9572:34;9623:19;;6980:68:0;9248:400:1;6980:68:0;-1:-1:-1;;;;;7067:21:0;;7059:68;;;;-1:-1:-1;;;7059:68:0;;9855:2:1;7059:68:0;;;9837:21:1;9894:2;9874:18;;;9867:30;9933:34;9913:18;;;9906:62;-1:-1:-1;;;9984:18:1;;;9977:32;10026:19;;7059:68:0;9653:398:1;7059:68:0;-1:-1:-1;;;;;7138:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7190:32;;1500:25:1;;;7190:32:0;;1473:18:1;7190:32:0;;;;;;;6895:335;;;:::o;7238:2448::-;-1:-1:-1;;;;;7326:18:0;;7318:68;;;;-1:-1:-1;;;7318:68:0;;10258:2:1;7318:68:0;;;10240:21:1;10297:2;10277:18;;;10270:30;10336:34;10316:18;;;10309:62;-1:-1:-1;;;10387:18:1;;;10380:35;10432:19;;7318:68:0;10056:401:1;7318:68:0;-1:-1:-1;;;;;7405:16:0;;7397:64;;;;-1:-1:-1;;;7397:64:0;;10664:2:1;7397:64:0;;;10646:21:1;10703:2;10683:18;;;10676:30;10742:34;10722:18;;;10715:62;-1:-1:-1;;;10793:18:1;;;10786:33;10836:19;;7397:64:0;10462:399:1;7397:64:0;7489:1;7480:6;:10;7472:64;;;;-1:-1:-1;;;7472:64:0;;11068:2:1;7472:64:0;;;11050:21:1;11107:2;11087:18;;;11080:30;11146:34;11126:18;;;11119:62;-1:-1:-1;;;11197:18:1;;;11190:39;11246:19;;7472:64:0;10866:405:1;7472:64:0;7547:17;2507:6;;-1:-1:-1;;;;;7581:15:0;;;2507:6;;7581:15;;;;:32;;-1:-1:-1;2480:7:0;2507:6;-1:-1:-1;;;;;7600:13:0;;;2507:6;;7600:13;;7581:32;7577:1753;;;-1:-1:-1;;;;;7639:10:0;;;;;;:4;:10;;;;;;;;7638:11;:24;;;;-1:-1:-1;;;;;;7654:8:0;;;;;;:4;:8;;;;;;;;7653:9;7638:24;7630:33;;;;;;7683:9;;7694:1;7683:12;7680:139;;7727:76;7799:3;7727:67;7749:15;;7739:9;;:25;7738:55;;7779:14;;7738:55;;;7766:12;;7738:55;7727:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7715:88;;7680:139;7836:9;;:11;7833:95;;7879:33;7908:3;7879:24;7890:12;;7879:6;:10;;:24;;;;:::i;:33::-;7867:45;;7833:95;7956:13;;-1:-1:-1;;;;;7948:21:0;;;7956:13;;7948:21;:55;;;;-1:-1:-1;7987:15:0;;-1:-1:-1;;;;;7973:30:0;;;7987:15;;7973:30;;7948:55;:83;;;;-1:-1:-1;;;;;;8009:22:0;;;;;;:18;:22;;;;;;;;8007:24;7948:83;7944:420;;;8071:12;;8061:6;:22;;8053:60;;;;-1:-1:-1;;;8053:60:0;;11478:2:1;8053:60:0;;;11460:21:1;11517:2;11497:18;;;11490:30;11556:27;11536:18;;;11529:55;11601:18;;8053:60:0;11276:349:1;8053:60:0;8166:14;;8156:6;8140:13;8150:2;-1:-1:-1;;;;;6045:18:0;6018:7;6045:18;;;:9;:18;;;;;;;5952:119;8140:13;:22;;;;:::i;:::-;:40;;8132:79;;;;-1:-1:-1;;;8132:79:0;;11962:2:1;8132:79:0;;;11944:21:1;12001:2;11981:18;;;11974:30;12040:28;12020:18;;;12013:56;12086:18;;8132:79:0;11760:350:1;8132:79:0;8242:76;8314:3;8242:67;8264:15;;8254:9;;:25;8253:55;;8294:14;;8253:55;;8242:76;8337:9;:11;;8230:88;;-1:-1:-1;8337:9:0;:11;;;:::i;:::-;;;;;;7944:420;8389:13;;-1:-1:-1;;;;;8383:19:0;;;8389:13;;8383:19;:43;;;;-1:-1:-1;;;;;;8406:20:0;;8421:4;8406:20;;8383:43;8380:174;;;8459:79;8534:3;8459:70;8481:16;;8471:9;;:26;8470:58;;8513:15;;8470:58;;;8499:13;;8459:6;;:10;:70::i;:79::-;8447:91;;8380:174;8619:4;8570:28;6045:18;;;:9;:18;;;;;;8645:6;;-1:-1:-1;;;8645:6:0;;;;8644:7;:30;;;;-1:-1:-1;8661:13:0;;-1:-1:-1;;;;;8655:19:0;;;8661:13;;8655:19;8644:30;:45;;;;-1:-1:-1;8678:11:0;;-1:-1:-1;;;8678:11:0;;;;8644:45;:89;;;;;8716:17;;8693:20;:40;8644:89;:123;;;;;8749:18;;8737:9;;:30;8644:123;8640:679;;;8807:13;;8792:12;:28;8788:90;;;8857:1;8845:9;:13;8788:90;8916:1;8904:9;;:13;8896:49;;;;-1:-1:-1;;;8896:49:0;;12457:2:1;8896:49:0;;;12439:21:1;12496:2;12476:18;;;12469:30;12535:25;12515:18;;;12508:53;12578:18;;8896:49:0;12255:347:1;8896:49:0;8964:69;8981:51;8985:6;8993:38;8997:20;9019:11;;8993:3;:38::i;:::-;8981:3;:51::i;:::-;8964:16;:69::i;:::-;9081:21;9125:22;;9121:106;;9172:35;9185:21;9172:12;:35::i;:::-;9245:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9291:12:0;9275:13;:28;-1:-1:-1;8640:679:0;7615:1715;7577:1753;9345:11;;9342:161;;9413:4;9395:24;;;;:9;:24;;;;;;:39;;9424:9;9395:28;:39::i;:::-;9388:4;9370:24;;;;:9;:24;;;;;;;:64;;;;9452:39;;-1:-1:-1;;;;;9452:39:0;;;;;;;9481:9;1500:25:1;;1488:2;1473:18;;1354:177;9452:39:0;;;;;;;;9342:161;-1:-1:-1;;;;;9529:15:0;;;;;;:9;:15;;;;;;:27;;9549:6;9529:19;:27::i;:::-;-1:-1:-1;;;;;9513:15:0;;;;;;:9;:15;;;;;:43;9581:40;9599:21;:6;9610:9;9599:10;:21::i;:::-;-1:-1:-1;;;;;9581:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9567:13:0;;;;;;;:9;:13;;;;;:54;;;;9637:41;;;9656:21;:6;9667:9;9656:10;:21::i;:::-;9637:41;;1500:25:1;;;1488:2;1473:18;9637:41:0;;;;;;;7307:2379;7238:2448;;;:::o;1334:190::-;1420:7;1456:12;1448:6;;;;1440:29;;;;-1:-1:-1;;;1440:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1480:9:0;1492:5;1496:1;1492;:5;:::i;:::-;1480:17;1334:190;-1:-1:-1;;;;;1334:190:0:o;9802:483::-;5181:6;:13;;-1:-1:-1;;;;5181:13:0;-1:-1:-1;;;5181:13:0;;;9904:16:::1;::::0;;9918:1:::1;9904:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9904:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9904:16:0::1;9880:40;;9949:4;9931;9936:1;9931:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9931:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9975:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9975:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9931:7;;9975:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9965:4;9970:1;9965:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9965:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10040:15:::1;::::0;10008:62:::1;::::0;10025:4:::1;::::0;10040:15:::1;10058:11:::0;10008:8:::1;:62::i;:::-;10081:15;::::0;:196:::1;::::0;-1:-1:-1;;;10081:196:0;;-1:-1:-1;;;;;10081:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10162:11;;10081:15:::1;::::0;10204:4;;10231::::1;::::0;10251:15:::1;::::0;10081:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5217:6:0;:14;;-1:-1:-1;;;;5217:14:0;;;-1:-1:-1;;;;9802:483:0:o;10583:92::-;10640:10;;:27;;-1:-1:-1;;;;;10640:10:0;;;;:27;;;;;10660:6;;10640:10;:27;:10;:27;10660:6;10640:10;:27;;;;;;;;;;;;;;;;;;;1532:246;1590:7;1614:1;1619;1614:6;1610:47;;-1:-1:-1;1644:1:0;1637:8;;1610:47;1667:9;1679:5;1683:1;1679;:5;:::i;:::-;1667:17;-1:-1:-1;1712:1:0;1703:5;1707:1;1667:17;1703:5;:::i;:::-;:10;1695:56;;;;-1:-1:-1;;;1695:56:0;;14149:2:1;1695:56:0;;;14131:21:1;14188:2;14168:18;;;14161:30;14227:34;14207:18;;;14200:62;-1:-1:-1;;;14278:18:1;;;14271:31;14319:19;;1695:56:0;13947:397:1;1695:56:0;1769:1;1532:246;-1:-1:-1;;;1532:246:0:o;1786:132::-;1844:7;1871:39;1875:1;1878;1871:39;;;;;;;;;;;;;;;;;:3;:39::i;9696:98::-;9753:7;9780:1;9778;:3;9777:9;;9785:1;9777:9;;;-1:-1:-1;9783:1:0;9696:98;-1:-1:-1;9696:98:0:o;1003:179::-;1061:7;;1093:5;1097:1;1093;:5;:::i;:::-;1081:17;;1122:1;1117;:6;;1109:46;;;;-1:-1:-1;;;1109:46:0;;14551:2:1;1109:46:0;;;14533:21:1;14590:2;14570:18;;;14563:30;14629:29;14609:18;;;14602:57;14676:18;;1109:46:0;14349:351:1;1190:136:0;1248:7;1275:43;1279:1;1282;1275:43;;;;;;;;;;;;;;;;;:3;:43::i;1926:189::-;2012:7;2047:12;2040:5;2032:28;;;;-1:-1:-1;;;2032:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2071:9:0;2083:5;2087:1;2083;: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: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;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630: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:180::-;4356:6;4409:2;4397:9;4388:7;4384:23;4380:32;4377:52;;;4425:1;4422;4415:12;4377:52;-1:-1:-1;4448:23:1;;4297:180;-1:-1:-1;4297:180:1:o;4482:356::-;4684:2;4666:21;;;4703:18;;;4696:30;4762:34;4757:2;4742:18;;4735:62;4829:2;4814:18;;4482:356::o;5033:127::-;5094:10;5089:3;5085:20;5082:1;5075:31;5125:4;5122:1;5115:15;5149:4;5146:1;5139:15;5165:416;5254:1;5291:5;5254:1;5305:270;5326:7;5316:8;5313:21;5305:270;;;5385:4;5381:1;5377:6;5373:17;5367:4;5364:27;5361:53;;;5394:18;;:::i;:::-;5444:7;5434:8;5430:22;5427:55;;;5464:16;;;;5427:55;5543:22;;;;5503:15;;;;5305:270;;;5309:3;5165:416;;;;;:::o;5586:806::-;5635:5;5665:8;5655:80;;-1:-1:-1;5706:1:1;5720:5;;5655:80;5754:4;5744:76;;-1:-1:-1;5791:1:1;5805:5;;5744:76;5836:4;5854:1;5849:59;;;;5922:1;5917:130;;;;5829:218;;5849:59;5879:1;5870:10;;5893:5;;;5917:130;5954:3;5944:8;5941:17;5938:43;;;5961:18;;:::i;:::-;-1:-1:-1;;6017:1:1;6003:16;;6032:5;;5829:218;;6131:2;6121:8;6118:16;6112:3;6106:4;6103:13;6099:36;6093:2;6083:8;6080:16;6075:2;6069:4;6066:12;6062:35;6059:77;6056:159;;;-1:-1:-1;6168:19:1;;;6200:5;;6056:159;6247:34;6272:8;6266:4;6247:34;:::i;:::-;6317:6;6313:1;6309:6;6305:19;6296:7;6293:32;6290:58;;;6328:18;;:::i;:::-;6366:20;;5586:806;-1:-1:-1;;;5586:806:1:o;6397:140::-;6455:5;6484:47;6525:4;6515:8;6511:19;6505:4;6484:47;:::i;6542:168::-;6615:9;;;6646;;6663:15;;;6657:22;;6643:37;6633:71;;6684:18;;:::i;6715:127::-;6776:10;6771:3;6767:20;6764:1;6757:31;6807:4;6804:1;6797:15;6831:4;6828:1;6821:15;7199:251;7269:6;7322:2;7310:9;7301:7;7297:23;7293:32;7290:52;;;7338:1;7335;7328:12;7290:52;7370:9;7364:16;7389:31;7414:5;7389:31;:::i;8376:306::-;8464:6;8472;8480;8533:2;8521:9;8512:7;8508:23;8504:32;8501:52;;;8549:1;8546;8539:12;8501:52;8578:9;8572:16;8562:26;;8628:2;8617:9;8613:18;8607:25;8597:35;;8672:2;8661:9;8657:18;8651:25;8641:35;;8376:306;;;;;:::o;8966:277::-;9033:6;9086:2;9074:9;9065:7;9061:23;9057:32;9054:52;;;9102:1;9099;9092:12;9054:52;9134:9;9128:16;9187:5;9180:13;9173:21;9166:5;9163:32;9153:60;;9209:1;9206;9199:12;11630:125;11695:9;;;11716:10;;;11713:36;;;11729:18;;:::i;12115:135::-;12154:3;12175:17;;;12172:43;;12195:18;;:::i;:::-;-1:-1:-1;12242:1:1;12231:13;;12115:135::o;12607:128::-;12674:9;;;12695:11;;;12692:37;;;12709:18;;:::i;12740:980::-;13002:4;13050:3;13039:9;13035:19;13081:6;13070:9;13063:25;13107:2;13145:6;13140:2;13129:9;13125:18;13118:34;13188:3;13183:2;13172:9;13168:18;13161:31;13212:6;13247;13241:13;13278:6;13270;13263:22;13316:3;13305:9;13301:19;13294:26;;13355:2;13347:6;13343:15;13329:29;;13376:1;13386:195;13400:6;13397:1;13394:13;13386:195;;;13465:13;;-1:-1:-1;;;;;13461:39:1;13449:52;;13556:15;;;;13521:12;;;;13497:1;13415:9;13386:195;;;-1:-1:-1;;;;;;;13637:32:1;;;;13632:2;13617:18;;13610:60;-1:-1:-1;;;13701:3:1;13686:19;13679:35;13598:3;12740:980;-1:-1:-1;;;12740:980:1:o;13725:217::-;13765:1;13791;13781:132;;13835:10;13830:3;13826:20;13823:1;13816:31;13870:4;13867:1;13860:15;13898:4;13895:1;13888:15;13781:132;-1:-1:-1;13927:9:1;;13725:217::o

Swarm Source

ipfs://dea4bfea0cfa0c1f72418e81a01358183701a41d41e6dadfc1ec387eee88fb11

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

LandWu is the Chinese alter ego of your favorite Boy’s Club character, Landwolf 0x67.

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.