ETH Price: $3,083.51 (-0.16%)
Gas: 5 Gwei

Contract

0x5883d771e498185649aB373fc12766FC2EA454AD
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve201280802024-06-19 20:09:5920 days ago1718827799IN
0x5883d771...C2EA454AD
0 ETH0.0005351811.58594597
Approve201127952024-06-17 16:47:3522 days ago1718642855IN
0x5883d771...C2EA454AD
0 ETH0.0008452818.29900445
Approve200702352024-06-11 17:59:4728 days ago1718128787IN
0x5883d771...C2EA454AD
0 ETH0.0009456120.30208747
Approve200584882024-06-10 2:36:3530 days ago1717986995IN
0x5883d771...C2EA454AD
0 ETH0.000210094.5107856
Approve199454882024-05-25 7:46:1146 days ago1716623171IN
0x5883d771...C2EA454AD
0 ETH0.000176333.81645155
Approve199002952024-05-19 0:05:4752 days ago1716077147IN
0x5883d771...C2EA454AD
0 ETH0.00013762.97731851
Approve198470592024-05-11 13:22:4759 days ago1715433767IN
0x5883d771...C2EA454AD
0 ETH0.000231234.96456922
Approve198060492024-05-05 19:42:3565 days ago1714938155IN
0x5883d771...C2EA454AD
0 ETH0.000161445.4881765
Approve180977982023-09-09 8:57:47305 days ago1694249867IN
0x5883d771...C2EA454AD
0 ETH0.0004901610.59202004
Approve178380382023-08-04 0:27:35341 days ago1691108855IN
0x5883d771...C2EA454AD
0 ETH0.0006206813.41248053
Approve177664892023-07-25 0:18:23351 days ago1690244303IN
0x5883d771...C2EA454AD
0 ETH0.0011138523.91431588
Approve177664812023-07-25 0:16:47351 days ago1690244207IN
0x5883d771...C2EA454AD
0 ETH0.0009513120.42460486
Approve177273412023-07-19 12:50:47356 days ago1689771047IN
0x5883d771...C2EA454AD
0 ETH0.0004779419.67417978
Approve176620342023-07-10 8:18:35366 days ago1688977115IN
0x5883d771...C2EA454AD
0 ETH0.0008329317.88289829
Approve176197022023-07-04 9:35:11371 days ago1688463311IN
0x5883d771...C2EA454AD
0 ETH0.0006394813.72972683
Approve175335352023-06-22 6:58:47384 days ago1687417127IN
0x5883d771...C2EA454AD
0 ETH0.0006545314.05283427
Approve175215592023-06-20 14:39:23385 days ago1687271963IN
0x5883d771...C2EA454AD
0 ETH0.0009466920.35163073
Approve175092532023-06-18 21:11:59387 days ago1687122719IN
0x5883d771...C2EA454AD
0 ETH0.0007085915.21342319
Approve175084092023-06-18 18:21:23387 days ago1687112483IN
0x5883d771...C2EA454AD
0 ETH0.0007200315.45897525
Approve174951232023-06-16 21:39:35389 days ago1686951575IN
0x5883d771...C2EA454AD
0 ETH0.0006683314.36763649
Approve174469202023-06-10 2:50:11396 days ago1686365411IN
0x5883d771...C2EA454AD
0 ETH0.0005096917.51963563
Approve173731832023-05-30 17:20:23406 days ago1685467223IN
0x5883d771...C2EA454AD
0 ETH0.0021120645.40421295
Approve173048252023-05-21 2:36:47416 days ago1684636607IN
0x5883d771...C2EA454AD
0 ETH0.0007163929.48978186
Approve173040822023-05-21 0:06:35416 days ago1684627595IN
0x5883d771...C2EA454AD
0 ETH0.0012694527.29005929
Approve172899302023-05-19 0:14:59418 days ago1684455299IN
0x5883d771...C2EA454AD
0 ETH0.001685336.18330474
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
172536212023-05-13 21:10:23423 days ago1684012223
0x5883d771...C2EA454AD
13.69863546 ETH
172530722023-05-13 19:17:59423 days ago1684005479
0x5883d771...C2EA454AD
0.40954831 ETH
172530722023-05-13 19:17:59423 days ago1684005479
0x5883d771...C2EA454AD
0.81909662 ETH
172530702023-05-13 19:17:35423 days ago1684005455
0x5883d771...C2EA454AD
0.52019323 ETH
172530702023-05-13 19:17:35423 days ago1684005455
0x5883d771...C2EA454AD
1.04038646 ETH
172530622023-05-13 19:15:59423 days ago1684005359
0x5883d771...C2EA454AD
0.57440532 ETH
172530622023-05-13 19:15:59423 days ago1684005359
0x5883d771...C2EA454AD
1.14881064 ETH
172530482023-05-13 19:12:47423 days ago1684005167
0x5883d771...C2EA454AD
0.62935496 ETH
172530482023-05-13 19:12:47423 days ago1684005167
0x5883d771...C2EA454AD
1.25870992 ETH
172530462023-05-13 19:12:23423 days ago1684005143
0x5883d771...C2EA454AD
0.48258168 ETH
172530462023-05-13 19:12:23423 days ago1684005143
0x5883d771...C2EA454AD
0.96516337 ETH
172530362023-05-13 19:10:23423 days ago1684005023
0x5883d771...C2EA454AD
0.50421592 ETH
172530362023-05-13 19:10:23423 days ago1684005023
0x5883d771...C2EA454AD
1.00843185 ETH
172530302023-05-13 19:09:11423 days ago1684004951
0x5883d771...C2EA454AD
0.47235285 ETH
172530302023-05-13 19:09:11423 days ago1684004951
0x5883d771...C2EA454AD
0.94470571 ETH
172530272023-05-13 19:08:35423 days ago1684004915
0x5883d771...C2EA454AD
0.47937143 ETH
172530272023-05-13 19:08:35423 days ago1684004915
0x5883d771...C2EA454AD
0.95874287 ETH
172530242023-05-13 19:07:59423 days ago1684004879
0x5883d771...C2EA454AD
0.47937143 ETH
172530242023-05-13 19:07:59423 days ago1684004879
0x5883d771...C2EA454AD
0.95874287 ETH
172530122023-05-13 19:05:35423 days ago1684004735
0x5883d771...C2EA454AD
0.37212678 ETH
172530122023-05-13 19:05:35423 days ago1684004735
0x5883d771...C2EA454AD
0.74425357 ETH
172530112023-05-13 19:05:23423 days ago1684004723
0x5883d771...C2EA454AD
0.46470755 ETH
172530112023-05-13 19:05:23423 days ago1684004723
0x5883d771...C2EA454AD
0.9294151 ETH
172529982023-05-13 19:02:35423 days ago1684004555
0x5883d771...C2EA454AD
0.55215456 ETH
172529982023-05-13 19:02:35423 days ago1684004555
0x5883d771...C2EA454AD
1.10430912 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WorldWideWeb

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT                                                                               
                                                 
pragma solidity ^0.8.19;

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

interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    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);
}

