ETH Price: $3,393.29 (-1.25%)
Gas: 2 Gwei

Contract

0x0f7F961648aE6Db43C75663aC7E5414Eb79b5704
 
Transaction Hash
Method
Block
From
To
Value
Approve201732552024-06-26 3:44:473 days ago1719373487IN
Blockzero Labs: XIO Token
0 ETH0.000144862.96642336
Approve201570752024-06-23 21:28:595 days ago1719178139IN
Blockzero Labs: XIO Token
0 ETH0.000182033.73206691
Transfer201570672024-06-23 21:27:115 days ago1719178031IN
Blockzero Labs: XIO Token
0 ETH0.000133994.16374923
Transfer201570652024-06-23 21:26:475 days ago1719178007IN
Blockzero Labs: XIO Token
0 ETH0.000213294.32591666
Approve201364802024-06-21 0:21:358 days ago1718929295IN
Blockzero Labs: XIO Token
0 ETH0.000169643.49690646
Transfer201333022024-06-20 13:41:238 days ago1718890883IN
Blockzero Labs: XIO Token
0 ETH0.000874816.17199346
Approve200409692024-06-07 15:53:2321 days ago1717775603IN
Blockzero Labs: XIO Token
0 ETH0.0010372821.24011829
Approve200143922024-06-03 22:51:4725 days ago1717455107IN
Blockzero Labs: XIO Token
0 ETH0.000350387.21556366
Approve200006202024-06-02 0:40:5927 days ago1717288859IN
Blockzero Labs: XIO Token
0 ETH0.000220314.51679064
Approve199989432024-06-01 19:04:4727 days ago1717268687IN
Blockzero Labs: XIO Token
0 ETH0.000382517.83258173
Approve199977292024-06-01 15:00:5927 days ago1717254059IN
Blockzero Labs: XIO Token
0 ETH0.000461129.44238448
Approve199877192024-05-31 5:26:4729 days ago1717133207IN
Blockzero Labs: XIO Token
0 ETH0.000403838.26924547
Approve199829122024-05-30 13:19:1129 days ago1717075151IN
Blockzero Labs: XIO Token
0 ETH0.0007042914.51792381
Approve199643622024-05-27 23:03:1132 days ago1716850991IN
Blockzero Labs: XIO Token
0 ETH0.0005142210.542483
Approve199471502024-05-25 13:20:1134 days ago1716643211IN
Blockzero Labs: XIO Token
0 ETH0.00023734.88560826
Approve199469442024-05-25 12:38:4734 days ago1716640727IN
Blockzero Labs: XIO Token
0 ETH0.000220984.55630348
Approve199396432024-05-24 12:08:1136 days ago1716552491IN
Blockzero Labs: XIO Token
0 ETH0.000324756.64995471
Approve199393682024-05-24 11:13:1136 days ago1716549191IN
Blockzero Labs: XIO Token
0 ETH0.000154755.82851046
Approve199366492024-05-24 2:06:3536 days ago1716516395IN
Blockzero Labs: XIO Token
0 ETH0.000408038.36543945
Approve199286712024-05-22 23:21:5937 days ago1716420119IN
Blockzero Labs: XIO Token
0 ETH0.00031466.47698946
Approve199256492024-05-22 13:14:3537 days ago1716383675IN
Blockzero Labs: XIO Token
0 ETH0.000823816.88963695
Approve199225852024-05-22 2:54:5938 days ago1716346499IN
Blockzero Labs: XIO Token
0 ETH0.000364427.50285642
Approve198970352024-05-18 13:09:5941 days ago1716037799IN
Blockzero Labs: XIO Token
0 ETH0.000163143.36296417
Approve198856282024-05-16 22:50:1143 days ago1715899811IN
Blockzero Labs: XIO Token
0 ETH0.000146683.02066048
Approve198776782024-05-15 20:09:3544 days ago1715803775IN
Blockzero Labs: XIO Token
0 ETH0.0003531113.2989186
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BOMBXToken

Compiler Version
v0.5.3+commit.10d17f24

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-10-23
*/

pragma solidity 0.5.3;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    function add(Role storage role, address account) internal {
        require(!has(role, account), "Roles: account already has role");
        role.bearer[account] = true;
    }

    function remove(Role storage role, address account) internal {
        require(has(role, account), "Roles: account does not have role");
        role.bearer[account] = false;
    }

    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0), "Roles: account is the zero address");
        return role.bearer[account];
    }
}

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