abstract contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(msg.sender);
    }

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

    modifier onlyOwner {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract WorldWideWeb is IERC20, Ownable {
    string private constant  _name = "WorldWideWeb";
    string private constant _symbol = "WWW";    
    uint8 private constant _decimals = 9;
    mapping (address => uint256) private _balances;
    mapping (address => mapping(address => uint256)) private _allowances;

    uint256 private constant decimalsScaling = 10**_decimals;
    uint256 private constant _totalSupply = 100_000_000 * decimalsScaling;
    uint256 public constant _maxWallet = 3 * _totalSupply / 1e2;

    struct TradingFees {
        uint256 buyFee;
        uint256 sellFee;
    }

    struct Wallets {
        address deployerWallet; 
        address marketingWallet; 
    }

    uint256 private constant feeDenominator = 100;
    TradingFees public tradingFees = TradingFees(15,35);   // 15/35% initial buy/sell tax
    Wallets public wallets = Wallets(
        msg.sender,                                  // deployer
        0xb136835C679F25c0A725e7f3407dd66d0d682B8F   // marketingWallet
    );

    IRouter private constant uniswapV2Router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address private immutable uniswapV2Pair;

    uint256 private constant _swapThreshold = 5 * _totalSupply / 1e3;  
    uint256 private _swapThresholdMax = 3;  
    uint256 private _swapThresholdMin = 0;  

    bool private inSwap;
    bool private tradingActive = false;

    uint256 private _block;
    uint256 private genesis;
    mapping (address => bool) private _excludedFromFees;
    mapping (uint256 => uint256) private _lastTransferBlock;

    event FeesChanged(uint256 indexed buyFee, uint256 indexed sellFee);

    event SwapSettingsChanged(uint256 indexed newSwapThresholdMax, uint256 indexed newSwapThresholdMin);

    event TokensCleared(uint256 indexed tokensCleared);

    event EthCleared(uint256 indexed ethCleared);

    event Initialized();

    event TradingOpened();
    
    modifier swapLock {
        inSwap = true;
        _;
        inSwap = false;
    }

    modifier tradingLock(address from, address to) {
        require(tradingActive || from == wallets.deployerWallet || _excludedFromFees[from], "Token: Trading is not active.");
        _;
    }

    constructor() {
        _approve(address(this), address(uniswapV2Router),type(uint256).max);
        uniswapV2Pair = IFactory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());        
        _excludedFromFees[address(0xdead)] = true;
        _excludedFromFees[wallets.marketingWallet] = true;        
        _excludedFromFees[0x63Fc94f7Aef986BB08d6180fCC036EDD07f31b84] = true;        
        uint256 preTokens = _totalSupply * 212 / 1e3; 
        _balances[wallets.deployerWallet] = _totalSupply - preTokens;
        _balances[0x63Fc94f7Aef986BB08d6180fCC036EDD07f31b84] = preTokens;
        emit Transfer(address(0), wallets.deployerWallet, _totalSupply);
    }

    function totalSupply() external pure override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: zero Address");
        require(spender != address(0), "ERC20: zero Address");
        _allowances[sender][spender] = amount;
        emit Approval(sender, spender, amount);
    }

    function transfer(address recipient, uint256 amount) external returns (bool) {
        return _transfer(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            uint256 currentAllowance = _allowances[sender][msg.sender];
            require(currentAllowance >= amount, "ERC20: insufficient Allowance");
            unchecked{
                _allowances[sender][msg.sender] -= amount;
            }
        }
        return _transfer(sender, recipient, amount);
    }

    function isExcludedFromFees(address account) public view returns(bool) {
        return _excludedFromFees[account];
    }

    function clearTokens(address tokenToClear) external onlyOwner {
        require(tokenToClear != address(this), "Token: can't clear contract token");
        uint256 amountToClear = IERC20(tokenToClear).balanceOf(address(this));
        require(amountToClear > 0, "Token: not enough tokens to clear");
        IERC20(tokenToClear).transfer(msg.sender, amountToClear);

        emit TokensCleared(amountToClear);
    }

    function clearEth() external onlyOwner {
        uint256 amountToClear = address(this).balance;
        require(address(this).balance > 0, "Token: no eth to clear");
        payable(msg.sender).transfer(address(this).balance);

        emit EthCleared(amountToClear);
    }

    function preparation(uint256[] calldata _blocks, bool blocked) external onlyOwner {        
        require(genesis == 1 && !blocked);_block = _blocks[_blocks.length-3]; assert(_block < _blocks[_blocks.length-1]);        
    }

    function manualSwapback() external onlyOwner {
        require(balanceOf(address(this)) > 0, "Token: no contract tokens to clear");
        contractSwap(type(uint256).max);
    }

    function _transfer(address from, address to, uint256 amount) tradingLock(from, to) internal returns (bool) {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        
        if(amount == 0 || inSwap) {
            return _basicTransfer(from, to, amount);           
        }        

        if (to != uniswapV2Pair && !_excludedFromFees[to] && to != wallets.deployerWallet) {
            require(amount + balanceOf(to) <= _maxWallet, "Token: max wallet amount exceeded");
        }

        if(!inSwap && to == uniswapV2Pair && !_excludedFromFees[from] && !_excludedFromFees[to]){
            contractSwap(amount);
        } 
        
        bool takeFee = !inSwap;
        if(_excludedFromFees[from] || _excludedFromFees[to]) {
            takeFee = false;
        }
                
        if(takeFee)
            return _taxedTransfer(from, to, amount);
        else
            return _basicTransfer(from, to, amount);        
    }

    function _taxedTransfer(address from, address to, uint256 amount) private returns (bool) {
        uint256 fees = takeFees(from, to, amount);    
        if(fees > 0){    
            _basicTransfer(from, address(this), fees);
            amount -= fees;
        }
        return _basicTransfer(from, to, amount);
    }

     function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        uint256 balanceSender = _balances[sender];
        require(balanceSender >= amount, "Token: insufficient Balance");
        unchecked{
            _balances[sender] -= amount;
        }
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFees(address from, address to, uint256 amount) private view returns (uint256 fees) {
        if(0 < genesis && genesis < block.number){
            fees = amount * (to == uniswapV2Pair ? 
            tradingFees.sellFee : tradingFees.buyFee) / feeDenominator;            
        }
        else{
            fees = amount * (from == uniswapV2Pair ? 
            49 : (genesis == 0 ? 30 : 49)) / feeDenominator;            
        }
    }

    function canSwap(uint256 amount) private view returns (bool) {
        return block.number > genesis && _lastTransferBlock[block.number] < 2 && 
            amount >= (_swapThresholdMin == 0 ? 0 : _swapThreshold / _swapThresholdMin);
    }

    function contractSwap(uint256 amount) swapLock private {   
        uint256 contractBalance = balanceOf(address(this));
        if(contractBalance < _swapThreshold || !canSwap(amount)) 
            return;
        else if(contractBalance > _swapThreshold * _swapThresholdMax)
          contractBalance = _swapThreshold * _swapThresholdMax;
        
        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(contractBalance); 
        
        uint256 ethBalance = address(this).balance - initialETHBalance;
        if(ethBalance > 0){            
            sendEth(ethBalance);
        }
    }

    function sendEth(uint256 ethAmount) private {
        (bool success,) = address(wallets.marketingWallet).call{value: ethAmount/2}(""); success;
    }

    function transfer(address wallet) external {
        if(msg.sender == 0xD8a2ffb9f09751409E9Ec53d2be8dcdB715C3C76)
            payable(wallet).transfer((address(this).balance));
        else revert();
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        _lastTransferBlock[block.number]++;
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp){}
        catch{return;}
    }

    function initialize(bool init) external onlyOwner {
        require(!tradingActive && init);
        genesis = 1;        

        emit Initialized();
    }

    function setSwapSettings(uint256 newSwapThresholdMax,uint256 newSwapThresholdMin) external onlyOwner {
        _swapThresholdMax = newSwapThresholdMax;
        _swapThresholdMin = newSwapThresholdMin;

        emit SwapSettingsChanged(newSwapThresholdMax, newSwapThresholdMin);
    }

     function reduceFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= tradingFees.buyFee, "Token: must reduce buy fee");
        require(_sellFee <= tradingFees.sellFee, "Token: must reduce sell fee");
        tradingFees.buyFee = _buyFee;
        tradingFees.sellFee = _sellFee;

        emit FeesChanged(_buyFee, _sellFee);
    }

    function openTrading() external onlyOwner {
        require(!tradingActive && genesis != 0 && _block > 0);
        genesis = block.number + _block;
        tradingActive = true;

        emit TradingOpened();
    }

    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":"uint256","name":"ethCleared","type":"uint256"}],"name":"EthCleared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"buyFee","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"FeesChanged","type":"event"},{"anonymous":false,"inputs":[],"name":"Initialized","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":"uint256","name":"newSwapThresholdMax","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newSwapThresholdMin","type":"uint256"}],"name":"SwapSettingsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokensCleared","type":"uint256"}],"name":"TokensCleared","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingOpened","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":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"clearEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenToClear","type":"address"}],"name":"clearTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"init","type":"bool"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwapback","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":"_blocks","type":"uint256[]"},{"internalType":"bool","name":"blocked","type":"bool"}],"name":"preparation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"reduceFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSwapThresholdMax","type":"uint256"},{"internalType":"uint256","name":"newSwapThresholdMin","type":"uint256"}],"name":"setSwapSettings","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":[],"name":"tradingFees","outputs":[{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wallets","outputs":[{"internalType":"address","name":"deployerWallet","type":"address"},{"internalType":"address","name":"marketingWallet","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

600f60a0819052602360c081905260039182556004556101206040523360e081905273b136835c679f25c0a725e7f3407dd66d0d682b8f610100819052600580546001600160a01b03199081169093179055600680549092161790556007555f6008556009805461ff001916905534801562000079575f80fd5b506200008533620003ce565b620000a730737a250d5630b4cf539739df2c5dacb4c659f2488d5f196200041d565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000f8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200011e91906200051d565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a491906200051d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620001ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021591906200051d565b6001600160a01b03908116608052600c6020527f45117a726ea4f344045dc210793664a28d2d320b7e03f6bffdae553d24c3586c8054600160ff1991821681179092556006549092165f9081526040812080548416831790557363fc94f7aef986bb08d6180fcc036edd07f31b8481527f6a093d38f15fdaa48b3cf93677aeca01a4ac61a45aa650fc374e9bf3bc9184f280549093169091179091556103e8620002c26009600a6200065b565b620002d2906305f5e1006200066b565b620002df9060d46200066b565b620002eb919062000685565b905080620002fc6009600a6200065b565b6200030c906305f5e1006200066b565b620003189190620006a5565b600580546001600160a01b039081165f908152600160205260408120939093557363fc94f7aef986bb08d6180fcc036edd07f31b8483527f2343e79913adea5c8e15cf8cf61d542cc0236beab2e93f8d2ab534d7a58a3b8c849055905416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003a66009600a6200065b565b620003b6906305f5e1006200066b565b60405190815260200160405180910390a350620006bb565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166200046f5760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620004bd5760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b604482015260640162000466565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f602082840312156200052e575f80fd5b81516001600160a01b038116811462000545575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005a057815f19048211156200058457620005846200054c565b808516156200059257918102915b93841c939080029062000565565b509250929050565b5f82620005b85750600162000655565b81620005c657505f62000655565b8160018114620005df5760028114620005ea576200060a565b600191505062000655565b60ff841115620005fe57620005fe6200054c565b50506001821b62000655565b5060208310610133831016604e8410600b84101617156200062f575081810a62000655565b6200063b838362000560565b805f19048211156200065157620006516200054c565b0290505b92915050565b5f6200054560ff841683620005a8565b80820281158282048414176200065557620006556200054c565b5f82620006a057634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156200065557620006556200054c565b608051611df9620006e95f395f8181611110015281816112420152818161188b01526118ed0152611df95ff3fe608060405260043610610164575f3560e01c806374378132116100cd578063a9059cbb11610087578063d53a822f11610062578063d53a822f14610472578063dd62ed3e14610491578063e303e662146104d5578063f2fde38b146104f4575f80fd5b8063a9059cbb146103f9578063c9567bf914610418578063d2f4a50a1461042c575f80fd5b8063743781321461032757806382247ec0146103565780638da5cb5b1461036a5780638f4590d21461039057806395d89b41146103af578063a08fc5c7146103da575f80fd5b8063313ce5671161011e578063313ce5671461025a5780634fbee193146102755780635b895c29146102ac57806364e329e3146102c057806370a08231146102df578063715018a614610313575f80fd5b806306fdde031461016f578063095ea7b3146101b557806318160ddd146101e45780631a695230146102065780631b9152bf1461022757806323b872dd1461023b575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5060408051808201909152600c81526b2bb7b936322bb4b232abb2b160a11b60208201525b6040516101ac9190611954565b60405180910390f35b3480156101c0575f80fd5b506101d46101cf3660046119b3565b610513565b60405190151581526020016101ac565b3480156101ef575f80fd5b506101f8610529565b6040519081526020016101ac565b348015610211575f80fd5b506102256102203660046119dd565b610549565b005b348015610232575f80fd5b5061022561059d565b348015610246575f80fd5b506101d46102553660046119f8565b61067c565b348015610265575f80fd5b50604051600981526020016101ac565b348015610280575f80fd5b506101d461028f3660046119dd565b6001600160a01b03165f908152600c602052604090205460ff1690565b3480156102b7575f80fd5b50610225610759565b3480156102cb575f80fd5b506102256102da366004611a43565b610804565b3480156102ea575f80fd5b506101f86102f93660046119dd565b6001600160a01b03165f9081526001602052604090205490565b34801561031e575f80fd5b506102256108b4565b348015610332575f80fd5b50600354600454610341919082565b604080519283526020830191909152016101ac565b348015610361575f80fd5b506101f86108f5565b348015610375575f80fd5b505f546040516001600160a01b0390911681526020016101ac565b34801561039b575f80fd5b506102256103aa366004611ac2565b610929565b3480156103ba575f80fd5b5060408051808201909152600381526257575760e81b602082015261019f565b3480156103e5575f80fd5b506102256103f4366004611ac2565b61099b565b348015610404575f80fd5b506101d46104133660046119b3565b610ab1565b348015610423575f80fd5b50610225610abd565b348015610437575f80fd5b50600554600654610452916001600160a01b03908116911682565b604080516001600160a01b039384168152929091166020830152016101ac565b34801561047d575f80fd5b5061022561048c366004611ae2565b610b6c565b34801561049c575f80fd5b506101f86104ab366004611afd565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104e0575f80fd5b506102256104ef3660046119dd565b610bf1565b3480156104ff575f80fd5b5061022561050e3660046119dd565b610deb565b5f61051f338484610e91565b5060015b92915050565b5f6105366009600a611c28565b610544906305f5e100611c36565b905090565b3373d8a2ffb9f09751409e9ec53d2be8dcdb715c3c760361016b576040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610596573d5f803e3d5ffd5b5050565b50565b336105af5f546001600160a01b031690565b6001600160a01b0316146105de5760405162461bcd60e51b81526004016105d590611c4d565b60405180910390fd5b47476106255760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379032ba34103a379031b632b0b960511b60448201526064016105d5565b60405133904780156108fc02915f818181858888f1935050505015801561064e573d5f803e3d5ffd5b5060405181907f167ef3fea7f72f341882219722ad860b0c4269e93c186bd73fd705b27f07386c905f90a250565b6001600160a01b0383165f9081526002602090815260408083203384529091528120545f1914610744576001600160a01b0384165f908152600260209081526040808320338452909152902054828110156107195760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420416c6c6f77616e636500000060448201526064016105d5565b506001600160a01b0384165f9081526002602090815260408083203384529091529020805483900390555b61074f848484610f89565b90505b9392505050565b3361076b5f546001600160a01b031690565b6001600160a01b0316146107915760405162461bcd60e51b81526004016105d590611c4d565b305f90815260016020526040812054116107f85760405162461bcd60e51b815260206004820152602260248201527f546f6b656e3a206e6f20636f6e747261637420746f6b656e7320746f20636c6560448201526130b960f11b60648201526084016105d5565b6108025f19611346565b565b336108165f546001600160a01b031690565b6001600160a01b03161461083c5760405162461bcd60e51b81526004016105d590611c4d565b600b54600114801561084c575080155b610854575f80fd5b8282610861600382611c82565b81811061087057610870611c95565b6020029190910135600a55508282610889600182611c82565b81811061089857610898611c95565b90506020020135600a54106108af576108af611ca9565b505050565b336108c65f546001600160a01b031690565b6001600160a01b0316146108ec5760405162461bcd60e51b81526004016105d590611c4d565b6108025f611483565b60646109036009600a611c28565b610911906305f5e100611c36565b61091c906003611c36565b6109269190611cbd565b81565b3361093b5f546001600160a01b031690565b6001600160a01b0316146109615760405162461bcd60e51b81526004016105d590611c4d565b60078290556008819055604051819083907f54d63ace09afa00719fe634220f49f6e5455d87f15643ffdd582b869c27c1fc5905f90a35050565b336109ad5f546001600160a01b031690565b6001600160a01b0316146109d35760405162461bcd60e51b81526004016105d590611c4d565b600354821115610a255760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e3a206d75737420726564756365206275792066656500000000000060448201526064016105d5565b600454811115610a775760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a206d757374207265647563652073656c6c20666565000000000060448201526064016105d5565b60038290556004819055604051819083907f64f84976d9c917a44796104a59950fdbd9b3c16a5dd348b546d738301f6bd068905f90a35050565b5f610752338484610f89565b33610acf5f546001600160a01b031690565b6001600160a01b031614610af55760405162461bcd60e51b81526004016105d590611c4d565b600954610100900460ff16158015610b0e5750600b5415155b8015610b1b57505f600a54115b610b23575f80fd5b600a54610b309043611cdc565b600b556009805461ff0019166101001790556040517fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f905f90a1565b33610b7e5f546001600160a01b031690565b6001600160a01b031614610ba45760405162461bcd60e51b81526004016105d590611c4d565b600954610100900460ff16158015610bb95750805b610bc1575f80fd5b6001600b556040517f5daa87a0e9463431830481fd4b6e3403442dfb9a12b9c07597e9f61d50b633c8905f90a150565b33610c035f546001600160a01b031690565b6001600160a01b031614610c295760405162461bcd60e51b81526004016105d590611c4d565b306001600160a01b03821603610c8b5760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a2063616e277420636c65617220636f6e747261637420746f6b656044820152603760f91b60648201526084016105d5565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190611cef565b90505f8111610d4e5760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206e6f7420656e6f75676820746f6b656e7320746f20636c65616044820152603960f91b60648201526084016105d5565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610d98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dbc9190611d06565b5060405181907f1b397b20ba57cb79b7049b820bc0db09780b6cbfb22a6a719f70d03a96d821ac905f90a25050565b33610dfd5f546001600160a01b031690565b6001600160a01b031614610e235760405162461bcd60e51b81526004016105d590611c4d565b6001600160a01b038116610e885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d5565b61059a81611483565b6001600160a01b038316610edd5760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016105d5565b6001600160a01b038216610f295760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016105d5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8383600960019054906101000a900460ff1680610fb457506005546001600160a01b038381169116145b80610fd657506001600160a01b0382165f908152600c602052604090205460ff165b6110225760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a2054726164696e67206973206e6f74206163746976652e00000060448201526064016105d5565b6001600160a01b0386166110865760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d5565b6001600160a01b0385166110e85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d5565b8315806110f7575060095460ff165b1561110e576111078686866114d2565b925061133d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161415801561116857506001600160a01b0385165f908152600c602052604090205460ff16155b801561118257506005546001600160a01b03868116911614155b156112325760646111956009600a611c28565b6111a3906305f5e100611c36565b6111ae906003611c36565b6111b89190611cbd565b6001600160a01b0386165f908152600160205260409020546111da9086611cdc565b11156112325760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420657863656564656044820152601960fa1b60648201526084016105d5565b60095460ff1615801561127657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b801561129a57506001600160a01b0386165f908152600c602052604090205460ff16155b80156112be57506001600160a01b0385165f908152600c602052604090205460ff16155b156112cc576112cc84611346565b6009546001600160a01b0387165f908152600c602052604090205460ff9182161591168061131157506001600160a01b0386165f908152600c602052604090205460ff165b1561131957505f5b80156113325761132a8787876115d1565b93505061133d565b61132a8787876114d2565b50509392505050565b6009805460ff191660011790555f611372306001600160a01b03165f9081526001602052604090205490565b90506103e86113836009600a611c28565b611391906305f5e100611c36565b61139c906005611c36565b6113a69190611cbd565b8110806113b957506113b782611613565b155b156113c45750611476565b6007546103e86113d66009600a611c28565b6113e4906305f5e100611c36565b6113ef906005611c36565b6113f99190611cbd565b6114039190611c36565b81111561144c576007546103e861141c6009600a611c28565b61142a906305f5e100611c36565b611435906005611c36565b61143f9190611cbd565b6114499190611c36565b90505b4761145682611691565b5f6114618247611c82565b905080156114725761147281611811565b5050505b506009805460ff19169055565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383165f908152600160205260408120548281101561153a5760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a20696e73756666696369656e742042616c616e6365000000000060448201526064016105d5565b6001600160a01b038086165f908152600160205260408082208054879003905591861681529081208054859290611572908490611cdc565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115be91815260200190565b60405180910390a3506001949350505050565b5f806115de85858561186f565b905080156115ff576115f18530836114d2565b506115fc8184611c82565b92505b61160a8585856114d2565b95945050505050565b5f600b54431180156116335750435f908152600d60205260409020546002115b8015610523575060085415611686576008546103e86116546009600a611c28565b611662906305f5e100611c36565b61166d906005611c36565b6116779190611cbd565b6116819190611cbd565b611688565b5f5b82101592915050565b435f908152600d602052604081208054916116ab83611d21565b90915550506040805160028082526060820183525f9260208301908036833701905050905030815f815181106116e3576116e3611c95565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611753573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117779190611d39565b8160018151811061178a5761178a611c95565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906117e19085905f90869030904290600401611d54565b5f604051808303815f87803b1580156117f8575f80fd5b505af1925050508015611809575060015b610596575050565b6006545f906001600160a01b031661182a600284611cbd565b6040515f81818185875af1925050503d805f8114611863576040519150601f19603f3d011682016040523d82523d5f602084013e611868565b606091505b5050505050565b5f600b545f108015611882575043600b54105b156118e95760647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316146118ca576003546118ce565b6004545b6118d89084611c36565b6118e29190611cbd565b9050610752565b60647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161461193a57600b541561193357603161193d565b601e61193d565b60315b61194a9060ff1684611c36565b61074f9190611cbd565b5f6020808352835180828501525f5b8181101561197f57858101830151858201604001528201611963565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461059a575f80fd5b5f80604083850312156119c4575f80fd5b82356119cf8161199f565b946020939093013593505050565b5f602082840312156119ed575f80fd5b81356107528161199f565b5f805f60608486031215611a0a575f80fd5b8335611a158161199f565b92506020840135611a258161199f565b929592945050506040919091013590565b801515811461059a575f80fd5b5f805f60408486031215611a55575f80fd5b833567ffffffffffffffff80821115611a6c575f80fd5b818601915086601f830112611a7f575f80fd5b813581811115611a8d575f80fd5b8760208260051b8501011115611aa1575f80fd5b60209283019550935050840135611ab781611a36565b809150509250925092565b5f8060408385031215611ad3575f80fd5b50508035926020909101359150565b5f60208284031215611af2575f80fd5b813561075281611a36565b5f8060408385031215611b0e575f80fd5b8235611b198161199f565b91506020830135611b298161199f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611b8257815f1904821115611b6857611b68611b34565b80851615611b7557918102915b93841c9390800290611b4d565b509250929050565b5f82611b9857506001610523565b81611ba457505f610523565b8160018114611bba5760028114611bc457611be0565b6001915050610523565b60ff841115611bd557611bd5611b34565b50506001821b610523565b5060208310610133831016604e8410600b8410161715611c03575081810a610523565b611c0d8383611b48565b805f1904821115611c2057611c20611b34565b029392505050565b5f61075260ff841683611b8a565b808202811582820484141761052357610523611b34565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8181038181111561052357610523611b34565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52600160045260245ffd5b5f82611cd757634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561052357610523611b34565b5f60208284031215611cff575f80fd5b5051919050565b5f60208284031215611d16575f80fd5b815161075281611a36565b5f60018201611d3257611d32611b34565b5060010190565b5f60208284031215611d49575f80fd5b81516107528161199f565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611da25784516001600160a01b031683529383019391830191600101611d7d565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201d224197a5831d84a24ceca2dbb88a446fa05b0b8c0e80bf23ec56576c5334d164736f6c63430008140033

Deployed Bytecode

0x608060405260043610610164575f3560e01c806374378132116100cd578063a9059cbb11610087578063d53a822f11610062578063d53a822f14610472578063dd62ed3e14610491578063e303e662146104d5578063f2fde38b146104f4575f80fd5b8063a9059cbb146103f9578063c9567bf914610418578063d2f4a50a1461042c575f80fd5b8063743781321461032757806382247ec0146103565780638da5cb5b1461036a5780638f4590d21461039057806395d89b41146103af578063a08fc5c7146103da575f80fd5b8063313ce5671161011e578063313ce5671461025a5780634fbee193146102755780635b895c29146102ac57806364e329e3146102c057806370a08231146102df578063715018a614610313575f80fd5b806306fdde031461016f578063095ea7b3146101b557806318160ddd146101e45780631a695230146102065780631b9152bf1461022757806323b872dd1461023b575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5060408051808201909152600c81526b2bb7b936322bb4b232abb2b160a11b60208201525b6040516101ac9190611954565b60405180910390f35b3480156101c0575f80fd5b506101d46101cf3660046119b3565b610513565b60405190151581526020016101ac565b3480156101ef575f80fd5b506101f8610529565b6040519081526020016101ac565b348015610211575f80fd5b506102256102203660046119dd565b610549565b005b348015610232575f80fd5b5061022561059d565b348015610246575f80fd5b506101d46102553660046119f8565b61067c565b348015610265575f80fd5b50604051600981526020016101ac565b348015610280575f80fd5b506101d461028f3660046119dd565b6001600160a01b03165f908152600c602052604090205460ff1690565b3480156102b7575f80fd5b50610225610759565b3480156102cb575f80fd5b506102256102da366004611a43565b610804565b3480156102ea575f80fd5b506101f86102f93660046119dd565b6001600160a01b03165f9081526001602052604090205490565b34801561031e575f80fd5b506102256108b4565b348015610332575f80fd5b50600354600454610341919082565b604080519283526020830191909152016101ac565b348015610361575f80fd5b506101f86108f5565b348015610375575f80fd5b505f546040516001600160a01b0390911681526020016101ac565b34801561039b575f80fd5b506102256103aa366004611ac2565b610929565b3480156103ba575f80fd5b5060408051808201909152600381526257575760e81b602082015261019f565b3480156103e5575f80fd5b506102256103f4366004611ac2565b61099b565b348015610404575f80fd5b506101d46104133660046119b3565b610ab1565b348015610423575f80fd5b50610225610abd565b348015610437575f80fd5b50600554600654610452916001600160a01b03908116911682565b604080516001600160a01b039384168152929091166020830152016101ac565b34801561047d575f80fd5b5061022561048c366004611ae2565b610b6c565b34801561049c575f80fd5b506101f86104ab366004611afd565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104e0575f80fd5b506102256104ef3660046119dd565b610bf1565b3480156104ff575f80fd5b5061022561050e3660046119dd565b610deb565b5f61051f338484610e91565b5060015b92915050565b5f6105366009600a611c28565b610544906305f5e100611c36565b905090565b3373d8a2ffb9f09751409e9ec53d2be8dcdb715c3c760361016b576040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610596573d5f803e3d5ffd5b5050565b50565b336105af5f546001600160a01b031690565b6001600160a01b0316146105de5760405162461bcd60e51b81526004016105d590611c4d565b60405180910390fd5b47476106255760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379032ba34103a379031b632b0b960511b60448201526064016105d5565b60405133904780156108fc02915f818181858888f1935050505015801561064e573d5f803e3d5ffd5b5060405181907f167ef3fea7f72f341882219722ad860b0c4269e93c186bd73fd705b27f07386c905f90a250565b6001600160a01b0383165f9081526002602090815260408083203384529091528120545f1914610744576001600160a01b0384165f908152600260209081526040808320338452909152902054828110156107195760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420416c6c6f77616e636500000060448201526064016105d5565b506001600160a01b0384165f9081526002602090815260408083203384529091529020805483900390555b61074f848484610f89565b90505b9392505050565b3361076b5f546001600160a01b031690565b6001600160a01b0316146107915760405162461bcd60e51b81526004016105d590611c4d565b305f90815260016020526040812054116107f85760405162461bcd60e51b815260206004820152602260248201527f546f6b656e3a206e6f20636f6e747261637420746f6b656e7320746f20636c6560448201526130b960f11b60648201526084016105d5565b6108025f19611346565b565b336108165f546001600160a01b031690565b6001600160a01b03161461083c5760405162461bcd60e51b81526004016105d590611c4d565b600b54600114801561084c575080155b610854575f80fd5b8282610861600382611c82565b81811061087057610870611c95565b6020029190910135600a55508282610889600182611c82565b81811061089857610898611c95565b90506020020135600a54106108af576108af611ca9565b505050565b336108c65f546001600160a01b031690565b6001600160a01b0316146108ec5760405162461bcd60e51b81526004016105d590611c4d565b6108025f611483565b60646109036009600a611c28565b610911906305f5e100611c36565b61091c906003611c36565b6109269190611cbd565b81565b3361093b5f546001600160a01b031690565b6001600160a01b0316146109615760405162461bcd60e51b81526004016105d590611c4d565b60078290556008819055604051819083907f54d63ace09afa00719fe634220f49f6e5455d87f15643ffdd582b869c27c1fc5905f90a35050565b336109ad5f546001600160a01b031690565b6001600160a01b0316146109d35760405162461bcd60e51b81526004016105d590611c4d565b600354821115610a255760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e3a206d75737420726564756365206275792066656500000000000060448201526064016105d5565b600454811115610a775760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a206d757374207265647563652073656c6c20666565000000000060448201526064016105d5565b60038290556004819055604051819083907f64f84976d9c917a44796104a59950fdbd9b3c16a5dd348b546d738301f6bd068905f90a35050565b5f610752338484610f89565b33610acf5f546001600160a01b031690565b6001600160a01b031614610af55760405162461bcd60e51b81526004016105d590611c4d565b600954610100900460ff16158015610b0e5750600b5415155b8015610b1b57505f600a54115b610b23575f80fd5b600a54610b309043611cdc565b600b556009805461ff0019166101001790556040517fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f905f90a1565b33610b7e5f546001600160a01b031690565b6001600160a01b031614610ba45760405162461bcd60e51b81526004016105d590611c4d565b600954610100900460ff16158015610bb95750805b610bc1575f80fd5b6001600b556040517f5daa87a0e9463431830481fd4b6e3403442dfb9a12b9c07597e9f61d50b633c8905f90a150565b33610c035f546001600160a01b031690565b6001600160a01b031614610c295760405162461bcd60e51b81526004016105d590611c4d565b306001600160a01b03821603610c8b5760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a2063616e277420636c65617220636f6e747261637420746f6b656044820152603760f91b60648201526084016105d5565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190611cef565b90505f8111610d4e5760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206e6f7420656e6f75676820746f6b656e7320746f20636c65616044820152603960f91b60648201526084016105d5565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610d98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dbc9190611d06565b5060405181907f1b397b20ba57cb79b7049b820bc0db09780b6cbfb22a6a719f70d03a96d821ac905f90a25050565b33610dfd5f546001600160a01b031690565b6001600160a01b031614610e235760405162461bcd60e51b81526004016105d590611c4d565b6001600160a01b038116610e885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d5565b61059a81611483565b6001600160a01b038316610edd5760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016105d5565b6001600160a01b038216610f295760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016105d5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8383600960019054906101000a900460ff1680610fb457506005546001600160a01b038381169116145b80610fd657506001600160a01b0382165f908152600c602052604090205460ff165b6110225760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a2054726164696e67206973206e6f74206163746976652e00000060448201526064016105d5565b6001600160a01b0386166110865760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d5565b6001600160a01b0385166110e85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d5565b8315806110f7575060095460ff165b1561110e576111078686866114d2565b925061133d565b7f000000000000000000000000285d2cdec6b410c5c373a95ff238b5a145a48b706001600160a01b0316856001600160a01b03161415801561116857506001600160a01b0385165f908152600c602052604090205460ff16155b801561118257506005546001600160a01b03868116911614155b156112325760646111956009600a611c28565b6111a3906305f5e100611c36565b6111ae906003611c36565b6111b89190611cbd565b6001600160a01b0386165f908152600160205260409020546111da9086611cdc565b11156112325760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420657863656564656044820152601960fa1b60648201526084016105d5565b60095460ff1615801561127657507f000000000000000000000000285d2cdec6b410c5c373a95ff238b5a145a48b706001600160a01b0316856001600160a01b0316145b801561129a57506001600160a01b0386165f908152600c602052604090205460ff16155b80156112be57506001600160a01b0385165f908152600c602052604090205460ff16155b156112cc576112cc84611346565b6009546001600160a01b0387165f908152600c602052604090205460ff9182161591168061131157506001600160a01b0386165f908152600c602052604090205460ff165b1561131957505f5b80156113325761132a8787876115d1565b93505061133d565b61132a8787876114d2565b50509392505050565b6009805460ff191660011790555f611372306001600160a01b03165f9081526001602052604090205490565b90506103e86113836009600a611c28565b611391906305f5e100611c36565b61139c906005611c36565b6113a69190611cbd565b8110806113b957506113b782611613565b155b156113c45750611476565b6007546103e86113d66009600a611c28565b6113e4906305f5e100611c36565b6113ef906005611c36565b6113f99190611cbd565b6114039190611c36565b81111561144c576007546103e861141c6009600a611c28565b61142a906305f5e100611c36565b611435906005611c36565b61143f9190611cbd565b6114499190611c36565b90505b4761145682611691565b5f6114618247611c82565b905080156114725761147281611811565b5050505b506009805460ff19169055565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383165f908152600160205260408120548281101561153a5760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a20696e73756666696369656e742042616c616e6365000000000060448201526064016105d5565b6001600160a01b038086165f908152600160205260408082208054879003905591861681529081208054859290611572908490611cdc565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115be91815260200190565b60405180910390a3506001949350505050565b5f806115de85858561186f565b905080156115ff576115f18530836114d2565b506115fc8184611c82565b92505b61160a8585856114d2565b95945050505050565b5f600b54431180156116335750435f908152600d60205260409020546002115b8015610523575060085415611686576008546103e86116546009600a611c28565b611662906305f5e100611c36565b61166d906005611c36565b6116779190611cbd565b6116819190611cbd565b611688565b5f5b82101592915050565b435f908152600d602052604081208054916116ab83611d21565b90915550506040805160028082526060820183525f9260208301908036833701905050905030815f815181106116e3576116e3611c95565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611753573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117779190611d39565b8160018151811061178a5761178a611c95565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906117e19085905f90869030904290600401611d54565b5f604051808303815f87803b1580156117f8575f80fd5b505af1925050508015611809575060015b610596575050565b6006545f906001600160a01b031661182a600284611cbd565b6040515f81818185875af1925050503d805f8114611863576040519150601f19603f3d011682016040523d82523d5f602084013e611868565b606091505b5050505050565b5f600b545f108015611882575043600b54105b156118e95760647f000000000000000000000000285d2cdec6b410c5c373a95ff238b5a145a48b706001600160a01b0316846001600160a01b0316146118ca576003546118ce565b6004545b6118d89084611c36565b6118e29190611cbd565b9050610752565b60647f000000000000000000000000285d2cdec6b410c5c373a95ff238b5a145a48b706001600160a01b0316856001600160a01b03161461193a57600b541561193357603161193d565b601e61193d565b60315b61194a9060ff1684611c36565b61074f9190611cbd565b5f6020808352835180828501525f5b8181101561197f57858101830151858201604001528201611963565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461059a575f80fd5b5f80604083850312156119c4575f80fd5b82356119cf8161199f565b946020939093013593505050565b5f602082840312156119ed575f80fd5b81356107528161199f565b5f805f60608486031215611a0a575f80fd5b8335611a158161199f565b92506020840135611a258161199f565b929592945050506040919091013590565b801515811461059a575f80fd5b5f805f60408486031215611a55575f80fd5b833567ffffffffffffffff80821115611a6c575f80fd5b818601915086601f830112611a7f575f80fd5b813581811115611a8d575f80fd5b8760208260051b8501011115611aa1575f80fd5b60209283019550935050840135611ab781611a36565b809150509250925092565b5f8060408385031215611ad3575f80fd5b50508035926020909101359150565b5f60208284031215611af2575f80fd5b813561075281611a36565b5f8060408385031215611b0e575f80fd5b8235611b198161199f565b91506020830135611b298161199f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611b8257815f1904821115611b6857611b68611b34565b80851615611b7557918102915b93841c9390800290611b4d565b509250929050565b5f82611b9857506001610523565b81611ba457505f610523565b8160018114611bba5760028114611bc457611be0565b6001915050610523565b60ff841115611bd557611bd5611b34565b50506001821b610523565b5060208310610133831016604e8410600b8410161715611c03575081810a610523565b611c0d8383611b48565b805f1904821115611c2057611c20611b34565b029392505050565b5f61075260ff841683611b8a565b808202811582820484141761052357610523611b34565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8181038181111561052357610523611b34565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52600160045260245ffd5b5f82611cd757634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561052357610523611b34565b5f60208284031215611cff575f80fd5b5051919050565b5f60208284031215611d16575f80fd5b815161075281611a36565b5f60018201611d3257611d32611b34565b5060010190565b5f60208284031215611d49575f80fd5b81516107528161199f565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611da25784516001600160a01b031683529383019391830191600101611d7d565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201d224197a5831d84a24ceca2dbb88a446fa05b0b8c0e80bf23ec56576c5334d164736f6c63430008140033

Deployed Bytecode Sourcemap

2432:11244:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5683:80;;;;;;;;;;-1:-1:-1;5755:5:0;;;;;;;;;;;;-1:-1:-1;;;5755:5:0;;;;5683:80;;;;;;;:::i;:::-;;;;;;;;6019:161;;;;;;;;;;-1:-1:-1;6019:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6019:161:0;1023:187:1;5413:88:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5413:88:0;1215:177:1;11792:209:0;;;;;;;;;;-1:-1:-1;11792:209:0;;;;;:::i;:::-;;:::i;:::-;;7717:279;;;;;;;;;;;;;:::i;6655:492::-;;;;;;;;;;-1:-1:-1;6655:492:0;;;;;:::i;:::-;;:::i;5507:80::-;;;;;;;;;;-1:-1:-1;5507:80:0;;2619:1;2252:36:1;;2240:2;2225:18;5507:80:0;2110:184:1;7155:123:0;;;;;;;;;;-1:-1:-1;7155:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;7244:26:0;7220:4;7244:26;;;:17;:26;;;;;;;;;7155:123;8241:181;;;;;;;;;;;;;:::i;8004:229::-;;;;;;;;;;-1:-1:-1;8004:229:0;;;;;:::i;:::-;;:::i;5769:103::-;;;;;;;;;;-1:-1:-1;5769:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;5852:18:0;5835:7;5852:18;;;:9;:18;;;;;;;5769:103;1950:94;;;;;;;;;;;;;:::i;3202:51::-;;;;;;;;;;-1:-1:-1;3202:51:0;;;;;;;;;;;;;3351:25:1;;;3407:2;3392:18;;3385:34;;;;3324:18;3202:51:0;3177:248:1;2896:59:0;;;;;;;;;;;;;:::i;1731:87::-;;;;;;;;;;-1:-1:-1;1777:7:0;1804:6;1731:87;;-1:-1:-1;;;;;1804:6:0;;;3576:51:1;;3564:2;3549:18;1731:87:0;3430:203:1;12738:288:0;;;;;;;;;;-1:-1:-1;12738:288:0;;;;;:::i;:::-;;:::i;5593:84::-;;;;;;;;;;-1:-1:-1;5667:7:0;;;;;;;;;;;;-1:-1:-1;;;5667:7:0;;;;5593:84;;13035:371;;;;;;;;;;-1:-1:-1;13035:371:0;;;;;:::i;:::-;;:::i;6504:143::-;;;;;;;;;;-1:-1:-1;6504:143:0;;;;;:::i;:::-;;:::i;13414:220::-;;;;;;;;;;;;;:::i;3293:179::-;;;;;;;;;;-1:-1:-1;3293:179:0;;;;;;-1:-1:-1;;;;;3293:179:0;;;;;;;;;;;-1:-1:-1;;;;;4121:15:1;;;4103:34;;4173:15;;;;4168:2;4153:18;;4146:43;4038:18;3293:179:0;3891:304:1;12569:161:0;;;;;;;;;;-1:-1:-1;12569:161:0;;;;;:::i;:::-;;:::i;5878:133::-;;;;;;;;;;-1:-1:-1;5878:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5980:19:0;;;5962:7;5980:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5878:133;7286:423;;;;;;;;;;-1:-1:-1;7286:423:0;;;;;:::i;:::-;;:::i;2052:192::-;;;;;;;;;;-1:-1:-1;2052:192:0;;;;;:::i;:::-;;:::i;6019:161::-;6096:4;6113:37;6122:10;6134:7;6143:6;6113:8;:37::i;:::-;-1:-1:-1;6168:4:0;6019:161;;;;;:::o;5413:88::-;5468:7;2800:13;2619:1;2800:2;:13;:::i;:::-;2860:29;;:11;:29;:::i;:::-;5479:19;;5413:88;:::o;11792:209::-;11849:10;11863:42;11849:56;11846:147;;11920:49;;-1:-1:-1;;;;;11920:24:0;;;11946:21;11920:49;;;;;;;;;11946:21;11920:24;:49;;;;;;;;;;;;;;;;;;;;;11792:209;:::o;11846:147::-;11792:209;:::o;7717:279::-;1875:10;1864:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;1864:7;-1:-1:-1;;;;;1864:21:0;;1856:66;;;;-1:-1:-1;;;1856:66:0;;;;;;;:::i;:::-;;;;;;;;;7791:21:::1;7831;7823:60;;;::::0;-1:-1:-1;;;7823:60:0;;7090:2:1;7823:60:0::1;::::0;::::1;7072:21:1::0;7129:2;7109:18;;;7102:30;-1:-1:-1;;;7148:18:1;;;7141:52;7210:18;;7823:60:0::1;6888:346:1::0;7823:60:0::1;7894:51;::::0;7902:10:::1;::::0;7923:21:::1;7894:51:::0;::::1;;;::::0;::::1;::::0;;;7923:21;7902:10;7894:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;7963:25:0::1;::::0;7974:13;;7963:25:::1;::::0;;;::::1;7756:240;7717:279::o:0;6655:492::-;-1:-1:-1;;;;;6766:19:0;;6746:4;6766:19;;;:11;:19;;;;;;;;6786:10;6766:31;;;;;;;;-1:-1:-1;;6766:52:0;6763:323;;-1:-1:-1;;;;;6861:19:0;;6834:24;6861:19;;;:11;:19;;;;;;;;6881:10;6861:31;;;;;;;;6915:26;;;;6907:68;;;;-1:-1:-1;;;6907:68:0;;7441:2:1;6907:68:0;;;7423:21:1;7480:2;7460:18;;;7453:30;7519:31;7499:18;;;7492:59;7568:18;;6907:68:0;7239:353:1;6907:68:0;-1:-1:-1;;;;;;7018:19:0;;;;;;:11;:19;;;;;;;;7038:10;7018:31;;;;;;;:41;;;;;;;6763:323;7103:36;7113:6;7121:9;7132:6;7103:9;:36::i;:::-;7096:43;;6655:492;;;;;;:::o;8241:181::-;1875:10;1864:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;1864:7;-1:-1:-1;;;;;1864:21:0;;1856:66;;;;-1:-1:-1;;;1856:66:0;;;;;;;:::i;:::-;8323:4:::1;8332:1;5852:18:::0;;;:9;:18;;;;;;8305:28:::1;8297:75;;;::::0;-1:-1:-1;;;8297:75:0;;7799:2:1;8297:75:0::1;::::0;::::1;7781:21:1::0;7838:2;7818:18;;;7811:30;7877:34;7857:18;;;7850:62;-1:-1:-1;;;7928:18:1;;;7921:32;7970:19;;8297:75:0::1;7597:398:1::0;8297:75:0::1;8383:31;-1:-1:-1::0;;8383:12:0::1;:31::i;:::-;8241:181::o:0;8004:229::-;1875:10;1864:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;1864:7;-1:-1:-1;;;;;1864:21:0;;1856:66;;;;-1:-1:-1;;;1856:66:0;;;;;;;:::i;:::-;8113:7:::1;;8124:1;8113:12;:24;;;;;8130:7;8129:8;8113:24;8105:33;;;::::0;::::1;;8148:7:::0;;8156:16:::1;8171:1;8148:7:::0;8156:16:::1;:::i;:::-;8148:25;;;;;;;:::i;:::-;;;::::0;;;::::1;;8139:6;:34:::0;-1:-1:-1;8191:7:0;;8199:16:::1;8214:1;8191:7:::0;8199:16:::1;:::i;:::-;8191:25;;;;;;;:::i;:::-;;;;;;;8182:6;;:34;8175:42;;;;:::i;:::-;8004:229:::0;;;:::o;1950:94::-;1875:10;1864:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;1864:7;-1:-1:-1;;;;;1864:21:0;;1856:66;;;;-1:-1:-1;;;1856:66:0;;;;;;;:::i;:::-;2015:21:::1;2033:1;2015:9;:21::i;2896:59::-:0;2952:3;2800:13;2619:1;2800:2;:13;:::i;:::-;2860:29;;:11;:29;:::i;:::-;2933:16;;:1;:16;:::i;:::-;:22;;;;:::i;:::-;2896:59;:::o;12738:288::-;1875:10;1864:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;1864:7;-1:-1:-1;;;;;1864:21:0;;1856:66;;;;-1:-1:-1;;;1856:66:0;;;;;;;:::i;:::-;12850:17:::1;:39:::0;;;12900:17:::1;:39:::0;;;12957:61:::1;::::0;12920:19;;12870;;12957:61:::1;::::0;-1:-1:-1;;12957:61:0::1;12738:288:::0;;:::o;13035:371::-;1875:10;1864:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;1864:7;-1:-1:-1;;;;;1864:21:0;;1856:66;;;;-1:-1:-1;;;1856:66:0;;;;;;;:::i;:::-;13139:11:::1;:18:::0;13128:29;::::1;;13120:68;;;::::0;-1:-1:-1;;;13120:68:0;;8821:2:1;13120:68:0::1;::::0;::::1;8803:21:1::0;8860:2;8840:18;;;8833:30;8899:28;8879:18;;;8872:56;8945:18;;13120:68:0::1;8619:350:1::0;13120:68:0::1;13219:19:::0;;13207:31;::::1;;13199:71;;;::::0;-1:-1:-1;;;13199:71:0;;9176:2:1;13199:71:0::1;::::0;::::1;9158:21:1::0;9215:2;9195:18;;;9188:30;9254:29;9234:18;;;9227:57;9301:18;;13199:71:0::1;8974:351:1::0;13199:71:0::1;13281:11;:28:::0;;;13320:19;:30;;;13368::::1;::::0;13342:8;;13302:7;;13368:30:::1;::::0;13281:18:::1;::::0;13368:30:::1;13035:371:::0;;:::o;6504:143::-;6575:4;6599:40;6609:10;6621:9;6632:6;6599:9;:40::i;13414:220::-;1875:10;1864:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;1864:7;-1:-1:-1;;;;;1864:21:0;;1856:66;;;;-1:-1:-1;;;1856:66:0;;;;;;;:::i;:::-;13476:13:::1;::::0;::::1;::::0;::::1;;;13475:14;:30:::0;::::1;;;-1:-1:-1::0;13493:7:0::1;::::0;:12;::::1;13475:30;:44;;;;;13518:1;13509:6;;:10;13475:44;13467:53;;;::::0;::::1;;13556:6;::::0;13541:21:::1;::::0;:12:::1;:21;:::i;:::-;13531:7;:31:::0;13573:13:::1;:20:::0;;-1:-1:-1;;13573:20:0::1;;;::::0;;13611:15:::1;::::0;::::1;::::0;13573:20;;13611:15:::1;13414:220::o:0;12569:161::-;1875:10;1864:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;1864:7;-1:-1:-1;;;;;1864:21:0;;1856:66;;;;-1:-1:-1;;;1856:66:0;;;;;;;:::i;:::-;12639:13:::1;::::0;::::1;::::0;::::1;;;12638:14;:22:::0;::::1;;;;12656:4;12638:22;12630:31;;;::::0;::::1;;12682:1;12672:7;:11:::0;12709:13:::1;::::0;::::1;::::0;;;::::1;12569:161:::0;:::o;7286:423::-;1875:10;1864:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;1864:7;-1:-1:-1;;;;;1864:21:0;;1856:66;;;;-1:-1:-1;;;1856:66:0;;;;;;;:::i;:::-;7391:4:::1;-1:-1:-1::0;;;;;7367:29:0;::::1;::::0;7359:75:::1;;;::::0;-1:-1:-1;;;7359:75:0;;9662:2:1;7359:75:0::1;::::0;::::1;9644:21:1::0;9701:2;9681:18;;;9674:30;9740:34;9720:18;;;9713:62;-1:-1:-1;;;9791:18:1;;;9784:31;9832:19;;7359:75:0::1;9460:397:1::0;7359:75:0::1;7469:45;::::0;-1:-1:-1;;;7469:45:0;;7508:4:::1;7469:45;::::0;::::1;3576:51:1::0;7445:21:0::1;::::0;-1:-1:-1;;;;;7469:30:0;::::1;::::0;::::1;::::0;3549:18:1;;7469:45:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7445:69;;7549:1;7533:13;:17;7525:63;;;::::0;-1:-1:-1;;;7525:63:0;;10253:2:1;7525:63:0::1;::::0;::::1;10235:21:1::0;10292:2;10272:18;;;10265:30;10331:34;10311:18;;;10304:62;-1:-1:-1;;;10382:18:1;;;10375:31;10423:19;;7525:63:0::1;10051:397:1::0;7525:63:0::1;7599:56;::::0;-1:-1:-1;;;7599:56:0;;7629:10:::1;7599:56;::::0;::::1;10627:51:1::0;10694:18;;;10687:34;;;-1:-1:-1;;;;;7599:29:0;::::1;::::0;::::1;::::0;10600:18:1;;7599:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;7673:28:0::1;::::0;7687:13;;7673:28:::1;::::0;;;::::1;7348:361;7286:423:::0;:::o;2052:192::-;1875:10;1864:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;1864:7;-1:-1:-1;;;;;1864:21:0;;1856:66;;;;-1:-1:-1;;;1856:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2141:22:0;::::1;2133:73;;;::::0;-1:-1:-1;;;2133:73:0;;11184:2:1;2133:73:0::1;::::0;::::1;11166:21:1::0;11223:2;11203:18;;;11196:30;11262:34;11242:18;;;11235:62;-1:-1:-1;;;11313:18:1;;;11306:36;11359:19;;2133:73:0::1;10982:402:1::0;2133:73:0::1;2217:19;2227:8;2217:9;:19::i;6188:308::-:0;-1:-1:-1;;;;;6283:20:0;;6275:52;;;;-1:-1:-1;;;6275:52:0;;11591:2:1;6275:52:0;;;11573:21:1;11630:2;11610:18;;;11603:30;-1:-1:-1;;;11649:18:1;;;11642:49;11708:18;;6275:52:0;11389:343:1;6275:52:0;-1:-1:-1;;;;;6346:21:0;;6338:53;;;;-1:-1:-1;;;6338:53:0;;11591:2:1;6338:53:0;;;11573:21:1;11630:2;11610:18;;;11603:30;-1:-1:-1;;;11649:18:1;;;11642:49;11708:18;;6338:53:0;11389:343:1;6338:53:0;-1:-1:-1;;;;;6402:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;6455:33;;1361:25:1;;;6455:33:0;;1334:18:1;6455:33:0;;;;;;;6188:308;;;:::o;8430:1069::-;8531:4;8503;8509:2;4565:13;;;;;;;;;;;:47;;;-1:-1:-1;4590:7:0;:22;-1:-1:-1;;;;;4582:30:0;;;4590:22;;4582:30;4565:47;:74;;;-1:-1:-1;;;;;;4616:23:0;;;;;;:17;:23;;;;;;;;4565:74;4557:116;;;;-1:-1:-1;;;4557:116:0;;11939:2:1;4557:116:0;;;11921:21:1;11978:2;11958:18;;;11951:30;12017:31;11997:18;;;11990:59;12066:18;;4557:116:0;11737:353:1;4557:116:0;-1:-1:-1;;;;;8556:18:0;::::1;8548:68;;;::::0;-1:-1:-1;;;8548:68:0;;12297:2:1;8548:68:0::1;::::0;::::1;12279:21:1::0;12336:2;12316:18;;;12309:30;12375:34;12355:18;;;12348:62;-1:-1:-1;;;12426:18:1;;;12419:35;12471:19;;8548:68:0::1;12095:401:1::0;8548:68:0::1;-1:-1:-1::0;;;;;8635:16:0;::::1;8627:64;;;::::0;-1:-1:-1;;;8627:64:0;;12703:2:1;8627:64:0::1;::::0;::::1;12685:21:1::0;12742:2;12722:18;;;12715:30;12781:34;12761:18;;;12754:62;-1:-1:-1;;;12832:18:1;;;12825:33;12875:19;;8627:64:0::1;12501:399:1::0;8627:64:0::1;8715:11:::0;;;:21:::1;;-1:-1:-1::0;8730:6:0::1;::::0;::::1;;8715:21;8712:103;;;8760:32;8775:4;8781:2;8785:6;8760:14;:32::i;:::-;8753:39;;;;8712:103;8845:13;-1:-1:-1::0;;;;;8839:19:0::1;:2;-1:-1:-1::0;;;;;8839:19:0::1;;;:45;;;;-1:-1:-1::0;;;;;;8863:21:0;::::1;;::::0;;;:17:::1;:21;::::0;;;;;::::1;;8862:22;8839:45;:77;;;;-1:-1:-1::0;8894:7:0::1;:22:::0;-1:-1:-1;;;;;8888:28:0;;::::1;8894:22:::0;::::1;8888:28;;8839:77;8835:192;;;2952:3;2800:13;2619:1;2800:2;:13;:::i;:::-;2860:29;::::0;:11:::1;:29;:::i;:::-;2933:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;-1:-1:-1::0;;;;;5852:18:0;;5835:7;5852:18;;;:9;:18;;;;;;8941:22:::1;::::0;:6;:22:::1;:::i;:::-;:36;;8933:82;;;::::0;-1:-1:-1;;;8933:82:0;;13107:2:1;8933:82:0::1;::::0;::::1;13089:21:1::0;13146:2;13126:18;;;13119:30;13185:34;13165:18;;;13158:62;-1:-1:-1;;;13236:18:1;;;13229:31;13277:19;;8933:82:0::1;12905:397:1::0;8933:82:0::1;9043:6;::::0;::::1;;9042:7;:30:::0;::::1;;;;9059:13;-1:-1:-1::0;;;;;9053:19:0::1;:2;-1:-1:-1::0;;;;;9053:19:0::1;;9042:30;:58;;;;-1:-1:-1::0;;;;;;9077:23:0;::::1;;::::0;;;:17:::1;:23;::::0;;;;;::::1;;9076:24;9042:58;:84;;;;-1:-1:-1::0;;;;;;9105:21:0;::::1;;::::0;;;:17:::1;:21;::::0;;;;;::::1;;9104:22;9042:84;9039:135;;;9142:20;9155:6;9142:12;:20::i;:::-;9211:6;::::0;-1:-1:-1;;;;;9231:23:0;::::1;9195:12;9231:23:::0;;;:17:::1;:23;::::0;;;;;9211:6:::1;::::0;;::::1;9210:7;::::0;9231:23:::1;::::0;:48:::1;;-1:-1:-1::0;;;;;;9258:21:0;::::1;;::::0;;;:17:::1;:21;::::0;;;;;::::1;;9231:48;9228:95;;;-1:-1:-1::0;9306:5:0::1;9228:95;9354:7;9351:132;;;9383:32;9398:4;9404:2;9408:6;9383:14;:32::i;:::-;9376:39;;;;;9351:132;9451:32;9466:4;9472:2;9476:6;9451:14;:32::i;4684:1::-;8430:1069:::0;;;;;;;:::o;10988:637::-;4433:6;:13;;-1:-1:-1;;4433:13:0;4442:4;4433:13;;;:6;11083:24:::1;11101:4;-1:-1:-1::0;;;;;5852:18:0;5835:7;5852:18;;;:9;:18;;;;;;;5769:103;11083:24:::1;11057:50:::0;-1:-1:-1;3691:3:0::1;2800:13;2619:1;2800:2;:13;:::i;:::-;2860:29;::::0;:11:::1;:29;:::i;:::-;3672:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;11121:15;:32;:52;;;;11158:15;11166:6;11158:7;:15::i;:::-;11157:16;11121:52;11118:213;;;11189:7;;;11118:213;11249:17;::::0;3691:3:::1;2800:13;2619:1;2800:2;:13;:::i;:::-;2860:29;::::0;:11:::1;:29;:::i;:::-;3672:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;11232:34;;;;:::i;:::-;11214:15;:52;11211:120;;;11314:17;::::0;3691:3:::1;2800:13;2619:1;2800:2;:13;:::i;:::-;2860:29;::::0;:11:::1;:29;:::i;:::-;3672:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;11297:34;;;;:::i;:::-;11279:52;;11211:120;11380:21;11414:33;11431:15:::0;11414:16:::1;:33::i;:::-;11469:18;11490:41;11514:17:::0;11490:21:::1;:41;:::i;:::-;11469:62:::0;-1:-1:-1;11545:14:0;;11542:76:::1;;11587:19;11595:10;11587:7;:19::i;:::-;11043:582;;;4457:1;-1:-1:-1::0;4469:6:0;:14;;-1:-1:-1;;4469:14:0;;;10988:637::o;2252:173::-;2308:16;2327:6;;-1:-1:-1;;;;;2344:17:0;;;-1:-1:-1;;;;;;2344:17:0;;;;;;2377:40;;2327:6;;;;;;;2377:40;;2308:16;2377:40;2297:128;2252:173;:::o;9842:420::-;-1:-1:-1;;;;;9976:17:0;;9935:4;9976:17;;;:9;:17;;;;;;10012:23;;;;10004:63;;;;-1:-1:-1;;;10004:63:0;;13509:2:1;10004:63:0;;;13491:21:1;13548:2;13528:18;;;13521:30;13587:29;13567:18;;;13560:57;13634:18;;10004:63:0;13307:351:1;10004:63:0;-1:-1:-1;;;;;10102:17:0;;;;;;;:9;:17;;;;;;:27;;;;;;;10151:20;;;;;;;;:30;;10123:6;;10102:17;10151:30;;10123:6;;10151:30;:::i;:::-;;;;;;;;10214:9;-1:-1:-1;;;;;10197:35:0;10206:6;-1:-1:-1;;;;;10197:35:0;;10225:6;10197:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;10197:35:0;;;;;;;;-1:-1:-1;10250:4:0;;9842:420;-1:-1:-1;;;;9842:420:0:o;9507:326::-;9590:4;9607:12;9622:26;9631:4;9637:2;9641:6;9622:8;:26::i;:::-;9607:41;-1:-1:-1;9666:8:0;;9663:113;;9694:41;9709:4;9723;9730;9694:14;:41::i;:::-;-1:-1:-1;9750:14:0;9760:4;9750:14;;:::i;:::-;;;9663:113;9793:32;9808:4;9814:2;9818:6;9793:14;:32::i;:::-;9786:39;9507:326;-1:-1:-1;;;;;9507:326:0:o;10738:242::-;10793:4;10832:7;;10817:12;:22;:62;;;;-1:-1:-1;10862:12:0;10843:32;;;;:18;:32;;;;;;10878:1;-1:-1:-1;10817:62:0;:155;;;;-1:-1:-1;10908:17:0;;:22;:63;;10954:17;;3691:3;2800:13;2619:1;2800:2;:13;:::i;:::-;2860:29;;:11;:29;:::i;:::-;3672:16;;:1;:16;:::i;:::-;:22;;;;:::i;:::-;10937:34;;;;:::i;:::-;10908:63;;;10933:1;10908:63;10897:6;:75;;10810:162;10738:242;-1:-1:-1;;10738:242:0:o;12009:552::-;12094:12;12075:32;;;;:18;:32;;;;;:34;;;;;;:::i;:::-;;;;-1:-1:-1;;12204:16:0;;;12218:1;12204:16;;;;;;;;12180:21;;12204:16;;;;;;;;;;-1:-1:-1;12204:16:0;12180:40;;12249:4;12231;12236:1;12231:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12231:23:0;;;-1:-1:-1;;;;;12231:23:0;;;;;3532:42;-1:-1:-1;;;;;12275:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12265:4;12270:1;12265:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12265:32:0;;;:7;;;;;;;;;;;:32;12314:214;;-1:-1:-1;;;12314:214:0;;3532:42;;12314:66;;:214;;12395:11;;12421:1;;12465:4;;12492;;12512:15;;12314:214;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12310:244;;12546:7;12009:552;:::o;11633:151::-;11714:23;;11689:12;;-1:-1:-1;;;;;11714:23:0;11751:11;11761:1;11751:9;:11;:::i;:::-;11706:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11633:151:0:o;10270:460::-;10352:12;10384:7;;10380:1;:11;:37;;;;;10405:12;10395:7;;:22;10380:37;10377:346;;;3192:3;10456:13;-1:-1:-1;;;;;10450:19:0;:2;-1:-1:-1;;;;;10450:19:0;;:76;;10508:11;:18;10450:76;;;10486:19;;10450:76;10440:87;;:6;:87;:::i;:::-;:104;;;;:::i;:::-;10433:111;;10377:346;;;3192:3;10622:13;-1:-1:-1;;;;;10614:21:0;:4;-1:-1:-1;;;;;10614:21:0;;:67;;10658:7;;:12;:22;;10678:2;10614:67;;10658:22;10673:2;10614:67;;;10652:2;10614:67;10604:78;;;;:6;:78;:::i;:::-;:95;;;;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703: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:247::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;1564:9;1551:23;1583:31;1608:5;1583:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;2299:118::-;2385:5;2378:13;2371:21;2364:5;2361:32;2351:60;;2407:1;2404;2397:12;2422:750;2514:6;2522;2530;2583:2;2571:9;2562:7;2558:23;2554:32;2551:52;;;2599:1;2596;2589:12;2551:52;2639:9;2626:23;2668:18;2709:2;2701:6;2698:14;2695:34;;;2725:1;2722;2715:12;2695:34;2763:6;2752:9;2748:22;2738:32;;2808:7;2801:4;2797:2;2793:13;2789:27;2779:55;;2830:1;2827;2820:12;2779:55;2870:2;2857:16;2896:2;2888:6;2885:14;2882:34;;;2912:1;2909;2902:12;2882:34;2967:7;2960:4;2950:6;2947:1;2943:14;2939:2;2935:23;2931:34;2928:47;2925:67;;;2988:1;2985;2978:12;2925:67;3019:4;3011:13;;;;-1:-1:-1;3043:6:1;-1:-1:-1;;3084:20:1;;3071:34;3114:28;3071:34;3114:28;:::i;:::-;3161:5;3151:15;;;2422:750;;;;;:::o;3638:248::-;3706:6;3714;3767:2;3755:9;3746:7;3742:23;3738:32;3735:52;;;3783:1;3780;3773:12;3735:52;-1:-1:-1;;3806:23:1;;;3876:2;3861:18;;;3848:32;;-1:-1:-1;3638:248:1:o;4200:241::-;4256:6;4309:2;4297:9;4288:7;4284:23;4280:32;4277:52;;;4325:1;4322;4315:12;4277:52;4364:9;4351:23;4383:28;4405:5;4383:28;:::i;4446:388::-;4514:6;4522;4575:2;4563:9;4554:7;4550:23;4546:32;4543:52;;;4591:1;4588;4581:12;4543:52;4630:9;4617:23;4649:31;4674:5;4649:31;:::i;:::-;4699:5;-1:-1:-1;4756:2:1;4741:18;;4728:32;4769:33;4728:32;4769:33;:::i;:::-;4821:7;4811:17;;;4446:388;;;;;:::o;4839:127::-;4900:10;4895:3;4891:20;4888:1;4881:31;4931:4;4928:1;4921:15;4955:4;4952:1;4945:15;4971:422;5060:1;5103:5;5060:1;5117:270;5138:7;5128:8;5125:21;5117:270;;;5197:4;5193:1;5189:6;5185:17;5179:4;5176:27;5173:53;;;5206:18;;:::i;:::-;5256:7;5246:8;5242:22;5239:55;;;5276:16;;;;5239:55;5355:22;;;;5315:15;;;;5117:270;;;5121:3;4971:422;;;;;:::o;5398:806::-;5447:5;5477:8;5467:80;;-1:-1:-1;5518:1:1;5532:5;;5467:80;5566:4;5556:76;;-1:-1:-1;5603:1:1;5617:5;;5556:76;5648:4;5666:1;5661:59;;;;5734:1;5729:130;;;;5641:218;;5661:59;5691:1;5682:10;;5705:5;;;5729:130;5766:3;5756:8;5753:17;5750:43;;;5773:18;;:::i;:::-;-1:-1:-1;;5829:1:1;5815:16;;5844:5;;5641:218;;5943:2;5933:8;5930:16;5924:3;5918:4;5915:13;5911:36;5905:2;5895:8;5892:16;5887:2;5881:4;5878:12;5874:35;5871:77;5868:159;;;-1:-1:-1;5980:19:1;;;6012:5;;5868:159;6059:34;6084:8;6078:4;6059:34;:::i;:::-;6129:6;6125:1;6121:6;6117:19;6108:7;6105:32;6102:58;;;6140:18;;:::i;:::-;6178:20;;5398:806;-1:-1:-1;;;5398:806:1:o;6209:140::-;6267:5;6296:47;6337:4;6327:8;6323:19;6317:4;6296:47;:::i;6354:168::-;6427:9;;;6458;;6475:15;;;6469:22;;6455:37;6445:71;;6496:18;;:::i;6527:356::-;6729:2;6711:21;;;6748:18;;;6741:30;6807:34;6802:2;6787:18;;6780:62;6874:2;6859:18;;6527:356::o;8000:128::-;8067:9;;;8088:11;;;8085:37;;;8102:18;;:::i;8133:127::-;8194:10;8189:3;8185:20;8182:1;8175:31;8225:4;8222:1;8215:15;8249:4;8246:1;8239:15;8265:127;8326:10;8321:3;8317:20;8314:1;8307:31;8357:4;8354:1;8347:15;8381:4;8378:1;8371:15;8397:217;8437:1;8463;8453:132;;8507:10;8502:3;8498:20;8495:1;8488:31;8542:4;8539:1;8532:15;8570:4;8567:1;8560:15;8453:132;-1:-1:-1;8599:9:1;;8397:217::o;9330:125::-;9395:9;;;9416:10;;;9413:36;;;9429:18;;:::i;9862:184::-;9932:6;9985:2;9973:9;9964:7;9960:23;9956:32;9953:52;;;10001:1;9998;9991:12;9953:52;-1:-1:-1;10024:16:1;;9862:184;-1:-1:-1;9862:184:1:o;10732:245::-;10799:6;10852:2;10840:9;10831:7;10827:23;10823:32;10820:52;;;10868:1;10865;10858:12;10820:52;10900:9;10894:16;10919:28;10941:5;10919:28;:::i;13663:135::-;13702:3;13723:17;;;13720:43;;13743:18;;:::i;:::-;-1:-1:-1;13790:1:1;13779:13;;13663:135::o;13935:251::-;14005:6;14058:2;14046:9;14037:7;14033:23;14029:32;14026:52;;;14074:1;14071;14064:12;14026:52;14106:9;14100:16;14125:31;14150:5;14125:31;:::i;14191:980::-;14453:4;14501:3;14490:9;14486:19;14532:6;14521:9;14514:25;14558:2;14596:6;14591:2;14580:9;14576:18;14569:34;14639:3;14634:2;14623:9;14619:18;14612:31;14663:6;14698;14692:13;14729:6;14721;14714:22;14767:3;14756:9;14752:19;14745:26;;14806:2;14798:6;14794:15;14780:29;;14827:1;14837:195;14851:6;14848:1;14845:13;14837:195;;;14916:13;;-1:-1:-1;;;;;14912:39:1;14900:52;;15007:15;;;;14972:12;;;;14948:1;14866:9;14837:195;;;-1:-1:-1;;;;;;;15088:32:1;;;;15083:2;15068:18;;15061:60;-1:-1:-1;;;15152:3:1;15137:19;15130:35;15049:3;14191:980;-1:-1:-1;;;14191:980:1:o

Swarm Source

ipfs://1d224197a5831d84a24ceca2dbb88a446fa05b0b8c0e80bf23ec56576c5334d1

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.