contract Context {
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address) {
        return msg.sender;
    }

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

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

    constructor () internal {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

    modifier onlyOwner() {
        require(isOwner(), "Ownable: caller is not the owner");
        _;
    }

    function isOwner() public view returns (bool) {
        return _msgSender() == _owner;
    }

    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract PauserRole is Context, Ownable {
    using Roles for Roles.Role;

    event PauserAdded(address indexed account);
    event PauserRemoved(address indexed account);

    Roles.Role private _pausers;

    constructor () internal {
        _addPauser(_msgSender());
    }

    modifier onlyPauser() {
        require(isPauser(_msgSender()), "PauserRole: caller does not have the Pauser role");
        _;
    }

    function isPauser(address account) public view returns (bool) {
        return _pausers.has(account);
    }

    function addPauser(address account) public onlyOwner {
        _addPauser(account);
    }

    function removePauser(address account) public onlyOwner {
        _removePauser(account);
    }

    function renouncePauser() public {
        _removePauser(_msgSender());
    }

    function _addPauser(address account) internal {
        _pausers.add(account);
        emit PauserAdded(account);
    }

    function _removePauser(address account) internal {
        _pausers.remove(account);
        emit PauserRemoved(account);
    }
}

contract Pausable is PauserRole {
    event Paused(address account);
    event Unpaused(address account);

    bool private _paused;

    constructor () internal {
        _paused = false;
    }

    function paused() public view returns (bool) {
        return _paused;
    }

    modifier whenNotPaused() {
        require(!_paused, "Pausable: paused");
        _;
    }

    modifier whenPaused() {
        require(_paused, "Pausable: not paused");
        _;
    }

    function pause() public onlyPauser whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    function unpause() public onlyPauser whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

contract ERC20 is Context, IERC20 {
    using SafeMath for uint256;

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

    uint256 private _totalSupply;

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

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

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

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

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

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

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

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

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

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

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

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

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal {
        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 _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, "ERC20: burn amount exceeds allowance"));
    }
}

contract ERC20Pausable is ERC20, Pausable {
    function transfer(address to, uint256 value) public whenNotPaused returns (bool) {
        return super.transfer(to, value);
    }

    function transferFrom(address from, address to, uint256 value) public whenNotPaused returns (bool) {
        return super.transferFrom(from, to, value);
    }

    function approve(address spender, uint256 value) public whenNotPaused returns (bool) {
        return super.approve(spender, value);
    }

    function increaseAllowance(address spender, uint256 addedValue) public whenNotPaused returns (bool) {
        return super.increaseAllowance(spender, addedValue);
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public whenNotPaused returns (bool) {
        return super.decreaseAllowance(spender, subtractedValue);
    }
}

contract ERC20Detailed {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

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

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

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

contract BOMBXToken is ERC20Pausable, ERC20Detailed {
    constructor() ERC20Detailed("XIO Network", "XIO", 18) public {
        _mint(msg.sender, 100000000 * 10 ** 18);
    }

    function multiTransfer(address[] memory receivers, uint256[] memory amounts) public {
        for (uint256 i = 0; i < receivers.length; i++) {
        transfer(receivers[i], amounts[i]);
        }
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"receivers","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"removePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040523480156200001157600080fd5b506040805190810160405280600b81526020017f58494f204e6574776f726b0000000000000000000000000000000000000000008152506040805190810160405280600381526020017f58494f00000000000000000000000000000000000000000000000000000000008152506012620000996200021f640100000000026401000000009004565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a362000188620001736200021f640100000000026401000000009004565b62000227640100000000026401000000009004565b6000600560006101000a81548160ff0219169083151502179055508260069080519060200190620001bb929190620006cb565b508160079080519060200190620001d4929190620006cb565b5080600860006101000a81548160ff021916908360ff16021790555050505062000219336a52b7d2dcc80cd2e400000062000291640100000000026401000000009004565b6200077a565b600033905090565b6200024b8160046200046f6401000000000262002121179091906401000000009004565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151562000337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6200035c816002546200055e6401000000000262001fd8179091906401000000009004565b600281905550620003c3816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200055e6401000000000262001fd8179091906401000000009004565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6200048a8282620005e9640100000000026401000000009004565b15151562000500576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000808284019050838110151515620005df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151562000674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062002b4e6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200070e57805160ff19168380011785556200073f565b828001600101855582156200073f579182015b828111156200073e57825182559160200191906001019062000721565b5b5090506200074e919062000752565b5090565b6200077791905b808211156200077357600081600090555060010162000759565b5090565b90565b6123c4806200078a6000396000f3fe608060405234801561001057600080fd5b506004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900480636ef8d66d116100e05780638f32d59b116100995780638f32d59b146106a257806395d89b41146106c4578063a457c2d714610747578063a9059cbb146107ad578063dd62ed3e14610813578063f2fde38b1461088b5761016a565b80636ef8d66d1461059e57806370a08231146105a8578063715018a61461060057806382dc1ec41461060a5780638456cb591461064e5780638da5cb5b146106585761016a565b8063313ce56711610132578063313ce56714610448578063395093511461046c5780633f4ba83a146104d257806346fbf68e146104dc5780635c975abb146105385780636b2c0f551461055a5761016a565b806306fdde031461016f578063095ea7b3146101f257806318160ddd146102585780631e89d5451461027657806323b872dd146103c2575b600080fd5b6101776108cf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101b757808201518184015260208101905061019c565b50505050905090810190601f1680156101e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023e6004803603604081101561020857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610971565b604051808215151515815260200191505060405180910390f35b610260610a0a565b6040518082815260200191505060405180910390f35b6103c06004803603604081101561028c57600080fd5b81019080803590602001906401000000008111156102a957600080fd5b8201836020820111156102bb57600080fd5b803590602001918460208302840111640100000000831117156102dd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561033d57600080fd5b82018360208201111561034f57600080fd5b8035906020019184602083028401116401000000008311171561037157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610a14565b005b61042e600480360360608110156103d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a6e565b604051808215151515815260200191505060405180910390f35b610450610b09565b604051808260ff1660ff16815260200191505060405180910390f35b6104b86004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b20565b604051808215151515815260200191505060405180910390f35b6104da610bb9565b005b61051e600480360360208110156104f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d2b565b604051808215151515815260200191505060405180910390f35b610540610d48565b604051808215151515815260200191505060405180910390f35b61059c6004803603602081101561057057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5f565b005b6105a6610de7565b005b6105ea600480360360208110156105be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610df9565b6040518082815260200191505060405180910390f35b610608610e41565b005b61064c6004803603602081101561062057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7e565b005b610656611006565b005b610660611179565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106aa6111a3565b604051808215151515815260200191505060405180910390f35b6106cc611202565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561070c5780820151818401526020810190506106f1565b50505050905090810190601f1680156107395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107936004803603604081101561075d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112a4565b604051808215151515815260200191505060405180910390f35b6107f9600480360360408110156107c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061133d565b604051808215151515815260200191505060405180910390f35b6108756004803603604081101561082957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113d6565b6040518082815260200191505060405180910390f35b6108cd600480360360208110156108a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061145d565b005b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109675780601f1061093c57610100808354040283529160200191610967565b820191906000526020600020905b81548152906001019060200180831161094a57829003601f168201915b5050505050905090565b6000600560009054906101000a900460ff161515156109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b610a0283836114e5565b905092915050565b6000600254905090565b60008090505b8251811015610a6957610a5b8382815181101515610a3457fe5b906020019060200201518383815181101515610a4c57fe5b9060200190602002015161133d565b508080600101915050610a1a565b505050565b6000600560009054906101000a900460ff16151515610af5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b610b00848484611503565b90509392505050565b6000600860009054906101000a900460ff16905090565b6000600560009054906101000a900460ff16151515610ba7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b610bb183836115dd565b905092915050565b610bc9610bc4611690565b610d2b565b1515610c20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806122226030913960400191505060405180910390fd5b600560009054906101000a900460ff161515610ca4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610ce8611690565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000610d4182600461169890919063ffffffff16565b9050919050565b6000600560009054906101000a900460ff16905090565b610d676111a3565b1515610ddb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610de481611778565b50565b610df7610df2611690565b611778565b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e496111a3565b1515610ebd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f866111a3565b1515610ffa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611003816117d2565b50565b611016611011611690565b610d2b565b151561106d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806122226030913960400191505060405180910390fd5b600560009054906101000a900460ff161515156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611136611690565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111e6611690565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b606060078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561129a5780601f1061126f5761010080835404028352916020019161129a565b820191906000526020600020905b81548152906001019060200180831161127d57829003601f168201915b5050505050905090565b6000600560009054906101000a900460ff1615151561132b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b611335838361182c565b905092915050565b6000600560009054906101000a900460ff161515156113c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6113ce83836118fa565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114656111a3565b15156114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6114e281611918565b50565b60006114f96114f2611690565b8484611a60565b6001905092915050565b6000611510848484611c5b565b6115d28461151c611690565b6115cd85606060405190810160405280602881526020016122e160289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611583611690565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f169092919063ffffffff16565b611a60565b600190509392505050565b60006116866115ea611690565b8461168185600160006115fb611690565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd890919063ffffffff16565b611a60565b6001905092915050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611721576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806123096022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61178c81600461206290919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6117e681600461212190919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b60006118f0611839611690565b846118eb85606060405190810160405280602581526020016123746025913960016000611864611690565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f169092919063ffffffff16565b611a60565b6001905092915050565b600061190e611907611690565b8484611c5b565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156119a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806122526026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611ae8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123506024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611b70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806122786022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611ce3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061232b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611d6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806121ff6023913960400191505060405180910390fd5b611dd7816060604051908101604052806026815260200161229a602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f169092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e6a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd890919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582901515611fc5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f8a578082015181840152602081019050611f6f565b50505050905090810190601f168015611fb75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110151515612058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b61206c8282611698565b15156120c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806122c06021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61212b8282611698565b1515156121a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a7230582063c354004679fd6b8650bf3075bf784b7d1ce2066bdff26e8bc9a341a2ab19f60029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900480636ef8d66d116100e05780638f32d59b116100995780638f32d59b146106a257806395d89b41146106c4578063a457c2d714610747578063a9059cbb146107ad578063dd62ed3e14610813578063f2fde38b1461088b5761016a565b80636ef8d66d1461059e57806370a08231146105a8578063715018a61461060057806382dc1ec41461060a5780638456cb591461064e5780638da5cb5b146106585761016a565b8063313ce56711610132578063313ce56714610448578063395093511461046c5780633f4ba83a146104d257806346fbf68e146104dc5780635c975abb146105385780636b2c0f551461055a5761016a565b806306fdde031461016f578063095ea7b3146101f257806318160ddd146102585780631e89d5451461027657806323b872dd146103c2575b600080fd5b6101776108cf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101b757808201518184015260208101905061019c565b50505050905090810190601f1680156101e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023e6004803603604081101561020857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610971565b604051808215151515815260200191505060405180910390f35b610260610a0a565b6040518082815260200191505060405180910390f35b6103c06004803603604081101561028c57600080fd5b81019080803590602001906401000000008111156102a957600080fd5b8201836020820111156102bb57600080fd5b803590602001918460208302840111640100000000831117156102dd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561033d57600080fd5b82018360208201111561034f57600080fd5b8035906020019184602083028401116401000000008311171561037157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610a14565b005b61042e600480360360608110156103d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a6e565b604051808215151515815260200191505060405180910390f35b610450610b09565b604051808260ff1660ff16815260200191505060405180910390f35b6104b86004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b20565b604051808215151515815260200191505060405180910390f35b6104da610bb9565b005b61051e600480360360208110156104f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d2b565b604051808215151515815260200191505060405180910390f35b610540610d48565b604051808215151515815260200191505060405180910390f35b61059c6004803603602081101561057057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5f565b005b6105a6610de7565b005b6105ea600480360360208110156105be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610df9565b6040518082815260200191505060405180910390f35b610608610e41565b005b61064c6004803603602081101561062057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7e565b005b610656611006565b005b610660611179565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106aa6111a3565b604051808215151515815260200191505060405180910390f35b6106cc611202565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561070c5780820151818401526020810190506106f1565b50505050905090810190601f1680156107395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107936004803603604081101561075d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112a4565b604051808215151515815260200191505060405180910390f35b6107f9600480360360408110156107c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061133d565b604051808215151515815260200191505060405180910390f35b6108756004803603604081101561082957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113d6565b6040518082815260200191505060405180910390f35b6108cd600480360360208110156108a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061145d565b005b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109675780601f1061093c57610100808354040283529160200191610967565b820191906000526020600020905b81548152906001019060200180831161094a57829003601f168201915b5050505050905090565b6000600560009054906101000a900460ff161515156109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b610a0283836114e5565b905092915050565b6000600254905090565b60008090505b8251811015610a6957610a5b8382815181101515610a3457fe5b906020019060200201518383815181101515610a4c57fe5b9060200190602002015161133d565b508080600101915050610a1a565b505050565b6000600560009054906101000a900460ff16151515610af5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b610b00848484611503565b90509392505050565b6000600860009054906101000a900460ff16905090565b6000600560009054906101000a900460ff16151515610ba7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b610bb183836115dd565b905092915050565b610bc9610bc4611690565b610d2b565b1515610c20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806122226030913960400191505060405180910390fd5b600560009054906101000a900460ff161515610ca4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610ce8611690565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000610d4182600461169890919063ffffffff16565b9050919050565b6000600560009054906101000a900460ff16905090565b610d676111a3565b1515610ddb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610de481611778565b50565b610df7610df2611690565b611778565b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e496111a3565b1515610ebd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f866111a3565b1515610ffa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611003816117d2565b50565b611016611011611690565b610d2b565b151561106d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806122226030913960400191505060405180910390fd5b600560009054906101000a900460ff161515156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611136611690565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111e6611690565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b606060078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561129a5780601f1061126f5761010080835404028352916020019161129a565b820191906000526020600020905b81548152906001019060200180831161127d57829003601f168201915b5050505050905090565b6000600560009054906101000a900460ff1615151561132b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b611335838361182c565b905092915050565b6000600560009054906101000a900460ff161515156113c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6113ce83836118fa565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114656111a3565b15156114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6114e281611918565b50565b60006114f96114f2611690565b8484611a60565b6001905092915050565b6000611510848484611c5b565b6115d28461151c611690565b6115cd85606060405190810160405280602881526020016122e160289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611583611690565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f169092919063ffffffff16565b611a60565b600190509392505050565b60006116866115ea611690565b8461168185600160006115fb611690565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd890919063ffffffff16565b611a60565b6001905092915050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611721576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806123096022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61178c81600461206290919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6117e681600461212190919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b60006118f0611839611690565b846118eb85606060405190810160405280602581526020016123746025913960016000611864611690565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f169092919063ffffffff16565b611a60565b6001905092915050565b600061190e611907611690565b8484611c5b565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156119a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806122526026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611ae8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123506024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611b70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806122786022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611ce3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061232b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611d6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806121ff6023913960400191505060405180910390fd5b611dd7816060604051908101604052806026815260200161229a602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f169092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e6a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd890919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582901515611fc5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f8a578082015181840152602081019050611f6f565b50505050905090810190601f168015611fb75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110151515612058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b61206c8282611698565b15156120c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806122c06021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61212b8282611698565b1515156121a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a7230582063c354004679fd6b8650bf3075bf784b7d1ce2066bdff26e8bc9a341a2ab19f60029

Deployed Bytecode Sourcemap

11525:395:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11525:395:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11249:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11249:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10443:140;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10443:140:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6866:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11711:206;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11711:206:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11711:206:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11711:206:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;11711:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11711:206:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11711:206:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11711:206:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;11711:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11711:206:0;;;;;;;;;;;;;;;:::i;:::-;;10275:160;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10275:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11435:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10591:170;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10591:170:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6495:120;;;:::i;:::-;;5196:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5196:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6081:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5412:97;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5412:97:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5517:79;;;:::i;:::-;;6965:110;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6965:110:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4256:140;;;:::i;:::-;;5313:91;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5313:91:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6369:118;;;:::i;:::-;;3953:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4154:94;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11340:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11340:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10769:180;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10769:180:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10135:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10135:132:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7249:134;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7249:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4404:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4404:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11249:83;11286:13;11319:5;11312:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11249:83;:::o;10443:140::-;10522:4;6212:7;;;;;;;;;;;6211:8;6203:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10546:29;10560:7;10569:5;10546:13;:29::i;:::-;10539:36;;10443:140;;;;:::o;6866:91::-;6910:7;6937:12;;6930:19;;6866:91;:::o;11711:206::-;11811:9;11823:1;11811:13;;11806:104;11830:9;:16;11826:1;:20;11806:104;;;11864:34;11873:9;11883:1;11873:12;;;;;;;;;;;;;;;;;;11887:7;11895:1;11887:10;;;;;;;;;;;;;;;;;;11864:8;:34::i;:::-;;11848:3;;;;;;;11806:104;;;;11711:206;;:::o;10275:160::-;10368:4;6212:7;;;;;;;;;;;6211:8;6203:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10392:35;10411:4;10417:2;10421:5;10392:18;:35::i;:::-;10385:42;;10275:160;;;;;:::o;11435:83::-;11476:5;11501:9;;;;;;;;;;;11494:16;;11435:83;:::o;10591:170::-;10685:4;6212:7;;;;;;;;;;;6211:8;6203:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10709:44;10733:7;10742:10;10709:23;:44::i;:::-;10702:51;;10591:170;;;;:::o;6495:120::-;5093:22;5102:12;:10;:12::i;:::-;5093:8;:22::i;:::-;5085:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6309:7;;;;;;;;;;;6301:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6564:5;6554:7;;:15;;;;;;;;;;;;;;;;;;6585:22;6594:12;:10;:12::i;:::-;6585:22;;;;;;;;;;;;;;;;;;;;;;6495:120::o;5196:109::-;5252:4;5276:21;5289:7;5276:8;:12;;:21;;;;:::i;:::-;5269:28;;5196:109;;;:::o;6081:78::-;6120:4;6144:7;;;;;;;;;;;6137:14;;6081:78;:::o;5412:97::-;4080:9;:7;:9::i;:::-;4072:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5479:22;5493:7;5479:13;:22::i;:::-;5412:97;:::o;5517:79::-;5561:27;5575:12;:10;:12::i;:::-;5561:13;:27::i;:::-;5517:79::o;6965:110::-;7022:7;7049:9;:18;7059:7;7049:18;;;;;;;;;;;;;;;;7042:25;;6965:110;;;:::o;4256:140::-;4080:9;:7;:9::i;:::-;4072:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4355:1;4318:40;;4339:6;;;;;;;;;;;4318:40;;;;;;;;;;;;4386:1;4369:6;;:19;;;;;;;;;;;;;;;;;;4256:140::o;5313:91::-;4080:9;:7;:9::i;:::-;4072:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5377:19;5388:7;5377:10;:19::i;:::-;5313:91;:::o;6369:118::-;5093:22;5102:12;:10;:12::i;:::-;5093:8;:22::i;:::-;5085:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6212:7;;;;;;;;;;;6211:8;6203:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6439:4;6429:7;;:14;;;;;;;;;;;;;;;;;;6459:20;6466:12;:10;:12::i;:::-;6459:20;;;;;;;;;;;;;;;;;;;;;;6369:118::o;3953:79::-;3991:7;4018:6;;;;;;;;;;;4011:13;;3953:79;:::o;4154:94::-;4194:4;4234:6;;;;;;;;;;;4218:22;;:12;:10;:12::i;:::-;:22;;;4211:29;;4154:94;:::o;11340:87::-;11379:13;11412:7;11405:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11340:87;:::o;10769:180::-;10868:4;6212:7;;;;;;;;;;;6211:8;6203:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10892:49;10916:7;10925:15;10892:23;:49::i;:::-;10885:56;;10769:180;;;;:::o;10135:132::-;10210:4;6212:7;;;;;;;;;;;6211:8;6203:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10234:25;10249:2;10253:5;10234:14;:25::i;:::-;10227:32;;10135:132;;;;:::o;7249:134::-;7321:7;7348:11;:18;7360:5;7348:18;;;;;;;;;;;;;;;:27;7367:7;7348:27;;;;;;;;;;;;;;;;7341:34;;7249:134;;;;:::o;4404:109::-;4080:9;:7;:9::i;:::-;4072:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4477:28;4496:8;4477:18;:28::i;:::-;4404:109;:::o;7391:152::-;7457:4;7474:39;7483:12;:10;:12::i;:::-;7497:7;7506:6;7474:8;:39::i;:::-;7531:4;7524:11;;7391:152;;;;:::o;7551:304::-;7640:4;7657:36;7667:6;7675:9;7686:6;7657:9;:36::i;:::-;7704:121;7713:6;7721:12;:10;:12::i;:::-;7735:89;7773:6;7735:89;;;;;;;;;;;;;;;;;;:11;:19;7747:6;7735:19;;;;;;;;;;;;;;;:33;7755:12;:10;:12::i;:::-;7735:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7704:8;:121::i;:::-;7843:4;7836:11;;7551:304;;;;;:::o;7863:210::-;7943:4;7960:83;7969:12;:10;:12::i;:::-;7983:7;7992:50;8031:10;7992:11;:25;8004:12;:10;:12::i;:::-;7992:25;;;;;;;;;;;;;;;:34;8018:7;7992:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;7960:8;:83::i;:::-;8061:4;8054:11;;7863:210;;;;:::o;3337:90::-;3382:7;3409:10;3402:17;;3337:90;:::o;2335:203::-;2407:4;2451:1;2432:21;;:7;:21;;;;2424:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2510:4;:11;;:20;2522:7;2510:20;;;;;;;;;;;;;;;;;;;;;;;;;2503:27;;2335:203;;;;:::o;5734:130::-;5794:24;5810:7;5794:8;:15;;:24;;;;:::i;:::-;5848:7;5834:22;;;;;;;;;;;;5734:130;:::o;5604:122::-;5661:21;5674:7;5661:8;:12;;:21;;;;:::i;:::-;5710:7;5698:20;;;;;;;;;;;;5604:122;:::o;8081:261::-;8166:4;8183:129;8192:12;:10;:12::i;:::-;8206:7;8215:96;8254:15;8215:96;;;;;;;;;;;;;;;;;;:11;:25;8227:12;:10;:12::i;:::-;8215:25;;;;;;;;;;;;;;;:34;8241:7;8215:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;8183:8;:129::i;:::-;8330:4;8323:11;;8081:261;;;;:::o;7083:158::-;7152:4;7169:42;7179:12;:10;:12::i;:::-;7193:9;7204:6;7169:9;:42::i;:::-;7229:4;7222:11;;7083:158;;;;:::o;4521:229::-;4615:1;4595:22;;:8;:22;;;;4587:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4705:8;4676:38;;4697:6;;;;;;;;;;;4676:38;;;;;;;;;;;;4734:8;4725:6;;:17;;;;;;;;;;;;;;;;;;4521:229;:::o;9501:338::-;9612:1;9595:19;;:5;:19;;;;9587:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9693:1;9674:21;;:7;:21;;;;9666:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9777:6;9747:11;:18;9759:5;9747:18;;;;;;;;;;;;;;;:27;9766:7;9747:27;;;;;;;;;;;;;;;:36;;;;9815:7;9799:32;;9808:5;9799:32;;;9824:6;9799:32;;;;;;;;;;;;;;;;;;9501:338;;;:::o;8350:471::-;8466:1;8448:20;;:6;:20;;;;8440:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8550:1;8529:23;;:9;:23;;;;8521:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8625;8647:6;8625:71;;;;;;;;;;;;;;;;;;:9;:17;8635:6;8625:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;8605:9;:17;8615:6;8605:17;;;;;;;;;;;;;;;:91;;;;8730:32;8755:6;8730:9;:20;8740:9;8730:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8707:9;:20;8717:9;8707:20;;;;;;;;;;;;;;;:55;;;;8795:9;8778:35;;8787:6;8778:35;;;8806:6;8778:35;;;;;;;;;;;;;;;;;;8350:471;;;:::o;383:192::-;469:7;502:1;497;:6;;505:12;489:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;489:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;529:9;545:1;541;:5;529:17;;566:1;559:8;;;383:192;;;;;:::o;50:181::-;108:7;128:9;144:1;140;:5;128:17;;169:1;164;:6;;156:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;222:1;215:8;;;50:181;;;;:::o;2144:183::-;2224:18;2228:4;2234:7;2224:3;:18::i;:::-;2216:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2314:5;2291:4;:11;;:20;2303:7;2291:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;2144:183;;:::o;1958:178::-;2036:18;2040:4;2046:7;2036:3;:18::i;:::-;2035:19;2027:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2124:4;2101;:11;;:20;2113:7;2101:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;1958:178;;:::o

Swarm Source

bzzr://63c354004679fd6b8650bf3075bf784b7d1ce2066bdff26e8bc9a341a2ab19f6

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Blockzero is a decentralized autonomous accelerator that helps blockchain projects reach escape velocity. Users can help build, scale, and own the next generation of decentralized projects at blockzerolabs.io.

 

 

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.